ai-capability-framework 1.0.3 → 1.1.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 (246) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/README.md +38 -30
  3. package/ROADMAP.md +14 -0
  4. package/dist/cli.d.ts.map +1 -1
  5. package/dist/cli.js +32 -1
  6. package/dist/discovery/bindings.d.ts +7 -0
  7. package/dist/discovery/bindings.d.ts.map +1 -0
  8. package/dist/discovery/bindings.js +24 -0
  9. package/dist/discovery/budget.d.ts +17 -0
  10. package/dist/discovery/budget.d.ts.map +1 -0
  11. package/dist/discovery/budget.js +77 -0
  12. package/dist/discovery/configuration.d.ts +10 -0
  13. package/dist/discovery/configuration.d.ts.map +1 -0
  14. package/dist/discovery/configuration.js +63 -0
  15. package/dist/discovery/corpus.d.ts +8 -0
  16. package/dist/discovery/corpus.d.ts.map +1 -0
  17. package/dist/discovery/corpus.js +64 -0
  18. package/dist/discovery/diagnostics.d.ts +15 -0
  19. package/dist/discovery/diagnostics.d.ts.map +1 -0
  20. package/dist/discovery/diagnostics.js +11 -0
  21. package/dist/discovery/discoverer.d.ts +23 -0
  22. package/dist/discovery/discoverer.d.ts.map +1 -0
  23. package/dist/discovery/discoverer.js +261 -0
  24. package/dist/discovery/embedding-configuration.d.ts +12 -0
  25. package/dist/discovery/embedding-configuration.d.ts.map +1 -0
  26. package/dist/discovery/embedding-configuration.js +81 -0
  27. package/dist/discovery/embedding-types.d.ts +75 -0
  28. package/dist/discovery/embedding-types.d.ts.map +1 -0
  29. package/dist/discovery/embedding-types.js +1 -0
  30. package/dist/discovery/embeddings.d.ts +38 -0
  31. package/dist/discovery/embeddings.d.ts.map +1 -0
  32. package/dist/discovery/embeddings.js +71 -0
  33. package/dist/discovery/evaluation-validation.d.ts +8 -0
  34. package/dist/discovery/evaluation-validation.d.ts.map +1 -0
  35. package/dist/discovery/evaluation-validation.js +19 -0
  36. package/dist/discovery/evaluation.d.ts +84 -0
  37. package/dist/discovery/evaluation.d.ts.map +1 -0
  38. package/dist/discovery/evaluation.js +310 -0
  39. package/dist/discovery/export.d.ts +14 -0
  40. package/dist/discovery/export.d.ts.map +1 -0
  41. package/dist/discovery/export.js +81 -0
  42. package/dist/discovery/facade.d.ts +82 -0
  43. package/dist/discovery/facade.d.ts.map +1 -0
  44. package/dist/discovery/facade.js +266 -0
  45. package/dist/discovery/fingerprint.d.ts +71 -0
  46. package/dist/discovery/fingerprint.d.ts.map +1 -0
  47. package/dist/discovery/fingerprint.js +67 -0
  48. package/dist/discovery/index-builder.d.ts +3 -0
  49. package/dist/discovery/index-builder.d.ts.map +1 -0
  50. package/dist/discovery/index-builder.js +129 -0
  51. package/dist/discovery/index-validation.d.ts +12 -0
  52. package/dist/discovery/index-validation.d.ts.map +1 -0
  53. package/dist/discovery/index-validation.js +117 -0
  54. package/dist/discovery/index.d.ts +32 -0
  55. package/dist/discovery/index.d.ts.map +1 -0
  56. package/dist/discovery/index.js +18 -0
  57. package/dist/discovery/json-snapshot.d.ts +3 -0
  58. package/dist/discovery/json-snapshot.d.ts.map +1 -0
  59. package/dist/discovery/json-snapshot.js +11 -0
  60. package/dist/discovery/lexical.d.ts +12 -0
  61. package/dist/discovery/lexical.d.ts.map +1 -0
  62. package/dist/discovery/lexical.js +26 -0
  63. package/dist/discovery/metadata.d.ts +4 -0
  64. package/dist/discovery/metadata.d.ts.map +1 -0
  65. package/dist/discovery/metadata.js +33 -0
  66. package/dist/discovery/ranking.d.ts +7 -0
  67. package/dist/discovery/ranking.d.ts.map +1 -0
  68. package/dist/discovery/ranking.js +68 -0
  69. package/dist/discovery/replay.d.ts +50 -0
  70. package/dist/discovery/replay.d.ts.map +1 -0
  71. package/dist/discovery/replay.js +175 -0
  72. package/dist/discovery/retrieval-policy.d.ts +5 -0
  73. package/dist/discovery/retrieval-policy.d.ts.map +1 -0
  74. package/dist/discovery/retrieval-policy.js +10 -0
  75. package/dist/discovery/router.d.ts +39 -0
  76. package/dist/discovery/router.d.ts.map +1 -0
  77. package/dist/discovery/router.js +98 -0
  78. package/dist/discovery/selection-attempt.d.ts +20 -0
  79. package/dist/discovery/selection-attempt.d.ts.map +1 -0
  80. package/dist/discovery/selection-attempt.js +39 -0
  81. package/dist/discovery/selection-cards.d.ts +12 -0
  82. package/dist/discovery/selection-cards.d.ts.map +1 -0
  83. package/dist/discovery/selection-cards.js +79 -0
  84. package/dist/discovery/selection-configuration.d.ts +18 -0
  85. package/dist/discovery/selection-configuration.d.ts.map +1 -0
  86. package/dist/discovery/selection-configuration.js +71 -0
  87. package/dist/discovery/selection-response.d.ts +13 -0
  88. package/dist/discovery/selection-response.d.ts.map +1 -0
  89. package/dist/discovery/selection-response.js +47 -0
  90. package/dist/discovery/selection-types.d.ts +18 -0
  91. package/dist/discovery/selection-types.d.ts.map +1 -0
  92. package/dist/discovery/selection-types.js +1 -0
  93. package/dist/discovery/selection.d.ts +6 -0
  94. package/dist/discovery/selection.d.ts.map +1 -0
  95. package/dist/discovery/selection.js +145 -0
  96. package/dist/discovery/types.d.ts +291 -0
  97. package/dist/discovery/types.d.ts.map +1 -0
  98. package/dist/discovery/types.js +1 -0
  99. package/dist/discovery/usage.d.ts +2 -0
  100. package/dist/discovery/usage.d.ts.map +1 -0
  101. package/dist/discovery/usage.js +1 -0
  102. package/dist/discovery/vectors.d.ts +5 -0
  103. package/dist/discovery/vectors.d.ts.map +1 -0
  104. package/dist/discovery/vectors.js +43 -0
  105. package/dist/discovery/versions.d.ts +37 -0
  106. package/dist/discovery/versions.d.ts.map +1 -0
  107. package/dist/discovery/versions.js +36 -0
  108. package/dist/evals-live/live-eval-runner.d.ts +1 -0
  109. package/dist/evals-live/live-eval-runner.d.ts.map +1 -1
  110. package/dist/evals-live/live-eval-runner.js +12 -1
  111. package/dist/evals-live/types.d.ts +3 -0
  112. package/dist/evals-live/types.d.ts.map +1 -1
  113. package/dist/generated/manifest-types.d.ts +3655 -0
  114. package/dist/generated/manifest-types.d.ts.map +1 -1
  115. package/dist/loader.d.ts.map +1 -1
  116. package/dist/loader.js +8 -0
  117. package/dist/mcp-server/server.d.ts.map +1 -1
  118. package/dist/mcp-server/server.js +11 -2
  119. package/dist/mcp-server/types.d.ts +4 -0
  120. package/dist/mcp-server/types.d.ts.map +1 -1
  121. package/dist/observability/redaction.d.ts.map +1 -1
  122. package/dist/observability/redaction.js +6 -2
  123. package/dist/observability/types.d.ts +1 -1
  124. package/dist/observability/types.d.ts.map +1 -1
  125. package/dist/openai/index.d.ts +2 -0
  126. package/dist/openai/index.d.ts.map +1 -1
  127. package/dist/openai/index.js +1 -0
  128. package/dist/openai/responses-runner.d.ts +1 -1
  129. package/dist/openai/responses-runner.d.ts.map +1 -1
  130. package/dist/openai/responses-runner.js +134 -7
  131. package/dist/openai/selection-client.d.ts +28 -0
  132. package/dist/openai/selection-client.d.ts.map +1 -0
  133. package/dist/openai/selection-client.js +95 -0
  134. package/dist/openai/tool-loop.js +1 -1
  135. package/dist/openai/types.d.ts +19 -2
  136. package/dist/openai/types.d.ts.map +1 -1
  137. package/dist/replay/discovery-snapshot.d.ts +10 -0
  138. package/dist/replay/discovery-snapshot.d.ts.map +1 -0
  139. package/dist/replay/discovery-snapshot.js +17 -0
  140. package/dist/replay/recorder.d.ts.map +1 -1
  141. package/dist/replay/recorder.js +4 -0
  142. package/dist/replay/redaction.js +5 -1
  143. package/dist/replay/replayer.d.ts.map +1 -1
  144. package/dist/replay/replayer.js +14 -1
  145. package/dist/replay/types.d.ts +3 -0
  146. package/dist/replay/types.d.ts.map +1 -1
  147. package/dist/replay/validation.d.ts.map +1 -1
  148. package/dist/replay/validation.js +6 -0
  149. package/dist/runtime/bounded-json.d.ts +4 -0
  150. package/dist/runtime/bounded-json.d.ts.map +1 -0
  151. package/dist/runtime/bounded-json.js +74 -0
  152. package/dist/runtime/eligibility.d.ts +4 -0
  153. package/dist/runtime/eligibility.d.ts.map +1 -0
  154. package/dist/runtime/eligibility.js +128 -0
  155. package/dist/runtime/index.d.ts +5 -1
  156. package/dist/runtime/index.d.ts.map +1 -1
  157. package/dist/runtime/index.js +2 -0
  158. package/dist/runtime/provider-attempt.d.ts +11 -0
  159. package/dist/runtime/provider-attempt.d.ts.map +1 -0
  160. package/dist/runtime/provider-attempt.js +221 -0
  161. package/dist/runtime/provider-run.d.ts +10 -0
  162. package/dist/runtime/provider-run.d.ts.map +1 -0
  163. package/dist/runtime/provider-run.js +123 -0
  164. package/dist/runtime/provider-stop.d.ts +9 -0
  165. package/dist/runtime/provider-stop.d.ts.map +1 -0
  166. package/dist/runtime/provider-stop.js +28 -0
  167. package/dist/runtime/provider-types.d.ts +189 -0
  168. package/dist/runtime/provider-types.d.ts.map +1 -0
  169. package/dist/runtime/provider-types.js +1 -0
  170. package/dist/runtime/provider-usage.d.ts +9 -0
  171. package/dist/runtime/provider-usage.d.ts.map +1 -0
  172. package/dist/runtime/provider-usage.js +69 -0
  173. package/dist/runtime/router.d.ts.map +1 -1
  174. package/dist/runtime/router.js +3 -118
  175. package/dist/runtime/types.d.ts +9 -0
  176. package/dist/runtime/types.d.ts.map +1 -1
  177. package/dist/types.d.ts +1 -1
  178. package/dist/types.d.ts.map +1 -1
  179. package/dist/validator.d.ts +3 -0
  180. package/dist/validator.d.ts.map +1 -1
  181. package/dist/validator.js +32 -0
  182. package/docs/api/public-api-policy.md +10 -0
  183. package/docs/api/stable-workflow.md +58 -0
  184. package/docs/api.md +7 -0
  185. package/docs/capability-manifests.md +24 -0
  186. package/docs/development.md +22 -0
  187. package/docs/discovery.md +186 -0
  188. package/docs/evals/discovery-live.md +199 -0
  189. package/docs/evals/discovery-qualification.md +158 -0
  190. package/docs/evals/overview.md +9 -0
  191. package/docs/getting-started/installation.md +11 -12
  192. package/docs/getting-started/openai-quickstart.md +16 -5
  193. package/docs/getting-started/provider-neutral-quickstart.md +247 -88
  194. package/docs/getting-started/quickstart.md +8 -30
  195. package/docs/index.md +10 -0
  196. package/docs/release.md +29 -5
  197. package/docs/runtime.md +27 -0
  198. package/docs/start-here.md +23 -134
  199. package/examples/12-capability-discovery-selection/README.md +346 -0
  200. package/examples/12-capability-discovery-selection/customer-cases.mjs +52 -0
  201. package/examples/12-capability-discovery-selection/customer-harness.mjs +91 -0
  202. package/examples/12-capability-discovery-selection/customer-request-example.mjs +320 -0
  203. package/examples/12-capability-discovery-selection/discovery-example.mjs +175 -0
  204. package/examples/12-capability-discovery-selection/discovery-fixtures/three-domains.suite.json +7887 -0
  205. package/examples/12-capability-discovery-selection/discovery-fixtures/three-domains.v2.suite.json +8167 -0
  206. package/examples/12-capability-discovery-selection/discovery-fixtures/three-domains.v3.suite.json +8342 -0
  207. package/examples/12-capability-discovery-selection/evaluation/application.mjs +305 -0
  208. package/examples/12-capability-discovery-selection/evaluation/campaign.mjs +248 -0
  209. package/examples/12-capability-discovery-selection/evaluation/clients.mjs +433 -0
  210. package/examples/12-capability-discovery-selection/evaluation/continuation.mjs +208 -0
  211. package/examples/12-capability-discovery-selection/evaluation/durable-budget.mjs +420 -0
  212. package/examples/12-capability-discovery-selection/evaluation/freeze.mjs +9 -0
  213. package/examples/12-capability-discovery-selection/evaluation/harness.mjs +618 -0
  214. package/examples/12-capability-discovery-selection/evaluation/mock-host.mjs +260 -0
  215. package/examples/12-capability-discovery-selection/evaluation/preflight.mjs +115 -0
  216. package/examples/12-capability-discovery-selection/evaluation/qualification-workflows.mjs +87 -0
  217. package/examples/12-capability-discovery-selection/evaluation/regrade.mjs +281 -0
  218. package/examples/12-capability-discovery-selection/evaluation/report.mjs +517 -0
  219. package/examples/12-capability-discovery-selection/evaluation/runner.mjs +613 -0
  220. package/examples/12-capability-discovery-selection/evaluation/saved-campaign.mjs +385 -0
  221. package/examples/12-capability-discovery-selection/evaluation/wording.mjs +115 -0
  222. package/examples/12-capability-discovery-selection/evaluation/workflow-application.mjs +378 -0
  223. package/examples/12-capability-discovery-selection/evaluation/workflow-cases.mjs +90 -0
  224. package/examples/12-capability-discovery-selection/evaluation-example.mjs +154 -0
  225. package/examples/12-capability-discovery-selection/hybrid-example.mjs +174 -0
  226. package/examples/12-capability-discovery-selection/mock-embeddings.mjs +101 -0
  227. package/examples/12-capability-discovery-selection/mock-selection.mjs +78 -0
  228. package/examples/12-capability-discovery-selection/pipeline-example.mjs +496 -0
  229. package/examples/12-capability-discovery-selection/retrieval-cases.mjs +31 -0
  230. package/examples/12-capability-discovery-selection/run-campaign-mock.mjs +40 -0
  231. package/examples/12-capability-discovery-selection/run-customer-mock.mjs +15 -0
  232. package/examples/12-capability-discovery-selection/run-evaluation-live.mjs +10 -0
  233. package/examples/12-capability-discovery-selection/run-evaluation-mock.mjs +3 -0
  234. package/examples/12-capability-discovery-selection/run-evaluation-regrade.mjs +71 -0
  235. package/examples/12-capability-discovery-selection/run-hybrid-mock.mjs +3 -0
  236. package/examples/12-capability-discovery-selection/run-mock.mjs +3 -0
  237. package/examples/12-capability-discovery-selection/run-pipeline-mock.mjs +2 -0
  238. package/examples/12-capability-discovery-selection/run-selector-mock.mjs +3 -0
  239. package/examples/12-capability-discovery-selection/selection-example.mjs +88 -0
  240. package/package.json +17 -4
  241. package/schemas/discovery/embedding-index.schema.json +71 -0
  242. package/schemas/discovery/eval-observations.schema.json +409 -0
  243. package/schemas/discovery/eval-suite.schema.json +375 -0
  244. package/schemas/discovery/metadata.schema.json +30 -0
  245. package/schemas/discovery/selection-response.schema.json +47 -0
  246. package/schemas/replay/discovery-snapshot.schema.json +335 -0
