@agentgazer/shared 0.2.0 → 0.3.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/dist/__tests__/normalize.test.d.ts +2 -0
- package/dist/__tests__/normalize.test.d.ts.map +1 -0
- package/dist/__tests__/normalize.test.js +159 -0
- package/dist/__tests__/normalize.test.js.map +1 -0
- package/dist/__tests__/pricing.test.js +24 -37
- package/dist/__tests__/pricing.test.js.map +1 -1
- package/dist/__tests__/providers.test.js +59 -32
- package/dist/__tests__/providers.test.js.map +1 -1
- package/dist/__tests__/simhash.test.d.ts +2 -0
- package/dist/__tests__/simhash.test.d.ts.map +1 -0
- package/dist/__tests__/simhash.test.js +107 -0
- package/dist/__tests__/simhash.test.js.map +1 -0
- package/dist/index.d.ts +6 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +20 -1
- package/dist/index.js.map +1 -1
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +3 -2
- package/dist/logger.js.map +1 -1
- package/dist/models.d.ts +4 -1
- package/dist/models.d.ts.map +1 -1
- package/dist/models.js +22 -34
- package/dist/models.js.map +1 -1
- package/dist/normalize.d.ts +35 -0
- package/dist/normalize.d.ts.map +1 -0
- package/dist/normalize.js +119 -0
- package/dist/normalize.js.map +1 -0
- package/dist/parsers.d.ts.map +1 -1
- package/dist/parsers.js +0 -1
- package/dist/parsers.js.map +1 -1
- package/dist/pricing.d.ts +6 -0
- package/dist/pricing.d.ts.map +1 -1
- package/dist/pricing.js +41 -11
- package/dist/pricing.js.map +1 -1
- package/dist/provider-validator.d.ts +19 -0
- package/dist/provider-validator.d.ts.map +1 -0
- package/dist/provider-validator.js +314 -0
- package/dist/provider-validator.js.map +1 -0
- package/dist/providers.d.ts +32 -2
- package/dist/providers.d.ts.map +1 -1
- package/dist/providers.js +117 -17
- package/dist/providers.js.map +1 -1
- package/dist/simhash.d.ts +28 -0
- package/dist/simhash.d.ts.map +1 -0
- package/dist/simhash.js +98 -0
- package/dist/simhash.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const vitest_1 = require("vitest");
|
|
4
|
+
const simhash_js_1 = require("../simhash.js");
|
|
5
|
+
(0, vitest_1.describe)("computeSimHash", () => {
|
|
6
|
+
(0, vitest_1.it)("returns a bigint for any text input", () => {
|
|
7
|
+
const hash = (0, simhash_js_1.computeSimHash)("hello world");
|
|
8
|
+
(0, vitest_1.expect)(typeof hash).toBe("bigint");
|
|
9
|
+
});
|
|
10
|
+
(0, vitest_1.it)("returns different hashes for different text", () => {
|
|
11
|
+
const hash1 = (0, simhash_js_1.computeSimHash)("hello world");
|
|
12
|
+
const hash2 = (0, simhash_js_1.computeSimHash)("goodbye world");
|
|
13
|
+
(0, vitest_1.expect)(hash1).not.toBe(hash2);
|
|
14
|
+
});
|
|
15
|
+
(0, vitest_1.it)("returns identical hash for identical text", () => {
|
|
16
|
+
const hash1 = (0, simhash_js_1.computeSimHash)("the quick brown fox");
|
|
17
|
+
const hash2 = (0, simhash_js_1.computeSimHash)("the quick brown fox");
|
|
18
|
+
(0, vitest_1.expect)(hash1).toBe(hash2);
|
|
19
|
+
});
|
|
20
|
+
(0, vitest_1.it)("returns similar hashes for similar text", () => {
|
|
21
|
+
const hash1 = (0, simhash_js_1.computeSimHash)("the quick brown fox jumps over the lazy dog");
|
|
22
|
+
const hash2 = (0, simhash_js_1.computeSimHash)("the quick brown fox jumps over a lazy dog");
|
|
23
|
+
// Similar text should have low Hamming distance
|
|
24
|
+
const distance = (0, simhash_js_1.hammingDistance)(hash1, hash2);
|
|
25
|
+
(0, vitest_1.expect)(distance).toBeLessThan(20);
|
|
26
|
+
});
|
|
27
|
+
(0, vitest_1.it)("handles empty string", () => {
|
|
28
|
+
const hash = (0, simhash_js_1.computeSimHash)("");
|
|
29
|
+
(0, vitest_1.expect)(typeof hash).toBe("bigint");
|
|
30
|
+
});
|
|
31
|
+
(0, vitest_1.it)("handles unicode text", () => {
|
|
32
|
+
const hash = (0, simhash_js_1.computeSimHash)("你好世界");
|
|
33
|
+
(0, vitest_1.expect)(typeof hash).toBe("bigint");
|
|
34
|
+
});
|
|
35
|
+
(0, vitest_1.it)("handles very long text", () => {
|
|
36
|
+
const longText = "word ".repeat(1000);
|
|
37
|
+
const hash = (0, simhash_js_1.computeSimHash)(longText);
|
|
38
|
+
(0, vitest_1.expect)(typeof hash).toBe("bigint");
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
(0, vitest_1.describe)("hammingDistance", () => {
|
|
42
|
+
(0, vitest_1.it)("returns 0 for identical hashes", () => {
|
|
43
|
+
const hash = (0, simhash_js_1.computeSimHash)("hello");
|
|
44
|
+
(0, vitest_1.expect)((0, simhash_js_1.hammingDistance)(hash, hash)).toBe(0);
|
|
45
|
+
});
|
|
46
|
+
(0, vitest_1.it)("returns the number of differing bits", () => {
|
|
47
|
+
// 0b0001 vs 0b0010 = 2 bits different
|
|
48
|
+
(0, vitest_1.expect)((0, simhash_js_1.hammingDistance)(1n, 2n)).toBe(2);
|
|
49
|
+
// 0b0001 vs 0b0011 = 1 bit different
|
|
50
|
+
(0, vitest_1.expect)((0, simhash_js_1.hammingDistance)(1n, 3n)).toBe(1);
|
|
51
|
+
// 0b0000 vs 0b1111 = 4 bits different
|
|
52
|
+
(0, vitest_1.expect)((0, simhash_js_1.hammingDistance)(0n, 15n)).toBe(4);
|
|
53
|
+
});
|
|
54
|
+
(0, vitest_1.it)("returns a value between 0 and 64 for any hash pair", () => {
|
|
55
|
+
const hash1 = (0, simhash_js_1.computeSimHash)("foo bar baz");
|
|
56
|
+
const hash2 = (0, simhash_js_1.computeSimHash)("completely different text here");
|
|
57
|
+
const distance = (0, simhash_js_1.hammingDistance)(hash1, hash2);
|
|
58
|
+
(0, vitest_1.expect)(distance).toBeGreaterThanOrEqual(0);
|
|
59
|
+
(0, vitest_1.expect)(distance).toBeLessThanOrEqual(64);
|
|
60
|
+
});
|
|
61
|
+
(0, vitest_1.it)("is symmetric", () => {
|
|
62
|
+
const hash1 = (0, simhash_js_1.computeSimHash)("alpha");
|
|
63
|
+
const hash2 = (0, simhash_js_1.computeSimHash)("beta");
|
|
64
|
+
(0, vitest_1.expect)((0, simhash_js_1.hammingDistance)(hash1, hash2)).toBe((0, simhash_js_1.hammingDistance)(hash2, hash1));
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
(0, vitest_1.describe)("isSimilar", () => {
|
|
68
|
+
(0, vitest_1.it)("returns true for identical text", () => {
|
|
69
|
+
const hash = (0, simhash_js_1.computeSimHash)("same text");
|
|
70
|
+
(0, vitest_1.expect)((0, simhash_js_1.isSimilar)(hash, hash)).toBe(true);
|
|
71
|
+
});
|
|
72
|
+
(0, vitest_1.it)("returns true for identical text", () => {
|
|
73
|
+
const hash1 = (0, simhash_js_1.computeSimHash)("the user wants to search for products");
|
|
74
|
+
const hash2 = (0, simhash_js_1.computeSimHash)("the user wants to search for products");
|
|
75
|
+
(0, vitest_1.expect)((0, simhash_js_1.isSimilar)(hash1, hash2)).toBe(true);
|
|
76
|
+
});
|
|
77
|
+
(0, vitest_1.it)("may or may not be similar for slightly different text (SimHash property)", () => {
|
|
78
|
+
const hash1 = (0, simhash_js_1.computeSimHash)("the user wants to search for products");
|
|
79
|
+
const hash2 = (0, simhash_js_1.computeSimHash)("the user wants to search for product");
|
|
80
|
+
// SimHash similarity depends on the specific implementation
|
|
81
|
+
// We just verify it returns a boolean
|
|
82
|
+
(0, vitest_1.expect)(typeof (0, simhash_js_1.isSimilar)(hash1, hash2)).toBe("boolean");
|
|
83
|
+
});
|
|
84
|
+
(0, vitest_1.it)("returns false for completely different text", () => {
|
|
85
|
+
const hash1 = (0, simhash_js_1.computeSimHash)("hello world how are you today");
|
|
86
|
+
const hash2 = (0, simhash_js_1.computeSimHash)("xyzzy plugh foo bar baz qux");
|
|
87
|
+
(0, vitest_1.expect)((0, simhash_js_1.isSimilar)(hash1, hash2)).toBe(false);
|
|
88
|
+
});
|
|
89
|
+
(0, vitest_1.it)("respects custom threshold", () => {
|
|
90
|
+
const hash1 = (0, simhash_js_1.computeSimHash)("example text one");
|
|
91
|
+
const hash2 = (0, simhash_js_1.computeSimHash)("example text two");
|
|
92
|
+
const distance = (0, simhash_js_1.hammingDistance)(hash1, hash2);
|
|
93
|
+
// Should be similar with a high threshold
|
|
94
|
+
(0, vitest_1.expect)((0, simhash_js_1.isSimilar)(hash1, hash2, 64)).toBe(true);
|
|
95
|
+
// May not be similar with a very low threshold
|
|
96
|
+
if (distance > 1) {
|
|
97
|
+
(0, vitest_1.expect)((0, simhash_js_1.isSimilar)(hash1, hash2, 1)).toBe(false);
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
(0, vitest_1.it)("uses default threshold of 3", () => {
|
|
101
|
+
// Verify the default behavior
|
|
102
|
+
const hash1 = (0, simhash_js_1.computeSimHash)("test input");
|
|
103
|
+
const hash2 = (0, simhash_js_1.computeSimHash)("test input");
|
|
104
|
+
(0, vitest_1.expect)((0, simhash_js_1.isSimilar)(hash1, hash2)).toBe(true);
|
|
105
|
+
});
|
|
106
|
+
});
|
|
107
|
+
//# sourceMappingURL=simhash.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"simhash.test.js","sourceRoot":"","sources":["../../src/__tests__/simhash.test.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
export { AgentEventSchema, BatchEventsSchema, EventType, Source, type AgentEvent, type BatchEvents, } from "./types.js";
|
|
2
|
-
export { getModelPricing, calculateCost, listSupportedModels, type ModelPricing, } from "./pricing.js";
|
|
3
|
-
export { detectProvider, detectProviderByHostname, getProviderBaseUrl, getProviderAuthHeader, parsePathPrefix, parseAgentPath, KNOWN_PROVIDER_NAMES, type ProviderName, } from "./providers.js";
|
|
2
|
+
export { getModelPricing, calculateCost, listSupportedModels, getProviderModels, type ModelPricing, type ProviderModel, } from "./pricing.js";
|
|
3
|
+
export { detectProvider, detectProviderByHostname, getProviderBaseUrl, getProviderRootUrl, getProviderChatEndpoint, getProviderAuthHeader, providerUsesPathRouting, parsePathPrefix, parseAgentPath, KNOWN_PROVIDER_NAMES, SELECTABLE_PROVIDER_NAMES, PROVIDER_DISPLAY_NAMES, type ProviderName, } from "./providers.js";
|
|
4
4
|
export { parseProviderResponse, type ParsedResponse, } from "./parsers.js";
|
|
5
5
|
export { createLogger, type Logger, type LogLevel, } from "./logger.js";
|
|
6
|
-
export { SELECTABLE_MODELS, getSelectableModels, } from "./models.js";
|
|
6
|
+
export { SELECTABLE_MODELS, PROVIDER_MODELS, getSelectableModels, } from "./models.js";
|
|
7
|
+
export { validateProviderKey, testProviderModel, type ValidationResult, } from "./provider-validator.js";
|
|
8
|
+
export { computeSimHash, hammingDistance, isSimilar, } from "./simhash.js";
|
|
9
|
+
export { normalizePrompt, extractUserMessage, extractToolCalls, extractAndNormalizePrompt, type ChatMessage, } from "./normalize.js";
|
|
7
10
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,SAAS,EACT,MAAM,EACN,KAAK,UAAU,EACf,KAAK,WAAW,GACjB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,KAAK,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,SAAS,EACT,MAAM,EACN,KAAK,UAAU,EACf,KAAK,WAAW,GACjB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,KAAK,YAAY,EACjB,KAAK,aAAa,GACnB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,cAAc,EACd,wBAAwB,EACxB,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,qBAAqB,EACrB,uBAAuB,EACvB,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,yBAAyB,EACzB,sBAAsB,EACtB,KAAK,YAAY,GAClB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,qBAAqB,EACrB,KAAK,cAAc,GACpB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,YAAY,EACZ,KAAK,MAAM,EACX,KAAK,QAAQ,GACd,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,KAAK,gBAAgB,GACtB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,cAAc,EACd,eAAe,EACf,SAAS,GACV,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,yBAAyB,EACzB,KAAK,WAAW,GACjB,MAAM,gBAAgB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getSelectableModels = exports.SELECTABLE_MODELS = exports.createLogger = exports.parseProviderResponse = exports.KNOWN_PROVIDER_NAMES = exports.parseAgentPath = exports.parsePathPrefix = exports.getProviderAuthHeader = exports.getProviderBaseUrl = exports.detectProviderByHostname = exports.detectProvider = exports.listSupportedModels = exports.calculateCost = exports.getModelPricing = exports.Source = exports.EventType = exports.BatchEventsSchema = exports.AgentEventSchema = void 0;
|
|
3
|
+
exports.extractAndNormalizePrompt = exports.extractToolCalls = exports.extractUserMessage = exports.normalizePrompt = exports.isSimilar = exports.hammingDistance = exports.computeSimHash = exports.testProviderModel = exports.validateProviderKey = exports.getSelectableModels = exports.PROVIDER_MODELS = exports.SELECTABLE_MODELS = exports.createLogger = exports.parseProviderResponse = exports.PROVIDER_DISPLAY_NAMES = exports.SELECTABLE_PROVIDER_NAMES = exports.KNOWN_PROVIDER_NAMES = exports.parseAgentPath = exports.parsePathPrefix = exports.providerUsesPathRouting = exports.getProviderAuthHeader = exports.getProviderChatEndpoint = exports.getProviderRootUrl = exports.getProviderBaseUrl = exports.detectProviderByHostname = exports.detectProvider = exports.getProviderModels = exports.listSupportedModels = exports.calculateCost = exports.getModelPricing = exports.Source = exports.EventType = exports.BatchEventsSchema = exports.AgentEventSchema = void 0;
|
|
4
4
|
var types_js_1 = require("./types.js");
|
|
5
5
|
Object.defineProperty(exports, "AgentEventSchema", { enumerable: true, get: function () { return types_js_1.AgentEventSchema; } });
|
|
6
6
|
Object.defineProperty(exports, "BatchEventsSchema", { enumerable: true, get: function () { return types_js_1.BatchEventsSchema; } });
|
|
@@ -10,19 +10,38 @@ var pricing_js_1 = require("./pricing.js");
|
|
|
10
10
|
Object.defineProperty(exports, "getModelPricing", { enumerable: true, get: function () { return pricing_js_1.getModelPricing; } });
|
|
11
11
|
Object.defineProperty(exports, "calculateCost", { enumerable: true, get: function () { return pricing_js_1.calculateCost; } });
|
|
12
12
|
Object.defineProperty(exports, "listSupportedModels", { enumerable: true, get: function () { return pricing_js_1.listSupportedModels; } });
|
|
13
|
+
Object.defineProperty(exports, "getProviderModels", { enumerable: true, get: function () { return pricing_js_1.getProviderModels; } });
|
|
13
14
|
var providers_js_1 = require("./providers.js");
|
|
14
15
|
Object.defineProperty(exports, "detectProvider", { enumerable: true, get: function () { return providers_js_1.detectProvider; } });
|
|
15
16
|
Object.defineProperty(exports, "detectProviderByHostname", { enumerable: true, get: function () { return providers_js_1.detectProviderByHostname; } });
|
|
16
17
|
Object.defineProperty(exports, "getProviderBaseUrl", { enumerable: true, get: function () { return providers_js_1.getProviderBaseUrl; } });
|
|
18
|
+
Object.defineProperty(exports, "getProviderRootUrl", { enumerable: true, get: function () { return providers_js_1.getProviderRootUrl; } });
|
|
19
|
+
Object.defineProperty(exports, "getProviderChatEndpoint", { enumerable: true, get: function () { return providers_js_1.getProviderChatEndpoint; } });
|
|
17
20
|
Object.defineProperty(exports, "getProviderAuthHeader", { enumerable: true, get: function () { return providers_js_1.getProviderAuthHeader; } });
|
|
21
|
+
Object.defineProperty(exports, "providerUsesPathRouting", { enumerable: true, get: function () { return providers_js_1.providerUsesPathRouting; } });
|
|
18
22
|
Object.defineProperty(exports, "parsePathPrefix", { enumerable: true, get: function () { return providers_js_1.parsePathPrefix; } });
|
|
19
23
|
Object.defineProperty(exports, "parseAgentPath", { enumerable: true, get: function () { return providers_js_1.parseAgentPath; } });
|
|
20
24
|
Object.defineProperty(exports, "KNOWN_PROVIDER_NAMES", { enumerable: true, get: function () { return providers_js_1.KNOWN_PROVIDER_NAMES; } });
|
|
25
|
+
Object.defineProperty(exports, "SELECTABLE_PROVIDER_NAMES", { enumerable: true, get: function () { return providers_js_1.SELECTABLE_PROVIDER_NAMES; } });
|
|
26
|
+
Object.defineProperty(exports, "PROVIDER_DISPLAY_NAMES", { enumerable: true, get: function () { return providers_js_1.PROVIDER_DISPLAY_NAMES; } });
|
|
21
27
|
var parsers_js_1 = require("./parsers.js");
|
|
22
28
|
Object.defineProperty(exports, "parseProviderResponse", { enumerable: true, get: function () { return parsers_js_1.parseProviderResponse; } });
|
|
23
29
|
var logger_js_1 = require("./logger.js");
|
|
24
30
|
Object.defineProperty(exports, "createLogger", { enumerable: true, get: function () { return logger_js_1.createLogger; } });
|
|
25
31
|
var models_js_1 = require("./models.js");
|
|
26
32
|
Object.defineProperty(exports, "SELECTABLE_MODELS", { enumerable: true, get: function () { return models_js_1.SELECTABLE_MODELS; } });
|
|
33
|
+
Object.defineProperty(exports, "PROVIDER_MODELS", { enumerable: true, get: function () { return models_js_1.PROVIDER_MODELS; } });
|
|
27
34
|
Object.defineProperty(exports, "getSelectableModels", { enumerable: true, get: function () { return models_js_1.getSelectableModels; } });
|
|
35
|
+
var provider_validator_js_1 = require("./provider-validator.js");
|
|
36
|
+
Object.defineProperty(exports, "validateProviderKey", { enumerable: true, get: function () { return provider_validator_js_1.validateProviderKey; } });
|
|
37
|
+
Object.defineProperty(exports, "testProviderModel", { enumerable: true, get: function () { return provider_validator_js_1.testProviderModel; } });
|
|
38
|
+
var simhash_js_1 = require("./simhash.js");
|
|
39
|
+
Object.defineProperty(exports, "computeSimHash", { enumerable: true, get: function () { return simhash_js_1.computeSimHash; } });
|
|
40
|
+
Object.defineProperty(exports, "hammingDistance", { enumerable: true, get: function () { return simhash_js_1.hammingDistance; } });
|
|
41
|
+
Object.defineProperty(exports, "isSimilar", { enumerable: true, get: function () { return simhash_js_1.isSimilar; } });
|
|
42
|
+
var normalize_js_1 = require("./normalize.js");
|
|
43
|
+
Object.defineProperty(exports, "normalizePrompt", { enumerable: true, get: function () { return normalize_js_1.normalizePrompt; } });
|
|
44
|
+
Object.defineProperty(exports, "extractUserMessage", { enumerable: true, get: function () { return normalize_js_1.extractUserMessage; } });
|
|
45
|
+
Object.defineProperty(exports, "extractToolCalls", { enumerable: true, get: function () { return normalize_js_1.extractToolCalls; } });
|
|
46
|
+
Object.defineProperty(exports, "extractAndNormalizePrompt", { enumerable: true, get: function () { return normalize_js_1.extractAndNormalizePrompt; } });
|
|
28
47
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,uCAOoB;AANlB,4GAAA,gBAAgB,OAAA;AAChB,6GAAA,iBAAiB,OAAA;AACjB,qGAAA,SAAS,OAAA;AACT,kGAAA,MAAM,OAAA;AAKR,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,uCAOoB;AANlB,4GAAA,gBAAgB,OAAA;AAChB,6GAAA,iBAAiB,OAAA;AACjB,qGAAA,SAAS,OAAA;AACT,kGAAA,MAAM,OAAA;AAKR,2CAOsB;AANpB,6GAAA,eAAe,OAAA;AACf,2GAAA,aAAa,OAAA;AACb,iHAAA,mBAAmB,OAAA;AACnB,+GAAA,iBAAiB,OAAA;AAKnB,+CAcwB;AAbtB,8GAAA,cAAc,OAAA;AACd,wHAAA,wBAAwB,OAAA;AACxB,kHAAA,kBAAkB,OAAA;AAClB,kHAAA,kBAAkB,OAAA;AAClB,uHAAA,uBAAuB,OAAA;AACvB,qHAAA,qBAAqB,OAAA;AACrB,uHAAA,uBAAuB,OAAA;AACvB,+GAAA,eAAe,OAAA;AACf,8GAAA,cAAc,OAAA;AACd,oHAAA,oBAAoB,OAAA;AACpB,yHAAA,yBAAyB,OAAA;AACzB,sHAAA,sBAAsB,OAAA;AAIxB,2CAGsB;AAFpB,mHAAA,qBAAqB,OAAA;AAIvB,yCAIqB;AAHnB,yGAAA,YAAY,OAAA;AAKd,yCAIqB;AAHnB,8GAAA,iBAAiB,OAAA;AACjB,4GAAA,eAAe,OAAA;AACf,gHAAA,mBAAmB,OAAA;AAGrB,iEAIiC;AAH/B,4HAAA,mBAAmB,OAAA;AACnB,0HAAA,iBAAiB,OAAA;AAInB,2CAIsB;AAHpB,4GAAA,cAAc,OAAA;AACd,6GAAA,eAAe,OAAA;AACf,uGAAA,SAAS,OAAA;AAGX,+CAMwB;AALtB,+GAAA,eAAe,OAAA;AACf,kHAAA,kBAAkB,OAAA;AAClB,gHAAA,gBAAgB,OAAA;AAChB,yHAAA,yBAAyB,OAAA"}
|
package/dist/logger.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAwC3D,MAAM,WAAW,MAAM;IACrB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC9D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC7D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC7D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC/D;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAwC3D,MAAM,WAAW,MAAM;IACrB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC9D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC7D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC7D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC/D;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAqCtD"}
|
package/dist/logger.js
CHANGED
|
@@ -26,11 +26,12 @@ function formatPretty(entry) {
|
|
|
26
26
|
return `${prefix} ${message}${extraStr}`;
|
|
27
27
|
}
|
|
28
28
|
function createLogger(component) {
|
|
29
|
-
const minLevel = getMinLevel();
|
|
30
|
-
const json = isProduction();
|
|
31
29
|
function log(level, message, extra) {
|
|
30
|
+
// Check level on each call so LOG_LEVEL changes take effect
|
|
31
|
+
const minLevel = getMinLevel();
|
|
32
32
|
if (LEVEL_PRIORITY[level] < LEVEL_PRIORITY[minLevel])
|
|
33
33
|
return;
|
|
34
|
+
const json = isProduction();
|
|
34
35
|
const entry = {
|
|
35
36
|
timestamp: new Date().toISOString(),
|
|
36
37
|
level,
|
package/dist/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";;AA+CA,
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}
|
package/dist/models.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Selectable models per provider for dashboard dropdowns.
|
|
2
|
+
* Selectable models per provider for dashboard dropdowns and OpenClaw config.
|
|
3
|
+
* Single source of truth for all model lists.
|
|
3
4
|
* Only includes commonly available models (excludes those requiring special access).
|
|
4
5
|
*/
|
|
5
6
|
export declare const SELECTABLE_MODELS: Record<string, string[]>;
|
|
@@ -8,4 +9,6 @@ export declare const SELECTABLE_MODELS: Record<string, string[]>;
|
|
|
8
9
|
* Returns empty array if provider is unknown.
|
|
9
10
|
*/
|
|
10
11
|
export declare function getSelectableModels(provider: string): string[];
|
|
12
|
+
/** Alias for SELECTABLE_MODELS for API consistency */
|
|
13
|
+
export declare const PROVIDER_MODELS: Record<string, string[]>;
|
|
11
14
|
//# sourceMappingURL=models.d.ts.map
|
package/dist/models.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAsDtD,CAAC;AAEF;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAE9D;AAED,sDAAsD;AACtD,eAAO,MAAM,eAAe,0BAAoB,CAAC"}
|
package/dist/models.js
CHANGED
|
@@ -1,19 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SELECTABLE_MODELS = void 0;
|
|
3
|
+
exports.PROVIDER_MODELS = exports.SELECTABLE_MODELS = void 0;
|
|
4
4
|
exports.getSelectableModels = getSelectableModels;
|
|
5
5
|
/**
|
|
6
|
-
* Selectable models per provider for dashboard dropdowns.
|
|
6
|
+
* Selectable models per provider for dashboard dropdowns and OpenClaw config.
|
|
7
|
+
* Single source of truth for all model lists.
|
|
7
8
|
* Only includes commonly available models (excludes those requiring special access).
|
|
8
9
|
*/
|
|
9
10
|
exports.SELECTABLE_MODELS = {
|
|
10
11
|
openai: [
|
|
11
12
|
"gpt-4o",
|
|
12
13
|
"gpt-4o-mini",
|
|
13
|
-
"gpt-4-turbo",
|
|
14
14
|
"o1",
|
|
15
|
-
"o1-mini",
|
|
16
|
-
"o1-pro",
|
|
17
15
|
"o3-mini",
|
|
18
16
|
],
|
|
19
17
|
anthropic: [
|
|
@@ -23,57 +21,45 @@ exports.SELECTABLE_MODELS = {
|
|
|
23
21
|
"claude-haiku-4-5-20251001",
|
|
24
22
|
],
|
|
25
23
|
google: [
|
|
24
|
+
"gemini-3-pro-preview",
|
|
25
|
+
"gemini-3-flash-preview",
|
|
26
26
|
"gemini-2.5-pro",
|
|
27
27
|
"gemini-2.5-flash",
|
|
28
|
-
"gemini-2.
|
|
29
|
-
"gemini-2.0-flash-lite",
|
|
28
|
+
"gemini-2.5-flash-lite",
|
|
30
29
|
],
|
|
31
30
|
mistral: [
|
|
32
31
|
"mistral-large-latest",
|
|
33
|
-
"mistral-medium-latest",
|
|
34
32
|
"mistral-small-latest",
|
|
35
33
|
"codestral-latest",
|
|
36
|
-
"open-mistral-7b",
|
|
37
|
-
"open-mixtral-8x7b",
|
|
38
|
-
"open-mixtral-8x22b",
|
|
39
34
|
],
|
|
40
35
|
cohere: [
|
|
41
|
-
"command-
|
|
42
|
-
"command-r",
|
|
43
|
-
"command",
|
|
44
|
-
"command-
|
|
36
|
+
"command-a-03-2025",
|
|
37
|
+
"command-r-plus-08-2024",
|
|
38
|
+
"command-r-08-2024",
|
|
39
|
+
"command-r7b-12-2024",
|
|
45
40
|
],
|
|
46
41
|
deepseek: [
|
|
47
42
|
"deepseek-chat",
|
|
48
|
-
"deepseek-coder",
|
|
49
43
|
"deepseek-reasoner",
|
|
50
44
|
],
|
|
51
45
|
moonshot: [
|
|
52
46
|
"moonshot-v1-8k",
|
|
53
47
|
"moonshot-v1-32k",
|
|
54
48
|
"moonshot-v1-128k",
|
|
49
|
+
"kimi-k2.5",
|
|
50
|
+
"kimi-k2-thinking",
|
|
55
51
|
],
|
|
56
52
|
zhipu: [
|
|
57
|
-
"glm-4
|
|
58
|
-
"glm-4",
|
|
59
|
-
"glm-4
|
|
60
|
-
"glm-4-
|
|
61
|
-
"glm-4-flash",
|
|
53
|
+
"glm-4.7",
|
|
54
|
+
"glm-4.7-flash",
|
|
55
|
+
"glm-4.5",
|
|
56
|
+
"glm-4.5-flash",
|
|
62
57
|
],
|
|
63
58
|
minimax: [
|
|
64
|
-
"
|
|
65
|
-
"
|
|
66
|
-
"
|
|
67
|
-
|
|
68
|
-
baichuan: [
|
|
69
|
-
"Baichuan4",
|
|
70
|
-
"Baichuan3-Turbo",
|
|
71
|
-
"Baichuan2-Turbo",
|
|
72
|
-
],
|
|
73
|
-
yi: [
|
|
74
|
-
"yi-large",
|
|
75
|
-
"yi-medium",
|
|
76
|
-
"yi-spark",
|
|
59
|
+
"MiniMax-M2.1",
|
|
60
|
+
"MiniMax-M2.1-lightning",
|
|
61
|
+
"MiniMax-M2",
|
|
62
|
+
"M2-her",
|
|
77
63
|
],
|
|
78
64
|
};
|
|
79
65
|
/**
|
|
@@ -83,4 +69,6 @@ exports.SELECTABLE_MODELS = {
|
|
|
83
69
|
function getSelectableModels(provider) {
|
|
84
70
|
return exports.SELECTABLE_MODELS[provider.toLowerCase()] ?? [];
|
|
85
71
|
}
|
|
72
|
+
/** Alias for SELECTABLE_MODELS for API consistency */
|
|
73
|
+
exports.PROVIDER_MODELS = exports.SELECTABLE_MODELS;
|
|
86
74
|
//# sourceMappingURL=models.js.map
|
package/dist/models.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.js","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":";;;AAiEA,kDAEC;AAnED;;;;GAIG;AACU,QAAA,iBAAiB,GAA6B;IACzD,MAAM,EAAE;QACN,QAAQ;QACR,aAAa;QACb,IAAI;QACJ,SAAS;KACV;IACD,SAAS,EAAE;QACT,0BAA0B;QAC1B,4BAA4B;QAC5B,0BAA0B;QAC1B,2BAA2B;KAC5B;IACD,MAAM,EAAE;QACN,sBAAsB;QACtB,wBAAwB;QACxB,gBAAgB;QAChB,kBAAkB;QAClB,uBAAuB;KACxB;IACD,OAAO,EAAE;QACP,sBAAsB;QACtB,sBAAsB;QACtB,kBAAkB;KACnB;IACD,MAAM,EAAE;QACN,mBAAmB;QACnB,wBAAwB;QACxB,mBAAmB;QACnB,qBAAqB;KACtB;IACD,QAAQ,EAAE;QACR,eAAe;QACf,mBAAmB;KACpB;IACD,QAAQ,EAAE;QACR,gBAAgB;QAChB,iBAAiB;QACjB,kBAAkB;QAClB,WAAW;QACX,kBAAkB;KACnB;IACD,KAAK,EAAE;QACL,SAAS;QACT,eAAe;QACf,SAAS;QACT,eAAe;KAChB;IACD,OAAO,EAAE;QACP,cAAc;QACd,wBAAwB;QACxB,YAAY;QACZ,QAAQ;KACT;CACF,CAAC;AAEF;;;GAGG;AACH,SAAgB,mBAAmB,CAAC,QAAgB;IAClD,OAAO,yBAAiB,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;AACzD,CAAC;AAED,sDAAsD;AACzC,QAAA,eAAe,GAAG,yBAAiB,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Prompt normalization for loop detection.
|
|
3
|
+
* Normalizes prompts to detect semantic repetition even when dynamic values change.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Normalize a prompt for SimHash comparison.
|
|
7
|
+
* Replaces dynamic values with placeholders to detect semantic repetition.
|
|
8
|
+
*/
|
|
9
|
+
export declare function normalizePrompt(text: string): string;
|
|
10
|
+
/**
|
|
11
|
+
* Message format compatible with OpenAI/Anthropic
|
|
12
|
+
*/
|
|
13
|
+
export interface ChatMessage {
|
|
14
|
+
role: "system" | "user" | "assistant" | "function" | "tool";
|
|
15
|
+
content?: string | null;
|
|
16
|
+
name?: string;
|
|
17
|
+
function_call?: unknown;
|
|
18
|
+
tool_calls?: unknown[];
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Extract the last user message from a conversation.
|
|
22
|
+
* For loop detection, we focus on what the user/agent is asking now.
|
|
23
|
+
*/
|
|
24
|
+
export declare function extractUserMessage(messages: ChatMessage[]): string;
|
|
25
|
+
/**
|
|
26
|
+
* Extract tool calls from a request body.
|
|
27
|
+
* Returns array of tool call signatures for comparison.
|
|
28
|
+
*/
|
|
29
|
+
export declare function extractToolCalls(body: Record<string, unknown>): string[];
|
|
30
|
+
/**
|
|
31
|
+
* Extract and normalize prompt from request body.
|
|
32
|
+
* Handles both OpenAI messages format and simple prompt format.
|
|
33
|
+
*/
|
|
34
|
+
export declare function extractAndNormalizePrompt(body: Record<string, unknown>): string;
|
|
35
|
+
//# sourceMappingURL=normalize.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../src/normalize.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAkBH;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAepD;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,UAAU,GAAG,MAAM,CAAC;IAC5D,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,EAAE,CAAC;CACxB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM,CAoBlE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,EAAE,CAiCxE;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAiB/E"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Prompt normalization for loop detection.
|
|
4
|
+
* Normalizes prompts to detect semantic repetition even when dynamic values change.
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.normalizePrompt = normalizePrompt;
|
|
8
|
+
exports.extractUserMessage = extractUserMessage;
|
|
9
|
+
exports.extractToolCalls = extractToolCalls;
|
|
10
|
+
exports.extractAndNormalizePrompt = extractAndNormalizePrompt;
|
|
11
|
+
// Regex patterns for normalization
|
|
12
|
+
const PATTERNS = {
|
|
13
|
+
// Numbers (integers and decimals)
|
|
14
|
+
numbers: /\b\d+(\.\d+)?\b/g,
|
|
15
|
+
// UUIDs (various formats)
|
|
16
|
+
uuids: /\b[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\b/gi,
|
|
17
|
+
// ISO timestamps
|
|
18
|
+
isoTimestamps: /\b\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}:?\d{2})?)?\b/g,
|
|
19
|
+
// Common ID patterns (e.g., user_abc123, order-12345)
|
|
20
|
+
idPatterns: /\b(id|user|order|session|request|msg|message|chat|thread)[_-]?[a-z0-9]+\b/gi,
|
|
21
|
+
// Hex strings (likely hashes or IDs)
|
|
22
|
+
hexStrings: /\b[0-9a-f]{16,}\b/gi,
|
|
23
|
+
// Multiple whitespace
|
|
24
|
+
whitespace: /\s+/g,
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Normalize a prompt for SimHash comparison.
|
|
28
|
+
* Replaces dynamic values with placeholders to detect semantic repetition.
|
|
29
|
+
*/
|
|
30
|
+
function normalizePrompt(text) {
|
|
31
|
+
let normalized = text;
|
|
32
|
+
// Order matters: more specific patterns first
|
|
33
|
+
normalized = normalized.replace(PATTERNS.uuids, "<ID>");
|
|
34
|
+
normalized = normalized.replace(PATTERNS.isoTimestamps, "<TS>");
|
|
35
|
+
normalized = normalized.replace(PATTERNS.hexStrings, "<ID>");
|
|
36
|
+
normalized = normalized.replace(PATTERNS.idPatterns, "<ID>");
|
|
37
|
+
normalized = normalized.replace(PATTERNS.numbers, "<NUM>");
|
|
38
|
+
// Normalize whitespace and case
|
|
39
|
+
normalized = normalized.replace(PATTERNS.whitespace, " ");
|
|
40
|
+
normalized = normalized.toLowerCase().trim();
|
|
41
|
+
return normalized;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Extract the last user message from a conversation.
|
|
45
|
+
* For loop detection, we focus on what the user/agent is asking now.
|
|
46
|
+
*/
|
|
47
|
+
function extractUserMessage(messages) {
|
|
48
|
+
if (!Array.isArray(messages) || messages.length === 0) {
|
|
49
|
+
return "";
|
|
50
|
+
}
|
|
51
|
+
// Find the last user message
|
|
52
|
+
for (let i = messages.length - 1; i >= 0; i--) {
|
|
53
|
+
const msg = messages[i];
|
|
54
|
+
if (msg.role === "user" && typeof msg.content === "string") {
|
|
55
|
+
return msg.content;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
// Fallback: return last message content regardless of role
|
|
59
|
+
const last = messages[messages.length - 1];
|
|
60
|
+
if (typeof last.content === "string") {
|
|
61
|
+
return last.content;
|
|
62
|
+
}
|
|
63
|
+
return "";
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Extract tool calls from a request body.
|
|
67
|
+
* Returns array of tool call signatures for comparison.
|
|
68
|
+
*/
|
|
69
|
+
function extractToolCalls(body) {
|
|
70
|
+
const tools = [];
|
|
71
|
+
// OpenAI function calling format
|
|
72
|
+
if (body.functions && Array.isArray(body.functions)) {
|
|
73
|
+
for (const fn of body.functions) {
|
|
74
|
+
if (typeof fn === "object" && fn !== null && "name" in fn) {
|
|
75
|
+
tools.push(`fn:${fn.name}`);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
// OpenAI tools format
|
|
80
|
+
if (body.tools && Array.isArray(body.tools)) {
|
|
81
|
+
for (const tool of body.tools) {
|
|
82
|
+
if (typeof tool === "object" && tool !== null) {
|
|
83
|
+
const t = tool;
|
|
84
|
+
if (t.type === "function" && t.function?.name) {
|
|
85
|
+
tools.push(`fn:${t.function.name}`);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
// Anthropic tool_use format
|
|
91
|
+
if (body.tool_choice && typeof body.tool_choice === "object") {
|
|
92
|
+
const tc = body.tool_choice;
|
|
93
|
+
if (tc.name) {
|
|
94
|
+
tools.push(`tool:${tc.name}`);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
return tools;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Extract and normalize prompt from request body.
|
|
101
|
+
* Handles both OpenAI messages format and simple prompt format.
|
|
102
|
+
*/
|
|
103
|
+
function extractAndNormalizePrompt(body) {
|
|
104
|
+
let rawPrompt = "";
|
|
105
|
+
// OpenAI/Anthropic messages format
|
|
106
|
+
if (body.messages && Array.isArray(body.messages)) {
|
|
107
|
+
rawPrompt = extractUserMessage(body.messages);
|
|
108
|
+
}
|
|
109
|
+
// Simple prompt format
|
|
110
|
+
else if (typeof body.prompt === "string") {
|
|
111
|
+
rawPrompt = body.prompt;
|
|
112
|
+
}
|
|
113
|
+
// Input format (some APIs)
|
|
114
|
+
else if (typeof body.input === "string") {
|
|
115
|
+
rawPrompt = body.input;
|
|
116
|
+
}
|
|
117
|
+
return normalizePrompt(rawPrompt);
|
|
118
|
+
}
|
|
119
|
+
//# sourceMappingURL=normalize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalize.js","sourceRoot":"","sources":["../src/normalize.ts"],"names":[],"mappings":"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"}
|
package/dist/parsers.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parsers.d.ts","sourceRoot":"","sources":["../src/parsers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;
|
|
1
|
+
{"version":3,"file":"parsers.d.ts","sourceRoot":"","sources":["../src/parsers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAgID,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,YAAY,EACtB,IAAI,EAAE,OAAO,EACb,UAAU,EAAE,MAAM,GACjB,cAAc,GAAG,IAAI,CAIvB"}
|
package/dist/parsers.js
CHANGED
package/dist/parsers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parsers.js","sourceRoot":"","sources":["../src/parsers.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"parsers.js","sourceRoot":"","sources":["../src/parsers.ts"],"names":[],"mappings":";;AAyIA,sDAQC;AApID,SAAS,eAAe,CAAC,UAAkB,EAAE,OAAgB;IAC3D,OAAO;QACL,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,IAAI;QACjB,UAAU;QACV,YAAY,EAAE,OAAO,IAAI,QAAQ,UAAU,EAAE;KAC9C,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,IAAa,EAAE,UAAkB;IACpD,IAAI,UAAU,IAAI,GAAG,EAAE,CAAC;QACtB,MAAM,GAAG,GAAG,IAAwC,CAAC;QACrD,OAAO,eAAe,CAAC,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IACD,MAAM,IAAI,GAAG,IAOZ,CAAC;IACF,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI;QACzB,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,aAAa,IAAI,IAAI;QAC3C,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,iBAAiB,IAAI,IAAI;QAChD,WAAW,EAAE,IAAI,CAAC,KAAK,EAAE,YAAY,IAAI,IAAI;QAC7C,UAAU;QACV,YAAY,EAAE,IAAI;KACnB,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,IAAa,EAAE,UAAkB;IACvD,IAAI,UAAU,IAAI,GAAG,EAAE,CAAC;QACtB,MAAM,GAAG,GAAG,IAAwC,CAAC;QACrD,OAAO,eAAe,CAAC,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IACD,MAAM,IAAI,GAAG,IAMZ,CAAC;IACF,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,EAAE,YAAY,IAAI,IAAI,CAAC;IAClD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,EAAE,aAAa,IAAI,IAAI,CAAC;IACpD,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI;QACzB,QAAQ;QACR,SAAS;QACT,WAAW,EAAE,QAAQ,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI;QAChF,UAAU;QACV,YAAY,EAAE,IAAI;KACnB,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,IAAa,EAAE,UAAkB;IACpD,IAAI,UAAU,IAAI,GAAG,EAAE,CAAC;QACtB,MAAM,GAAG,GAAG,IAAwC,CAAC;QACrD,OAAO,eAAe,CAAC,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IACD,MAAM,IAAI,GAAG,IAOZ,CAAC;IACF,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,YAAY,IAAI,IAAI;QAChC,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE,gBAAgB,IAAI,IAAI;QACtD,SAAS,EAAE,IAAI,CAAC,aAAa,EAAE,oBAAoB,IAAI,IAAI;QAC3D,WAAW,EAAE,IAAI,CAAC,aAAa,EAAE,eAAe,IAAI,IAAI;QACxD,UAAU;QACV,YAAY,EAAE,IAAI;KACnB,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,IAAa,EAAE,UAAkB;IACrD,wCAAwC;IACxC,OAAO,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,WAAW,CAAC,IAAa,EAAE,UAAkB;IACpD,IAAI,UAAU,IAAI,GAAG,EAAE,CAAC;QACtB,MAAM,GAAG,GAAG,IAA4B,CAAC;QACzC,OAAO,eAAe,CAAC,UAAU,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;IACD,MAAM,IAAI,GAAG,IAOZ,CAAC;IACF,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,YAAY,IAAI,IAAI,CAAC;IAC/D,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,aAAa,IAAI,IAAI,CAAC;IACjE,OAAO;QACL,KAAK,EAAE,IAAI,EAAG,+CAA+C;QAC7D,QAAQ;QACR,SAAS;QACT,WAAW,EAAE,QAAQ,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI;QAChF,UAAU;QACV,YAAY,EAAE,IAAI;KACnB,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,GAAmC;IAC9C,MAAM,EAAE,WAAW;IACnB,SAAS,EAAE,cAAc;IACzB,MAAM,EAAE,WAAW;IACnB,OAAO,EAAE,YAAY;IACrB,MAAM,EAAE,WAAW;IACnB,QAAQ,EAAE,WAAW;IACrB,QAAQ,EAAE,WAAW;IACrB,KAAK,EAAE,WAAW;IAClB,OAAO,EAAE,WAAW;IACpB,QAAQ,EAAE,WAAW;CACtB,CAAC;AAEF,SAAgB,qBAAqB,CACnC,QAAsB,EACtB,IAAa,EACb,UAAkB;IAElB,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACjC,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,OAAO,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AAClC,CAAC"}
|
package/dist/pricing.d.ts
CHANGED
|
@@ -5,4 +5,10 @@ export interface ModelPricing {
|
|
|
5
5
|
export declare function getModelPricing(model: string): ModelPricing | null;
|
|
6
6
|
export declare function calculateCost(model: string, tokensIn: number, tokensOut: number): number | null;
|
|
7
7
|
export declare function listSupportedModels(): string[];
|
|
8
|
+
export interface ProviderModel {
|
|
9
|
+
id: string;
|
|
10
|
+
inputPrice: number;
|
|
11
|
+
outputPrice: number;
|
|
12
|
+
}
|
|
13
|
+
export declare function getProviderModels(provider: string): ProviderModel[];
|
|
8
14
|
//# sourceMappingURL=pricing.d.ts.map
|
package/dist/pricing.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pricing.d.ts","sourceRoot":"","sources":["../src/pricing.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;CACzB;
|
|
1
|
+
{"version":3,"file":"pricing.d.ts","sourceRoot":"","sources":["../src/pricing.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;CACzB;AAmED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAElE;AAED,wBAAgB,aAAa,CAC3B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAChB,MAAM,GAAG,IAAI,CAUf;AAED,wBAAgB,mBAAmB,IAAI,MAAM,EAAE,CAE9C;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAeD,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,EAAE,CAYnE"}
|