_Kerman
6ae82e390e
Merge remote-tracking branch 'origin/master' into xtr/react-loop-simplification
...
# Conflicts:
# packages/ui/tui/README.i18n.yaml
2026-08-03 17:22:27 +08:00
_Kerman
734c3d1f65
Merge remote-tracking branch 'origin/master' into xtr/react-loop-simplification
...
# Conflicts:
# apps/cli/tests/snapshots/queued-manual-compact/terminal.expected.txt
# apps/web/tests/snapshots/queue-actions/preserved.expected.md
# packages/client/runtime/README.i18n.yaml
# packages/client/runtime/src/client/sessions/session.ts
# packages/client/ui-conversation/README.md
# packages/client/ui-conversation/README.zh.md
# packages/ui/tui/README.i18n.yaml
# packages/ui/tui/tests/snapshots/untrusted-controls.expected.txt
2026-08-03 17:15:34 +08:00
Turtle
2c78041878
Merge remote-tracking branch 'origin/master' into codex/pr-1037-resolution
...
# Conflicts:
# docs/config-catalog.md
# packages/ui/tui/README.i18n.yaml
2026-08-03 16:49:58 +08:00
Turtle
4edb828364
Merge remote-tracking branch 'origin/master' into codex/pr-1037-resolution
...
# Conflicts:
# packages/ui/tui/README.i18n.yaml
2026-08-03 16:49:18 +08:00
Yichen Jiang
3009bc5312
Merge pull request #1003 from deepseek-harness/worktree/web-remote-markdown-images
...
feat(web): render remote Markdown images
2026-08-03 16:41:00 +08:00
_Kerman
a597763393
fix(session): type turn/end error as one structured failure
...
TurnEndReasonMap.error now carries a single `error: LlmFailure` field:
an LlmError keeps its structured facts, any other error flattens to
errorChain text under the UNKNOWN code. Consumers read message/code
directly instead of defending against an unknown union — this also fixes
errorChain() rendering structured failures as '[object Object]' in the
TUI and ACP error paths. Document the turn-stopping contract: a
concludesTurn result never short-circuits already-submitted next-step
work (same-step additionalContexts or racing steering still runs), data
decides.
2026-08-03 16:33:23 +08:00
kingwl
c5050f018e
fix(web): keep ineligible message forks disabled
2026-08-03 16:19:49 +08:00
_Kerman
3c160e137d
fix(apiproxy): stop projecting injected context as user steering
...
next-step items now split by origin: user-origin messages keep the
'steering' placement, while agent.inject context (approval notices, task
completion notices, attached snapshots) carries a new 'context' placement
that no surface renders until it is claimed as a durable user/message
context card. Widen the placement unions on the wire and in the client
runtime, add a projection test case, and document the split in the
apiproxy/ui-conversation READMEs and the web-steer chrome agent note.
2026-08-03 16:15:07 +08:00
Yichen Jiang
61cba0cda2
Merge remote-tracking branch 'origin/master' into worktree/web-remote-markdown-images
...
# Conflicts:
# packages/client/ui-primitives/README.i18n.yaml
# packages/client/ui-primitives/README.md
# packages/client/ui-primitives/README.zh.md
# packages/client/ui-primitives/src/markdown/MarkdownText.tsx
# packages/client/ui-primitives/tests/markdown.spec.tsx
2026-08-03 16:09:51 +08:00
_Kerman
cb2f01f48c
refactor(agent-loop): drop the steering/message session event
...
Steer, inject, and followup now land as durable user/message events on the
session surface; the steering/message event type and its ConversationNode
kind are removed from the client projection. Update tests, docs, generated
catalogs, and agent notes to match, and align the steering e2e fixture and
prompt inventory assertions with the durable user/message landing.
2026-08-03 16:04:26 +08:00
kingwl
c43eaaec82
Merge remote-tracking branch 'origin/master' into codex/pr-1150-disabled
...
# Conflicts:
# packages/client/runtime/README.i18n.yaml
# packages/client/ui-conversation/README.i18n.yaml
2026-08-03 16:02:33 +08:00
Wenlu Wang
6a3caea277
Merge pull request #1160 from deepseek-harness/codex/subagent-token-metrics
...
Show subagent token metrics
2026-08-03 15:35:17 +08:00
imccyu
2d31ec5fee
Merge pull request #1173 from deepseek-harness/agent/web-bash-error-expand
...
fix(web): expand aborted Bash rows
2026-08-03 15:30:52 +08:00
kingwl
d5583210d4
tighten branchless subagent catalog layout
2026-08-03 15:19:53 +08:00
Wenlu Wang
8e820bbbf5
Merge pull request #1159 from deepseek-harness/codex/subagent-token-duration
...
Fix subagent active duration tracking
2026-08-03 14:45:29 +08:00
Ziya
b6b642fae4
Merge branch 'master' into agent/web-bash-error-expand
2026-08-03 02:30:36 -04:00
ZiyaZhang
0a4ad25ce7
fix(web): expand aborted Bash rows
2026-08-02 23:06:00 -07:00
_Kerman
5b17413108
docs(ui-trajectory): record composer overlay contract
2026-08-03 14:02:54 +08:00
_Kerman
5534431d42
fix(ui-trajectory): own composer overlay geometry
2026-08-03 14:02:40 +08:00
Yif
062a1507f1
feat(ui-trajectory): float the composer over the ledger like chat
...
The trajectory host kept the composer as a fixed flex sibling, so the
ledger never reached the viewport bottom. Anchor the composer seat
absolutely over the ledger (reusing chat's fade treatment) and have the
internal scroll panes reserve the composer's live height plus a 16px gap
so end rows and detail bodies scroll clear of the overlay.
(cherry picked from commit 0058a1f4b6e8c2e23bfde7c827a84838cc5ebffc)
2026-08-03 13:55:33 +08:00
_Kerman
44304a458c
fix(ui-trajectory): separate consecutive request markers
2026-08-03 13:53:50 +08:00
_Kerman
68e79ed983
docs(ui-trajectory): record timeline interaction contract
2026-08-03 13:48:11 +08:00
_Kerman
74cd2e4bd9
feat(ui-trajectory): enrich timeline timing interactions
2026-08-03 13:48:03 +08:00
_Kerman
c8ece8325c
fix(ui-trajectory): follow live ledger tail
2026-08-03 13:47:55 +08:00
_Kerman
a8478fc031
fix(ui-trajectory): animate responsive ledger layout
2026-08-03 13:47:51 +08:00
_Kerman
94dabcb7ed
feat(ui-primitives): support delayed multiline tooltips
2026-08-03 13:47:37 +08:00
kingwl
583d532bc3
merge compact duration display
...
# Conflicts:
# .agents/notes/implemented/feature/2026-07-27-web-subagent-conversations.i18n.yaml
# .agents/notes/implemented/feature/2026-07-27-web-subagent-conversations.md
# .agents/notes/implemented/feature/2026-07-27-web-subagent-conversations.zh.md
# apps/web/tests/snapshots/subagent-conversation/tree.expected.md
# 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/SubagentCatalogAction.tsx
# packages/client/ui-subagent/tests/conversation-ui.spec.tsx
2026-08-03 13:31:19 +08:00
kingwl
255cd90c6e
compact long subagent durations
2026-08-03 13:23:40 +08:00
_Kerman
f4a2e0d10a
fix(agent): align consumers with inbox lifecycle
2026-08-03 13:14:24 +08:00
_Kerman
cb7cc46d03
Merge remote-tracking branch 'origin/master' into xtr/react-loop-simplification
2026-08-03 12:39:49 +08:00
_Kerman
49e90695cc
refactor(agent): complete inbox lifecycle migration
2026-08-03 12:25:33 +08:00
kingwl
24ff409f62
merge refreshed duration base
2026-08-03 12:03:59 +08:00
kingwl
ad42057586
merge latest master into subagent duration fix
2026-08-03 12:02:47 +08:00
kingwl
e97b47092e
merge subagent timing review fixes
...
# Conflicts:
# .agents/notes/implemented/feature/2026-07-27-web-subagent-conversations.i18n.yaml
# .agents/notes/implemented/feature/2026-07-27-web-subagent-conversations.md
# .agents/notes/implemented/feature/2026-07-27-web-subagent-conversations.zh.md
# packages/client/ui-subagent/README.i18n.yaml
# packages/client/ui-subagent/README.md
# packages/client/ui-subagent/README.zh.md
2026-08-03 11:51:24 +08:00
kingwl
fdf83f2c3e
document projection-cut duration bound
2026-08-03 11:44:11 +08:00
kingwl
0b0de64769
bound inactive subagent timing to projection cut
2026-08-03 11:40:33 +08:00
kingwl
038b6063ee
Merge remote-tracking branch 'origin/master' into codex/pr-1150-conflict-fix
...
# Conflicts:
# packages/client/ui-conversation/README.i18n.yaml
2026-08-03 11:34:26 +08:00
_Kerman
dc1d542092
Merge remote-tracking branch 'origin/master' into xtr/react-loop-simplification
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-07-12-agent-scope-runtime-design.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-31-goal-owned-durable-events.i18n.yaml
# .agents/notes/implemented/feature/2026-07-19-model-facing-goal-tools.i18n.yaml
# .agents/notes/implemented/feature/2026-07-22-docked-web-goal-bar.i18n.yaml
# docs/architecture.i18n.yaml
# docs/architecture.md
# docs/architecture.zh.md
# docs/config-catalog.md
# docs/cordis-catalog/events.md
# docs/cordis-catalog/services.md
# docs/core-data-structures/core.i18n.yaml
# docs/core-data-structures/core.md
# docs/core-data-structures/core.zh.md
# docs/event-producer-consumer.md
# docs/module-graph.md
# docs/persistence-catalog.md
# examples/acp-agent/tests/snapshots/advanced-toolchain/session.1.jsonl
# examples/acp-agent/tests/snapshots/advanced-toolchain/session.2.jsonl
# examples/acp-agent/tests/snapshots/code-mode-workspace-context/session.jsonl
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
# examples/acp-agent/tests/snapshots/skill-load/session.jsonl
# examples/acp-agent/tests/snapshots/subagent-depth-two-rejection/session.1.jsonl
# examples/acp-agent/tests/snapshots/subagent-depth-two-rejection/session.2.jsonl
# examples/acp-agent/tests/snapshots/subagent-fork/session.1.jsonl
# examples/acp-agent/tests/snapshots/subagent-mixed/session.1.jsonl
# examples/acp-agent/tests/snapshots/subagent-mixed/session.2.jsonl
# examples/acp-agent/tests/snapshots/subagent-multi/session.1.jsonl
# examples/acp-agent/tests/snapshots/subagent-multi/session.2.jsonl
# examples/acp-agent/tests/snapshots/subagent-spawn/session.1.jsonl
# examples/acp-agent/tests/snapshots/workflow-run/session.1.jsonl
# examples/acp-agent/tests/snapshots/workspace-context/session.jsonl
# examples/headless-agent/tests/snapshots/advanced-toolchain/session.1.jsonl
# examples/headless-agent/tests/snapshots/advanced-toolchain/session.2.jsonl
# examples/headless-agent/tests/snapshots/advanced-toolchain/session.jsonl
# examples/headless-agent/tests/snapshots/pty-tools/session.jsonl
# examples/headless-agent/tests/subagent-inheritance-snapshots/parent-override/child.expected.jsonl
# examples/jsonrpc-agent/tests/snapshots/subagent-spawn/notifications.expected.jsonl
# examples/jsonrpc-agent/tests/snapshots/subagent-spawn/session.1.jsonl
# packages/acp/acp/README.i18n.yaml
# packages/acp/acp/src/index.ts
# packages/client/connection/src/client/index.ts
# packages/client/runtime/README.i18n.yaml
# packages/client/runtime/README.md
# packages/client/runtime/README.zh.md
# packages/client/runtime/src/client/sessions/conversation.ts
# packages/client/runtime/src/client/sessions/session.ts
# packages/client/runtime/tests/queue-store.spec.ts
# packages/client/ui-conversation/src/client/input/contract.ts
# packages/client/ui-goal/README.i18n.yaml
# packages/compact/compact-basic/src/index.ts
# packages/context/time-context/tests/time-context.spec.ts
# packages/context/tmux-context/tests/tmux-context.spec.ts
# packages/context/workspace-context/tests/workspace-context.spec.ts
# packages/cordis/tool-cordis/src/api-catalog.ts
# packages/core/agent-loop/README.i18n.yaml
# packages/core/agent-loop/README.md
# packages/core/agent-loop/README.zh.md
# packages/core/agent-loop/src/agent.ts
# packages/core/agent-loop/tests/agent.spec.ts
# packages/core/agent-loop/tests/loop.spec.ts
# packages/core/agent/README.i18n.yaml
# packages/core/agent/README.md
# packages/core/agent/README.zh.md
# packages/core/agent/src/types.ts
# packages/core/session/README.i18n.yaml
# packages/core/session/README.md
# packages/core/session/README.zh.md
# packages/goal/command-goal/tests/command-goal.spec.ts
# packages/goal/goal/tests/goal.spec.ts
# packages/goal/tool-goal/README.i18n.yaml
# packages/goal/tool-goal/README.md
# packages/goal/tool-goal/README.zh.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/api/events.schema.ts
# packages/host/apiproxy/src/api/events.ts
# packages/host/apiproxy/src/api/rpc.ts
# packages/host/apiproxy/tests/api-proxy-commands.spec.ts
# packages/host/apiproxy/tests/api-proxy-projections.spec.ts
# packages/host/apiproxy/tests/rpc-schemas.spec.ts
# packages/pty/pty-local/tests/index.spec.ts
# packages/pty/pty-local/tests/local.spec.ts
# packages/pty/tool-pty/tests/loader-composition.spec.ts
# packages/pty/tool-pty/tests/tools.spec.ts
# packages/session-persistence/session-checkpoint-policy/src/index.ts
# packages/session-persistence/session-persistence/tests/coordinator-contract.ts
# packages/skill/tool-skill/tests/tool-skill.spec.ts
# packages/subagent/subagent-inprocess/README.i18n.yaml
# packages/subagent/subagent-inprocess/README.md
# packages/subagent/subagent-inprocess/README.zh.md
# packages/subagent/subagent-inprocess/src/index.ts
# packages/subagent/subagent-inprocess/tests/subagent-inprocess.spec.ts
# packages/support/acp-snapshot/src/harness.ts
# packages/ui/tui/tests/tui.spec.ts
2026-08-03 10:56:09 +08:00
creatixchu
3f34a72b66
review(ui-primitives): stop the size doc from enumerating native sizes
...
The parenthetical listed 14/16 and this branch added 20, but the set never
held to it: IconRightUpOutline14 defaults to 8, IconTreeCorner8x10 to 10,
and IconWarningOutline16 to 14. Drop the list rather than maintain one that
drifts, and retitle the icons test that carried the same generalization.
2026-08-03 10:42:34 +08:00
creatixchu
b85c0a1851
fix(ui-workspace): draw Archive session with the archive-box glyph
...
The session row menu's Archive action carried ic_ds_download_outline_16, a
download tray that reads as "save to disk" rather than "put away". Swap it
for the design's archive glyph — a lidded box with a label slot — added to
the ic_ds_* set as IconArchiveOutline20.
The glyph is native 20, the first of that size in the set, so the menu's
16px icon slot asks for it explicitly. The figma export's 0.11px stroke ring
around the box contour is dropped: it restates the same contour in the same
ink, which currentColor already carries.
2026-08-03 10:30:32 +08:00
kingwl
57e2433f45
show subagent token metrics
2026-08-03 01:19:36 +08:00
kingwl
c831c99981
keep subagent duration fix focused
2026-08-03 01:08:32 +08:00
kingwl
3a920be9c5
stack subagent token and duration metrics
2026-08-03 00:22:01 +08:00
kingwl
6b6acbe0c5
Merge master into subagent usage branch
...
# Conflicts:
# .agents/notes/implemented/feature/2026-07-27-web-subagent-conversations.i18n.yaml
# .agents/notes/implemented/feature/2026-07-27-web-subagent-conversations.md
# .agents/notes/implemented/feature/2026-07-27-web-subagent-conversations.zh.md
# apps/web/tests/snapshots/subagent-conversation/tree.expected.md
# apps/web/tests/subagent-conversation.e2e.ts
# packages/client/ui-subagent/src/client/SubagentCatalogAction.tsx
2026-08-02 23:37:17 +08:00
kingwl
b30686d634
show subagent usage and active duration
2026-08-02 23:31:24 +08:00
Tianyi Cui
1ea72962eb
Merge master into fix/subagent-stack-end-result
2026-08-02 23:13:00 +08:00
Tianyi Cui
711a33ea8d
fix(web): keep known subagent chooser visible
2026-08-02 21:22:39 +08:00
ZiyaZhang
8f77ab467f
test(web): harden live thinking tail observation
2026-08-02 06:12:13 -07:00
ZiyaZhang
975b57b54a
feat(web): follow live reasoning tail while collapsed
2026-08-02 05:29:25 -07:00
Tianyi Cui
e4663cb10b
test(web): share the subagent locale translator
...
The localized catalog spec introduced two package-local translation stubs: one manually looped over interpolation parameters and the other indexed the Chinese dictionary directly. That duplicates framework test plumbing and can drift from the shared lookup, fallback, and placeholder semantics used by the rest of the client suites.
Use makeTranslate from dsh-client-test-runtime as the single Chinese translator for both catalog and read-only composer assertions. Record the test-only workspace dependency in the ui-subagent manifest and lockfile; no production dependency or runtime bundle edge is added.
This removes twelve lines of local translation behavior while preserving the same Chinese assertions and exercising the shared interpolation path. Both ui-subagent test files pass with all 28 tests, the package TypeScript project checks cleanly, and the staged diff passes formatting, lint, and whitespace hooks.
2026-08-02 20:28:23 +08:00