@@ -0,0 +1,145 @@
1
+ import { assertProviderRunScope } from "../runtime/provider-run.js";
2
+ import { performance } from "node:perf_hooks";
3
+ import { isDeepStrictEqual } from "node:util";
4
+ import { captureEligibility } from "./bindings.js";
5
+ import { hasOnlyKeys, isRecord, nonblank } from "./configuration.js";
6
+ import { registrySourceFingerprint } from "./corpus.js";
7
+ import { DiscoveryError } from "./diagnostics.js";
8
+ import { stopReason, validateProviderInvocation } from "./embeddings.js";
9
+ import { hashDiscoveryContent } from "./fingerprint.js";
10
+ import { deepFreeze } from "./json-snapshot.js";
11
+ import { runSelectionAttempt } from "./selection-attempt.js";
12
+ import { buildCapabilitySelectionTasks } from "./selection-cards.js";
13
+ import { resolveSelectionExecution, selectionError, selectionJson } from "./selection-configuration.js";
14
+ import { SELECTION_OUTPUT_SCHEMA, selectionMessages } from "./selection-response.js";
15
+ import { aggregateDiscoveryUsage } from "./usage.js";
16
+ import { SELECTION_HARD_LIMITS } from "./versions.js";
17
+ /** This optional stage only returns decisions. It never exports tools or executes a handler. */
18
+ export class ModelCapabilitySelector {
19
+ async select(input) {
20
+ if (!isRecord(input) || !hasOnlyKeys(input, [
21
+ "runId", "requestId", "deadlineAt", "signal", "tasks", "registry", "routeRequest", "client", "limits", "budget",
22
+ "budgetPolicy", "maxEstimatedCostPerCall", "estimateCost", "isCurrent", "providerRun"
23
+ ]) || !Array.isArray(input.tasks) || !input.routeRequest || input.registry !== input.routeRequest.registry
24
+ || input.isCurrent !== undefined && typeof input.isCurrent !== "function")
25
+ throw selectionError("invalid_input");
26
+ // Pin invocation bounds and dependencies while continuing to observe live authorization/source objects.
27
+ if (input.providerRun)
28
+ assertProviderRunScope(input.providerRun, input.runId, { ledger: input.budget, policy: input.budgetPolicy });
29
+ const signals = [input.signal, input.providerRun?.signal].filter((item) => !!item);
30
+ const request = Object.freeze({ ...input, signal: signals.length ? AbortSignal.any(signals) : undefined,
31
+ deadlineAt: Math.min(input.deadlineAt, input.providerRun?.deadlineAt ?? Infinity) });
32
+ try {
33
+ validateProviderInvocation(request);
34
+ }
35
+ catch {
36
+ throw selectionError("invalid_configuration");
37
+ }
38
+ const resolved = resolveSelectionExecution(request);
39
+ if (request.tasks.length > SELECTION_HARD_LIMITS.maxTasks)
40
+ throw selectionError("input_limit_exceeded");
41
+ const ids = new Set();
42
+ for (const task of request.tasks) {
43
+ if (!task || !nonblank(task.queryId) || ids.has(task.queryId) || !task.discovery || task.queryId !== task.discovery.queryId)
44
+ throw selectionError("invalid_input");
45
+ ids.add(task.queryId);
46
+ }
47
+ const started = performance.now();
48
+ const discovery = selectionJson(request.tasks.map(task => task.discovery), SELECTION_HARD_LIMITS.maxInputCharacters * 4);
49
+ const matched = request.tasks.filter(task => task.discovery.status === "matched").map(task => ({ queryId: task.queryId }));
50
+ const stages = [];
51
+ let tasks = [];
52
+ const finish = (outcomes, code) => deepFreeze({
53
+ discovery, outcomes, usage: aggregateDiscoveryUsage(stages, performance.now() - started),
54
+ diagnostics: code ? [{ code, message: "The selection batch did not produce actionable decisions." }] : []
55
+ });
56
+ const failure = (code) => finish(matched.map(task => ({
57
+ queryId: task.queryId, selectorFingerprint: resolved.fingerprint,
58
+ inputBindingHash: tasks.find(entry => entry.queryId === task.queryId)?.inputBindingHash
59
+ ?? hashDiscoveryContent({ kind: "unavailable_selection_input", queryId: task.queryId, selectorFingerprint: resolved.fingerprint }),
60
+ status: code === "cancelled" || code === "deadline_exceeded" ? "cancelled"
61
+ : code === "invalid_selection_output" ? "invalid_output" : "unavailable",
62
+ capabilityId: null, reasonCode: code,
63
+ diagnostics: [{ code, queryId: task.queryId, message: "Selection was cancelled, unavailable, or invalid; no capability was chosen." }]
64
+ })), code);
65
+ if (!request.tasks.length)
66
+ return finish([]);
67
+ if (request.tasks.length > resolved.limits.maxTasks)
68
+ return failure("input_limit_exceeded");
69
+ let source, eligibility;
70
+ let snapshot, context;
71
+ try {
72
+ snapshot = selectionJson(request.tasks, SELECTION_HARD_LIMITS.maxInputCharacters * 4);
73
+ context = structuredClone(request.routeRequest.builtContext.runtimeContext);
74
+ source = registrySourceFingerprint(request.registry);
75
+ eligibility = captureEligibility(request.routeRequest).fingerprint;
76
+ }
77
+ catch (error) {
78
+ return failure(error instanceof DiscoveryError ? error.code : "invalid_selection_input");
79
+ }
80
+ const runtime = request.routeRequest.builtContext.runtimeContext;
81
+ if (request.runId !== runtime.runId || request.requestId !== runtime.requestId)
82
+ return failure("stale_binding");
83
+ const hostGuard = request.isCurrent;
84
+ const controls = request.routeRequest.controls;
85
+ const current = () => {
86
+ try {
87
+ return isDeepStrictEqual(context, request.routeRequest.builtContext.runtimeContext)
88
+ && isDeepStrictEqual(snapshot, request.tasks) && request.routeRequest.controls === controls
89
+ && registrySourceFingerprint(request.registry) === source && captureEligibility(request.routeRequest).fingerprint === eligibility
90
+ && (hostGuard?.() ?? true);
91
+ }
92
+ catch {
93
+ return false;
94
+ }
95
+ };
96
+ const stopped = stopReason(request);
97
+ if (stopped)
98
+ return failure(stopped);
99
+ if (!matched.length)
100
+ return finish([]);
101
+ try {
102
+ tasks = buildCapabilitySelectionTasks({ tasks: snapshot, routeRequest: request.routeRequest,
103
+ selectorFingerprint: resolved.fingerprint, maxInputCharacters: resolved.limits.maxInputCharacters });
104
+ }
105
+ catch (error) {
106
+ return failure(error instanceof DiscoveryError ? error.code : "invalid_selection_input");
107
+ }
108
+ const submitted = tasks.filter(task => task.discovery.status === "matched");
109
+ let issues = [];
110
+ for (let attempt = 1; attempt <= resolved.limits.maxAttempts; attempt++) {
111
+ let messages;
112
+ try {
113
+ messages = selectionJson(selectionMessages(submitted, issues), resolved.limits.maxInputCharacters);
114
+ selectionJson({ messages, outputSchema: SELECTION_OUTPUT_SCHEMA, maxInputTokens: resolved.limits.maxInputTokens,
115
+ maxOutputTokens: resolved.limits.maxOutputTokens }, resolved.limits.maxInputCharacters);
116
+ }
117
+ catch {
118
+ return failure("input_limit_exceeded");
119
+ }
120
+ const result = await runSelectionAttempt({ request, resolved, tasks: submitted, messages, attempt: attempt, isCurrent: current });
121
+ stages.push(...result.usage.stages);
122
+ if (result.code) {
123
+ if (result.code === "invalid_selection_output" && attempt < resolved.limits.maxAttempts) {
124
+ issues = result.issues;
125
+ continue;
126
+ }
127
+ return failure(result.code);
128
+ }
129
+ const stop = stopReason(request);
130
+ if (stop)
131
+ return failure(stop);
132
+ if (!current())
133
+ return failure("stale_binding");
134
+ const decisions = new Map(result.decisions.map(decision => [decision.query_id, decision]));
135
+ return finish(submitted.map(task => {
136
+ const decision = decisions.get(task.queryId);
137
+ const base = { queryId: task.queryId, selectorFingerprint: resolved.fingerprint, inputBindingHash: task.inputBindingHash, diagnostics: [] };
138
+ return decision.decision === "select" ? { ...base, status: "selected", capabilityId: decision.capability_id,
139
+ capabilityVersion: task.cards.find(card => card.capabilityId === decision.capability_id).capabilityVersion, reasonCode: "supported_candidate" }
140
+ : { ...base, status: "abstained", capabilityId: null, reasonCode: decision.reason_code };
141
+ }));
142
+ }
143
+ return failure("invalid_selection_output");
144
+ }
145
+ }
@@ -0,0 +1,291 @@
1
+ import type { ModelUsage, ProviderUsage as DiscoveryUsage, ProviderModelConfiguration } from "../runtime/provider-types.js";
2
+ import type { BudgetPolicy } from "../controls/types.js";
3
+ import type { CapabilityRouteRequest, RuntimeCapabilitySlice } from "../runtime/types.js";
4
+ import type { CapabilityManifest, JsonObject, ManifestRegistry } from "../types.js";
5
+ import type { DiscoveryDiagnostic } from "./diagnostics.js";
6
+ export type { DiscoveryMetadata } from "../generated/manifest-types.js";
7
+ export interface DiscoveryLimits {
8
+ maxQueries: number;
9
+ maxFragmentsPerQuery: number;
10
+ maxQueryCharacters: number;
11
+ maxCandidates: number;
12
+ aliasDiversitySlots: 0 | 1;
13
+ }
14
+ interface DiscoveryConfigurationBase {
15
+ limits?: Partial<DiscoveryLimits>;
16
+ aliasWeight?: number;
17
+ minRetrievalScore?: number;
18
+ policyVersion: string;
19
+ }
20
+ export interface LexicalDiscoveryConfiguration extends DiscoveryConfigurationBase {
21
+ mode: "lexical";
22
+ weights?: never;
23
+ failurePolicy?: never;
24
+ }
25
+ export interface HybridDiscoveryConfiguration extends DiscoveryConfigurationBase {
26
+ mode: "hybrid";
27
+ weights: {
28
+ semantic: number;
29
+ lexical: number;
30
+ };
31
+ failurePolicy: "unavailable" | "lexical_fallback";
32
+ }
33
+ export type DiscoveryConfiguration = LexicalDiscoveryConfiguration | HybridDiscoveryConfiguration;
34
+ export interface DiscoveryFragment {
35
+ key: string;
36
+ text: string;
37
+ }
38
+ export interface DiscoveryQuery {
39
+ id: string;
40
+ fragments: readonly DiscoveryFragment[];
41
+ }
42
+ export type { ProviderModelConfiguration } from "../runtime/provider-types.js";
43
+ export interface EmbeddingConfiguration extends ProviderModelConfiguration {
44
+ dimensions?: number;
45
+ }
46
+ export type DiscoveryStage = import("../runtime/provider-types.js").ProviderStage;
47
+ export interface DiscoveryInvocation {
48
+ providerRun?: import("../runtime/provider-types.js").AicfProviderRun;
49
+ runId: string;
50
+ requestId: string;
51
+ signal?: AbortSignal;
52
+ /** Absolute Unix time in milliseconds. Required by live provider attempts. */
53
+ deadlineAt?: number;
54
+ }
55
+ export interface CapabilityDiscoveryRequest extends DiscoveryInvocation {
56
+ routeRequest: CapabilityRouteRequest;
57
+ queries: readonly DiscoveryQuery[];
58
+ /** May lower, but never expand, the configured candidate limit. */
59
+ maxCandidates?: number;
60
+ budget?: DiscoveryBudgetLedger;
61
+ }
62
+ export interface RankedCapabilityCandidate {
63
+ capabilityId: string;
64
+ capabilityVersion: string;
65
+ rank: number;
66
+ scores: {
67
+ lexical: number;
68
+ aliasPhrase: number;
69
+ semantic: number | null;
70
+ final: number;
71
+ };
72
+ inclusionReason: "aggregate_ranking" | "alias_diversity";
73
+ matchedAliases: readonly string[];
74
+ }
75
+ export interface CapabilityDiscoveryResult {
76
+ queryId: string;
77
+ status: "matched" | "no_match" | "unavailable" | "cancelled";
78
+ requestedMode: "lexical" | "hybrid";
79
+ actualMode: "lexical" | "hybrid" | null;
80
+ degradedReason?: DiscoveryDiagnostic["code"];
81
+ candidates: readonly RankedCapabilityCandidate[];
82
+ corpusFingerprint: string;
83
+ eligibilityFingerprint: string;
84
+ retrievalPolicyFingerprint: string;
85
+ indexFingerprint?: string;
86
+ policyVersion: string;
87
+ usage: DiscoveryUsage;
88
+ diagnostics: readonly DiscoveryDiagnostic[];
89
+ }
90
+ export interface CapabilityRetrievalDocument {
91
+ readonly capabilityId: string;
92
+ readonly capabilityVersion: string;
93
+ readonly riskTier: CapabilityManifest["risk_tier"];
94
+ readonly name: string;
95
+ readonly summary: string;
96
+ readonly aliases: readonly string[];
97
+ readonly text: string;
98
+ readonly tokens: readonly string[];
99
+ readonly documentHash: string;
100
+ }
101
+ export interface CapabilitySearchCorpus {
102
+ readonly schemaVersion: "1.0";
103
+ readonly projectionVersion: string;
104
+ readonly registrySourceFingerprint: string;
105
+ readonly corpusFingerprint: string;
106
+ readonly documents: readonly CapabilityRetrievalDocument[];
107
+ }
108
+ export interface ResolvedLexicalDiscoveryConfiguration {
109
+ readonly mode: "lexical";
110
+ readonly policyVersion: string;
111
+ readonly limits: Readonly<DiscoveryLimits>;
112
+ readonly aliasWeight: number;
113
+ readonly minRetrievalScore: number;
114
+ }
115
+ export interface ResolvedHybridDiscoveryConfiguration extends Omit<ResolvedLexicalDiscoveryConfiguration, "mode"> {
116
+ readonly mode: "hybrid";
117
+ readonly weights: Readonly<{
118
+ semantic: number;
119
+ lexical: number;
120
+ }>;
121
+ readonly failurePolicy: "unavailable" | "lexical_fallback";
122
+ }
123
+ export type ResolvedDiscoveryConfiguration = ResolvedLexicalDiscoveryConfiguration | ResolvedHybridDiscoveryConfiguration;
124
+ export interface LexicalRankerCandidate {
125
+ readonly capabilityId: string;
126
+ readonly scores: RankedCapabilityCandidate["scores"];
127
+ }
128
+ /** Synchronous host policy. Identity, admission, ordering and bounds remain framework-owned. */
129
+ export interface CapabilityLexicalRanker {
130
+ readonly version: string;
131
+ rank(input: {
132
+ query: Readonly<DiscoveryQuery>;
133
+ documents: readonly CapabilityRetrievalDocument[];
134
+ configuration: ResolvedLexicalDiscoveryConfiguration;
135
+ }): readonly LexicalRankerCandidate[];
136
+ }
137
+ export type { ModelUsage, UsageQuantity, ProviderUsageTotals as DiscoveryUsageTotals, ProviderStageUsage as DiscoveryStageUsage, ProviderUsage as DiscoveryUsage, ProviderAttemptReservation, ProviderAttemptSettlement } from "../runtime/provider-types.js";
138
+ export type DiscoveryBudgetReservation = {
139
+ status: "reserved";
140
+ reservationId: string;
141
+ } | {
142
+ status: "denied";
143
+ diagnostic: DiscoveryDiagnostic;
144
+ };
145
+ export type DiscoveryBudgetLedger = import("../runtime/provider-types.js").ProviderBudgetLedger;
146
+ export interface ProviderAttemptContext extends DiscoveryInvocation {
147
+ beforeProviderCall?: () => void;
148
+ deadlineAt: number;
149
+ attempt: number;
150
+ }
151
+ /** One underlying attempt per invocation; disable retries and enforce maxInputTokens before provider work. */
152
+ export interface EmbeddingClient {
153
+ readonly mock: boolean;
154
+ configuration: EmbeddingConfiguration;
155
+ embed(input: ProviderAttemptContext & {
156
+ texts: readonly string[];
157
+ configuration: EmbeddingConfiguration;
158
+ maxInputTokens: number;
159
+ }): Promise<{
160
+ vectors: readonly (readonly number[])[];
161
+ configuration: EmbeddingConfiguration;
162
+ vectorDimension: number;
163
+ usage?: ModelUsage;
164
+ providerAttempts: number;
165
+ }>;
166
+ }
167
+ export interface DiscoveryProviderFailure {
168
+ diagnostic: DiscoveryDiagnostic;
169
+ usage?: ModelUsage;
170
+ providerAttempts: number;
171
+ }
172
+ /** A client may reject with this shape to retain known failed-attempt usage. */
173
+ export interface DiscoveryProviderError extends Error, DiscoveryProviderFailure {
174
+ }
175
+ export interface SelectionMessage {
176
+ role: "system" | "user";
177
+ content: string;
178
+ }
179
+ export interface SelectionModelClient {
180
+ readonly transportVersion?: string;
181
+ readonly mock: boolean;
182
+ configuration: ProviderModelConfiguration;
183
+ generateStructured(input: ProviderAttemptContext & {
184
+ messages: readonly SelectionMessage[];
185
+ outputSchema: JsonObject;
186
+ maxInputTokens: number;
187
+ maxOutputTokens: number;
188
+ }): Promise<{
189
+ output: unknown;
190
+ usage?: ModelUsage;
191
+ responseRef?: string;
192
+ providerAttempts: number;
193
+ }>;
194
+ }
195
+ export interface CapabilityCandidateCard {
196
+ capabilityId: string;
197
+ capabilityVersion: string;
198
+ name: string;
199
+ modelDescription: string;
200
+ whenToUse: readonly string[];
201
+ whenNotToUse: readonly string[];
202
+ capabilityType: CapabilityManifest["capability_type"];
203
+ exposedOperations: readonly ("select" | "prepare")[];
204
+ inputFields: readonly string[];
205
+ proposedOperation: "read" | "prepare";
206
+ }
207
+ export interface CapabilitySelectionInputTask {
208
+ queryId: string;
209
+ requestText: string;
210
+ context?: JsonObject;
211
+ discovery: CapabilityDiscoveryResult;
212
+ }
213
+ export interface SelectionTask extends CapabilitySelectionInputTask {
214
+ cards: readonly CapabilityCandidateCard[];
215
+ inputBindingHash: string;
216
+ }
217
+ export interface SelectionLimits {
218
+ maxTasks: number;
219
+ maxInputCharacters: number;
220
+ maxInputTokens: number;
221
+ maxOutputTokens: number;
222
+ maxAttempts: 1 | 2;
223
+ }
224
+ export interface CapabilitySelectionRequest extends DiscoveryInvocation {
225
+ deadlineAt: number;
226
+ tasks: readonly CapabilitySelectionInputTask[];
227
+ registry: ManifestRegistry;
228
+ routeRequest: CapabilityRouteRequest;
229
+ client: SelectionModelClient;
230
+ limits: SelectionLimits;
231
+ budget: DiscoveryBudgetLedger;
232
+ budgetPolicy: BudgetPolicy;
233
+ maxEstimatedCostPerCall?: number;
234
+ estimateCost?: (usage: Readonly<ModelUsage>, configuration: Readonly<ProviderModelConfiguration>) => number | undefined;
235
+ /** May tighten, but never bypass, the framework's binding checks. */
236
+ isCurrent?: () => boolean;
237
+ }
238
+ export type SelectionDecision = {
239
+ query_id: string;
240
+ decision: "select";
241
+ capability_id: string;
242
+ reason_code: "supported_candidate";
243
+ } | {
244
+ query_id: string;
245
+ decision: "abstain";
246
+ capability_id: null;
247
+ reason_code: "no_suitable_candidate" | "ambiguous_request" | "insufficient_context";
248
+ };
249
+ export interface SelectionResponse {
250
+ schema_version: "1.0";
251
+ decisions: readonly SelectionDecision[];
252
+ }
253
+ /** @inline */
254
+ interface SelectionOutcomeBase {
255
+ queryId: string;
256
+ selectorFingerprint: string;
257
+ inputBindingHash: string;
258
+ diagnostics: readonly DiscoveryDiagnostic[];
259
+ }
260
+ export interface CapabilitySelectionBatchResult {
261
+ discovery: readonly CapabilityDiscoveryResult[];
262
+ outcomes: readonly CapabilitySelectionOutcome[];
263
+ usage: DiscoveryUsage;
264
+ diagnostics: readonly DiscoveryDiagnostic[];
265
+ }
266
+ export type CapabilitySelectionOutcome = SelectionOutcomeBase & ({
267
+ status: "selected";
268
+ capabilityId: string;
269
+ capabilityVersion: string;
270
+ reasonCode: "supported_candidate";
271
+ } | {
272
+ status: "abstained";
273
+ capabilityId: null;
274
+ reasonCode: "no_suitable_candidate" | "ambiguous_request" | "insufficient_context";
275
+ } | {
276
+ status: "unavailable" | "invalid_output" | "cancelled";
277
+ capabilityId: null;
278
+ reasonCode: DiscoveryDiagnostic["code"];
279
+ });
280
+ export interface DiscoveryRouteResult {
281
+ selectionBatch?: CapabilitySelectionBatchResult;
282
+ slice: RuntimeCapabilitySlice;
283
+ discovery: readonly CapabilityDiscoveryResult[];
284
+ selection?: readonly CapabilitySelectionOutcome[];
285
+ }
286
+ export interface ResolvedDiscoveryMetadata {
287
+ schemaVersion: "1.0";
288
+ summary: string;
289
+ aliases: readonly string[];
290
+ }
291
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/discovery/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ export { USAGE_QUANTITIES, knownUsage, ownValue, usageQuantities, validReportedUsage, aggregateProviderUsage as aggregateDiscoveryUsage } from "../runtime/provider-usage.js";
2
+ //# sourceMappingURL=usage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../src/discovery/usage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,kBAAkB,EAClF,sBAAsB,IAAI,uBAAuB,EAAE,MAAM,8BAA8B,CAAC"}
@@ -0,0 +1 @@
1
+ export { USAGE_QUANTITIES, knownUsage, ownValue, usageQuantities, validReportedUsage, aggregateProviderUsage as aggregateDiscoveryUsage } from "../runtime/provider-usage.js";
@@ -0,0 +1,5 @@
1
+ export declare function validVector(vector: unknown, dimension: number): vector is readonly number[];
2
+ export declare function validVectorBatch(value: unknown, count: number, dimension: number): value is readonly (readonly number[])[];
3
+ /** Scale before squaring, avoiding overflow/underflow even for finite extreme components. */
4
+ export declare function semanticSimilarity(left: readonly number[], right: readonly number[]): number;
5
+ //# sourceMappingURL=vectors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vectors.d.ts","sourceRoot":"","sources":["../../src/discovery/vectors.ts"],"names":[],"mappings":"AAAA,wBAAgB,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,IAAI,SAAS,MAAM,EAAE,CAU3F;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,KAAK,IAAI,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAQ1H;AAED,6FAA6F;AAC7F,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAe5F"}
@@ -0,0 +1,43 @@
1
+ export function validVector(vector, dimension) {
2
+ if (!Array.isArray(vector) || Object.getPrototypeOf(vector) !== Array.prototype || vector.length !== dimension || dimension < 1
3
+ || Reflect.ownKeys(vector).length !== dimension + 1)
4
+ return false;
5
+ let nonzero = false;
6
+ for (let index = 0; index < dimension; index++) {
7
+ const property = Object.getOwnPropertyDescriptor(vector, String(index));
8
+ if (!property || !property.enumerable || !("value" in property) || typeof property.value !== "number" || !Number.isFinite(property.value))
9
+ return false;
10
+ nonzero ||= property.value !== 0;
11
+ }
12
+ return nonzero;
13
+ }
14
+ export function validVectorBatch(value, count, dimension) {
15
+ if (!Array.isArray(value) || Object.getPrototypeOf(value) !== Array.prototype
16
+ || value.length !== count || Reflect.ownKeys(value).length !== count + 1)
17
+ return false;
18
+ for (let index = 0; index < count; index++) {
19
+ const property = Object.getOwnPropertyDescriptor(value, String(index));
20
+ if (!property || !property.enumerable || !("value" in property) || !validVector(property.value, dimension))
21
+ return false;
22
+ }
23
+ return true;
24
+ }
25
+ /** Scale before squaring, avoiding overflow/underflow even for finite extreme components. */
26
+ export function semanticSimilarity(left, right) {
27
+ if (left.length !== right.length || !validVector(left, left.length) || !validVector(right, right.length)) {
28
+ throw new Error("Incompatible vectors.");
29
+ }
30
+ let leftScale = 0, rightScale = 0;
31
+ for (let index = 0; index < left.length; index++) {
32
+ leftScale = Math.max(leftScale, Math.abs(left[index]));
33
+ rightScale = Math.max(rightScale, Math.abs(right[index]));
34
+ }
35
+ let dot = 0, leftSquare = 0, rightSquare = 0;
36
+ for (let index = 0; index < left.length; index++) {
37
+ const a = left[index] / leftScale, b = right[index] / rightScale;
38
+ dot += a * b;
39
+ leftSquare += a * a;
40
+ rightSquare += b * b;
41
+ }
42
+ return Math.max(0, Math.min(1, dot / Math.sqrt(leftSquare) / Math.sqrt(rightSquare)));
43
+ }
@@ -0,0 +1,37 @@
1
+ /** Internal contracts; package-level discovery exports are introduced separately. */
2
+ export declare const DISCOVERY_BINDING_VERSIONS: Readonly<{
3
+ readonly registry_source: "1.0";
4
+ readonly corpus: "1.0";
5
+ readonly embedding_configuration: "1.0";
6
+ readonly index: "1.0";
7
+ readonly eligibility: "1.0";
8
+ readonly retrieval_policy: "1.0";
9
+ readonly candidate_cards: "1.0";
10
+ readonly selector: "1.2";
11
+ }>;
12
+ export declare const DISCOVERY_SCHEMA_VERSION: "1.0";
13
+ export declare const DISCOVERY_DEFAULT_LIMITS: Readonly<{
14
+ readonly maxQueries: 8;
15
+ readonly maxFragmentsPerQuery: 16;
16
+ readonly maxQueryCharacters: 4000;
17
+ readonly maxCandidates: 8;
18
+ readonly aliasDiversitySlots: 0;
19
+ }>;
20
+ export declare const DISCOVERY_HARD_LIMITS: Readonly<{
21
+ readonly maxQueries: 32;
22
+ readonly maxFragmentsPerQuery: 32;
23
+ readonly maxQueryCharacters: 16000;
24
+ readonly maxCandidates: 20;
25
+ readonly aliasDiversitySlots: 1;
26
+ }>;
27
+ export declare const SELECTION_DEFAULT_LIMITS: Readonly<{
28
+ readonly maxTasks: 8;
29
+ readonly maxInputCharacters: 32000;
30
+ readonly maxAttempts: 1;
31
+ }>;
32
+ export declare const SELECTION_HARD_LIMITS: Readonly<{
33
+ readonly maxTasks: 32;
34
+ readonly maxInputCharacters: 128000;
35
+ readonly maxAttempts: 2;
36
+ }>;
37
+ //# sourceMappingURL=versions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"versions.d.ts","sourceRoot":"","sources":["../../src/discovery/versions.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,eAAO,MAAM,0BAA0B;;;;;;;;;EAS5B,CAAC;AAEZ,eAAO,MAAM,wBAAwB,EAAG,KAAc,CAAC;AAEvD,eAAO,MAAM,wBAAwB;;;;;;EAM1B,CAAC;AAEZ,eAAO,MAAM,qBAAqB;;;;;;EAMvB,CAAC;AAEZ,eAAO,MAAM,wBAAwB;;;;EAI1B,CAAC;AAEZ,eAAO,MAAM,qBAAqB;;;;EAIvB,CAAC"}
@@ -0,0 +1,36 @@
1
+ /** Internal contracts; package-level discovery exports are introduced separately. */
2
+ export const DISCOVERY_BINDING_VERSIONS = Object.freeze({
3
+ registry_source: "1.0",
4
+ corpus: "1.0",
5
+ embedding_configuration: "1.0",
6
+ index: "1.0",
7
+ eligibility: "1.0",
8
+ retrieval_policy: "1.0",
9
+ candidate_cards: "1.0",
10
+ selector: "1.2"
11
+ });
12
+ export const DISCOVERY_SCHEMA_VERSION = "1.0";
13
+ export const DISCOVERY_DEFAULT_LIMITS = Object.freeze({
14
+ maxQueries: 8,
15
+ maxFragmentsPerQuery: 16,
16
+ maxQueryCharacters: 4_000,
17
+ maxCandidates: 8,
18
+ aliasDiversitySlots: 0
19
+ });
20
+ export const DISCOVERY_HARD_LIMITS = Object.freeze({
21
+ maxQueries: 32,
22
+ maxFragmentsPerQuery: 32,
23
+ maxQueryCharacters: 16_000,
24
+ maxCandidates: 20,
25
+ aliasDiversitySlots: 1
26
+ });
27
+ export const SELECTION_DEFAULT_LIMITS = Object.freeze({
28
+ maxTasks: 8,
29
+ maxInputCharacters: 32_000,
30
+ maxAttempts: 1
31
+ });
32
+ export const SELECTION_HARD_LIMITS = Object.freeze({
33
+ maxTasks: 32,
34
+ maxInputCharacters: 128_000,
35
+ maxAttempts: 2
36
+ });
@@ -15,6 +15,7 @@ export declare function createOpenAILiveEvalRunner(options: {
15
15
  maxTurns?: number;
16
16
  model: string;
17
17
  runtimeName?: string;
18
+ providerExecution?: import("../openai/types.js").AicfOpenAIRunRequest["providerExecution"];
18
19
  systemInstructions?: string;
19
20
  temperature?: number;
20
21
  }): AicfLiveEvalRunner;
@@ -1 +1 @@
1
- {"version":3,"file":"live-eval-runner.d.ts","sourceRoot":"","sources":["../../src/evals-live/live-eval-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"live-eval-runner.d.ts","sourceRoot":"","sources":["../../src/evals-live/live-eval-runner.ts"],"names":[],"mappings":"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"}