# Conflicts: # .agents/notes/implemented/feature/2026-06-14-acp-agent-client-protocol.md # .agents/notes/implemented/feature/2026-06-14-acp-agent-client-protocol.zh.md # .agents/notes/implemented/feature/2026-06-30-hook-bridges.i18n.yaml # .agents/notes/implemented/feature/2026-06-30-interception-seams.i18n.yaml # .agents/notes/implemented/feature/2026-07-06-sandbox.i18n.yaml # .agents/notes/implemented/feature/2026-07-06-sandbox.md # .agents/notes/implemented/feature/2026-07-06-sandbox.zh.md # .agents/notes/implemented/feature/2026-07-19-model-facing-goal-tools.i18n.yaml # .agents/notes/implemented/feature/2026-07-19-same-session-goal-round-driver.i18n.yaml # .agents/notes/implemented/feature/2026-07-25-workspace-ui-product-flow.i18n.yaml # .agents/notes/implemented/simplification/2026-07-02-remove-stream-chunk-mirror.i18n.yaml # docs/architecture.i18n.yaml # docs/cookbook/adding-a-tool.i18n.yaml # docs/cookbook/extension-cookbook.i18n.yaml # docs/core-data-structures/llm-streaming.i18n.yaml # docs/core-data-structures/session.i18n.yaml # docs/core-data-structures/tools.i18n.yaml # docs/event-producer-consumer.md # docs/persistence-catalog.md # examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/stdout.expected.jsonl # examples/acp-agent/tests/snapshots/escalation-approved/session.jsonl # examples/acp-agent/tests/snapshots/escalation-rejected/session.jsonl # examples/acp-agent/tests/snapshots/fs-escalation-approved/session.jsonl # examples/acp-agent/tests/snapshots/hook-cc-pretool-ask/session.jsonl # examples/acp-agent/tests/snapshots/permission-switching/session.jsonl # examples/acp-agent/tests/snapshots/plan-mode-reject/session.jsonl # examples/acp-agent/tests/snapshots/plan-mode/session.jsonl # examples/acp-agent/tests/snapshots/session-sandbox-root/session.jsonl # packages/context/session-reference/README.md # packages/core/agent-loop/tests/agent.spec.ts # packages/hooks/hooks-claude/tests/coverage-cases.ts # packages/host/runtime/tests/host-runtime.spec.ts # packages/llm/llm-retry/tests/retry.spec.ts # packages/session-persistence/session-persistence/src/coordinator.ts # packages/support/acp-snapshot/README.md # packages/support/acp-snapshot/src/normalize.ts # packages/ui/acp/acp-feature-support.md # packages/ui/acp/src/codec.ts # packages/ui/acp/src/index.ts # packages/ui/acp/tests/bridge.spec.ts # packages/ui/acp/tests/codec.spec.ts # packages/ui/acp/tests/config-options.spec.ts # packages/ui/acp/tests/dispose.spec.ts # packages/ui/acp/tests/edges.spec.ts # packages/ui/acp/tests/stream-update.spec.ts # packages/ui/acp/tests/turns.spec.ts
52 lines
1.6 KiB
TypeScript
52 lines
1.6 KiB
TypeScript
/**
|
|
* ACP snapshot suite kit — the shared machinery behind the keyless snapshot
|
|
* tier (`pnpm run test:snapshot`). Four layers, composable per example: the
|
|
* shared subprocess/client launcher ({@link launchAcpTestAgent}), the scripted
|
|
* scenario harness ({@link runScenario}), the pure expected-output normalizers
|
|
* ({@link normalizeStdout} / {@link normalizeSessionLog} /
|
|
* {@link scrubRequestHeaders} / {@link scrubSystemPrompts}), and the suite
|
|
* factory ({@link defineAcpSnapshotSuite}) that registers a scenario table as a
|
|
* full describe/it tree. Ordinary ACP e2e tests can use the launcher directly;
|
|
* an example's `*.snapshot.ts` supplies only its {@link AgentUnderTest} paths,
|
|
* snapshots directory, and {@link Scenario} table.
|
|
*
|
|
* NOTE: ./suite.ts imports vitest, so this package is importable only inside a
|
|
* vitest run — a support-tier constraint stated in the README.
|
|
*
|
|
* @module @deepseek-ai/dsh-acp-snapshot
|
|
*/
|
|
|
|
export {
|
|
runScenario,
|
|
type HarvestedLog,
|
|
type InputScript,
|
|
type InputStep,
|
|
type PermissionAnswer,
|
|
type RunOptions,
|
|
type RunResult,
|
|
} from './harness.ts'
|
|
export {
|
|
launchAcpTestAgent,
|
|
type AcpTestLaunchOptions,
|
|
type AgentUnderTest,
|
|
type LaunchedAcpTestAgent,
|
|
} from './launcher.ts'
|
|
export {
|
|
extractSnapshotSpillPaths,
|
|
normalizeSessionLog,
|
|
normalizeStdout,
|
|
scrubRequestHeaders,
|
|
scrubSystemPrompts,
|
|
scrubToolSchemas,
|
|
type CwdPathMode,
|
|
type NormalizeContext,
|
|
type NormalizeOptions,
|
|
} from './normalize.ts'
|
|
export {
|
|
defineAcpSnapshotSuite,
|
|
refreshFixtureReplacements,
|
|
stabilizeRefreshLog,
|
|
type Scenario,
|
|
type SnapshotSuiteOptions,
|
|
} from './suite.ts'
|