Commit Graph
39 Commits
Author SHA1 Message Date
LogosVeritas 74ff76d1ff refactor(sdk): simplify slash command input APIs 2026-10-29 12:33:11 +08:00
LogosVeritas 917cf6c267 fix(sdk): validate command lifecycles and normalize strict input 2026-10-28 21:39:54 +08:00
LogosVeritas 0c78c4c710 fix(sdk): return RunResult after native command activity 2026-10-28 21:14:21 +08:00
LogosVeritas 1950259ce1 fix(sdk): keep query internal and return session identity 2026-10-28 17:15:21 +08:00
LogosVeritas a2bf1d8c4d fix(sdk): keep run regression mocks type-safe
Use real harness instances and typed spies for scripted run notifications.
Prune the two retired unknown-cast baseline entries.
2026-10-26 13:44:40 +08:00
LogosVeritas dc311ba744 feat(sdk): route content blocks through native commands
Reuse the existing run input for command images and ordinary queue/steer delivery.
Align Unicode command separators, bound goal observation, preserve plan input encoding,
and handle explicitly expected Windows cancellation disconnects in runtime tests.
2026-10-26 12:23:58 +08:00
LogosVeritas e122cfb627 feat(sdk): route native commands through run 2026-10-26 00:53:20 +08:00
LogosVeritas f7379ef366 fix(sdk): tighten slash command observation and regression coverage 2026-10-25 21:55:28 +08:00
LogosVeritas 9c3971618a feat(sdk): support native goal slash commands 2026-10-25 21:55:27 +08:00
LogosVeritas d501108371 feat(sdk): support native plan commands and review dismissal 2026-10-25 21:55:27 +08:00
LogosVeritas 5cdd2aebed feat(sdk): support compact through unified query input 2026-10-25 21:55:27 +08:00
fz b42e32dbd4 Merge origin/master into feat/sdk-approval-rpc 2026-10-20 11:32:08 +08:00
fz e69e8c398f fix(sdk): advertise question capability during lazy initialization 2026-10-20 01:03:31 +08:00
fz 50fb069e7e fix(sdk): address approval interface review findings 2026-10-19 13:45:50 +08:00
fz 5d3dd1bbb0 feat(sdk): bridge internal approvals to stdio clients 2026-10-19 13:02:20 +08:00
fz b9fb31c2dd fix(sdk): own reminders and bridge native user questions 2026-10-19 11:35:30 +08:00
fz b1d5671038 refactor(sdk): simplify resume acknowledgement and verify Python restoration 2026-10-10 15:21:40 +08:00
fz 0bec9479ae feat(sdk): add explicit persisted session resume 2026-10-10 13:08:00 +08:00
Tianyi Cui b98b76c9a5 feat(translator): add opt-in native DeepSeek Flash translation 2026-10-06 15:38:24 +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 c7e62c1062 fix(tools): retain nested PTC presentation metadata for historical locations 2026-10-06 01:31:51 +08:00
Tianyi Cui 79bd3d8da7 feat(session): centralize working directories and directory context 2026-10-06 01:27:54 +08:00
Tianyi Cui 50da6f0b16 fix(subagent): await nested task completion across SDK and ACP
The unified delegation tool returns as soon as an activation accepts its
prompt. SDK and ACP child runtimes could therefore reach root idle while
an admitted fork was still running. Both external providers interpreted
that idle edge as successful task completion and disposed the runtime,
returning a waiting message while cancelling the nested work.

Add the opt-in SDK session/wait request for existing SDK-owned sessions.
It waits for root idle, managed descendants, and any resulting root turns,
then requires stable idle state and Session sequence across the final
check. Preserve raw session.status notifications and HarnessSession.run's
receipt-to-next-idle API; only the task-owning SDK provider uses the new
completion operation. Subscribe before prompt admission, validate and
fold queued root events through the FIFO wait response, and retain
accepted partial output on cancellation or transport failure.

Keep ACP prompt ownership through descendant completion and later root
summary turns, including their stop reasons and output-delivery failures.
Race child waiting against the existing prompt cancellation controller;
cancellation releases the prompt without permanently closing descendant
admission or repinning the original model selection onto later turns.
Session close retains child-first descendant teardown.

