ai.matey.utils 0.2.1 → 0.4.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/CHANGELOG.md +61 -0
- package/dist/cjs/embeddings.js +153 -0
- package/dist/cjs/embeddings.js.map +1 -0
- package/dist/cjs/index.js +9 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/model-cache.js +2 -5
- package/dist/cjs/model-cache.js.map +1 -1
- package/dist/cjs/model-registry-data.js +725 -0
- package/dist/cjs/model-registry-data.js.map +1 -0
- package/dist/cjs/model-registry.js +175 -0
- package/dist/cjs/model-registry.js.map +1 -0
- package/dist/cjs/streaming.js +61 -1
- package/dist/cjs/streaming.js.map +1 -1
- package/dist/cjs/structured-output.js +17 -5
- package/dist/cjs/structured-output.js.map +1 -1
- package/dist/cjs/tools.js +218 -0
- package/dist/cjs/tools.js.map +1 -0
- package/dist/esm/embeddings.js +145 -0
- package/dist/esm/embeddings.js.map +1 -0
- package/dist/esm/index.js +7 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/model-cache.js +2 -5
- package/dist/esm/model-cache.js.map +1 -1
- package/dist/esm/model-registry-data.js +722 -0
- package/dist/esm/model-registry-data.js.map +1 -0
- package/dist/esm/model-registry.js +162 -0
- package/dist/esm/model-registry.js.map +1 -0
- package/dist/esm/streaming.js +61 -1
- package/dist/esm/streaming.js.map +1 -1
- package/dist/esm/structured-output.js +17 -5
- package/dist/esm/structured-output.js.map +1 -1
- package/dist/esm/tools.js +211 -0
- package/dist/esm/tools.js.map +1 -0
- package/dist/types/embeddings.d.ts +80 -0
- package/dist/types/embeddings.d.ts.map +1 -0
- package/dist/types/index.d.ts +4 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/model-cache.d.ts.map +1 -1
- package/dist/types/model-registry-data.d.ts +23 -0
- package/dist/types/model-registry-data.d.ts.map +1 -0
- package/dist/types/model-registry.d.ts +80 -0
- package/dist/types/model-registry.d.ts.map +1 -0
- package/dist/types/streaming.d.ts +18 -0
- package/dist/types/streaming.d.ts.map +1 -1
- package/dist/types/structured-output.d.ts.map +1 -1
- package/dist/types/tools.d.ts +70 -0
- package/dist/types/tools.d.ts.map +1 -0
- package/package.json +1 -1
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# ai.matey.utils
|
|
2
|
+
|
|
3
|
+
## 0.4.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- d9e1489: July 2026 provider refresh. DeepSeek: V4 generation (`deepseek-v4-flash`/`deepseek-v4-pro`, 1M
|
|
8
|
+
context, 384K output) with image input enabled — the adapter now advertises `multiModal` and
|
|
9
|
+
defaults to `deepseek-v4-flash`; `deepseek-chat`/`deepseek-reasoner` marked deprecated (provider
|
|
10
|
+
retires them 2026-07-24). Registry adds `claude-sonnet-5` (1M context), `gemini-3.5-flash`,
|
|
11
|
+
`gemini-3.1-pro-preview`, `grok-4.3`, `grok-4.20` variants, and `grok-build-0.1`; capability
|
|
12
|
+
inference recognizes the claude-5 and deepseek-v4 families; xAI default model updated off the
|
|
13
|
+
retired `grok-beta`.
|
|
14
|
+
|
|
15
|
+
## 0.3.0
|
|
16
|
+
|
|
17
|
+
### Minor Changes
|
|
18
|
+
|
|
19
|
+
- dae4d01: Embeddings support: `bridge.embed()` / `router.embed()` with batch chunking, dimension
|
|
20
|
+
normalization, and an embed middleware chain; provider implementations for OpenAI, Mistral,
|
|
21
|
+
Gemini, Cohere, Ollama, Together, Fireworks, DeepInfra, NVIDIA, and LM Studio; caching and
|
|
22
|
+
cost-tracking embedding middleware.
|
|
23
|
+
- 2912b7d: Introduce a shared, data-driven model registry in `ai.matey.utils` as the single source of truth
|
|
24
|
+
for model metadata (pricing, context windows, capabilities, quality/latency). The registry ships
|
|
25
|
+
with a mid-2026 seed (GPT-5.x/o-series, Claude 4.x, Gemini 2.5/3, Grok, current Mistral/DeepSeek,
|
|
26
|
+
plus embedding models) and is runtime-extensible via `registerModels()` / `overrideModelPricing()`,
|
|
27
|
+
with alias and longest-prefix fallback so new dated snapshots of known families still resolve.
|
|
28
|
+
|
|
29
|
+
`ai.matey.core`'s model-pricing API is now a thin delegate over the registry (no API break; legacy
|
|
30
|
+
models keep their prices, marked `deprecated`). Capability inference recognizes current families.
|
|
31
|
+
Cost-tracking middleware consults the registry before provider-level defaults. `useTokenCount`
|
|
32
|
+
consults the registry for context windows. Backend default models updated:
|
|
33
|
+
`claude-3-haiku-20240307` → `claude-sonnet-4-5-20250929` (Anthropic), `gpt-3.5-turbo` →
|
|
34
|
+
`gpt-5-mini` (OpenAI) — note this changes behavior for requests that omit a model. `estimateCost()`
|
|
35
|
+
on both backends now prices the actual requested model. Refreshed `deepseek-chat` pricing.
|
|
36
|
+
|
|
37
|
+
- b7e2312: Tool-calling helpers (`extractToolCalls`, `createToolResultMessage`, `validateToolArgs`, ...)
|
|
38
|
+
and an agentic loop: `bridge.runTools({ prompt, tools })` executes model-requested tools and
|
|
39
|
+
feeds results back until completion. `bridge.executeIR()` exposes the IR pipeline directly.
|
|
40
|
+
- 58ebc03: Streaming tool-call support end-to-end. OpenAI and Anthropic backends now emit `tool_use` IR chunks
|
|
41
|
+
for streamed tool-call deltas (previously dropped with a console warning) and assemble complete
|
|
42
|
+
`ToolUseContent` blocks on the final `done` chunk. The Anthropic backend reports the real
|
|
43
|
+
provider stop reason (previously fabricated, e.g. `max_tokens` streams reported `stop`) and
|
|
44
|
+
captures usage from every `message_delta`. The OpenAI backend folds the trailing
|
|
45
|
+
`stream_options.include_usage` chunk into the done chunk. Frontend adapters re-emit tool deltas in
|
|
46
|
+
native formats (OpenAI index-based `tool_calls` deltas; Anthropic `content_block_start`/
|
|
47
|
+
`input_json_delta` events — the leading text block is now opened lazily so tool-only streams do not
|
|
48
|
+
fabricate an empty text block). `StreamAccumulator` assembles streamed tool calls.
|
|
49
|
+
|
|
50
|
+
Note: when tools are streamed, the done chunk's `message.content` is now a structured
|
|
51
|
+
`MessageContent[]` (text + tool_use blocks) rather than a plain string, and finish reasons are now
|
|
52
|
+
truthful (`tool_calls`/`length` where `stop` was previously reported).
|
|
53
|
+
|
|
54
|
+
### Patch Changes
|
|
55
|
+
|
|
56
|
+
- Updated dependencies [dae4d01]
|
|
57
|
+
- Updated dependencies [e7df1d0]
|
|
58
|
+
- Updated dependencies [2912b7d]
|
|
59
|
+
- Updated dependencies [78731bb]
|
|
60
|
+
- Updated dependencies [b7e2312]
|
|
61
|
+
- ai.matey.types@0.3.0
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Embedding Utilities
|
|
4
|
+
*
|
|
5
|
+
* Shared helpers for embedding support: batch chunking, dimension
|
|
6
|
+
* normalization, similarity, capability detection, and OpenAI wire-format
|
|
7
|
+
* conversion (used by the HTTP layer's /v1/embeddings route).
|
|
8
|
+
*
|
|
9
|
+
* @module
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.supportsEmbeddings = supportsEmbeddings;
|
|
13
|
+
exports.chunkEmbedInputs = chunkEmbedInputs;
|
|
14
|
+
exports.normalizeDimensions = normalizeDimensions;
|
|
15
|
+
exports.cosineSimilarity = cosineSimilarity;
|
|
16
|
+
exports.openaiEmbedRequestToIR = openaiEmbedRequestToIR;
|
|
17
|
+
exports.irToOpenAIEmbedResponse = irToOpenAIEmbedResponse;
|
|
18
|
+
// ============================================================================
|
|
19
|
+
// Capability Detection
|
|
20
|
+
// ============================================================================
|
|
21
|
+
/**
|
|
22
|
+
* Type guard: does this backend implement embeddings?
|
|
23
|
+
*/
|
|
24
|
+
function supportsEmbeddings(adapter) {
|
|
25
|
+
// An inherited embed() can be explicitly opted out of via the capability
|
|
26
|
+
// flag (e.g. providers subclassing the OpenAI adapter without an
|
|
27
|
+
// embeddings endpoint set `capabilities.embeddings: false`)
|
|
28
|
+
return typeof adapter.embed === 'function' && adapter.metadata.capabilities.embeddings !== false;
|
|
29
|
+
}
|
|
30
|
+
// ============================================================================
|
|
31
|
+
// Batch Chunking
|
|
32
|
+
// ============================================================================
|
|
33
|
+
/**
|
|
34
|
+
* Split embedding inputs into provider-sized batches.
|
|
35
|
+
*
|
|
36
|
+
* @param inputs - Input strings
|
|
37
|
+
* @param options - maxBatchSize: max inputs per request; maxTokensPerBatch:
|
|
38
|
+
* optional token budget per batch using estimateTokens (default ~4 chars
|
|
39
|
+
* per token)
|
|
40
|
+
* @returns Batches in original order
|
|
41
|
+
*/
|
|
42
|
+
function chunkEmbedInputs(inputs, options) {
|
|
43
|
+
const { maxBatchSize, maxTokensPerBatch, estimateTokens } = options;
|
|
44
|
+
const tokensOf = estimateTokens ?? ((text) => Math.ceil(text.length / 4));
|
|
45
|
+
const batches = [];
|
|
46
|
+
let current = [];
|
|
47
|
+
let currentTokens = 0;
|
|
48
|
+
for (const input of inputs) {
|
|
49
|
+
const inputTokens = maxTokensPerBatch ? tokensOf(input) : 0;
|
|
50
|
+
const wouldOverflow = current.length >= maxBatchSize ||
|
|
51
|
+
(maxTokensPerBatch !== undefined &&
|
|
52
|
+
current.length > 0 &&
|
|
53
|
+
currentTokens + inputTokens > maxTokensPerBatch);
|
|
54
|
+
if (wouldOverflow) {
|
|
55
|
+
batches.push(current);
|
|
56
|
+
current = [];
|
|
57
|
+
currentTokens = 0;
|
|
58
|
+
}
|
|
59
|
+
current.push(input);
|
|
60
|
+
currentTokens += inputTokens;
|
|
61
|
+
}
|
|
62
|
+
if (current.length > 0) {
|
|
63
|
+
batches.push(current);
|
|
64
|
+
}
|
|
65
|
+
return batches;
|
|
66
|
+
}
|
|
67
|
+
// ============================================================================
|
|
68
|
+
// Dimension Normalization
|
|
69
|
+
// ============================================================================
|
|
70
|
+
/**
|
|
71
|
+
* Normalize a vector to a target dimensionality.
|
|
72
|
+
*
|
|
73
|
+
* - `truncate` (default): drop trailing components and re-normalize to unit
|
|
74
|
+
* length (valid for Matryoshka-trained models; approximate otherwise)
|
|
75
|
+
* - `pad`: zero-pad to the target length
|
|
76
|
+
*
|
|
77
|
+
* @param vector - Source vector
|
|
78
|
+
* @param dimensions - Target dimensionality
|
|
79
|
+
* @param strategy - 'truncate' | 'pad'
|
|
80
|
+
*/
|
|
81
|
+
function normalizeDimensions(vector, dimensions, strategy = 'truncate') {
|
|
82
|
+
if (vector.length === dimensions) {
|
|
83
|
+
return [...vector];
|
|
84
|
+
}
|
|
85
|
+
if (vector.length > dimensions) {
|
|
86
|
+
const truncated = vector.slice(0, dimensions);
|
|
87
|
+
const norm = Math.sqrt(truncated.reduce((sum, value) => sum + value * value, 0));
|
|
88
|
+
return norm === 0 ? truncated : truncated.map((value) => value / norm);
|
|
89
|
+
}
|
|
90
|
+
if (strategy === 'pad') {
|
|
91
|
+
return [...vector, ...new Array(dimensions - vector.length).fill(0)];
|
|
92
|
+
}
|
|
93
|
+
// Truncate strategy with a shorter source: return as-is (cannot invent data)
|
|
94
|
+
return [...vector];
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Cosine similarity between two vectors (also the seed primitive for
|
|
98
|
+
* semantic caching).
|
|
99
|
+
*/
|
|
100
|
+
function cosineSimilarity(a, b) {
|
|
101
|
+
if (a.length !== b.length) {
|
|
102
|
+
throw new Error(`Vector length mismatch: ${a.length} vs ${b.length}`);
|
|
103
|
+
}
|
|
104
|
+
let dot = 0;
|
|
105
|
+
let normA = 0;
|
|
106
|
+
let normB = 0;
|
|
107
|
+
for (let i = 0; i < a.length; i++) {
|
|
108
|
+
const x = a[i];
|
|
109
|
+
const y = b[i];
|
|
110
|
+
dot += x * y;
|
|
111
|
+
normA += x * x;
|
|
112
|
+
normB += y * y;
|
|
113
|
+
}
|
|
114
|
+
const denominator = Math.sqrt(normA) * Math.sqrt(normB);
|
|
115
|
+
return denominator === 0 ? 0 : dot / denominator;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Convert an OpenAI-format embeddings request body to IR.
|
|
119
|
+
*/
|
|
120
|
+
function openaiEmbedRequestToIR(body) {
|
|
121
|
+
return {
|
|
122
|
+
input: body.input,
|
|
123
|
+
parameters: {
|
|
124
|
+
model: body.model,
|
|
125
|
+
dimensions: body.dimensions,
|
|
126
|
+
user: body.user,
|
|
127
|
+
},
|
|
128
|
+
metadata: {
|
|
129
|
+
requestId: crypto.randomUUID(),
|
|
130
|
+
timestamp: Date.now(),
|
|
131
|
+
provenance: { frontend: 'openai-embed' },
|
|
132
|
+
},
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Convert an IR embedding response to the OpenAI wire format.
|
|
137
|
+
*/
|
|
138
|
+
function irToOpenAIEmbedResponse(response) {
|
|
139
|
+
return {
|
|
140
|
+
object: 'list',
|
|
141
|
+
data: response.embeddings.map((embedding) => ({
|
|
142
|
+
object: 'embedding',
|
|
143
|
+
index: embedding.index,
|
|
144
|
+
embedding: [...embedding.vector],
|
|
145
|
+
})),
|
|
146
|
+
model: response.model,
|
|
147
|
+
usage: {
|
|
148
|
+
prompt_tokens: response.usage?.promptTokens ?? 0,
|
|
149
|
+
total_tokens: response.usage?.totalTokens ?? 0,
|
|
150
|
+
},
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
//# sourceMappingURL=embeddings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embeddings.js","sourceRoot":"","sources":["../../src/embeddings.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;AAWH,gDAOC;AAeD,4CAsCC;AAiBD,kDAqBC;AAMD,4CAmBC;AAqCD,wDAcC;AAKD,0DAcC;AAxMD,+EAA+E;AAC/E,uBAAuB;AACvB,+EAA+E;AAE/E;;GAEG;AACH,SAAgB,kBAAkB,CAChC,OAAuB;IAEvB,yEAAyE;IACzE,iEAAiE;IACjE,4DAA4D;IAC5D,OAAO,OAAO,OAAO,CAAC,KAAK,KAAK,UAAU,IAAI,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,UAAU,KAAK,KAAK,CAAC;AACnG,CAAC;AAED,+EAA+E;AAC/E,iBAAiB;AACjB,+EAA+E;AAE/E;;;;;;;;GAQG;AACH,SAAgB,gBAAgB,CAC9B,MAAyB,EACzB,OAIC;IAED,MAAM,EAAE,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC;IACpE,MAAM,QAAQ,GAAG,cAAc,IAAI,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IAElF,MAAM,OAAO,GAAe,EAAE,CAAC;IAC/B,IAAI,OAAO,GAAa,EAAE,CAAC;IAC3B,IAAI,aAAa,GAAG,CAAC,CAAC;IAEtB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,WAAW,GAAG,iBAAiB,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5D,MAAM,aAAa,GACjB,OAAO,CAAC,MAAM,IAAI,YAAY;YAC9B,CAAC,iBAAiB,KAAK,SAAS;gBAC9B,OAAO,CAAC,MAAM,GAAG,CAAC;gBAClB,aAAa,GAAG,WAAW,GAAG,iBAAiB,CAAC,CAAC;QAErD,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtB,OAAO,GAAG,EAAE,CAAC;YACb,aAAa,GAAG,CAAC,CAAC;QACpB,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpB,aAAa,IAAI,WAAW,CAAC;IAC/B,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,+EAA+E;AAC/E,0BAA0B;AAC1B,+EAA+E;AAE/E;;;;;;;;;;GAUG;AACH,SAAgB,mBAAmB,CACjC,MAAyB,EACzB,UAAkB,EAClB,WAA+B,UAAU;IAEzC,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC;IACrB,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;QACjF,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IACzE,CAAC;IAED,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,MAAM,EAAE,GAAG,IAAI,KAAK,CAAS,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/E,CAAC;IAED,6EAA6E;IAC7E,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC;AACrB,CAAC;AAED;;;GAGG;AACH,SAAgB,gBAAgB,CAAC,CAAoB,EAAE,CAAoB;IACzE,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC,MAAM,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAW,CAAC;QACzB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAW,CAAC;QACzB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QACb,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC;QACf,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC;IACjB,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACxD,OAAO,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,WAAW,CAAC;AACnD,CAAC;AAkCD;;GAEG;AACH,SAAgB,sBAAsB,CAAC,IAA4B;IACjE,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,UAAU,EAAE;YACV,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB;QACD,QAAQ,EAAE;YACR,SAAS,EAAE,MAAM,CAAC,UAAU,EAAE;YAC9B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,UAAU,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE;SAC3B;KAChB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,uBAAuB,CAAC,QAAyB;IAC/D,OAAO;QACL,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YAC5C,MAAM,EAAE,WAAoB;YAC5B,KAAK,EAAE,SAAS,CAAC,KAAK;YACtB,SAAS,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC;SACjC,CAAC,CAAC;QACH,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,KAAK,EAAE;YACL,aAAa,EAAE,QAAQ,CAAC,KAAK,EAAE,YAAY,IAAI,CAAC;YAChD,YAAY,EAAE,QAAQ,CAAC,KAAK,EAAE,WAAW,IAAI,CAAC;SAC/C;KACF,CAAC;AACJ,CAAC"}
|
package/dist/cjs/index.js
CHANGED
|
@@ -21,6 +21,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
21
21
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
22
22
|
};
|
|
23
23
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
+
exports.MODEL_REGISTRY_SEED = void 0;
|
|
24
25
|
// Validation utilities
|
|
25
26
|
__exportStar(require("./validation.js"), exports);
|
|
26
27
|
// System message utilities
|
|
@@ -37,6 +38,14 @@ __exportStar(require("./warnings.js"), exports);
|
|
|
37
38
|
__exportStar(require("./conversation-history.js"), exports);
|
|
38
39
|
// Model cache utilities
|
|
39
40
|
__exportStar(require("./model-cache.js"), exports);
|
|
41
|
+
// Embedding utilities
|
|
42
|
+
__exportStar(require("./embeddings.js"), exports);
|
|
43
|
+
// Tool-calling helpers
|
|
44
|
+
__exportStar(require("./tools.js"), exports);
|
|
45
|
+
// Model registry (pricing, context windows, capabilities)
|
|
46
|
+
__exportStar(require("./model-registry.js"), exports);
|
|
47
|
+
var model_registry_data_js_1 = require("./model-registry-data.js");
|
|
48
|
+
Object.defineProperty(exports, "MODEL_REGISTRY_SEED", { enumerable: true, get: function () { return model_registry_data_js_1.MODEL_REGISTRY_SEED; } });
|
|
40
49
|
// Structured output utilities (Zod integration)
|
|
41
50
|
__exportStar(require("./structured-output.js"), exports);
|
|
42
51
|
//# sourceMappingURL=index.js.map
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;AAEH,uBAAuB;AACvB,kDAAgC;AAEhC,2BAA2B;AAC3B,sDAAoC;AAEpC,oCAAoC;AACpC,4DAA0C;AAE1C,sBAAsB;AACtB,iDAA+B;AAE/B,sCAAsC;AACtC,uDAAqC;AAErC,oBAAoB;AACpB,gDAA8B;AAE9B,iCAAiC;AACjC,4DAA0C;AAE1C,wBAAwB;AACxB,mDAAiC;AAEjC,sBAAsB;AACtB,kDAAgC;AAEhC,uBAAuB;AACvB,6CAA2B;AAE3B,0DAA0D;AAC1D,sDAAoC;AACpC,mEAA+D;AAAtD,6HAAA,mBAAmB,OAAA;AAE5B,gDAAgD;AAChD,yDAAuC"}
|
package/dist/cjs/model-cache.js
CHANGED
|
@@ -54,11 +54,8 @@ class ModelCache {
|
|
|
54
54
|
this.cache.delete(backendName);
|
|
55
55
|
return null;
|
|
56
56
|
}
|
|
57
|
-
// Return cached result
|
|
58
|
-
return
|
|
59
|
-
...entry.result,
|
|
60
|
-
source: 'cache',
|
|
61
|
-
};
|
|
57
|
+
// Return cached result (preserve original source)
|
|
58
|
+
return entry.result;
|
|
62
59
|
}
|
|
63
60
|
/**
|
|
64
61
|
* Cache a model list result.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-cache.js","sourceRoot":"","sources":["../../src/model-cache.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;
|
|
1
|
+
{"version":3,"file":"model-cache.js","sourceRoot":"","sources":["../../src/model-cache.ts"],"names":[],"mappings":"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"}
|