Commit Graph
4457 Commits
Author SHA1 Message Date
BiFangKNT d610d64c67 fix(storage): expire historical inline images with bounded TTL cleanup
- Apply media retention to inline images while preserving text and URLs
- Persist per-workspace cursors atomically with payload updates
- Bound candidate scans and verify event ownership before loading payloads
- Add cleanup indexes and regression tests, and fix Windows path assertions
2026-10-18 09:58:04 +08:00
BiFangKNT cbc849d4e2 fix(storage): unify CAS persistence for inline images
- Externalize inline images in messages and run events before persistence
- Keep snapshots, transcripts, and metadata free of inline payloads
- Serialize messages after externalization to reduce peak memory usage
- Preserve live messages, URL-only images, and SDK image retrieval behavior
- Add regression tests for deduplication, redaction, storage failures, and serialization order
2026-10-18 00:04:20 +08:00
BiFangKNT f12490bc73 perf(monitoring): load execution details on demand
- Load overview first and fetch secondary sections when expanded
- Add a covering index and select conversation IDs before loading page payloads
- Preserve full-detail API compatibility and add pagination and lazy-loading tests
2026-10-17 21:10:55 +08:00
BiFangKNT b3574efd95 fix(pipeline): preserve form callbacks and verify all group response rules
Allow routed Dify form callbacks to resume without another mention or
prefix while keeping ordinary messages subject to group response rules.

Cover mention, prefix, regex, random probability, and combined rules.
2026-10-17 20:03:24 +08:00
BiFangKNT 807de8d24a fix(provider): sanitize replayed Groq message metadata
Remove response-only finish_reason metadata when converting stored messages
into subsequent model requests.

Strip provider_specific_fields from Groq messages and tool calls to avoid
strict request validation failures after a tool response. Preserve metadata
required by other providers, including Gemini thought signatures, without
mutating the original message entities.

Cover streaming and non-streaming request construction with regression tests.
2026-10-17 19:48:25 +08:00
BiFangKNT 2ca9c2c7fb fix(pipeline): enforce group response rules after routing
Stop treating an explicit Pipeline route as permission to bypass group
response rules. Routed group messages must still satisfy the configured
mention or prefix matchers.

Preserve the bypass for verified interaction submissions that resume an
existing run. Cover ordinary messages, mentions, prefixes, and interaction
callbacks with regression tests.
2026-10-17 19:48:15 +08:00
BiFangKNT 4d90358da0 perf(monitoring): exclude payloads from session summaries
Exclude message_content and variables from the message source used by
conversation session summaries. These fields were carried through window
sorting even though the resulting summaries did not use them.

Preserve complete payloads for message detail queries. Add regression
coverage for summary counts, session metadata, and full message retrieval.
2026-10-17 19:46:39 +08:00
BiFangKNT d663331889 fix(monitoring): bound inflight snapshot queries
Require a valid owner and unexpired lease for pending Pipeline messages
to appear as active tasks. Exclude historical ingress records without
rewriting their stored status.

Project only the fields needed by snapshots, skip linkage queries for empty
results, and resolve linked runs from selected message IDs instead of a
cross-table OR join that scans historical messages.

Cover lease filtering, terminal transitions, Workspace isolation, payload
exclusion, and indexed lookup plans with regression tests.
2026-10-17 19:45:19 +08:00
BiFangKNT 1318efc248 perf(persistence): index workspace execution leases
Add composite indexes on Workspace, status, and lease expiry for AgentRun
and MonitoringMessage so lease maintenance can locate active executions
without scanning completed history.

Keep ORM metadata and Alembic migration 0039 consistent, including fresh
installations where the indexes already exist. Cover migration round trips,
data preservation, and SQLite query plans with regression tests.
2026-10-17 19:41:55 +08:00
RockChinQ c05aac538f fix(discord): complete streaming media and event delivery 2026-10-17 15:11:29 +08:00
huanghuoguoguo bbf517edbc test(auth): exercise knowledge and event action boundaries (#2667) 2026-10-17 12:46:41 +08:00
huanghuoguoguo ffa6a836b5 test(ci): propagate coverage failures and require security regressions (#2669) 2026-10-17 12:46:30 +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 e11c3e2599 Merge pull request #2664 from langbot-app/chore/sdk-0.7.13-release
chore(deps): pin released langbot-plugin 0.7.13
2026-10-17 10:34:51 +08:00
huanghuoguoguo db5924e71e chore(deps): pin released langbot-plugin 0.7.13 2026-10-17 10:24:49 +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
RockChinQ 430276a5fc Merge pull request #2649 from langbot-app/feat/cloud-v2-subscriptions
feat(cloud): enforce and expose workspace subscription limits
2026-10-17 02:09:37 +08:00
RockChinQandClaude Opus 5.5 30357c6fa2 style(web): format revision preview fixtures
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-17 01:54:18 +08:00
RockChinQandClaude Opus 5.5 624d8efd97 test(web): align frontend checks with the plan comparison dialog
- Use LangBot Account wording in the Japanese checkout handoff copy.
- Assert the Workspace Settings plan entry opens CloudPlansDialog.
- Format revision tests with Prettier.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-17 01:54:05 +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
RockChinQandClaude Opus 5.5 16cfb6f8bd feat(cloud): show purchased plan revision alongside the latest revision
- Expose the workspace's purchased plan revision from the entitlement
  snapshot.
- Stack the purchased revision card in front of the latest revision in
  the plan comparison dialog; both cards share the same layout, and the
  purchased card's copy and prices come from the Space revision endpoint
  while benefits stay on the entitlement snapshot.
- Add a cancel-first tooltip for subscribing to the newer revision.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-17 00:25:41 +08:00
RockChinQ ececcb8749 feat(cloud): display unavailable plans without checkout actions 2026-10-16 17:11:00 +08:00
RockChinQ aabcaedf15 fix(cloud): retire beta banner and use production subscription links 2026-10-15 22:50:24 +08:00
RockChinQ 978db1701b feat(cloud): add plan comparison and subscription management entry 2026-10-15 21:29:05 +08:00
RockChinQandHyu 1c5ab3227c fix(deps): pin SDK 0.7.12 for upstream stream cancellation (#2663)
Co-authored-by: Hyu <[email protected]>
2026-10-15 20:13:46 +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 bf5dc67d1c fix: deduplicate i18n import after mainline rebase 2026-10-15 05:31:24 +00: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 b1d9484876 style: format workspace quota hook 2026-10-15 05:30:36 +00:00
RockChinQ b6c4e2c395 feat(cloud): enforce signed workspace subscription resource limits 2026-10-15 05:30:36 +00:00
RockChinQ 502b38130f release: prepare Core 4.11.0 with stable SDK 0.7.11 (#2660) v4.11.0 2026-10-14 15:54:32 +08: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]>
v4.11.0-rc.3
2026-10-14 00:09:52 +08:00
RockChinQ 0ed2a513f9 test(persistence): verify tagged 4.10.11 upgrades on sqlite and postgres 2026-10-13 13:28:03 +00:00
RockChinQ 48c6a1f536 fix(sqlite): enable WAL for concurrent plugin callback commits 2026-10-13 11:40:55 +00:00
RockChinQ 688e7761e7 chore(runtime): pin SDK worker plugin identity telemetry 2026-10-13 05:05:45 +00:00
RockChinQ b5fad9f04a feat(cloud): configure dedicated and shared worker quotas independently 2026-10-13 03:19:36 +00:00
RockChinQ 5a8c1ec6ef chore: release 4.11.0-rc.3 with worker watchdog SDK (#2655) 2026-10-13 01:32:18 +08: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