Add real Loader/profile regressions with a gated nested fork for SDK and
ACP completion, cancellation, and final-summary failure. Add focused
coverage for unknown/malformed wait requests, SDK root summary ordering,
ACP cancellation followed by another prompt, and later-summary image
output draining/failure. Update the five owning bilingual README pairs.

Validation:
- pnpm run build
- pnpm run typecheck
- pnpm exec vitest run packages/subagent/subagent-dsh-sdk/tests/subagent-dsh-sdk.spec.ts packages/sdk/server/tests/server.spec.ts packages/acp/acp/tests/turns.spec.ts (123 tests at initial fix)
- pnpm exec vitest run packages/acp/acp/tests/turns.spec.ts packages/sdk/client/tests/sdk-client.spec.ts (80 tests)
- pnpm exec vitest run packages/acp/acp/tests/turns.spec.ts packages/sdk/server/tests/server.spec.ts (70 tests)
- pnpm exec vitest run packages/acp/acp/tests (144 tests)
- pnpm run test:e2e packages/subagent/subagent-dsh-sdk/tests/nested-delegation.e2e.ts (6 tests)
- DSH_EXAMPLE_MODE=lib pnpm run test:e2e packages/subagent/subagent-dsh-sdk/tests/nested-delegation.e2e.ts (6 tests)
- pnpm run test:docs (21 gates)
- pnpm run doc-sync (42 gates)
- pnpm run lint:contracts-ready
- git diff --check

The unchanged SDK next-idle API remains covered by its existing client
tests; no raw notification or persisted Session event format changes.
2026-10-06 00:26:32 +08:00
Dudu-0223 a978ad1994 fix(subagent): version unknown catalog payloads locally 2026-09-20 15:09:37 +08:00
Dudu-0223 f984683956 fix(subagent): store unknown mode in the existing catalog event 2026-09-20 14:46:54 +08:00
Dudu-0223 17a52a8fe3 fix(subagent): retain unreadable children in migrated catalogs 2026-09-20 14:30:02 +08:00
pku-xht 55e53907ab feat(permission): add experimental Auto review 2026-09-09 04:36:19 +08:00
Tianyi Cui f99b06eaed feat(session)!: embed assistant streams in format v2 2026-09-02 04:00:01 +08:00
Chinesezjc 0868e5d128 test: make windows coverage timing assertions deterministic
cache.spec.ts polled fire-and-forget fail-soft writes with a fixed 40ms
settle(); contended runners drain the write after the window, so the
warn/row assertions flaked. Poll the observable outcome with vi.waitFor
(5s) instead, matching the file's existing cold-read write-back pattern.

The sdk-client and subagent-dsh-sdk dispose-ladder tests passed tight
confirmation budgets (disposeGraceMs 100-300ms) to real children; on a
contended runner the SIGKILL exit edge can arrive after the budget and
close() misreports a slow reap as failure. Use the product-default
budgets (disposeGraceMs 3000ms) for the real-child cases; the fake-child
negative cases in dispose.spec.ts keep the 10ms bound.
2026-08-31 12:42:01 +08:00
pku-xht 36a047d436 Merge commit '788bc260f98e31801feccde77efdc985c780065a' into codex/dsh-sdk-minimal-diagnostics
# Conflicts:
#	.agents/notes/implemented/feature/2026-07-27-typescript-sdk-and-sdk-subagent-backend.i18n.yaml
#	.agents/notes/implemented/feature/2026-07-27-typescript-sdk-and-sdk-subagent-backend.md
#	.agents/notes/implemented/feature/2026-07-27-typescript-sdk-and-sdk-subagent-backend.zh.md
#	docs/config-catalog.i18n.yaml
#	docs/config-catalog.md
#	docs/config-catalog.zh.md
#	packages/sdk/client/README.i18n.yaml
#	packages/sdk/client/README.md
#	packages/sdk/client/README.zh.md
#	packages/sdk/client/tests/sdk-client.spec.ts
#	packages/subagent/subagent-dsh-sdk/README.i18n.yaml
#	packages/subagent/subagent-dsh-sdk/README.md
#	packages/subagent/subagent-dsh-sdk/README.zh.md
#	packages/subagent/subagent-dsh-sdk/src/index.ts
#	packages/subagent/subagent-dsh-sdk/src/run.ts
#	packages/subagent/subagent-dsh-sdk/tests/fixtures/loader/child-mock-llm.ts
#	packages/subagent/subagent-dsh-sdk/tests/loader-composition.e2e.ts
#	packages/subagent/subagent-dsh-sdk/tests/subagent-dsh-sdk.spec.ts
#	snapshots/sdk/sdk.snapshot.ts
2026-08-25 20:50:41 +08:00
pku-xht 0e632c82d0 Merge master into codex/dsh-sdk-minimal-diagnostics 2026-08-25 16:18:27 +08:00
pku-xht 1044db218d feat(subagent): carry model routing through DSH SDK 2026-08-24 21:38:28 +08:00
Tianyi Cui 3368ddc0ab feat(sdk): launch TypeScript clients through dsh profiles
Replace the TypeScript SDK's public arbitrary command/argv launch surface with the same-version dsh CLI, a named profile, ordered per-launch patches, optional process cwd, and explicit Harness home selection. Installed consumers use the built CLI; clean source checkouts use the package's src/bin.ts through an absolute tsx/esm loader and a source-only patch that omits build-generated Typert loading.

