Commit Graph

1310 Commits

Author SHA1 Message Date
Yichen Jiang
94f4183afd Merge remote-tracking branch 'origin/master' into worktree/web-theme-settings-integration-fde706 2026-08-10 17:05:18 +08:00
Yichen Jiang
8ae1a9d6a8 Merge remote-tracking branch 'origin/master' into fix/preset-host-plane-task-registry 2026-08-10 16:53:03 +08:00
Yichen Jiang
be7bf24169 Merge remote-tracking branch 'origin/master' into fix/preset-host-plane-task-registry 2026-08-10 16:45:13 +08:00
Yichen Jiang
2e55964865 Merge remote-tracking branch 'origin/master' into worktree/web-theme-settings-integration-fde706 2026-08-10 16:37:14 +08:00
Yichen Jiang
76feeece55 test(web): pin the assembled snapshot lane's locale through the browser
The assembled Web snapshot lane selected its locale with a `dsh.locale`
localStorage key. That key stopped selecting anything once the locale
preference moved to the Host settings document, so the image-display
scenario's Chinese expectations met the English default and failed.

Pin the navigator languages the boot env already documents, and state the
image-display expectations in the lane's English copy — the fixture session
title stays Chinese because it is fixture data, not product copy.
2026-08-10 16:37:01 +08:00
Turtle
a27efdef36 docs: make technical prose concrete 2026-08-10 16:34:20 +08:00
Turtle
8dc91d2c00 fix(feedback): report shared anonymous user id 2026-08-10 16:23:05 +08:00
Yichen Jiang
109059429a Merge remote-tracking branch 'origin/master' into fix/preset-host-plane-task-registry 2026-08-10 16:17:44 +08:00
Yichen Jiang
6458910342 Merge remote-tracking branch 'origin/master' into worktree/web-theme-settings-integration-fde706 2026-08-10 16:03:33 +08:00
CreatixChu
a44009ec35 Merge pull request #1864 from deepseek-harness/worktree/drop-create-by-name
refactor: drop the create-by-name workspace route
2026-08-10 16:01:17 +08:00
Yichen Jiang
48fe8544ed Merge remote-tracking branch 'origin/master' into worktree/web-theme-settings-integration-fde706 2026-08-10 15:59:39 +08:00
Yichen Jiang
ac9c39c4c7 Merge remote-tracking branch 'origin/master' into worktree/web-theme-settings-integration-fde706
# Conflicts:
#	docs/module-graph.i18n.yaml
#	docs/module-graph.md
#	docs/module-graph.zh.md
#	packages/client/ui-conversation/package.json
#	pnpm-lock.yaml
2026-08-10 15:58:52 +08:00
creatixchu
069f97497a Merge remote-tracking branch 'origin/master' into worktree/remove-interjection-caption
# Conflicts:
#	packages/client/ui-conversation/src/client/chat/MessageItem.module.css
#	packages/client/ui-conversation/src/client/chat/MessageItem.tsx
2026-08-10 15:50:39 +08:00
creatixchu
73527c47bd Merge remote-tracking branch 'origin/master' into worktree/drop-create-by-name 2026-08-10 15:49:49 +08:00
creatixchu
a832fc2fa5 Merge remote-tracking branch 'origin/master' into worktree/drop-create-by-name
# Conflicts:
#	.agents/notes/implemented/feature/2026-07-25-session-list-browsing-and-manual-order.i18n.yaml
#	.agents/notes/implemented/feature/2026-07-25-workspace-ui-product-flow.i18n.yaml
#	.agents/notes/implemented/feature/2026-07-25-workspace-ui-product-flow.zh.md
#	.agents/notes/implemented/simplification/2026-07-31-one-route-to-add-a-workspace.i18n.yaml
#	.agents/notes/implemented/simplification/2026-07-31-one-route-to-add-a-workspace.md
#	.agents/notes/implemented/simplification/2026-07-31-one-route-to-add-a-workspace.zh.md
#	apps/cli/reference/README.i18n.yaml
#	docs/config-catalog.md
#	packages/host/apiproxy/README.i18n.yaml
#	packages/host/apiproxy/README.md
#	packages/host/apiproxy/README.zh.md
#	packages/host/apiproxy/src/api-proxy.ts
#	packages/host/apiproxy/src/index.ts
#	packages/host/apiproxy/tests/api-proxy-approval.spec.ts
#	packages/host/apiproxy/tests/api-proxy-blank.spec.ts
#	packages/host/apiproxy/tests/api-proxy-cold.spec.ts
#	packages/host/apiproxy/tests/api-proxy-commands.spec.ts
#	packages/host/apiproxy/tests/api-proxy-config.spec.ts
#	packages/host/apiproxy/tests/api-proxy-models.spec.ts
#	packages/host/apiproxy/tests/api-proxy-projections.spec.ts
#	packages/host/apiproxy/tests/api-proxy-question.spec.ts
#	packages/host/apiproxy/tests/api-proxy-rename.spec.ts
#	packages/host/apiproxy/tests/api-proxy-search.spec.ts
#	packages/host/apiproxy/tests/api-proxy-subagents.spec.ts
#	packages/host/apiproxy/tests/api-proxy-view.spec.ts
#	packages/host/apiproxy/tests/api-proxy-workspace.spec.ts
#	packages/todo/tool-todo/tests/projection.spec.ts
#	scripts/hero-composer-dom-continuity.mjs
2026-08-10 15:49:34 +08:00
Yichen Jiang
658a8b1cac Merge remote-tracking branch 'origin/master' into worktree/web-theme-settings-integration-fde706
# Conflicts:
#	docs/event-producer-consumer.i18n.yaml
#	docs/event-producer-consumer.md
#	docs/event-producer-consumer.zh.md
2026-08-10 15:34:01 +08:00
Yichen Jiang
e01be02dab Merge branch 'master' into fix/preset-host-plane-task-registry 2026-08-10 15:31:20 +08:00
creatixchu
1a02b82884 Merge remote-tracking branch 'origin/master' into worktree/remove-interjection-caption 2026-08-10 15:30:10 +08:00
creatixchu
76c6e14c8b Merge remote-tracking branch 'origin/master' into codex/pr-555-ci-fix 2026-08-10 15:26:23 +08:00
Yichen Jiang
8bbc74127e Merge remote-tracking branch 'origin/master' into worktree/web-theme-settings-integration-fde706
# Conflicts:
#	packages/client/ui-conversation/README.i18n.yaml
#	packages/client/ui-conversation/README.md
#	packages/client/ui-conversation/README.zh.md
2026-08-10 15:21:45 +08:00
creatixchu
2fea703d67 Merge remote-tracking branch 'origin/master' into codex/pr-555-ci-fix
# Conflicts:
#	docs/module-graph.i18n.yaml
#	docs/module-graph.md
#	docs/module-graph.zh.md
#	packages/client/ui-conversation/src/client/input/hub.ts
#	packages/client/ui-conversation/tests/input-bar.spec.tsx
#	packages/client/ui-conversation/tests/service-orchestration.spec.ts
2026-08-10 15:19:32 +08:00
Yichen Jiang
0be9bf312a fix(web): fold the preset frame into the session row for every client
The frame carried `agentPreset` for surfaces that label the session, but
nothing consumed it: `noteAgentPreset` ran only in the switching tab's RPC
callback, so a second connected client refetched its catalogs while its
session row — the header label's source, and the hero chip's no-op input —
kept the composition the session had replaced.

