Commit Graph
425 Commits
Author SHA1 Message Date
BiFangKNT 4a989dd8aa fix(logging): prevent blocked stdout from freezing LangBot
- Isolate console writes with a bounded queue and daemon thread
- Preserve file logging and WebUI caching when stdout stalls
- Flush startup output before starting the writer to prevent exit hangs
- Add regression tests for backpressure, overflow, and shutdown
2026-10-18 19:13:22 +08:00
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 bc52184597 style(tests): add comments to explain foreign key parsing. 2026-10-18 11:15:44 +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
huanghuoguoguo 13b8edeace Merge pull request #2705 from langbot-app/test/required-contract-suites
test(ci): decouple required suites from test names and counts
2026-10-17 23:12:59 +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 268285a090 Merge pull request #2703 from langbot-app/fix/box-root-owned-export-20261017
fix(box): recover private outbox files without following links
2026-10-17 20:34:49 +08:00
huanghuoguoguo 6a6304f457 test(box): merge master and preserve attachment runtime assertions 2026-10-17 20:14:30 +08:00
huanghuoguoguo 8dfdb4fc45 test: preserve session and quota contracts when merging master 2026-10-17 20:14:10 +08:00
huanghuoguoguo 710d3edb71 Merge pull request #2694 from langbot-app/test/quality-discord-increment-oracles-20261017
test(discord): assert attachment and guild delivery targets
2026-10-17 20:12:28 +08:00
huanghuoguoguo fc877f73df Merge pull request #2693 from langbot-app/test/quality-box-platform-oracles-20261017
test(runtime): verify sandbox and platform behavior contracts
2026-10-17 20:12:22 +08:00
huanghuoguoguo f30abc7bce Merge pull request #2690 from langbot-app/test/quality-unit-api-maintenance-20261017
test: verify scoped cleanup and storage analysis contracts
2026-10-17 20:12:01 +08:00
huanghuoguoguo 916b4a4b14 Merge pull request #2689 from langbot-app/test/quality-unit-api-identity-20261017
test: verify identity persistence and credential boundaries
2026-10-17 20:11:54 +08:00
huanghuoguoguo 849ad84810 Merge pull request #2688 from langbot-app/test/quality-unit-api-orchestration-20261017
test: verify bot and pipeline persistence and isolation
2026-10-17 20:11:48 +08:00
huanghuoguoguo da4c987976 Merge pull request #2687 from langbot-app/test/quality-persistence-core-oracles-20261017
test: strengthen startup and persistence boundary oracles
2026-10-17 20:11:42 +08:00
huanghuoguoguo 4a84ccffe6 Merge pull request #2685 from langbot-app/test/quality-unit-api-extensions-20261017
test: enforce MCP and webhook persistence and lifecycle contracts
2026-10-17 20:11:30 +08:00
huanghuoguoguo ec57b6a51d Merge pull request #2684 from langbot-app/test/quality-agent-plugin-oracles-20261017
test: verify persisted Agent and Plugin behavior boundaries
2026-10-17 20:11:24 +08:00
huanghuoguoguo 3a508b5bda Merge pull request #2683 from langbot-app/test/quality-unit-api-providers-20261017
test: strengthen provider service and secret response contracts
2026-10-17 20:11:18 +08:00
huanghuoguoguo 0c71bba2f0 Merge pull request #2682 from langbot-app/test/quality-unit-api-models-20261017
test(api): verify model persistence and runtime boundaries
2026-10-17 20:11:12 +08:00
huanghuoguoguo 01a2c6347c Merge pull request #2678 from langbot-app/test/quality-runtime-followup-20261017
test(pipeline): verify message and provider behavior
2026-10-17 20:10:49 +08:00
huanghuoguoguo 277cf364ec Merge pull request #2677 from langbot-app/test/quality-support-services-oracles-20261017
test: verify committed workspace and service outcomes
2026-10-17 20:10:42 +08:00
huanghuoguoguo a18a1436a5 Merge pull request #2676 from langbot-app/test/quality-support-io-oracles-20261017
test: strengthen storage configuration and utility contracts
2026-10-17 20:10:36 +08:00
huanghuoguoguo ecea4c3d41 Merge pull request #2675 from langbot-app/test/quality-self-duplicates-20261017
test: remove redundant backend checks and migration aliases
2026-10-17 20:10:30 +08:00
huanghuoguoguo 02eb0f35fc Merge pull request #2672 from langbot-app/test/quality-runtime-oracles-20261017
test(runtime): assert filter and message delivery semantics
2026-10-17 20:10:09 +08:00
huanghuoguoguo 73268d350f Merge pull request #2671 from langbot-app/test/quality-core-oracles-20261017
test(core): strengthen config and task behavior oracles
2026-10-17 20:10:03 +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 774b633c26 fix(box): recover private outbox files without following links 2026-10-17 19:11:00 +08:00
huanghuoguoguo 837fa1d4fc test(web): verify session pagination and workspace quota contracts 2026-10-17 16:31:20 +08:00
huanghuoguoguo 6ea7fb9fc8 test(discord): assert attachment and guild delivery targets 2026-10-17 16:07:00 +08:00
huanghuoguoguo 44872101f6 Merge master and preserve multimodal test contracts 2026-10-17 16:03:19 +08:00
huanghuoguoguo c03f33d855 test(runtime): verify sandbox and platform contracts 2026-10-17 15:57:15 +08:00
huanghuoguoguo 1c0fd7d0ba test: strengthen startup and persistence boundary oracles 2026-10-17 15:45:09 +08:00
huanghuoguoguo 5ad95e100e test(api): verify maintenance outcomes and upload context 2026-10-17 15:44:19 +08:00
huanghuoguoguo bac69e987a test(api): verify identity predicates and credential side effects 2026-10-17 15:43:50 +08:00
huanghuoguoguo 1adc2a6046 test(api): verify orchestration writes and scoped state transitions 2026-10-17 15:43:38 +08:00
huanghuoguoguo d5bc009426 test(api): verify extension persistence and connection task behavior 2026-10-17 15:42:54 +08:00
huanghuoguoguo e0c738557a test(agent): verify persistence and denied action side effects 2026-10-17 15:35:33 +08:00
huanghuoguoguo ca997e6faa test(api): verify provider persistence and returned service payloads 2026-10-17 15:29:54 +08:00
huanghuoguoguo 69a415e562 test(models): verify model persistence and runtime boundaries 2026-10-17 15:26:38 +08:00
huanghuoguoguo 89ef102238 test(cloud): close directory observer database connections 2026-10-17 15:25:24 +08:00