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.
Files changed (56) hide show
  1. package/CLAUDE.md +2 -1
  2. package/dist/adapters/llm/BrowserOpenAIProvider.js +5 -3
  3. package/dist/adapters/llm/BrowserOpenAIProvider.js.map +1 -1
  4. package/dist/adapters/llm/OpenAIProvider.js +74 -2
  5. package/dist/adapters/llm/OpenAIProvider.js.map +1 -1
  6. package/dist/adapters/llm/azureUrl.js +48 -0
  7. package/dist/adapters/llm/azureUrl.js.map +1 -0
  8. package/dist/adapters/llm/createProvider.js +25 -6
  9. package/dist/adapters/llm/createProvider.js.map +1 -1
  10. package/dist/esm/adapters/llm/BrowserOpenAIProvider.js +5 -3
  11. package/dist/esm/adapters/llm/BrowserOpenAIProvider.js.map +1 -1
  12. package/dist/esm/adapters/llm/OpenAIProvider.d.ts +15 -2
  13. package/dist/esm/adapters/llm/OpenAIProvider.js +74 -2
  14. package/dist/esm/adapters/llm/OpenAIProvider.js.map +1 -1
  15. package/dist/esm/adapters/llm/azureUrl.d.ts +36 -0
  16. package/dist/esm/adapters/llm/azureUrl.js +43 -0
  17. package/dist/esm/adapters/llm/azureUrl.js.map +1 -0
  18. package/dist/esm/adapters/llm/createProvider.d.ts +5 -1
  19. package/dist/esm/adapters/llm/createProvider.js +25 -6
  20. package/dist/esm/adapters/llm/createProvider.js.map +1 -1
  21. package/dist/esm/lib/injection-engine/skillExamples.d.ts +168 -0
  22. package/dist/esm/lib/injection-engine/skillExamples.js +435 -0
  23. package/dist/esm/lib/injection-engine/skillExamples.js.map +1 -0
  24. package/dist/esm/lib/injection-engine/skillGraph.d.ts +63 -0
  25. package/dist/esm/lib/injection-engine/skillGraph.js +40 -2
  26. package/dist/esm/lib/injection-engine/skillGraph.js.map +1 -1
  27. package/dist/esm/lib/injection-engine/skillGraphCheckup.d.ts +25 -2
  28. package/dist/esm/lib/injection-engine/skillGraphCheckup.js +11 -2
  29. package/dist/esm/lib/injection-engine/skillGraphCheckup.js.map +1 -1
  30. package/dist/esm/lib/injection-engine/skillMatch.d.ts +7 -0
  31. package/dist/esm/lib/injection-engine/skillMatch.js +9 -4
  32. package/dist/esm/lib/injection-engine/skillMatch.js.map +1 -1
  33. package/dist/lib/injection-engine/skillExamples.js +440 -0
  34. package/dist/lib/injection-engine/skillExamples.js.map +1 -0
  35. package/dist/lib/injection-engine/skillGraph.js +40 -2
  36. package/dist/lib/injection-engine/skillGraph.js.map +1 -1
  37. package/dist/lib/injection-engine/skillGraphCheckup.js +11 -2
  38. package/dist/lib/injection-engine/skillGraphCheckup.js.map +1 -1
  39. package/dist/lib/injection-engine/skillMatch.js +11 -5
  40. package/dist/lib/injection-engine/skillMatch.js.map +1 -1
  41. package/dist/types/adapters/llm/BrowserOpenAIProvider.d.ts.map +1 -1
  42. package/dist/types/adapters/llm/OpenAIProvider.d.ts +15 -2
  43. package/dist/types/adapters/llm/OpenAIProvider.d.ts.map +1 -1
  44. package/dist/types/adapters/llm/azureUrl.d.ts +37 -0
  45. package/dist/types/adapters/llm/azureUrl.d.ts.map +1 -0
  46. package/dist/types/adapters/llm/createProvider.d.ts +5 -1
  47. package/dist/types/adapters/llm/createProvider.d.ts.map +1 -1
  48. package/dist/types/lib/injection-engine/skillExamples.d.ts +169 -0
  49. package/dist/types/lib/injection-engine/skillExamples.d.ts.map +1 -0
  50. package/dist/types/lib/injection-engine/skillGraph.d.ts +63 -0
  51. package/dist/types/lib/injection-engine/skillGraph.d.ts.map +1 -1
  52. package/dist/types/lib/injection-engine/skillGraphCheckup.d.ts +25 -2
  53. package/dist/types/lib/injection-engine/skillGraphCheckup.d.ts.map +1 -1
  54. package/dist/types/lib/injection-engine/skillMatch.d.ts +7 -0
  55. package/dist/types/lib/injection-engine/skillMatch.d.ts.map +1 -1
  56. 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
