Commit Graph

9869 Commits

Author SHA1 Message Date
Yichen Jiang
b4213fac6f Merge branch 'stack/agent-profiles-5-web-ui' into stack/agent-profiles-8-authoring
# Conflicts:
#	packages/client/ui-agent-preset/src/client/AgentPresetRow.tsx
#	packages/client/ui-agent-preset/src/client/AgentPresetSeat.tsx
2026-08-07 15:59:59 +08:00
Yichen Jiang
e9648bdeee refactor(ui-agent-preset): one preset picker behind both surfaces
The settings row and the composer seat differ in where they sit, what they
call the current value, and when they refuse a pick — not in how the picker
behaves. Extracting it also stops the row from reading like the permission
row it has nothing to do with.
2026-08-07 15:59:23 +08:00
Yichen Jiang
d612103135 refactor(apiproxy): one wording for a preset failure on both paths
Session create and the preset switch can be handed the same two failures, and
a client branching on the code needs them worded identically from either.
2026-08-07 15:57:23 +08:00
Yichen Jiang
5f57f51f34 refactor(session-query-sqlite): bind the header columns once
Both session upserts write the same eight header columns and differ only in
what they append; the agent_preset column made the pair long enough for the
duplication gate to flag it.
2026-08-07 15:55:24 +08:00
Yichen Jiang
9f0159e15c refactor(apiproxy): one wording for a preset failure on both paths
Session create and the preset switch can be handed the same two failures, and
a client branching on the code needs them worded identically from either.
2026-08-07 15:53:18 +08:00
Yichen Jiang
82ae1a8a37 refactor(ui-agent-preset): one home for the roster read every surface starts from
The row and the management section opened `load` the same way — refuse a
concurrent read, mark the store loading, read, fold both refusal shapes into
the store's error. What differs between them starts after that.
2026-08-07 15:52:02 +08:00
Yichen Jiang
0f27a505c4 refactor(ui-agent-preset): one home for turning a roster into options
The chip and the settings row both spread the same three fields, and
`exactOptionalPropertyTypes` makes the absent-vs-undefined dance verbose
enough that the duplication gate flagged it.
2026-08-07 15:46:46 +08:00
Yichen Jiang
1fa9a1cf1d chore(docs): re-record the apiproxy README pairing after the master merge 2026-08-07 15:42:49 +08:00
Yichen Jiang
2463d67c30 Merge branch 'stack/agent-profiles-5-web-ui' into stack/agent-profiles-8-authoring 2026-08-07 15:42:33 +08:00
Yichen Jiang
3b35ad4b2b chore(docs): re-record the apiproxy README pairing after the master merge 2026-08-07 15:42:26 +08:00
Yichen Jiang
5ec13a23b3 Merge branch 'stack/agent-profiles-5-web-ui' into stack/agent-profiles-8-authoring
# Conflicts:
#	packages/host/apiproxy/README.i18n.yaml
2026-08-07 15:41:18 +08:00
Yichen Jiang
df2d2adbb8 Merge branch 'stack/agent-profiles-3-wire' into stack/agent-profiles-5-web-ui
# Conflicts:
#	packages/host/apiproxy/README.i18n.yaml
2026-08-07 15:41:14 +08:00
Yichen Jiang
6093c266c6 Merge branch 'stack/agent-profiles-1-seam' into stack/agent-profiles-3-wire 2026-08-07 15:41:09 +08:00
Yichen Jiang
23fea5e70d Merge remote-tracking branch 'origin/master' into stack/agent-profiles-1-seam 2026-08-07 15:41:03 +08:00
Yichen Jiang
7ce9c244ae Merge pull request #1810 from deepseek-harness/claude/docs-model-providers
docs(user): 新增「配置模型」入门文档,并让文档站点自带图片
2026-08-07 15:15:27 +08:00
Yichen Jiang
4f1c419fdc Merge branch 'stack/agent-profiles-8-authoring' into stack/agent-profiles-9-rename 2026-08-07 15:12:27 +08:00
Yichen Jiang
d41e8d9da8 Merge branch 'stack/agent-profiles-6-cordis-agent' into stack/agent-profiles-7-docs 2026-08-07 15:12:27 +08:00
Yichen Jiang
d6f540134a Merge branch 'stack/agent-profiles-7-docs' into stack/agent-profiles-8-authoring 2026-08-07 15:12:27 +08:00
Yichen Jiang
4c70e2e17c Merge branch 'stack/agent-profiles-5-web-ui' into stack/agent-profiles-6-cordis-agent 2026-08-07 15:12:27 +08:00
Yichen Jiang
67a681c9bd Merge branch 'stack/agent-profiles-4-settings' into stack/agent-profiles-5-web-ui
# Conflicts:
#	packages/preset/agent-presets/tests/mount.spec.ts
2026-08-07 15:12:16 +08:00
Yichen Jiang
44e9bfca75 test(agent-presets): keep one write regression after the merge
The lower layer now carries the same test, and the merge kept both copies.
2026-08-07 15:11:39 +08:00
Yichen Jiang
f4cca95776 Merge branch 'stack/agent-profiles-8-authoring' into stack/agent-profiles-9-rename 2026-08-07 15:10:04 +08:00
Yichen Jiang
e432428006 Merge branch 'stack/agent-profiles-6-cordis-agent' into stack/agent-profiles-7-docs 2026-08-07 15:10:04 +08:00
Yichen Jiang
23ea52859e Merge branch 'stack/agent-profiles-7-docs' into stack/agent-profiles-8-authoring 2026-08-07 15:10:04 +08:00
Yichen Jiang
4a18f1edbb Merge branch 'stack/agent-profiles-5-web-ui' into stack/agent-profiles-6-cordis-agent 2026-08-07 15:10:04 +08:00
Yichen Jiang
8d94b99d58 test(agent-presets): drop the write regression this layer no longer introduces
The lower layer now carries it, and the merge kept both copies.
2026-08-07 15:06:05 +08:00
Yichen Jiang
61895808a6 Merge branch 'stack/agent-profiles-3-wire' into stack/agent-profiles-4-settings 2026-08-07 15:04:30 +08:00
Yichen Jiang
7b9783fb76 Merge branch 'stack/agent-profiles-4-settings' into stack/agent-profiles-5-web-ui 2026-08-07 15:04:30 +08:00
Yichen Jiang
6435463edc test(agent-presets): prove the write override where it is introduced
The regression for `PresetTree.write` lived two layers up, so this layer's own
assertion could not fail: it checked the file after an ordinary teardown, and
the Loader's unload listener returns early when the whole tree is being
disposed, so the override never ran. Moves the self-disposing-row test down to
the layer that adds the override, in a temp root so a committed fixture cannot
be damaged by the run that proves the bug.
2026-08-07 15:04:23 +08:00
Yichen Jiang
4f419a4fec Merge branch 'stack/agent-profiles-8-authoring' into stack/agent-profiles-9-rename 2026-08-07 15:02:01 +08:00
Yichen Jiang
41e092ba60 Merge branch 'stack/agent-profiles-7-docs' into stack/agent-profiles-8-authoring
# Conflicts:
#	packages/client/ui-agent-preset/src/client/settings-store.ts
#	packages/client/ui-agent-preset/tests/apply.spec.ts
#	packages/client/ui-agent-preset/tests/components.spec.tsx
#	packages/client/ui-agent-preset/tests/settings-store.spec.ts
2026-08-07 15:01:52 +08:00
Yichen Jiang
6a953fb674 Merge branch 'stack/agent-profiles-6-cordis-agent' into stack/agent-profiles-7-docs 2026-08-07 15:01:30 +08:00
Yichen Jiang
3d9ef4e0e4 Merge branch 'stack/agent-profiles-5-web-ui' into stack/agent-profiles-6-cordis-agent 2026-08-07 15:01:29 +08:00
Yichen Jiang
c96b480bc4 test(ui-agent-preset): cover the surface where it is introduced
The package landed here with one store spec; the rest of its tests were written
three layers up, so this layer and the two above it failed the per-file
coverage gate on 191 locations while every test passed.

