100 Commits
Author SHA1 Message Date
Wenxi 9a7da2c494 fix(craft): keep app policy controls aligned beside long descriptions (#16177) 2026-10-16 22:30:29 +00:00
Wenxi 362137d3eb refactor(backend): inline redundant forwarding helpers (#16155) 2026-10-16 18:33:10 +00:00
Wenxi 9d36a5bbd8 refactor(oauth-config): use shared authorization attempts (#14158) 2026-10-15 22:24:37 +00:00
Wenxi 29602fba10 feat(llm): support agent execution and cooperative cancellation (#16021) 2026-10-15 21:18:54 +00:00
Wenxi 4ab8afcc2a feat(chat): add execution metadata and child-session links (#16041) 2026-10-15 21:18:53 +00:00
Wenxi 0e60d3c681 feat(mcp): guide users through tool connection and reauthentication (#16092) 2026-10-15 20:54:50 +00:00
Wenxi c8f36fe968 fix(external-apps): harden OAuth authorization attempts (#14147) 2026-10-15 20:49:49 +00:00
Wenxi dd7f0db47b refactor(oauth): consolidate authorization flow primitives (#14157) 2026-10-15 20:49:48 +00:00
Wenxi 788fd097ea feat(chat): add response checkpoints (#16040) 2026-10-15 20:21:15 +00:00
Wenxi a38f11c535 feat(chat): add response item storage (#16020) 2026-10-15 20:21:15 +00:00
Wenxi 128be3c4fd fix(craft): name sessions after the first message is saved (#16095) 2026-10-15 20:11:28 +00:00
Wenxi bdce5946f8 fix(craft): allow private MCP origins through sandbox proxy (#16025) 2026-10-14 21:38:37 +00:00
Wenxi c5e8d18a7e feat(craft): configure sandbox runtime and network lockdown (#16026) 2026-10-14 21:37:52 +00:00
Wenxi faaa183e3a chore(helm): require chart version and release note updates (#16035) 2026-10-14 21:32:29 +00:00
Wenxi fd4152f4fc fix(chat): read attachment metadata before starting workers (#16000) 2026-10-14 17:04:47 +00:00
Wenxi cb5abba44e fix(chat): validate preferred response type and session (#15999) 2026-10-14 16:52:24 +00:00
Wenxi 00813f4e37 fix(llm): retain cached tokens when flat usage is null (#15998) 2026-10-14 16:36:40 +00:00
Wenxi f49b663651 fix(tests): clean up Craft test schedules (#15982) 2026-10-13 22:26:38 +00:00
Wenxi d7b07f1dd4 feat(craft): show durable turn output cards (#15921) 2026-10-13 19:17:15 +00:00
Wenxi d902615c1d feat(craft): redesign the output workspace (#15917) 2026-10-13 19:17:14 +00:00
Wenxi 044fcdb7a6 feat(craft): add document preview controls and PDF rendering (#15916) 2026-10-13 19:17:13 +00:00
Wenxi 53f436ecb3 feat(craft): persist turn output ownership and viewed revisions (#15915) 2026-10-13 19:17:12 +00:00
Wenxi 1448404bdd fix(craft): publish Docker bundles atomically (#15912) 2026-10-12 22:02:55 +00:00
Wenxi 284cdcb4d7 fix(craft): avoid dev debug channel hydration delays (#15913) 2026-10-12 21:57:43 +00:00
Wenxi b53f78664a fix(chat): retain project context with custom agents (#15900) 2026-10-12 21:06:19 +00:00
Wenxi a0a0c8a636 fix(craft): isolate history loading and queued turn recovery (#15800) 2026-10-12 20:31:37 +00:00
Wenxi cb4272b5b0 fix(craft): separate composer drafts from stored attachments (#15795) 2026-10-12 20:31:36 +00:00
Wenxi dc43c62e17 fix(craft): prefer workdir for subdirectory shell commands (#15907) 2026-10-12 19:00:15 +00:00
Wenxi efdc499b47 fix(craft): retain file previews through refresh failures (#15798) 2026-10-12 16:51:30 +00:00
Wenxi ab2e6bbe74 feat(craft): add PDF and PowerPoint output thumbnails (#15793) 2026-10-10 00:59:20 +00:00
Wenxi 25e200355e feat(craft): improve CSV image and presentation previews (#15799) 2026-10-10 00:39:54 +00:00
Wenxi 15733cd878 refactor(download): support binary blobs and reuse Craft downloads (#15796) 2026-10-09 23:35:38 +00:00
Wenxi d89fd563ca feat(i18n): require translation updates for English copy changes (#15794) 2026-10-09 23:34:20 +00:00
Wenxi f7769f27e7 feat(opal): add passive text buttons and secondary dropdown rows (#15797) 2026-10-09 23:34:06 +00:00
Wenxi 6955635f73 fix(craft): OpenCode cold startup and local development resource budgets (#15769) 2026-10-09 21:01:40 +00:00
Wenxi f13d5ce789 chore(craft): remove unused file browser hook and translations (#15755) 2026-10-09 01:01:45 +00:00
Wenxi 05123ea33a fix(craft): preserve state in the five most recently visited output tabs (#15731) 2026-10-09 00:36:07 +00:00
Wenxi fabe87752b fix(craft): discover outputs and preserve file browser state (#15730) 2026-10-09 00:36:06 +00:00
Wenxi e6620fc9cb refactor(craft): unify preview caching and refresh lifecycle (#15729) 2026-10-09 00:36:06 +00:00
Wenxi 97080ed5e2 feat(craft): expose metadata-only output inventories (#15728) 2026-10-09 00:36:05 +00:00
Wenxi 0d5c8f827e feat(craft): navigate PowerPoint previews with slide thumbnails (#15725) 2026-10-09 00:36:04 +00:00
Wenxi d98fba0ec2 fix(craft): invalidate slide caches after preserved-timestamp edits (#15743) 2026-10-08 22:05:14 +00:00
Wenxi f0184192a2 fix(craft): simplify working card and reload notice (#15745) 2026-10-08 22:00:09 +00:00
Wenxi df73864775 fix(craft): proxy both Next.js HMR websocket endpoints (#15742) 2026-10-08 21:49:04 +00:00
Wenxi 939aa526f8 fix(craft): remove kindnet CPU throttling in local clusters (#15724) 2026-10-08 21:09:35 +00:00
Wenxi 9f489a1110 fix(craft): animate the welcome composer into the conversation (#15726) 2026-10-08 21:08:51 +00:00
Wenxi a4590f4aa8 fix(craft): open output links from assistant messages (#15689) 2026-10-08 19:15:39 +00:00
Wenxi 505c84a718 fix(craft): refresh PowerPoint and PDF previews after file changes (#15688) 2026-10-08 19:15:33 +00:00
Wenxi a1b8669c5c feat(craft): support IPv6-only Docker sandboxes (#15677) 2026-10-08 19:13:50 +00:00
Wenxi de3f09c7fd refactor(craft): organize sandbox proxy modules and models (#15561) 2026-10-08 19:13:49 +00:00
Wenxi 0bcb3be9f2 feat(craft): support IPv6-only Kubernetes sandbox networking (#15541) 2026-10-08 19:13:48 +00:00
Wenxi 41cbe4879b fix(craft): enforce sandbox proxy destination policy (#15678) 2026-10-08 19:13:47 +00:00
Wenxi b266a22e31 fix(craft): allow 90 seconds for OpenCode session initialization (#15715) 2026-10-08 18:17:20 +00:00
Wenxi 89c29f10ae refactor(craft): rename sandbox daemon contract module to models (#15687) 2026-10-07 23:38:59 +00:00
Wenxi a719765f87 feat(llm): capture image capabilities and client settings (#15656) 2026-10-07 21:29:11 +00:00
Wenxi ce4cfbf5a8 feat(utils): support saved thread context and observable results (#15655) 2026-10-07 20:28:59 +00:00
Wenxi 13a98f38f9 fix(chat): serialize incognito history updates with session locks (#15658) 2026-10-07 20:20:08 +00:00
Wenxi 93d930e7f2 fix(files): avoid sharing database sessions during content loading (#15657) 2026-10-07 19:00:44 +00:00
Wenxi 5402611fe7 fix: share lazy file content across descriptor copies (#15654) 2026-10-07 16:38:26 +00:00
Wenxi 744ca3747b test: add deterministic mock LLM stream gates (#15653) 2026-10-07 06:13:29 +00:00
Wenxi 7512729af3 fix(dev): recover stale Telepresence agents during k8s launch (#15651) 2026-10-06 22:58:00 +00:00
Wenxi 7ad196a16c fix(discord): stop requesting the members intent (#15626) 2026-10-06 20:02:57 +00:00
WenxiandClaude Opus 5.5 4ead0999bc fix(chat): store context summaries as SUMMARY messages and hide them from history (#15496)
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-06 18:44:03 +00:00
WenxiandClaude Opus 5.5 912ed5f262 refactor(tools): return ToolDefinition from tool_definition() (#15512)
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-05 23:27:19 +00:00
WenxiandClaude Opus 5.5 4c1c215972 refactor(chat): move chat helpers to their owning modules (#15514)
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-05 22:08:23 +00:00
WenxiandClaude Opus 5.5 3cbf78e069 refactor(tools): snapshot persona tool configuration and MCP server credentials (#15513)
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-05 21:10:37 +00:00
WenxiandClaude Opus 5.5 2089aa9968 chore(llm): correct stale LLM call comments in the gateway and helpers (#15542)
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-05 21:09:00 +00:00
WenxiandClaude Opus 5.5 268e4d5a3d fix(tools): keep custom-tool file results and empty search selections intact (#15495)
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-05 18:55:20 +00:00
WenxiandClaude Opus 5.5 26185be857 fix(chat): scope stop requests to one stream (#15497)
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-05 17:54:28 +00:00
WenxiandClaude Opus 5.5 1a894fcf47 refactor(llm): move error types to llm/exceptions and redact credentials from span errors (#15498)
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-05 17:52:52 +00:00
WenxiandClaude Opus 5.5 934282096b fix(chat): return failure responses for unknown tool calls in mixed batches (#15100)
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-01 21:23:35 +00:00
WenxiandClaude Opus 5.5 76be2d94b0 refactor(chat): stop sending the unused top_level_branching packet (#15099)
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-01 21:23:34 +00:00
WenxiandClaude Opus 5.5 bd9a838d53 fix(deep-research): treat timed-out research agents as failed calls (#15096)
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-01 20:58:14 +00:00
WenxiandClaude Opus 5.5 acbd9e21a8 fix(deep-research): stop think step from skipping a research sub-turn (#15094)
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-01 20:58:13 +00:00
WenxiandClaude Opus 5.5 4739ddf872 fix(deep-research): pass only research call ids as sub-agent parents (#15093)
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-01 20:58:12 +00:00
WenxiandClaude Opus 5.5 18cb1be666 fix(deep-research): stream the full think tool reasoning (#15098)
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-01 20:58:11 +00:00
WenxiandClaude Opus 5.5 776e067677 chore(llm): remove the mock_llm_response and MOCK_LLM_RESPONSE test hooks (#15201)
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-01 17:40:38 +00:00
WenxiandClaude Opus 5.5 a4004cf8db test(e2e): run Playwright against the mock LLM server (#15198)
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-01 17:40:37 +00:00
WenxiandClaude Opus 5.5 453623ddb3 test(integration): move LLM-dependent tests to the mock LLM server (#15197)
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-01 17:40:36 +00:00
WenxiandClaude Opus 5.5 91d30ec961 test(integration): scripted mock LLM server for integration tests (#15109)
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-01 17:40:34 +00:00
WenxiandClaude Opus 5.5 1203738637 fix(coding-agent): advance sub-turn only for rendered think-step output (#15097)
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-28 21:48:47 +00:00
WenxiandClaude Opus 5.5 797948e913 refactor(utils): parse streamed tool arguments with pydantic_core (#15199)
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-28 20:57:26 +00:00
WenxiandClaude Opus 5.5 f26e40ef77 fix(backend): join split surrogate pairs, run every shutdown step, delete a dead thread helper (#15188)
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-28 20:57:26 +00:00
WenxiandClaude Opus 5.5 c8547c630e feat(cache): renew a key only while it holds an expected value (#15191)
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-28 20:11:15 +00:00
WenxiandClaude Opus 5.5 0d7d8dd345 chore(backend): remove production asserts, unused re-exports and empty package files (#15190)
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-28 19:55:46 +00:00
WenxiandClaude Opus 5.5 471ad63cf6 feat(llm): streaming GenerationRequest API for LLM.stream (#15176)
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-28 18:59:00 +00:00
WenxiandClaude Opus 5.5 07618f525c feat(llm): GenerationRequest API for LLM.invoke (#15159)
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-28 18:58:59 +00:00
WenxiandClaude Opus 5.5 847127f3a7 refactor(llm): move provider request types to model_request (#15158)
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-28 18:58:59 +00:00
WenxiandClaude Opus 5.5 d9a4bb427a fix(redis): apply retry settings to connection pools (#15150)
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-25 22:00:18 +00:00
WenxiandClaude Opus 5.5 a00f1c9ce6 feat(cache): optional per-client operation timeout for cache backends (#15149)
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-25 22:00:17 +00:00
WenxiandClaude Opus 5.5 0c6a8e3bcf fix(chat): drop doubled whitespace when stripping XML tool-call blocks (#15095)
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-24 20:20:03 +00:00
WenxiandClaude Opus 5.5 c8241e83ce refactor(llm): give invoke() one total timeout (#15051)
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-24 18:02:17 +00:00
WenxiandClaude Opus 5.5 1e59a21f08 fix(llm): merge split responses and map mid-stream errors (#15060)
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-24 18:02:16 +00:00
WenxiandClaude Fable 5 29ce74c6b1 fix(loadtest): make search scenarios actually exercise retrieval (#14983)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-09-23 20:48:44 +00:00
WenxiandClaude Opus 5 08a8ff0613 refactor(web): rename lib/search/interfaces.ts to types.ts (#14994)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-22 18:48:22 +00:00
WenxiandClaude Opus 5 028cd41f2d fix(web): hide craft_file from the Add Connector page (#14991)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-22 18:48:22 +00:00
WenxiandClaude Fable 5 6e6c204568 perf(llm): disable LiteLLM per-chunk streaming logging (#14937)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-09-21 18:23:24 +00:00
WenxiandClaude Fable 5 a239d81274 fix(metrics): restore DB connection metrics under external poolers and sharding (#14895)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-09-18 21:45:08 +00:00
WenxiandClaude Fable 5 ef3465c38a fix(lint): apply ruff dict.fromkeys autofixes in zoom connector (#14890)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-09-18 18:31:05 +00:00
WenxiandClaude Fable 5 ccc1e2380d chore(deps): bump anyio to 4.14.2 for GHSA-82r6-8w77-94w6 (#14889)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-09-18 18:04:43 +00:00