Commit Graph
151 Commits
Author SHA1 Message Date
Tianyi Cui 86cc92949d test(python): isolate dynamic tool snapshots from log export 2026-10-07 13:52:17 +08:00
Tianyi Cui b48384223a refactor(experimental)!: classify optional packages and move prototypes 2026-10-06 16:41:04 +08:00
Tianyi Cui a3cb678875 Merge master current-directory support into subagent activations
Integrate the observed master checkpoint 7ab215e23e5d977aae7eb5d4fb91782d39969dbb without rewriting the earlier published checkpoints. Master adds current-directory events, directory-aware consumers, and retained Git worktrees; its old subagent startup paths overlapped the unified activation implementation.

Resolve directory selection within managed startup after acquiring parent ownership. Preserve the original Session origin while setting each new local child directory, retain persisted directory state on cold resume, and pass a required absolute cwd to external providers. Keep unified local/external ownership, full completion notices, parked-input host completion, SDK wait/error/shutdown behavior, and ACP cancellation semantics. Retain removal of the old in-process driver and continuation managers.

Combine SDK wait with the new directory requests, preserve the new master directory/worktree fixtures, regenerate derived catalogs from the combined sources, and refresh only the four stale prompt/schema sidecars. Preserve every protected historical schema, archived note, catalog-v2 acknowledgement, and recorded predecessor input.

Validation: full build; 59 CI static gates; 855 subagent tests with 100% coverage on changed core/external sources; affected consumer suites including 119 repaired-fixture tests; SDK 11 and headless 16 recorded scenarios; two local headless expected cases; six built nested SDK/ACP cases; lint, strict cast inventory, workspace constraints, and whitespace checks. Native Windows worker diagnostics remain additive and require the next CI run to classify the original crash.
2026-10-06 10:52:35 +08:00
Tianyi Cui e1fe956928 test(sdk): reuse directory fixture mapping for recovery 2026-10-06 01:31:51 +08:00
Tianyi Cui 92713fcdbd fix(session): complete working directory consumers and validation 2026-10-06 01:27:54 +08:00
Tianyi Cui 79bd3d8da7 feat(session): centralize working directories and directory context 2026-10-06 01:27:54 +08:00
Tianyi Cui 9dcc8fa985 Merge master into unified subagent activations
Integrate master 78ae4fc2d4d8ecaebb4b674028f781a358b92cc9 after the four
independent review fixes. Keep this base update separate from those fixes
and from subsequent review changes so the integration is independently
reviewable and the observed-master checkpoint remains preserved.

Retain activation-owned execution, caller-independent local discovery,
and unconditional parent final-answer delivery. Preserve master's preset
scoped scheduling tools and all delegated-child schedule deny rules. Move
the new scheduling regression from the removed driver package into the
surviving subagent package and run it through a real Spawn activation.

Preserve master's removal of runtime invariant plugins, dependencies,
exports, and test mounts. Keep context disposal before fixture directory
cleanup. Combine Python workflow ordering with activation/catalog events
without inventing unsupported source-plane import paths.

Keep all frozen Agent Note archives byte-for-byte identical to master;
do not accept Git's automatic edits to renamed archived notes. Retain
current lifecycle and delivery facts in active documentation, repair its
links, and regenerate catalogs/persistence schemas from merged source.
All 62 master persistence roots remain; only subagent/catalog gains the
PR's external membership extension. Keep master's third-party lock graph
and update only workspace dependency changes.

