The snapshot replay config duplicated most of base.yml + the acp tail just to swap llm-deepseek → llm-replay. Factor the shared pieces: - examples/base-core.yml: the providerless provider/tool core (llm, sessions, system-prompt, tools, agents, invariants, bash-local, tool-bash). base.yml is now base-core + the llm-deepseek adapter; the snapshot replay config is base-core + llm-replay. The replay config no longer hand-copies the core. - examples/acp-agent/acp-tail.yml: agent-loop (no pre-created agents) + persistence + the ACP bridge/system-prompt, shared by cordis.yml and the replay config so the three acp-agent configs can't drift. Its persistence root is `$DSH_SNAPSHOT_SESSIONS_ROOT ?? ./.sessions`. - Deleted cordis.snapshot-record.yml: recording now reuses the normal cordis.yml (real adapter), with the harness redirecting the persistence root via env. start.ts maps DSH_SNAPSHOT=record → cordis.yml. Verified: snapshot replay 8/8 keyless; record path works through cordis.yml; ACP e2e no-key boot green through the doubly-nested include (cordis.yml → base.yml → base-core.yml); coding-agent boots clean; all gates pass.
38 lines
1.1 KiB
YAML
38 lines
1.1 KiB
YAML
# Providerless provider/tool core — everything the model and tools need EXCEPT
|
|
# an LLM adapter. Split out of base.yml so two consumers can share it:
|
|
# - base.yml = base-core.yml + the real llm-deepseek adapter (the demos).
|
|
# - acp-agent/cordis.snapshot.yml = base-core.yml + llm-replay (keyless
|
|
# snapshot replay — base.yml can't be reused there because llm-deepseek's
|
|
# apply() throws without DEEPSEEK_API_KEY).
|
|
#
|
|
# Plugin entries use package names (resolved from node_modules), so they are
|
|
# insensitive to the baseUrl reset that plugin-include performs per file.
|
|
|
|
- id: llm
|
|
name: '@deepseek-ai/dsh-llm'
|
|
|
|
- id: sessions
|
|
name: '@deepseek-ai/dsh-session'
|
|
|
|
- id: system-prompt
|
|
name: '@deepseek-ai/dsh-system-prompt'
|
|
|
|
- id: tools
|
|
name: '@deepseek-ai/dsh-tools'
|
|
|
|
- id: agents
|
|
name: '@deepseek-ai/dsh-agent'
|
|
|
|
# Dev-mode event-contract assertions + session-log freeze (off in prod).
|
|
- id: invariants
|
|
name: '@deepseek-ai/dsh-invariants'
|
|
|
|
# Bash execution: the local executor implementation + the tool schemas.
|
|
- id: bash
|
|
name: '@deepseek-ai/dsh-bash-local'
|
|
config:
|
|
timeoutMs: 60000
|
|
|
|
- id: tool-bash
|
|
name: '@deepseek-ai/dsh-tool-bash'
|