Yichen Jiang
d5c5e7f2e9
Merge remote-tracking branch 'origin/master' into worktree/charming-swartz-83bf33
...
# Conflicts:
# apps/web/tests/models-settings.e2e.ts
# docs/config-catalog.md
# packages/client/ui-models/README.i18n.yaml
# packages/client/ui-models/README.md
# packages/client/ui-models/README.zh.md
# packages/client/ui-models/src/client/ProviderEditor.tsx
# packages/client/ui-models/tests/provider-form.spec.tsx
# packages/llm/llm-deepseek/README.i18n.yaml
# packages/llm/llm-deepseek/README.md
# packages/llm/llm-deepseek/README.zh.md
# packages/llm/llm-deepseek/src/index.ts
2026-08-07 14:12:17 +08:00
Yichen Jiang
d63c70bcf1
Merge remote-tracking branch 'origin/master' into worktree/default-model-persistence
...
# Conflicts:
# apps/web/tests/models-settings.e2e.ts
# packages/client/ui-models/README.i18n.yaml
# packages/client/ui-models/README.md
# packages/client/ui-models/README.zh.md
# packages/client/ui-models/src/client/ModelsSection.module.css
# packages/client/ui-models/src/client/ModelsSection.tsx
2026-08-07 13:54:15 +08:00
Yichen Jiang
9679597204
feat(ui-models): tag the provider rows this deployment declared
...
A row's stored profile could not tell a hand-declared gateway from a
shipped provider whose models someone narrowed — both look identical from
outside the adapter — so the Models page had no way to mark the routes a
deployment added itself.
The directory entry now carries `declared`, answered by the owning adapter
against its own installed catalog, and the page renders a Custom tag from
it. Absence stays "this adapter draws no such distinction" rather than
"shipped", so a route no adapter claims is labelled neither way.
Also records the default-route work's Agent Note and the e2e evidence for
all three changes: the composer switch writing the section, and the Models
page declaring a route with its own reasoning effort.
2026-08-07 13:49:47 +08:00
Yichen Jiang
a7be2ecb0f
Merge remote-tracking branch 'origin/master' into stack/agent-profiles-1-seam
2026-08-07 13:34:08 +08:00
Yichen Jiang
ddacc8de45
Merge pull request #1735 from deepseek-harness/worktree/provider-credential-lifecycle
...
fix(web): recover provider credential lifecycle
2026-08-07 13:27:18 +08:00
Chinesezjc
a9e040a126
Merge pull request #1080 from deepseek-harness/feat/py-types-code-mode
...
feat(tools): render a Python SDK and dispatch Code Mode by runtime language
2026-08-07 13:14:41 +08:00
Yichen Jiang
545080105f
Merge branch 'master' into worktree/charming-swartz-83bf33
2026-08-07 11:37:57 +08:00
Yichen Jiang
abd2e2973b
Merge branch 'master' into worktree/provider-credential-lifecycle
2026-08-07 11:37:41 +08:00
Yichen Jiang
6edd98e2b2
Merge branch 'master' into worktree/provider-credential-lifecycle
2026-08-07 11:28:22 +08:00
Yichen Jiang
91e9d5afa2
Merge branch 'master' into worktree/charming-swartz-83bf33
2026-08-07 11:28:05 +08:00
Chinesezjc
0567727410
Merge remote-tracking branch 'origin/master' into feat/todo-multi-in-progress
...
# Conflicts:
# apps/cli/config/base.cordis.yml
# packages/client/ui-conversation/README.i18n.yaml
2026-08-07 11:27:24 +08:00
Chinesezjc
20651af6a6
Merge branch 'master' into feat/py-types-code-mode
2026-08-07 11:23:41 +08:00
Yichen Jiang
7c7cd1aa35
Merge remote-tracking branch 'origin/master' into stack/agent-profiles-1-seam
2026-08-07 00:59:28 +08:00
Yichen Jiang
065257addb
fix(agent-presets): bound the mount registry on a host that never reads it
...
Records are pruned by observation rather than by a disposal hook, for the
reason the module already states: three different owners can tear a
subtree down, and a cleared `uid` is what they share. That leaves the
pruning to whoever reads — and the only production reader is the
invariant companion, whose package is a development composition a
shipped host never loads.
So a live host pruned nothing: every session ever composed left a record
retaining its whole disposed subtree, since the fiber holds its config
and that config is the key its EntryTree is stored under.
Prune on the mount path too. Every session takes it, which bounds the
set at one generation of dead records instead of one per session.
2026-08-07 00:33:40 +08:00
fz
16beccf423
Merge branch 'codex/fix-compact-agents-reinjection' into codex/fix-resume-baseline-dedup
2026-08-06 22:42:35 +08:00
Yichen Jiang
fe31cd7609
Merge remote-tracking branch 'origin/master' into claude/unified-environment-credentials-c8841a
...
# Conflicts:
# apps/cli/src/profile-boot.ts
# apps/cli/src/web.ts
2026-08-06 22:34:46 +08:00
Yichen Jiang
45d78c9272
fix(llm-pi-ai): refuse an unusable API key before the header is built
2026-08-06 22:12:50 +08:00
Yichen Jiang
5514dd2bd6
fix(llm-deepseek): refuse an API key no header can carry
2026-08-06 21:39:57 +08:00
Tianyi Cui
4b1528bcec
Merge retargeted parent into Claude Code subagent provider
2026-08-06 21:38:47 +08:00
Yichen Jiang
5e139ac64e
Merge remote-tracking branch 'origin/master' into claude/unified-environment-credentials-c8841a
...
# Conflicts:
# .agents/notes/implemented/feature/2026-07-20-dsh-cli-personal-config.i18n.yaml
# .agents/notes/implemented/feature/2026-07-20-dsh-cli-personal-config.md
# .agents/notes/implemented/feature/2026-07-20-dsh-cli-personal-config.zh.md
# apps/cli/config/base.cordis.yml
# apps/cli/package.json
# apps/cli/reference/README.i18n.yaml
# apps/cli/reference/README.md
# apps/cli/reference/README.zh.md
# apps/cli/src/app-cli-entry.ts
# apps/cli/src/args.ts
# apps/cli/src/bin.ts
# apps/cli/src/config.ts
# apps/cli/src/dump-config.ts
# apps/cli/src/headless.ts
# apps/cli/src/web.ts
# apps/cli/tests/args.spec.ts
# apps/cli/tests/built-bin.e2e.ts
# apps/cli/tests/headless-shutdown.e2e.ts
# apps/cli/tsconfig.json
# docs/user/guide/config.i18n.yaml
# docs/user/guide/config.md
# docs/user/guide/config.zh.md
# examples/mcp-memory/README.i18n.yaml
# examples/mcp-memory/README.md
# examples/mcp-memory/README.zh.md
# packages/bundle/web-app/cordis.patch.yml
# packages/cordis/repository-plugin/README.i18n.yaml
# packages/cordis/repository-plugin/README.md
# packages/cordis/repository-plugin/README.zh.md
# packages/credentials/credentials-local/README.i18n.yaml
# packages/credentials/credentials-local/README.md
# packages/credentials/credentials-local/README.zh.md
# packages/ui/app-boot/README.i18n.yaml
# packages/ui/app-boot/README.md
# packages/ui/app-boot/README.zh.md
# packages/ui/app-boot/src/index.ts
# packages/ui/app-boot/tests/config-reload.spec.ts
# packages/ui/app-boot/tests/user-patches.spec.ts
# pnpm-lock.yaml
2026-08-06 21:34:45 +08:00
Tianyi Cui
0748ebee39
Merge latest master into Codex subagent provider
2026-08-06 21:26:31 +08:00
ZiyaZhang
4767285694
Merge remote-tracking branch 'upstream/master' into feat/web-workspace-file-links
...
# Conflicts:
# apps/cli/package.json
# pnpm-lock.yaml
2026-08-06 06:24:53 -07:00
ZiyaZhang
f00a44fd44
refactor(web): move the produced-files row into its own plugin package
...
ui-conversation now owns only the conversation.chat.turnTail hole; the row,
its derivation, and its copy live in @deepseek-ai/dsh-client-ui-deliverables,
composed in or out by one cordis.yml line.
2026-08-06 06:21:19 -07:00
Yichen Jiang
18fe174897
feat(agent-presets): compose each session's agent from a preset cordis.yml
...
A preset is a directory holding one `agent.cordis.yml`. Mounting it under an
agent's scope context during `setup(agentCtx)` gives that one session its own
tools and prompt sections while every other live session keeps its own.
No registry gains a tier. `dsh-tools` and `dsh-system-prompt` already file
registrations into the calling context's scope layer, and entry contexts chain
to the context a subtree was plugged into, so a composition mounted under
`agent.ctx` is that agent's alone and unwinds with it.
The mount audits itself because a directly-plugged subtree is absent from
`ctx.loader.entries()` and no boot audit covers it. It rejects an unscoped
target, a row that never became usable, and a row that published a service into
the root service realm — that last one is process-global rather than
per-session, and its collision with the next session surfaces as an unhandled
rejection `setup` never observes, leaving a half-composed agent that looks
healthy. The package invariant re-checks that rule on every service
notification, since a row publishing from a timer would escape a one-shot audit.
Raises the `packages/README.md` word ceiling from 920 to 980: the group table
must enumerate every group, and the new `preset/` row is necessary content.
Design: .agents/notes/implemented/architecture/2026-08-03-per-session-agent-presets.md
2026-08-06 21:03:18 +08:00
fz
6030af63fd
Merge branch 'codex/fix-compact-agents-reinjection' into codex/fix-resume-baseline-dedup
...
# Conflicts:
# examples/acp-agent/tests/snapshots/code-mode-workspace-context/session.jsonl
# examples/acp-agent/tests/snapshots/workspace-context/session.jsonl
2026-08-06 20:17:41 +08:00
Turtle
a51b88d2aa
Merge remote-tracking branch 'origin/master' into feat/profile-plugin-management
...
# Conflicts:
# apps/cli/src/headless.ts
# docs/event-producer-consumer.md
# packages/host/apiproxy/README.i18n.yaml
2026-08-06 20:03:22 +08:00
Turtle
b9f81dcd5d
Merge latest feedback base into telemetry stack
...
# Conflicts:
# packages/telemetry/session-telemetry/src/coordinator.ts
2026-08-06 19:24:55 +08:00
Turtle
f10b354c80
Merge remote-tracking branch 'origin/master' into codex/dsh-badge-plugin
...
# Conflicts:
# docs/event-producer-consumer.md
2026-08-06 18:58:51 +08:00
Turtle
4dede454ed
fix: address dsh badge review feedback
2026-08-06 18:54:53 +08:00
Turtle
da732cad72
Merge remote-tracking branch 'origin/master' into task/command-feedback-master
2026-08-06 18:38:35 +08:00
Turtle
f8c3d3fff4
Merge updated feedback base into telemetry stack
...
# Conflicts:
# .agents/notes/implemented/feature/2026-07-23-session-telemetry-otel-revival.i18n.yaml
# .agents/notes/implemented/feature/2026-07-23-session-telemetry-otel-revival.zh.md
# .agents/notes/implemented/feature/2026-07-28-feedback-command.i18n.yaml
# docs/config-catalog.md
# docs/event-producer-consumer.md
# docs/module-graph.md
# examples/package.json
# packages/feedback/command-feedback/README.i18n.yaml
# packages/telemetry/README.i18n.yaml
# packages/telemetry/README.md
# packages/telemetry/README.zh.md
# packages/telemetry/session-telemetry-otel/README.i18n.yaml
# packages/telemetry/session-telemetry-otel/README.md
# packages/telemetry/session-telemetry-otel/README.zh.md
# packages/telemetry/session-telemetry-otel/package.json
# packages/telemetry/session-telemetry-otel/src/index.ts
# packages/telemetry/session-telemetry-otel/tests/otel.spec.ts
# packages/telemetry/session-telemetry/README.i18n.yaml
# packages/telemetry/session-telemetry/README.zh.md
# pnpm-lock.yaml
2026-08-06 18:08:45 +08:00
Turtle
ab94a2f7d6
refactor(telemetry): centralize the default mode
2026-08-06 17:39:43 +08:00
Yichen Jiang
66b136e6e3
Merge remote-tracking branch 'origin/master' into worktree/provider-credential-lifecycle
...
# Conflicts:
# packages/client/ui-models/README.i18n.yaml
# packages/client/ui-models/README.md
# packages/client/ui-models/README.zh.md
# packages/client/ui-models/src/client/ModelsSection.tsx
# packages/client/ui-models/src/client/ProviderEditor.tsx
2026-08-06 16:54:33 +08:00
Yichen Jiang
bce4a038c9
Merge remote-tracking branch 'origin/master' into claude/unified-environment-credentials-c8841a
...
# Conflicts:
# docs/config-catalog.md
# packages/llm/llm-pi-ai/src/config.ts
# packages/llm/llm-pi-ai/src/index.ts
# packages/llm/llm-pi-ai/tests/sdk-options.spec.ts
2026-08-06 16:52:19 +08:00
Turtle
ccb0842cfc
fix(telemetry): fail closed outside full mode
2026-08-06 16:27:27 +08:00
Turtle
928c99876e
feat: add optional dsh badge skill provider
2026-08-06 16:03:29 +08:00
Turtle
96ac51f0c8
Merge origin/master into task/command-feedback-master
2026-08-06 16:02:25 +08:00
Turtle
b10368a8d5
refactor(telemetry): strongly type sharing mode
2026-08-06 15:34:36 +08:00
Yichen Jiang
a6a0788108
Merge remote-tracking branch 'origin/master' into claude/unified-environment-credentials-c8841a
2026-08-06 15:28:40 +08:00
Turtle
4e8067e8d5
refactor(telemetry): replay feedback sessions without buffering
2026-08-06 14:57:30 +08:00
Chinesezjc
ecb17ac3ae
Merge remote-tracking branch 'origin/master' into feat/todo-multi-in-progress
...
# Conflicts:
# examples/acp-agent/tests/snapshots/todo-write/session.jsonl
# packages/client/ui-conversation/README.i18n.yaml
2026-08-06 13:04:33 +08:00
Yichen Jiang
98b894f8eb
Merge remote-tracking branch 'origin/master' into claude/web-llm-pi-ai-config-385e24
...
# Conflicts:
# docs/event-producer-consumer.md
2026-08-06 13:03:40 +08:00
Yichen Jiang
af652c949f
fix(web): recover provider credential lifecycle
2026-08-06 12:09:14 +08:00
creatixchu
851fe793c4
Merge remote-tracking branch 'origin/master' into worktree/context-source-cards
...
# Conflicts:
# packages/client/runtime/src/client/sessions/transcript-adapter.ts
# packages/client/ui-conversation/README.i18n.yaml
2026-08-06 12:03:15 +08:00
Chinesezjc
8985284f85
Merge remote-tracking branch 'origin/master' into feat/todo-multi-in-progress
...
# Conflicts:
# docs/core-data-structures/session.i18n.yaml
# packages/client/ui-conversation/README.i18n.yaml
2026-08-06 12:00:33 +08:00
fz
576f17ce99
Merge branch 'codex/fix-compact-agents-reinjection' into codex/fix-resume-baseline-dedup
2026-08-06 11:48:30 +08:00
Chinesezjc
c337215bae
feat(todo): carry the parallel-active count through ToolRow's summarySuffix
...
Rebuild the todo row's parallel summary on the shared ToolRow that master
introduced: planSummary still returns the active name and the remaining
count separately, and the row hands the count to a new non-shrinking
summarySuffix slot so a narrow row clips the summary text before the count.
An error row drops the suffix, whose collapsed summary is the failure line.
Re-record the ACP todo-write transcript for the parallel prompt, regenerate
the config catalog for the required allowParallelInProgress field, and
re-record the bilingual pairing hashes.
2026-08-06 11:42:31 +08:00
imccyu
e5810d450e
Merge remote-tracking branch 'origin/master' into mergebot/pr1667
2026-08-06 11:42:14 +08:00
creatixchu
d0d8cd5365
Merge remote-tracking branch 'origin/master' into worktree/context-source-cards
...
# Conflicts:
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
2026-08-06 11:29:50 +08:00
creatixchu
6747c2d44d
Merge remote-tracking branch 'origin/master' into worktree/context-source-cards
...
# Conflicts:
# .agents/notes/implemented/simplification/2026-07-31-web-ui-no-steer-entry-or-interjection-chrome.i18n.yaml
# .agents/notes/implemented/simplification/2026-07-31-web-ui-no-steer-entry-or-interjection-chrome.md
# .agents/notes/implemented/simplification/2026-07-31-web-ui-no-steer-entry-or-interjection-chrome.zh.md
# apps/web/tests/seeded-history.e2e.ts
# apps/web/tests/snapshots/queue-actions/layout.expected.md
# docs/core-data-structures/core.i18n.yaml
# 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/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
# packages/client/runtime/README.i18n.yaml
# packages/client/runtime/tests/history-fold.spec.ts
# packages/client/ui-conversation/README.i18n.yaml
# packages/client/ui-conversation/src/client/chat/MessageItem.tsx
# packages/client/ui-conversation/tests/chat-branch-tails.spec.tsx
# packages/context/workspace-context/src/index.ts
# packages/context/workspace-context/tests/workspace-context.spec.ts
# packages/skill/tool-skill/README.i18n.yaml
# packages/skill/tool-skill/README.md
# packages/skill/tool-skill/README.zh.md
# packages/skill/tool-skill/src/index.ts
# packages/skill/tool-skill/tests/tool-skill.spec.ts
2026-08-06 11:28:48 +08:00