`SessionManager.handleHostEnvelope` now folds the frame like the other
session frames. Re-applying the switching tab's own frame is a no-op: the
merge lowers `blank` only and keeps the row's `updatedAt`.
2026-08-10 15:12:07 +08:00
Yichen Jiang
ec8cbd7513 Merge remote-tracking branch 'origin/master' into fix/web-slash-catalog-follows-preset 2026-08-10 15:07:15 +08:00
Yichen Jiang
02d45ed004 Merge remote-tracking branch 'origin/master' into fix/preset-host-plane-task-registry 2026-08-10 15:04:49 +08:00
Yichen Jiang
6a830f1779 test(web): stabilize preset-aware steering snapshots 2026-08-10 14:44:37 +08:00
Yichen Jiang
259d998455 fix(web): follow a blank session's preset switch in the slash catalog
Presets own the rows that decide what a session's `/` menu contains, but
both browser catalogs cache per session and had no invalidation edge for a
recompose: `commands/changed` is registry-wide and recomposing registers
nothing, so the menu kept serving the composition the session no longer ran.

The host stream now frames the logged `agent-preset/selected` commit as
`host/session-preset-changed`; the runtime bridges it to the typed
`session/preset-changed` event, `ui-command` soft-refreshes that session's
directory key and `ui-skill` invalidates its catalog entry.

