Commit Graph
367 Commits
Author SHA1 Message Date
huanghuoguoguo bbf517edbc test(auth): exercise knowledge and event action boundaries (#2667) 2026-10-17 12:46:41 +08:00
huanghuoguoguo 5641637d3d Merge pull request #2665 from langbot-app/test/regression-boundary-cleanup-20261017
test: remove self-confirming tests and strengthen regression boundaries
2026-10-17 11:26:46 +08:00
huanghuoguoguo 3f2d52e557 Merge pull request #2512 from langbot-app/feat/2410-sdk-skill-store
feat(skill): decouple read-only skills from Box execution
2026-10-17 10:13:26 +08:00
huanghuoguoguo d54e533985 fix(skill): pin revisions per run and preserve shared Box state 2026-10-17 09:32:41 +08:00
huanghuoguoguo 438cbd41a9 test(core): provision real plugin, CLI and SeekDB contracts (#2636)
* test(core): provision official plugin CLI and SeekDB contracts

* test(core): trigger report guard tests and trim fixture checks
2026-10-17 09:13:44 +08:00
huanghuoguoguo 2b79b04d36 Merge pull request #2635 from langbot-app/test/core-contract-coverage-gaps
test(core): verify runtime behavior and close PostgreSQL coverage gaps
2026-10-17 09:13:07 +08:00
RockChinQandClaude Opus 5.5 653f9e731d Merge origin/master into feat/cloud-v2-subscriptions
Keep i18n'd requester error messages while adopting master's structured
RequesterError metadata.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-17 01:37:14 +08:00
RockChinQandHyu 616981b0cf perf(llm): harden request policy and optimize connections, reasoning and prompt caching (#2661)
* fix(llm): centralize request policy and preserve stream diagnostics

* test(llm): dispose SQLite engine after migration regression

* perf(llm): reuse connections and unify reasoning and prompt cache policy

* fix(llm): preserve explicit native prompt cache options

* perf(llm): fix measured TLS setup and streaming reuse overhead

* fix(llm): resolve plugin request-chain regressions found by E2E

---------

Co-authored-by: Hyu <[email protected]>
2026-10-15 19:48:35 +08:00
RockChinQ 338b856eec fix(monitoring): restore Cloud in-flight snapshots and collapsed dock 2026-10-15 16:42:24 +08:00
RockChinQ 68a3f64cef test(core): update bot fixtures for platform policy checks 2026-10-15 05:31:04 +00:00
RockChinQ 625ee67113 fix(ci): align workspace fixtures and constrain mobile tours 2026-10-15 05:31:04 +00:00
RockChinQ b8d292c94d fix(websocket): recover debug connections and resolve backend URLs consistently 2026-10-15 05:31:04 +00:00
RockChinQ 528faf7851 test(cloud): include adapter names in runtime tenancy fixtures 2026-10-15 05:31:04 +00:00
RockChinQ 14b5bdb8c2 feat(cloud): enforce plan policies and refine workspace interface 2026-10-15 05:31:04 +00:00
Hyu e29fd27f02 feat(i18n): localize backend messages by workspace language 2026-10-15 05:31:04 +00:00
RockChinQ b6c4e2c395 feat(cloud): enforce signed workspace subscription resource limits 2026-10-15 05:30:36 +00:00
HyuandClaude Opus 5.5 c0cfb5c18c feat(pipeline-migration): relax legacy config migration and pin latest runner plugins
- Coerce/default/drop invalid or unknown legacy fields with warnings instead of blocking
- Never block on LocalAgent model; prune dangling KB/tool/MCP references
- Mark custom (non-builtin) 4.10 runners as unsupported_runner instead of failing
- Pin runner plugins to current marketplace versions (0.2.x); fall back to latest when a pin is withdrawn
- Raise plugin install/upgrade timeout to 600s for slow dependency installs
- Assistant configure_pipeline writes the 4.11 runner shape

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-14 00:09:52 +08:00
RockChinQ b5fad9f04a feat(cloud): configure dedicated and shared worker quotas independently 2026-10-13 03:19:36 +00:00
RockChinQandHyu ec021c3c41 fix(onebot): validate WebSocket protocol with independent mock peer (#2653)
* feat(onebot): support main-port reverse and forward WebSocket connections

* fix(onebot): keep protocol metadata out of business events

* test(onebot): validate WS events and APIs against independent protocol peer

---------

Co-authored-by: Hyu <[email protected]>
2026-10-12 13:59:25 +08:00
Hyu 417c552694 fix(web): correct monitoring empty states and Space request headers 2026-10-12 13:36:26 +08:00
Hyu 11ed8a2306 feat(onebot): support main-port WebSocket transports and filter protocol events 2026-10-12 13:36:26 +08:00
Hyu 09a84f6642 fix(provider): preserve streaming when removing thinking content 2026-10-12 13:30:17 +08:00
RockChinQ 8ae182dbd7 fix: widen telemetry fields and require complete batch acknowledgement (#2652) 2026-10-12 09:39:21 +08:00
RockChinQ 4bcf6e6894 test: align inactive bot log expectation with empty result 2026-10-11 16:35:57 +00:00
RockChinQ 80ea528ca0 fix: wizard preview TLS, progress storage and inactive bot logs (#2651) 2026-10-12 00:15:58 +08:00
RockChinQ 13446ecfd3 fix: scope inflight snapshots and compact mobile dashboard (#2650) 2026-10-11 23:08:31 +08:00
RockChinQ 0b5b4cca59 fix(telegram): resolve real-client event and media delivery regressions 2026-10-11 10:14:11 +08:00
Hyu f0acbd7048 test: isolate Lark message converter mocks between cases 2026-10-11 01:18:16 +08:00
Hyu 33ea03701a test: update adapter and monitoring regression fixtures 2026-10-11 01:10:40 +08:00
Hyu 3ff849d243 test: align processor fixtures with current creation and startup behavior 2026-10-11 01:03:31 +08:00
Hyu 8fa5df6c77 feat(slack): support standard events and interactive callbacks 2026-10-11 00:17:27 +08:00
Hyu 7d4e13509b fix(slack): transfer message attachments through file APIs 2026-10-11 00:17:19 +08:00
Hyu 4a700ac0f3 feat(slack): add guided app setup and Socket Mode support 2026-10-10 23:37:30 +08:00
Hyu 5c8275e564 feat(weixin): show typing indicator during message processing 2026-10-10 22:50:51 +08:00
Hyu 405f1ac2e7 feat: refine Feishu streaming cards and add linked footer branding 2026-10-10 22:35:35 +08:00
Hyu 1c70218383 feat: reset bot session context while retaining monitoring history 2026-10-10 22:35:27 +08:00
Hyu b8a7649ac2 fix(monitoring): expire interrupted host executions using liveness leases 2026-10-10 21:30:04 +08:00
Hyu 38aa06e149 feat(monitoring): add shared SSE in-flight monitor with draggable dock 2026-10-10 21:30:03 +08:00
Hyu d2ec53ec91 feat(dingtalk): support group subscriptions and card interaction events 2026-10-10 21:29:49 +08:00
Hyu 4f43da0fb3 fix(wecombot): improve event routing and sandbox attachment delivery 2026-10-10 18:41:57 +08:00
Hyu a2b7f6b7bb fix: stabilize native streaming and improve bot controls 2026-10-10 18:02:42 +08:00
Hyu 4b370f0a92 fix(telemetry): skip unrouted events and preserve matched deliveries 2026-10-08 13:33:57 +08:00
RockChinQ f96f663a80 feat(assistant): add streaming background sessions and refresh workspace UI 2026-10-08 13:24:46 +08:00
Hyu 40a3a941a3 fix(monitoring): unify execution records and stabilize streaming cleanup 2026-10-08 03:02:37 +08:00
Hyu 9f76037e64 feat(monitoring): unify execution views and trace tool calls 2026-10-07 22:36:10 +08:00
Hyu 4482e8d876 feat(telemetry)!: upload one record per execution node and one closure per chain
Core no longer assembles a whole trace locally. Every workflow node is uploaded
the moment it completes as its own `execution_node` record, and each execution
closes with exactly one `execution_chain` record; all records of one execution
carry the same `event_id`, so Space groups them back into a single chain.

- every execution starts at an inbound event: event-less Pipeline lanes and
  WebUI/API debug runs synthesize their virtual inbound event at the boundary
  and are marked debug=true, so a Runner is never a trace origin
- sampling is decided once per event from a stable hash of the event id (the
  previous `int(id[:8], 16)` raised on every `platform:`-prefixed id and so
  dropped every successful inbound-event chain) and is reported on each record
  as sample{mode,denominator}; the default mode is now `all`
- the local trace buffer, the 120s TTL, the per-process trace cap and the shared
  open-node mirror are gone, which also removes the truncated-chain upload and
  the re-buffered-closed-trace leak they caused
- a broken chain is always uploaded, and its reason falls back to the first
  failed node so the chain explains itself
- flush keeps records until the sender accepts them and counts what it drops;
  telemetry health replaces the unused send-task queue
- heartbeat reports bound Agent / plugin-processor / event-binding counts
- bound Pipeline and Agent resources (plugins, MCP servers, knowledge bases,
  tools with their Host source, skills, models and the Runner schema selectors
  that picked them) are reported on the chain record
- failure text is bounded and redacted instead of passing exception text through
- the dead per-query feature counters and their call sites are removed

Wire contract: schema 2 (`execution_node` / `execution_chain`).
2026-10-07 09:41:41 +08:00
RockChinQ dcc7e17d77 fix(cloud): retain all execution records for activity counts 2026-10-03 05:03:02 +00:00
RockChinQ 17cda1612f fix(telemetry): avoid global plugin enumeration in workspace snapshots and support model adapters 2026-10-02 15:46:28 +00:00
RockChinQ 2e5bbc8bdd feat(web): integrate ecosystem social preview images 2026-10-02 02:16:38 +00:00
Hyu 34b5fe0202 fix(plugin): share the runtime file-transfer root and 404 uninstalled icon requests
The SDK binds one transfer root inode (mode 0700) and picks it per profile: a shared worker uses /tmp/lbp-rpc while a host without the profile env fell back to data/temp/lbp, so plugin icons and assets died with 'Invalid file transfer capability'. The host now pins the shared root, and a plugin absent from the resolved Workspace answers 404 instead of 500.
2026-10-02 01:34:47 +08:00