Commit Graph
759 Commits
Author SHA1 Message Date
BiFangKNT 57077740bd chore(merge): sync master and preserve monitoring test coverage 2026-10-18 12:43:44 +08:00
BiFangKNT b73f66a234 feat(persistence): enforce image reference storage contract
- Reject structured inline images on ORM and Core writes
- Route plugin run results through the media-aware journal
- Redact legacy inline images before merging run metadata
- Cover storage contracts and regressions on SQLite and PostgreSQL
2026-10-18 12:26:09 +08:00
BiFangKNT 1e5aeb6032 refactor(provider): decouple Groq message sanitization from reasoning family
Use the chat provider to apply transport-specific metadata cleanup.
Keep finish_reason removal in the common message conversion path.

Verify streaming and non-streaming HTTP payloads through LiteLLM,
metadata preservation for other providers, and source message immutability.
2026-10-18 11:38:15 +08:00
BiFangKNT f42d3919cb refactor(persistence): consolidate monitoring index migrations
- Merge migrations 0039 through 0041 into a single 0039 migration
- Preserve existing indexes and support partial historical schemas
- Update migration tests for the consolidated revision
2026-10-18 09:58:30 +08:00
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
huanghuoguoguo 399685962e fix(skills): preserve escapes in Python workspace shell wrapper (#2666)
* fix(skills): preserve escapes in Python workspace shell wrapper

* style(skills): retain original end-of-file formatting
2026-10-17 23:13:27 +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
huanghuoguoguo ab29e83ca0 test: retain consolidated contracts when merging master 2026-10-17 20:15:07 +08:00
huanghuoguoguo 98cc2ec2d6 Merge pull request #2680 from langbot-app/fix/auth-invalid-json-contract-20261017
fix(auth): reject malformed credential payloads before authentication
2026-10-17 20:11:01 +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
huanghuoguoguo 51b4de966d test: require pinned LocalAgent contracts in CI 2026-10-17 19:31:10 +08:00
huanghuoguoguo 774b633c26 fix(box): recover private outbox files without following links 2026-10-17 19:11:00 +08:00
huanghuoguoguo 569dd07024 fix(auth): reject malformed credential payloads before authentication 2026-10-17 15:25:16 +08:00
RockChinQ c05aac538f fix(discord): complete streaming media and event delivery 2026-10-17 15:11:29 +08:00
huanghuoguoguo d54e533985 fix(skill): pin revisions per run and preserve shared Box state 2026-10-17 09:32:41 +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
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 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 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 48c6a1f536 fix(sqlite): enable WAL for concurrent plugin callback commits 2026-10-13 11:40:55 +00: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 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 353b452453 fix(ci): align SDK dependency and validate acceptance migrations 2026-10-11 00:59:51 +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 49d2af9379 fix(monitoring): display processing errors on the assistant side 2026-10-11 00:17:02 +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 941ef00840 fix: align DingTalk card branding beside copy controls 2026-10-10 22:35:36 +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