claw-harness 0.2.0 → 0.3.0
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/README.md +24 -11
- package/dist/agent-client.test.js +18 -0
- package/dist/agent-client.test.js.map +1 -1
- package/dist/bench.test.js +44 -0
- package/dist/bench.test.js.map +1 -1
- package/dist/docker-gateway.d.ts.map +1 -1
- package/dist/docker-gateway.js +3 -1
- package/dist/docker-gateway.js.map +1 -1
- package/dist/docker-gateway.test.js +17 -1
- package/dist/docker-gateway.test.js.map +1 -1
- package/dist/gateway.test.js +74 -1
- package/dist/gateway.test.js.map +1 -1
- package/dist/integration.test.d.ts +13 -0
- package/dist/integration.test.d.ts.map +1 -0
- package/dist/integration.test.js +288 -0
- package/dist/integration.test.js.map +1 -0
- package/dist/runner.d.ts +2 -1
- package/dist/runner.d.ts.map +1 -1
- package/dist/runner.js +9 -2
- package/dist/runner.js.map +1 -1
- package/dist/runner.test.js +105 -1
- package/dist/runner.test.js.map +1 -1
- package/dist/test-helpers.d.ts +10 -0
- package/dist/test-helpers.d.ts.map +1 -0
- package/dist/test-helpers.js +20 -0
- package/dist/test-helpers.js.map +1 -0
- package/dist/utils.test.js +54 -2
- package/dist/utils.test.js.map +1 -1
- package/dist/workspace.d.ts +2 -0
- package/dist/workspace.d.ts.map +1 -1
- package/dist/workspace.js +23 -1
- package/dist/workspace.js.map +1 -1
- package/dist/workspace.test.js +48 -4
- package/dist/workspace.test.js.map +1 -1
- package/docker/Dockerfile +4 -2
- package/package.json +1 -1
- package/presets/scenarios/example-chat.yaml +2 -2
package/README.md
CHANGED
|
@@ -17,19 +17,19 @@ npm install claw-harness
|
|
|
17
17
|
- OpenClaw installed (`npm install -g openclaw@latest`)
|
|
18
18
|
- `ANTHROPIC_API_KEY` set in environment
|
|
19
19
|
|
|
20
|
-
### Run
|
|
20
|
+
### Run an example
|
|
21
21
|
|
|
22
22
|
```bash
|
|
23
|
-
#
|
|
24
|
-
claw-harness
|
|
23
|
+
# Try the hello world scenario (no target app needed)
|
|
24
|
+
claw-harness run examples/hello-world.yaml
|
|
25
25
|
|
|
26
|
-
#
|
|
26
|
+
# Or scaffold your own
|
|
27
|
+
claw-harness init my-test
|
|
27
28
|
claw-harness run my-test.yaml
|
|
28
|
-
|
|
29
|
-
# Output as JSON
|
|
30
|
-
claw-harness run my-test.yaml --reporter json > results.json
|
|
31
29
|
```
|
|
32
30
|
|
|
31
|
+
See [`examples/`](examples/) for more scenarios you can run immediately.
|
|
32
|
+
|
|
33
33
|
### Programmatic API
|
|
34
34
|
|
|
35
35
|
```ts
|
|
@@ -40,7 +40,7 @@ const bench = new ClawHarness({ mode: 'local' })
|
|
|
40
40
|
const bot = bench.bot('alpha', {
|
|
41
41
|
preset: 'default',
|
|
42
42
|
skills: [{ url: 'http://localhost:3000/skill.md', name: 'my-app' }],
|
|
43
|
-
|
|
43
|
+
soulMd: 'You are a friendly bot.',
|
|
44
44
|
})
|
|
45
45
|
|
|
46
46
|
await bench.start()
|
|
@@ -60,14 +60,14 @@ bots:
|
|
|
60
60
|
alpha:
|
|
61
61
|
preset: default
|
|
62
62
|
model: anthropic/claude-haiku-4-5-20251001
|
|
63
|
-
|
|
63
|
+
soul_md: presets/personas/friendly.md
|
|
64
64
|
skills:
|
|
65
65
|
- url: "http://localhost:3000/skill.md"
|
|
66
66
|
name: target-app
|
|
67
67
|
|
|
68
68
|
beta:
|
|
69
69
|
preset: default
|
|
70
|
-
|
|
70
|
+
soul_md: presets/personas/curious.md
|
|
71
71
|
skills:
|
|
72
72
|
- url: "http://localhost:3000/skill.md"
|
|
73
73
|
name: target-app
|
|
@@ -121,11 +121,24 @@ Claw Harness ships with presets for common configurations:
|
|
|
121
121
|
- `default` — Full tools, Haiku model
|
|
122
122
|
- `minimal` — Restricted tools, lower cost
|
|
123
123
|
|
|
124
|
-
**Personas** — `
|
|
124
|
+
**Personas** — `soul.md` templates that shape bot personality:
|
|
125
125
|
- `friendly` — Outgoing, asks follow-up questions
|
|
126
126
|
- `curious` — Thoughtful, explores ideas deeply
|
|
127
127
|
- `terse` — Brief, technical, to the point
|
|
128
128
|
|
|
129
|
+
## Examples
|
|
130
|
+
|
|
131
|
+
The [`examples/`](examples/) directory has self-contained scenarios you can run right away — no target app required:
|
|
132
|
+
|
|
133
|
+
| Scenario | What it shows |
|
|
134
|
+
|----------|---------------|
|
|
135
|
+
| [`hello-world.yaml`](examples/hello-world.yaml) | Simplest possible scenario — one bot, one prompt |
|
|
136
|
+
| [`assertions.yaml`](examples/assertions.yaml) | `contains`, `not_contains`, and `matches` assertions |
|
|
137
|
+
| [`two-bots.yaml`](examples/two-bots.yaml) | Two bots with different personas, parallel execution |
|
|
138
|
+
| [`with-cleanup.yaml`](examples/with-cleanup.yaml) | `after:` cleanup steps that run even on failure |
|
|
139
|
+
|
|
140
|
+
For a full scenario targeting a live app, see [`presets/scenarios/example-chat.yaml`](presets/scenarios/example-chat.yaml).
|
|
141
|
+
|
|
129
142
|
## How It Works
|
|
130
143
|
|
|
131
144
|
Each bot gets full isolation:
|
|
@@ -43,6 +43,24 @@ describe('AgentClient', () => {
|
|
|
43
43
|
expect(result.ok).toBe(false);
|
|
44
44
|
expect(result.error).toContain('Network error');
|
|
45
45
|
});
|
|
46
|
+
it('sends session ID in the user field for multi-turn threading', async () => {
|
|
47
|
+
globalThis.fetch = vi.fn().mockResolvedValue({
|
|
48
|
+
ok: true,
|
|
49
|
+
json: () => Promise.resolve({
|
|
50
|
+
choices: [{ message: { content: 'reply' } }],
|
|
51
|
+
}),
|
|
52
|
+
});
|
|
53
|
+
const client = new AgentClient(18800, 'test-token');
|
|
54
|
+
await client.send('First message', 'session-abc');
|
|
55
|
+
await client.send('Second message', 'session-abc');
|
|
56
|
+
const calls = vi.mocked(fetch).mock.calls;
|
|
57
|
+
expect(calls).toHaveLength(2);
|
|
58
|
+
// Both calls should include the same session ID in the request body
|
|
59
|
+
for (const [, init] of calls) {
|
|
60
|
+
const body = JSON.parse(init.body);
|
|
61
|
+
expect(body.user).toBe('session-abc');
|
|
62
|
+
}
|
|
63
|
+
});
|
|
46
64
|
it('handles missing choices in response', async () => {
|
|
47
65
|
globalThis.fetch = vi.fn().mockResolvedValue({
|
|
48
66
|
ok: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-client.test.js","sourceRoot":"","sources":["../src/agent-client.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent-client.test.js","sourceRoot":"","sources":["../src/agent-client.test.ts"],"names":[],"mappings":"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"}
|
package/dist/bench.test.js
CHANGED
|
@@ -91,5 +91,49 @@ describe('ClawHarness', () => {
|
|
|
91
91
|
log.pop();
|
|
92
92
|
expect(bench.getConversationLog()).toHaveLength(1);
|
|
93
93
|
});
|
|
94
|
+
it('aggregates assertion counts across steps', () => {
|
|
95
|
+
const bench = new ClawHarness({ mode: 'local' });
|
|
96
|
+
bench.bot('alpha', { preset: 'default' });
|
|
97
|
+
bench.recordStep({
|
|
98
|
+
botId: 'alpha',
|
|
99
|
+
prompt: 'Step 1',
|
|
100
|
+
response: { text: 'ok', raw: {}, duration: 50, ok: true },
|
|
101
|
+
timestamp: new Date().toISOString(),
|
|
102
|
+
assertions: [
|
|
103
|
+
{ type: 'contains', expected: 'ok', passed: true },
|
|
104
|
+
{ type: 'not_contains', expected: 'error', passed: true },
|
|
105
|
+
],
|
|
106
|
+
});
|
|
107
|
+
bench.recordStep({
|
|
108
|
+
botId: 'alpha',
|
|
109
|
+
prompt: 'Step 2',
|
|
110
|
+
response: { text: 'fail', raw: {}, duration: 50, ok: true },
|
|
111
|
+
timestamp: new Date().toISOString(),
|
|
112
|
+
assertions: [
|
|
113
|
+
{ type: 'contains', expected: 'success', passed: false },
|
|
114
|
+
],
|
|
115
|
+
});
|
|
116
|
+
// Step without assertions should not affect counts
|
|
117
|
+
bench.recordStep({
|
|
118
|
+
botId: 'alpha',
|
|
119
|
+
prompt: 'Step 3',
|
|
120
|
+
response: { text: 'hi', raw: {}, duration: 30, ok: true },
|
|
121
|
+
timestamp: new Date().toISOString(),
|
|
122
|
+
});
|
|
123
|
+
const results = bench.getResults();
|
|
124
|
+
expect(results.assertions).toEqual({ total: 3, passed: 2, failed: 1 });
|
|
125
|
+
});
|
|
126
|
+
it('populates config from env vars', async () => {
|
|
127
|
+
vi.stubEnv('ANTHROPIC_API_KEY', 'test-anthropic-key');
|
|
128
|
+
vi.stubEnv('OPENAI_API_KEY', 'test-openai-key');
|
|
129
|
+
vi.stubEnv('ANTHROPIC_ADMIN_API_KEY', 'test-admin-key');
|
|
130
|
+
const bench = new ClawHarness({ mode: 'local' });
|
|
131
|
+
bench.bot('alpha', { preset: 'default' });
|
|
132
|
+
const { Bot } = vi.mocked(await import('./bot.js'));
|
|
133
|
+
expect(Bot).toHaveBeenCalledWith('alpha', expect.anything(), expect.objectContaining({
|
|
134
|
+
anthropicApiKey: 'test-anthropic-key',
|
|
135
|
+
openaiApiKey: 'test-openai-key',
|
|
136
|
+
}));
|
|
137
|
+
});
|
|
94
138
|
});
|
|
95
139
|
//# sourceMappingURL=bench.test.js.map
|
package/dist/bench.test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bench.test.js","sourceRoot":"","sources":["../src/bench.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bench.test.js","sourceRoot":"","sources":["../src/bench.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docker-gateway.d.ts","sourceRoot":"","sources":["../src/docker-gateway.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAaH;;;GAGG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CA0BjD;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAEtC;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,IAAI,CAAQ;IACpB,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,cAAc,CAAQ;IAC9B,OAAO,CAAC,aAAa,CAAQ;IAC7B,OAAO,CAAC,OAAO,CAAC,CAAc;IAC9B,OAAO,CAAC,MAAM,CAAa;gBAEf,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM;IAQpF,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAEtB;IAEK,KAAK,CAAC,GAAG,EAAE;QAAE,eAAe,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA4C5E,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAmB3B;;;OAGG;IACH,eAAe,CAAC,GAAG,EAAE;QAAE,eAAe,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,EAAE;
|
|
1
|
+
{"version":3,"file":"docker-gateway.d.ts","sourceRoot":"","sources":["../src/docker-gateway.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAaH;;;GAGG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CA0BjD;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAEtC;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,IAAI,CAAQ;IACpB,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,cAAc,CAAQ;IAC9B,OAAO,CAAC,aAAa,CAAQ;IAC7B,OAAO,CAAC,OAAO,CAAC,CAAc;IAC9B,OAAO,CAAC,MAAM,CAAa;gBAEf,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM;IAQpF,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAEtB;IAEK,KAAK,CAAC,GAAG,EAAE;QAAE,eAAe,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA4C5E,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAmB3B;;;OAGG;IACH,eAAe,CAAC,GAAG,EAAE;QAAE,eAAe,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,EAAE;YAwCnE,YAAY;CAsB3B"}
|
package/dist/docker-gateway.js
CHANGED
|
@@ -147,7 +147,9 @@ export class DockerGateway {
|
|
|
147
147
|
args.push('-p', `${this.port}:${this.port}`);
|
|
148
148
|
}
|
|
149
149
|
// Image and command
|
|
150
|
-
|
|
150
|
+
// --bind lan makes the gateway listen on 0.0.0.0 so it's reachable
|
|
151
|
+
// from the host via Docker port mapping
|
|
152
|
+
args.push(IMAGE_NAME, 'openclaw', '--profile', this.profileName, 'gateway', '--port', String(this.port), '--bind', 'lan');
|
|
151
153
|
return args;
|
|
152
154
|
}
|
|
153
155
|
async waitForReady() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docker-gateway.js","sourceRoot":"","sources":["../src/docker-gateway.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"docker-gateway.js","sourceRoot":"","sources":["../src/docker-gateway.ts"],"names":[],"mappings":"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"}
|
|
@@ -82,7 +82,7 @@ describe('DockerGateway', () => {
|
|
|
82
82
|
const imageIndex = args.indexOf('claw-harness:latest');
|
|
83
83
|
expect(imageIndex).toBeGreaterThan(-1);
|
|
84
84
|
expect(args.slice(imageIndex + 1)).toEqual([
|
|
85
|
-
'openclaw', '--profile', 'claw-harness-alpha', 'gateway', '--port', '18800',
|
|
85
|
+
'openclaw', '--profile', 'claw-harness-alpha', 'gateway', '--port', '18800', '--bind', 'lan',
|
|
86
86
|
]);
|
|
87
87
|
});
|
|
88
88
|
});
|
|
@@ -103,6 +103,22 @@ describe('DockerGateway', () => {
|
|
|
103
103
|
expect(execFileSync).toHaveBeenCalledTimes(2);
|
|
104
104
|
expect(execFileSync).toHaveBeenLastCalledWith('docker', ['build', '-t', 'claw-harness:latest', '/mock/pkg/docker'], expect.objectContaining({ stdio: 'inherit' }));
|
|
105
105
|
});
|
|
106
|
+
it('calls inspect before build (correct ordering)', async () => {
|
|
107
|
+
const { execFileSync } = await import('node:child_process');
|
|
108
|
+
const callArgs = [];
|
|
109
|
+
vi.mocked(execFileSync)
|
|
110
|
+
.mockImplementationOnce((_cmd, args) => {
|
|
111
|
+
callArgs.push(args);
|
|
112
|
+
throw new Error('not found');
|
|
113
|
+
})
|
|
114
|
+
.mockImplementationOnce((_cmd, args) => {
|
|
115
|
+
callArgs.push(args);
|
|
116
|
+
return Buffer.from('');
|
|
117
|
+
});
|
|
118
|
+
await ensureImage();
|
|
119
|
+
expect(callArgs[0][0]).toBe('image'); // inspect
|
|
120
|
+
expect(callArgs[1][0]).toBe('build'); // build
|
|
121
|
+
});
|
|
106
122
|
it('caches result after successful check', async () => {
|
|
107
123
|
const { execFileSync } = await import('node:child_process');
|
|
108
124
|
vi.mocked(execFileSync).mockReturnValue(Buffer.from(''));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docker-gateway.test.js","sourceRoot":"","sources":["../src/docker-gateway.test.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"docker-gateway.test.js","sourceRoot":"","sources":["../src/docker-gateway.test.ts"],"names":[],"mappings":"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"}
|
package/dist/gateway.test.js
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
|
-
import { describe, it, expect } from 'vitest';
|
|
1
|
+
import { describe, it, expect, vi } from 'vitest';
|
|
2
2
|
import { Gateway } from './gateway.js';
|
|
3
|
+
import { createMockChildProcess } from './test-helpers.js';
|
|
4
|
+
vi.mock('node:child_process', () => ({
|
|
5
|
+
spawn: vi.fn(),
|
|
6
|
+
}));
|
|
3
7
|
describe('Gateway', () => {
|
|
4
8
|
it('creates with correct properties', () => {
|
|
5
9
|
const gw = new Gateway('bot1', 18800, 'claw-harness-bot1');
|
|
@@ -15,5 +19,74 @@ describe('Gateway', () => {
|
|
|
15
19
|
// Should not throw
|
|
16
20
|
await gw.stop();
|
|
17
21
|
});
|
|
22
|
+
it('polls OPTIONS until gateway is ready', async () => {
|
|
23
|
+
vi.useFakeTimers();
|
|
24
|
+
const mockProc = createMockChildProcess();
|
|
25
|
+
const { spawn } = await import('node:child_process');
|
|
26
|
+
vi.mocked(spawn).mockReturnValue(mockProc);
|
|
27
|
+
// Mock readFile for config reading
|
|
28
|
+
vi.doMock('node:fs/promises', () => ({
|
|
29
|
+
readFile: vi.fn().mockResolvedValue(JSON.stringify({
|
|
30
|
+
gateway: { auth: { token: 'test-token-123' } },
|
|
31
|
+
})),
|
|
32
|
+
}));
|
|
33
|
+
const mockFetch = vi.fn()
|
|
34
|
+
.mockRejectedValueOnce(new Error('ECONNREFUSED'))
|
|
35
|
+
.mockRejectedValueOnce(new Error('ECONNREFUSED'))
|
|
36
|
+
.mockResolvedValueOnce({ ok: true });
|
|
37
|
+
vi.stubGlobal('fetch', mockFetch);
|
|
38
|
+
const gw = new Gateway('bot1', 18800, 'claw-harness-bot1');
|
|
39
|
+
const startPromise = gw.start({ anthropicApiKey: 'key', openaiApiKey: '' });
|
|
40
|
+
// Advance past two polling intervals (500ms each)
|
|
41
|
+
await vi.advanceTimersByTimeAsync(600);
|
|
42
|
+
await vi.advanceTimersByTimeAsync(600);
|
|
43
|
+
await startPromise;
|
|
44
|
+
expect(mockFetch).toHaveBeenCalledTimes(3);
|
|
45
|
+
expect(gw.token).toBe('test-token-123');
|
|
46
|
+
vi.useRealTimers();
|
|
47
|
+
vi.doUnmock('node:fs/promises');
|
|
48
|
+
});
|
|
49
|
+
it('throws after waitForReady timeout', async () => {
|
|
50
|
+
vi.useFakeTimers();
|
|
51
|
+
const mockProc = createMockChildProcess();
|
|
52
|
+
const { spawn } = await import('node:child_process');
|
|
53
|
+
vi.mocked(spawn).mockReturnValue(mockProc);
|
|
54
|
+
vi.doMock('node:fs/promises', () => ({
|
|
55
|
+
readFile: vi.fn().mockResolvedValue('{}'),
|
|
56
|
+
}));
|
|
57
|
+
vi.stubGlobal('fetch', vi.fn().mockRejectedValue(new Error('ECONNREFUSED')));
|
|
58
|
+
const gw = new Gateway('bot1', 18800, 'claw-harness-bot1');
|
|
59
|
+
const startPromise = gw.start({ anthropicApiKey: 'key', openaiApiKey: '' });
|
|
60
|
+
// Catch rejection eagerly to prevent unhandled rejection warning
|
|
61
|
+
const rejectPromise = expect(startPromise).rejects.toThrow('did not become ready');
|
|
62
|
+
// Advance past the 30s timeout
|
|
63
|
+
await vi.advanceTimersByTimeAsync(31_000);
|
|
64
|
+
await rejectPromise;
|
|
65
|
+
vi.useRealTimers();
|
|
66
|
+
vi.doUnmock('node:fs/promises');
|
|
67
|
+
});
|
|
68
|
+
it('detects early process exit', async () => {
|
|
69
|
+
vi.useFakeTimers();
|
|
70
|
+
const mockProc = createMockChildProcess();
|
|
71
|
+
const { spawn } = await import('node:child_process');
|
|
72
|
+
// When spawn is called, schedule exit emission after a tick
|
|
73
|
+
vi.mocked(spawn).mockImplementation((() => {
|
|
74
|
+
setTimeout(() => mockProc.emit('exit', 1), 10);
|
|
75
|
+
return mockProc;
|
|
76
|
+
}));
|
|
77
|
+
vi.doMock('node:fs/promises', () => ({
|
|
78
|
+
readFile: vi.fn().mockResolvedValue('{}'),
|
|
79
|
+
}));
|
|
80
|
+
vi.stubGlobal('fetch', vi.fn().mockRejectedValue(new Error('ECONNREFUSED')));
|
|
81
|
+
const gw = new Gateway('bot1', 18800, 'claw-harness-bot1');
|
|
82
|
+
const startPromise = gw.start({ anthropicApiKey: 'key', openaiApiKey: '' });
|
|
83
|
+
// Catch rejection eagerly to prevent unhandled rejection warning
|
|
84
|
+
const rejectPromise = expect(startPromise).rejects.toThrow('exited with code 1');
|
|
85
|
+
// Advance past the scheduled exit (10ms) and one polling interval (500ms)
|
|
86
|
+
await vi.advanceTimersByTimeAsync(600);
|
|
87
|
+
await rejectPromise;
|
|
88
|
+
vi.useRealTimers();
|
|
89
|
+
vi.doUnmock('node:fs/promises');
|
|
90
|
+
});
|
|
18
91
|
});
|
|
19
92
|
//# sourceMappingURL=gateway.test.js.map
|
package/dist/gateway.test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway.test.js","sourceRoot":"","sources":["../src/gateway.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"gateway.test.js","sourceRoot":"","sources":["../src/gateway.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAE1D,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,GAAG,EAAE,CAAC,CAAC;IACnC,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE;CACf,CAAC,CAAC,CAAA;AAEH,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACvB,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,EAAE,GAAG,IAAI,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,mBAAmB,CAAC,CAAA;QAC1D,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAC3B,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,MAAM,EAAE,GAAG,IAAI,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,mBAAmB,CAAC,CAAA;QAC1D,EAAE,CAAC,KAAK,GAAG,YAAY,CAAA;QACvB,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;IACrC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,EAAE,GAAG,IAAI,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,mBAAmB,CAAC,CAAA;QAC1D,mBAAmB;QACnB,MAAM,EAAE,CAAC,IAAI,EAAE,CAAA;IACjB,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACpD,EAAE,CAAC,aAAa,EAAE,CAAA;QAElB,MAAM,QAAQ,GAAG,sBAAsB,EAAE,CAAA;QACzC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAA;QACpD,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC,QAAe,CAAC,CAAA;QAEjD,mCAAmC;QACnC,EAAE,CAAC,MAAM,CAAC,kBAAkB,EAAE,GAAG,EAAE,CAAC,CAAC;YACnC,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC;gBACjD,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,EAAE;aAC/C,CAAC,CAAC;SACJ,CAAC,CAAC,CAAA;QAEH,MAAM,SAAS,GAAG,EAAE,CAAC,EAAE,EAAE;aACtB,qBAAqB,CAAC,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;aAChD,qBAAqB,CAAC,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;aAChD,qBAAqB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;QACtC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;QAEjC,MAAM,EAAE,GAAG,IAAI,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,mBAAmB,CAAC,CAAA;QAC1D,MAAM,YAAY,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,eAAe,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CAAA;QAE3E,kDAAkD;QAClD,MAAM,EAAE,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAA;QACtC,MAAM,EAAE,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAA;QAEtC,MAAM,YAAY,CAAA;QAElB,MAAM,CAAC,SAAS,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;QAC1C,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;QAEvC,EAAE,CAAC,aAAa,EAAE,CAAA;QAClB,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAA;IACjC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QACjD,EAAE,CAAC,aAAa,EAAE,CAAA;QAElB,MAAM,QAAQ,GAAG,sBAAsB,EAAE,CAAA;QACzC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAA;QACpD,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC,QAAe,CAAC,CAAA;QAEjD,EAAE,CAAC,MAAM,CAAC,kBAAkB,EAAE,GAAG,EAAE,CAAC,CAAC;YACnC,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC;SAC1C,CAAC,CAAC,CAAA;QAEH,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAA;QAE5E,MAAM,EAAE,GAAG,IAAI,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,mBAAmB,CAAC,CAAA;QAC1D,MAAM,YAAY,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,eAAe,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CAAA;QAE3E,iEAAiE;QACjE,MAAM,aAAa,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAA;QAElF,+BAA+B;QAC/B,MAAM,EAAE,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAA;QAEzC,MAAM,aAAa,CAAA;QAEnB,EAAE,CAAC,aAAa,EAAE,CAAA;QAClB,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAA;IACjC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;QAC1C,EAAE,CAAC,aAAa,EAAE,CAAA;QAElB,MAAM,QAAQ,GAAG,sBAAsB,EAAE,CAAA;QACzC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAA;QACpD,4DAA4D;QAC5D,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,EAAE;YACxC,UAAU,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;YAC9C,OAAO,QAAQ,CAAA;QACjB,CAAC,CAAQ,CAAC,CAAA;QAEV,EAAE,CAAC,MAAM,CAAC,kBAAkB,EAAE,GAAG,EAAE,CAAC,CAAC;YACnC,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC;SAC1C,CAAC,CAAC,CAAA;QAEH,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAA;QAE5E,MAAM,EAAE,GAAG,IAAI,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,mBAAmB,CAAC,CAAA;QAC1D,MAAM,YAAY,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,eAAe,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CAAA;QAE3E,iEAAiE;QACjE,MAAM,aAAa,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAA;QAEhF,0EAA0E;QAC1E,MAAM,EAAE,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAA;QAEtC,MAAM,aAAa,CAAA;QAEnB,EAAE,CAAC,aAAa,EAAE,CAAA;QAClB,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAA;IACjC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Integration tests — exercise the real claw-harness framework end-to-end.
|
|
3
|
+
*
|
|
4
|
+
* Only two things are mocked:
|
|
5
|
+
* 1. node:child_process.spawn (avoids requiring the openclaw binary)
|
|
6
|
+
* 2. globalThis.fetch (avoids real HTTP traffic)
|
|
7
|
+
*
|
|
8
|
+
* Everything else runs for real: YAML loading, scenario validation,
|
|
9
|
+
* workspace setup (real FS), config generation, assertion evaluation,
|
|
10
|
+
* result aggregation, and cleanup.
|
|
11
|
+
*/
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=integration.test.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"integration.test.d.ts","sourceRoot":"","sources":["../src/integration.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG"}
|