Tianyi Cui
ec48669f48
release(dsh): 0.2.1-alpha.1
2026-10-03 10:46:11 +08:00
Turtle
f028f25667
refactor: remove runtime invariant plugins
...
Delete @deepseek-ai/dsh-invariants, every package's ./invariant companion
and its tests, the invariant gates and Vitest setup, the scoped-event
resolver generator, and the INVARIANT-coded listener rethrow paths.
Update docs, READMEs, Agent Notes, and add an upgrade guide.
2026-09-30 12:52:18 +08:00
imccyu
c1b47e41fc
release(dsh): 0.2.0-rc.2
2026-09-29 16:40:57 +08:00
imccyu
4878cdabd8
release(dsh): 0.2.0-rc.1 ( #5387 )
2026-09-28 19:48:10 +08:00
turtle1999
787b746b80
release(dsh): 0.1.7-rc.2
2026-09-24 21:24:26 +08:00
Turtle
e7def469e1
feat(i18n): key translation pairing records by heading section ( #5036 )
...
* feat(i18n): key translation pairing records by heading section
Replace the whole-file blob hashes in *.i18n.yaml with one entry per
heading section that still holds language-specific content, keyed by the
English heading-slug path. Blocks identical across the pair (generated
table rows, code blocks, shared regions) stay out of the hash, so edits to
different sections and identical regenerations merge with Git's default
text merge, including on GitHub.
Remove the dsh-translation-pairing merge driver, its resolver command and
installer wiring; gen-translation-brief recovers last-confirmed text from
commit history. Migrate all active records, archive the superseded Agent
Note, and record the replayed conflict reduction in the new one.
* test(i18n): refresh translation prompt snapshot for the terminology note
* feat(i18n): exclude only code blocks and generated regions from pairing records
Replace byte-equality masking with an explicit rule: a record hash skips
fenced code blocks and BEGIN/END GENERATED regions, the two kinds of
content the pairing gate already requires to be identical on both sides.
Move generated data into regions written into both pages:
gen-config-catalog renders both languages and the record with per-package
regions labelled by code identifiers; gen-module-graph keeps its table in a
region; gen-doc-graphs splices the event matrix regions into the Chinese
page. Add a generic region splice beside the region grammar.
2026-09-23 22:32:06 +08:00
turtle1999
a60af51e80
release(dsh): 0.1.7-rc.1
2026-09-23 20:47:45 +08:00
imccyu
10ea83bcc3
release(dsh): 0.1.7-alpha.2
2026-09-22 23:12:55 +08:00
imccyu
4e6028a604
build: use tilde ranges for vendor and native workspaces
2026-09-22 21:14:06 +08:00
imccyu
37372101b5
build: pin internal DSH workspace dependencies
2026-09-22 21:12:56 +08:00
turtle1999
112ce776ac
release(dsh): 0.1.7-alpha.1
2026-09-22 11:59:16 +08:00
Turtle
601d6761e4
feat(settings): project volatile Config through profile-backed forms ( #4587 )
2026-09-21 18:26:03 +08:00
Yichen Jiang
bb20149360
refactor(shell): register foreground commands as jobs at start and drop the promotion protocol
...
With a job registry composed, tool-bash and tool-pwsh now register every
command with ctx.jobs as it starts and wait on the job with the registry's
own bounded wait: a command that finishes in time returns the ordinary
foreground result and its record is removed, one that outlives the timeout
returns the same job id it already had, and a kill from outside the call is
reported as `[stopped: <reason>]`. Nothing changes hands at the deadline, so
the shell seam loses `onExpiry: 'offer'`, `ShellExecution.promotion`, and
`ShellPromotionOffer`, and both local executors drop their offer arm.
The registry stays optional: the tools register a foreground-only definition
while no registry is composed and swap to the job-backed one inside a
`ctx.inject(['jobs'])` fork, so a composition without jobs keeps a plain bash
with no job tools in the model's schema. A refused registration at the start
(admission, no controller) runs under the executor's deadline kill, and a wait
that expires before the process spawned ends as the preparation timeout.
JobRegistry gains `remove(id, caller?)` and the `settled` event reports
`awaited`, so dsh-tool-jobs no longer keeps its own wait ledger; it withholds
notices for awaited settlements and for kills the model requested. The tool
catalog harvest composes the registry so the shipped schema stays documented,
and the two compaction fixtures move their context window from 10000 to 10300
tokens because the branch's larger tool schemas pushed their condensed history
over the old trigger, which requested a fourth scripted model call.
2026-09-21 15:23:08 +08:00
Yichen Jiang
c4bc8b847a
Merge branch 'worktree/jobs-api-review-3052' into worktree/jobs-api-review-3127
...
# Conflicts:
# packages/client/ui-jobs/src/client/JobListAction.tsx
# packages/shell/bash-local/tests/executor.spec.ts
2026-09-19 10:40:27 +08:00
Yichen Jiang
5c10701df2
Merge remote-tracking branch 'origin/master' into worktree/jobs-api-review-3052
...
# Conflicts:
# apps/web/tests/expected/agent-preset-selection/header.expected.md
# packages/client/ui-chat/src/client/chat/ContextInjectionRow.tsx
# packages/client/ui-jobs/package.json
# packages/client/ui-jobs/src/client/JobListAction.module.css
# packages/client/ui-jobs/src/client/JobListAction.tsx
# packages/client/ui-jobs/tests/job-list-action.client.spec.tsx
# packages/client/ui-subagent/README.i18n.yaml
# packages/client/ui-subagent/README.md
# packages/client/ui-subagent/README.zh.md
# packages/client/ui-subagent/src/client/SubagentHeaderLineage.tsx
2026-09-19 10:35:09 +08:00
winewill
1a7308fbaa
test(shell): synchronize background process completion
2026-09-18 15:37:05 +08:00
creatixchu
6b1808f432
release(dsh): 0.1.6-alpha.2
2026-09-17 21:11:19 +08:00
Yichen Jiang
c2fb2bd4e8
Merge branch 'worktree/jobs-api-review-3052' into worktree/jobs-api-review-3127
...
# Conflicts:
# .agents/notes/implemented/feature/2026-08-08-web-background-job-display.i18n.yaml
# docs/config-catalog.i18n.yaml
# docs/event-producer-consumer.i18n.yaml
# docs/module-graph.i18n.yaml
# docs/subsystems/jobs.i18n.yaml
# docs/subsystems/shell.i18n.yaml
# docs/subsystems/shell.md
# docs/subsystems/shell.zh.md
# docs/tool-catalog.i18n.yaml
# packages/api/session-controller/README.i18n.yaml
# packages/context/tmux-context/tests/tmux-context.spec.ts
# packages/e2b/e2b/tests/fixtures/composition/bin.ts
# packages/extensions/tool-cordis/src/api-catalog.ts
# packages/shell/bash-local/README.i18n.yaml
# packages/shell/bash-local/README.md
# packages/shell/bash-local/README.zh.md
# packages/shell/bash-local/src/index.ts
# packages/shell/bash-local/tests/executor.spec.ts
# packages/shell/bash-sandbox/README.i18n.yaml
# packages/shell/bash-sandbox/README.md
# packages/shell/bash-sandbox/README.zh.md
# packages/shell/bash-sandbox/src/index.ts
# packages/shell/bash-sandbox/tests/bwrap.e2e.ts
# packages/shell/bash-sandbox/tests/landlock.e2e.ts
# packages/shell/bash-sandbox/tests/partial-landlock.spec.ts
# packages/shell/bash-sandbox/tests/sandbox.spec.ts
# packages/shell/bash-sandbox/tests/seatbelt.e2e.ts
# packages/shell/pwsh-local/README.i18n.yaml
# packages/shell/pwsh-local/README.md
# packages/shell/pwsh-local/README.zh.md
# packages/shell/pwsh-local/src/index.ts
# packages/shell/pwsh-local/tests/executor.spec.ts
# packages/shell/pwsh-sandbox/README.i18n.yaml
# packages/shell/pwsh-sandbox/README.md
# packages/shell/pwsh-sandbox/README.zh.md
# packages/shell/pwsh-sandbox/src/index.ts
# packages/shell/pwsh-sandbox/tests/sandbox.spec.ts
# packages/shell/shell/README.i18n.yaml
# packages/shell/shell/README.md
# packages/shell/shell/README.zh.md
# packages/shell/shell/src/index.ts
# packages/shell/shell/tests/service.spec.ts
# packages/shell/tool-bash/README.i18n.yaml
# packages/shell/tool-bash/src/index.ts
# packages/shell/tool-bash/tests/tools.spec.ts
# packages/shell/tool-pwsh/README.i18n.yaml
# packages/shell/tool-pwsh/src/index.ts
# packages/shell/tool-pwsh/tests/background.spec.ts
# packages/shell/tool-pwsh/tests/tools.spec.ts
# packages/workflow/tool-workflow/README.i18n.yaml
# packages/workflow/tool-workflow/package.json
# packages/workflow/tool-workflow/tests/tool-workflow.spec.ts
# snapshots/session/ptc-python-turn/system-prompt.expected.md
2026-09-17 16:48:06 +08:00
Yichen Jiang
6e41857b2e
Merge remote-tracking branch 'origin/master' into worktree/jobs-api-review-3052
...
# Conflicts:
# docs/event-producer-consumer.i18n.yaml
# docs/event-producer-consumer.md
# docs/event-producer-consumer.zh.md
# packages/api/remotes/src/client/index.ts
# packages/api/session-controller/README.i18n.yaml
# packages/api/session-controller/README.md
# packages/api/session-controller/README.zh.md
# packages/api/session-controller/src/client/sessions/manager.ts
# packages/api/session-controller/src/control.ts
# packages/api/session-controller/src/types.ts
# packages/api/session-controller/tests/client-apply.client.spec.ts
# packages/api/session-controller/tests/manager.client.spec.ts
# packages/api/session-controller/tests/projection-store.client.spec.ts
# packages/api/session-controller/tests/queue-store.client.spec.ts
# packages/api/session-controller/tests/sessions-service.client.spec.ts
# packages/api/session-controller/tests/transport.client.spec.ts
# packages/client/ui-jobs/package.json
# packages/client/ui-primitives/src/TerminalBlock.module.css
# packages/client/ui-primitives/src/TerminalBlock.tsx
# packages/client/ui-primitives/tests/terminal-block.client.spec.tsx
# packages/extensions/tool-cordis/src/api-catalog.ts
# packages/test-support/client-runtime/src/assembly/remote-default-responses.ts
2026-09-16 16:05:59 +08:00
Yichen Jiang
1596097147
Merge remote-tracking branch 'origin/master' into worktree/jobs-api-review-3052
...
# Conflicts:
# apps/web/tsconfig.json
# docs/event-producer-consumer.i18n.yaml
# docs/event-producer-consumer.md
# docs/event-producer-consumer.zh.md
# docs/module-graph.i18n.yaml
# docs/module-graph.md
# docs/module-graph.zh.md
# packages/api/remotes/package.json
# packages/api/remotes/src/client/index.ts
# packages/api/session-controller/tests/client-apply.client.spec.ts
# packages/api/session-controller/tests/control-jobs.host.spec.ts
# packages/api/session-controller/tests/fake-api.client.ts
# packages/api/session-controller/tests/manager.client.spec.ts
# packages/client/ui-jobs/package.json
# packages/extensions/cordis-client-runner/src/client/slot-catalog.ts
# packages/jobs/jobs-local/README.i18n.yaml
# packages/jobs/jobs-local/README.md
# packages/jobs/jobs-local/README.zh.md
# packages/jobs/jobs-local/src/index.ts
# packages/jobs/jobs-local/tests/jobs.spec.ts
# packages/jobs/tool-jobs/tests/tool-jobs.spec.ts
# packages/shell/shell/README.i18n.yaml
# packages/shell/shell/README.md
# packages/shell/shell/README.zh.md
# packages/shell/tool-bash/README.i18n.yaml
# packages/shell/tool-bash/README.md
# packages/shell/tool-bash/README.zh.md
# packages/shell/tool-bash/src/background.ts
# packages/shell/tool-bash/src/index.ts
# packages/shell/tool-pwsh/src/background.ts
# packages/shell/tool-pwsh/src/index.ts
2026-09-16 15:53:02 +08:00
creatixchu
ea53423b60
release(dsh): 0.1.6-alpha.1
2026-09-15 09:35:57 +08:00
Tianyi Cui
73e38e1758
fix(shell): include confinement preparation in foreground deadlines
2026-09-12 15:03:03 +08:00
Tianyi Cui
caa69608fb
refactor(sandbox): await cancellable preparation in process consumers
2026-09-12 15:03:02 +08:00
Tianyi Cui
d8efd4f8cd
feat(subprocess): carry a duplex control pipe through managed launches
2026-09-12 15:03:00 +08:00
Yichen Jiang
59f2e3be33
Merge release/dsh-0.1.5 version 0.1.5-rc.2 into master sync branch
2026-09-10 21:53:53 +08:00
Yichen Jiang
a305303422
release(dsh): 0.1.5-rc.2
2026-09-10 21:38:20 +08:00
Yichen Jiang
72e6329267
Merge branch 'worktree/jobs-api-review-3052' into worktree/jobs-api-review-3127
...
# Conflicts:
# packages/api/session-controller/README.i18n.yaml
# packages/api/session-controller/README.zh.md
# packages/shell/bash-sandbox/README.i18n.yaml
# packages/shell/bash-sandbox/README.zh.md
# packages/shell/pwsh-local/README.i18n.yaml
# packages/shell/pwsh-local/README.zh.md
# packages/shell/pwsh-sandbox/README.i18n.yaml
# packages/shell/pwsh-sandbox/README.zh.md
# packages/shell/shell/README.i18n.yaml
# packages/shell/shell/README.zh.md
# packages/shell/tool-bash/README.i18n.yaml
# packages/shell/tool-bash/README.zh.md
# packages/workflow/tool-workflow/README.i18n.yaml
# packages/workflow/tool-workflow/README.zh.md
2026-09-10 14:09:55 +08:00
Yichen Jiang
1bd194ac17
Merge remote-tracking branch 'origin/master' into worktree/jobs-api-review-3052
...
# Conflicts:
# docs/event-producer-consumer.i18n.yaml
# docs/event-producer-consumer.md
# packages/api/README.i18n.yaml
# packages/api/README.zh.md
# packages/api/remotes/src/client/index.ts
# packages/api/session-controller/README.i18n.yaml
# packages/api/session-controller/README.zh.md
# packages/client/README.i18n.yaml
# packages/client/README.zh.md
# packages/client/ui-jobs/README.i18n.yaml
# packages/client/ui-jobs/README.md
# packages/client/ui-jobs/README.zh.md
# packages/client/ui-jobs/package.json
# packages/jobs/jobs-local/README.i18n.yaml
# packages/jobs/jobs-local/README.md
# packages/jobs/jobs-local/README.zh.md
# packages/jobs/jobs/README.i18n.yaml
# packages/jobs/jobs/README.md
# packages/jobs/jobs/README.zh.md
# packages/jobs/tool-jobs/README.i18n.yaml
# packages/jobs/tool-jobs/README.zh.md
# packages/shell/bash-local/README.i18n.yaml
# packages/shell/bash-local/README.zh.md
# packages/shell/pwsh-local/README.i18n.yaml
# packages/shell/pwsh-local/README.zh.md
# packages/shell/shell/README.i18n.yaml
# packages/shell/shell/README.zh.md
# packages/shell/tool-pwsh/README.i18n.yaml
# packages/shell/tool-pwsh/README.zh.md
2026-09-10 14:06:59 +08:00
j-xiang
4ddf777ad8
Merge master into README proofreading branch
2026-09-10 10:42:13 +08:00
imccyu
1ef9c1fa9a
release(dsh): 0.1.5-rc.1
2026-09-10 09:13:14 +08:00
j-xiang
b5578ae46a
Merge master into README proofreading branch
2026-09-10 01:29:37 +08:00
j-xiang
8e8fb2fc62
docs(i18n): proofread bilingual README corpus
2026-09-10 00:21:32 +08:00
imccyu
dd393c1820
release(dsh): 0.1.5-alpha.2
2026-09-09 22:02:09 +08:00
Yichen Jiang
ab6dacc80e
Merge branch 'worktree/jobs-api-review-3052' into worktree/jobs-api-review-3127
...
# Conflicts:
# packages/shell/pwsh-local/tests/executor.spec.ts
# packages/shell/shell/README.i18n.yaml
# packages/shell/shell/README.md
# packages/shell/shell/README.zh.md
# packages/shell/tool-bash/README.i18n.yaml
# packages/shell/tool-bash/README.md
# packages/shell/tool-bash/README.zh.md
# packages/workflow/tool-workflow/README.i18n.yaml
# packages/workflow/tool-workflow/README.md
# packages/workflow/tool-workflow/README.zh.md
2026-09-09 14:44:14 +08:00
Yichen Jiang
b211c87150
Merge remote-tracking branch 'origin/master' into worktree/jobs-api-review-3052
...
# Conflicts:
# apps/web/tests/agent-preset-selection.e2e.ts
# apps/web/tests/expected/agent-preset-selection/header.expected.md
# docs/event-producer-consumer.i18n.yaml
# docs/event-producer-consumer.md
# docs/module-graph.i18n.yaml
# docs/module-graph.md
# docs/module-graph.zh.md
# docs/persistence-catalog.i18n.yaml
# docs/persistence-catalog.zh.md
# packages/api/session-controller/README.i18n.yaml
# packages/api/session-controller/README.md
# packages/api/session-controller/README.zh.md
# packages/api/session-controller/package.json
# packages/client/ui-jobs/package.json
# packages/jobs/jobs/README.i18n.yaml
# packages/jobs/jobs/README.md
# packages/jobs/jobs/README.zh.md
# pnpm-lock.yaml
2026-09-09 14:42:11 +08:00
imccyu
2faa751be9
release(dsh): 0.1.5-alpha.1
2026-09-08 23:06:34 +08:00
Yichen Jiang
29418faf62
fix(shell): settle a live handle's post-termination rejection as its outcome
...
The subprocess runtime rejects a handle's done with the cancellation reason
when it terminated the managed range before the target started, which the
Windows runner does whenever an abort or kill() races the launch. Both
executors filed that rejection as a provider failure, so result() re-threw
the caller's own AbortError instead of resolving the aborted or killed
classification. A live handle whose rejection follows this execution's own
kill() or spawn-signal abort now settles as that terminal outcome; a
synchronous spawn throw, which never produced a handle, stays a failure.
2026-09-08 14:45:41 +08:00
Yichen Jiang
80fa0bee05
Merge branch 'worktree/process-plugin-streaming-72f9b3' into worktree/job-kill-delivery
...
# Conflicts:
# packages/shell/bash-local/README.i18n.yaml
# packages/shell/bash-local/README.md
# packages/shell/bash-local/README.zh.md
# packages/shell/bash-local/src/index.ts
# packages/shell/bash-local/tests/executor.spec.ts
# packages/shell/pwsh-local/README.i18n.yaml
# packages/shell/pwsh-local/README.md
# packages/shell/pwsh-local/README.zh.md
# packages/shell/pwsh-local/src/index.ts
# packages/shell/shell/README.i18n.yaml
# packages/shell/shell/README.md
# packages/shell/shell/README.zh.md
# snapshots/session/pwsh-tool-turn/tool-schemas.expected.json
2026-09-08 13:52:08 +08:00
Yichen Jiang
1242fdfdef
Merge remote-tracking branch 'origin/master' into worktree/process-plugin-streaming-72f9b3
...
# Conflicts:
# docs/event-producer-consumer.i18n.yaml
# docs/event-producer-consumer.md
# docs/event-producer-consumer.zh.md
# docs/module-graph.i18n.yaml
# docs/module-graph.md
# docs/module-graph.zh.md
# docs/subsystems/shell.i18n.yaml
# docs/subsystems/shell.md
# docs/subsystems/shell.zh.md
# packages/api/remotes/package.json
# packages/api/remotes/src/client/index.ts
# packages/api/session-controller/src/control.ts
# packages/api/session-controller/tests/control-jobs.host.spec.ts
# packages/bundle/web-app/cordis.patch.yml
# packages/bundle/web-app/package.json
# packages/client/ui-chat/src/client/details/DetailsPanel.tsx
# packages/client/ui-chat/src/client/details/tool-node-reader.ts
# packages/client/ui-chat/tests/gate-branch-tails.client.spec.tsx
# packages/client/ui-jobs/package.json
# packages/client/ui-tool/tests/diff-card.client.spec.tsx
# packages/client/ui-tool/tests/read-card.client.spec.tsx
# packages/client/ui-tool/tests/search-card.client.spec.tsx
# packages/client/ui-tool/tests/terminal-card.client.spec.tsx
# packages/client/ui-tool/tests/web-card.client.spec.tsx
# packages/shell/bash-local/README.i18n.yaml
# packages/shell/bash-local/README.md
# packages/shell/bash-local/README.zh.md
# packages/shell/bash-local/src/index.ts
# packages/shell/bash-local/tests/executor.spec.ts
# packages/shell/pwsh-local/README.i18n.yaml
# packages/shell/pwsh-local/README.md
# packages/shell/pwsh-local/README.zh.md
# packages/shell/pwsh-local/src/index.ts
# packages/shell/shell/README.i18n.yaml
# packages/shell/shell/README.md
# packages/shell/shell/README.zh.md
# packages/shell/shell/src/types.ts
# packages/terminal/tool-terminal/tests/tools.spec.ts
# tsconfig.client.json
2026-09-08 13:34:53 +08:00
Yichen Jiang
e379fa8bdd
release(dsh): 0.1.3-alpha.2
2026-09-07 19:27:06 +08:00
pku-xht
e9f1b6c53e
Merge remote-tracking branch 'origin/master' into codex/subprocess-native-containment
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-07-16-explicit-turn-cancellation.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-16-explicit-turn-cancellation.md
# .agents/notes/implemented/architecture/2026-07-16-explicit-turn-cancellation.zh.md
# .agents/notes/implemented/architecture/2026-09-05-canonical-feedback-log.i18n.yaml
# .agents/notes/implemented/architecture/2026-09-05-nonofficial-feedback-otel.i18n.yaml
# .agents/notes/implemented/architecture/2026-09-06-embedded-stream-record-readers.i18n.yaml
# .agents/notes/implemented/bug-fix/2026-09-03-normalized-unread-fs-tool-diagnostic.i18n.yaml
# .agents/notes/implemented/bug-fix/2026-09-06-windows-python-console-spawn-wait.i18n.yaml
# .agents/notes/implemented/feature/2026-08-26-generic-file-upload.i18n.yaml
# .agents/notes/implemented/feature/2026-09-07-model-switch-notice.i18n.yaml
# .agents/notes/implemented/process/2026-09-03-semantic-issue-templates-and-policy.i18n.yaml
# packages/shell/bash-local/tests/executor.spec.ts
# packages/subprocess/subprocess-local/README.i18n.yaml
# packages/subprocess/subprocess-local/README.md
# packages/subprocess/subprocess-local/README.zh.md
# packages/subprocess/subprocess-local/src/spawn.ts
# packages/subprocess/subprocess-local/tests/spawn.spec.ts
# packages/subprocess/win32-process/package.json
2026-09-07 17:43:45 +08:00
Yichen Jiang
206e5c6545
Merge branch 'worktree/process-plugin-streaming-72f9b3' into worktree/job-kill-delivery
...
# Conflicts:
# apps/web/tests/background-job-list.e2e.ts
# docs/config-catalog.i18n.yaml
# docs/config-catalog.zh.md
# packages/api/job-controller/README.i18n.yaml
# packages/api/job-controller/README.md
# packages/api/job-controller/README.zh.md
# packages/api/session-controller/README.i18n.yaml
# packages/api/session-controller/README.md
# packages/api/session-controller/README.zh.md
2026-09-05 14:06:00 +08:00
Yichen Jiang
e001a9d2e4
Merge remote-tracking branch 'origin/master' into worktree/process-plugin-streaming-72f9b3
...
# Conflicts:
# packages/client/ui-jobs/package.json
2026-09-04 17:33:19 +08:00
Yichen Jiang
ed67c22496
release(dsh): 0.1.3-alpha.1
2026-09-04 15:38:55 +08:00
Yichen Jiang
a444460ad4
fix(shell): never offer cancelled work from the offer arm
...
The offer arm relayed the caller signal only through an abort listener, which a signal that was already aborted never fires, so a command cancelled before execute() spawned anyway, ran to its deadline, and was offered for promotion. The deadline callback also offered regardless of an earlier caller abort, so a process still in its termination grace could be promoted after the tool call was aborted. Both providers now relay an already-aborted signal immediately and settle the promotion undefined at the deadline once the caller aborted; the seam JSDoc states that an already-aborted signal counts as fired. Real-process and hanging-backend cases cover both providers.
2026-09-04 14:03:24 +08:00
Yichen Jiang
ca3d9af0a7
Merge remote-tracking branch 'origin/worktree/process-plugin-streaming-72f9b3' into worktree/job-kill-delivery
...
# Conflicts:
# packages/shell/bash-sandbox/tests/sandbox.spec.ts
# packages/shell/pwsh-local/tests/executor.spec.ts
2026-09-04 13:42:20 +08:00
Yichen Jiang
7e5627f8e3
Merge remote-tracking branch 'origin/master' into worktree/process-plugin-streaming-72f9b3
2026-09-04 13:39:42 +08:00
Yichen Jiang
42858723a6
Merge remote-tracking branch 'origin/worktree/process-plugin-streaming-72f9b3' into worktree/job-kill-delivery
...
# Conflicts:
# packages/api/job-controller/README.i18n.yaml
# packages/api/job-controller/README.md
# packages/api/job-controller/README.zh.md
# packages/api/session-controller/README.i18n.yaml
# packages/api/session-controller/README.md
# packages/api/session-controller/README.zh.md
# packages/shell/bash-local/src/index.ts
# packages/shell/pwsh-local/src/index.ts
# packages/shell/tool-bash/src/background.ts
# packages/shell/tool-bash/tests/tools.spec.ts
# packages/shell/tool-pwsh/src/background.ts
# packages/shell/tool-pwsh/tests/background.spec.ts
# snapshots/web/approval-composer/session.v2.jsonl
# snapshots/web/feedback-command/session.v2.jsonl
# snapshots/web/fresh-round-trip/session.v2.jsonl
# snapshots/web/goal-multi-turn-actions/session.jsonl
# snapshots/web/lifecycle-chrome/session.v2.jsonl
# snapshots/web/live-interactions/session.v2.jsonl
# snapshots/web/minimal-preset/session.v2.jsonl
# snapshots/web/permission-policy-context/session.v2.jsonl
# snapshots/web/plan-review/session.jsonl
# snapshots/web/ptc-round/session.v2.jsonl
# snapshots/web/question-composer/session.v2.jsonl
# snapshots/web/steering/session.v2.jsonl
# snapshots/web/turn-tail-actions/session.v2.jsonl
# snapshots/web/web-search-round/session.v2.jsonl
2026-09-04 13:27:34 +08:00
Yichen Jiang
3a03d68891
fix(shell): serve a background spawn failure on the observed stderr stream
...
A rejected background spawn produces no process output, so the observed stderr reader the job registry pumps was empty and the model's job_output after such a failure showed only killed before exit, where master's consuming read rendered [stderr] followed by spawn failed: … with the cause. The local providers now serve the note as the whole observed stderr stream once the spawn rejected, and the consuming read still folds it in exactly once, so the model's first read after the failure is byte-identical to master's. ShellProcess.observed and both of its readers are required: every background process exposes offset readers, and the shell tools' pull sources no longer carry a no-readers branch.
2026-09-04 12:59:41 +08:00
pku-xht
d79f5c04e8
Merge master into codex/subprocess-native-containment
2026-09-03 21:46:02 +08:00