@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.
Files changed (91) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +227 -0
  3. package/dist/bin/adapters-harness-mock.d.ts +32 -0
  4. package/dist/bin/adapters-harness-mock.d.ts.map +1 -0
  5. package/dist/bin/adapters-harness-mock.js +155 -0
  6. package/dist/bin/adapters-harness-mock.js.map +1 -0
  7. package/dist/bin/mock-harness.d.ts +2 -0
  8. package/dist/bin/mock-harness.d.ts.map +1 -0
  9. package/dist/bin/mock-harness.js +25 -0
  10. package/dist/bin/mock-harness.js.map +1 -0
  11. package/dist/http-mock.d.ts +39 -0
  12. package/dist/http-mock.d.ts.map +1 -0
  13. package/dist/http-mock.js +206 -0
  14. package/dist/http-mock.js.map +1 -0
  15. package/dist/index.d.ts +9 -0
  16. package/dist/index.d.ts.map +1 -0
  17. package/dist/index.js +10 -0
  18. package/dist/index.js.map +1 -0
  19. package/dist/mock-process.d.ts +57 -0
  20. package/dist/mock-process.d.ts.map +1 -0
  21. package/dist/mock-process.js +388 -0
  22. package/dist/mock-process.js.map +1 -0
  23. package/dist/mocks/index.d.ts +53 -0
  24. package/dist/mocks/index.d.ts.map +1 -0
  25. package/dist/mocks/index.js +140 -0
  26. package/dist/mocks/index.js.map +1 -0
  27. package/dist/mocks/mock-types.d.ts +170 -0
  28. package/dist/mocks/mock-types.d.ts.map +1 -0
  29. package/dist/mocks/mock-types.js +2 -0
  30. package/dist/mocks/mock-types.js.map +1 -0
  31. package/dist/mocks/programmatic-mocks.d.ts +40 -0
  32. package/dist/mocks/programmatic-mocks.d.ts.map +1 -0
  33. package/dist/mocks/programmatic-mocks.js +229 -0
  34. package/dist/mocks/programmatic-mocks.js.map +1 -0
  35. package/dist/mocks/remote-mocks.d.ts +43 -0
  36. package/dist/mocks/remote-mocks.d.ts.map +1 -0
  37. package/dist/mocks/remote-mocks.js +332 -0
  38. package/dist/mocks/remote-mocks.js.map +1 -0
  39. package/dist/mocks/scriptable-transport.d.ts +23 -0
  40. package/dist/mocks/scriptable-transport.d.ts.map +1 -0
  41. package/dist/mocks/scriptable-transport.js +83 -0
  42. package/dist/mocks/scriptable-transport.js.map +1 -0
  43. package/dist/multi-execution.d.ts +1 -0
  44. package/dist/multi-execution.d.ts.map +1 -0
  45. package/dist/multi-execution.js +2 -0
  46. package/dist/multi-execution.js.map +1 -0
  47. package/dist/probe.d.ts +113 -0
  48. package/dist/probe.d.ts.map +1 -0
  49. package/dist/probe.js +722 -0
  50. package/dist/probe.js.map +1 -0
  51. package/dist/scenarios/errors.d.ts +21 -0
  52. package/dist/scenarios/errors.d.ts.map +1 -0
  53. package/dist/scenarios/errors.js +73 -0
  54. package/dist/scenarios/errors.js.map +1 -0
  55. package/dist/scenarios/hooks.d.ts +17 -0
  56. package/dist/scenarios/hooks.d.ts.map +1 -0
  57. package/dist/scenarios/hooks.js +129 -0
  58. package/dist/scenarios/hooks.js.map +1 -0
  59. package/dist/scenarios/index.d.ts +22 -0
  60. package/dist/scenarios/index.d.ts.map +1 -0
  61. package/dist/scenarios/index.js +65 -0
  62. package/dist/scenarios/index.js.map +1 -0
  63. package/dist/scenarios/interactive.d.ts +17 -0
  64. package/dist/scenarios/interactive.d.ts.map +1 -0
  65. package/dist/scenarios/interactive.js +65 -0
  66. package/dist/scenarios/interactive.js.map +1 -0
  67. package/dist/scenarios/per-agent.d.ts +17 -0
  68. package/dist/scenarios/per-agent.d.ts.map +1 -0
  69. package/dist/scenarios/per-agent.js +597 -0
  70. package/dist/scenarios/per-agent.js.map +1 -0
  71. package/dist/scenarios/wire-format.d.ts +56 -0
  72. package/dist/scenarios/wire-format.d.ts.map +1 -0
  73. package/dist/scenarios/wire-format.js +261 -0
  74. package/dist/scenarios/wire-format.js.map +1 -0
  75. package/dist/scenarios.d.ts +29 -0
  76. package/dist/scenarios.d.ts.map +1 -0
  77. package/dist/scenarios.js +141 -0
  78. package/dist/scenarios.js.map +1 -0
  79. package/dist/types.d.ts +463 -0
  80. package/dist/types.d.ts.map +1 -0
  81. package/dist/types.js +9 -0
  82. package/dist/types.js.map +1 -0
  83. package/dist/websocket-mock.d.ts +58 -0
  84. package/dist/websocket-mock.d.ts.map +1 -0
  85. package/dist/websocket-mock.js +367 -0
  86. package/dist/websocket-mock.js.map +1 -0
  87. package/dist/workspace.d.ts +52 -0
  88. package/dist/workspace.d.ts.map +1 -0
  89. package/dist/workspace.js +157 -0
  90. package/dist/workspace.js.map +1 -0
  91. package/package.json +71 -0