Adds the node half's invariant companion, the two components, the registration
apply, and the stores' failure paths. `currentValue` drops a `?? ''` that an
empty roster already returned before reaching — the same shape the later layer
arrived at, so the two converge instead of conflicting.
2026-08-07 14:58:03 +08:00
Yichen Jiang
0ed51eab01 Merge branch 'stack/agent-profiles-8-authoring' into stack/agent-profiles-9-rename 2026-08-07 14:47:52 +08:00
Yichen Jiang
ab110c1da2 Merge branch 'stack/agent-profiles-7-docs' into stack/agent-profiles-8-authoring
# Conflicts:
#	.agents/notes/implemented/architecture/2026-08-03-per-session-agent-presets.i18n.yaml
#	apps/cli/tests/web-agent-presets.e2e.ts
2026-08-07 14:47:40 +08:00
Yichen Jiang
ce468c87f2 chore(docs): re-record the agent-preset note pairing after the merge 2026-08-07 14:47:08 +08:00
Yichen Jiang
c5f3dc3317 Merge branch 'stack/agent-profiles-6-cordis-agent' into stack/agent-profiles-7-docs
# Conflicts:
#	.agents/notes/implemented/architecture/2026-08-03-per-session-agent-presets.i18n.yaml
2026-08-07 14:46:46 +08:00
Yichen Jiang
51e1f48540 fix(cli): keep the subagent registry host-plane in the cordis preset
The cordis preset moved `bash-env`, the `subagents` registry, and its
spawn/fork backends into entry-local realms. A host row that injects a service
is the criterion for host-plane ownership: `apps/cli/src/web.ts` injects
`bash-env`, and `dsh-host-apiproxy` injects `subagents` to answer the
browser's cross-session queries, so both waited forever for a service only
sessions provided. A provider name also registers once, so the second session
would have collided regardless.

