Turtle
f0410d592d
feat(web): permission presets and approval answering for the web UI
...
The web host now composes the sandboxed product path (sandbox-local +
sandbox-policy behind bash-sandbox/fs-sandbox, with user-approval and
permission on top); BootHostOptions.sandbox carries the deployment
defaults (workspace-write + ask).
createApiProxy owns the approval pending registry: a ctx.approval ask
becomes an answerable approval/requested mux frame with a stable rpcId,
replayed verbatim on every mux open until settled; respond routes by the
echoed rpcId, validates the ApprovalResponsePayload audit correlation,
and broadcasts approval/resolved; the ask's abort signal withdraws the
question as cancelled.
session.permissions / session.setPermission project ctx.permission into
a protocol-owned PermissionOption select; idle switches are held
last-write-wins and
flushed into the next prompted turn (the ACP bridge's anchoring
pattern). The shared hasOpenTurn fold moved to dsh-session,
deduplicating the private copies in user-approval, the ACP bridge, and
the proxy.
Client, per the designer draft: a pending approval takes over the
composer (ApprovalPanel replaces the InputBar — amber strip,
justification headline, paired command, one-shot refuse/allow, keyed by
rpcId so a queued second approval remounts live; the resolved frame
restores the composer); the sidebar session row shows an amber
waiting-approval dot that outranks the running ring (manager-tracked
approvalId set, idempotent under mux-open replays, cleared per
connection generation, lit for uninstantiated sessions too); the
permission selector is a composer bottom-row chip over an invisible
native select, with a presentation-only title-case transform
(workspace-write renders as Workspace Write; wire names untouched). Question placeholders stay in the message flow. The
connection fixture mirrors the host behavior for keyless browser
acceptance.
2026-07-24 19:15:04 +08:00
Tianyi Cui
9ef0193dd5
feat(host-runtime,llm-replay): keyless llm seam + replay pacing/consumption handle
...
BootHostOptions.llm: 'deepseek' | false — false mounts no adapter, boots
keyless, and leaves the llm capability seam open for the embedder to fill
on RunningHost.ctx (now the third sanctioned ctx use, JSDoc + README
amended); an unfilled seam fails loud with NO_ADAPTER at the first stream.
dsh-llm-replay grows two additive surfaces for the web browser e2e lane:
paceMs (validated per-chunk delay so a real transport shows incremental
delivery; abort during a pace wait cancels promptly) and a ReplayHandle
return — dispose() plus assertConsumed(), the teardown check that every
recorded script bound and drained, converting silent fixture underruns
into diagnostics. Existing callers updated; config catalog regenerated.
2026-07-24 19:08:10 +08:00
Hypatia May
415948dd7b
fix: redact lineage errors and parse precise times
2026-07-24 18:47:41 +08:00
_Kerman
fb0ef82aa6
Merge remote-tracking branch 'origin/feat/send-unify' into xtr/agent-loop-message-machine
...
# Conflicts:
# packages/client/runtime/src/client/sessions/fold-adapter.ts
2026-07-24 18:24:28 +08:00
_Kerman
879bc71864
refactor(agent): require explicit send options
2026-07-24 18:23:24 +08:00
Hypatia May
0d2e74ed48
docs: describe host session-query surface
2026-07-24 18:22:00 +08:00
Hypatia May
fec4ce52cc
fix: batch cancellable title reads
2026-07-24 18:13:11 +08:00
_Kerman
b56628ced7
refactor(agent-loop): clarify pending message flow
2026-07-24 17:55:08 +08:00
Hypatia May
f5fc7ac04a
test: scope event snapshot normalization
2026-07-24 17:25:32 +08:00
_Kerman
1d9662a020
refactor(agent-loop): unify pending message representation
2026-07-24 17:23:33 +08:00
Turtle
081bb1a8fd
Merge remote-tracking branch 'origin/master' into feat/send-unify
...
# Conflicts:
# packages/client/runtime/src/client/sessions/fold-adapter.ts
2026-07-24 17:17:35 +08:00
Hypatia May
96c5696f80
Merge remote-tracking branch 'origin/master' into session-query-tool
...
# Conflicts:
# docs/architecture.i18n.yaml
# docs/cordis-catalog/services.md
2026-07-24 17:12:03 +08:00
_Kerman
76d0e450ce
fix(agent): preserve thrown error values
2026-07-24 17:11:58 +08:00
fz
4d0c0478f6
fix(web): defer default mode reminder
2026-07-24 17:09:05 +08:00
07akioni
65e6a2adbe
Merge branch 'master' into feat/trajectory
2026-07-24 17:06:25 +08:00
Hypatia May
def026e5bc
fix: harden session trace authorization
2026-07-24 17:06:10 +08:00
_Kerman
90e69a3123
refactor(agent): minimize inbox message contract
2026-07-24 17:00:42 +08:00
Turtle
d2b2539f3e
Merge remote-tracking branch 'origin/feat/send-unify' into feat/send-unify
...
# Conflicts:
# docs/architecture.i18n.yaml
# docs/architecture.md
2026-07-24 16:58:32 +08:00
Turtle
4be3301952
fix: migrate merged-in context/message references to user/message
...
The master merge introduced a tui goal-restore test and the guard parent
README that still used the removed context/message event. Point both at
the coalesced plugin-sourced user/message.
2026-07-24 16:56:36 +08:00
fz
e90b3bc5a2
fix(web): make plan transitions admission-safe
2026-07-24 16:55:04 +08:00
Turtle
80bbe959a7
Merge remote-tracking branch 'origin/master' into feat/send-unify
2026-07-24 16:52:46 +08:00
_Kerman
b3c1abac67
refactor(agent-loop): rely on eager session persistence
2026-07-24 16:40:33 +08:00
Hypatia May
6be11539e2
fix: bind session authorization to observations
2026-07-24 16:40:08 +08:00
fz
aed744dbbe
Merge branch 'codex/web-plan-wire' into codex/web-plan-mode
2026-07-24 16:34:56 +08:00
fz
76450b0c55
fix(web): bind prompts to plan selection
2026-07-24 16:33:53 +08:00
07akioni
6fc92bbb16
fix: ci
2026-07-24 16:32:35 +08:00
_Kerman
6945a2c37d
Merge remote-tracking branch 'origin/feat/send-unify' into xtr/agent-loop-message-machine
2026-07-24 16:31:49 +08:00
Yichen Jiang
3a92e03b26
Merge remote-tracking branch 'origin/worktree/web-multimodal-image-input' into worktree/web-multimodal-image-input
...
# Conflicts:
# apps/web/tests/smoke-fixture.e2e.ts
# docs/architecture.i18n.yaml
# packages/client/connection/src/client/fixture.ts
# packages/client/runtime/src/client/sessions/session.ts
# packages/client/ui-conversation/package.json
# packages/client/ui-conversation/src/client/index.ts
# packages/client/ui-conversation/tests/apply-inject.spec.tsx
# packages/client/ui-conversation/tests/service-orchestration.spec.ts
# packages/host/webserver/tests/webserver.spec.ts
# pnpm-lock.yaml
2026-07-24 16:31:37 +08:00
Turtle
bb124c2869
Merge branch 'master' into feat/send-unify
2026-07-24 16:31:00 +08:00
Tianyi Cui
a88364ab66
Merge remote-tracking branch 'origin/master' into worktree/acp-automation-protocol
2026-07-24 16:30:03 +08:00
ZiyaZhang
12dbc00166
fix(tui): harden resume picker input
2026-07-24 01:29:35 -07:00
ZiyaZhang
33ee34b58e
fix(tui): make resume picker full-screen
2026-07-24 01:29:35 -07:00
Turtle
d3b00bbdff
test(tui): await fresh model selector frames
2026-07-24 01:29:35 -07:00
Turtle
c440217fde
refactor(tui): defer cross-process resume locking
2026-07-24 01:29:35 -07:00
NI0317
54d986ed87
fix(tui): close resume handoff races
2026-07-24 01:29:35 -07:00
NI0317
2ae9f4fdf3
feat(tui): add safe session resume flow
2026-07-24 01:29:35 -07:00
Yichen Jiang
6b7984a85e
Merge remote-tracking branch 'origin/master' into worktree/web-multimodal-image-input
...
# Conflicts:
# apps/cli/src/web.ts
# apps/web/tests/smoke-fixture.e2e.ts
# docs/architecture.i18n.yaml
# packages/client/connection/src/client/fixture.ts
# packages/client/runtime/src/client/sessions/conversation.ts
# packages/client/runtime/src/client/sessions/session.ts
# packages/client/ui-conversation/package.json
# packages/client/ui-conversation/src/client/contract/slots.ts
# packages/client/ui-conversation/src/client/index.ts
# packages/client/ui-conversation/src/client/service.ts
# packages/client/ui-conversation/src/client/skeleton/ConversationRoot.tsx
# packages/client/ui-conversation/tests/apply-inject.spec.tsx
# packages/client/ui-conversation/tests/service-orchestration.spec.ts
# packages/host/runtime/src/api-proxy.ts
# packages/host/runtime/src/boot.ts
# packages/host/webserver/tests/webserver.spec.ts
# pnpm-lock.yaml
2026-07-24 16:29:03 +08:00
_Kerman
66645638fb
Merge remote-tracking branch 'origin/feat/send-unify' into xtr/agent-loop-message-machine
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-07-22-unified-send-and-coalesced-user-messages.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-22-unified-send-and-coalesced-user-messages.md
# .agents/notes/implemented/architecture/2026-07-22-unified-send-and-coalesced-user-messages.zh.md
# docs/architecture.i18n.yaml
# docs/architecture.md
# docs/architecture.zh.md
# docs/core-data-structures/core.md
# packages/context/session-reference/README.md
# packages/cordis/tool-cordis/src/api-catalog.ts
# packages/core/agent-loop/README.md
# packages/core/agent-loop/src/agent.ts
# packages/core/agent-loop/src/inbox.ts
# packages/core/agent-loop/tests/agent.spec.ts
# packages/core/agent-loop/tests/cancel.spec.ts
# packages/core/agent-loop/tests/contract-regressions.spec.ts
# packages/core/agent-loop/tests/coverage-edges.spec.ts
# packages/core/agent-loop/tests/interception.spec.ts
# packages/core/agent-loop/tests/loop.spec.ts
# packages/core/agent/README.md
# packages/core/agent/src/types.ts
# packages/core/agent/tests/agent.spec.ts
# packages/ui/acp/src/index.ts
# packages/ui/tui/src/index.ts
# packages/ui/tui/tests/harness.ts
2026-07-24 16:25:53 +08:00
_Kerman
e23960b8ad
refactor(agent): require complete send options
2026-07-24 16:23:20 +08:00
creatixchu
fd657e90ea
Merge remote-tracking branch 'origin/master' into worktree/web-multimodal-image-input
...
# Conflicts:
# apps/cli/src/web.ts
# apps/web/tests/smoke-fixture.e2e.ts
# docs/architecture.i18n.yaml
# packages/client/connection/src/client/fixture.ts
# packages/client/runtime/src/client/sessions/conversation.ts
# packages/client/runtime/src/client/sessions/session.ts
# packages/client/ui-conversation/package.json
# packages/client/ui-conversation/src/client/contract/slots.ts
# packages/client/ui-conversation/src/client/index.ts
# packages/client/ui-conversation/src/client/service.ts
# packages/client/ui-conversation/src/client/skeleton/ConversationRoot.tsx
# packages/client/ui-conversation/tests/apply-inject.spec.tsx
# packages/client/ui-conversation/tests/service-orchestration.spec.ts
# packages/host/runtime/src/api-proxy.ts
# packages/host/runtime/src/boot.ts
# packages/host/webserver/tests/webserver.spec.ts
# pnpm-lock.yaml
2026-07-24 16:15:53 +08:00
07akioni
6f5321cb37
feat: workspace select menu
2026-07-24 16:09:58 +08:00
_Kerman
45fc7fda3d
refactor(agent-loop): separate injected context from turns
2026-07-24 16:05:52 +08:00
Hypatia May
01b70fd6fd
fix review findings for session queries
2026-07-24 15:58:03 +08:00
Hypatia May
bc47884a77
fix session-query CI invariants
2026-07-24 15:42:24 +08:00
Turtle
be29b012f1
fix(jsonrpc): update agent followup test doubles
2026-07-24 15:39:04 +08:00
Hypatia May
a350e95165
feat(session-query): add model-facing tools (round 1)
2026-07-24 15:09:55 +08:00
Turtle
b02b438667
refactor(agent): align delivery method names
2026-07-24 15:08:36 +08:00
fz
4cd4c11871
fix(web): deduplicate plan review rendering
2026-07-24 15:05:18 +08:00
Yichen Jiang
208a44a7ec
feat(web): add session model selector
2026-07-24 14:55:54 +08:00
_Kerman
712448a2d2
refactor(agent-loop): simplify turn driver
2026-07-24 14:43:56 +08:00