agentfootprint 9.30.0 → 9.31.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/CLAUDE.md +2 -1
- package/dist/adapters/llm/BrowserOpenAIProvider.js +5 -3
- package/dist/adapters/llm/BrowserOpenAIProvider.js.map +1 -1
- package/dist/adapters/llm/OpenAIProvider.js +74 -2
- package/dist/adapters/llm/OpenAIProvider.js.map +1 -1
- package/dist/adapters/llm/azureUrl.js +48 -0
- package/dist/adapters/llm/azureUrl.js.map +1 -0
- package/dist/adapters/llm/createProvider.js +25 -6
- package/dist/adapters/llm/createProvider.js.map +1 -1
- package/dist/esm/adapters/llm/BrowserOpenAIProvider.js +5 -3
- package/dist/esm/adapters/llm/BrowserOpenAIProvider.js.map +1 -1
- package/dist/esm/adapters/llm/OpenAIProvider.d.ts +15 -2
- package/dist/esm/adapters/llm/OpenAIProvider.js +74 -2
- package/dist/esm/adapters/llm/OpenAIProvider.js.map +1 -1
- package/dist/esm/adapters/llm/azureUrl.d.ts +36 -0
- package/dist/esm/adapters/llm/azureUrl.js +43 -0
- package/dist/esm/adapters/llm/azureUrl.js.map +1 -0
- package/dist/esm/adapters/llm/createProvider.d.ts +5 -1
- package/dist/esm/adapters/llm/createProvider.js +25 -6
- package/dist/esm/adapters/llm/createProvider.js.map +1 -1
- package/dist/esm/lib/injection-engine/skillExamples.d.ts +168 -0
- package/dist/esm/lib/injection-engine/skillExamples.js +435 -0
- package/dist/esm/lib/injection-engine/skillExamples.js.map +1 -0
- package/dist/esm/lib/injection-engine/skillGraph.d.ts +63 -0
- package/dist/esm/lib/injection-engine/skillGraph.js +40 -2
- package/dist/esm/lib/injection-engine/skillGraph.js.map +1 -1
- package/dist/esm/lib/injection-engine/skillGraphCheckup.d.ts +25 -2
- package/dist/esm/lib/injection-engine/skillGraphCheckup.js +11 -2
- package/dist/esm/lib/injection-engine/skillGraphCheckup.js.map +1 -1
- package/dist/esm/lib/injection-engine/skillMatch.d.ts +7 -0
- package/dist/esm/lib/injection-engine/skillMatch.js +9 -4
- package/dist/esm/lib/injection-engine/skillMatch.js.map +1 -1
- package/dist/lib/injection-engine/skillExamples.js +440 -0
- package/dist/lib/injection-engine/skillExamples.js.map +1 -0
- package/dist/lib/injection-engine/skillGraph.js +40 -2
- package/dist/lib/injection-engine/skillGraph.js.map +1 -1
- package/dist/lib/injection-engine/skillGraphCheckup.js +11 -2
- package/dist/lib/injection-engine/skillGraphCheckup.js.map +1 -1
- package/dist/lib/injection-engine/skillMatch.js +11 -5
- package/dist/lib/injection-engine/skillMatch.js.map +1 -1
- package/dist/types/adapters/llm/BrowserOpenAIProvider.d.ts.map +1 -1
- package/dist/types/adapters/llm/OpenAIProvider.d.ts +15 -2
- package/dist/types/adapters/llm/OpenAIProvider.d.ts.map +1 -1
- package/dist/types/adapters/llm/azureUrl.d.ts +37 -0
- package/dist/types/adapters/llm/azureUrl.d.ts.map +1 -0
- package/dist/types/adapters/llm/createProvider.d.ts +5 -1
- package/dist/types/adapters/llm/createProvider.d.ts.map +1 -1
- package/dist/types/lib/injection-engine/skillExamples.d.ts +169 -0
- package/dist/types/lib/injection-engine/skillExamples.d.ts.map +1 -0
- package/dist/types/lib/injection-engine/skillGraph.d.ts +63 -0
- package/dist/types/lib/injection-engine/skillGraph.d.ts.map +1 -1
- package/dist/types/lib/injection-engine/skillGraphCheckup.d.ts +25 -2
- package/dist/types/lib/injection-engine/skillGraphCheckup.d.ts.map +1 -1
- package/dist/types/lib/injection-engine/skillMatch.d.ts +7 -0
- package/dist/types/lib/injection-engine/skillMatch.d.ts.map +1 -1
- package/package.json +2 -1
|
@@ -20,6 +20,7 @@
|
|
|
20
20
|
*/
|
|
21
21
|
import { lazyRequire } from '../../lib/lazyRequire.js';
|
|
22
22
|
import { asContextWindowExceeded } from './contextWindow.js';
|
|
23
|
+
import { azureBaseUrl } from './azureUrl.js';
|
|
23
24
|
/**
|
|
24
25
|
* Which roles this wire carries inside `messages`.
|
|
25
26
|
*
|
|
@@ -82,7 +83,15 @@ export function openai(options = {}) {
|
|
|
82
83
|
const client = await connect();
|
|
83
84
|
let stream;
|
|
84
85
|
try {
|
|
85
|
-
|
|
86
|
+
// AWAIT, then check. The SDK's `create()` returns an `APIPromise` — a
|
|
87
|
+
// Promise subclass that RESOLVES to the async-iterable stream. Iterating
|
|
88
|
+
// it unawaited died as `stream is not async iterable`, a TypeError that
|
|
89
|
+
// named a local variable and no cause; the first real streamed turn
|
|
90
|
+
// through this adapter is where one production consumer met it. Test
|
|
91
|
+
// doubles hid it for a year by returning an async generator directly
|
|
92
|
+
// from `create()`, which is why the guard accepts BOTH shapes: `await`
|
|
93
|
+
// on a non-thenable is the identity.
|
|
94
|
+
stream = await asChunkStream(client.chat.completions.create(params));
|
|
86
95
|
}
|
|
87
96
|
catch (err) {
|
|
88
97
|
throw wrapError(err);
|
|
@@ -198,6 +207,13 @@ const AZURE_MODEL_SHORTHANDS = new Set(['azure', 'azure-openai', 'openai']);
|
|
|
198
207
|
* to target it; the shorthands `'azure'` / `'azure-openai'` resolve to the
|
|
199
208
|
* configured default `deployment`.
|
|
200
209
|
*
|
|
210
|
+
* `endpoint` is the resource ROOT (`https://my-co.openai.azure.com`), and
|
|
211
|
+
* `AZURE_OPENAI_ENDPOINT` and `OPENAI_BASE_URL` are two names for it that
|
|
212
|
+
* resolve to the identical final URL. Setting `OPENAI_BASE_URL` no longer
|
|
213
|
+
* collides with the SDK's own reading of that variable — this factory hands the
|
|
214
|
+
* SDK a `baseURL` it computed rather than an `endpoint` the SDK would have to
|
|
215
|
+
* reconcile with the environment.
|
|
216
|
+
*
|
|
201
217
|
* @example
|
|
202
218
|
* import { azureOpenai } from 'agentfootprint/providers';
|
|
203
219
|
*
|
|
@@ -244,6 +260,24 @@ export function azureOpenai(options = {}) {
|
|
|
244
260
|
}),
|
|
245
261
|
};
|
|
246
262
|
}
|
|
263
|
+
/**
|
|
264
|
+
* Build the SDK's `AzureOpenAI` client — always via `baseURL`, never `endpoint`.
|
|
265
|
+
*
|
|
266
|
+
* The SDK's constructor defaults `baseURL` to `process.env.OPENAI_BASE_URL`
|
|
267
|
+
* and then refuses a `baseURL` and an `endpoint` together
|
|
268
|
+
* ("baseURL and endpoint are mutually exclusive"). We document
|
|
269
|
+
* `OPENAI_BASE_URL` as an alias for the Azure endpoint, so the path our own
|
|
270
|
+
* docs advertise handed the SDK the value twice — once explicitly as
|
|
271
|
+
* `endpoint`, once invisibly out of the environment — and could not boot.
|
|
272
|
+
* One production consumer met that on their first server-side Azure run with
|
|
273
|
+
* the same gateway and key their browser app had used for months.
|
|
274
|
+
*
|
|
275
|
+
* Passing `baseURL` ourselves settles it for good: the ambient read is
|
|
276
|
+
* overridden rather than fought with, `endpoint` is never passed so the
|
|
277
|
+
* collision cannot occur, and both spellings survive. The `/openai` suffix the
|
|
278
|
+
* SDK would have appended is appended by `azureBaseUrl`, so the final URL is
|
|
279
|
+
* byte-identical either way — pinned by test/adapters/integration/azure-openai-wire.test.ts.
|
|
280
|
+
*/
|
|
247
281
|
function resolveAzureClient(options) {
|
|
248
282
|
if (options._client)
|
|
249
283
|
return options._client;
|
|
@@ -272,7 +306,10 @@ function resolveAzureClient(options) {
|
|
|
272
306
|
throw new Error('azureOpenai: `apiVersion` is required (or set AZURE_OPENAI_API_VERSION), e.g. 2024-12-01-preview.');
|
|
273
307
|
}
|
|
274
308
|
return new AzureOpenAI({
|
|
275
|
-
endpoint
|
|
309
|
+
// NOT `endpoint` — see the note on this function. `baseURL` is passed
|
|
310
|
+
// explicitly so the SDK's own `OPENAI_BASE_URL` default is overridden
|
|
311
|
+
// instead of colliding with an `endpoint` we also passed.
|
|
312
|
+
baseURL: azureBaseUrl(endpoint),
|
|
276
313
|
...(apiKey && { apiKey }),
|
|
277
314
|
apiVersion,
|
|
278
315
|
...(deployment && { deployment }),
|
|
@@ -366,6 +403,41 @@ function resolveClient(options) {
|
|
|
366
403
|
const apiKey = (typeof options.apiKey === 'string' ? options.apiKey : undefined) ?? process.env.OPENAI_API_KEY;
|
|
367
404
|
return new OpenAI({ apiKey, ...(options.baseURL && { baseURL: options.baseURL }) });
|
|
368
405
|
}
|
|
406
|
+
/**
|
|
407
|
+
* Whatever `create({ stream: true })` handed back → the token stream.
|
|
408
|
+
*
|
|
409
|
+
* Two shapes reach here and both are legitimate:
|
|
410
|
+
* • the real SDK returns an `APIPromise<Stream<…>>` — a Promise that RESOLVES
|
|
411
|
+
* to the async iterable, so it has to be awaited before it can be iterated;
|
|
412
|
+
* • an injected `_client` double (and some OpenAI-compatible wrappers) return
|
|
413
|
+
* the async iterable directly. `await` on a non-thenable is the identity,
|
|
414
|
+
* so one line covers both.
|
|
415
|
+
*
|
|
416
|
+
* Anything else is refused HERE, by name. The raw failure was
|
|
417
|
+
* `TypeError: stream is not async iterable` — a message that quotes a local
|
|
418
|
+
* variable, names no endpoint and suggests no fix.
|
|
419
|
+
*/
|
|
420
|
+
async function asChunkStream(created) {
|
|
421
|
+
const resolved = await created;
|
|
422
|
+
if (typeof resolved === 'object' && resolved !== null && Symbol.asyncIterator in resolved) {
|
|
423
|
+
return resolved;
|
|
424
|
+
}
|
|
425
|
+
// A completed chat completion means the endpoint ignored `stream: true` —
|
|
426
|
+
// the commonest way an OpenAI-COMPATIBLE server differs from OpenAI. Said
|
|
427
|
+
// plainly, because the fix is different from "the SDK is old".
|
|
428
|
+
const looksComplete = typeof resolved === 'object' && resolved !== null && 'choices' in resolved;
|
|
429
|
+
throw new Error('a streaming request came back as ' +
|
|
430
|
+
(looksComplete
|
|
431
|
+
? 'a finished chat completion, so the endpoint ignored `stream: true`'
|
|
432
|
+
: `a ${resolved === null ? 'null' : typeof resolved}, which is not a token stream`) +
|
|
433
|
+
'.\n' +
|
|
434
|
+
(looksComplete
|
|
435
|
+
? ' Fix: point this provider at an endpoint that streams, or drop stream() from it ' +
|
|
436
|
+
'(an Agent falls back to complete() when a provider has no stream()).'
|
|
437
|
+
: ' Fix: `chat.completions.create({ stream: true })` must resolve to an async iterable. ' +
|
|
438
|
+
'A custom `_client` double has to return one (or a promise of one); the real `openai` ' +
|
|
439
|
+
'package has since 4.x.'));
|
|
440
|
+
}
|
|
369
441
|
/** o-series reasoning ids (o1, o1-mini, o3, o3-mini, o4-mini, o5, …). `gpt-4o`
|
|
370
442
|
* starts with `g`, so it is correctly NOT matched. */
|
|
371
443
|
function isReasoningModel(model) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenAIProvider.js","sourceRoot":"","sources":["../../../../src/adapters/llm/OpenAIProvider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"OpenAIProvider.js","sourceRoot":"","sources":["../../../../src/adapters/llm/OpenAIProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* azureUrl — the one place that turns an Azure resource endpoint into a URL.
|
|
3
|
+
*
|
|
4
|
+
* Pattern: shared pure helper. No SDK, no fetch, no environment.
|
|
5
|
+
* Role: Outer ring, leaf. Imported by BOTH Azure doors — the Node
|
|
6
|
+
* `azureOpenai()` (which hands the result to the `openai` SDK as its
|
|
7
|
+
* `baseURL`) and the SDK-free `browserAzureOpenai()` (which builds the
|
|
8
|
+
* whole URL itself). It lives alone in this file so the browser door
|
|
9
|
+
* never has to import the SDK-loading one to get it.
|
|
10
|
+
* Emits: N/A.
|
|
11
|
+
*
|
|
12
|
+
* Why it exists at all: `AZURE_OPENAI_ENDPOINT` and `OPENAI_BASE_URL` are two
|
|
13
|
+
* spellings of the same thing in this library's docs, and people write the
|
|
14
|
+
* value in more than one shape — with a trailing slash, and occasionally with
|
|
15
|
+
* the `/openai` segment already on it (which is what the `openai` SDK calls a
|
|
16
|
+
* `baseURL`). All of those must reach the same URL. Appending a second
|
|
17
|
+
* `/openai` would 404 every call: accepted, and silently wrong.
|
|
18
|
+
*/
|
|
19
|
+
/**
|
|
20
|
+
* Resource root → the base every Azure OpenAI path hangs off.
|
|
21
|
+
*
|
|
22
|
+
* `https://my-co.openai.azure.com` → `https://my-co.openai.azure.com/openai`
|
|
23
|
+
* `https://my-co.openai.azure.com/` → the same
|
|
24
|
+
* `https://my-co.openai.azure.com/openai` → the same (idempotent)
|
|
25
|
+
*
|
|
26
|
+
* This is the rule the `openai` SDK applies to its own `endpoint` option, plus
|
|
27
|
+
* that idempotence.
|
|
28
|
+
*/
|
|
29
|
+
export declare function azureBaseUrl(endpoint: string): string;
|
|
30
|
+
/**
|
|
31
|
+
* Resource root + deployment → the full chat-completions URL Azure serves.
|
|
32
|
+
*
|
|
33
|
+
* The deployment-scoped path is Azure's routing model: the deployment is in the
|
|
34
|
+
* URL, not only in the body.
|
|
35
|
+
*/
|
|
36
|
+
export declare function azureChatCompletionsUrl(endpoint: string, deployment: string, apiVersion: string): string;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* azureUrl — the one place that turns an Azure resource endpoint into a URL.
|
|
3
|
+
*
|
|
4
|
+
* Pattern: shared pure helper. No SDK, no fetch, no environment.
|
|
5
|
+
* Role: Outer ring, leaf. Imported by BOTH Azure doors — the Node
|
|
6
|
+
* `azureOpenai()` (which hands the result to the `openai` SDK as its
|
|
7
|
+
* `baseURL`) and the SDK-free `browserAzureOpenai()` (which builds the
|
|
8
|
+
* whole URL itself). It lives alone in this file so the browser door
|
|
9
|
+
* never has to import the SDK-loading one to get it.
|
|
10
|
+
* Emits: N/A.
|
|
11
|
+
*
|
|
12
|
+
* Why it exists at all: `AZURE_OPENAI_ENDPOINT` and `OPENAI_BASE_URL` are two
|
|
13
|
+
* spellings of the same thing in this library's docs, and people write the
|
|
14
|
+
* value in more than one shape — with a trailing slash, and occasionally with
|
|
15
|
+
* the `/openai` segment already on it (which is what the `openai` SDK calls a
|
|
16
|
+
* `baseURL`). All of those must reach the same URL. Appending a second
|
|
17
|
+
* `/openai` would 404 every call: accepted, and silently wrong.
|
|
18
|
+
*/
|
|
19
|
+
/**
|
|
20
|
+
* Resource root → the base every Azure OpenAI path hangs off.
|
|
21
|
+
*
|
|
22
|
+
* `https://my-co.openai.azure.com` → `https://my-co.openai.azure.com/openai`
|
|
23
|
+
* `https://my-co.openai.azure.com/` → the same
|
|
24
|
+
* `https://my-co.openai.azure.com/openai` → the same (idempotent)
|
|
25
|
+
*
|
|
26
|
+
* This is the rule the `openai` SDK applies to its own `endpoint` option, plus
|
|
27
|
+
* that idempotence.
|
|
28
|
+
*/
|
|
29
|
+
export function azureBaseUrl(endpoint) {
|
|
30
|
+
const trimmed = endpoint.replace(/\/+$/, '');
|
|
31
|
+
return trimmed.endsWith('/openai') ? trimmed : `${trimmed}/openai`;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Resource root + deployment → the full chat-completions URL Azure serves.
|
|
35
|
+
*
|
|
36
|
+
* The deployment-scoped path is Azure's routing model: the deployment is in the
|
|
37
|
+
* URL, not only in the body.
|
|
38
|
+
*/
|
|
39
|
+
export function azureChatCompletionsUrl(endpoint, deployment, apiVersion) {
|
|
40
|
+
return (`${azureBaseUrl(endpoint)}/deployments/${encodeURIComponent(deployment)}` +
|
|
41
|
+
`/chat/completions?api-version=${encodeURIComponent(apiVersion)}`);
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=azureUrl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"azureUrl.js","sourceRoot":"","sources":["../../../../src/adapters/llm/azureUrl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH;;;;;;;;;GASG;AACH,MAAM,UAAU,YAAY,CAAC,QAAgB;IAC3C,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC7C,OAAO,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,SAAS,CAAC;AACrE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CACrC,QAAgB,EAChB,UAAkB,EAClB,UAAkB;IAElB,OAAO,CACL,GAAG,YAAY,CAAC,QAAQ,CAAC,gBAAgB,kBAAkB,CAAC,UAAU,CAAC,EAAE;QACzE,iCAAiC,kBAAkB,CAAC,UAAU,CAAC,EAAE,CAClE,CAAC;AACJ,CAAC"}
|
|
@@ -74,7 +74,11 @@ export interface ProviderFromEnv {
|
|
|
74
74
|
* 1. **Ollama (local)** — `OLLAMA_MODEL` names a model, e.g. `qwen3`
|
|
75
75
|
* [+ `OLLAMA_HOST` for a runtime that isn't on localhost]
|
|
76
76
|
* 2. **Azure OpenAI** — `AZURE_OPENAI_API_KEY` + (`AZURE_OPENAI_ENDPOINT` |
|
|
77
|
-
* `OPENAI_BASE_URL`)
|
|
77
|
+
* `OPENAI_BASE_URL`) + `AZURE_OPENAI_API_VERSION`
|
|
78
|
+
* + (`AZURE_OPENAI_DEPLOYMENT` | `MODEL_NAME`).
|
|
79
|
+
* `AZURE_OPENAI_ENDPOINT` and `OPENAI_BASE_URL` are two spellings of the
|
|
80
|
+
* same resource root and reach the identical URL; the returned `model` is
|
|
81
|
+
* the deployment you named.
|
|
78
82
|
* 3. **Anthropic** — `ANTHROPIC_API_KEY`
|
|
79
83
|
* 4. **OpenAI** — `OPENAI_API_KEY`
|
|
80
84
|
* Otherwise throws (or returns the mock when `{ fallbackToMock: true }`).
|
|
@@ -65,7 +65,11 @@ export function createProvider(options) {
|
|
|
65
65
|
* 1. **Ollama (local)** — `OLLAMA_MODEL` names a model, e.g. `qwen3`
|
|
66
66
|
* [+ `OLLAMA_HOST` for a runtime that isn't on localhost]
|
|
67
67
|
* 2. **Azure OpenAI** — `AZURE_OPENAI_API_KEY` + (`AZURE_OPENAI_ENDPOINT` |
|
|
68
|
-
* `OPENAI_BASE_URL`)
|
|
68
|
+
* `OPENAI_BASE_URL`) + `AZURE_OPENAI_API_VERSION`
|
|
69
|
+
* + (`AZURE_OPENAI_DEPLOYMENT` | `MODEL_NAME`).
|
|
70
|
+
* `AZURE_OPENAI_ENDPOINT` and `OPENAI_BASE_URL` are two spellings of the
|
|
71
|
+
* same resource root and reach the identical URL; the returned `model` is
|
|
72
|
+
* the deployment you named.
|
|
69
73
|
* 3. **Anthropic** — `ANTHROPIC_API_KEY`
|
|
70
74
|
* 4. **OpenAI** — `OPENAI_API_KEY`
|
|
71
75
|
* Otherwise throws (or returns the mock when `{ fallbackToMock: true }`).
|
|
@@ -104,16 +108,30 @@ export function providerFromEnv(opts = {}) {
|
|
|
104
108
|
}
|
|
105
109
|
const azureEndpoint = env.AZURE_OPENAI_ENDPOINT ?? env.OPENAI_BASE_URL;
|
|
106
110
|
if (env.AZURE_OPENAI_API_KEY && azureEndpoint) {
|
|
111
|
+
const azureDeployment = env.AZURE_OPENAI_DEPLOYMENT ?? env.MODEL_NAME;
|
|
112
|
+
if (!azureDeployment) {
|
|
113
|
+
// The credentials say Azure; nothing says WHICH deployment. Azure routes
|
|
114
|
+
// by deployment, so there is no default to fall back to — refuse here,
|
|
115
|
+
// naming the variable to set, rather than guess or send a kind label.
|
|
116
|
+
throw new Error('providerFromEnv: Azure credentials are set, but no deployment is named.\n' +
|
|
117
|
+
' Azure routes by DEPLOYMENT (its name for the model), and there is no default.\n' +
|
|
118
|
+
' Fix: set AZURE_OPENAI_DEPLOYMENT (or MODEL_NAME) to your deployment id, e.g. gpt-4o-128k.');
|
|
119
|
+
}
|
|
107
120
|
return {
|
|
108
121
|
provider: azureOpenai({
|
|
109
122
|
endpoint: azureEndpoint,
|
|
110
123
|
apiKey: env.AZURE_OPENAI_API_KEY,
|
|
111
124
|
...(env.AZURE_OPENAI_API_VERSION && { apiVersion: env.AZURE_OPENAI_API_VERSION }),
|
|
112
|
-
|
|
113
|
-
deployment: env.AZURE_OPENAI_DEPLOYMENT ?? env.MODEL_NAME,
|
|
114
|
-
}),
|
|
125
|
+
deployment: azureDeployment,
|
|
115
126
|
}),
|
|
116
|
-
|
|
127
|
+
// The DEPLOYMENT, not the kind label `'azure'`. This value is handed to
|
|
128
|
+
// `Agent.create({ provider, model })` and from there into traces, budgets
|
|
129
|
+
// and logs, where a kind label reads like a model id and names nothing a
|
|
130
|
+
// reader could look up. (The other arms return `LLM_MODEL` when it is set
|
|
131
|
+
// and otherwise a shorthand the adapter itself resolves to its declared
|
|
132
|
+
// default model — there is no user-named model to prefer. Azure has one,
|
|
133
|
+
// sitting right there in AZURE_OPENAI_DEPLOYMENT / MODEL_NAME.)
|
|
134
|
+
model: azureDeployment,
|
|
117
135
|
kind: 'azure-openai',
|
|
118
136
|
};
|
|
119
137
|
}
|
|
@@ -140,7 +158,8 @@ export function providerFromEnv(opts = {}) {
|
|
|
140
158
|
}
|
|
141
159
|
throw new Error('providerFromEnv: no provider declared in the environment. Set one of:\n' +
|
|
142
160
|
' • Ollama: OLLAMA_MODEL (a local model, e.g. qwen3 — free, no API key)\n' +
|
|
143
|
-
' • Azure: AZURE_OPENAI_API_KEY + (AZURE_OPENAI_ENDPOINT | OPENAI_BASE_URL
|
|
161
|
+
' • Azure: AZURE_OPENAI_API_KEY + (AZURE_OPENAI_ENDPOINT | OPENAI_BASE_URL —\n' +
|
|
162
|
+
' either spelling of the resource root, e.g. https://my-co.openai.azure.com)\n' +
|
|
144
163
|
' + AZURE_OPENAI_API_VERSION + (AZURE_OPENAI_DEPLOYMENT | MODEL_NAME)\n' +
|
|
145
164
|
' • Anthropic: ANTHROPIC_API_KEY\n' +
|
|
146
165
|
' • OpenAI: OPENAI_API_KEY\n' +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createProvider.js","sourceRoot":"","sources":["../../../../src/adapters/llm/createProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,EAAE,IAAI,EAA4B,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,SAAS,EAAiC,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAE,MAAM,EAAE,WAAW,EAA8B,MAAM,qBAAqB,CAAC;AACtF,OAAO,EAAE,MAAM,EAA8B,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,OAAO,EAA+B,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAE,MAAM,EAA8B,MAAM,qBAAqB,CAAC;AACzE,OAAO,EACL,gBAAgB,GAEjB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,aAAa,EAAqC,MAAM,4BAA4B,CAAC;AA6B9F;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,OAA8B;IAC3D,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,MAAM;YACT,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,KAAK,WAAW;YACd,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC;QAC5B,KAAK,QAAQ;YACX,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC;QACzB,KAAK,QAAQ;YACX,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC;QACzB,KAAK,SAAS;YACZ,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC;QAC1B,KAAK,QAAQ;YACX,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC;QACzB,KAAK,mBAAmB;YACtB,OAAO,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACnC,KAAK,gBAAgB;YACnB,OAAO,aAAa,CAAC,OAAO,CAAC,CAAC;QAChC,OAAO,CAAC,CAAC,CAAC;YACR,sEAAsE;YACtE,MAAM,WAAW,GAAU,OAAO,CAAC;YACnC,MAAM,IAAI,KAAK,CACb,gCAAgC,IAAI,CAAC,SAAS,CAAE,WAAgC,CAAC,IAAI,CAAC,EAAE,CACzF,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAUD
|
|
1
|
+
{"version":3,"file":"createProvider.js","sourceRoot":"","sources":["../../../../src/adapters/llm/createProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* skillExamples — the EXAMPLES side of a start rule: the phrasings a rule says
|
|
3
|
+
* it claims, and the three things a build-time check-up can then PROVE about
|
|
4
|
+
* them by RUNNING the compiled matchers instead of comparing them.
|
|
5
|
+
*
|
|
6
|
+
* ## Why this exists (two field failures, one evening)
|
|
7
|
+
*
|
|
8
|
+
* `compareMatchers` (skillMatch.ts) answers only what matcher-vs-matcher
|
|
9
|
+
* analysis can prove, and says so out loud: two DIFFERENT regex sources return
|
|
10
|
+
* `undefined` ("regex intersection is not decided here — only identity is
|
|
11
|
+
* provable"). That honesty left two real production failures unreportable:
|
|
12
|
+
*
|
|
13
|
+
* A. SHADOWING BY DIFFERENT REGEXES — an earlier rule matching one product
|
|
14
|
+
* name sat above an inventory rule whose matcher is a longer alternation.
|
|
15
|
+
* A real phrase ("what's running on <host-looking-name>") was claimed by
|
|
16
|
+
* the earlier rule, so the later rule could never win on its own
|
|
17
|
+
* phrasings. Two different regexes: the check-up was correctly silent.
|
|
18
|
+
* B. ABSENCE — a second phrase matched NO rule at all, fell through to the
|
|
19
|
+
* model tier, and the model picked the wrong skill because an array name
|
|
20
|
+
* looked like a hostname. Not shadowing: absence. No amount of
|
|
21
|
+
* matcher-vs-matcher analysis can ever catch it.
|
|
22
|
+
*
|
|
23
|
+
* A declared example turns both into arithmetic. Run the compiled predicates
|
|
24
|
+
* over one concrete phrase, in declaration order, exactly as the cold start
|
|
25
|
+
* does — and the answer is a WITNESS, not a theory: this phrase, this rule,
|
|
26
|
+
* this winner. No regex intersection is decided anywhere in this file.
|
|
27
|
+
*
|
|
28
|
+
* ## The tier difference (read this before writing `examples` anywhere)
|
|
29
|
+
*
|
|
30
|
+
* Two different lists spell the same author-facing sentence — "the phrasings
|
|
31
|
+
* this rule claims" — and they have DIFFERENT RUNTIME ROLES:
|
|
32
|
+
*
|
|
33
|
+
* • TIER 2, `match: { intent, examples }` — SCORING material. The classifier
|
|
34
|
+
* reads those examples AT RUN TIME to judge every new message
|
|
35
|
+
* (`skillIntent.ts`); they are part of how the graph routes.
|
|
36
|
+
* • TIER 1, a rule-level `examples: [...]` (this file) — TEST material. Read
|
|
37
|
+
* at BUILD time by the check-up and fed to nothing, ever. They do not
|
|
38
|
+
* widen, soften or otherwise touch matching: a rule with examples routes
|
|
39
|
+
* byte-identically to the same rule without them.
|
|
40
|
+
*
|
|
41
|
+
* One rule may not carry both lists (a teaching refusal names the difference):
|
|
42
|
+
* two example lists with two different jobs under one rule is exactly the
|
|
43
|
+
* confusion this note exists to prevent.
|
|
44
|
+
*
|
|
45
|
+
* ## The two start laws, and why one of them is only a WARNING
|
|
46
|
+
*
|
|
47
|
+
* Which rule claims a phrase is decided by one of TWO laws, and the graph does
|
|
48
|
+
* not know which one it will be mounted under:
|
|
49
|
+
*
|
|
50
|
+
* • the declaration-order COLD WALK (`makeResolveCursor`, the default mount)
|
|
51
|
+
* returns at the first entry with no condition or the first whose condition
|
|
52
|
+
* passes — so an UNCONDITIONAL entry claims every message from its position
|
|
53
|
+
* onward;
|
|
54
|
+
* • the turn-start CASCADE's tier 1 (`firstRuleMatch`, skillIntent.ts) reads
|
|
55
|
+
* the CONDITIONAL non-intent entries only — an unconditional entry is a
|
|
56
|
+
* default, not a rule, and never wins the turn there. That cascade is
|
|
57
|
+
* mounted by `.classify()` AND by `.skillGraph(g, { continuity:
|
|
58
|
+
* 'conversation' })`, and continuity is an AGENT-MOUNT option that does not
|
|
59
|
+
* exist yet when this check runs.
|
|
60
|
+
*
|
|
61
|
+
* The two laws differ in exactly one place: whether an unconditional entry
|
|
62
|
+
* claims. So when the earlier claimant is unconditional, the check-up cannot
|
|
63
|
+
* say which law will apply — it reports BOTH readings as a WARNING
|
|
64
|
+
* (`example-shadowed-by-default`) instead of asserting one as an ERROR. A
|
|
65
|
+
* check-up that disagrees with the router is worse than no check-up: the router
|
|
66
|
+
* really does start that turn on the later rule under a `continuity:
|
|
67
|
+
* 'conversation'` mount. The ERROR (`example-shadowed-by-earlier`) is kept for
|
|
68
|
+
* what both laws agree on.
|
|
69
|
+
*
|
|
70
|
+
* ## The context a rule is judged in, and what that makes provable
|
|
71
|
+
*
|
|
72
|
+
* Every predicate here runs on ONE context: {@link coldContext} — iteration 1,
|
|
73
|
+
* the phrase as `userMessage`, empty `history`, no cursor. That is a real
|
|
74
|
+
* context (the first iteration of a turn), but it is not the only one a start
|
|
75
|
+
* rule ever sees: turn 2 of a conversation also starts cold in cursor terms
|
|
76
|
+
* while carrying HISTORY. So:
|
|
77
|
+
*
|
|
78
|
+
* • a DATA matcher (`match:`) reads `userMessage` and nothing else, so a
|
|
79
|
+
* no-match here is a no-match under every context — ERROR;
|
|
80
|
+
* • an opaque `when` may legitimately be gated on conversation state
|
|
81
|
+
* (`ctx.history.length > 0`) and claim the phrase on a later turn — the
|
|
82
|
+
* check cannot run that turn, so a no-match is a WARNING, and the message
|
|
83
|
+
* names the context it judged under rather than leaving the author to guess.
|
|
84
|
+
*
|
|
85
|
+
* A THROW stays an ERROR either way: a predicate must be pure and total, and
|
|
86
|
+
* the context it threw on is one every turn 1 really hands it.
|
|
87
|
+
*
|
|
88
|
+
* ## The boundary, and why it is on the report itself
|
|
89
|
+
*
|
|
90
|
+
* These checks prove things about the phrases the author DECLARED and nothing
|
|
91
|
+
* about phrases nobody wrote. No warning is NOT proof of coverage. That
|
|
92
|
+
* sentence ships as {@link EXAMPLES_BOUNDARY} on `GraphCheckup.notes` —
|
|
93
|
+
* visible wherever the graph reports its problems — because a reader who meets
|
|
94
|
+
* it only in prose docs will meet a clean report first.
|
|
95
|
+
*
|
|
96
|
+
* Composed into `graph.checkup()` by `skillGraph.ts`, exactly like
|
|
97
|
+
* `skillContract`/`skillIntent`/`skillVocabulary`: this module owns the rule
|
|
98
|
+
* AND its boundaries, and reports in the shared `GraphProblem` voice.
|
|
99
|
+
*/
|
|
100
|
+
import type { InjectionContext } from './types.js';
|
|
101
|
+
import { type SkillMatchData } from './skillMatch.js';
|
|
102
|
+
import type { GraphProblem } from './skillGraphCheckup.js';
|
|
103
|
+
/**
|
|
104
|
+
* The statement the check-up makes about its own reach, carried on
|
|
105
|
+
* `GraphCheckup.notes` whenever any rule declared examples. Same voice as the
|
|
106
|
+
* ingress ticket's "absence of a refusal is not consent": a clean report is
|
|
107
|
+
* evidence about the phrases you wrote, and about nothing else.
|
|
108
|
+
*/
|
|
109
|
+
export declare const EXAMPLES_BOUNDARY: string;
|
|
110
|
+
/** The note added when declaration order does not decide the turn start, so
|
|
111
|
+
* only the order-independent check (self-match) could run. */
|
|
112
|
+
export declare const EXAMPLES_ORDER_NOT_CHECKED: string;
|
|
113
|
+
/**
|
|
114
|
+
* The slice of an entry declaration this module reads — structural, so
|
|
115
|
+
* `skillGraph.ts`'s module-private `EntryDecl` satisfies it unchanged (the
|
|
116
|
+
* same trick `skillIntent.ts` uses).
|
|
117
|
+
*/
|
|
118
|
+
export interface ExampleRuleDecl {
|
|
119
|
+
readonly id: string;
|
|
120
|
+
/** The compiled condition (from `match:`) or the author's `when`. Absent on
|
|
121
|
+
* an unconditional entry and on an intent rule (no sync predicate). */
|
|
122
|
+
readonly when?: (ctx: InjectionContext) => boolean;
|
|
123
|
+
/** The serializable matcher behind `when`, when declared as data — quoted
|
|
124
|
+
* back in the messages, and the one way to spot the intent arm. */
|
|
125
|
+
readonly match?: SkillMatchData;
|
|
126
|
+
/** The phrasings this rule claims (build-time TEST material). */
|
|
127
|
+
readonly examples?: readonly string[];
|
|
128
|
+
}
|
|
129
|
+
/** What {@link checkStartRuleExamples} found, plus what it wants to say about
|
|
130
|
+
* its own reach. Both empty when no rule declared examples. */
|
|
131
|
+
export interface ExamplesCheckup {
|
|
132
|
+
readonly problems: readonly GraphProblem[];
|
|
133
|
+
readonly notes: readonly string[];
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Validate a rule-level `examples` list at DECLARATION time, refusing every
|
|
137
|
+
* shape whose check-up answer could only mislead — each refusal naming the fix:
|
|
138
|
+
*
|
|
139
|
+
* • not an array / an EMPTY array — nothing to prove, and a check-up that
|
|
140
|
+
* passes in silence reads as coverage;
|
|
141
|
+
* • a non-string or blank entry — there is no phrase to run a matcher on;
|
|
142
|
+
* • examples on an UNCONDITIONAL entry — it claims every message, so every
|
|
143
|
+
* example passes by construction and proves nothing;
|
|
144
|
+
* • examples beside `match: { intent, examples }` — two lists, two jobs (see
|
|
145
|
+
* the tier note in this file's header).
|
|
146
|
+
*
|
|
147
|
+
* Returns a frozen copy (or `undefined` when nothing was declared), so the
|
|
148
|
+
* stored list cannot drift from the validated one.
|
|
149
|
+
*/
|
|
150
|
+
export declare function validateStartRuleExamples(examples: unknown, where: string, rule: {
|
|
151
|
+
readonly hasCondition: boolean;
|
|
152
|
+
readonly isIntent: boolean;
|
|
153
|
+
}): readonly string[] | undefined;
|
|
154
|
+
/**
|
|
155
|
+
* Run the three example properties. Pure, and byte-identically silent when no
|
|
156
|
+
* rule declared examples (one `Array.some` and out).
|
|
157
|
+
*
|
|
158
|
+
* `orderDecides` mirrors the gate the pairwise rule checks already use
|
|
159
|
+
* (`!exclusiveEntries || hasClassifier`): declaration order decides the turn
|
|
160
|
+
* start under the default form and under a classifier's tier 1, and does NOT
|
|
161
|
+
* under a scorer or `.entryByRead()`. Where it does not hold, only the
|
|
162
|
+
* order-independent property (self-match) is claimed and a note says so.
|
|
163
|
+
*/
|
|
164
|
+
export declare function checkStartRuleExamples(input: {
|
|
165
|
+
readonly entries: readonly ExampleRuleDecl[];
|
|
166
|
+
readonly orderDecides: boolean;
|
|
167
|
+
readonly hasClassifier: boolean;
|
|
168
|
+
}): ExamplesCheckup;
|