@a5c-ai/adapters-harness-mock 5.1.1-staging.00ceebd28cf2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +227 -0
- package/dist/bin/adapters-harness-mock.d.ts +32 -0
- package/dist/bin/adapters-harness-mock.d.ts.map +1 -0
- package/dist/bin/adapters-harness-mock.js +155 -0
- package/dist/bin/adapters-harness-mock.js.map +1 -0
- package/dist/bin/mock-harness.d.ts +2 -0
- package/dist/bin/mock-harness.d.ts.map +1 -0
- package/dist/bin/mock-harness.js +25 -0
- package/dist/bin/mock-harness.js.map +1 -0
- package/dist/http-mock.d.ts +39 -0
- package/dist/http-mock.d.ts.map +1 -0
- package/dist/http-mock.js +206 -0
- package/dist/http-mock.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -0
- package/dist/mock-process.d.ts +57 -0
- package/dist/mock-process.d.ts.map +1 -0
- package/dist/mock-process.js +388 -0
- package/dist/mock-process.js.map +1 -0
- package/dist/mocks/index.d.ts +53 -0
- package/dist/mocks/index.d.ts.map +1 -0
- package/dist/mocks/index.js +140 -0
- package/dist/mocks/index.js.map +1 -0
- package/dist/mocks/mock-types.d.ts +170 -0
- package/dist/mocks/mock-types.d.ts.map +1 -0
- package/dist/mocks/mock-types.js +2 -0
- package/dist/mocks/mock-types.js.map +1 -0
- package/dist/mocks/programmatic-mocks.d.ts +40 -0
- package/dist/mocks/programmatic-mocks.d.ts.map +1 -0
- package/dist/mocks/programmatic-mocks.js +229 -0
- package/dist/mocks/programmatic-mocks.js.map +1 -0
- package/dist/mocks/remote-mocks.d.ts +43 -0
- package/dist/mocks/remote-mocks.d.ts.map +1 -0
- package/dist/mocks/remote-mocks.js +332 -0
- package/dist/mocks/remote-mocks.js.map +1 -0
- package/dist/mocks/scriptable-transport.d.ts +23 -0
- package/dist/mocks/scriptable-transport.d.ts.map +1 -0
- package/dist/mocks/scriptable-transport.js +83 -0
- package/dist/mocks/scriptable-transport.js.map +1 -0
- package/dist/multi-execution.d.ts +1 -0
- package/dist/multi-execution.d.ts.map +1 -0
- package/dist/multi-execution.js +2 -0
- package/dist/multi-execution.js.map +1 -0
- package/dist/probe.d.ts +113 -0
- package/dist/probe.d.ts.map +1 -0
- package/dist/probe.js +722 -0
- package/dist/probe.js.map +1 -0
- package/dist/scenarios/errors.d.ts +21 -0
- package/dist/scenarios/errors.d.ts.map +1 -0
- package/dist/scenarios/errors.js +73 -0
- package/dist/scenarios/errors.js.map +1 -0
- package/dist/scenarios/hooks.d.ts +17 -0
- package/dist/scenarios/hooks.d.ts.map +1 -0
- package/dist/scenarios/hooks.js +129 -0
- package/dist/scenarios/hooks.js.map +1 -0
- package/dist/scenarios/index.d.ts +22 -0
- package/dist/scenarios/index.d.ts.map +1 -0
- package/dist/scenarios/index.js +65 -0
- package/dist/scenarios/index.js.map +1 -0
- package/dist/scenarios/interactive.d.ts +17 -0
- package/dist/scenarios/interactive.d.ts.map +1 -0
- package/dist/scenarios/interactive.js +65 -0
- package/dist/scenarios/interactive.js.map +1 -0
- package/dist/scenarios/per-agent.d.ts +17 -0
- package/dist/scenarios/per-agent.d.ts.map +1 -0
- package/dist/scenarios/per-agent.js +597 -0
- package/dist/scenarios/per-agent.js.map +1 -0
- package/dist/scenarios/wire-format.d.ts +56 -0
- package/dist/scenarios/wire-format.d.ts.map +1 -0
- package/dist/scenarios/wire-format.js +261 -0
- package/dist/scenarios/wire-format.js.map +1 -0
- package/dist/scenarios.d.ts +29 -0
- package/dist/scenarios.d.ts.map +1 -0
- package/dist/scenarios.js +141 -0
- package/dist/scenarios.js.map +1 -0
- package/dist/types.d.ts +463 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +9 -0
- package/dist/types.js.map +1 -0
- package/dist/websocket-mock.d.ts +58 -0
- package/dist/websocket-mock.d.ts.map +1 -0
- package/dist/websocket-mock.js +367 -0
- package/dist/websocket-mock.js.map +1 -0
- package/dist/workspace.d.ts +52 -0
- package/dist/workspace.d.ts.map +1 -0
- package/dist/workspace.js +157 -0
- package/dist/workspace.js.map +1 -0
- package/package.json +71 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"probe.js","sourceRoot":"","sources":["../src/probe.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Error scenarios: rate-limit, auth-required, crash, timeout, oom.
|
|
3
|
+
*
|
|
4
|
+
* Each scenario emits wire output whose parsed AgentEvent has a specific
|
|
5
|
+
* error code, or exits abnormally so onProcessExit/onTimeout surface the
|
|
6
|
+
* appropriate code.
|
|
7
|
+
*/
|
|
8
|
+
import type { HarnessScenario } from '../types.js';
|
|
9
|
+
export interface ErrorScenarioMeta {
|
|
10
|
+
/** Scenario to spawn. */
|
|
11
|
+
scenario: HarnessScenario;
|
|
12
|
+
/** The error code a caller should classify this run as, after combining
|
|
13
|
+
* wire events and process exit. */
|
|
14
|
+
expectedCode: 'RATE_LIMITED' | 'AUTH_ERROR' | 'AGENT_CRASH' | 'TIMEOUT' | 'INTERNAL';
|
|
15
|
+
}
|
|
16
|
+
export declare const rateLimitClaude: ErrorScenarioMeta;
|
|
17
|
+
export declare const authRequiredCodex: ErrorScenarioMeta;
|
|
18
|
+
export declare const crashClaude: ErrorScenarioMeta;
|
|
19
|
+
export declare const timeoutGemini: ErrorScenarioMeta;
|
|
20
|
+
export declare const oomClaude: ErrorScenarioMeta;
|
|
21
|
+
export declare const ERROR_SCENARIOS: Record<string, ErrorScenarioMeta>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/scenarios/errors.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAQnD,MAAM,WAAW,iBAAiB;IAChC,yBAAyB;IACzB,QAAQ,EAAE,eAAe,CAAC;IAC1B;wCACoC;IACpC,YAAY,EAAE,cAAc,GAAG,YAAY,GAAG,aAAa,GAAG,SAAS,GAAG,UAAU,CAAC;CACtF;AAED,eAAO,MAAM,eAAe,EAAE,iBAW7B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,iBAW/B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,iBAUzB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,iBAU3B,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,iBAUvB,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAM7D,CAAC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Error scenarios: rate-limit, auth-required, crash, timeout, oom.
|
|
3
|
+
*
|
|
4
|
+
* Each scenario emits wire output whose parsed AgentEvent has a specific
|
|
5
|
+
* error code, or exits abnormally so onProcessExit/onTimeout surface the
|
|
6
|
+
* appropriate code.
|
|
7
|
+
*/
|
|
8
|
+
import { claudeError, codexError, geminiError, stderrChunk, stdoutChunk } from './wire-format.js';
|
|
9
|
+
export const rateLimitClaude = {
|
|
10
|
+
scenario: {
|
|
11
|
+
harness: 'claude-code',
|
|
12
|
+
name: 'error:rate-limit',
|
|
13
|
+
process: { exitCode: 1 },
|
|
14
|
+
output: [
|
|
15
|
+
stdoutChunk(claudeError('Rate limit exceeded. Please retry after 60 seconds.'), 10),
|
|
16
|
+
stderrChunk('HTTP 429 Too Many Requests\n', 5),
|
|
17
|
+
],
|
|
18
|
+
},
|
|
19
|
+
expectedCode: 'RATE_LIMITED',
|
|
20
|
+
};
|
|
21
|
+
export const authRequiredCodex = {
|
|
22
|
+
scenario: {
|
|
23
|
+
harness: 'codex',
|
|
24
|
+
name: 'error:auth-required',
|
|
25
|
+
process: { exitCode: 1 },
|
|
26
|
+
output: [
|
|
27
|
+
stdoutChunk(codexError('Missing OPENAI_API_KEY. Please authenticate.'), 10),
|
|
28
|
+
stderrChunk('auth: unauthorized\n', 5),
|
|
29
|
+
],
|
|
30
|
+
},
|
|
31
|
+
expectedCode: 'AUTH_ERROR',
|
|
32
|
+
};
|
|
33
|
+
export const crashClaude = {
|
|
34
|
+
scenario: {
|
|
35
|
+
harness: 'claude-code',
|
|
36
|
+
name: 'error:crash',
|
|
37
|
+
process: { exitCode: 1, crashAfterMs: 80, crashSignal: 'SIGTERM' },
|
|
38
|
+
output: [
|
|
39
|
+
stderrChunk('segfault\n', 20),
|
|
40
|
+
],
|
|
41
|
+
},
|
|
42
|
+
expectedCode: 'AGENT_CRASH',
|
|
43
|
+
};
|
|
44
|
+
export const timeoutGemini = {
|
|
45
|
+
scenario: {
|
|
46
|
+
harness: 'gemini',
|
|
47
|
+
name: 'error:timeout',
|
|
48
|
+
process: { exitCode: 0, hang: true },
|
|
49
|
+
output: [
|
|
50
|
+
stdoutChunk(geminiError('Working...'), 10),
|
|
51
|
+
],
|
|
52
|
+
},
|
|
53
|
+
expectedCode: 'TIMEOUT',
|
|
54
|
+
};
|
|
55
|
+
export const oomClaude = {
|
|
56
|
+
scenario: {
|
|
57
|
+
harness: 'claude-code',
|
|
58
|
+
name: 'error:oom',
|
|
59
|
+
process: { exitCode: 137, crashAfterMs: 60, crashSignal: 'SIGKILL' },
|
|
60
|
+
output: [
|
|
61
|
+
stderrChunk('FATAL ERROR: Reached heap limit\n', 20),
|
|
62
|
+
],
|
|
63
|
+
},
|
|
64
|
+
expectedCode: 'AGENT_CRASH',
|
|
65
|
+
};
|
|
66
|
+
export const ERROR_SCENARIOS = {
|
|
67
|
+
'rate-limit': rateLimitClaude,
|
|
68
|
+
'auth-required': authRequiredCodex,
|
|
69
|
+
'crash': crashClaude,
|
|
70
|
+
'timeout': timeoutGemini,
|
|
71
|
+
'oom': oomClaude,
|
|
72
|
+
};
|
|
73
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/scenarios/errors.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAelG,MAAM,CAAC,MAAM,eAAe,GAAsB;IAChD,QAAQ,EAAE;QACR,OAAO,EAAE,aAAa;QACtB,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE;QACxB,MAAM,EAAE;YACN,WAAW,CAAC,WAAW,CAAC,qDAAqD,CAAC,EAAE,EAAE,CAAC;YACnF,WAAW,CAAC,8BAA8B,EAAE,CAAC,CAAC;SAC/C;KACF;IACD,YAAY,EAAE,cAAc;CAC7B,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAsB;IAClD,QAAQ,EAAE;QACR,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE;QACxB,MAAM,EAAE;YACN,WAAW,CAAC,UAAU,CAAC,8CAA8C,CAAC,EAAE,EAAE,CAAC;YAC3E,WAAW,CAAC,sBAAsB,EAAE,CAAC,CAAC;SACvC;KACF;IACD,YAAY,EAAE,YAAY;CAC3B,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAsB;IAC5C,QAAQ,EAAE;QACR,OAAO,EAAE,aAAa;QACtB,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE;QAClE,MAAM,EAAE;YACN,WAAW,CAAC,YAAY,EAAE,EAAE,CAAC;SAC9B;KACF;IACD,YAAY,EAAE,aAAa;CAC5B,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAsB;IAC9C,QAAQ,EAAE;QACR,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE;QACpC,MAAM,EAAE;YACN,WAAW,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;SAC3C;KACF;IACD,YAAY,EAAE,SAAS;CACxB,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAsB;IAC1C,QAAQ,EAAE;QACR,OAAO,EAAE,aAAa;QACtB,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE;QACpE,MAAM,EAAE;YACN,WAAW,CAAC,mCAAmC,EAAE,EAAE,CAAC;SACrD;KACF;IACD,YAAY,EAAE,aAAa;CAC5B,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAsC;IAChE,YAAY,EAAE,eAAe;IAC7B,eAAe,EAAE,iBAAiB;IAClC,OAAO,EAAE,WAAW;IACpB,SAAS,EAAE,aAAa;IACxB,KAAK,EAAE,SAAS;CACjB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hook payload fixtures — deterministic JSON payloads that each harness
|
|
3
|
+
* would send to a hook script on stdin. Useful in tests for driving
|
|
4
|
+
* parseHookPayload, HookDispatcher, and `adapters hooks handle` end-to-end.
|
|
5
|
+
*/
|
|
6
|
+
import type { HarnessScenario } from '../types.js';
|
|
7
|
+
export interface HookPayloadFixture {
|
|
8
|
+
agent: string;
|
|
9
|
+
hookType: string;
|
|
10
|
+
payload: Record<string, unknown>;
|
|
11
|
+
}
|
|
12
|
+
export declare const HOOK_PAYLOAD_FIXTURES: HookPayloadFixture[];
|
|
13
|
+
export declare function getHookFixture(agent: string, hookType: string): HookPayloadFixture | undefined;
|
|
14
|
+
export declare const runtimeHookAllowBash: HarnessScenario;
|
|
15
|
+
export declare const runtimeHookDenyWrite: HarnessScenario;
|
|
16
|
+
export declare const runtimeHookTimeout: HarnessScenario;
|
|
17
|
+
export declare const RUNTIME_HOOK_SCENARIOS: Record<string, HarnessScenario>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/scenarios/hooks.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,eAAO,MAAM,qBAAqB,EAAE,kBAAkB,EAmDrD,CAAC;AAEF,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS,CAE9F;AAED,eAAO,MAAM,oBAAoB,EAAE,eAqBlC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,eAqBlC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,eAkBhC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAIlE,CAAC"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hook payload fixtures — deterministic JSON payloads that each harness
|
|
3
|
+
* would send to a hook script on stdin. Useful in tests for driving
|
|
4
|
+
* parseHookPayload, HookDispatcher, and `adapters hooks handle` end-to-end.
|
|
5
|
+
*/
|
|
6
|
+
export const HOOK_PAYLOAD_FIXTURES = [
|
|
7
|
+
{
|
|
8
|
+
agent: 'claude',
|
|
9
|
+
hookType: 'PreToolUse',
|
|
10
|
+
payload: {
|
|
11
|
+
session_id: 'sess-claude-1',
|
|
12
|
+
transcript_path: '/tmp/t.jsonl',
|
|
13
|
+
cwd: '/work/proj',
|
|
14
|
+
tool_name: 'Bash',
|
|
15
|
+
tool_input: { command: 'ls' },
|
|
16
|
+
},
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
agent: 'claude',
|
|
20
|
+
hookType: 'PostToolUse',
|
|
21
|
+
payload: {
|
|
22
|
+
session_id: 'sess-claude-1',
|
|
23
|
+
tool_name: 'Bash',
|
|
24
|
+
tool_input: { command: 'ls' },
|
|
25
|
+
tool_output: 'file.txt\n',
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
agent: 'claude',
|
|
30
|
+
hookType: 'Stop',
|
|
31
|
+
payload: { session_id: 'sess-claude-1' },
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
agent: 'codex',
|
|
35
|
+
hookType: 'OnToolCall',
|
|
36
|
+
payload: {
|
|
37
|
+
session_id: 'sess-codex-1',
|
|
38
|
+
tool_name: 'apply_patch',
|
|
39
|
+
tool_input: { path: 'a.txt' },
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
agent: 'codex',
|
|
44
|
+
hookType: 'OnStop',
|
|
45
|
+
payload: { session_id: 'sess-codex-1' },
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
agent: 'gemini',
|
|
49
|
+
hookType: 'pre_prompt',
|
|
50
|
+
payload: { session_id: 'g-1', prompt: 'hello' },
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
agent: 'copilot',
|
|
54
|
+
hookType: 'preTool',
|
|
55
|
+
payload: { session_id: 'co-1', tool_name: 'edit' },
|
|
56
|
+
},
|
|
57
|
+
];
|
|
58
|
+
export function getHookFixture(agent, hookType) {
|
|
59
|
+
return HOOK_PAYLOAD_FIXTURES.find((f) => f.agent === agent && f.hookType === hookType);
|
|
60
|
+
}
|
|
61
|
+
export const runtimeHookAllowBash = {
|
|
62
|
+
harness: 'claude-code',
|
|
63
|
+
name: 'runtimeHookAllowBash',
|
|
64
|
+
process: { exitCode: 0, shutdownDelayMs: 10 },
|
|
65
|
+
output: [
|
|
66
|
+
{ stream: 'stdout', data: '{"type":"system","subtype":"init","session_id":"rh-allow"}\n', delayMs: 10 },
|
|
67
|
+
{ stream: 'stdout', data: '{"type":"tool_call","id":"tool-1","name":"Bash","input":{"command":"echo ok"}}\n', delayMs: 10 },
|
|
68
|
+
{ stream: 'stdout', data: '{"type":"tool_result","tool_use_id":"tool-1","toolName":"Bash","output":"ok"}\n', delayMs: 10 },
|
|
69
|
+
{ stream: 'stdout', data: '{"type":"result","subtype":"success","session_id":"rh-allow"}\n', delayMs: 10 },
|
|
70
|
+
],
|
|
71
|
+
runtimeHooks: {
|
|
72
|
+
steps: [
|
|
73
|
+
{
|
|
74
|
+
chunkIndex: 1,
|
|
75
|
+
kind: 'preToolUse',
|
|
76
|
+
payload: { toolName: 'Bash', toolInput: { command: 'echo ok' } },
|
|
77
|
+
decision: 'allow',
|
|
78
|
+
delayMs: 20,
|
|
79
|
+
},
|
|
80
|
+
],
|
|
81
|
+
},
|
|
82
|
+
};
|
|
83
|
+
export const runtimeHookDenyWrite = {
|
|
84
|
+
harness: 'claude-code',
|
|
85
|
+
name: 'runtimeHookDenyWrite',
|
|
86
|
+
process: { exitCode: 0 },
|
|
87
|
+
output: [
|
|
88
|
+
{ stream: 'stdout', data: '{"type":"system","subtype":"init","session_id":"rh-deny"}\n', delayMs: 10 },
|
|
89
|
+
{ stream: 'stdout', data: '{"type":"tool_call","id":"tool-2","name":"Write","input":{"path":"blocked.txt"}}\n', delayMs: 10 },
|
|
90
|
+
{ stream: 'stdout', data: '{"type":"tool_result","tool_use_id":"tool-2","toolName":"Write","output":"blocked"}\n', delayMs: 10 },
|
|
91
|
+
],
|
|
92
|
+
runtimeHooks: {
|
|
93
|
+
steps: [
|
|
94
|
+
{
|
|
95
|
+
chunkIndex: 1,
|
|
96
|
+
kind: 'preToolUse',
|
|
97
|
+
payload: { toolName: 'Write', toolInput: { path: 'blocked.txt' } },
|
|
98
|
+
decision: 'deny',
|
|
99
|
+
delayMs: 20,
|
|
100
|
+
errorMessage: 'Runtime hook denied Write',
|
|
101
|
+
},
|
|
102
|
+
],
|
|
103
|
+
},
|
|
104
|
+
};
|
|
105
|
+
export const runtimeHookTimeout = {
|
|
106
|
+
harness: 'claude-code',
|
|
107
|
+
name: 'runtimeHookTimeout',
|
|
108
|
+
process: { exitCode: 0, hang: true },
|
|
109
|
+
output: [
|
|
110
|
+
{ stream: 'stdout', data: '{"type":"system","subtype":"init","session_id":"rh-timeout"}\n', delayMs: 10 },
|
|
111
|
+
{ stream: 'stdout', data: '{"type":"tool_call","id":"tool-3","name":"Bash","input":{"command":"sleep 1"}}\n', delayMs: 10 },
|
|
112
|
+
],
|
|
113
|
+
runtimeHooks: {
|
|
114
|
+
steps: [
|
|
115
|
+
{
|
|
116
|
+
chunkIndex: 1,
|
|
117
|
+
kind: 'preToolUse',
|
|
118
|
+
payload: { toolName: 'Bash', toolInput: { command: 'sleep 1' } },
|
|
119
|
+
decision: 'timeout',
|
|
120
|
+
},
|
|
121
|
+
],
|
|
122
|
+
},
|
|
123
|
+
};
|
|
124
|
+
export const RUNTIME_HOOK_SCENARIOS = {
|
|
125
|
+
[runtimeHookAllowBash.name]: runtimeHookAllowBash,
|
|
126
|
+
[runtimeHookDenyWrite.name]: runtimeHookDenyWrite,
|
|
127
|
+
[runtimeHookTimeout.name]: runtimeHookTimeout,
|
|
128
|
+
};
|
|
129
|
+
//# sourceMappingURL=hooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/scenarios/hooks.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Scenarios barrel.
|
|
3
|
+
*
|
|
4
|
+
* Re-exports the legacy top-level scenarios plus the per-agent,
|
|
5
|
+
* interactive, and error presets.
|
|
6
|
+
*/
|
|
7
|
+
export * from '../scenarios.js';
|
|
8
|
+
export * from './wire-format.js';
|
|
9
|
+
export * from './per-agent.js';
|
|
10
|
+
export * from './errors.js';
|
|
11
|
+
export * from './interactive.js';
|
|
12
|
+
export * from './hooks.js';
|
|
13
|
+
import type { HarnessScenario } from '../types.js';
|
|
14
|
+
/**
|
|
15
|
+
* Resolve a scenario by name. Supports:
|
|
16
|
+
* - agent scenario ids like `claude:basic-text`
|
|
17
|
+
* - error ids like `error:rate-limit`
|
|
18
|
+
* - interaction ids like `interactive:yolo`
|
|
19
|
+
*/
|
|
20
|
+
export declare function resolveScenario(name: string, agent?: string): HarnessScenario | undefined;
|
|
21
|
+
/** List all resolvable scenario names. */
|
|
22
|
+
export declare function listScenarioNames(agent?: string): string[];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/scenarios/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAQ3B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAenD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAezF;AAED,0CAA0C;AAC1C,wBAAgB,iBAAiB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAO1D"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Scenarios barrel.
|
|
3
|
+
*
|
|
4
|
+
* Re-exports the legacy top-level scenarios plus the per-agent,
|
|
5
|
+
* interactive, and error presets.
|
|
6
|
+
*/
|
|
7
|
+
export * from '../scenarios.js';
|
|
8
|
+
export * from './wire-format.js';
|
|
9
|
+
export * from './per-agent.js';
|
|
10
|
+
export * from './errors.js';
|
|
11
|
+
export * from './interactive.js';
|
|
12
|
+
export * from './hooks.js';
|
|
13
|
+
import { AGENT_SCENARIOS } from './per-agent.js';
|
|
14
|
+
import { ERROR_SCENARIOS } from './errors.js';
|
|
15
|
+
import { INTERACTION_SCENARIOS } from './interactive.js';
|
|
16
|
+
import { RUNTIME_HOOK_SCENARIOS, } from './hooks.js';
|
|
17
|
+
function normalizeAgentPrefix(agent) {
|
|
18
|
+
return agent.endsWith(':') ? agent : `${agent}:`;
|
|
19
|
+
}
|
|
20
|
+
function applyAgentPrefix(name, agent) {
|
|
21
|
+
if (!agent || name.includes(':'))
|
|
22
|
+
return name;
|
|
23
|
+
return `${normalizeAgentPrefix(agent)}${name}`;
|
|
24
|
+
}
|
|
25
|
+
function matchesAgentPrefix(name, agent) {
|
|
26
|
+
return !agent || name.startsWith(normalizeAgentPrefix(agent));
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Resolve a scenario by name. Supports:
|
|
30
|
+
* - agent scenario ids like `claude:basic-text`
|
|
31
|
+
* - error ids like `error:rate-limit`
|
|
32
|
+
* - interaction ids like `interactive:yolo`
|
|
33
|
+
*/
|
|
34
|
+
export function resolveScenario(name, agent) {
|
|
35
|
+
const resolvedName = applyAgentPrefix(name, agent);
|
|
36
|
+
if (!matchesAgentPrefix(resolvedName, agent))
|
|
37
|
+
return undefined;
|
|
38
|
+
if (AGENT_SCENARIOS[resolvedName])
|
|
39
|
+
return AGENT_SCENARIOS[resolvedName];
|
|
40
|
+
if (resolvedName.startsWith('error:')) {
|
|
41
|
+
const meta = ERROR_SCENARIOS[resolvedName.slice('error:'.length)];
|
|
42
|
+
if (meta)
|
|
43
|
+
return meta.scenario;
|
|
44
|
+
}
|
|
45
|
+
if (resolvedName.startsWith('interactive:')) {
|
|
46
|
+
const m = resolvedName.slice('interactive:'.length);
|
|
47
|
+
if (INTERACTION_SCENARIOS[m])
|
|
48
|
+
return INTERACTION_SCENARIOS[m];
|
|
49
|
+
}
|
|
50
|
+
if (RUNTIME_HOOK_SCENARIOS[resolvedName])
|
|
51
|
+
return RUNTIME_HOOK_SCENARIOS[resolvedName];
|
|
52
|
+
return undefined;
|
|
53
|
+
}
|
|
54
|
+
/** List all resolvable scenario names. */
|
|
55
|
+
export function listScenarioNames(agent) {
|
|
56
|
+
const names = [];
|
|
57
|
+
names.push(...Object.keys(AGENT_SCENARIOS));
|
|
58
|
+
for (const k of Object.keys(ERROR_SCENARIOS))
|
|
59
|
+
names.push(`error:${k}`);
|
|
60
|
+
for (const k of Object.keys(INTERACTION_SCENARIOS))
|
|
61
|
+
names.push(`interactive:${k}`);
|
|
62
|
+
names.push(...Object.keys(RUNTIME_HOOK_SCENARIOS));
|
|
63
|
+
return names.filter((name) => matchesAgentPrefix(name, agent)).sort();
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/scenarios/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Interaction scenarios.
|
|
3
|
+
*
|
|
4
|
+
* The mock process emits a prompt-style line then waits for stdin. When
|
|
5
|
+
* running in the CLI binary, three approval modes are exposed:
|
|
6
|
+
*
|
|
7
|
+
* - yolo: auto-respond "y" with no user prompt
|
|
8
|
+
* - prompt: emit a question, wait for user to write y/n on stdin
|
|
9
|
+
* - deny: auto-respond "n"
|
|
10
|
+
*
|
|
11
|
+
* The scenario's `interactions` field configures which auto-response the
|
|
12
|
+
* MockProcess fires when it sees the prompt pattern.
|
|
13
|
+
*/
|
|
14
|
+
import type { HarnessScenario } from '../types.js';
|
|
15
|
+
export type InteractionMode = 'yolo' | 'prompt' | 'deny' | 'timeout';
|
|
16
|
+
export declare function buildInteractiveScenario(mode: InteractionMode): HarnessScenario;
|
|
17
|
+
export declare const INTERACTION_SCENARIOS: Record<InteractionMode, HarnessScenario>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interactive.d.ts","sourceRoot":"","sources":["../../src/scenarios/interactive.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAoB,MAAM,aAAa,CAAC;AAGrE,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC;AAErE,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,eAAe,GAAG,eAAe,CA8C/E;AAED,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,eAAe,EAAE,eAAe,CAK1E,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Interaction scenarios.
|
|
3
|
+
*
|
|
4
|
+
* The mock process emits a prompt-style line then waits for stdin. When
|
|
5
|
+
* running in the CLI binary, three approval modes are exposed:
|
|
6
|
+
*
|
|
7
|
+
* - yolo: auto-respond "y" with no user prompt
|
|
8
|
+
* - prompt: emit a question, wait for user to write y/n on stdin
|
|
9
|
+
* - deny: auto-respond "n"
|
|
10
|
+
*
|
|
11
|
+
* The scenario's `interactions` field configures which auto-response the
|
|
12
|
+
* MockProcess fires when it sees the prompt pattern.
|
|
13
|
+
*/
|
|
14
|
+
import { claudeSystemInit, claudeAssistantText, claudeResult, stderrChunk, stdoutChunk } from './wire-format.js';
|
|
15
|
+
export function buildInteractiveScenario(mode) {
|
|
16
|
+
const prompt = 'Do you want to allow this tool call? (y/n)';
|
|
17
|
+
const response = mode === 'yolo' ? 'y\n' : mode === 'deny' ? 'n\n' : '';
|
|
18
|
+
const output = [
|
|
19
|
+
stdoutChunk(claudeSystemInit('sess_interact', ['Write']), 5),
|
|
20
|
+
stdoutChunk(claudeAssistantText('I need to write a file.'), 10),
|
|
21
|
+
stderrChunk(prompt + '\n', 10),
|
|
22
|
+
];
|
|
23
|
+
const interaction = {
|
|
24
|
+
triggerPattern: 'Do you want to allow',
|
|
25
|
+
response,
|
|
26
|
+
delayMs: 20,
|
|
27
|
+
timeoutMs: mode === 'timeout' ? 80 : undefined,
|
|
28
|
+
onAllow: {
|
|
29
|
+
output: [
|
|
30
|
+
stdoutChunk(claudeResult('sess_interact', 'done'), 0),
|
|
31
|
+
],
|
|
32
|
+
exitCode: 0,
|
|
33
|
+
},
|
|
34
|
+
onDeny: {
|
|
35
|
+
output: [
|
|
36
|
+
stdoutChunk(claudeAssistantText('Tool call denied.'), 0),
|
|
37
|
+
],
|
|
38
|
+
exitCode: 0,
|
|
39
|
+
},
|
|
40
|
+
onTimeout: {
|
|
41
|
+
output: [
|
|
42
|
+
stderrChunk('Approval timed out.\n', 0),
|
|
43
|
+
],
|
|
44
|
+
exitCode: 1,
|
|
45
|
+
},
|
|
46
|
+
};
|
|
47
|
+
const base = {
|
|
48
|
+
harness: 'claude-code',
|
|
49
|
+
name: `interactive:${mode}`,
|
|
50
|
+
process: { exitCode: mode === 'timeout' ? 1 : 0, shutdownDelayMs: 50 },
|
|
51
|
+
output,
|
|
52
|
+
interactions: [interaction],
|
|
53
|
+
};
|
|
54
|
+
if (mode === 'prompt' || mode === 'timeout') {
|
|
55
|
+
base.interactions = [{ ...interaction, response: '' }];
|
|
56
|
+
}
|
|
57
|
+
return base;
|
|
58
|
+
}
|
|
59
|
+
export const INTERACTION_SCENARIOS = {
|
|
60
|
+
yolo: buildInteractiveScenario('yolo'),
|
|
61
|
+
prompt: buildInteractiveScenario('prompt'),
|
|
62
|
+
deny: buildInteractiveScenario('deny'),
|
|
63
|
+
timeout: buildInteractiveScenario('timeout'),
|
|
64
|
+
};
|
|
65
|
+
//# sourceMappingURL=interactive.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interactive.js","sourceRoot":"","sources":["../../src/scenarios/interactive.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAIjH,MAAM,UAAU,wBAAwB,CAAC,IAAqB;IAC5D,MAAM,MAAM,GAAG,4CAA4C,CAAC;IAC5D,MAAM,QAAQ,GAAG,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAExE,MAAM,MAAM,GAAG;QACb,WAAW,CAAC,gBAAgB,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;QAC5D,WAAW,CAAC,mBAAmB,CAAC,yBAAyB,CAAC,EAAE,EAAE,CAAC;QAC/D,WAAW,CAAC,MAAM,GAAG,IAAI,EAAE,EAAE,CAAC;KAC/B,CAAC;IAEF,MAAM,WAAW,GAAqB;QACpC,cAAc,EAAE,sBAAsB;QACtC,QAAQ;QACR,OAAO,EAAE,EAAE;QACX,SAAS,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;QAC9C,OAAO,EAAE;YACP,MAAM,EAAE;gBACN,WAAW,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;aACtD;YACD,QAAQ,EAAE,CAAC;SACZ;QACD,MAAM,EAAE;YACN,MAAM,EAAE;gBACN,WAAW,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;aACzD;YACD,QAAQ,EAAE,CAAC;SACZ;QACD,SAAS,EAAE;YACT,MAAM,EAAE;gBACN,WAAW,CAAC,uBAAuB,EAAE,CAAC,CAAC;aACxC;YACD,QAAQ,EAAE,CAAC;SACZ;KACF,CAAC;IAEF,MAAM,IAAI,GAAoB;QAC5B,OAAO,EAAE,aAAa;QACtB,IAAI,EAAE,eAAe,IAAI,EAAE;QAC3B,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE;QACtE,MAAM;QACN,YAAY,EAAE,CAAC,WAAW,CAAC;KAC5B,CAAC;IACF,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QAC5C,IAAI,CAAC,YAAY,GAAG,CAAC,EAAE,GAAG,WAAW,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,MAAM,qBAAqB,GAA6C;IAC7E,IAAI,EAAE,wBAAwB,CAAC,MAAM,CAAC;IACtC,MAAM,EAAE,wBAAwB,CAAC,QAAQ,CAAC;IAC1C,IAAI,EAAE,wBAAwB,CAAC,MAAM,CAAC;IACtC,OAAO,EAAE,wBAAwB,CAAC,SAAS,CAAC;CAC7C,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { HarnessScenario, HarnessType } from '../types.js';
|
|
2
|
+
export interface HarnessScenarioProfile {
|
|
3
|
+
harnessKey: string;
|
|
4
|
+
harness: HarnessType;
|
|
5
|
+
executionType: 'subprocess';
|
|
6
|
+
scenarios: string[];
|
|
7
|
+
notes: string;
|
|
8
|
+
}
|
|
9
|
+
export interface SubprocessScenarioExpectation {
|
|
10
|
+
agent: string;
|
|
11
|
+
exitCode: number;
|
|
12
|
+
parsedEventTypes: string[];
|
|
13
|
+
notes: string;
|
|
14
|
+
}
|
|
15
|
+
export declare const SUBPROCESS_HARNESS_PROFILES: Record<string, HarnessScenarioProfile>;
|
|
16
|
+
export declare const AGENT_SCENARIOS: Record<string, HarnessScenario>;
|
|
17
|
+
export declare const SUBPROCESS_SCENARIO_EXPECTATIONS: Record<string, SubprocessScenarioExpectation>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"per-agent.d.ts","sourceRoot":"","sources":["../../src/scenarios/per-agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAoChE,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,WAAW,CAAC;IACrB,aAAa,EAAE,YAAY,CAAC;IAC5B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,6BAA6B;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;CACf;AA+QD,eAAO,MAAM,2BAA2B,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CA4F9E,CAAC;AAoBF,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAK3D,CAAC;AAEF,eAAO,MAAM,gCAAgC,EAAE,MAAM,CAAC,MAAM,EAAE,6BAA6B,CAqO1F,CAAC"}
|