- stream = client.chat.completions.create(params);
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`) [+ `AZURE_OPENAI_API_VERSION`, `AZURE_OPENAI_DEPLOYMENT`|`MODEL_NAME`]
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`) [+ `AZURE_OPENAI_API_VERSION`, `AZURE_OPENAI_DEPLOYMENT`|`MODEL_NAME`]
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
- ...((env.AZURE_OPENAI_DEPLOYMENT ?? env.MODEL_NAME) && {
113
- deployment: env.AZURE_OPENAI_DEPLOYMENT ?? env.MODEL_NAME,
114
- }),
125
+ deployment: azureDeployment,
115
126
  }),
116
- model: 'azure',
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)\n' +
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":"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"}
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,MAAM,UAAU,eAAe,CAAC,OAA8C,EAAE;IAC9E,MAAM,GAAG,GAAG,CAAC,OAAO,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAG7D,CAAC;IACF,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;QACrB,OAAO;YACL,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE;gBACjC,GAAG,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC;aACrD,CAAC;YACF,KAAK,EAAE,GAAG,CAAC,YAAY;YACvB,IAAI,EAAE,QAAQ;SACf,CAAC;IACJ,CAAC;IACD,MAAM,aAAa,GAAG,GAAG,CAAC,qBAAqB,IAAI,GAAG,CAAC,eAAe,CAAC;IACvE,IAAI,GAAG,CAAC,oBAAoB,IAAI,aAAa,EAAE,CAAC;QAC9C,MAAM,eAAe,GAAG,GAAG,CAAC,uBAAuB,IAAI,GAAG,CAAC,UAAU,CAAC;QACtE,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,yEAAyE;YACzE,uEAAuE;YACvE,sEAAsE;YACtE,MAAM,IAAI,KAAK,CACb,2EAA2E;gBACzE,mFAAmF;gBACnF,8FAA8F,CACjG,CAAC;QACJ,CAAC;QACD,OAAO;YACL,QAAQ,EAAE,WAAW,CAAC;gBACpB,QAAQ,EAAE,aAAa;gBACvB,MAAM,EAAE,GAAG,CAAC,oBAAoB;gBAChC,GAAG,CAAC,GAAG,CAAC,wBAAwB,IAAI,EAAE,UAAU,EAAE,GAAG,CAAC,wBAAwB,EAAE,CAAC;gBACjF,UAAU,EAAE,eAAe;aAC5B,CAAC;YACF,wEAAwE;YACxE,0EAA0E;YAC1E,yEAAyE;YACzE,0EAA0E;YAC1E,wEAAwE;YACxE,yEAAyE;YACzE,gEAAgE;YAChE,KAAK,EAAE,eAAe;YACtB,IAAI,EAAE,cAAc;SACrB,CAAC;IACJ,CAAC;IACD,IAAI,GAAG,CAAC,iBAAiB,EAAE,CAAC;QAC1B,OAAO;YACL,QAAQ,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,iBAAiB,EAAE,CAAC;YACtD,KAAK,EAAE,GAAG,CAAC,SAAS,IAAI,WAAW;YACnC,IAAI,EAAE,WAAW;SAClB,CAAC;IACJ,CAAC;IACD,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC;QACvB,OAAO;YACL,QAAQ,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,cAAc,EAAE,CAAC;YAChD,KAAK,EAAE,GAAG,CAAC,SAAS,IAAI,QAAQ;YAChC,IAAI,EAAE,QAAQ;SACf,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,EAAE,KAAK,EAAE,kCAAkC,EAAE,CAAC;YAC7D,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,MAAM;SACb,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,KAAK,CACb,yEAAyE;QACvE,8EAA8E;QAC9E,oFAAoF;QACpF,6FAA6F;QAC7F,sFAAsF;QACtF,oCAAoC;QACpC,iCAAiC;QACjC,uDAAuD,CAC1D,CAAC;AACJ,CAAC"}
@@ -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;