Yichen Jiang
ecb66a3497
Merge remote-tracking branch 'origin/master' into feat/plugin-detail-slots
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-09-16-plugin-configuration-on-the-plugins-page.i18n.yaml
# .agents/notes/implemented/architecture/2026-09-16-plugin-configuration-on-the-plugins-page.md
# .agents/notes/implemented/architecture/2026-09-16-plugin-configuration-on-the-plugins-page.zh.md
# apps/web/tests/expected/plugin-config/row.expected.md
# apps/web/tests/fixtures/plugins/fixture-live-client/client.js
# apps/web/tests/plugin-config.e2e.ts
# 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
# packages/bundle/web-app/package.json
# packages/client/ui-plugin-manager/README.i18n.yaml
# packages/client/ui-plugin-manager/README.md
# packages/client/ui-plugin-manager/README.zh.md
# packages/client/ui-plugin-manager/src/client/PluginManagerPage.tsx
# packages/client/ui-plugin-manager/src/client/index.ts
# packages/client/ui-plugin-manager/src/client/slot-contract.ts
# packages/client/ui-plugin-manager/tests/components.client.spec.tsx
# packages/client/ui-settings-plugins/README.i18n.yaml
# packages/client/ui-settings-plugins/README.md
# packages/client/ui-settings-plugins/README.zh.md
# packages/extensions/cordis-client-runner/src/client/slot-catalog.ts
# pnpm-lock.yaml
2026-09-21 16:59:17 +08:00
_Kerman
2e99e6021d
Merge remote-tracking branch 'origin/master' into xtr/normalize-agent-cancel-cause
2026-09-21 12:45:05 +08:00
_Kerman
35f3abf1fa
fix(agent-loop): copy the cancel cause before logging turn/end
...
Node's fetch assigns an enumerable `stack` string onto the abort reason
object it receives, and the loop logged that same object into `turn/end`.
The undici trace became durable session data under a field no reader
declares. A transport adding a property JSON discards instead made
`Session.append` reject the ending, leaving a turn with no close.
`abortedCancelCause()` narrows the untyped `AbortSignal.reason` once and
copies the declared fields, replacing the three `as AgentCancelCause`
assertions at the two read sites and the log write.
2026-09-21 11:45:03 +08:00
Yichen Jiang
61719629fc
Merge remote-tracking branch 'origin/master' into worktree/process-plugin-streaming-72f9b3
...
# Conflicts:
# apps/web/tests/expected/agent-preset-selection/header.expected.md
# docs/architecture.i18n.yaml
# 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
# docs/persistence-schema.json
# docs/subsystems/web-client.i18n.yaml
# packages/api/README.i18n.yaml
# packages/api/README.md
# packages/api/README.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/src/client/sessions/manager.ts
# packages/api/session-controller/src/client/sessions/service.ts
# packages/api/session-controller/tests/manager.client.spec.ts
# packages/client/locale/tests/language-row.client.spec.tsx
# packages/client/ui-chat/tests/chat-view.client.spec.tsx
# packages/client/ui-chat/tests/transcript-view-row.client.spec.tsx
# packages/client/ui-conversation/tests/conversation-registry.client.spec.ts
# packages/client/ui-conversation/tests/enter-behavior-row.client.spec.tsx
# packages/client/ui-conversation/tests/input-bar.client.spec.tsx
# packages/client/ui-conversation/tests/input-matrix.client.spec.tsx
# packages/client/ui-conversation/tests/input-scenarios.client.spec.tsx
# packages/client/ui-conversation/tests/skeleton.client.spec.tsx
# packages/client/ui-deliverables/tests/deliverables.client.spec.tsx
# packages/client/ui-jobs/tests/job-list-action.client.spec.tsx
# packages/client/ui-layout/tests/app-frame.client.spec.tsx
# packages/client/ui-layout/tests/document-title.client.spec.tsx
# packages/client/ui-open-in-app/tests/open-in-app-action.client.spec.tsx
# packages/client/ui-primitives/README.i18n.yaml
# packages/client/ui-session/tests/ui-session.client.spec.ts
# packages/client/ui-settings-general/tests/settings-root.client.spec.tsx
# packages/client/ui-settings-unarchive-sessions/tests/components.client.spec.tsx
# 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/SubagentHeaderLineage.tsx
# packages/client/ui-subagent/tests/conversation-ui.client.spec.tsx
# packages/client/ui-theme/tests/appearance-row.client.spec.tsx
# packages/client/ui-theme/tests/font-size-row.client.spec.tsx
# packages/client/ui-tool/tests/coverage-tails.client.spec.tsx
# packages/client/ui-tool/tests/diff-card.client.spec.tsx
# packages/client/ui-tool/tests/image-card.client.spec.tsx
# packages/client/ui-tool/tests/read-card.client.spec.tsx
# packages/client/ui-tool/tests/terminal-card.client.spec.tsx
# packages/client/ui-trajectory/tests/views.client.spec.tsx
# packages/client/ui-user-questions/tests/plan-review-panel.client.spec.tsx
# packages/client/ui-user-questions/tests/user-questions-composer.client.spec.tsx
# packages/client/ui-workflow-run/tests/workflow-run.client.spec.tsx
# packages/client/ui-workspace/tests/apply.client.spec.ts
# packages/client/ui-workspace/tests/tree.client.spec.ts
# packages/client/ui-workspace/tests/workspace-browser.client.spec.tsx
# packages/client/ui-workspace/tests/workspace-picker.client.spec.tsx
# packages/client/ui-workspace/tests/workspaces-service.client.spec.ts
# packages/extensions/cordis-client-runner/src/client/slot-catalog.ts
# packages/jobs/tool-jobs/src/index.ts
# packages/shell/tool-bash/README.i18n.yaml
# packages/test-support/client-runtime/src/sessions.ts
2026-09-21 11:34:20 +08:00
Yichen Jiang
78dcbc8587
feat(infra): unify Web and Desktop launch commands
...
Web and Desktop now share one command pair: start:* launches the artifacts
of a prior complete build and dev:* builds first, then launches. start:web
is new and spells out the same source launch vector as `pnpm dsh web`;
dev:web runs `pnpm run build`, the three rebuild watchers, and `dsh web` in
one terminal, with --skip-build and --no-serve for the previous two-terminal
flow. The launcher gate pins both scripts to the dsh CLI, and a root
Makefile names the same commands as make web|dev-web|desktop|dev-desktop|build.
The dev-web stage supervisor waits for stages the terminal already
interrupted, escalates only survivors, forwards SIGTERM once, and reports a
stage that exits on its own. Signal listeners are persistent because the
tsdown watchers bundle signal-exit, which re-raises a signal when it finds
no other listener.
2026-09-20 15:50:41 +08:00
Yichen Jiang
3135e4d612
Merge remote-tracking branch 'origin/master' into feat/plugin-detail-slots
...
# Conflicts:
# apps/web/tests/expected/plugin-config/row.expected.md
# packages/client/ui-plugin-manager/src/client/PluginManagerPage.tsx
# packages/client/ui-primitives/src/index.ts
# packages/client/ui-primitives/src/settings-form/fields.tsx
# packages/client/ui-settings-plugins/package.json
# packages/client/ui-settings-plugins/src/client/locales.ts
2026-09-19 10:36:07 +08:00
Yichen Jiang
5c10701df2
Merge remote-tracking branch 'origin/master' into worktree/jobs-api-review-3052
...
# Conflicts:
# apps/web/tests/expected/agent-preset-selection/header.expected.md
# packages/client/ui-chat/src/client/chat/ContextInjectionRow.tsx
# packages/client/ui-jobs/package.json
# packages/client/ui-jobs/src/client/JobListAction.module.css
# packages/client/ui-jobs/src/client/JobListAction.tsx
# packages/client/ui-jobs/tests/job-list-action.client.spec.tsx
# 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/SubagentHeaderLineage.tsx
2026-09-19 10:35:09 +08:00
imccyu
0ea890044f
test(cli): cover runtime profile defaults and sync docs
2026-09-17 20:23:14 +08:00
Yichen Jiang
caa0c99be1
docs(web): follow up the review on the companion move and detail slots
...
The maintained docs now name the four companion packages where they
still credited `ui-settings-plugins`: the web-app row comment, the
Plugins page README, the ui-settings README, and the client group
README, which gains a row per companion. The ui-settings README states
the `whileServed` lifetime and disposer ownership beside `bind`, and the
JSDoc says the caller owns the disposer. The settings-page cookbook
keeps the one home of the lazy-CJS build limitation for packages outside
this repository, its JSX example is a tsx fence, and the architecture
index and website label follow the page's title. The Agent Note records
the shell page's `plugins.item` id, the two companions that use
`ctx.remote` list api-remotes in `dsh.client.inject`, and the moved form
model test speaks of the form.
2026-09-17 20:13:26 +08:00
Yichen Jiang
6e41857b2e
Merge remote-tracking branch 'origin/master' into worktree/jobs-api-review-3052
...
# Conflicts:
# docs/event-producer-consumer.i18n.yaml
# docs/event-producer-consumer.md
# docs/event-producer-consumer.zh.md
# packages/api/remotes/src/client/index.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/src/client/sessions/manager.ts
# packages/api/session-controller/src/control.ts
# packages/api/session-controller/src/types.ts
# packages/api/session-controller/tests/client-apply.client.spec.ts
# packages/api/session-controller/tests/manager.client.spec.ts
# packages/api/session-controller/tests/projection-store.client.spec.ts
# packages/api/session-controller/tests/queue-store.client.spec.ts
# packages/api/session-controller/tests/sessions-service.client.spec.ts
# packages/api/session-controller/tests/transport.client.spec.ts
# packages/client/ui-jobs/package.json
# packages/client/ui-primitives/src/TerminalBlock.module.css
# packages/client/ui-primitives/src/TerminalBlock.tsx
# packages/client/ui-primitives/tests/terminal-block.client.spec.tsx
# packages/extensions/tool-cordis/src/api-catalog.ts
# packages/test-support/client-runtime/src/assembly/remote-default-responses.ts
2026-09-16 16:05:59 +08:00
Yichen Jiang
1596097147
Merge remote-tracking branch 'origin/master' into worktree/jobs-api-review-3052
...
# Conflicts:
# apps/web/tsconfig.json
# 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/remotes/package.json
# packages/api/remotes/src/client/index.ts
# packages/api/session-controller/tests/client-apply.client.spec.ts
# packages/api/session-controller/tests/control-jobs.host.spec.ts
# packages/api/session-controller/tests/fake-api.client.ts
# packages/api/session-controller/tests/manager.client.spec.ts
# packages/client/ui-jobs/package.json
# packages/extensions/cordis-client-runner/src/client/slot-catalog.ts
# packages/jobs/jobs-local/README.i18n.yaml
# packages/jobs/jobs-local/README.md
# packages/jobs/jobs-local/README.zh.md
# packages/jobs/jobs-local/src/index.ts
# packages/jobs/jobs-local/tests/jobs.spec.ts
# packages/jobs/tool-jobs/tests/tool-jobs.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/shell/tool-bash/src/background.ts
# packages/shell/tool-bash/src/index.ts
# packages/shell/tool-pwsh/src/background.ts
# packages/shell/tool-pwsh/src/index.ts
2026-09-16 15:53:02 +08:00
_Kerman
4d306deb0a
Merge remote-tracking branch 'origin/master' into xtr/durable-inbox-web-recovery
2026-09-15 17:22:59 +08:00
_Kerman
992a932a16
Merge remote-tracking branch 'origin/master' into xtr/durable-inbox-web-recovery
...
# Conflicts:
# packages/api/session-controller/README.i18n.yaml
# packages/api/session-controller/README.md
# packages/api/session-controller/README.zh.md
# packages/client/ui-conversation/README.i18n.yaml
# packages/client/ui-conversation/README.md
# packages/client/ui-conversation/README.zh.md
# packages/client/ui-conversation/src/client/contract/input.ts
# packages/client/ui-conversation/src/client/input/facade.ts
2026-09-15 16:52:24 +08:00
Turtle
7d4188b450
fix(cli): address profile shorthand review feedback
2026-09-15 16:49:03 +08:00
Turtle
311156b1c2
Merge master and preserve profile-managed HMR
2026-09-15 16:20:47 +08:00
07akioni
4feb87da34
feat(desktop): load bundled Web UI before backend readiness
2026-09-15 13:43:27 +08:00
Turtle
abd765a600
refactor(hmr): own profile reload lifecycle through YAML
2026-09-15 13:01:06 +08:00
Turtle
d06e6b5519
feat: coordinate profile management through dsh-hmr
2026-09-14 23:09:06 +08:00
Turtle
98b92b683c
feat: add current-profile plugin manager service and Web controls
2026-09-14 23:09:05 +08:00
winewill
361c20cb41
Merge master into thin Electron Web UI
...
Retain the Desktop profile-boot alias alongside the new browser-use and
terminal aliases when resolving tsconfig.base.json.
2026-09-14 17:06:17 +08:00
_Kerman
cf4ba60b47
Merge remote-tracking branch 'origin/master' into xtr/durable-inbox-web-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
2026-09-14 15:01:03 +08:00
_Kerman
49f601e902
Merge remote-tracking branch 'origin/master' into xtr/durable-inbox-web-recovery
...
# Conflicts:
# docs/event-producer-consumer.i18n.yaml
# docs/event-producer-consumer.md
# docs/event-producer-consumer.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/client-apply.client.spec.ts
# packages/api/session-controller/tests/fake-api.client.ts
# packages/api/session-controller/tests/manager.client.spec.ts
# packages/api/session-controller/tests/projection-store.client.spec.ts
# packages/api/session-controller/tests/queue-store.client.spec.ts
# packages/api/session-controller/tests/session-pending-submissions.client.spec.ts
# packages/client/connection/src/client/fixture.ts
# packages/client/connection/tests/fixture.client.spec.ts
# packages/core/agent-loop/README.i18n.yaml
# packages/core/agent-loop/README.md
# packages/core/agent-loop/README.zh.md
# packages/extensions/tool-cordis/src/api-catalog.ts
2026-09-14 14:12:25 +08:00
_Kerman
0a382becb3
Merge latest origin/master into xtr/agent-setup-hook
2026-09-14 13:57:18 +08:00
07akioni
9187c3662e
Merge master and fix desktop editing and Windows lock contention
2026-09-14 12:16:33 +08:00
creatixchu
a7070008e7
Merge master and integrate image offload with both DeepSeek protocols
2026-09-14 10:19:11 +08:00
Turtle
71d50b4a84
refactor: ban ambiguous origin label
2026-09-11 17:45:28 +08:00
creatixchu
413ac14b16
refactor: move image offload projection into its plugin
2026-09-11 15:24:45 +08:00
07akioni
8c2fa73ceb
refactor(desktop): share profile initialization and plugin management
2026-09-10 22:44:52 +08:00
creatixchu
4b1408e1df
Merge origin/master into worktree/3041-image-offload-log-design
2026-09-10 17:20:54 +08:00
_Kerman
fd7ee32315
Merge origin/master into xtr/agent-setup-hook
2026-09-10 17:02:57 +08:00
creatixchu
b5e7fca4a5
feat(compaction): record image offload decisions without message replacement
2026-09-10 16:47:50 +08:00
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
07akioni
8ce9b21ea9
Merge master into fix/bundle-speed and preserve desktop runtime changes
2026-09-10 11:25:04 +08:00
imccyu
63187de80f
release: publish experimental Agent Teams packages
2026-09-09 18:54:14 +08:00
_Kerman
aeb13413c7
test(agent): complete awaited creation migration
2026-09-09 17:14:53 +08:00
_Kerman
72f2e71070
fix(web): reconcile durable inbox recovery with master
2026-09-09 15:14:08 +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
07akioni
8e4d3bab9f
feat: 优化打包方式、启动速度
2026-09-08 16:39:17 +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
5b039c1796
Merge master 822041865d into Session V3 release
2026-09-08 00:17:14 +08:00
07akioni
5fd247f64c
Merge latest master into feat/electron
2026-09-07 16:02:13 +08:00
Tianyi Cui
70ae2354d0
Merge latest master performance work and V3 preset migration
...
Freeze exactly the post-admission derived message array using the inherited per-agent provenance cache, preserving the prepared-route ordering and retry semantics. Adopt the root’s legacy preset migration without changing native V3 custom preset behavior. Request freeze, admission, projection and reconstruction regressions pass58 tests.
2026-09-07 14:55:12 +08:00
Tianyi Cui
19d167cec2
Merge latest master request-freeze and frontend performance work
...
Preserve the V3 system-prompt projection while adopting master’s per-agent frozen-message provenance and frontend performance gates. Keep benchmark workload admission and diagnostics fixes intact, and retain both migration and first-open/reopen lifecycle guarantees.
2026-09-07 14:53:00 +08:00
Tianyi Cui
73edce1ae7
perf(agent-loop): reuse proven message freezes per agent
2026-09-07 13:29:37 +08:00
07akioni
31b3f3bc44
Merge remote-tracking branch 'origin/master' into feat/electron
...
# Conflicts:
# .agents/notes/archived/manifest.json
# .agents/notes/archived/simplification/2026-07-31-drop-user-message-edit-stub.i18n.yaml
# .agents/notes/archived/simplification/2026-07-31-drop-user-message-edit-stub.md
# .agents/notes/archived/simplification/2026-07-31-drop-user-message-edit-stub.zh.md
# .agents/notes/implemented/architecture/2026-09-05-canonical-feedback-log.i18n.yaml
# .agents/notes/implemented/bug-fix/2026-09-05-nested-terminal-cards.i18n.yaml
# docs/config-catalog.i18n.yaml
# docs/config-catalog.zh.md
# packages/boot/app-boot/README.i18n.yaml
# packages/boot/app-boot/README.md
# packages/boot/app-boot/README.zh.md
# packages/client/connection/src/index.ts
# packages/client/connection/tests/node-half.host.spec.ts
# packages/shell/tool-pwsh-persistent/README.i18n.yaml
# packages/shell/tool-pwsh-persistent/README.md
# packages/shell/tool-pwsh-persistent/README.zh.md
# pnpm-lock.yaml
# tsconfig.host.json
2026-09-07 11:10:46 +08:00
Tianyi Cui
85421f31bc
fix(agent-loop): detect first resumed pre-step replacement
...
Seed the request surface watermark from the attached session so a replacement before the first resumed request consolidates retained prompt versions. An unchanged resume still continues the series. Actual-loop replacement regression fails before the fix; 53 focused tests and the agent-loop project typecheck pass.
2026-09-07 11:09:40 +08:00
Tianyi Cui
4028686136
fix(agent-loop): clear every retained system instruction
...
Use the same logged per-node normalization for an empty rendering as for incapable routes and broken request series: empty each active later system node, then empty the first node. Clearing only the latest node exposes stale earlier instructions, including converter-demoted user text. Dormant empty tails neither override effective text nor produce repeated replacements.
Keep the cleared structural head and ordinary restoration semantics: a capable continuing series may append new nonempty instructions, while incapable or broken-series requests refill the head. No initial empty-head creation change, deletion event, or rollback machinery.
Tests: capable/plain clearing after three active prompt versions fails before the fix and passes afterward; repeated clear and seeded resume remain empty without duplicate system events, restoration includes only new instructions, pi-ai conversion has no stale prompt, and source-event replay reconstructs every request. Final 395 loop tests pass with exact agent.ts/runtime-context.ts coverage at 100% all metrics; source tsc and focused lint pass. Fix new test discriminant narrowing discovered by focused compiler audit. Update EN/ZH consumers and owning rationale, seven pairs verified; parent owns broad gates and generated catalog/SDK/GUI updates.
2026-09-07 11:09:39 +08:00
Tianyi Cui
425a0a55e3
fix(agent-loop): reconcile prompts after retry compaction
...
Every same-step attempt resolves its bound route and reconciles the accepted rendered prompt against the current surface before deriving history. Preserve assembly, pre-step admission and entered users exactly once; compaction retries must not resurrect an older surviving prompt.
Normalize a broken request series to the current head plus dormant empty later system nodes, even if later versions survive or the effective text is unchanged. This removes the later-survivor exception without a delete operation and avoids appending instructions after already-admitted users on retry. Capture surface generation after reconciliation so subsequent ordinary retries do not emit phantom series headers.
Tests: both compaction cases fail before the fix (stale head, or stale later survivor), then pass with real loop/MockAdapter, pi-ai conversion and source-event reconstruction. Assert two retries keep one assembly/pre-step/user admission, preserve rendered text across section changes, and log one series boundary. Add unchanged-text explicit/tool series regressions. 391 loop tests with exact agent.ts/runtime-context.ts coverage pass at 100%; final admission spec has 11 passing cases. Source tsc and focused lint pass. Update EN/ZH implementation and owning rationale plus lifecycle retry documentation.
2026-09-07 11:09:39 +08:00
Tianyi Cui
2ce9738564
fix(agent-loop): admit prompts under the prepared route
...
Resolve agent/request and prepareCall inside the accepted open step before committing system and user input. Preserve prompt-assembly model selection, bind capability and dispatch to the same prepared adapter, then log the envelope and derive the request synchronously. Preparation cancellation leaves a balanced empty step with no admitted input.
Normalize incapable-route retained prompt versions with logged per-node empty replacements and a current head, including unchanged rendering and resumed history. Dormant empty tails do not override the effective prompt. No new event or delete operation.
Tests: 389 agent-loop cases pass with exact agent.ts/runtime-context.ts coverage at 100% for all metrics; tsc -b packages/core/agent-loop/tsconfig.json passes. Seven actual-loop MockAdapter cases exercise pi-ai conversion, source-event reconstruction, both route transitions, resume, cancellation barriers, and bound selection. Stale-capability negative control fails all three transition regressions. Update EN/ZH request visibility, lifecycle generator, and owning rationale. Broad catalogs, recorded SDK/GUI and aggregate gates remain parent-owned.
2026-09-07 11:09:39 +08:00
Tianyi Cui
c988a6796f
feat(agent-loop): append system prompt changes on capable routes
...
Consolidate the existing in-history capability, loop, UI and artifacts into one baseline. Preserve the reviewed tree so each independently verified correction has a subsequent rationale-rich commit.
2026-09-07 11:09:39 +08:00