Commit Graph
5593 Commits
Author SHA1 Message Date
huanghuoguoguo b1b703414d fix(regression): recover stats EOF after verified sandbox deletion 2026-10-29 12:24:57 +08:00
huanghuoguoguo 27fcdcbd33 fix(regression): handle sandbox expiry during resource sampling 2026-10-29 11:38:43 +08:00
huanghuoguoguo f5924164d2 ci(daily): run API contracts alongside endurance 2026-10-29 11:00:11 +08:00
huanghuoguoguo b19315b078 test: add isolated API contract regression job 2026-10-29 10:57:16 +08:00
huanghuoguoguo 96ec96baf2 Merge pull request #2805 from langbot-app/fix/mcp-mode-validation
fix(mcp): reject unsupported modes before persistence
2026-10-29 10:41:57 +08:00
huanghuoguoguo 3969c3d25d fix(mcp): reject unsupported modes before persistence 2026-10-29 10:14:02 +08:00
Chin Rockandmultica-agent 117e3bb350 fix(dify-agent): separate final answers and release 0.2.5
Co-authored-by: multica-agent <[email protected]>
2026-10-28 15:15:48 +00:00
huanghuoguoguo 0ce6eee2f4 Merge pull request #2784 from langbot-app/ci/daily-endurance
ci(regression): exercise monorepo plugins in daily functional cycles
2026-10-28 21:45:12 +08:00
huanghuoguoguo c21b3bc0ad Merge pull request #2803 from langbot-app/fix/localagent-latest-sdk
fix(localagent): follow the latest stable SDK in dependency checks
2026-10-28 21:43:07 +08:00
huanghuoguoguo 63a00d1856 Merge pull request #2798 from langbot-app/test/box-cancel-persistent-oracle
test(regression): preserve cancellation evidence across Box retirement
2026-10-28 21:42:31 +08:00
huanghuoguoguo e3792184bf test(localagent): refresh source hashes for updated SDK requirements 2026-10-28 21:08:53 +08:00
Guanchao Wang ce3a4e7bfd Merge pull request #2564 from Smilewithoutfalling/fix/wecombot-throttle-stream-push
fix(wecombot): throttle intermediate stream frames in WS mode
2026-10-28 13:03:37 +00:00
huanghuoguoguo 21be11766b ci(regression): build monorepo plugins and exercise local command and page APIs 2026-10-28 20:46:53 +08:00
WangCham bab86430e6 fix(wecombot): preserve throttled snapshots for empty final frames 2026-10-28 20:46:15 +08:00
huanghuoguoguo b21d150c4c fix(localagent): test against the latest stable SDK 2026-10-28 20:31:31 +08:00
huanghuoguoguo 67419699b4 test(regression): preserve cancellation evidence across Box retirement 2026-10-28 20:27:02 +08:00
huanghuoguoguo 1f842381df test(regression): preserve cancellation evidence across Box retirement 2026-10-28 20:01:13 +08:00
huanghuoguoguo f684d7f3f1 ci(regression): run daily functional cycles with selectable scenarios 2026-10-28 20:01:13 +08:00
RockChinQandmultica-agent 0608408352 chore(deps): pin langbot-plugin 0.7.19 (#2801)
* chore(deps): pin langbot-plugin 0.7.19

Co-authored-by: multica-agent <[email protected]>

* test(agent): accept the SDK 0.7.19 cancel_peer_on_cancel handoff in runtime doubles

Co-authored-by: multica-agent <[email protected]>

---------

Co-authored-by: multica-agent <[email protected]>
2026-10-28 19:26:01 +08:00
RockChinQandmultica-agent 62c24c43e3 fix(i18n): add missing spaceUpload keys to all locales (#2800)
Co-authored-by: multica-agent <[email protected]>
2026-10-28 18:45:57 +08:00
RockChinQandmultica-agent 0219007acd fix(qqofficial): correct group mentions and reply sequences (LANG-181) (#2799)
* fix(qqofficial): preserve native mentions and reply sequences (LANG-181)

Co-authored-by: multica-agent <[email protected]>

* fix(qqofficial): respect group mention rendering capability

Co-authored-by: multica-agent <[email protected]>

---------

Co-authored-by: multica-agent <[email protected]>
2026-10-28 18:43:18 +08:00
4b537973f9 feat(plugin): upload debug plugin to LangBot Space with optional GitH… (#2612)
* feat(plugin): upload debug plugin to LangBot Space with optional GitHub sync

- SDK: reusable in-memory .lbpkg packaging + git sync helper (local git by default, optional repo/token override)
- routing: space-upload config/upload/git-sync endpoints; debug plugins resolved via OSS bridge without touching get_plugin_info
- frontend: debug-card entry + upload dialog with multi-language metadata, icon upload and changelog
- i18n across 8 locales; operation-trace + action allowlist entries

* fix(plugin-space-upload): stable dialog width, single-line locale tabs, broader error surfacing

- fixed dialog width so toggling the GitHub section no longer resizes it
- language tabs render on one line (horizontal scroll when needed)
- surface the real upload/git error message (msg field) instead of [object Object]
- hint that a missing GitHub repo is auto-created when a token is provided

* fix(plugin-space-upload): narrow dialog and reset sm:max-w clamp

The base DialogContent applies sm:max-w-lg at the sm breakpoint, which overrode the unprefixed max-w-none and clamped the upload card to 32rem on desktop. Set an explicit sm:max-width and size the card to ~36rem. Locale tabs now wrap instead of scrolling horizontally.

* fix

* fix(plugin-space-upload): address CI and UX feedback

- narrow the upload dialog to ~36rem and reset the sm:max-w clamp
- guide the publisher to the Space review page after a successful upload
- drop the redundant null comparison flagged by code quality
- update the operation-action expectation and Space/LangBot Account wording
- ruff format the touched API modules

* feat(plugin-space-upload): public repo, editable author/license, card red dot

* fix(market): replace yellow download count with update available badge

* style(market): unify installed and update indicators into badges

* feat(plugin): redesign debug card banner, style debug icon, and prioritize debug plugins

* feat(plugin-space-upload): simplify upload dialog layout, add creator verification and market redirection

* fix(i18n): use LangBot Account terminology in Space upload dialog

Co-authored-by: multica-agent <[email protected]>

* style(i18n): reflow reworded locale strings for prettier

Co-authored-by: multica-agent <[email protected]>

* test(utils): stop timing out the pattern-count cap test on loaded runners

Co-authored-by: multica-agent <[email protected]>

---------

Co-authored-by: Hyu <[email protected]>
Co-authored-by: RockChinQ <[email protected]>
Co-authored-by: multica-agent <[email protected]>
2026-10-28 18:23:09 +08:00
Chin Rockandmultica-agent 4687fc96e7 fix(auth): allow sole OSS account to adopt Space email
Co-authored-by: multica-agent <[email protected]>
2026-10-28 10:21:35 +00:00
RockChinQandmultica-agent 3a77306c3c feat(plugins): consolidate official plugins with independent releases (LANG-180) (#2797)
Co-authored-by: multica-agent <[email protected]>
2026-10-28 17:32:24 +08:00
huanghuoguoguo d099033d79 test(regression): verify callback retries and owned service restarts (#2796)
* test(regression): add selectable resource lifecycle cases

* test(regression): exercise local execution faults and cleanup

* test(regression): verify callback retries and owned service restarts
2026-10-28 16:23:46 +08:00
huanghuoguoguo a7bc48f601 test(regression): exercise local execution faults and cleanup (#2795)
* test(regression): add selectable resource lifecycle cases

* test(regression): exercise local execution faults and cleanup
2026-10-28 16:20:15 +08:00
huanghuoguoguo 77dfa17c57 test(regression): add selectable resource lifecycle cases (#2794) 2026-10-28 16:11:19 +08:00
Smilewithoutfalling 76873c85e7 fix(wecombot): throttle intermediate stream frames in WS mode
Drop intermediate stream frames that land inside the pacing window so a fast
runner cannot flood the WeCom wire. The first frame of a stream is released
immediately because there is no prior timestamp to compare against, and final
frames always bypass the throttle.

Frames carry complete snapshots since a2b7f6b7, so dropping an intermediate
frame loses no content: the next frame already carries everything.
2026-10-28 12:26:37 +08:00
huanghuoguoguo f837083781 test(regression): run expanded scenarios within a shared execution budget (#2793)
* test(regression): expand finite scenarios and share bounded execution lifecycle

* fix(regression): continue job cleanup after state persistence failure
2026-10-28 12:16:36 +08:00
huanghuoguoguo 50e7175066 test(regression): report behavior assertions and observed HTTP routes (#2792)
* test(regression): report asserted behavior coverage and observed HTTP routes

* fix(regression): finalize all callers and classify HTTP evidence safely
2026-10-28 11:49:42 +08:00
huanghuoguoguo 84dd3708fb test(tools): resolve and install latest published plugins with replay evidence (#2791) 2026-10-28 11:49:34 +08:00
huanghuoguoguo 2430944954 test(mock): add scoped model faults and embedding recovery controls (#2790) 2026-10-28 11:49:27 +08:00
huanghuoguoguo 82eef2496a fix(http-bot): reset persistent conversation context through shared service (#2788) 2026-10-28 10:29:17 +08:00
0c99832298 fix(qqofficial): receive full-group messages and preserve bot mentions (#2769)
* fix(qqofficial): support full-group messages and native bot mentions

* test(qqofficial): cover full-group form reply targets

---------

Co-authored-by: Chin Rock <[email protected]>
Co-authored-by: multica-agent <[email protected]>
2026-10-28 09:57:00 +08:00
6b57a1074f fix(events): normalize millisecond timestamps before datetime conversion (LANG-170) (#2722)
* fix(events): normalize millisecond timestamps before datetime conversion

- run_journal: _event_time_to_utc normalizes second/millisecond/
  microsecond epoch values (loop-divide above 1e10) with guards for
  bool/non-numeric/zero/non-finite inputs; OverflowError contained
- run_ledger_store, interaction_store: divide epoch values above 1e11
  by 1000 before datetime conversion; OverflowError added to the
  handled exceptions

Second-based inputs are unchanged. Verified in production on a
self-hosted v4.11.0 deployment.

* fix(events): harden timestamp conversion and cover persistence regressions

Co-authored-by: multica-agent <[email protected]>

---------

Co-authored-by: leonoxo <[email protected]>
Co-authored-by: Chin Rock <[email protected]>
Co-authored-by: multica-agent <[email protected]>
2026-10-27 23:49:01 +08:00
Li-john1021andLi-john1021 bd4e408d7e fix(plugin): honor display_plugin_debug_url port for managed Runtime (#2782)
Stdio and Windows launches always bound the SDK default debug port 5401,
so changing plugin.display_plugin_debug_url only updated the console URL
and a second Core instance hit Address already in use. Pass the configured
debug (and Windows control) ports into the Runtime CLI, and document the
behavior.

Fixes #2713

Co-authored-by: Li-john1021 <[email protected]>
2026-10-27 20:56:26 +08:00
Martin 12debe2747 fix(plugin): persist v4 runtime state and tolerate runner registration gaps (#2774)
Persist the v4 plugin runtime state so recreating the runtime container no
longer discards installed plugins' artifacts, dependency environments and
installation-private data, and stop a transient Runner registry miss during
steering from dropping the message.

- docker-compose: bind-mount ./data/plugin-runtime for the plugin runtime
  alongside ./data/plugins.
- kubernetes: add the langbot-plugin-runtime-state claim (5Gi) mounted at
  /app/data/plugin-runtime, kept separate from the plugin data claim so
  runtime state does not land inside the plugin directory.
- chat handler: treat RunnerNotFoundError while claiming steering as
  "steering unavailable" and continue with a normal run; every other error
  keeps propagating. The runner error imports move to module scope, which
  the new early reference requires.
- tests: cover the steering fallback, the claimed-steering interrupt, and
  the lasting-gap path that still reports runner-not-found.

The steering fallback buys one extra uncached registry lookup while a
runtime reconnects; it does not recover a gap that outlasts the message.
2026-10-27 20:31:49 +08:00
Dongze Yang 6990607c5c Merge pull request #2743 from ydzat/fix/normalize-access-control-ids
fix(pipeline): normalize IDs in wildcard access control
2026-10-27 20:18:51 +08:00
langbot-docs-bot f185de9f35 docs(articles): sync LangBot Blog 2026-10-27 11:24:35 +00:00
RockChinQ 3bacab34ff Merge pull request #2786 from langbot-app/agent/hk-dev-codex/lang-168-blog-fix
fix(docs): preserve local articles during Blog sync (LANG-168)
2026-10-27 19:21:00 +08:00
Chin Rockandmultica-agent 07e4936404 fix(docs): preserve canonical Blog links and validate changing page counts
Co-authored-by: multica-agent <[email protected]>
2026-10-27 19:12:41 +08:00
Chin Rockandmultica-agent a2f3d2e03c fix(docs): preserve local articles during Blog synchronization
Co-authored-by: multica-agent <[email protected]>
2026-10-27 19:03:03 +08:00
RockChinQ 569ab92ea2 Merge pull request #2785 from langbot-app/agent/mika/lang-168-context7-refresh
ci(context7): refresh the Context7 library when the English docs change
2026-10-27 18:48:00 +08:00
RockChinQ f9f2f986e9 Merge pull request #2783 from langbot-app/agent/hk-dev-codex/lang-168-archive
fix(docs): publish from LangBot before archiving legacy docs (LANG-168)
2026-10-27 18:47:55 +08:00
926f4162dd ci(context7): refresh the Context7 library when the English docs change
Context7 only re-indexes on its own popularity schedule, which is why the
existing /langbot-app/langbot-docs entry had already drifted before this
migration. Add the refresh call documented in Context7's GitHub Actions
integration so a docs change reaches the index on the same push.

The job is inert until a CONTEXT7_API_KEY secret exists, so it cannot fail
the build while the library registration is pending.

Co-Authored-By: Mika (Multica) <[email protected]>
Co-authored-by: multica-agent <[email protected]>
2026-10-27 09:20:41 +00:00
Chin Rockandmultica-agent 828c4ff3c7 chore(docs): exclude linked local dependency caches
Co-authored-by: multica-agent <[email protected]>
2026-10-27 16:55:14 +08:00
Chin Rockandmultica-agent fe8fa51b50 fix(docs): publish directly from LangBot before archiving docs repository
Co-authored-by: multica-agent <[email protected]>
2026-10-27 16:54:17 +08:00
RockChinQ 407352cc51 Merge pull request #2781 from langbot-app/agent/mika/lang-168-docs-subtree
feat: merge langbot-docs into docs/ (subtree)
2026-10-27 16:38:06 +08:00
9b3bb30445 fix(ci): fall back to the existing repo PAT for docs publication
The migrated workflows required LANGBOT_WIKI_PUSH_TOKEN, which only exists in
the langbot-docs repository. The existing RELEASE_UPLOAD_GITHUB_TOKEN was
verified to authenticate as the owner with repo scope plus push/admin on
LangBot, langbot-docs, langbot-landing-page and the production fork, and it can
push the Wiki, so publication now falls back to it when the dedicated secret is
absent. Also retarget the cutover notes at the master branch.

Co-Authored-By: Mika (Multica) <[email protected]>
Co-authored-by: multica-agent <[email protected]>
2026-10-27 08:22:16 +00:00
c3249a8852 fix(ci): target LangBot's master branch in the migrated docs workflows
LangBot's default branch is master, so the landing-submodule, wiki and blog
sync workflows would never have triggered and would have pushed to a
non-existent main. Also restore the wiki clone URL that was truncated in the
mirror copy of sync-github-wiki.yml.

Co-Authored-By: Mika (Multica) <[email protected]>
Co-authored-by: multica-agent <[email protected]>
2026-10-27 08:17:36 +00:00