Tianyi Cui
d5302e33f8
refactor(session): separate attachment carrier policy from V4 migration
...
The event-type allowlist and opaque-payload attachment policy change live
Session authorization/export behavior independently of a format upgrade.
They belong in a focused PR against master, where supported native V3 nested
tool-result content must also be handled deliberately.
Restore the session-controller and archive implementation, tests and README
pairs to this layer's parent. Remove the test-only session-format-catalog
dependency and its lock entry with the migration-specific attachment tests.
The original changes are captured from immutable commit 85737364be9 for the
standalone work; migration identifier conversion and reader checks are intact.
This extraction keeps the integration stack's existing attachment behavior
until the separate policy change is reviewed. It makes no Session-format,
schema or version change.
2026-09-19 15:43:10 +08:00
Tianyi Cui
bf29247fad
fix(session): namespace historical V3 extensions with plugin prefixes
...
V3 permits external event, source and content identities and additional
request-tool fields. Copying those values into V4 can give an old plugin
named tool a core source identity, turn old tool-addition content into a
registry instruction, or activate formerly ignored deferLoading and delivery
metadata. Rejecting such collisions would instead refuse valid source logs.
Keep historical extensions in the existing extensible JSON representation.
Prefix unknown content and ignorable event tags with plugin:, preserving
all other content fields and opaque event payloads. Prefix external source
identities with plugin:plugin: or plugin:source: so wrapper and direct kinds
cannot collide even when original names already contain a category prefix.
Known first-party mappings remain explicit and unchanged.
Prefix extra request-tool field names and block-start field names with
plugin:, retaining exact values and existing-prefix doubling. Core schema
parameters, arguments, replay state and nested plugin data are not traversed.
Keep future-generation delivery records inactive after header promotion.
Pin the V3 event vocabulary independently of the current writer and provide
an offline verifier against an explicitly selected historical source commit.
Attachment authorization and export inspect declared event content only.
Team checkpoints preserve all own keys of unknown JSON blocks while still
rejecting malformed known content and retired core tool-result blocks.
Exercise physical read/write/reopen, prefix injectivity, own __proto__ keys,
provider opacity and retained source-identity snapshots.
No generic extension block, metadata wrapper or new schema-tooling type is
introduced. V4 type declarations, persistence schema, checkpoint and frozen
V0-V3 codecs remain unchanged. Canonical tool-result lifting and incomplete
child-catalog policy remain separate concerns.
Adapted from the extension-preservation work in 7ba7e174dd1 by Tianyi Cui.
Co-authored-by: Tianyi Cui <[email protected] >
2026-09-19 15:43:09 +08:00
creatixchu
6b1808f432
release(dsh): 0.1.6-alpha.2
2026-09-17 21:11:19 +08:00
creatixchu
ea53423b60
release(dsh): 0.1.6-alpha.1
2026-09-15 09:35:57 +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
imccyu
d58c5455dd
test(api): migrate Session and Workspace specs to assembled clients
2026-09-10 16:34:30 +08:00
imccyu
48d83eca66
refactor(client): share boot and transport integration points
2026-09-10 16:34:28 +08:00
imccyu
1ef9c1fa9a
release(dsh): 0.1.5-rc.1
2026-09-10 09:13:14 +08:00
imccyu
dd393c1820
release(dsh): 0.1.5-alpha.2
2026-09-09 22:02:09 +08:00
imccyu
2faa751be9
release(dsh): 0.1.5-alpha.1
2026-09-08 23:06:34 +08:00
_Kerman
3f1f7da7c3
Merge origin/master into fix/session-prose-local-media-display
2026-09-08 14:25:21 +08:00
_Kerman
b52966922a
fix(api): serve bounded files through the filesystem provider
2026-09-08 12:06:11 +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
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
Dudu-0223
96ead6091d
feat(subagent): align human inbox controls ( #3223 )
...
* feat(subagent): align continuable human inbox controls
* fix: repair rebase documentation and close test persistence
* docs: refresh rebased module dependency graph
2026-09-07 07:39:39 +00:00
Yichen Jiang
14befe7ff7
Merge branch 'master' into release/dsh-0.1.3-alpha.1
2026-09-04 16:16:15 +08:00
Yichen Jiang
ed67c22496
release(dsh): 0.1.3-alpha.1
2026-09-04 15:38:55 +08:00
_Kerman
891f07a2d0
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
# docs/module-graph.i18n.yaml
# docs/module-graph.md
# docs/module-graph.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/tests/session-projections.host.spec.ts
# packages/bundle/headless/tests/headless.spec.ts
# packages/core/agent-loop/README.i18n.yaml
# packages/core/agent-loop/README.md
# packages/core/agent-loop/README.zh.md
# packages/core/agent/src/runtime-types.ts
# packages/fs/tool-str-replace-editor/tests/tools.spec.ts
# packages/llm/llm-retry/tests/retry.spec.ts
# packages/llm/llm-retry/tests/transport-recovery.spec.ts
# packages/shell/tool-bash-persistent/tests/loader-composition.spec.ts
# packages/shell/tool-bash-persistent/tests/tools.spec.ts
# packages/shell/tool-pwsh-persistent/tests/loader-composition.spec.ts
# packages/shell/tool-pwsh-persistent/tests/tools.spec.ts
# packages/terminal/terminal-bash/tests/index.spec.ts
# packages/test-support/agent-loop-testkit/package.json
2026-09-04 12:18:37 +08:00
creatixchu
8fc9a11c5e
refactor(attachment): isolate file upload service
2026-09-03 16:10:24 +08:00
creatixchu
b8512fa5e5
Merge remote-tracking branch 'origin/master' into worktree/2984-generic-file-upload
2026-09-03 13:53:47 +08:00
creatixchu
bbb2ca7c9b
refactor(client): extract background file upload service
2026-09-03 13:53:25 +08:00
imccyu
a66e470204
release(dsh): 0.1.2-rc.1
2026-09-03 02:27:19 +08:00
imccyu
db6bdc3576
release(dsh): 0.1.2-alpha.5
2026-09-02 15:48:33 +08:00
creatixchu
3b9ac476fb
Merge remote-tracking branch 'origin/master' into worktree/2984-generic-file-upload
...
# Conflicts:
# docs/config-catalog.i18n.yaml
# docs/config-catalog.md
# 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/persistence-catalog.i18n.yaml
# docs/persistence-catalog.md
# docs/persistence-catalog.zh.md
# packages/api/session-controller/src/commands.ts
# packages/api/session-controller/src/index.ts
# packages/api/session-controller/tests/client-contract.client.spec.ts
# packages/api/session-controller/tests/session-pending-submissions.client.spec.ts
# packages/client/ui-attachment/src/AttachmentRail.module.css
# packages/client/ui-chat/src/client/chat/MessageItem.tsx
# packages/client/ui-conversation/src/client/skeleton/InputBar.tsx
# packages/client/ui-trajectory/README.i18n.yaml
# packages/client/ui-trajectory/README.md
# packages/client/ui-trajectory/README.zh.md
# packages/extensions/cordis-client-runner/src/client/api-catalog.ts
# packages/llm/token-meter/src/surface-fold.ts
# packages/session-query/session-log-export/src/archive.ts
# packages/session-query/session-log-export/tests/archive.host.spec.ts
2026-09-02 10:29:53 +08:00
_Kerman
3c9410904e
Merge remote-tracking branch 'origin/master' into xtr/durable-inbox-recovery
...
# Conflicts:
# docs/event-producer-consumer.i18n.yaml
# docs/event-producer-consumer.md
# docs/event-producer-consumer.zh.md
# packages/api/session-controller/tests/session-projections.host.spec.ts
# packages/core/agent-loop/src/index.ts
# packages/experimental/agent-team/tests/persistence.spec.ts
# packages/experimental/agent-team/tests/team.spec.ts
# packages/session-query/session-query/tests/observation.spec.ts
# packages/test-support/agent-loop-testkit/package.json
2026-09-02 10:26:43 +08:00
imccyu
a9e185f205
release(dsh): 0.1.2-alpha.4
2026-09-01 23:19:57 +08:00
creatixchu
8a0ff3aff8
feat(session-controller): admit files across command flows
2026-09-01 16:11:43 +08:00
_Kerman
1eebb7c312
Merge remote-tracking branch 'origin/master' into xtr/durable-inbox-recovery
...
# Conflicts:
# docs/module-graph.i18n.yaml
# docs/module-graph.md
# docs/module-graph.zh.md
# packages/bundle/headless/package.json
# packages/compaction/compaction-basic/tests/manual-compaction.spec.ts
# packages/shell/tool-bash-persistent/package.json
# packages/shell/tool-pwsh-persistent/package.json
# packages/skill/tool-skill/package.json
# packages/subagent/subagent/tests/continuation-inheritance.spec.ts
# packages/subagent/tool-subagent-report/tests/tool-subagent-report.spec.ts
# packages/terminal/terminal-bash/package.json
# packages/terminal/tool-terminal/package.json
# packages/test-support/agent-loop-testkit/README.i18n.yaml
# packages/test-support/agent-loop-testkit/README.md
# packages/test-support/agent-loop-testkit/README.zh.md
# packages/test-support/agent-loop-testkit/package.json
# packages/test-support/agent-loop-testkit/tsconfig.json
# pnpm-lock.yaml
2026-09-01 14:25:18 +08:00
Turtle
d68ff7e66f
Merge remote-tracking branch 'origin/master' into turtle/omit-unneeded-invariants
...
# Conflicts:
# docs/module-graph.i18n.yaml
# docs/module-graph.md
# docs/module-graph.zh.md
# packages/session/session-projection/src/invariant.ts
# tsconfig.base.json
2026-09-01 11:18:11 +08:00
_Kerman
9699772fff
Merge remote-tracking branch 'origin/master' into xtr/durable-inbox-recovery
...
# Conflicts:
# packages/api/session-controller/README.i18n.yaml
# packages/api/session-controller/README.md
# packages/api/session-controller/README.zh.md
# packages/context/agent-instructions/tests/agent-instructions.spec.ts
# packages/core/agent-loop/tests/contract-regressions.spec.ts
# packages/core/agent/src/inbox.ts
# packages/core/agent/tests/agent.spec.ts
# packages/test-support/agent-loop-testkit/package.json
2026-09-01 11:02:30 +08:00
imccyu
14bab4422b
release(dsh): 0.1.2-alpha.3
2026-08-31 23:39:37 +08:00
Turtle
b8e3b32fcf
Merge master into codex/omit-unneeded-invariants
2026-08-31 14:38:55 +08:00
_Kerman
700d5407fb
Merge remote-tracking branch 'origin/master' into xtr/durable-inbox-recovery
...
# Conflicts:
# docs/config-catalog.i18n.yaml
# docs/config-catalog.md
# docs/config-catalog.zh.md
# 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/session-controller/src/control.ts
# packages/context/agent-instructions/tests/agent-instructions.spec.ts
# packages/test-support/agent-loop-testkit/package.json
2026-08-31 13:37:55 +08:00
_Kerman
2aeb9920ee
test(agent-loop): remove duplicated Inbox fixture
2026-08-31 13:37:23 +08:00
_Kerman
b9b2a37528
Merge remote-tracking branch 'origin/master' into xtr/durable-inbox-recovery
...
# Conflicts:
# apps/cli/tests/fixtures/dsh-badge/snapshot.ts
# docs/config-catalog.i18n.yaml
# docs/config-catalog.md
# docs/config-catalog.zh.md
# 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/persistence-catalog.i18n.yaml
# docs/persistence-catalog.md
# docs/persistence-catalog.zh.md
# packages/api/session-controller/tests/session-projections.host.spec.ts
# packages/context/agent-instructions/tests/agent-instructions.e2e.ts
# packages/context/agent-instructions/tests/agent-instructions.spec.ts
# packages/context/tmux-context/tests/tmux-context.spec.ts
# packages/core/agent-loop/package.json
# packages/core/agent-loop/src/agent.ts
# packages/core/agent-loop/src/index.ts
# packages/core/agent/src/index.ts
# packages/core/agent/src/types.ts
# packages/goal/goal/tests/goal.spec.ts
# packages/goal/tool-goal/package.json
# packages/llm/llm-retry/tests/retry.spec.ts
# packages/session-query/session-query/tests/observation.spec.ts
# packages/shell/tool-pwsh-persistent/tests/loader-composition.spec.ts
# packages/test-support/agent-loop-testkit/package.json
# packages/workflow/workflow-worker-thread/tests/workflow-worker-thread.e2e.ts
# pnpm-lock.yaml
2026-08-31 13:37:06 +08:00
_Kerman
1101422362
refactor(agent): keep concrete inbox loop-internal
2026-08-31 13:36:49 +08:00
imccyu
3f1b46a5db
release(dsh): 0.1.2-alpha.2
2026-08-30 21:19:29 +08:00
imccyu
b27c8fbc02
chore(deps): refresh package manifests
2026-08-30 02:29:53 +08:00
Dudu-0223
112daedd54
Merge origin/master into perf/3270-linear-stream-queues
2026-08-29 18:59:23 +08:00
imccyu
804b1ffbfc
refactor(api): converge the Remote failure vocabulary and client surface
...
Single RemoteError with a merge-extensible, domain-prefixed code map;
owners throw at the failure point; streams surface marked failures;
clients consume ctx.remote directly with isRemoteFailure as the only
discrimination point and construct no failure instances.
2026-08-28 22:37:36 +08:00
Dudu-0223
51a6eabb27
perf(api): replace shift-backed stream queues
2026-08-28 17:37:03 +08:00
Turtle
15f2997bcb
cleanup: omit unneeded invariant companions
2026-08-28 13:12:52 +08:00
_Kerman
25b0c943ce
Merge remote-tracking branch 'github/master' into xtr/session-projection-migrations
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-08-04-draft-provider-endpoint-interrogation.i18n.yaml
# .agents/notes/implemented/architecture/2026-08-04-draft-provider-endpoint-interrogation.md
# .agents/notes/implemented/architecture/2026-08-04-draft-provider-endpoint-interrogation.zh.md
# .agents/notes/implemented/feature/2026-08-06-continuable-subagent-interrupt.i18n.yaml
# .agents/notes/implemented/feature/2026-08-06-continuable-subagent-interrupt.md
# .agents/notes/implemented/feature/2026-08-06-continuable-subagent-interrupt.zh.md
# .agents/notes/implemented/process/2026-07-20-gui-testing-system.i18n.yaml
# .agents/notes/implemented/process/2026-07-20-gui-testing-system.md
# .agents/notes/implemented/process/2026-07-20-gui-testing-system.zh.md
2026-08-28 10:59:30 +08:00
imccyu
6c705be1ce
release(dsh): 0.1.2-alpha.1
2026-08-28 00:50:12 +08:00
_Kerman
13c1541c63
Merge remote-tracking branch 'github/master' into xtr/session-projection-migrations
...
# Conflicts:
# docs/module-graph.i18n.yaml
# docs/module-graph.md
# docs/module-graph.zh.md
# pnpm-lock.yaml
2026-08-27 23:18:55 +08:00
imccyu
2d4393d842
refactor(api): expose remaining domain remotes
2026-08-27 21:57:55 +08:00
_Kerman
cf06f10229
test(session-controller): cover cold host-only projection cache
2026-08-26 11:32:19 +08:00
imccyu
822d735356
feat(session): persist model selection and share its catalog
2026-08-25 06:07:42 +08:00