Reaching the host on a second switch was a separate defect: the list-row
identity guard compared every summary field except `agentPreset`, and the
merge keeps the row's `updatedAt`, so a switched row looked unchanged and
served its cached instance forever. The hero chip compares the pick against
that row, so switching back to the creation-time preset sent no RPC at all.
2026-08-10 14:35:13 +08:00
Yichen Jiang
5d86a284e5 fix(web-app,agent-presets): keep the task registry on the host plane
`tool-bash` resolves the background-task registry with `ctx.get('tasks')`,
and it sits at the preset's top level. The registry sat inside an
entry-local `isolate: { tasks: true }` realm, which is invisible to every
sibling row outside it, while the Web surface disabled the host row — so
both lookups missed and every `run_in_background` call answered
"background tasks unavailable" with `task_output`, `task_list`, and
`task_kill` still listed in the catalog. `task_list` returning
"(no background tasks)" is what made the outage read as an empty queue
rather than a severed producer.

That is the `goals` criterion read from inside the preset: a Service a row
outside its realm READS belongs to the plane both can see. `tasks` already
keys access by owning agent (`assertAccess` compares `task.owner.id`) and
mints an independent token per `attachSurface` call, so one host instance
serves every session exactly as before presets — the per-preset-standing-mounts
note records that sharing `tasks-local` is a return to its design.

`minimal` mounts no `tool-tasks`, and the `start()` control-surface gate is
a service-wide set that another preset's controls would open for it, so its
`tool-bash` disables `run_in_background` and drops the parameter from the
schema.

