Commit Graph
4572 Commits
Author SHA1 Message Date
RockChinQandmultica-agent d9e4e7d9df fix(pipeline): decouple Runner from extension permissions (LANG-54) (#2723)
* fix(pipeline): decouple runner from extension allowlist

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

* fix(pipeline): complete runner diagnostics and real runtime coverage

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

---------

Co-authored-by: multica-agent <[email protected]>
2026-10-19 23:07:11 +08:00
RockChinQ 5a6ddbff6f Merge pull request #2656 from fluo-rite/fix/telegram-mention-entities
fix(telegram): respect entity boundaries when parsing bot mentions
2026-10-19 17:51:31 +08:00
RockChinQandmultica-agent 52e8042f51 fix(telegram): match mention usernames case-insensitively
Co-authored-by: multica-agent <[email protected]>
2026-10-19 17:33:51 +08:00
Haoxuan Jiang 841b4df09d fix(lark): preserve incoming rich-text code blocks (#2626) 2026-10-19 16:26:16 +08:00
RockChinQandmultica-agent 42f6f7373b chore(deps): pin released langbot-plugin 0.7.14
Co-authored-by: multica-agent <[email protected]>
2026-10-19 08:06:30 +00:00
947d8addea fix(box): validate and export explicitly selected files (#2641)
* fix(box): retain outbox files when export fails

* test(box): retain ownership evidence in CI logs

* test(box): exercise LocalAgent export repair through real runtime and Docker

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

* fix(box): complete bounded outbox recovery contract

* feat(box): export explicitly selected files

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

* test(box): exercise explicit export on real Docker

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

* test(box): verify explicit exports with live model and Docker

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

* fix(box): align explicit export SDK and integration contracts

* docs(box): describe selected-file export contract

---------

Co-authored-by: HaiYangBG1 <[email protected]>
Co-authored-by: Chin Rock <[email protected]>
Co-authored-by: multica-agent <[email protected]>
2026-10-19 15:31:33 +08:00
bce94bd0d9 fix(tools): require python3 for Box native file scripts (#2658)
* fix(tools): require python3 for Box native file scripts

Unversioned `python` is still Python 2 on some host-rootfs nsjail
mounts. Falling back to it made read/write/edit scripts fail with
SyntaxError on f-strings (#2603).

Resolve only `python3`, and return a clear JSON error when it is
missing instead of invoking Python 2.

Fixes #2603

* style(tools): format Box interpreter error command

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

---------

Co-authored-by: Li-john1021 <[email protected]>
Co-authored-by: Chin Rock <[email protected]>
Co-authored-by: multica-agent <[email protected]>
2026-10-19 14:46:47 +08:00
Jonathan Neufeld 5c3675f4cc feat(vector): tag the Valkey Search client lib-name for attribution (#2620)
Set client_info_tag='langbot' on the Valkey Search vector store's glide
client, so CLIENT SETINFO LIB-NAME reports GlidePy(langbot) and operators
can attribute Valkey usage to LangBot. client_name is unchanged.

client_info_tag was added in valkey-glide 2.5.2, so raise the floor from
>=2.4.1 to >=2.5.2 (pyproject, install hint, docs) and regenerate uv.lock.
2026-10-19 14:29:19 +08:00
RockChinQ 43c481d74a Merge pull request #2628 from carfeii/fix/lark-webhook-signature-verification
fix(lark): verify webhook event-subscription signature before dispatch
2026-10-19 02:04:37 +08:00
Hyu 868f89a383 merge: integrate master into lark webhook signature fix 2026-10-19 01:53:46 +08:00
Hyu 757f8b7a35 fix(lark): authenticate plaintext webhooks and explain credentials 2026-10-19 01:48:29 +08:00
Martin fef2688225 feat(docker): add health checks to compose services (#2563)
Probe the existing HTTP health endpoints exposed by each service:
- langbot: GET /healthz on 5300
- langbot_plugin_runtime: GET /healthz on 5400
- langbot_box: GET /readyz on 5410 (readiness, 503 until ready)

python is used instead of curl because the image removes curl at build time.
2026-10-19 01:41:20 +08:00
彼方 62b647761f Merge pull request #2718 from langbot-app/fix/nonblocking-console-logging
fix(logging): prevent blocked stdout from freezing LangBot
2026-10-19 01:12:59 +08:00
RockChinQ 4b87bb0a35 Merge pull request #2654 from ShaoLOWu/fix/bootutils-files-global-clobber
fix(core): stop generate_files from clobbering the required_paths global
2026-10-19 00:52:19 +08:00
BiFangKNT de26cebdac fix(logging): make shutdown queue retry explicit 2026-10-18 19:29:36 +08:00
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
Zhang Bowen 9ac9958391 fix(web): hide revoked API keys in integration settings (#2714) 2026-10-18 17:26:39 +08:00
彼方 7974a43068 Merge pull request #2706 from langbot-app/fix/monitoring-and-message-handling
perf: bound monitoring workloads and enforce reference-only image persistence
2026-10-18 13:26:43 +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 80b8358d8d test(monitoring): add status column to monitoring messages table 2026-10-18 11:10:35 +08:00
BiFangKNT b9acf7d9b0 fix(ui): prevent closing selects from stealing focus
Preserve focus when another control becomes active during the close animation.
Add regression tests for filter persistence, Escape, and custom range dialog focus.
2026-10-18 10:21:48 +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 eaaf44f87a Merge pull request #2704 from langbot-app/test/quality-local-runner-execution-20261017
test: require LocalAgent and monitoring PostgreSQL contracts in CI
2026-10-17 20:36:33 +08:00
huanghuoguoguo 3a026cc7dc Merge pull request #2699 from langbot-app/test/quality-account-ui-oracles-20261017
test(web): replace account and privacy source checks with browser behavior
2026-10-17 20:35:41 +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 a5f4d8d3d2 Merge pull request #2698 from langbot-app/test/quality-session-quota-oracles-20261017
test(web): verify session pagination and Workspace quota behavior
2026-10-17 20:34:41 +08:00
huanghuoguoguo c3792e7a21 test(web): merge master into account UI contracts 2026-10-17 20:18:13 +08:00
huanghuoguoguo ab29e83ca0 test: retain consolidated contracts when merging master 2026-10-17 20:15:07 +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 bfe9b859ac Merge pull request #2702 from langbot-app/fix/provider-card-narrow-title-20261017
fix(web): keep provider names visible on narrow cards
2026-10-17 20:13:24 +08:00
huanghuoguoguo 142720660a Merge pull request #2701 from langbot-app/test/quality-combined-frontend-fixes-20261017
test(web): resolve clipboard fixture dependencies through Vite
2026-10-17 20:13:18 +08:00
huanghuoguoguo 9eba8cc4fd Merge pull request #2700 from langbot-app/test/quality-workspace-ui-oracles-20261017
test(web): replace Workspace source checks with runtime assertions
2026-10-17 20:13:11 +08:00
huanghuoguoguo fe80c05c6a Merge pull request #2697 from langbot-app/test/quality-web-debug-socket-race-20261017
test(web): verify cancelled native handshakes cannot alter replacement sessions
2026-10-17 20:12:57 +08:00
huanghuoguoguo a9957afc13 Merge pull request #2670 from langbot-app/test/workspace-quota-boundaries
test(web): verify workspace switching and quota failure boundaries
2026-10-17 20:12:51 +08:00
huanghuoguoguo d2c2a9dc65 Merge pull request #2668 from langbot-app/test/quality-frontend-behavior
test(web): replace source guards with browser behavior checks
2026-10-17 20:12:46 +08:00
huanghuoguoguo 8834a04045 Merge pull request #2696 from langbot-app/test/quality-web-marketplace-wizard-20261017
test(web): exercise marketplace installs and wizard behavior
2026-10-17 20:12:40 +08:00
huanghuoguoguo 407e352e5d Merge pull request #2695 from langbot-app/test/quality-migration-oracles-20261017
test(migrations): reuse historical data contracts and measure startup peaks
2026-10-17 20:12:34 +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 c9f886a203 Merge pull request #2692 from langbot-app/test/quality-valkey-search-oracles-20261017
test(vector): verify real Valkey search and deletion results
2026-10-17 20:12:15 +08:00
huanghuoguoguo 64cdb7095d Merge pull request #2691 from langbot-app/test/quality-bot-api-oracles-20261017
test(api): verify bot response and service delegation contracts
2026-10-17 20:12:09 +08:00