@node-llm/testing 0.2.0 → 0.2.2
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 +0 -3
- package/dist/Mocker.d.ts +9 -2
- package/dist/Mocker.d.ts.map +1 -1
- package/dist/Mocker.js +16 -4
- package/dist/vcr.d.ts.map +1 -1
- package/dist/vcr.js +9 -1
- package/package.json +1 -1
- package/src/Mocker.ts +24 -4
- package/src/vcr.ts +9 -1
package/README.md
CHANGED
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
|
package/dist/Mocker.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Mocker.d.ts","sourceRoot":"","sources":["../src/Mocker.ts"],"names":[],"mappings":"AAAA,OAAO,EAaL,SAAS,EACT,QAAQ,EACR,gBAAgB,EAEjB,MAAM,gBAAgB,CAAC;AAExB,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE;QACN,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;QACtB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC;AAExD,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,WAAW,CAAC;IACnB,QAAQ,EAAE,YAAY,GAAG,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,YAAY,CAAC,CAAC;CAC/D;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;
|
|
1
|
+
{"version":3,"file":"Mocker.d.ts","sourceRoot":"","sources":["../src/Mocker.ts"],"names":[],"mappings":"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"}
|
package/dist/Mocker.js
CHANGED
|
@@ -1,10 +1,19 @@
|
|
|
1
1
|
import { providerRegistry } from "@node-llm/core";
|
|
2
|
-
const EXECUTION_METHODS = [
|
|
2
|
+
const EXECUTION_METHODS = [
|
|
3
|
+
"chat",
|
|
4
|
+
"stream",
|
|
5
|
+
"paint",
|
|
6
|
+
"transcribe",
|
|
7
|
+
"moderate",
|
|
8
|
+
"embed",
|
|
9
|
+
"listModels"
|
|
10
|
+
];
|
|
3
11
|
export class Mocker {
|
|
4
12
|
mocks = [];
|
|
5
13
|
_history = [];
|
|
6
14
|
strict = false;
|
|
7
|
-
constructor() {
|
|
15
|
+
constructor(options = {}) {
|
|
16
|
+
this.strict = !!options.strict;
|
|
8
17
|
this.setupInterceptor();
|
|
9
18
|
}
|
|
10
19
|
get history() {
|
|
@@ -266,6 +275,9 @@ export class Mocker {
|
|
|
266
275
|
]
|
|
267
276
|
};
|
|
268
277
|
}
|
|
278
|
+
case "listModels": {
|
|
279
|
+
return res || [];
|
|
280
|
+
}
|
|
269
281
|
default:
|
|
270
282
|
return res;
|
|
271
283
|
}
|
|
@@ -281,6 +293,6 @@ export class Mocker {
|
|
|
281
293
|
});
|
|
282
294
|
}
|
|
283
295
|
}
|
|
284
|
-
export function mockLLM() {
|
|
285
|
-
return new Mocker();
|
|
296
|
+
export function mockLLM(options = {}) {
|
|
297
|
+
return new Mocker(options);
|
|
286
298
|
}
|
package/dist/vcr.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vcr.d.ts","sourceRoot":"","sources":["../src/vcr.ts"],"names":[],"mappings":"AAoBA,MAAM,MAAM,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,aAAa,CAAC;AAEnE,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB,QAAQ,CAAC,EAAE;QACT,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,YAAY,EAAE,cAAc,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,+EAA+E;IAC/E,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,qBAAa,GAAG;IACd,OAAO,CAAC,QAAQ,CAAc;IAC9B,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,IAAI,CAAU;IACtB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,eAAe,CAAa;gBAExB,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,UAAe;IAgGlD,IAAI,WAAW,YAEd;IAEK,IAAI;IAkBV,OAAO,KAAK,iBAAiB,GAE5B;IAEY,OAAO,CAClB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,EACxD,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,OAAO,CAAC;IAwBL,aAAa,CACzB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,aAAa,CAAC,OAAO,CAAC,EAC9D,OAAO,EAAE,OAAO,GACf,aAAa,CAAC,OAAO,CAAC;IAgCzB,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,OAAO;CAShB;
|
|
1
|
+
{"version":3,"file":"vcr.d.ts","sourceRoot":"","sources":["../src/vcr.ts"],"names":[],"mappings":"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"}
|
package/dist/vcr.js
CHANGED
|
@@ -192,7 +192,15 @@ export class VCR {
|
|
|
192
192
|
.replace(/--+/g, "-");
|
|
193
193
|
}
|
|
194
194
|
}
|
|
195
|
-
const EXECUTION_METHODS = [
|
|
195
|
+
const EXECUTION_METHODS = [
|
|
196
|
+
"chat",
|
|
197
|
+
"stream",
|
|
198
|
+
"paint",
|
|
199
|
+
"transcribe",
|
|
200
|
+
"moderate",
|
|
201
|
+
"embed",
|
|
202
|
+
"listModels"
|
|
203
|
+
];
|
|
196
204
|
export function setupVCR(name, options = {}) {
|
|
197
205
|
const vcr = new VCR(name, options);
|
|
198
206
|
providerRegistry.setInterceptor((provider) => {
|
package/package.json
CHANGED
package/src/Mocker.ts
CHANGED
|
@@ -53,7 +53,23 @@ export interface MockerDebugInfo {
|
|
|
53
53
|
methods: string[];
|
|
54
54
|
}
|
|
55
55
|
|
|
56
|
-
const EXECUTION_METHODS = [
|
|
56
|
+
const EXECUTION_METHODS = [
|
|
57
|
+
"chat",
|
|
58
|
+
"stream",
|
|
59
|
+
"paint",
|
|
60
|
+
"transcribe",
|
|
61
|
+
"moderate",
|
|
62
|
+
"embed",
|
|
63
|
+
"listModels"
|
|
64
|
+
];
|
|
65
|
+
|
|
66
|
+
export interface MockerOptions {
|
|
67
|
+
/**
|
|
68
|
+
* Enforce that every LLM call must have a corresponding mock.
|
|
69
|
+
* If true, unmocked calls throw an error.
|
|
70
|
+
*/
|
|
71
|
+
strict?: boolean;
|
|
72
|
+
}
|
|
57
73
|
|
|
58
74
|
export interface MockCall {
|
|
59
75
|
method: string;
|
|
@@ -74,7 +90,8 @@ export class Mocker {
|
|
|
74
90
|
private _history: MockCall[] = [];
|
|
75
91
|
public strict = false;
|
|
76
92
|
|
|
77
|
-
constructor() {
|
|
93
|
+
constructor(options: MockerOptions = {}) {
|
|
94
|
+
this.strict = !!options.strict;
|
|
78
95
|
this.setupInterceptor();
|
|
79
96
|
}
|
|
80
97
|
|
|
@@ -345,6 +362,9 @@ export class Mocker {
|
|
|
345
362
|
]
|
|
346
363
|
} as ModerationResponse;
|
|
347
364
|
}
|
|
365
|
+
case "listModels": {
|
|
366
|
+
return res || [];
|
|
367
|
+
}
|
|
348
368
|
default:
|
|
349
369
|
return res;
|
|
350
370
|
}
|
|
@@ -361,6 +381,6 @@ export class Mocker {
|
|
|
361
381
|
}
|
|
362
382
|
}
|
|
363
383
|
|
|
364
|
-
export function mockLLM() {
|
|
365
|
-
return new Mocker();
|
|
384
|
+
export function mockLLM(options: MockerOptions = {}) {
|
|
385
|
+
return new Mocker(options);
|
|
366
386
|
}
|
package/src/vcr.ts
CHANGED
|
@@ -259,7 +259,15 @@ export class VCR {
|
|
|
259
259
|
}
|
|
260
260
|
}
|
|
261
261
|
|
|
262
|
-
const EXECUTION_METHODS = [
|
|
262
|
+
const EXECUTION_METHODS = [
|
|
263
|
+
"chat",
|
|
264
|
+
"stream",
|
|
265
|
+
"paint",
|
|
266
|
+
"transcribe",
|
|
267
|
+
"moderate",
|
|
268
|
+
"embed",
|
|
269
|
+
"listModels"
|
|
270
|
+
];
|
|
263
271
|
|
|
264
272
|
export function setupVCR(name: string, options: VCROptions = {}) {
|
|
265
273
|
const vcr = new VCR(name, options);
|