Fixes #2141
2026-08-10 14:18:41 +08:00
creatixchu
ec310e60f8 test(web): align steer-all snapshots after master sync 2026-08-10 13:12:35 +08:00
creatixchu
8f0855cc9f Merge remote-tracking branch 'origin/master' into worktree/remove-interjection-caption 2026-08-10 13:05:00 +08:00
imccyu
6648ff984a Merge pull request #1817 from deepseek-harness/feat/web-queue-steer-all
feat(web): 空输入时 Ctrl/Cmd+Enter 将当前排队消息全部插话发送
2026-08-10 12:58:20 +08:00
creatixchu
c6148f0fc3 Merge remote-tracking branch 'origin/master' into worktree/remove-interjection-caption 2026-08-10 12:53:04 +08:00
Yichen Jiang
a2bd3059ac Merge remote-tracking branch 'origin/master' into worktree/web-theme-settings-integration-fde706
# Conflicts:
#	.agents/notes/implemented/architecture/2026-07-30-client-locale-full-rollout.i18n.yaml
#	.agents/notes/implemented/architecture/2026-07-30-client-locale-full-rollout.zh.md
#	.agents/notes/implemented/feature/2026-07-30-web-queue-steer-action.i18n.yaml
#	.agents/notes/implemented/feature/2026-07-30-web-queue-steer-action.zh.md
#	.agents/notes/implemented/feature/2026-07-31-browser-derived-initial-locale.i18n.yaml
#	.agents/notes/implemented/feature/2026-07-31-browser-derived-initial-locale.zh.md
#	.agents/notes/implemented/testing/2026-07-24-web-gui-browser-e2e-lane.i18n.yaml
#	apps/web/tests/scaffold.ts
#	docs/module-graph.md
#	packages/client/runtime/README.i18n.yaml
#	packages/client/runtime/package.json
#	packages/client/test-runtime/README.i18n.yaml
#	packages/client/test-runtime/README.zh.md
#	packages/client/ui-conversation/README.i18n.yaml
#	packages/client/ui-conversation/README.zh.md
#	packages/client/ui-conversation/package.json
#	packages/client/ui-conversation/src/client/apply.ts
#	packages/client/ui-theme/README.i18n.yaml
#	packages/client/ui-theme/README.md
#	packages/client/ui-theme/README.zh.md
#	packages/host/apiproxy/README.i18n.yaml
#	packages/host/apiproxy/README.zh.md
#	pnpm-lock.yaml
2026-08-10 12:50:43 +08:00
creatixchu
3764ce62a5 Merge remote-tracking branch 'origin/master' into codex/pr-555-ci-fix
# Conflicts:
#	docs/config-catalog.i18n.yaml
#	docs/config-catalog.md
#	docs/config-catalog.zh.md
#	docs/module-graph.i18n.yaml
#	docs/module-graph.md
#	docs/module-graph.zh.md
#	examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
#	packages/client/connection/src/client/fixture.ts
#	packages/host/apiproxy/src/api-proxy.ts
2026-08-10 12:33:36 +08:00
Yichen Jiang
b87e2240bf Merge pull request #1543 from deepseek-harness/stack/agent-profiles-8-authoring
feat(web): author agent presets from a settings page
2026-08-10 11:55:58 +08:00
_Kerman
85ebb03c00 test(web): wait for the reasoning row before the steer-all mid snapshot
The mid golden was racing the reasoning block's stream: captureStableAria
could freeze on the pre-render gap between steering acceptance and the
assistant step, pinning a snapshot without the Think row. Wait for the
[data-variant=think] row so the golden captures the complete assistant step.
2026-08-10 11:30:33 +08:00
creatixchu
52df428a10 Merge remote-tracking branch 'origin/master' into codex/pr-555-ci-fix 2026-08-10 11:28:25 +08:00
_Kerman
0306aefaa9 test(web): refresh steer-all mid golden against merged master UI 2026-08-10 11:12:36 +08:00
creatixchu
6a72a0873c fix(ci): repair fixture turns and module graph 2026-08-10 11:08:35 +08:00
creatixchu
b5934b6f7c cleanup(web): remove the steering interjection caption
Steering bubbles render as plain user bubbles; a mid-turn steer is
recognizable by its position in the flow. The runtime SteeringMessageNode
projection and pending-steering lifecycle are unchanged.