Materialize explicit or inherited environments at spawn time, keep profile-internal patches below caller patches, and resolve every caller-relative path before the child starts. The SDK subagent provider validates its optional CLI and patch files at plugin load and requires an isolated absolute child home.

Treat JSON-RPC initialize as the Loader-owned readiness point: Loader settlement joins entry imports, fiber lifecycle work, and synchronous effect registration, so the server needs no scheduler tick. A delayed profile entry registers a private adapter before initialize resolves, proving caller-supplied plugin routes are visible without fallback.

Update sdk-app ownership, server diagnostics, TypeScript SDK examples, nested-loader coverage, and session-upload replay layering together. The following commit contains only the regenerated SDK transcripts, keeping this API and lifecycle change directly reviewable.
2026-08-23 10:59:00 +08:00
pku-xht ba0d7dfdca fix(sdk): validate closed turn cancellation facts 2026-08-21 07:23:43 +08:00
pku-xht bbf1c6e842 fix(subagent): close DSH SDK diagnostic review gaps 2026-08-21 06:53:28 +08:00
pku-xht 659749dc09 fix(subagent): align DSH SDK diagnostics with reachable facts 2026-08-21 06:05:51 +08:00
pku-xht b88a35d506 fix(subagent): preserve actionable DSH SDK failure facts 2026-08-21 04:48:40 +08:00
Tianyi Cui 454e06c8c1 Merge origin/master into worktree/remove-sdk-project-toolchain
# Conflicts:
#	.agents/notes/implemented/architecture/2026-07-10-single-file-executable-sdk-runtime-distribution.i18n.yaml
#	.agents/notes/implemented/architecture/2026-07-10-single-file-executable-sdk-runtime-distribution.md
#	.agents/notes/implemented/feature/2026-07-21-continuable-background-subagents.i18n.yaml
#	.agents/notes/implemented/feature/2026-07-21-continuable-background-subagents.md
#	.agents/notes/implemented/feature/2026-07-21-continuable-background-subagents.zh.md
#	.agents/notes/proposed/architecture/2026-07-15-sdk-project-editing-architecture.i18n.yaml
#	.agents/notes/proposed/architecture/2026-07-15-sdk-project-editing-architecture.md
#	.agents/notes/proposed/feature/2026-07-14-sdk-developer-projects.i18n.yaml
#	.agents/notes/proposed/feature/2026-07-14-sdk-developer-projects.md
#	.agents/notes/proposed/feature/2026-07-14-sdk-developer-projects.zh.md
#	packages/README.i18n.yaml
#	packages/README.md
#	packages/scaffold/create-sdk/README.md
#	packages/scaffold/create-sdk/src/args.ts
#	packages/scaffold/scripts/src/args.ts
#	packages/sdk/README.i18n.yaml
#	scripts/verify-package-readme-model-experience.ts
2026-08-11 15:56:06 +08:00
Tianyi Cui daf90bda7e refactor(sdk): remove unreleased project toolchain 2026-08-11 14:20:53 +08:00