@@ -0,0 +1,463 @@
1
+ /**
2
+ * Types for the harness mock/simulator.
3
+ *
4
+ * A "harness" is a CLI tool (claude-code, codex, etc.) that adapters
5
+ * invokes as a subprocess. This package simulates harness behavior for
6
+ * testing without requiring the real CLI tools to be installed.
7
+ */
8
+ /** Supported harness types for mocking. */
9
+ export type HarnessType = 'claude-code' | 'codex' | 'gemini' | 'amp' | 'copilot' | 'cursor' | 'droid' | 'opencode' | 'pi' | 'omp' | 'openclaw' | 'hermes' | 'qwen' | 'aider' | 'goose' | 'custom' | 'claude-agent-sdk' | 'codex-sdk' | 'codex-websocket' | 'pi-sdk' | 'opencode-http';
10
+ /** Adapter execution types supported by harness-mock. */
11
+ export type AdapterExecutionType = 'subprocess' | 'http' | 'websocket' | 'sdk';
12
+ /** A simulated file operation that the harness would perform. */
13
+ export interface FileOperation {
14
+ /** Type of file operation. */
15
+ type: 'create' | 'modify' | 'delete' | 'rename';
16
+ /** Absolute path to the file. */
17
+ path: string;
18
+ /** New path (only for 'rename'). */
19
+ newPath?: string;
20
+ /** Content to write (for 'create' and 'modify'). */
21
+ content?: string;
22
+ /** Diff/patch content (for 'modify', alternative to full content). */
23
+ patch?: string;
24
+ }
25
+ /** Simulated process exit behavior. */
26
+ export interface ProcessBehavior {
27
+ /** Exit code. 0 = success. */
28
+ exitCode: number;
29
+ /** Delay in ms before the process "starts producing output". */
30
+ startupDelayMs?: number;
31
+ /** Delay in ms before the process exits after all output is sent. */
32
+ shutdownDelayMs?: number;
33
+ /** If set, the process will crash with this signal after the given delay. */
34
+ crashAfterMs?: number;
35
+ /** Signal to crash with (default: SIGTERM). */
36
+ crashSignal?: string;
37
+ /** Whether the process hangs indefinitely (for timeout testing). */
38
+ hang?: boolean;
39
+ }
40
+ /** A single output chunk from the simulated harness. */
41
+ export interface OutputChunk {
42
+ /** Which stream this goes to. */
43
+ stream: 'stdout' | 'stderr';
44
+ /** The data to emit. */
45
+ data: string;
46
+ /** Delay in ms before emitting this chunk (relative to previous chunk). */
47
+ delayMs?: number;
48
+ }
49
+ /** An expected stdin prompt and the mock's response behavior. */
50
+ export interface InteractionResolution {
51
+ /** Output to emit after the interaction resolves. */
52
+ output?: OutputChunk[];
53
+ /** Exit code to use after resolution. If omitted, resume the base scenario. */
54
+ exitCode?: number;
55
+ }
56
+ export interface StdinInteraction {
57
+ /** Pattern to match on stdout/stderr before this interaction fires. */
58
+ triggerPattern: string | RegExp;
59
+ /** Auto-response to feed into stdin when the prompt appears. */
60
+ response: string;
61
+ /** Delay before responding (ms). */
62
+ delayMs?: number;
63
+ /** Explicit allow matcher for manual stdin input. Defaults to /^y(es)?\\s*$/i. */
64
+ allowPattern?: string | RegExp;
65
+ /** Explicit deny matcher for manual stdin input. Defaults to /^n(o)?\\s*$/i. */
66
+ denyPattern?: string | RegExp;
67
+ /** How long to wait for approval input before timing out. */
68
+ timeoutMs?: number;
69
+ /** Output/exit behavior once the interaction is allowed. */
70
+ onAllow?: InteractionResolution;
71
+ /** Output/exit behavior once the interaction is denied. */
72
+ onDeny?: InteractionResolution;
73
+ /** Output/exit behavior once the interaction times out. */
74
+ onTimeout?: InteractionResolution;
75
+ }
76
+ /** A simulated agent event (matching the adapters event schema). */
77
+ export interface MockEvent {
78
+ /** Event type matching the adapters event taxonomy. */
79
+ type: string;
80
+ /** Delay before emitting this event (ms, relative to previous). */
81
+ delayMs?: number;
82
+ /** Event payload. */
83
+ data: Record<string, unknown>;
84
+ }
85
+ export interface RuntimeHookScenarioStep {
86
+ /** Zero-based output chunk index intercepted by the runtime hook. */
87
+ chunkIndex: number;
88
+ /** Hook kind being simulated. */
89
+ kind: 'preToolUse' | 'postToolUse' | 'sessionStart' | 'sessionEnd' | 'stop' | 'userPromptSubmit';
90
+ /** Payload surfaced on the emitted runtime-hook event. */
91
+ payload?: Record<string, unknown>;
92
+ /** Mock runtime-hook decision. */
93
+ decision: 'allow' | 'deny' | 'timeout';
94
+ /** Delay before the decision resolves. */
95
+ delayMs?: number;
96
+ /** Optional stderr line when the hook denies the action. */
97
+ errorMessage?: string;
98
+ }
99
+ /** Configuration for HTTP server mocking. */
100
+ export interface HttpServerConfig {
101
+ /** Port to bind the mock server to. */
102
+ port?: number;
103
+ /** Host to bind to (default: localhost). */
104
+ host?: string;
105
+ /** Startup delay in milliseconds. */
106
+ startupDelayMs?: number;
107
+ /** Whether server startup should fail. */
108
+ startupFails?: boolean;
109
+ /** Routes and their response configurations. */
110
+ routes?: Record<string, HttpRouteConfig>;
111
+ /** Global response delay (applies to all routes). */
112
+ globalDelayMs?: number;
113
+ /** Enable CORS headers. */
114
+ enableCors?: boolean;
115
+ }
116
+ /** Configuration for a single HTTP route. */
117
+ export interface HttpRouteConfig {
118
+ /** HTTP method (GET, POST, etc.). */
119
+ method?: string;
120
+ /** Response status code. */
121
+ status?: number;
122
+ /** Response headers. */
123
+ headers?: Record<string, string>;
124
+ /** Response body (string, object, or function). */
125
+ body?: string | object | ((req: unknown) => unknown);
126
+ /** Response delay for this specific route. */
127
+ delayMs?: number;
128
+ /** Whether to stream the response. */
129
+ streaming?: boolean;
130
+ /** For streaming responses, chunks to send. */
131
+ streamChunks?: Array<{
132
+ data: string;
133
+ delayMs?: number;
134
+ }>;
135
+ }
136
+ /** Configuration for WebSocket server mocking. */
137
+ export interface WebSocketConfig {
138
+ /** Port to bind the WebSocket server to. */
139
+ port?: number;
140
+ /** Host to bind to (default: localhost). */
141
+ host?: string;
142
+ /** Startup delay in milliseconds. */
143
+ startupDelayMs?: number;
144
+ /** Whether server startup should fail. */
145
+ startupFails?: boolean;
146
+ /** Channels to support. */
147
+ channels?: string[];
148
+ /** Ping interval in milliseconds. */
149
+ pingIntervalMs?: number;
150
+ /** Connection timeout in milliseconds. */
151
+ connectionTimeoutMs?: number;
152
+ /** Maximum number of concurrent connections. */
153
+ maxConnections?: number;
154
+ /** Whether to simulate connection drops. */
155
+ simulateDrops?: {
156
+ /** Drop connections after this many messages. */
157
+ afterMessages?: number;
158
+ /** Delay before reconnection is allowed. */
159
+ reconnectDelayMs?: number;
160
+ };
161
+ }
162
+ /** Configuration for SDK mocking. */
163
+ export interface SdkConfig {
164
+ /** SDK name/identifier. */
165
+ sdkName?: string;
166
+ /** Version to simulate. */
167
+ version?: string;
168
+ /** Authentication configuration. */
169
+ auth?: {
170
+ /** Whether authentication should succeed. */
171
+ succeeds: boolean;
172
+ /** Delay for auth operations. */
173
+ delayMs?: number;
174
+ /** Required API keys or tokens. */
175
+ requiredKeys?: string[];
176
+ };
177
+ /** API call simulation. */
178
+ apiCalls?: Record<string, SdkMethodConfig>;
179
+ /** Global settings for all SDK methods. */
180
+ globalConfig?: {
181
+ /** Default delay for all operations. */
182
+ defaultDelayMs?: number;
183
+ /** Rate limiting simulation. */
184
+ rateLimitMs?: number;
185
+ /** Network failure simulation rate (0-1). */
186
+ failureRate?: number;
187
+ };
188
+ }
189
+ /** Configuration for a single SDK method. */
190
+ export interface SdkMethodConfig {
191
+ /** Response to return. */
192
+ response?: unknown;
193
+ /** Delay before response. */
194
+ delayMs?: number;
195
+ /** Whether this method should fail. */
196
+ shouldFail?: boolean;
197
+ /** Error to throw if shouldFail is true. */
198
+ error?: {
199
+ code: string;
200
+ message: string;
201
+ };
202
+ /** Whether this method supports streaming. */
203
+ streaming?: boolean;
204
+ /** For streaming methods, events to emit. */
205
+ streamEvents?: Array<{
206
+ type: string;
207
+ data: unknown;
208
+ delayMs?: number;
209
+ }>;
210
+ }
211
+ /**
212
+ * A complete scenario describing how a mock harness should behave.
213
+ * This is the primary configuration object for setting up mock tests.
214
+ */
215
+ export interface HarnessScenario {
216
+ /** Which harness to simulate. */
217
+ harness: HarnessType;
218
+ /** Human-readable scenario name (for test output). */
219
+ name?: string;
220
+ /** The execution type for this harness (default: subprocess). */
221
+ executionType?: AdapterExecutionType;
222
+ /** Process behavior (exit code, timing, crashes). */
223
+ process?: ProcessBehavior;
224
+ /** Sequence of output chunks to emit. */
225
+ output?: OutputChunk[];
226
+ /** Interactive stdin/stdout exchanges. */
227
+ interactions?: StdinInteraction[];
228
+ /** Environment variables the harness expects. */
229
+ expectedEnv?: Record<string, string>;
230
+ /** Expected command-line arguments. */
231
+ expectedArgs?: string[];
232
+ /** Expected working directory. */
233
+ expectedCwd?: string;
234
+ /** Sequence of events the harness would produce. */
235
+ events?: MockEvent[];
236
+ /** File operations the harness would perform. */
237
+ fileOperations?: FileOperation[];
238
+ /** Simulated telemetry data. */
239
+ telemetry?: {
240
+ spans?: Array<{
241
+ name: string;
242
+ attributes?: Record<string, string | number | boolean>;
243
+ status?: 'ok' | 'error';
244
+ delayMs?: number;
245
+ }>;
246
+ metrics?: Array<{
247
+ name: string;
248
+ value: number;
249
+ attributes?: Record<string, string | number | boolean>;
250
+ delayMs?: number;
251
+ }>;
252
+ };
253
+ /** Optional runtime-hook interception points for subprocess scenarios. */
254
+ runtimeHooks?: {
255
+ steps: RuntimeHookScenarioStep[];
256
+ };
257
+ /** HTTP server configuration (for HTTP adapters). */
258
+ httpServer?: HttpServerConfig;
259
+ /** WebSocket server configuration (for WebSocket adapters). */
260
+ websocketServer?: WebSocketConfig;
261
+ /** SDK configuration (for programmatic adapters). */
262
+ sdk?: SdkConfig;
263
+ }
264
+ /** Base handle to a running mock harness. */
265
+ export interface MockHarnessHandle {
266
+ /** The scenario being executed. */
267
+ readonly scenario: HarnessScenario;
268
+ /** Unique identifier for this mock instance. */
269
+ readonly id: number;
270
+ /** Whether the mock has stopped. */
271
+ readonly exited: boolean;
272
+ /** Files that were "modified" by this mock. */
273
+ readonly fileChanges: FileOperation[];
274
+ /** Stop the mock (gracefully if possible). */
275
+ stop(): Promise<void>;
276
+ /** Force stop the mock immediately. */
277
+ forceStop(): void;
278
+ /** Wait for the mock to complete. */
279
+ waitForCompletion(): Promise<MockExecutionResult>;
280
+ }
281
+ /** Result of mock execution. */
282
+ export interface MockExecutionResult {
283
+ /** Whether execution completed successfully. */
284
+ success: boolean;
285
+ /** Duration of execution in milliseconds. */
286
+ durationMs: number;
287
+ /** Any error that occurred. */
288
+ error?: {
289
+ code: string;
290
+ message: string;
291
+ };
292
+ /** Execution-type specific results. */
293
+ results: SubprocessResult | HttpServerResult | WebSocketServerResult | SdkResult;
294
+ }
295
+ /** Subprocess-specific handle (traditional harness mock). */
296
+ export interface SubprocessMockHandle extends MockHarnessHandle {
297
+ /** The exit code (undefined until exited). */
298
+ readonly exitCode: number | undefined;
299
+ /** All stdout data collected so far. */
300
+ readonly stdout: string;
301
+ /** All stderr data collected so far. */
302
+ readonly stderr: string;
303
+ /** Write to the mock's stdin. */
304
+ write(data: string): void;
305
+ /** Send a signal to the mock process. */
306
+ kill(signal?: string): void;
307
+ /** Wait for the mock process to exit. */
308
+ waitForExit(): Promise<{
309
+ exitCode: number;
310
+ stdout: string;
311
+ stderr: string;
312
+ }>;
313
+ }
314
+ /** HTTP server-specific handle. */
315
+ export interface HttpServerMockHandle extends MockHarnessHandle {
316
+ /** Server endpoint URL. */
317
+ readonly serverUrl: string;
318
+ /** Server port. */
319
+ readonly port: number;
320
+ /** Whether the server is running. */
321
+ readonly isRunning: boolean;
322
+ /** Request history. */
323
+ readonly requestHistory: Array<{
324
+ method: string;
325
+ path: string;
326
+ headers: Record<string, string>;
327
+ body: unknown;
328
+ timestamp: Date;
329
+ }>;
330
+ /** Get server status. */
331
+ getStatus(): {
332
+ isRunning: boolean;
333
+ requestCount: number;
334
+ uptime: number;
335
+ };
336
+ /** Reset request history and state. */
337
+ reset(): void;
338
+ }
339
+ /** WebSocket server-specific handle. */
340
+ export interface WebSocketServerMockHandle extends MockHarnessHandle {
341
+ /** Server endpoint URL. */
342
+ readonly serverUrl: string;
343
+ /** Server port. */
344
+ readonly port: number;
345
+ /** Whether the server is running. */
346
+ readonly isRunning: boolean;
347
+ /** Connected clients count. */
348
+ readonly connectionCount: number;
349
+ /** Message history for all connections. */
350
+ readonly messageHistory: Array<{
351
+ connectionId: string;
352
+ direction: 'inbound' | 'outbound';
353
+ message: unknown;
354
+ timestamp: Date;
355
+ }>;
356
+ /** Send message to all connected clients. */
357
+ broadcast(message: unknown): void;
358
+ /** Send message to specific connection. */
359
+ sendTo(connectionId: string, message: unknown): void;
360
+ /** Simulate connection drop for a specific client. */
361
+ dropConnection(connectionId: string): void;
362
+ /** Get connection status. */
363
+ getConnectionStatus(): Array<{
364
+ connectionId: string;
365
+ connectedAt: Date;
366
+ messageCount: number;
367
+ }>;
368
+ }
369
+ /** SDK-specific handle. */
370
+ export interface SdkMockHandle extends MockHarnessHandle {
371
+ /** SDK instance name. */
372
+ readonly sdkName: string;
373
+ /** Method call history. */
374
+ readonly methodHistory: Array<{
375
+ method: string;
376
+ args: unknown[];
377
+ result: unknown;
378
+ durationMs: number;
379
+ timestamp: Date;
380
+ }>;
381
+ /** Whether authentication was successful. */
382
+ readonly isAuthenticated: boolean;
383
+ /** Simulate a method call. */
384
+ callMethod(method: string, ...args: unknown[]): Promise<unknown>;
385
+ /** Get method call statistics. */
386
+ getStats(): {
387
+ totalCalls: number;
388
+ uniqueMethods: string[];
389
+ averageDurationMs: number;
390
+ };
391
+ /** Reset method history and state. */
392
+ reset(): void;
393
+ }
394
+ /** Subprocess execution result. */
395
+ export interface SubprocessResult {
396
+ type: 'subprocess';
397
+ exitCode: number;
398
+ stdout: string;
399
+ stderr: string;
400
+ signalKilled?: string;
401
+ }
402
+ /** HTTP server execution result. */
403
+ export interface HttpServerResult {
404
+ type: 'http';
405
+ requestCount: number;
406
+ requestHistory: Array<{
407
+ method: string;
408
+ path: string;
409
+ status: number;
410
+ }>;
411
+ averageResponseTimeMs: number;
412
+ }
413
+ /** WebSocket server execution result. */
414
+ export interface WebSocketServerResult {
415
+ type: 'websocket';
416
+ connectionCount: number;
417
+ messageCount: number;
418
+ averageConnectionDurationMs: number;
419
+ }
420
+ /** SDK execution result. */
421
+ export interface SdkResult {
422
+ type: 'sdk';
423
+ methodCallCount: number;
424
+ uniqueMethods: string[];
425
+ averageMethodDurationMs: number;
426
+ authenticationAttempts: number;
427
+ }
428
+ /**
429
+ * A captured behavior profile from probing a real harness.
430
+ * Used to compare mock fidelity against actual harness behavior.
431
+ */
432
+ export interface HarnessBehaviorProfile {
433
+ /** Harness type. */
434
+ harness: HarnessType;
435
+ /** Execution transport captured by the profile. */
436
+ executionType: AdapterExecutionType;
437
+ /** Version of the harness that was probed. */
438
+ version: string;
439
+ /** Timestamp of when the profile was captured. */
440
+ capturedAt: string;
441
+ /** Startup time in ms. */
442
+ startupTimeMs: number;
443
+ /** How the harness formats its output (jsonl, streaming text, etc). */
444
+ outputFormat: string;
445
+ /** Additional traits observed or expected for the output stream. */
446
+ outputFormatTraits: string[];
447
+ /** Whether the harness supports stdin interaction. */
448
+ supportsStdin: boolean;
449
+ /** Prompt/signal markers associated with stdin interaction. */
450
+ stdinSignals: string[];
451
+ /** File operation patterns observed. */
452
+ fileOperationPatterns: string[];
453
+ /** Exit code mapping: scenario → exit code. */
454
+ exitCodes: Record<string, number>;
455
+ /** Environment variables the harness reads. */
456
+ environmentVariables: string[];
457
+ /** CLI argument patterns. */
458
+ cliPatterns: Record<string, string>;
459
+ /** Where this probe is expected to run. */
460
+ availability: 'ci' | 'ci-or-local' | 'local-manual' | 'offline-only';
461
+ /** Free-form notes for drift reviewers. */
462
+ probeNotes: string[];
463
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Types for the harness mock/simulator.
3
+ *
4
+ * A "harness" is a CLI tool (claude-code, codex, etc.) that adapters
5
+ * invokes as a subprocess. This package simulates harness behavior for
6
+ * testing without requiring the real CLI tools to be installed.
7
+ */
8
+ export {};
9
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * WebSocket server mock implementation for harness-mock.
3
+ */
4
+ import { EventEmitter } from 'node:events';
5
+ import type { FileOperation, HarnessScenario, MockExecutionResult, WebSocketServerMockHandle } from './types.js';
6
+ export declare class WebSocketServerMock extends EventEmitter implements WebSocketServerMockHandle {
7
+ readonly scenario: HarnessScenario;
8
+ readonly id: number;
9
+ private _port;
10
+ private _serverUrl;
11
+ private _server;
12
+ private _exited;
13
+ private _isRunning;
14
+ private _startTime;
15
+ private _fileChanges;
16
+ private readonly _messageHistory;
17
+ private readonly _connections;
18
+ private readonly _completedConnections;
19
+ private _reconnectAllowedAt;
20
+ private _reconnectTimer;
21
+ constructor(scenario: HarnessScenario, id: number);
22
+ get port(): number;
23
+ get serverUrl(): string;
24
+ get exited(): boolean;
25
+ get fileChanges(): FileOperation[];
26
+ get isRunning(): boolean;
27
+ get connectionCount(): number;
28
+ get messageHistory(): {
29
+ connectionId: string;
30
+ direction: "inbound" | "outbound";
31
+ message: unknown;
32
+ timestamp: Date;
33
+ }[];
34
+ start(): Promise<void>;
35
+ broadcast(message: unknown): void;
36
+ sendTo(connectionId: string, message: unknown): void;
37
+ receiveFrom(connectionId: string, message: unknown): void;
38
+ dropConnection(connectionId: string): void;
39
+ getConnectionStatus(): {
40
+ connectionId: string;
41
+ connectedAt: Date;
42
+ messageCount: number;
43
+ }[];
44
+ stop(): Promise<void>;
45
+ forceStop(): void;
46
+ waitForCompletion(): Promise<MockExecutionResult>;
47
+ private createConnection;
48
+ private scheduleScenarioEvents;
49
+ private recordMessage;
50
+ private sendFrame;
51
+ private attachSocketHandlers;
52
+ private decodeMessage;
53
+ private normalizeRawData;
54
+ private closeConnection;
55
+ private finalizeConnection;
56
+ private checkForDrop;
57
+ private getHistoricalConnections;
58
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket-mock.d.ts","sourceRoot":"","sources":["../src/websocket-mock.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EACf,mBAAmB,EACnB,yBAAyB,EAE1B,MAAM,YAAY,CAAC;AAapB,qBAAa,mBAAoB,SAAQ,YAAa,YAAW,yBAAyB;IACxF,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,OAAO,CAAgC;IAE/C,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAKxB;IACR,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA0C;IACvE,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA6B;IACnE,OAAO,CAAC,mBAAmB,CAAuB;IAClD,OAAO,CAAC,eAAe,CAA8C;gBAEzD,QAAQ,EAAE,eAAe,EAAE,EAAE,EAAE,MAAM;IASjD,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED,IAAI,WAAW,IAAI,aAAa,EAAE,CAEjC;IAED,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED,IAAI,cAAc;sBA3CF,MAAM;mBACT,SAAS,GAAG,UAAU;iBACxB,OAAO;mBACL,IAAI;QA0ChB;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA+F5B,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAMjC,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAWpD,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAazD,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAuB1C,mBAAmB;;;;;IAQb,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA0B3B,SAAS,IAAI,IAAI;IAIX,iBAAiB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAyBvD,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,sBAAsB;IAmB9B,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,SAAS;IAUjB,OAAO,CAAC,oBAAoB;IAiB5B,OAAO,CAAC,aAAa;IAarB,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,eAAe;IAevB,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,wBAAwB;CAUjC"}