Commit Graph
5624 Commits
Author SHA1 Message Date
huanghuoguoguo 7d1f217350 fix(LongTermMemory): unify bounded current and historical recall 2026-11-02 20:41:33 +08:00
huanghuoguoguo 2cbe686a57 fix(LongTermMemory): preserve facts during correction and archival 2026-11-02 20:11:51 +08:00
huanghuoguoguo 558ded2b7a fix(LongTermMemory): support memory tools in Agent processors (#2843)
* fix(LongTermMemory): support memory tools in Agent processors

* docs(LongTermMemory): clarify tool and Pipeline lifecycle access

* test(LongTermMemory): isolate persistent Chroma clients across fixtures
2026-11-02 20:11:23 +08:00
huanghuoguoguo 1a344aeb9f fix(agent): prepare plugin execution identity at context creation (#2842)
* fix(tools): propagate current execution identity to plugin calls

* fix(agent): construct complete execution identity before tool dispatch
2026-11-02 19:44:35 +08:00
RockChinQ 97886eac94 Merge pull request #2844 from langbot-app/agent/mika/49dceac9ee97
ci: build the dev image only on master and manual dispatch
2026-11-02 17:06:28 +08:00
Mikaandmultica-agent f8487471cd ci: build the dev image only on master and manual dispatch
Every branch push published a permanent rockchin/langbot:sha-<sha> tag plus a
branch-name tag, leaving 678 live Docker Hub tags across 265 branches. Restrict
push triggers to master; other branches stay buildable via workflow_dispatch.

Co-authored-by: multica-agent <[email protected]>
2026-11-02 08:59:58 +00:00
Guanchao Wang 8e304c9359 Merge pull request #2837 from jry21223/fix/wecom-heartbeat-send-failure-reconnect
fix(wecombot): reconnect when heartbeat send fails
2026-11-02 03:36:26 +00:00
d6bd73aee6 ci(platform): notify maintainers when PRs change platform adapter files
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Co-authored-by: multica-agent <[email protected]>
2026-11-01 15:55:12 +00:00
JERRY 485992c6fd fix(wecombot): close WebSocket after heartbeat send failure 2026-11-01 22:38:06 +08:00
huanghuoguoguo 8ee321f8c1 test(n8n): exercise latest DefaultRunner in daily regression (#2830)
* fix(n8n): validate runner timeout values

* fix(n8n): validate runner timeout values

* test(n8n): add latest DefaultRunner regression

* test(n8n): add latest DefaultRunner regression

* test(n8n): add latest DefaultRunner regression

* test(n8n): fix latest Runner response assertion
2026-10-31 22:24:22 +08:00
Martin 5aa1b0f5ae 完善 ACPAgentRunner 会话管理与权限边界 (#2822)
* feat(acp-agent-runner): add ACP session commands

* fix(acp-agent-runner): 收紧会话管理契约

* fix(acp-agent-runner): 修复 event-first 会话身份与切换能力校验
2026-10-31 21:53:46 +08:00
Martin 5be3b03e77 完善 Core Runner 取消与群聊控制命令 (#2821)
* feat(core): add generic runner cancellation control

* fix(core): 完善 Runner 取消与群聊控制命令

* fix(core): 支持多并发会话及时停止任务
2026-10-31 21:52:25 +08:00
huanghuoguoguo f750bb96ac test(ci): add daily Dify Cloud Agent regression
Add daily Dify Cloud Agent regression via Runner
2026-10-31 15:35:55 +08:00
ShryukGrandhi a6ed298f2a fix(logs): keep newline between log pages in get_log_by_pointer (#2826)
Signed-off-by: ShryukGrandhi <[email protected]>
2026-10-31 15:16:10 +08:00
huanghuoguoguo 7ff04002a2 refactor(tools): organize regression harness packages (#2828)
Reorganize regression tools into explicit packages and update all repository references.
2026-10-31 12:17:04 +08:00
huanghuoguoguo 306e154256 fix(regression): confirm Box removal before skipping inspect errors
Confirm Box container removal before tolerating docker inspect races.
2026-10-31 09:47:02 +08:00
RockChinQandmultica-agent 566952c0f7 feat(provider): preserve MiniMax thinking history and refresh discovery (#2824)
Co-authored-by: multica-agent <[email protected]>
2026-10-31 02:45:08 +08:00
Pratik GandhiandRockChinQ a1dda4ac80 docs(agent-runner): fix links to AGENT_RUNNER_QA_GUIDE.md (#2726)
Ten links in dev-docs/agent-runner-pluginization/ pointed to the non-existent ./RUNNER_QA_GUIDE.md; point them to AGENT_RUNNER_QA_GUIDE.md. Rebased onto the docs/ -> dev-docs/ move.

Co-authored-by: RockChinQ <[email protected]>
2026-10-31 02:15:08 +08:00
Martin fe6f279d24 chore(docker): drop obsolete compose version and expose ACP daemon port (#2789) 2026-10-31 02:05:48 +08:00
d8271d9198 feat(line): Native Event-Based Agent (EBA) LINE Platform Adapter (#2736)
* feat(line): EBA LINE adapter skeleton (WO-LINE-01-SKELETON-1018)

- pkg/platform/adapters/line/ 9 files (LineAdapter hybrid inheritance +
  Capability + event namespace + config env load, zero hardcoded secrets)
- LINE SDK calls all stub (NotImplementedError) pending WO-LINE-00/02/03
- Verified: compileall 7/7 + ruff 0 + import chain green against
  v4.11.0-hotfixed SDK (container-extracted, read-only)
- Source: handoff box WO-LINE-01-SKELETON-1018 (sha256 9/9 matched)

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

* feat(line): implement WO-LINE-02 message.received loop and converter

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

* feat(line): implement WO-LINE-03 streaming and send API

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

* feat(line): implement WO-LINE-04 group and user event extensions

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

* feat(line): implement WO-LINE-05 group and user event extensions

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

* docs(line): add EBA LINE adapter architecture guide and documentation

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

* feat(line): resolve Ruff warnings and manifest spec update

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

* feat(line): add webhook_url config and help_links to PR_DESCRIPTION.md

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

* feat(line): add webhook_url config and help_links for PR #2736

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

* fix(line): ruff format, update help_links, remove nested duplicate dir

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

* fix(line): resolve 12 test failures, align types, and move architecture docs to dev-docs

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

* fix(line): resolve ruff lint and formatting issues for CI

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

* docs(line): sanitize internal orchestration notes and standardize documentation

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

* clean(line): remove internal tracking ticket references from source code

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

* fix(line): resolve MessageReceivedEvent and Friend entity mapping for 100% test pass

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

* fix(line): resolve E402 import order in event_converter.py

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

* feat(line): implement the LINE Omni adapter on the legacy messaging flow

Replace the placeholder skeleton with a working unified-webhook adapter:

- verify X-Line-Signature with WebhookParser and acknowledge before dispatch
- build real LINE messaging clients from channel_access_token and drop
  the adapter's own messages using the account id from get_bot_info
- map message/image/voice events to message.received, unsend to
  message.deleted, membership changes to group/bot events, and the
  remaining LINE event types to platform.specific with chat identity
- send and reply through MessagingApi with LINE's five-message budget,
  a reply-token to push fallback, and honest NotSupportedError paths
- expose get_user_info, get_group_info, leave_group and the get_bot_info,
  get_profile, get_group_summary pass-through actions
- keep the legacy FriendMessage/GroupMessage listeners working
- move tests to tests/unit_tests/platform, add the adapter doc, and
  register line in OMNI_ADAPTER_NAMES

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

---------

Co-authored-by: multica-agent <[email protected]>
Co-authored-by: RockChinQ <[email protected]>
2026-10-30 12:58:04 +08:00
huanghuoguoguo 292fe43731 test(plugins): use in-tree sources without hash pins
Use the in-tree plugins directly for consumer contracts and avoid per-edit hash refreshes.
2026-10-30 11:11:31 +08:00
huanghuoguoguo 70fb56e274 fix(agent): keep reset generation out of external conversation ID (#2818)
Fixes #2814

After a session reset, keep the reset generation marker out of provider-facing external conversation state so Runner plugins start a new remote conversation.
2026-10-30 10:21:33 +08:00
huanghuoguoguo 98a242320b test(cli): add compatibility job with semantic assertions (#2813)
Squash merge after rebasing onto the merged companion suites and passing all required checks.
2026-10-30 09:33:00 +08:00
huanghuoguoguo 7119cc94ba test(regression): add plugin lifecycle recovery job (#2812)
Squash merge after resolving companion-suite conflicts and passing all required checks.
2026-10-30 09:20:37 +08:00
huanghuoguoguo 21ff044df1 test(regression): add concurrent conversation isolation job (#2811)
Squash merge after conflict resolution and all required checks passed.
2026-10-30 09:06:07 +08:00
huanghuoguoguo 52b07cb01f fix(regression): tolerate sandbox removal during resource sampling
Squash merge after all required checks passed.
2026-10-30 08:53:23 +08:00
huanghuoguoguo 687fc52b36 Merge pull request #2810 from langbot-app/test/state-lifecycle-job
test(regression): add durable state lifecycle job
2026-10-30 08:35:09 +08:00
Chin Rockandmultica-agent 75e1630550 fix(localagent): keep the SDK constraint installable across 0.7.x
LocalAgent declared langbot-plugin>=0.7.18, and the published 0.2.2 artifact
pinned langbot-plugin==0.7.16. The plugin runtime rejects any SDK requirement
its own SDK version does not satisfy, so both directions were dead ends: 4.11.4
(SDK 0.7.19) could not install the published build, and a 0.7.18 floor would
have locked out 4.11.2/4.11.3 (SDK 0.7.16) from the next one.

Use a bounded range from the 4.11.2 baseline instead, matching every other
official Runner and KnowledgeEngine plugin. Verified on SDK 0.7.16 and 0.7.19:
327 tests pass on both, including the runtime dependency admission contract.

Co-authored-by: multica-agent <[email protected]>
2026-10-29 15:48:06 +00:00
Chin Rockandmultica-agent 3ac4eef3ec chore(release): bump version to 4.11.4
Co-authored-by: multica-agent <[email protected]>
v4.11.4
2026-10-29 13:40:29 +00:00
Chin Rockandmultica-agent a9ad6ac00b ci(plugins): build plugin packages with the current SDK CLI
The packaging job pinned langbot-plugin 0.7.18 while Core runs 0.7.19, so it
would validate archives with a CLI that no longer matches the SDK contracts the
plugins are shipped against. Follow the Core pin.

Co-authored-by: multica-agent <[email protected]>
2026-10-29 13:40:29 +00:00
Chin Rockandmultica-agent 1f81966606 fix(persistence): make resource URL catalog downgrade work standalone
0041_resource_urls could not be rolled back through the supported entry point
(`python -m langbot.pkg.persistence.alembic_runner downgrade`):

- SQLite failed with `no such function: langbot_expand_resource_urls`. The UDF
  is registered by an Engine `connect` hook that only runs when the application
  installs the catalog, so a standalone migration process held a connection
  without it.
- Both backends failed with `AttributeError: 'Engine' object has no attribute
  '_langbot_resource_aliases'`, because `uninstall()` assumed `install()` had
  already run on that engine.

Register the expansion UDF on the migration connection for SQLite, and let
`uninstall()` skip the alias cache when the engine never installed it. The
downgrade still rewrites retained payloads back to literal URLs and drops the
catalog; only the missing hooks were at fault.

Co-authored-by: multica-agent <[email protected]>
2026-10-29 12:30:28 +00:00
leonoxoandleonoxo c1284be8fc fix(line): decouple webhook processing lifecycle and use Push API for proactive sends (#2721)
- webhook handler: run listener in a tracked background task so the
  HTTP ACK is not coupled to the Agent run lifetime (prevents in-flight
  cancellation when the request scope ends); exceptions are logged
- send_message: implement LINE Push API path (text + image) instead of
  the empty stub, separated from the reply-token path

Verified in production on a self-hosted v4.11.0 deployment (LangBot
community edition, rootless Docker).

Co-authored-by: leonoxo <[email protected]>
2026-10-29 14:54:31 +08:00
huanghuoguoguo 31bcd673e7 Merge pull request #2806 from langbot-app/ci/daily-api-contract
ci(daily): add API contract regression job
2026-10-29 11:10:46 +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