Partially supersedes the 2026-08-04 context-source and steer marks note;
the new simplification note owns the removal rationale.
2026-08-10 11:04:44 +08:00
_Kerman
2e9f24b58e Merge remote-tracking branch 'github/master' into feat/web-queue-steer-all
# Conflicts:
#	packages/client/ui-conversation/README.i18n.yaml
#	packages/client/ui-conversation/README.zh.md
#	packages/client/ui-conversation/src/client/skeleton/InputBar.tsx
#	packages/client/ui-conversation/tests/input-bar.spec.tsx
#	packages/client/ui-conversation/tests/service-orchestration.spec.ts
2026-08-10 10:21:56 +08:00
Tianyi Cui
723e428c3b test(web): await fork title projection 2026-08-09 23:50:46 +08:00
Yichen Jiang
37dc08067d Merge branch 'stack/agent-profiles-5-web-ui' into stack/agent-profiles-8-authoring 2026-08-09 23:43:09 +08:00
Yichen Jiang
d2aa66c4d6 fix(agent-presets): unify the session event entrypoint and re-address the hermetic skills probe
The persistence catalog recognizes SessionEventMap augmentations of
'@deepseek-ai/dsh-session/types' alone, so the selected event's old
root-specifier declaration compiled but silently vanished from the
generated catalog. The hermetic scaffold e2e still addressed the skill
registry as a preset-realm service; under the layered host registry the
composed agent's view is a scope read, and the ambient-root isolation it
proves is unchanged.
2026-08-09 23:42:44 +08:00
Yichen Jiang
c06f9041fc Merge remote-tracking branch 'origin/master' into worktree/web-multimodal-image-input
# Conflicts:
#	.agents/notes/implemented/architecture/2026-07-05-reconstructable-requests.i18n.yaml
#	docs/config-catalog.md
#	docs/cordis-catalog/events.md
#	docs/cordis-catalog/services.md
#	docs/core-data-structures/core.md
#	docs/core-data-structures/core.zh.md
#	docs/core-data-structures/llm-streaming.i18n.yaml
#	docs/core-data-structures/llm-streaming.md
#	docs/core-data-structures/llm-streaming.zh.md
#	docs/event-producer-consumer.md
#	docs/module-graph.md
#	docs/subsystems/attachment.i18n.yaml
#	docs/subsystems/attachment.md
#	docs/subsystems/attachment.zh.md
#	docs/subsystems/core.i18n.yaml
#	examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
#	packages/README.i18n.yaml
#	packages/README.md
#	packages/README.zh.md
#	packages/client/runtime/package.json
#	packages/client/ui-conversation/package.json
#	packages/client/ui-conversation/src/client/chat/AssistantMarkdown.tsx
#	packages/client/ui-conversation/src/client/chat/ChatView.tsx
#	packages/client/ui-conversation/src/client/chat/MessageItem.tsx
#	packages/client/ui-conversation/src/client/index.ts
#	packages/client/ui-conversation/tests/input-bar.spec.tsx
#	packages/compact/compact-basic/README.i18n.yaml
#	packages/compact/compact-basic/README.md
#	packages/compact/compact-basic/README.zh.md
#	packages/host/apiproxy/src/api-proxy.ts
#	packages/host/apiproxy/src/api/index.ts
#	packages/host/apiproxy/src/api/sessions.ts
#	packages/host/apiproxy/src/index.ts
#	packages/host/apiproxy/tests/api-proxy-models.spec.ts
#	packages/self-modification/tool-cordis/src/api-catalog.ts
#	pnpm-lock.yaml
#	scripts/type-equiv.manifest.json
2026-08-09 23:33:35 +08:00
Yichen Jiang
7dcefeda50 Merge branch 'stack/agent-profiles-5-web-ui' into stack/agent-profiles-8-authoring
# Conflicts:
#	apps/cli/tests/web-agent-presets.e2e.ts
#	packages/client/connection/README.i18n.yaml
#	packages/client/connection/README.md
#	packages/client/connection/README.zh.md
#	packages/client/ui-conversation/src/client/contract/slots.ts
#	packages/client/ui-primitives/tests/icons.spec.tsx
#	packages/client/ui-settings/src/client/contract/slots.ts
#	packages/host/apiproxy/tests/api-proxy-agent-preset.spec.ts
2026-08-09 23:02:37 +08:00
Yichen Jiang
877364f7a4 Merge branch 'stack/agent-profiles-3-wire' into stack/agent-profiles-5-web-ui
# Conflicts:
#	packages/client/ui-conversation/tests/input-bar.spec.tsx
2026-08-09 22:57:23 +08:00
Yichen Jiang
4926b296c4 Merge branch 'stack/agent-profiles-1-seam' into stack/agent-profiles-3-wire
# Conflicts:
#	docs/persistence-catalog.i18n.yaml
#	docs/persistence-catalog.md
#	docs/persistence-catalog.zh.md
2026-08-09 22:56:44 +08:00
Yichen Jiang
7ea8bad7ee Merge branch 'stack/agent-profiles-5-web-ui' into stack/agent-profiles-8-authoring
# Conflicts:
#	docs/module-graph.i18n.yaml
#	docs/module-graph.md
#	docs/module-graph.zh.md
#	docs/subsystems/tools.i18n.yaml
#	docs/subsystems/tools.md
#	docs/subsystems/tools.zh.md
#	examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
2026-08-09 21:38:26 +08:00
Yichen Jiang
19b6a41564 Merge branch 'stack/agent-profiles-3-wire' into stack/agent-profiles-5-web-ui
# Conflicts:
#	docs/module-graph.i18n.yaml
#	docs/module-graph.md
#	docs/module-graph.zh.md
#	scripts/doc-budgets.manifest.json
2026-08-09 21:36:55 +08:00
Yichen Jiang
5aa10901ad Merge branch 'stack/agent-profiles-1-seam' into stack/agent-profiles-3-wire
# Conflicts:
#	examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
2026-08-09 21:35:37 +08:00