Validation before this checkpoint: 683 focused tests passed, seven
Windows-only cases skipped; 2,772 archived artifacts verified. Generated
catalog and active-pair checks passed. Fresh artifact build and remaining
build-dependent documentation checks continue before publication.
2026-10-05 23:49:47 +08:00
Tianyi Cui 3ca9334868 Merge observed master checkpoint to resolve Python smoke pairing conflict 2026-10-05 09:05:54 +08:00
Dudu-0223 3254ed611d Merge master and preserve catalog-recursive subagent discovery 2026-09-27 15:23:31 +08:00
Tianyi Cui eafd5b6068 fix(session): remove invalid recovery input guard 2026-09-25 23:48:44 +08:00
Tianyi Cui 6a6f350b94 fix(agent-loop): settle pending tool results before failed steps close 2026-09-25 23:48:44 +08:00
Tianyi Cui 8c32bcf97d test(python): accept standalone live smoke acknowledgements
The installed-wheel smoke checks real model tool use and externally verifies
the created file, a fresh host-only challenge, the copied receipt, and the
unchanged source. DeepSeek can return the requested acknowledgement before
a file-details paragraph; requiring it to be the last line makes correct
SDK execution fail according to the placement of explanatory prose.

Accept the exact acknowledgement on any standalone line, retaining completed
turns, model-requested tool calls, exact file bytes, and session-log checks.
Replay the observed response through both turns and keep negative coverage
for absent or embedded acknowledgements and incorrect files.
2026-09-23 23:43:04 +08:00
Tianyi Cui e221615112 test(sdk): cover native dynamic tool lifecycle 2026-09-23 22:40:39 +08:00
Yudong Han 5e25475857 fix(office): use bundled LibreOffice Kit 0.1.0 CLI across deployments (#4902)
* chore(office): upgrade libreoffice kit to 0.0.1-2

* fix(office): guide bounded CLI rendering and preview reuse

* chore(office): consume published LibreOffice Kit 0.0.3

* test(office): mock the complete LibreOffice converter interface

* chore(office): upgrade LibreOffice Kit to 0.0.4

* fix(office): expose bundled LibreOffice Kit 0.1.0 CLI across deployments

* fix(office): inspect Excel visuals only for layout tasks

* fix(office): allow compatible LibreOffice Kit 0.1 updates

* fix(office): stop Excel QA on blank previews and run regressions in CI

* fix(office): end workbook visual QA after an empty preview
2026-09-23 08:32:15 +00:00
Dudu-0223 703bf4d504 Merge master after validating subagent cleanup 2026-09-20 17:59:25 +08:00
fz f25957d442 Merge remote-tracking branch 'origin/master' into feat/workspace-dependencies-package 2026-09-20 14:50:54 +08:00
Dudu-0223 7e8591de1c refactor(subagent): rebuild activations on master with shared catalog 2026-09-19 20:39:43 +08:00
fz 44e4750673 test(sdk): match Office startup wait to conversion deadline 2026-09-18 21:45:15 +08:00
Yixiang TuandTianyi Cui e0bd7e1960 feat(session): add developer changes using historical tool schemas
Session V4 reserves developer-role messages for incremental model-visible
session changes. The role, tool addition/removal blocks, and deferred-loading
marker need a durable representation before independent provider and UI
integrations can emit or consume them. Known developer events must match an
open turn and step; unsupported providers and UI consumers fail explicitly.

Request headers already capture full tool definitions. Persisting another
ToolSchema in each addition would duplicate Session information and create
two definitions that could drift. Additions therefore store toolName, and
the containing developer event uses headerSeq to select one earlier known
request/header for all its additions. A same-name replacement keeps its
historical definition identity through restart, fork and surface changes.
Removals require no definition copy, and ordinary developer messages omit
headerSeq. Generic sourceEventSeqs remains independent derivation metadata.

The rejected inline tool field is optional never with @persistenceReserved.
The schema extractor retains that uninhabited slot, so permitting a future
value requires a format bump instead of being mistaken for compatible
optional metadata. Unrelated optional fields remain additive and readable.

Native and Session admission reject missing, forward, non-header, unknown,
ambiguous and incomplete referenced definitions, and reject the retired
inline tool field. Validate complete schema fields only for referenced
definitions, preserving unrelated header behavior and extra JSON metadata.
Unknown ignorable records remain opaque. Empty developer nodes retain their
surface position without producing a message or shadowing the system head.
No automatic emitter, provider activation, UI implementation, or speculative
public resolver is added.

Keep the core-owned developer source binding beside the introduced role,
including the request-only type rejection and attribution round trips. Update
consumer guards, SDK/snapshot handling, bilingual owner documentation, and
the same unreleased V4 acknowledgement. Keep earlier tool/source migration
work and its documentation in the parent. Preserve the existing recorded
Cordis inspection generation from the original developer change.

Integration keeps the final source layer as the sole parent and preserves
master's Messages input filtering, empty-user omission, empty tool results,
and system-update placement. Developer/deferred guards still run before
conversion. Native V4 admission, header references, reservation declarations,
and generic tooling match the validated marker candidate. Parent-owned
fixture and generator fixes remain in the parent.

Earlier feature validation passed full build, full lint, 41 doc-sync gates,
and 16 hygiene gates. The unchanged native implementation retains that evidence.
The focused Session/V4/request-input run passes 884 tests across 38 files with
100% statement, branch, function and line coverage for the V3-to-V4 package
and Session surface. Consumer tests pass 482 with one existing skip; tool,
message and optional-field tests pass 146. Cordis inspection and compaction
replays pass in both source and built modes (two cases per mode). Ten invalid
referenced-definition/unknown-header controls failed before their scoped
guards and pass after them.

Reservation validation: the actual generated developer root records tool as
optional primitive never. Widening it requires a bump, while traceId remains
additive and preserved; all 85 focused reader/classifier tests pass.

Final-parent validation: 205 tests across eight provider, type, catalog,
Session and native-format files pass. The preserved parent fixture verifies
Messages input-history replay; runtime/declaration and parent-owned-file
comparisons show no loss during the final rebase.

Co-authored-by: Tianyi Cui <[email protected]>
2026-09-18 19:08:11 +08:00
_KermanandTianyi Cui f4a32dbd0a refactor(llm): flatten tool results and validate native V4 sessions
Represent tool results as tool-role messages and migrate released wrappers
without losing outer own JSON fields, call identity, error state, or writer
field order. Refuse nested or wrapper-only information that has no lossless
current representation before successor publication.

Validate current event relationships directly instead of projecting V4 data
back into V3. Keep lifecycle, PTC, title/command, compaction, system-field and
retired-syntax checks on catalog restoration and ordinary JSONL opens. The
Worker JSON equality helper must inspect own keys so it cannot admit PTC
arguments that Node rejects.

Keep the source role change, required native admission and consumer fixture
updates in one complete review layer. Explain shared-type changes in the
persistence record and the native reader rationale in its existing note.
Use checked branded fixture identities and discriminant narrowing instead
of unknown double casts; fixture values and assertions remain intact.

This recomposes the original tool-role work by _Kerman with the independently
validated migration and admission repairs by Tianyi Cui. Frozen generations
and snapshot input version selection are retained.

Co-authored-by: Tianyi Cui <[email protected]>
2026-09-18 19:05:32 +08:00
fz defb9c3736 fix(sdk): shorten bundled Python resource paths on Windows 2026-09-18 17:44:15 +08:00
fz 37983d9298 feat(sdk): bundle shared Office authoring resources 2026-09-18 17:17:46 +08:00
Dudu-0223 3d852a1cea refactor(subagent): unify local and external activation lifecycles 2026-09-17 14:54:10 +08:00
Tianyi Cui 85022b5c46 merge: sync Office conversion from latest master 2026-09-17 12:33:52 +08:00
yudshj a69639a200 fix(document): select Office engines from declared native targets 2026-09-17 11:15:36 +08:00
yudshj 9d2a3bf2b7 feat(document): decouple shared Office conversion from preview 2026-09-17 11:15:21 +08:00
Tianyi Cui 0a1e2691ab merge: integrate master into session-log-v4 2026-09-17 00:12:27 +08:00
turtle1999 92da029f6d test(creator): replace retired Cordis tool scenarios 2026-09-16 15:39:17 +08:00
Tianyi Cui 9c10de50a6 fix(test): compare native Python delivery generations without rewriting goldens 2026-09-16 13:02:13 +08:00
winewill 361c20cb41 Merge master into thin Electron Web UI
Retain the Desktop profile-boot alias alongside the new browser-use and
terminal aliases when resolving tsconfig.base.json.
2026-09-14 17:06:17 +08:00
_Kerman 0a382becb3 Merge latest origin/master into xtr/agent-setup-hook 2026-09-14 13:57:18 +08:00
07akioni 9187c3662e Merge master and fix desktop editing and Windows lock contention 2026-09-14 12:16:33 +08:00
creatixchu a7070008e7 Merge master and integrate image offload with both DeepSeek protocols 2026-09-14 10:19:11 +08:00
Tianyi Cui ece35a1a38 test(ci): exercise Messages defaults in runtime smokes 2026-09-13 20:36:50 +08:00
Tianyi Cui 489c3ac715 feat(mcp): negotiate modern protocols with the official SDK
Preserve the verified SDK layer tree from c8b248b480 before rebasing its complete net change.
2026-09-12 22:31:42 +08:00
Tianyi Cui 66734e344a Merge Computer Use parent into Auto review for PR stack 2026-09-12 17:06:46 +08:00
Tianyi Cui 7c9bb5914c refactor(ptc): align runtime packages and services with PTC naming 2026-09-12 15:03:04 +08:00
Tianyi Cui f95f7ec8dc refactor(code-runtime): name the Node runtime provider 2026-09-12 15:03:01 +08:00
Tianyi Cui 647e2aefbf Merge master into Auto review and reconcile recorded API types 2026-09-12 14:17:13 +08:00
Turtle 71d50b4a84 refactor: ban ambiguous origin label 2026-09-11 17:45:28 +08:00
Chinesezjc fed65b7cad Merge master into the Auto review branch
Resolve 36 conflicts across source, bilingual READMEs, and generated
documentation: keep master's command-identity and popup APIs, RemoteMock
test infrastructure, and regenerated catalogs; keep the Auto review
catalog, slot, dismissal, and snapshot content.
2026-09-11 14:15:32 +08:00
07akioni ae84dd3381 fix(desktop): address shared runtime review and CI regressions 2026-09-11 11:24:17 +08:00
creatixchu 4b1408e1df Merge origin/master into worktree/3041-image-offload-log-design 2026-09-10 17:20:54 +08:00
_Kerman fd7ee32315 Merge origin/master into xtr/agent-setup-hook 2026-09-10 17:02:57 +08:00
creatixchu b5e7fca4a5 feat(compaction): record image offload decisions without message replacement 2026-09-10 16:47:50 +08:00
07akioni ae7462c526 test: clarify live SDK smoke completion acknowledgement 2026-09-10 16:13:54 +08:00
_Kerman 2f7a02022a Merge origin/master into xtr/agent-setup-hook 2026-09-09 17:31:17 +08:00
_Kerman 9b7a8ccc9f feat(agent): await initialization through agent/created 2026-09-09 16:20:00 +08:00
creatixchu f2f9700de2 feat(feedback): open one feedback dialog from /feedback and Dislike, with categories and a toast
Dislike and a bare /feedback open the Session's feedback dialog, which
collects one of seven fixed categories and an optional description and
records through the messageFeedback put or the new sessionFeedback
Remote; Like records at once. A recorded rating shows the filled glyph
and every submission is acknowledged by a toast. feedback/record and
MessageFeedbackItem carry the optional category; the note popover, its
layout scenario, and the clearNote/clear verbs are removed. ui-commands
gains the action command kind the /feedback decoration runs as.

Closes #3515
2026-09-09 10:20:24 +08:00
pku-xht 0eb0e8c770 Merge master to restore required CI for Auto review 2026-09-09 05:25:20 +08:00