This layer introduces the preset, so it is where the plane belongs — a later
layer already corrected it, which left this layer and the docs one unmountable
on their own. The composition test stops disabling `api-gateway` with it: the
row whose pending injection names the break cannot be the row the test turns
off, so the boot audit now covers the whole host-plane injection graph.
2026-08-07 14:45:30 +08:00
Yichen Jiang
23a4c0a51e Merge pull request #1827 from deepseek-harness/worktree/charming-swartz-83bf33
fix(llm,web): validate API key format before it reaches an HTTP header
2026-08-07 14:36:04 +08:00
Yichen Jiang
20d7fe912e fix(cli): give the code preset's todo tool its required config
The last preset naming `tool-todo` without choosing
`allowParallelInProgress`, which master made mandatory.
2026-08-07 14:27:00 +08:00
Yichen Jiang
d7c8d197ea Merge branch 'stack/agent-profiles-7-docs' into stack/agent-profiles-8-authoring 2026-08-07 14:26:33 +08:00
Yichen Jiang
c068729f28 Merge branch 'stack/agent-profiles-8-authoring' into stack/agent-profiles-9-rename 2026-08-07 14:26:33 +08:00
Yichen Jiang
17adcf8557 Merge branch 'stack/agent-profiles-6-cordis-agent' into stack/agent-profiles-7-docs 2026-08-07 14:26:32 +08:00
Yichen Jiang
f1ac260a70 fix(cli): give the cordis preset's todo tool its required config
Same required field as the standard preset: master made
`allowParallelInProgress` mandatory on dsh-tool-todo, and a preset that names
the row owns the choice.
2026-08-07 14:26:27 +08:00
Yichen Jiang
6c315d2cb6 Merge branch 'stack/agent-profiles-3-wire' into stack/agent-profiles-4-settings 2026-08-07 14:25:59 +08:00
Yichen Jiang
5ee6b13ecb Merge branch 'stack/agent-profiles-4-settings' into stack/agent-profiles-5-web-ui 2026-08-07 14:25:59 +08:00
Yichen Jiang
04e97d16e3 Merge branch 'stack/agent-profiles-5-web-ui' into stack/agent-profiles-6-cordis-agent 2026-08-07 14:25:59 +08:00
Yichen Jiang
bdf5e39986 fix(cli): give the shipped preset's todo tool its required config
master made `allowParallelInProgress` a required field on dsh-tool-todo, so
every composition must choose it. The base patch was updated with the field,
but the Web surface takes `tool-todo` from the mounted preset instead, and
that row carried no config — so the `standard` preset failed to mount and
every session on the Web surface died at setup.

Also make the preset tree's write test reach the override. Tearing the agent
down stops in the loader's own "tree is being disposed" case before any write;
a live row reconfiguring itself is the trigger that actually gets there.
2026-08-07 14:25:35 +08:00
_Kerman
57749361ec Merge pull request #1343 from deepseek-harness/feat/fs-tool-error-remedy
feat(fs): append recovery remedy to guarded-mutation errors
2026-08-07 14:15:08 +08:00