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
Yichen Jiang
11d6bd05f3
feat(web): preview file and skill references in the sidebar
2026-09-10 11:31:27 +08:00
_Kerman
eb0a666415
Merge remote-tracking branch 'origin/master' into dshw/pr-deepseek-harness-deepseek-harness-3828
...
# Conflicts:
# docs/config-catalog.i18n.yaml
# docs/subsystems/session.i18n.yaml
# packages/core/session/README.i18n.yaml
2026-09-10 11:19:25 +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
e14b8795a9
docs(i18n): fix targeted README review findings
2026-09-10 03:04:19 +08:00
j-xiang
267e8b933b
docs(i18n): address README review feedback
2026-09-10 02:03:18 +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
_Kerman
813ad965f9
fix(web): preserve newer projections across control baselines
2026-09-09 17:39:26 +08:00
_Kerman
aeb13413c7
test(agent): complete awaited creation migration
2026-09-09 17:14:53 +08:00
_Kerman
9cd0c703df
fix(web): invalidate projections before opening control snapshots
2026-09-09 17:06:57 +08:00
_Kerman
f3332af2a4
fix(web): discard projection state across host generations
2026-09-09 16:28:03 +08:00
_Kerman
9b7a8ccc9f
feat(agent): await initialization through agent/created
2026-09-09 16:20:00 +08:00
yudshj
4158a96e14
feat(web): add native file actions to artifact cards
2026-09-09 15:26:28 +08:00
_Kerman
72f2e71070
fix(web): reconcile durable inbox recovery with master
2026-09-09 15:14:08 +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
_Kerman
cb999713d1
Merge latest master into xtr/durable-inbox-web-recovery
2026-09-09 14:31:52 +08:00
_Kerman
8f986c8da6
chore(session): scope history reader exemptions to tests
2026-09-09 12:55:32 +08:00
_Kerman
37abcb74c5
chore(session): permit existing deprecated history reads
2026-09-09 12:33:53 +08:00
imccyu
2faa751be9
release(dsh): 0.1.5-alpha.1
2026-09-08 23:06:34 +08:00
Tianyi Cui
0aa1ef0d1e
Merge remote-tracking branch 'origin/release/session-log-v3' into integrate/v3-master-refresh-345248
2026-09-08 21:23:29 +08:00
Tianyi Cui
e11b2a5558
merge: refresh session-log-v3 from master 345248f470
2026-09-08 21:15:06 +08:00
_Kerman
3e0e419bd2
Merge remote-tracking branch 'origin/master' into xtr/explicit-agent-context
...
# Conflicts:
# apps/web/tests/queue-actions.e2e.ts
# docs/subsystems/tools.i18n.yaml
# docs/subsystems/tools.md
# docs/subsystems/tools.zh.md
# packages/extensions/tool-cordis/src/api-catalog.ts
# packages/visualizer/tool-visualizer/README.i18n.yaml
# packages/visualizer/tool-visualizer/README.md
# packages/visualizer/tool-visualizer/README.zh.md
# packages/visualizer/tool-visualizer/src/index.ts
# packages/visualizer/tool-visualizer/tests/loader-composition.spec.ts
# packages/visualizer/tool-visualizer/tests/model-surface.spec.ts
2026-09-08 19:54:59 +08:00
_Kerman
314ccf08af
Merge remote-tracking branch 'origin/master' into xtr/explicit-agent-context
...
# Conflicts:
# packages/bundle/headless/tests/headless.spec.ts
# packages/core/agent-loop/src/agent.ts
# packages/subagent/subagent/tests/continuation.spec.ts
2026-09-08 17:12:51 +08:00
Tianyi Cui
657e68186a
fix(session): canonicalize V3 envelopes through adjacent migration
2026-09-08 16:56:52 +08:00
_Kerman
cb3df20cf3
docs(api): remove obsolete media path restrictions
2026-09-08 14:25:50 +08:00
_Kerman
3f1f7da7c3
Merge origin/master into fix/session-prose-local-media-display
2026-09-08 14:25:21 +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
Tianyi Cui
96fa1dfac8
Merge pinned master 84bde6c7 into V3 readiness repair
2026-09-08 13:16:35 +08:00
_Kerman
40c5ef4fc3
refactor(api): reuse attachment limits for file responses
2026-09-08 12:55:57 +08:00
_Kerman
b52966922a
fix(api): serve bounded files through the filesystem provider
2026-09-08 12:06:11 +08:00
Turtle
a56619d9f7
fix(session): reject empty queue edits
2026-09-08 10:48:32 +08:00
Turtle
ae19d9383b
fix(session-controller): reject empty prompts
2026-09-08 10:47:36 +08:00
Tianyi Cui
5b039c1796
Merge master 822041865d into Session V3 release
2026-09-08 00:17:14 +08:00
_Kerman
dbb9db5f34
docs(session-controller): refresh translation pairing record
2026-09-07 21:05:29 +08:00
_Kerman
68643a07f9
docs(session-controller): unwrap zh readme paragraph
2026-09-07 20:52:09 +08:00
_Kerman
0348599f04
Merge remote-tracking branch 'origin/master' into dshw/pr-deepseek-harness-deepseek-harness-2672
...
# Conflicts:
# docs/event-producer-consumer.i18n.yaml
# docs/event-producer-consumer.md
# docs/event-producer-consumer.zh.md
# packages/acp/acp/tests/harness.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/tests/commands-queue-attachment.host.spec.ts
# packages/context/agent-instructions/tests/agent-instructions.e2e.ts
# packages/fs/tool-fs/tests/harness.ts
# packages/preset/agent-presets/tests/invariant.spec.ts
# packages/preset/agent-presets/tests/mount.spec.ts
# packages/preset/agent-presets/tests/remote.spec.ts
# packages/test-support/agent-loop-testkit/package.json
2026-09-07 20:22:24 +08:00
Yichen Jiang
e379fa8bdd
release(dsh): 0.1.3-alpha.2
2026-09-07 19:27:06 +08:00
_Kerman
67c5136c7e
fix(api): refuse non-regular files before open and bound full streams
...
- A media-named FIFO or device node is refused before the open would
block on it (pre-open isFile check); POSIX FIFO regression test added.
- The full-body stream is bounded to the stat'ed size so concurrent
appends cannot exceed the declared Content-Length.
- Error responses carry no body for HEAD requests.
- Docs no longer overclaim the replacement race: the stat-identity
comparison narrows (does not fully close) the replacement window, and
the earlier realpath-to-stat window is acknowledged. Pairs re-recorded.
2026-09-07 18:04:07 +08:00
_Kerman
ba4a536030
fix(api): honor only bytes ranges and ignore malformed or multi-range headers
...
range-parser never validates the range unit, so /api/file now parses only
headers that start with the bytes unit: unsatisfiable ranges answer 416,
while malformed, unknown-unit, and multi-range headers are ignored for a
full 200 body per RFC 9110. The filesystem-root workspace case stays
POSIX-only in tests (a Windows drive-root spelling cannot be constructed
portably); containment already treats any separator-terminated root the
same. Docs (README pair, Agent Note pair) re-recorded.
2026-09-07 18:01:29 +08:00
_Kerman
8b8a051c7a
fix(api): address /api/file review findings
...
- HEAD never opens a file stream; GET streams are destroyed on client
abort and are never opened for already-aborted requests.
- Validation and reading bind to the same opened file: pre-open and
opened stat identities are compared, so replacement/re-linking races
are refused (dev/ino check, read through the FileHandle).
- Workspace containment compares path components, so a filesystem-root
workspace serves files instead of doubling the separator.
- Multi-range headers are ignored for a full 200 body instead of a
mislabeled single-segment 206; single-range behavior unchanged.
- Tests now cover the reviewed edges (empty path, multi-range, root
workspace, HEAD+range, mid/early abort, unreadable file, explicit
unregister-on-dispose, private outside-target directories); module
coverage is back at 100/100/100/100.
- Agent Note bilingual facts and the ui-primitives/session-controller
README pairs are synced to the shipped behavior (pairs re-recorded).
2026-09-07 17:27:57 +08:00
_Kerman
1780d0d355
Merge remote-tracking branch 'origin/master' into xtr/explicit-agent-context
2026-09-07 17:25:46 +08:00
_Kerman
4b009e7f94
refactor(api): shrink media-references surface and reuse maintained libs
...
- /api/file module now exports only the SessionMediaReferences plugin
contribution; MIME and range policy helpers are module-private and
exercised entirely through the registered route.
- Replace the hand-rolled media extension table with mime-types (served
categories image/video/audio, excluding image/svg+xml) and the
hand-rolled Range parser with range-parser; keep the fail-closed
workspace containment policy.
- Spec rewritten as route-level behavior tests (12 cases) covering the
same branches; Agent Note facts updated in the same change.
2026-09-07 16:35:15 +08:00
_Kerman
f81c5072bd
fix(api): close coverage edges in media-references route
2026-09-07 16:20:10 +08:00
_Kerman
b685a9a6b0
fix(api): satisfy oxlint same-type operand rule in range header
2026-09-07 16:02:14 +08:00
_Kerman
7a715e7919
refactor(api): serve /api/file media by extension allowlist only
...
Drop the byte-signature sniff duplicated from fs/tool-fs's read_image tool:
the cross-file duplication gate forbids the clone, and no shared owner
exists without widening the attachment package's public API. The
extension allowlist keeps non-media content out; corrupt image payloads
fail in the browser, not on the route. Agent Note facts updated in the
same change.
2026-09-07 15:53:54 +08:00