ai-output-assert 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 +183 -0
- package/dist/__tests__/matchers/content.test.d.ts +2 -0
- package/dist/__tests__/matchers/content.test.d.ts.map +1 -0
- package/dist/__tests__/matchers/content.test.js +66 -0
- package/dist/__tests__/matchers/content.test.js.map +1 -0
- package/dist/__tests__/matchers/format.test.d.ts +2 -0
- package/dist/__tests__/matchers/format.test.d.ts.map +1 -0
- package/dist/__tests__/matchers/format.test.js +100 -0
- package/dist/__tests__/matchers/format.test.js.map +1 -0
- package/dist/__tests__/matchers/quality.test.d.ts +2 -0
- package/dist/__tests__/matchers/quality.test.d.ts.map +1 -0
- package/dist/__tests__/matchers/quality.test.js +98 -0
- package/dist/__tests__/matchers/quality.test.js.map +1 -0
- package/dist/__tests__/matchers/safety.test.d.ts +2 -0
- package/dist/__tests__/matchers/safety.test.d.ts.map +1 -0
- package/dist/__tests__/matchers/safety.test.js +120 -0
- package/dist/__tests__/matchers/safety.test.js.map +1 -0
- package/dist/__tests__/setup.test.d.ts +2 -0
- package/dist/__tests__/setup.test.d.ts.map +1 -0
- package/dist/__tests__/setup.test.js +49 -0
- package/dist/__tests__/setup.test.js.map +1 -0
- package/dist/__tests__/types.test.d.ts +2 -0
- package/dist/__tests__/types.test.d.ts.map +1 -0
- package/dist/__tests__/types.test.js +50 -0
- package/dist/__tests__/types.test.js.map +1 -0
- package/dist/__tests__/utils/cosine-similarity.test.d.ts +2 -0
- package/dist/__tests__/utils/cosine-similarity.test.d.ts.map +1 -0
- package/dist/__tests__/utils/cosine-similarity.test.js +30 -0
- package/dist/__tests__/utils/cosine-similarity.test.js.map +1 -0
- package/dist/__tests__/utils/embedding-cache.test.d.ts +2 -0
- package/dist/__tests__/utils/embedding-cache.test.d.ts.map +1 -0
- package/dist/__tests__/utils/embedding-cache.test.js +41 -0
- package/dist/__tests__/utils/embedding-cache.test.js.map +1 -0
- package/dist/__tests__/utils/json-extract.test.d.ts +2 -0
- package/dist/__tests__/utils/json-extract.test.d.ts.map +1 -0
- package/dist/__tests__/utils/json-extract.test.js +32 -0
- package/dist/__tests__/utils/json-extract.test.js.map +1 -0
- package/dist/__tests__/utils/luhn.test.d.ts +2 -0
- package/dist/__tests__/utils/luhn.test.d.ts.map +1 -0
- package/dist/__tests__/utils/luhn.test.js +25 -0
- package/dist/__tests__/utils/luhn.test.js.map +1 -0
- package/dist/__tests__/utils/ngrams.test.d.ts +2 -0
- package/dist/__tests__/utils/ngrams.test.d.ts.map +1 -0
- package/dist/__tests__/utils/ngrams.test.js +28 -0
- package/dist/__tests__/utils/ngrams.test.js.map +1 -0
- package/dist/__tests__/utils/regex-escape.test.d.ts +2 -0
- package/dist/__tests__/utils/regex-escape.test.d.ts.map +1 -0
- package/dist/__tests__/utils/regex-escape.test.js +48 -0
- package/dist/__tests__/utils/regex-escape.test.js.map +1 -0
- package/dist/__tests__/utils/sentences.test.d.ts +2 -0
- package/dist/__tests__/utils/sentences.test.d.ts.map +1 -0
- package/dist/__tests__/utils/sentences.test.js +39 -0
- package/dist/__tests__/utils/sentences.test.js.map +1 -0
- package/dist/__tests__/utils/tokenizer.test.d.ts +2 -0
- package/dist/__tests__/utils/tokenizer.test.d.ts.map +1 -0
- package/dist/__tests__/utils/tokenizer.test.js +25 -0
- package/dist/__tests__/utils/tokenizer.test.js.map +1 -0
- package/dist/catalogs/hedging-phrases.d.ts +4 -0
- package/dist/catalogs/hedging-phrases.d.ts.map +1 -0
- package/dist/catalogs/hedging-phrases.js +49 -0
- package/dist/catalogs/hedging-phrases.js.map +1 -0
- package/dist/catalogs/pii-patterns.d.ts +3 -0
- package/dist/catalogs/pii-patterns.d.ts.map +1 -0
- package/dist/catalogs/pii-patterns.js +35 -0
- package/dist/catalogs/pii-patterns.js.map +1 -0
- package/dist/catalogs/toxic-words.d.ts +3 -0
- package/dist/catalogs/toxic-words.d.ts.map +1 -0
- package/dist/catalogs/toxic-words.js +32 -0
- package/dist/catalogs/toxic-words.js.map +1 -0
- package/dist/index.d.ts +21 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +76 -0
- package/dist/index.js.map +1 -0
- package/dist/matchers/content.d.ts +6 -0
- package/dist/matchers/content.d.ts.map +1 -0
- package/dist/matchers/content.js +54 -0
- package/dist/matchers/content.js.map +1 -0
- package/dist/matchers/format.d.ts +6 -0
- package/dist/matchers/format.d.ts.map +1 -0
- package/dist/matchers/format.js +121 -0
- package/dist/matchers/format.js.map +1 -0
- package/dist/matchers/quality.d.ts +9 -0
- package/dist/matchers/quality.d.ts.map +1 -0
- package/dist/matchers/quality.js +107 -0
- package/dist/matchers/quality.js.map +1 -0
- package/dist/matchers/safety.d.ts +6 -0
- package/dist/matchers/safety.d.ts.map +1 -0
- package/dist/matchers/safety.js +87 -0
- package/dist/matchers/safety.js.map +1 -0
- package/dist/matchers/semantic.d.ts +12 -0
- package/dist/matchers/semantic.d.ts.map +1 -0
- package/dist/matchers/semantic.js +79 -0
- package/dist/matchers/semantic.js.map +1 -0
- package/dist/matchers/structural.d.ts +7 -0
- package/dist/matchers/structural.d.ts.map +1 -0
- package/dist/matchers/structural.js +154 -0
- package/dist/matchers/structural.js.map +1 -0
- package/dist/matchers/tone.d.ts +9 -0
- package/dist/matchers/tone.d.ts.map +1 -0
- package/dist/matchers/tone.js +138 -0
- package/dist/matchers/tone.js.map +1 -0
- package/dist/setup.d.ts +4 -0
- package/dist/setup.d.ts.map +1 -0
- package/dist/setup.js +92 -0
- package/dist/setup.js.map +1 -0
- package/dist/types.d.ts +43 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/cosine-similarity.d.ts +2 -0
- package/dist/utils/cosine-similarity.d.ts.map +1 -0
- package/dist/utils/cosine-similarity.js +18 -0
- package/dist/utils/cosine-similarity.js.map +1 -0
- package/dist/utils/embedding-cache.d.ts +3 -0
- package/dist/utils/embedding-cache.d.ts.map +1 -0
- package/dist/utils/embedding-cache.js +14 -0
- package/dist/utils/embedding-cache.js.map +1 -0
- package/dist/utils/json-extract.d.ts +2 -0
- package/dist/utils/json-extract.d.ts.map +1 -0
- package/dist/utils/json-extract.js +8 -0
- package/dist/utils/json-extract.js.map +1 -0
- package/dist/utils/luhn.d.ts +2 -0
- package/dist/utils/luhn.d.ts.map +1 -0
- package/dist/utils/luhn.js +22 -0
- package/dist/utils/luhn.js.map +1 -0
- package/dist/utils/ngrams.d.ts +2 -0
- package/dist/utils/ngrams.d.ts.map +1 -0
- package/dist/utils/ngrams.js +13 -0
- package/dist/utils/ngrams.js.map +1 -0
- package/dist/utils/regex-escape.d.ts +2 -0
- package/dist/utils/regex-escape.d.ts.map +1 -0
- package/dist/utils/regex-escape.js +7 -0
- package/dist/utils/regex-escape.js.map +1 -0
- package/dist/utils/sentences.d.ts +2 -0
- package/dist/utils/sentences.d.ts.map +1 -0
- package/dist/utils/sentences.js +36 -0
- package/dist/utils/sentences.js.map +1 -0
- package/dist/utils/tokenizer.d.ts +2 -0
- package/dist/utils/tokenizer.d.ts.map +1 -0
- package/dist/utils/tokenizer.js +7 -0
- package/dist/utils/tokenizer.js.map +1 -0
- package/package.json +36 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"safety.test.js","sourceRoot":"","sources":["../../../src/__tests__/matchers/safety.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/setup.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const vitest_1 = require("vitest");
|
|
4
|
+
const setup_1 = require("../setup");
|
|
5
|
+
(0, vitest_1.describe)('setupAIAssertions', () => {
|
|
6
|
+
(0, vitest_1.beforeEach)(() => {
|
|
7
|
+
// Reset global options before each test
|
|
8
|
+
(0, setup_1.setupAIAssertions)({});
|
|
9
|
+
});
|
|
10
|
+
(0, vitest_1.it)('sets global options when called with options', () => {
|
|
11
|
+
const options = {
|
|
12
|
+
semanticThreshold: 0.9,
|
|
13
|
+
hedgingMaxRatio: 0.2,
|
|
14
|
+
};
|
|
15
|
+
(0, setup_1.setupAIAssertions)(options);
|
|
16
|
+
const stored = (0, setup_1.getGlobalOptions)();
|
|
17
|
+
(0, vitest_1.expect)(stored.semanticThreshold).toBe(0.9);
|
|
18
|
+
(0, vitest_1.expect)(stored.hedgingMaxRatio).toBe(0.2);
|
|
19
|
+
});
|
|
20
|
+
(0, vitest_1.it)('merges options rather than replacing', () => {
|
|
21
|
+
(0, setup_1.setupAIAssertions)({ semanticThreshold: 0.8 });
|
|
22
|
+
(0, setup_1.setupAIAssertions)({ hedgingMaxRatio: 0.1 });
|
|
23
|
+
const stored = (0, setup_1.getGlobalOptions)();
|
|
24
|
+
(0, vitest_1.expect)(stored.semanticThreshold).toBe(0.8);
|
|
25
|
+
(0, vitest_1.expect)(stored.hedgingMaxRatio).toBe(0.1);
|
|
26
|
+
});
|
|
27
|
+
(0, vitest_1.it)('can be called with no arguments', () => {
|
|
28
|
+
(0, vitest_1.expect)(() => (0, setup_1.setupAIAssertions)()).not.toThrow();
|
|
29
|
+
});
|
|
30
|
+
(0, vitest_1.it)('can be called with empty options', () => {
|
|
31
|
+
(0, vitest_1.expect)(() => (0, setup_1.setupAIAssertions)({})).not.toThrow();
|
|
32
|
+
});
|
|
33
|
+
(0, vitest_1.it)('stores embedFn reference', () => {
|
|
34
|
+
const mockEmbed = async (text) => {
|
|
35
|
+
void text;
|
|
36
|
+
return [0.1, 0.2, 0.3];
|
|
37
|
+
};
|
|
38
|
+
(0, setup_1.setupAIAssertions)({ embedFn: mockEmbed });
|
|
39
|
+
(0, vitest_1.expect)((0, setup_1.getGlobalOptions)().embedFn).toBe(mockEmbed);
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
(0, vitest_1.describe)('getGlobalOptions', () => {
|
|
43
|
+
(0, vitest_1.it)('returns an object', () => {
|
|
44
|
+
const opts = (0, setup_1.getGlobalOptions)();
|
|
45
|
+
(0, vitest_1.expect)(typeof opts).toBe('object');
|
|
46
|
+
(0, vitest_1.expect)(opts).not.toBeNull();
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
//# sourceMappingURL=setup.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup.test.js","sourceRoot":"","sources":["../../src/__tests__/setup.test.ts"],"names":[],"mappings":";;AAAA,mCAA0D;AAC1D,oCAA+D;AAG/D,IAAA,iBAAQ,EAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,IAAA,mBAAU,EAAC,GAAG,EAAE;QACd,wCAAwC;QACxC,IAAA,yBAAiB,EAAC,EAAE,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,OAAO,GAAuB;YAClC,iBAAiB,EAAE,GAAG;YACtB,eAAe,EAAE,GAAG;SACrB,CAAC;QACF,IAAA,yBAAiB,EAAC,OAAO,CAAC,CAAC;QAC3B,MAAM,MAAM,GAAG,IAAA,wBAAgB,GAAE,CAAC;QAClC,IAAA,eAAM,EAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAA,eAAM,EAAC,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,IAAA,yBAAiB,EAAC,EAAE,iBAAiB,EAAE,GAAG,EAAE,CAAC,CAAC;QAC9C,IAAA,yBAAiB,EAAC,EAAE,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,IAAA,wBAAgB,GAAE,CAAC;QAClC,IAAA,eAAM,EAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAA,eAAM,EAAC,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,IAAA,eAAM,EAAC,GAAG,EAAE,CAAC,IAAA,yBAAiB,GAAE,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,IAAA,eAAM,EAAC,GAAG,EAAE,CAAC,IAAA,yBAAiB,EAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,MAAM,SAAS,GAAG,KAAK,EAAE,IAAY,EAAE,EAAE;YACvC,KAAK,IAAI,CAAC;YACV,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACzB,CAAC,CAAC;QACF,IAAA,yBAAiB,EAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;QAC1C,IAAA,eAAM,EAAC,IAAA,wBAAgB,GAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,iBAAQ,EAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,IAAA,WAAE,EAAC,mBAAmB,EAAE,GAAG,EAAE;QAC3B,MAAM,IAAI,GAAG,IAAA,wBAAgB,GAAE,CAAC;QAChC,IAAA,eAAM,EAAC,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnC,IAAA,eAAM,EAAC,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/types.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const vitest_1 = require("vitest");
|
|
4
|
+
(0, vitest_1.describe)('types', () => {
|
|
5
|
+
(0, vitest_1.it)('MatcherResult has pass, message fn, details', () => {
|
|
6
|
+
const result = {
|
|
7
|
+
pass: true,
|
|
8
|
+
message: () => 'ok',
|
|
9
|
+
details: { score: 0.9 },
|
|
10
|
+
};
|
|
11
|
+
(0, vitest_1.expectTypeOf)(result.pass).toBeBoolean();
|
|
12
|
+
(0, vitest_1.expectTypeOf)(result.message).toBeFunction();
|
|
13
|
+
(0, vitest_1.expectTypeOf)(result.details).toMatchTypeOf();
|
|
14
|
+
});
|
|
15
|
+
(0, vitest_1.it)('AIAssertionOptions all fields are optional', () => {
|
|
16
|
+
// Should compile with empty object
|
|
17
|
+
const opts = {};
|
|
18
|
+
(0, vitest_1.expectTypeOf)(opts).toMatchTypeOf();
|
|
19
|
+
});
|
|
20
|
+
(0, vitest_1.it)('PIIMatch position is a tuple [number, number]', () => {
|
|
21
|
+
const match = {
|
|
22
|
+
type: 'email',
|
|
23
|
+
value: 'test@example.com',
|
|
24
|
+
position: [0, 16],
|
|
25
|
+
};
|
|
26
|
+
(0, vitest_1.expectTypeOf)(match.position).toMatchTypeOf();
|
|
27
|
+
});
|
|
28
|
+
(0, vitest_1.it)('ToxicWord severity union is exhaustive', () => {
|
|
29
|
+
const critical = { word: 'slur', severity: 'critical' };
|
|
30
|
+
const warning = { word: 'profanity', severity: 'warning' };
|
|
31
|
+
const info = { word: 'mild', severity: 'info' };
|
|
32
|
+
(0, vitest_1.expectTypeOf)(critical.severity).toMatchTypeOf();
|
|
33
|
+
(0, vitest_1.expectTypeOf)(warning.severity).toMatchTypeOf();
|
|
34
|
+
(0, vitest_1.expectTypeOf)(info.severity).toMatchTypeOf();
|
|
35
|
+
});
|
|
36
|
+
(0, vitest_1.it)('Tone union has 4 values', () => {
|
|
37
|
+
const tones = ['formal', 'casual', 'technical', 'friendly'];
|
|
38
|
+
(0, vitest_1.expectTypeOf)(tones).toMatchTypeOf();
|
|
39
|
+
// All 4 values are valid
|
|
40
|
+
const formal = 'formal';
|
|
41
|
+
const casual = 'casual';
|
|
42
|
+
const technical = 'technical';
|
|
43
|
+
const friendly = 'friendly';
|
|
44
|
+
(0, vitest_1.expectTypeOf)(formal).toMatchTypeOf();
|
|
45
|
+
(0, vitest_1.expectTypeOf)(casual).toMatchTypeOf();
|
|
46
|
+
(0, vitest_1.expectTypeOf)(technical).toMatchTypeOf();
|
|
47
|
+
(0, vitest_1.expectTypeOf)(friendly).toMatchTypeOf();
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
//# sourceMappingURL=types.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.test.js","sourceRoot":"","sources":["../../src/__tests__/types.test.ts"],"names":[],"mappings":";;AAAA,mCAAoD;AASpD,IAAA,iBAAQ,EAAC,OAAO,EAAE,GAAG,EAAE;IACrB,IAAA,WAAE,EAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,MAAM,GAAkB;YAC5B,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI;YACnB,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE;SACxB,CAAC;QACF,IAAA,qBAAY,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QACxC,IAAA,qBAAY,EAAC,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,CAAC;QAC5C,IAAA,qBAAY,EAAC,MAAM,CAAC,OAAO,CAAC,CAAC,aAAa,EAA2B,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,mCAAmC;QACnC,MAAM,IAAI,GAAuB,EAAE,CAAC;QACpC,IAAA,qBAAY,EAAC,IAAI,CAAC,CAAC,aAAa,EAAsB,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,MAAM,KAAK,GAAa;YACtB,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,kBAAkB;YACzB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;SAClB,CAAC;QACF,IAAA,qBAAY,EAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,aAAa,EAAoB,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,QAAQ,GAAc,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;QACnE,MAAM,OAAO,GAAc,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;QACtE,MAAM,IAAI,GAAc,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;QAC3D,IAAA,qBAAY,EAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,EAAmC,CAAC;QACjF,IAAA,qBAAY,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,aAAa,EAAmC,CAAC;QAChF,IAAA,qBAAY,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,aAAa,EAAmC,CAAC;IAC/E,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,yBAAyB,EAAE,GAAG,EAAE;QACjC,MAAM,KAAK,GAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;QACpE,IAAA,qBAAY,EAAC,KAAK,CAAC,CAAC,aAAa,EAAU,CAAC;QAC5C,yBAAyB;QACzB,MAAM,MAAM,GAAS,QAAQ,CAAC;QAC9B,MAAM,MAAM,GAAS,QAAQ,CAAC;QAC9B,MAAM,SAAS,GAAS,WAAW,CAAC;QACpC,MAAM,QAAQ,GAAS,UAAU,CAAC;QAClC,IAAA,qBAAY,EAAC,MAAM,CAAC,CAAC,aAAa,EAAQ,CAAC;QAC3C,IAAA,qBAAY,EAAC,MAAM,CAAC,CAAC,aAAa,EAAQ,CAAC;QAC3C,IAAA,qBAAY,EAAC,SAAS,CAAC,CAAC,aAAa,EAAQ,CAAC;QAC9C,IAAA,qBAAY,EAAC,QAAQ,CAAC,CAAC,aAAa,EAAQ,CAAC;IAC/C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cosine-similarity.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/utils/cosine-similarity.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const vitest_1 = require("vitest");
|
|
4
|
+
const cosine_similarity_1 = require("../../utils/cosine-similarity");
|
|
5
|
+
(0, vitest_1.describe)('cosineSimilarity', () => {
|
|
6
|
+
(0, vitest_1.it)('identical vectors return 1.0', () => {
|
|
7
|
+
(0, vitest_1.expect)((0, cosine_similarity_1.cosineSimilarity)([1, 2, 3], [1, 2, 3])).toBeCloseTo(1.0, 10);
|
|
8
|
+
});
|
|
9
|
+
(0, vitest_1.it)('orthogonal vectors return 0.0', () => {
|
|
10
|
+
(0, vitest_1.expect)((0, cosine_similarity_1.cosineSimilarity)([1, 0, 0], [0, 1, 0])).toBeCloseTo(0.0, 10);
|
|
11
|
+
});
|
|
12
|
+
(0, vitest_1.it)('opposite vectors return -1.0', () => {
|
|
13
|
+
(0, vitest_1.expect)((0, cosine_similarity_1.cosineSimilarity)([1, 0, 0], [-1, 0, 0])).toBeCloseTo(-1.0, 10);
|
|
14
|
+
});
|
|
15
|
+
(0, vitest_1.it)('zero vector returns 0.0', () => {
|
|
16
|
+
(0, vitest_1.expect)((0, cosine_similarity_1.cosineSimilarity)([0, 0, 0], [1, 2, 3])).toBe(0);
|
|
17
|
+
(0, vitest_1.expect)((0, cosine_similarity_1.cosineSimilarity)([1, 2, 3], [0, 0, 0])).toBe(0);
|
|
18
|
+
(0, vitest_1.expect)((0, cosine_similarity_1.cosineSimilarity)([0, 0, 0], [0, 0, 0])).toBe(0);
|
|
19
|
+
});
|
|
20
|
+
(0, vitest_1.it)('dimension mismatch throws', () => {
|
|
21
|
+
(0, vitest_1.expect)(() => (0, cosine_similarity_1.cosineSimilarity)([1, 2], [1, 2, 3])).toThrow('Dimension mismatch: 2 vs 3');
|
|
22
|
+
});
|
|
23
|
+
(0, vitest_1.it)('typical similarity between [1,2,3] and [1,2,4]', () => {
|
|
24
|
+
const sim = (0, cosine_similarity_1.cosineSimilarity)([1, 2, 3], [1, 2, 4]);
|
|
25
|
+
// Should be high but less than 1
|
|
26
|
+
(0, vitest_1.expect)(sim).toBeGreaterThan(0.99);
|
|
27
|
+
(0, vitest_1.expect)(sim).toBeLessThan(1.0);
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
//# sourceMappingURL=cosine-similarity.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cosine-similarity.test.js","sourceRoot":"","sources":["../../../src/__tests__/utils/cosine-similarity.test.ts"],"names":[],"mappings":";;AAAA,mCAA8C;AAC9C,qEAAiE;AAEjE,IAAA,iBAAQ,EAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,IAAA,WAAE,EAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,IAAA,eAAM,EAAC,IAAA,oCAAgB,EAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,IAAA,eAAM,EAAC,IAAA,oCAAgB,EAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,IAAA,eAAM,EAAC,IAAA,oCAAgB,EAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,yBAAyB,EAAE,GAAG,EAAE;QACjC,IAAA,eAAM,EAAC,IAAA,oCAAgB,EAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACvD,IAAA,eAAM,EAAC,IAAA,oCAAgB,EAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACvD,IAAA,eAAM,EAAC,IAAA,oCAAgB,EAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,IAAA,eAAM,EAAC,GAAG,EAAE,CAAC,IAAA,oCAAgB,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;IAC1F,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,MAAM,GAAG,GAAG,IAAA,oCAAgB,EAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACnD,iCAAiC;QACjC,IAAA,eAAM,EAAC,GAAG,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAClC,IAAA,eAAM,EAAC,GAAG,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embedding-cache.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/utils/embedding-cache.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const vitest_1 = require("vitest");
|
|
4
|
+
const embedding_cache_1 = require("../../utils/embedding-cache");
|
|
5
|
+
(0, vitest_1.describe)('createCachedEmbedFn', () => {
|
|
6
|
+
(0, vitest_1.it)('calls underlying fn once for same input', async () => {
|
|
7
|
+
const mockEmbed = vitest_1.vi.fn().mockResolvedValue([1, 2, 3]);
|
|
8
|
+
const cached = (0, embedding_cache_1.createCachedEmbedFn)(mockEmbed);
|
|
9
|
+
await cached('hello');
|
|
10
|
+
await cached('hello');
|
|
11
|
+
(0, vitest_1.expect)(mockEmbed).toHaveBeenCalledTimes(1);
|
|
12
|
+
});
|
|
13
|
+
(0, vitest_1.it)('returns cached result on second call', async () => {
|
|
14
|
+
const mockEmbed = vitest_1.vi.fn().mockResolvedValue([0.1, 0.2, 0.3]);
|
|
15
|
+
const cached = (0, embedding_cache_1.createCachedEmbedFn)(mockEmbed);
|
|
16
|
+
const first = await cached('test');
|
|
17
|
+
const second = await cached('test');
|
|
18
|
+
(0, vitest_1.expect)(first).toEqual([0.1, 0.2, 0.3]);
|
|
19
|
+
(0, vitest_1.expect)(second).toEqual([0.1, 0.2, 0.3]);
|
|
20
|
+
(0, vitest_1.expect)(second).toBe(first); // same reference from cache
|
|
21
|
+
});
|
|
22
|
+
(0, vitest_1.it)('different inputs are both cached separately', async () => {
|
|
23
|
+
let callCount = 0;
|
|
24
|
+
const mockEmbed = vitest_1.vi.fn().mockImplementation(async (text) => {
|
|
25
|
+
callCount++;
|
|
26
|
+
return text === 'hello' ? [1, 0, 0] : [0, 1, 0];
|
|
27
|
+
});
|
|
28
|
+
const cached = (0, embedding_cache_1.createCachedEmbedFn)(mockEmbed);
|
|
29
|
+
const a1 = await cached('hello');
|
|
30
|
+
const b1 = await cached('world');
|
|
31
|
+
const a2 = await cached('hello');
|
|
32
|
+
const b2 = await cached('world');
|
|
33
|
+
(0, vitest_1.expect)(mockEmbed).toHaveBeenCalledTimes(2);
|
|
34
|
+
(0, vitest_1.expect)(callCount).toBe(2);
|
|
35
|
+
(0, vitest_1.expect)(a1).toEqual([1, 0, 0]);
|
|
36
|
+
(0, vitest_1.expect)(b1).toEqual([0, 1, 0]);
|
|
37
|
+
(0, vitest_1.expect)(a2).toBe(a1);
|
|
38
|
+
(0, vitest_1.expect)(b2).toBe(b1);
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
//# sourceMappingURL=embedding-cache.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embedding-cache.test.js","sourceRoot":"","sources":["../../../src/__tests__/utils/embedding-cache.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-extract.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/utils/json-extract.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const vitest_1 = require("vitest");
|
|
4
|
+
const json_extract_1 = require("../../utils/json-extract");
|
|
5
|
+
(0, vitest_1.describe)('extractJSONFromCodeFence', () => {
|
|
6
|
+
(0, vitest_1.it)('extracts JSON from ```json fence', () => {
|
|
7
|
+
const text = '```json\n{"name": "Alice"}\n```';
|
|
8
|
+
(0, vitest_1.expect)((0, json_extract_1.extractJSONFromCodeFence)(text)).toBe('{"name": "Alice"}');
|
|
9
|
+
});
|
|
10
|
+
(0, vitest_1.it)('extracts content from plain ``` fence', () => {
|
|
11
|
+
const text = '```\n{"name": "Alice"}\n```';
|
|
12
|
+
(0, vitest_1.expect)((0, json_extract_1.extractJSONFromCodeFence)(text)).toBe('{"name": "Alice"}');
|
|
13
|
+
});
|
|
14
|
+
(0, vitest_1.it)('returns null when no code fence', () => {
|
|
15
|
+
(0, vitest_1.expect)((0, json_extract_1.extractJSONFromCodeFence)('just some text')).toBeNull();
|
|
16
|
+
(0, vitest_1.expect)((0, json_extract_1.extractJSONFromCodeFence)('')).toBeNull();
|
|
17
|
+
});
|
|
18
|
+
(0, vitest_1.it)('preserves nested content', () => {
|
|
19
|
+
const json = '{\n "user": {\n "name": "Alice",\n "age": 30\n }\n}';
|
|
20
|
+
const text = '```json\n' + json + '\n```';
|
|
21
|
+
(0, vitest_1.expect)((0, json_extract_1.extractJSONFromCodeFence)(text)).toBe(json);
|
|
22
|
+
});
|
|
23
|
+
(0, vitest_1.it)('trims whitespace from extracted content', () => {
|
|
24
|
+
const text = '```json\n {"key": "value"} \n```';
|
|
25
|
+
(0, vitest_1.expect)((0, json_extract_1.extractJSONFromCodeFence)(text)).toBe('{"key": "value"}');
|
|
26
|
+
});
|
|
27
|
+
(0, vitest_1.it)('handles uppercase JSON tag', () => {
|
|
28
|
+
const text = '```JSON\n{"x": 1}\n```';
|
|
29
|
+
(0, vitest_1.expect)((0, json_extract_1.extractJSONFromCodeFence)(text)).toBe('{"x": 1}');
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
//# sourceMappingURL=json-extract.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-extract.test.js","sourceRoot":"","sources":["../../../src/__tests__/utils/json-extract.test.ts"],"names":[],"mappings":";;AAAA,mCAA8C;AAC9C,2DAAoE;AAEpE,IAAA,iBAAQ,EAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,IAAA,WAAE,EAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,IAAI,GAAG,iCAAiC,CAAC;QAC/C,IAAA,eAAM,EAAC,IAAA,uCAAwB,EAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,IAAI,GAAG,6BAA6B,CAAC;QAC3C,IAAA,eAAM,EAAC,IAAA,uCAAwB,EAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,IAAA,eAAM,EAAC,IAAA,uCAAwB,EAAC,gBAAgB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC9D,IAAA,eAAM,EAAC,IAAA,uCAAwB,EAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,MAAM,IAAI,GAAG,6DAA6D,CAAC;QAC3E,MAAM,IAAI,GAAG,WAAW,GAAG,IAAI,GAAG,OAAO,CAAC;QAC1C,IAAA,eAAM,EAAC,IAAA,uCAAwB,EAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,IAAI,GAAG,oCAAoC,CAAC;QAClD,IAAA,eAAM,EAAC,IAAA,uCAAwB,EAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,IAAI,GAAG,wBAAwB,CAAC;QACtC,IAAA,eAAM,EAAC,IAAA,uCAAwB,EAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"luhn.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/utils/luhn.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const vitest_1 = require("vitest");
|
|
4
|
+
const luhn_1 = require("../../utils/luhn");
|
|
5
|
+
(0, vitest_1.describe)('luhnCheck', () => {
|
|
6
|
+
(0, vitest_1.it)('valid Visa card 4532015112830366 returns true', () => {
|
|
7
|
+
(0, vitest_1.expect)((0, luhn_1.luhnCheck)('4532015112830366')).toBe(true);
|
|
8
|
+
});
|
|
9
|
+
(0, vitest_1.it)('invalid card 1234567890123456 returns false', () => {
|
|
10
|
+
(0, vitest_1.expect)((0, luhn_1.luhnCheck)('1234567890123456')).toBe(false);
|
|
11
|
+
});
|
|
12
|
+
(0, vitest_1.it)('hyphens are stripped: 4532-0151-1283-0366 returns true', () => {
|
|
13
|
+
(0, vitest_1.expect)((0, luhn_1.luhnCheck)('4532-0151-1283-0366')).toBe(true);
|
|
14
|
+
});
|
|
15
|
+
(0, vitest_1.it)('empty string returns false', () => {
|
|
16
|
+
(0, vitest_1.expect)((0, luhn_1.luhnCheck)('')).toBe(false);
|
|
17
|
+
});
|
|
18
|
+
(0, vitest_1.it)('non-digit only string returns false', () => {
|
|
19
|
+
(0, vitest_1.expect)((0, luhn_1.luhnCheck)('abcd')).toBe(false);
|
|
20
|
+
});
|
|
21
|
+
(0, vitest_1.it)('spaces are stripped correctly', () => {
|
|
22
|
+
(0, vitest_1.expect)((0, luhn_1.luhnCheck)('4532 0151 1283 0366')).toBe(true);
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
//# sourceMappingURL=luhn.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"luhn.test.js","sourceRoot":"","sources":["../../../src/__tests__/utils/luhn.test.ts"],"names":[],"mappings":";;AAAA,mCAA8C;AAC9C,2CAA6C;AAE7C,IAAA,iBAAQ,EAAC,WAAW,EAAE,GAAG,EAAE;IACzB,IAAA,WAAE,EAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,IAAA,eAAM,EAAC,IAAA,gBAAS,EAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,IAAA,eAAM,EAAC,IAAA,gBAAS,EAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,IAAA,eAAM,EAAC,IAAA,gBAAS,EAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,IAAA,eAAM,EAAC,IAAA,gBAAS,EAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,IAAA,eAAM,EAAC,IAAA,gBAAS,EAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,IAAA,eAAM,EAAC,IAAA,gBAAS,EAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ngrams.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/utils/ngrams.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const vitest_1 = require("vitest");
|
|
4
|
+
const ngrams_1 = require("../../utils/ngrams");
|
|
5
|
+
(0, vitest_1.describe)('extractNgrams', () => {
|
|
6
|
+
(0, vitest_1.it)('n=1 returns individual tokens', () => {
|
|
7
|
+
(0, vitest_1.expect)((0, ngrams_1.extractNgrams)(['a', 'b', 'c'], 1)).toEqual(['a', 'b', 'c']);
|
|
8
|
+
});
|
|
9
|
+
(0, vitest_1.it)('n=2 returns bigrams', () => {
|
|
10
|
+
(0, vitest_1.expect)((0, ngrams_1.extractNgrams)(['a', 'b', 'c'], 2)).toEqual(['a b', 'b c']);
|
|
11
|
+
});
|
|
12
|
+
(0, vitest_1.it)('n=3 returns trigrams', () => {
|
|
13
|
+
(0, vitest_1.expect)((0, ngrams_1.extractNgrams)(['a', 'b', 'c', 'd'], 3)).toEqual(['a b c', 'b c d']);
|
|
14
|
+
});
|
|
15
|
+
(0, vitest_1.it)('n larger than token count returns []', () => {
|
|
16
|
+
(0, vitest_1.expect)((0, ngrams_1.extractNgrams)(['a', 'b'], 5)).toEqual([]);
|
|
17
|
+
});
|
|
18
|
+
(0, vitest_1.it)('n=0 returns []', () => {
|
|
19
|
+
(0, vitest_1.expect)((0, ngrams_1.extractNgrams)(['a', 'b', 'c'], 0)).toEqual([]);
|
|
20
|
+
});
|
|
21
|
+
(0, vitest_1.it)('empty tokens with n=1 returns []', () => {
|
|
22
|
+
(0, vitest_1.expect)((0, ngrams_1.extractNgrams)([], 1)).toEqual([]);
|
|
23
|
+
});
|
|
24
|
+
(0, vitest_1.it)('exact length match returns one ngram', () => {
|
|
25
|
+
(0, vitest_1.expect)((0, ngrams_1.extractNgrams)(['a', 'b', 'c'], 3)).toEqual(['a b c']);
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
//# sourceMappingURL=ngrams.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ngrams.test.js","sourceRoot":"","sources":["../../../src/__tests__/utils/ngrams.test.ts"],"names":[],"mappings":";;AAAA,mCAA8C;AAC9C,+CAAmD;AAEnD,IAAA,iBAAQ,EAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,IAAA,WAAE,EAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,IAAA,eAAM,EAAC,IAAA,sBAAa,EAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,qBAAqB,EAAE,GAAG,EAAE;QAC7B,IAAA,eAAM,EAAC,IAAA,sBAAa,EAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,sBAAsB,EAAE,GAAG,EAAE;QAC9B,IAAA,eAAM,EAAC,IAAA,sBAAa,EAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,IAAA,eAAM,EAAC,IAAA,sBAAa,EAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,gBAAgB,EAAE,GAAG,EAAE;QACxB,IAAA,eAAM,EAAC,IAAA,sBAAa,EAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,IAAA,eAAM,EAAC,IAAA,sBAAa,EAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,IAAA,eAAM,EAAC,IAAA,sBAAa,EAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"regex-escape.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/utils/regex-escape.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const vitest_1 = require("vitest");
|
|
4
|
+
const regex_escape_1 = require("../../utils/regex-escape");
|
|
5
|
+
(0, vitest_1.describe)('escapeRegex', () => {
|
|
6
|
+
(0, vitest_1.it)('escapes dot', () => {
|
|
7
|
+
(0, vitest_1.expect)((0, regex_escape_1.escapeRegex)('.')).toBe('\\.');
|
|
8
|
+
});
|
|
9
|
+
(0, vitest_1.it)('escapes asterisk', () => {
|
|
10
|
+
(0, vitest_1.expect)((0, regex_escape_1.escapeRegex)('*')).toBe('\\*');
|
|
11
|
+
});
|
|
12
|
+
(0, vitest_1.it)('escapes plus', () => {
|
|
13
|
+
(0, vitest_1.expect)((0, regex_escape_1.escapeRegex)('+')).toBe('\\+');
|
|
14
|
+
});
|
|
15
|
+
(0, vitest_1.it)('escapes question mark', () => {
|
|
16
|
+
(0, vitest_1.expect)((0, regex_escape_1.escapeRegex)('?')).toBe('\\?');
|
|
17
|
+
});
|
|
18
|
+
(0, vitest_1.it)('escapes caret', () => {
|
|
19
|
+
(0, vitest_1.expect)((0, regex_escape_1.escapeRegex)('^')).toBe('\\^');
|
|
20
|
+
});
|
|
21
|
+
(0, vitest_1.it)('escapes dollar', () => {
|
|
22
|
+
(0, vitest_1.expect)((0, regex_escape_1.escapeRegex)('$')).toBe('\\$');
|
|
23
|
+
});
|
|
24
|
+
(0, vitest_1.it)('escapes curly braces', () => {
|
|
25
|
+
(0, vitest_1.expect)((0, regex_escape_1.escapeRegex)('{}')).toBe('\\{\\}');
|
|
26
|
+
});
|
|
27
|
+
(0, vitest_1.it)('escapes parentheses', () => {
|
|
28
|
+
(0, vitest_1.expect)((0, regex_escape_1.escapeRegex)('()')).toBe('\\(\\)');
|
|
29
|
+
});
|
|
30
|
+
(0, vitest_1.it)('escapes pipe', () => {
|
|
31
|
+
(0, vitest_1.expect)((0, regex_escape_1.escapeRegex)('|')).toBe('\\|');
|
|
32
|
+
});
|
|
33
|
+
(0, vitest_1.it)('escapes square brackets', () => {
|
|
34
|
+
(0, vitest_1.expect)((0, regex_escape_1.escapeRegex)('[]')).toBe('\\[\\]');
|
|
35
|
+
});
|
|
36
|
+
(0, vitest_1.it)('escapes backslash', () => {
|
|
37
|
+
(0, vitest_1.expect)((0, regex_escape_1.escapeRegex)('\\')).toBe('\\\\');
|
|
38
|
+
});
|
|
39
|
+
(0, vitest_1.it)('escapes all special chars in a combined string', () => {
|
|
40
|
+
const result = (0, regex_escape_1.escapeRegex)('.*+?^${}()|[]\\');
|
|
41
|
+
(0, vitest_1.expect)(result).toBe('\\.\\*\\+\\?\\^\\$\\{\\}\\(\\)\\|\\[\\]\\\\');
|
|
42
|
+
});
|
|
43
|
+
(0, vitest_1.it)('regular string is unchanged', () => {
|
|
44
|
+
(0, vitest_1.expect)((0, regex_escape_1.escapeRegex)('hello world')).toBe('hello world');
|
|
45
|
+
(0, vitest_1.expect)((0, regex_escape_1.escapeRegex)('abc123')).toBe('abc123');
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
//# sourceMappingURL=regex-escape.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"regex-escape.test.js","sourceRoot":"","sources":["../../../src/__tests__/utils/regex-escape.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sentences.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/utils/sentences.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const vitest_1 = require("vitest");
|
|
4
|
+
const sentences_1 = require("../../utils/sentences");
|
|
5
|
+
(0, vitest_1.describe)('splitSentences', () => {
|
|
6
|
+
(0, vitest_1.it)('"Hello world. How are you?" splits into 2 sentences', () => {
|
|
7
|
+
const result = (0, sentences_1.splitSentences)('Hello world. How are you?');
|
|
8
|
+
(0, vitest_1.expect)(result).toHaveLength(2);
|
|
9
|
+
(0, vitest_1.expect)(result[0]).toBe('Hello world.');
|
|
10
|
+
(0, vitest_1.expect)(result[1]).toBe('How are you?');
|
|
11
|
+
});
|
|
12
|
+
(0, vitest_1.it)('"Dr. Smith went home. Good." splits into 2 sentences, not 3', () => {
|
|
13
|
+
const result = (0, sentences_1.splitSentences)('Dr. Smith went home. Good.');
|
|
14
|
+
(0, vitest_1.expect)(result).toHaveLength(2);
|
|
15
|
+
(0, vitest_1.expect)(result[0]).toContain('Dr.');
|
|
16
|
+
(0, vitest_1.expect)(result[0]).toContain('Smith went home.');
|
|
17
|
+
});
|
|
18
|
+
(0, vitest_1.it)('empty string returns []', () => {
|
|
19
|
+
(0, vitest_1.expect)((0, sentences_1.splitSentences)('')).toEqual([]);
|
|
20
|
+
});
|
|
21
|
+
(0, vitest_1.it)('whitespace-only string returns []', () => {
|
|
22
|
+
(0, vitest_1.expect)((0, sentences_1.splitSentences)(' ')).toEqual([]);
|
|
23
|
+
});
|
|
24
|
+
(0, vitest_1.it)('single sentence without period returns 1 sentence', () => {
|
|
25
|
+
const result = (0, sentences_1.splitSentences)('This is a single sentence');
|
|
26
|
+
(0, vitest_1.expect)(result).toHaveLength(1);
|
|
27
|
+
(0, vitest_1.expect)(result[0]).toBe('This is a single sentence');
|
|
28
|
+
});
|
|
29
|
+
(0, vitest_1.it)('single sentence with period returns 1 sentence', () => {
|
|
30
|
+
const result = (0, sentences_1.splitSentences)('This is a single sentence.');
|
|
31
|
+
(0, vitest_1.expect)(result).toHaveLength(1);
|
|
32
|
+
(0, vitest_1.expect)(result[0]).toBe('This is a single sentence.');
|
|
33
|
+
});
|
|
34
|
+
(0, vitest_1.it)('exclamation and question marks split correctly', () => {
|
|
35
|
+
const result = (0, sentences_1.splitSentences)('Hello! How are you? Fine.');
|
|
36
|
+
(0, vitest_1.expect)(result).toHaveLength(3);
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
//# sourceMappingURL=sentences.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sentences.test.js","sourceRoot":"","sources":["../../../src/__tests__/utils/sentences.test.ts"],"names":[],"mappings":";;AAAA,mCAA8C;AAC9C,qDAAuD;AAEvD,IAAA,iBAAQ,EAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,IAAA,WAAE,EAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,MAAM,GAAG,IAAA,0BAAc,EAAC,2BAA2B,CAAC,CAAC;QAC3D,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACvC,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,6DAA6D,EAAE,GAAG,EAAE;QACrE,MAAM,MAAM,GAAG,IAAA,0BAAc,EAAC,4BAA4B,CAAC,CAAC;QAC5D,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACnC,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,yBAAyB,EAAE,GAAG,EAAE;QACjC,IAAA,eAAM,EAAC,IAAA,0BAAc,EAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,IAAA,eAAM,EAAC,IAAA,0BAAc,EAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,MAAM,MAAM,GAAG,IAAA,0BAAc,EAAC,2BAA2B,CAAC,CAAC;QAC3D,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,MAAM,MAAM,GAAG,IAAA,0BAAc,EAAC,4BAA4B,CAAC,CAAC;QAC5D,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,MAAM,MAAM,GAAG,IAAA,0BAAc,EAAC,2BAA2B,CAAC,CAAC;QAC3D,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokenizer.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/utils/tokenizer.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const vitest_1 = require("vitest");
|
|
4
|
+
const tokenizer_1 = require("../../utils/tokenizer");
|
|
5
|
+
(0, vitest_1.describe)('tokenize', () => {
|
|
6
|
+
(0, vitest_1.it)('empty string returns []', () => {
|
|
7
|
+
(0, vitest_1.expect)((0, tokenizer_1.tokenize)('')).toEqual([]);
|
|
8
|
+
});
|
|
9
|
+
(0, vitest_1.it)('single word returns [word]', () => {
|
|
10
|
+
(0, vitest_1.expect)((0, tokenizer_1.tokenize)('hello')).toEqual(['hello']);
|
|
11
|
+
});
|
|
12
|
+
(0, vitest_1.it)('multiple spaces are collapsed', () => {
|
|
13
|
+
(0, vitest_1.expect)((0, tokenizer_1.tokenize)('hello world')).toEqual(['hello', 'world']);
|
|
14
|
+
});
|
|
15
|
+
(0, vitest_1.it)('newlines are treated as whitespace', () => {
|
|
16
|
+
(0, vitest_1.expect)((0, tokenizer_1.tokenize)('hello\nworld\nfoo')).toEqual(['hello', 'world', 'foo']);
|
|
17
|
+
});
|
|
18
|
+
(0, vitest_1.it)('tabs are treated as whitespace', () => {
|
|
19
|
+
(0, vitest_1.expect)((0, tokenizer_1.tokenize)('hello\tworld')).toEqual(['hello', 'world']);
|
|
20
|
+
});
|
|
21
|
+
(0, vitest_1.it)('mixed whitespace is handled', () => {
|
|
22
|
+
(0, vitest_1.expect)((0, tokenizer_1.tokenize)(' hello \n world ')).toEqual(['hello', 'world']);
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
//# sourceMappingURL=tokenizer.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokenizer.test.js","sourceRoot":"","sources":["../../../src/__tests__/utils/tokenizer.test.ts"],"names":[],"mappings":";;AAAA,mCAA8C;AAC9C,qDAAiD;AAEjD,IAAA,iBAAQ,EAAC,UAAU,EAAE,GAAG,EAAE;IACxB,IAAA,WAAE,EAAC,yBAAyB,EAAE,GAAG,EAAE;QACjC,IAAA,eAAM,EAAC,IAAA,oBAAQ,EAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,IAAA,eAAM,EAAC,IAAA,oBAAQ,EAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,IAAA,eAAM,EAAC,IAAA,oBAAQ,EAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,IAAA,eAAM,EAAC,IAAA,oBAAQ,EAAC,mBAAmB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,IAAA,eAAM,EAAC,IAAA,oBAAQ,EAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,IAAA,eAAM,EAAC,IAAA,oBAAQ,EAAC,sBAAsB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hedging-phrases.d.ts","sourceRoot":"","sources":["../../src/catalogs/hedging-phrases.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uBAAuB,EAAE,MAAM,EAuB3C,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,MAAM,EAc3C,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,MAAM,EAKlD,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DEFAULT_SYSTEM_PROMPT_PATTERNS = exports.DEFAULT_REFUSAL_PHRASES = exports.DEFAULT_HEDGING_PHRASES = void 0;
|
|
4
|
+
exports.DEFAULT_HEDGING_PHRASES = [
|
|
5
|
+
'I think',
|
|
6
|
+
'I believe',
|
|
7
|
+
'I assume',
|
|
8
|
+
'I suppose',
|
|
9
|
+
'I guess',
|
|
10
|
+
'it seems',
|
|
11
|
+
'it appears',
|
|
12
|
+
'it looks like',
|
|
13
|
+
'it might be',
|
|
14
|
+
'possibly',
|
|
15
|
+
'probably',
|
|
16
|
+
'perhaps',
|
|
17
|
+
'maybe',
|
|
18
|
+
'likely',
|
|
19
|
+
'not sure',
|
|
20
|
+
"I'm not certain",
|
|
21
|
+
"I'm not sure",
|
|
22
|
+
'could be',
|
|
23
|
+
'might be',
|
|
24
|
+
'may be',
|
|
25
|
+
'as far as I know',
|
|
26
|
+
'to the best of my knowledge',
|
|
27
|
+
];
|
|
28
|
+
exports.DEFAULT_REFUSAL_PHRASES = [
|
|
29
|
+
"I can't",
|
|
30
|
+
'I cannot',
|
|
31
|
+
"I'm unable to",
|
|
32
|
+
'I am unable to',
|
|
33
|
+
"I won't",
|
|
34
|
+
'I will not',
|
|
35
|
+
"I'm not able to",
|
|
36
|
+
"I'm sorry, but",
|
|
37
|
+
'I apologize, but',
|
|
38
|
+
"I don't feel comfortable",
|
|
39
|
+
'That is not something I can',
|
|
40
|
+
'As an AI',
|
|
41
|
+
'As a language model',
|
|
42
|
+
];
|
|
43
|
+
exports.DEFAULT_SYSTEM_PROMPT_PATTERNS = [
|
|
44
|
+
/you are a|your name is|your role is|your job is/i,
|
|
45
|
+
/system prompt|system message|system instruction/i,
|
|
46
|
+
/ignore (all )?(previous|prior) instruction/i,
|
|
47
|
+
/you must|you should always|never (say|tell|reveal)/i,
|
|
48
|
+
];
|
|
49
|
+
//# sourceMappingURL=hedging-phrases.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hedging-phrases.js","sourceRoot":"","sources":["../../src/catalogs/hedging-phrases.ts"],"names":[],"mappings":";;;AAAa,QAAA,uBAAuB,GAAa;IAC/C,SAAS;IACT,WAAW;IACX,UAAU;IACV,WAAW;IACX,SAAS;IACT,UAAU;IACV,YAAY;IACZ,eAAe;IACf,aAAa;IACb,UAAU;IACV,UAAU;IACV,SAAS;IACT,OAAO;IACP,QAAQ;IACR,UAAU;IACV,iBAAiB;IACjB,cAAc;IACd,UAAU;IACV,UAAU;IACV,QAAQ;IACR,kBAAkB;IAClB,6BAA6B;CAC9B,CAAC;AAEW,QAAA,uBAAuB,GAAa;IAC/C,SAAS;IACT,UAAU;IACV,eAAe;IACf,gBAAgB;IAChB,SAAS;IACT,YAAY;IACZ,iBAAiB;IACjB,gBAAgB;IAChB,kBAAkB;IAClB,0BAA0B;IAC1B,6BAA6B;IAC7B,UAAU;IACV,qBAAqB;CACtB,CAAC;AAEW,QAAA,8BAA8B,GAAa;IACtD,kDAAkD;IAClD,kDAAkD;IAClD,6CAA6C;IAC7C,qDAAqD;CACtD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pii-patterns.d.ts","sourceRoot":"","sources":["../../src/catalogs/pii-patterns.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,eAAO,MAAM,oBAAoB,EAAE,UAAU,EA6B5C,CAAC"}
|