@node-llm/testing 0.2.0 → 0.2.1

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 CHANGED
@@ -462,9 +462,6 @@ interface VCROptions {
462
462
  interface MockerOptions {
463
463
  // Enforce exact matching
464
464
  strict?: boolean;
465
-
466
- // Enable verbose logging
467
- debug?: boolean;
468
465
  }
469
466
  ```
470
467
 
package/dist/Mocker.d.ts CHANGED
@@ -31,6 +31,13 @@ export interface MockerDebugInfo {
31
31
  totalMocks: number;
32
32
  methods: string[];
33
33
  }
34
+ export interface MockerOptions {
35
+ /**
36
+ * Enforce that every LLM call must have a corresponding mock.
37
+ * If true, unmocked calls throw an error.
38
+ */
39
+ strict?: boolean;
40
+ }
34
41
  export interface MockCall {
35
42
  method: string;
36
43
  args: unknown[];
@@ -48,7 +55,7 @@ export declare class Mocker {
48
55
  private mocks;
49
56
  private _history;
50
57
  strict: boolean;
51
- constructor();
58
+ constructor(options?: MockerOptions);
52
59
  get history(): MockCall[];
53
60
  getCalls(method?: string): MockCall[];
54
61
  getLastCall(method?: string): MockCall | undefined;
@@ -72,5 +79,5 @@ export declare class Mocker {
72
79
  private getContentString;
73
80
  private setupInterceptor;
74
81
  }
75
- export declare function mockLLM(): Mocker;
82
+ export declare function mockLLM(options?: MockerOptions): Mocker;
76
83
  //# sourceMappingURL=Mocker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Mocker.d.ts","sourceRoot":"","sources":["../src/Mocker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Mocker.d.ts","sourceRoot":"","sources":["../src/Mocker.ts"],"names":[],"mappings":"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"}
package/dist/Mocker.js CHANGED
@@ -4,7 +4,8 @@ export class Mocker {
4
4
  mocks = [];
5
5
  _history = [];
6
6
  strict = false;
7
- constructor() {
7
+ constructor(options = {}) {
8
+ this.strict = !!options.strict;
8
9
  this.setupInterceptor();
9
10
  }
10
11
  get history() {
@@ -281,6 +282,6 @@ export class Mocker {
281
282
  });
282
283
  }
283
284
  }
284
- export function mockLLM() {
285
- return new Mocker();
285
+ export function mockLLM(options = {}) {
286
+ return new Mocker(options);
286
287
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@node-llm/testing",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "description": "Deterministic testing for NodeLLM powered AI systems",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
package/src/Mocker.ts CHANGED
@@ -55,6 +55,14 @@ export interface MockerDebugInfo {
55
55
 
56
56
  const EXECUTION_METHODS = ["chat", "stream", "paint", "transcribe", "moderate", "embed"];
57
57
 
58
+ export interface MockerOptions {
59
+ /**
60
+ * Enforce that every LLM call must have a corresponding mock.
61
+ * If true, unmocked calls throw an error.
62
+ */
63
+ strict?: boolean;
64
+ }
65
+
58
66
  export interface MockCall {
59
67
  method: string;
60
68
  args: unknown[];
@@ -74,7 +82,8 @@ export class Mocker {
74
82
  private _history: MockCall[] = [];
75
83
  public strict = false;
76
84
 
77
- constructor() {
85
+ constructor(options: MockerOptions = {}) {
86
+ this.strict = !!options.strict;
78
87
  this.setupInterceptor();
79
88
  }
80
89
 
@@ -361,6 +370,6 @@ export class Mocker {
361
370
  }
362
371
  }
363
372
 
364
- export function mockLLM() {
365
- return new Mocker();
373
+ export function mockLLM(options: MockerOptions = {}) {
374
+ return new Mocker(options);
366
375
  }