modelrig 0.9.0 → 0.10.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 (223) hide show
  1. package/CHANGELOG.md +179 -0
  2. package/README.md +51 -27
  3. package/data/PROVENANCE.md +14 -0
  4. package/data/pricing-map.json +26 -0
  5. package/dist/adapters/attempt-meta-map.d.ts +8 -1
  6. package/dist/adapters/attempt-meta-map.d.ts.map +1 -1
  7. package/dist/adapters/attempt-meta-map.js +4 -0
  8. package/dist/adapters/build-adapters.js +2 -2
  9. package/dist/adapters/gemini.d.ts +28 -1
  10. package/dist/adapters/gemini.d.ts.map +1 -1
  11. package/dist/adapters/gemini.js +38 -9
  12. package/dist/adapters/grok.d.ts.map +1 -1
  13. package/dist/adapters/grok.js +53 -4
  14. package/dist/adapters/openai-compat.d.ts +8 -2
  15. package/dist/adapters/openai-compat.d.ts.map +1 -1
  16. package/dist/adapters/openai-compat.js +8 -1
  17. package/dist/adapters/openai-stream.d.ts +10 -2
  18. package/dist/adapters/openai-stream.d.ts.map +1 -1
  19. package/dist/adapters/openai-stream.js +5 -1
  20. package/dist/adapters/openai.d.ts +10 -1
  21. package/dist/adapters/openai.d.ts.map +1 -1
  22. package/dist/adapters/openai.js +57 -7
  23. package/dist/adapters/responses-api.d.ts +61 -0
  24. package/dist/adapters/responses-api.d.ts.map +1 -0
  25. package/dist/adapters/responses-api.js +124 -0
  26. package/dist/artifacts/artifact.d.ts +20 -0
  27. package/dist/artifacts/artifact.d.ts.map +1 -1
  28. package/dist/artifacts/artifact.js +207 -171
  29. package/dist/artifacts/index.d.ts +3 -1
  30. package/dist/artifacts/index.d.ts.map +1 -1
  31. package/dist/artifacts/index.js +8 -1
  32. package/dist/bakeoff/groundedness.d.ts +58 -0
  33. package/dist/bakeoff/groundedness.d.ts.map +1 -0
  34. package/dist/bakeoff/groundedness.js +165 -0
  35. package/dist/bakeoff/quality.d.ts +14 -1
  36. package/dist/bakeoff/quality.d.ts.map +1 -1
  37. package/dist/bakeoff/quality.js +10 -0
  38. package/dist/bakeoff/replay.d.ts.map +1 -1
  39. package/dist/bakeoff/replay.js +4 -0
  40. package/dist/cli.d.ts.map +1 -1
  41. package/dist/cli.js +8 -0
  42. package/dist/config.d.ts +31 -0
  43. package/dist/config.d.ts.map +1 -1
  44. package/dist/config.js +23 -0
  45. package/dist/doctor-cli.d.ts +7 -0
  46. package/dist/doctor-cli.d.ts.map +1 -0
  47. package/dist/doctor-cli.js +67 -0
  48. package/dist/doctor-preflight.d.ts +52 -0
  49. package/dist/doctor-preflight.d.ts.map +1 -0
  50. package/dist/doctor-preflight.js +112 -0
  51. package/dist/feedback/grade.d.ts +8 -1
  52. package/dist/feedback/grade.d.ts.map +1 -1
  53. package/dist/feedback/grade.js +4 -0
  54. package/dist/gateway/http-protocol.d.ts +19 -0
  55. package/dist/gateway/http-protocol.d.ts.map +1 -1
  56. package/dist/gateway/serve-client.d.ts +99 -0
  57. package/dist/gateway/serve-client.d.ts.map +1 -0
  58. package/dist/gateway/serve-client.js +360 -0
  59. package/dist/index.d.ts +25 -3
  60. package/dist/index.d.ts.map +1 -1
  61. package/dist/index.js +62 -8
  62. package/dist/prompts/manifest.d.ts +128 -0
  63. package/dist/prompts/manifest.d.ts.map +1 -0
  64. package/dist/prompts/manifest.js +214 -0
  65. package/dist/prompts/prompt-fetch.d.ts +84 -0
  66. package/dist/prompts/prompt-fetch.d.ts.map +1 -0
  67. package/dist/prompts/prompt-fetch.js +120 -0
  68. package/dist/prompts/prompt-resolve.d.ts +76 -0
  69. package/dist/prompts/prompt-resolve.d.ts.map +1 -0
  70. package/dist/prompts/prompt-resolve.js +93 -0
  71. package/dist/prompts/slot-resolver.d.ts +91 -0
  72. package/dist/prompts/slot-resolver.d.ts.map +1 -0
  73. package/dist/prompts/slot-resolver.js +135 -0
  74. package/dist/prompts/tools-register.d.ts +60 -0
  75. package/dist/prompts/tools-register.d.ts.map +1 -0
  76. package/dist/prompts/tools-register.js +48 -0
  77. package/dist/prompts/version-hash.d.ts +29 -0
  78. package/dist/prompts/version-hash.d.ts.map +1 -0
  79. package/dist/prompts/version-hash.js +54 -0
  80. package/dist/prompts-export-cli.d.ts +21 -0
  81. package/dist/prompts-export-cli.d.ts.map +1 -0
  82. package/dist/prompts-export-cli.js +130 -0
  83. package/dist/registry/cache-policy.d.ts.map +1 -1
  84. package/dist/registry/cache-policy.js +22 -0
  85. package/dist/registry/pricing-shape.d.ts +38 -8
  86. package/dist/registry/pricing-shape.d.ts.map +1 -1
  87. package/dist/registry/pricing-shape.js +40 -12
  88. package/dist/registry/pricing.d.ts +6 -5
  89. package/dist/registry/pricing.d.ts.map +1 -1
  90. package/dist/registry/pricing.js +9 -5
  91. package/dist/routes/destination-loader.d.ts +16 -0
  92. package/dist/routes/destination-loader.d.ts.map +1 -0
  93. package/dist/routes/destination-loader.js +29 -0
  94. package/dist/routes/draft.d.ts +7 -0
  95. package/dist/routes/draft.d.ts.map +1 -1
  96. package/dist/routes/draft.js +12 -0
  97. package/dist/routes/loader.d.ts.map +1 -1
  98. package/dist/routes/loader.js +27 -54
  99. package/dist/routes/output-loader.d.ts +42 -0
  100. package/dist/routes/output-loader.d.ts.map +1 -0
  101. package/dist/routes/output-loader.js +112 -0
  102. package/dist/routes/prompt-loader.d.ts +49 -0
  103. package/dist/routes/prompt-loader.d.ts.map +1 -0
  104. package/dist/routes/prompt-loader.js +113 -0
  105. package/dist/routes/resolved-bundle.d.ts +19 -0
  106. package/dist/routes/resolved-bundle.d.ts.map +1 -1
  107. package/dist/routes/resolved-bundle.js +24 -0
  108. package/dist/routes/screen-loader.d.ts +1 -1
  109. package/dist/routes/screen-loader.d.ts.map +1 -1
  110. package/dist/routes/screen-loader.js +8 -1
  111. package/dist/run/accept.d.ts +3 -0
  112. package/dist/run/accept.d.ts.map +1 -1
  113. package/dist/run/accept.js +1 -0
  114. package/dist/run/cost.d.ts +31 -2
  115. package/dist/run/cost.d.ts.map +1 -1
  116. package/dist/run/cost.js +57 -2
  117. package/dist/run/destination.d.ts +39 -0
  118. package/dist/run/destination.d.ts.map +1 -0
  119. package/dist/run/destination.js +45 -0
  120. package/dist/run/dispatch.d.ts +25 -3
  121. package/dist/run/dispatch.d.ts.map +1 -1
  122. package/dist/run/dispatch.js +26 -4
  123. package/dist/run/raw-defaults.d.ts.map +1 -1
  124. package/dist/run/raw-defaults.js +6 -1
  125. package/dist/run/raw-finalize.d.ts +50 -0
  126. package/dist/run/raw-finalize.d.ts.map +1 -0
  127. package/dist/run/raw-finalize.js +266 -0
  128. package/dist/run/raw-knobs.d.ts +36 -0
  129. package/dist/run/raw-knobs.d.ts.map +1 -0
  130. package/dist/run/raw-knobs.js +99 -0
  131. package/dist/run/raw-request.d.ts +24 -0
  132. package/dist/run/raw-request.d.ts.map +1 -0
  133. package/dist/run/raw-request.js +69 -0
  134. package/dist/run/raw-schema.d.ts +76 -0
  135. package/dist/run/raw-schema.d.ts.map +1 -0
  136. package/dist/run/raw-schema.js +166 -0
  137. package/dist/run/raw-search-cost.d.ts +48 -0
  138. package/dist/run/raw-search-cost.d.ts.map +1 -0
  139. package/dist/run/raw-search-cost.js +78 -0
  140. package/dist/run/raw-support.d.ts +64 -6
  141. package/dist/run/raw-support.d.ts.map +1 -1
  142. package/dist/run/raw-support.js +84 -11
  143. package/dist/run/raw.d.ts +25 -26
  144. package/dist/run/raw.d.ts.map +1 -1
  145. package/dist/run/raw.js +30 -351
  146. package/dist/run/record-attempt.d.ts +8 -0
  147. package/dist/run/record-attempt.d.ts.map +1 -1
  148. package/dist/run/record-attempt.js +26 -12
  149. package/dist/run/repair-attempt.d.ts +68 -0
  150. package/dist/run/repair-attempt.d.ts.map +1 -0
  151. package/dist/run/repair-attempt.js +180 -0
  152. package/dist/run/resolve-destination.d.ts +49 -0
  153. package/dist/run/resolve-destination.d.ts.map +1 -0
  154. package/dist/run/resolve-destination.js +76 -0
  155. package/dist/run/routing-docs.d.ts.map +1 -1
  156. package/dist/run/routing-docs.js +9 -4
  157. package/dist/run/run.d.ts +30 -1
  158. package/dist/run/run.d.ts.map +1 -1
  159. package/dist/run/run.js +75 -148
  160. package/dist/run/telemetry-row.d.ts +92 -0
  161. package/dist/run/telemetry-row.d.ts.map +1 -0
  162. package/dist/run/telemetry-row.js +81 -0
  163. package/dist/run/validate.d.ts +12 -1
  164. package/dist/run/validate.d.ts.map +1 -1
  165. package/dist/run/validate.js +31 -0
  166. package/dist/run/web-search-pricing.d.ts +43 -0
  167. package/dist/run/web-search-pricing.d.ts.map +1 -0
  168. package/dist/run/web-search-pricing.js +56 -0
  169. package/dist/settings/grading-guide.d.ts +27 -1
  170. package/dist/settings/grading-guide.d.ts.map +1 -1
  171. package/dist/status.d.ts +6 -0
  172. package/dist/status.d.ts.map +1 -1
  173. package/dist/status.js +4 -1
  174. package/dist/telemetry/artifact-store.d.ts.map +1 -1
  175. package/dist/telemetry/artifact-store.js +11 -0
  176. package/dist/telemetry/attempt-meta.d.ts +55 -1
  177. package/dist/telemetry/attempt-meta.d.ts.map +1 -1
  178. package/dist/telemetry/attempt-meta.js +24 -1
  179. package/dist/telemetry/exporter-setup.d.ts +2 -0
  180. package/dist/telemetry/exporter-setup.d.ts.map +1 -1
  181. package/dist/telemetry/exporter-setup.js +6 -1
  182. package/dist/telemetry/grade-mappers.d.ts +5 -2
  183. package/dist/telemetry/grade-mappers.d.ts.map +1 -1
  184. package/dist/telemetry/grade-mappers.js +8 -2
  185. package/dist/telemetry/grades-sql.d.ts +4 -1
  186. package/dist/telemetry/grades-sql.d.ts.map +1 -1
  187. package/dist/telemetry/grades-sql.js +26 -3
  188. package/dist/telemetry/ingest-protocol.d.ts +26 -2
  189. package/dist/telemetry/ingest-protocol.d.ts.map +1 -1
  190. package/dist/telemetry/ingest-protocol.js +32 -29
  191. package/dist/telemetry/org-identity.d.ts +44 -0
  192. package/dist/telemetry/org-identity.d.ts.map +1 -0
  193. package/dist/telemetry/org-identity.js +98 -0
  194. package/dist/telemetry/route-registration.d.ts +48 -0
  195. package/dist/telemetry/route-registration.d.ts.map +1 -0
  196. package/dist/telemetry/route-registration.js +77 -0
  197. package/dist/telemetry/sinks.d.ts +10 -1
  198. package/dist/telemetry/sinks.d.ts.map +1 -1
  199. package/dist/telemetry/sinks.js +52 -6
  200. package/dist/telemetry/store-migrations.d.ts.map +1 -1
  201. package/dist/telemetry/store-migrations.js +13 -0
  202. package/dist/tenancy/api-key-format.d.ts +16 -1
  203. package/dist/tenancy/api-key-format.d.ts.map +1 -1
  204. package/dist/tenancy/api-key-format.js +17 -0
  205. package/dist/types/provider.d.ts +20 -3
  206. package/dist/types/provider.d.ts.map +1 -1
  207. package/dist/types/provider.js +1 -0
  208. package/dist/types/route.d.ts +76 -0
  209. package/dist/types/route.d.ts.map +1 -1
  210. package/dist/types/telemetry.d.ts +30 -2
  211. package/dist/types/telemetry.d.ts.map +1 -1
  212. package/docs/agent-skill/SKILL.md +73 -5
  213. package/docs/instrumentation.md +81 -36
  214. package/docs/llms.txt +95 -16
  215. package/docs/managed-serving.md +150 -0
  216. package/docs/mcp-oracle.md +75 -2
  217. package/docs/migration-playbook.md +5 -4
  218. package/docs/quickstart.md +169 -83
  219. package/package.json +3 -2
  220. package/registry/registry.json +82 -0
  221. package/dist/feedback/feedback.d.ts +0 -35
  222. package/dist/feedback/feedback.d.ts.map +0 -1
  223. package/dist/feedback/feedback.js +0 -39
@@ -0,0 +1,360 @@
1
+ "use strict";
2
+ /**
3
+ * K1 (managed-serving-keyless §2/§3) — the SDK-side KEYLESS serving transport.
4
+ *
5
+ * This is the client half of `destination: modelrig-served`: instead of the
6
+ * local adapter dispatch, a served run is POSTed to the HOSTED gateway's
7
+ * `POST /v1/chat/completions` (the org's mirrored bundle, resolved BY SLUG and
8
+ * driven server-side through `runBundle` — see modelrig-server
9
+ * `handleMirroredSlugLane`). The gateway spends ModelRig's OWN managed provider
10
+ * key; the SDK sends ONLY its `rig_sk_` control-plane key (Bearer), NEVER a
11
+ * provider key.
12
+ *
13
+ * ONE wire contract: everything here is expressed in the SHARED
14
+ * `gateway/http-protocol.ts` shapes (`CHAT_COMPLETIONS_PATH`,
15
+ * `ChatCompletionRequest`, `ChatCompletionResponse`, `MODELRIG_HEADERS`,
16
+ * `MODELRIG_REQUEST_HEADERS`) — the same module `modelrig-server` compiles
17
+ * against, so the request this produces is exactly the one the endpoint
18
+ * consumes and the response it parses is exactly the one the endpoint emits.
19
+ *
20
+ * FAIL-CLOSED-BUT-DISCOVERABLE (spec §3 K1, ruling R3): a transport error, a
21
+ * non-2xx, a 402 (no prepaid balance), or a 403 (no serve entitlement) throws a
22
+ * TEACHING `RigFailureError` (class `invariant_violation`, TERMINAL) whose
23
+ * `fixHint` names the cause and the fix — NEVER a silent fall back to `direct`
24
+ * or a local key. `fetch` is injected (`fetchFn`) so tests mock the transport
25
+ * with no live network and no real key.
26
+ *
27
+ * TRANSPORT + MAPPING ONLY. The flag/capability gate + the run.ts branch point
28
+ * live in `run/resolve-destination.ts` / `run/run.ts`; this module is reached
29
+ * only AFTER the guard has passed.
30
+ */
31
+ Object.defineProperty(exports, "__esModule", { value: true });
32
+ exports.isChatShapedInput = isChatShapedInput;
33
+ exports.buildServedMessages = buildServedMessages;
34
+ exports.buildServedNamedInput = buildServedNamedInput;
35
+ exports.serveViaGateway = serveViaGateway;
36
+ const http_protocol_1 = require("./http-protocol");
37
+ const provider_1 = require("../types/provider");
38
+ const failures_1 = require("../types/failures");
39
+ function invariant(message, fixHint) {
40
+ return new failures_1.RigFailureError({ class: "invariant_violation", message, fixHint });
41
+ }
42
+ /**
43
+ * Is this run's `input` a CHAT-SHAPED input — the shape the OpenAI `messages`
44
+ * bridge carries faithfully (`input.messages` a transcript, or `input.message` a
45
+ * single user turn)? A route authored for the OpenAI-compatible surface declares
46
+ * exactly these variables (PROXY_RELAYED_VARS, server-side). Anything else is a
47
+ * NAMED-variable input carried by `modelrig.input` (K1b) instead.
48
+ */
49
+ function isChatShapedInput(input) {
50
+ return Array.isArray(input["messages"]) || typeof input["message"] === "string";
51
+ }
52
+ /**
53
+ * Map the run's CHAT-shaped `input` into OpenAI `messages` — the chat-relay
54
+ * bridge (the server rebuilds `message`/`messages` from it). Faithful for a
55
+ * chat-shaped route:
56
+ * - `input.messages` (an array of `{role, content}`) → the transcript verbatim;
57
+ * - else `input.message` (a string) → a single user turn.
58
+ *
59
+ * K1b: a route that templates over OTHER named variables is NO LONGER fails-closed
60
+ * here — `serveViaGateway` carries those faithfully via `modelrig.input`
61
+ * (`buildServedNamedInput`). This function is reached only for a chat-shaped
62
+ * input, so the final fail-closed branch stays as a defensive teaching error for
63
+ * a caller who invokes it directly on a non-chat input.
64
+ */
65
+ function buildServedMessages(route, input) {
66
+ const rawMessages = input["messages"];
67
+ if (Array.isArray(rawMessages)) {
68
+ const out = [];
69
+ for (const m of rawMessages) {
70
+ if (typeof m !== "object" || m === null) {
71
+ throw invariant("served run: `input.messages` must be an array of { role, content } turns", "each `messages` entry must be an object with a `role` and string/null `content`.");
72
+ }
73
+ const turn = m;
74
+ if (typeof turn.role !== "string") {
75
+ throw invariant("served run: every `input.messages` turn needs a string `role`", "shape each turn as { role: \"user\" | \"assistant\" | \"system\" | \"tool\", content: string | null }.");
76
+ }
77
+ out.push({ role: turn.role, content: typeof turn.content === "string" ? turn.content : null });
78
+ }
79
+ return out;
80
+ }
81
+ const message = input["message"];
82
+ if (typeof message === "string") {
83
+ return [{ role: "user", content: message }];
84
+ }
85
+ // Reached only if a caller invokes this directly on a non-chat input — the
86
+ // faithful named-variable path is `buildServedNamedInput`, chosen in
87
+ // `serveViaGateway`. Kept as a defensive teaching error (never a silent guess).
88
+ const declared = route.variables.length > 0 ? route.variables.join(", ") : "(none)";
89
+ throw invariant(`served run: route "${route.route}" input is not chat-shaped`, `\`buildServedMessages\` maps only chat-shaped input (\`message\` / \`messages\`); this route declares ` +
90
+ `variables [${declared}]. Named-variable routes are carried faithfully via \`modelrig.input\` — call ` +
91
+ `\`serveViaGateway\`, which selects that path.`);
92
+ }
93
+ /** Own-enumerable keys JSON.parse turns into landmines: a `__proto__` /
94
+ * `constructor` / `prototype` key would let a crafted named-input object attempt
95
+ * prototype pollution when the server binds it. The server rejects them too (the
96
+ * authoritative gate); refusing here as well keeps the SDK from ever POSTing one. */
97
+ const UNSAFE_INPUT_KEYS = new Set(["__proto__", "constructor", "prototype"]);
98
+ /**
99
+ * Assert a value can cross the JSON wire LOSSLESSLY — the faithfulness guarantee
100
+ * K1b must not break. JSON silently DROPS `undefined`/function/symbol values and
101
+ * TRANSFORMS non-finite numbers to `null`, either of which would hand the server
102
+ * a prompt that differs from the local render (a silently-wrong prompt). Reject
103
+ * them (and cycles, and exotic objects like Date/Map/class instances whose
104
+ * `toJSON`/loss the caller did not intend) with a precise reason. Plain objects,
105
+ * arrays, strings, finite numbers, booleans and null pass. Throws a bare Error
106
+ * whose message names the offending path — the caller wraps it as a teaching
107
+ * `RigFailureError`.
108
+ */
109
+ function assertJsonFaithful(value, path, seen) {
110
+ if (value === null)
111
+ return;
112
+ const t = typeof value;
113
+ if (t === "string" || t === "boolean")
114
+ return;
115
+ if (t === "number") {
116
+ if (!Number.isFinite(value))
117
+ throw new Error(`${path} is a non-finite number (${String(value)}), which JSON cannot carry`);
118
+ return;
119
+ }
120
+ if (t === "undefined" || t === "function" || t === "symbol" || t === "bigint") {
121
+ throw new Error(`${path} is a ${t}, which cannot cross the JSON wire`);
122
+ }
123
+ if (Array.isArray(value)) {
124
+ if (seen.has(value))
125
+ throw new Error(`${path} is a circular reference`);
126
+ seen.add(value);
127
+ value.forEach((v, i) => assertJsonFaithful(v, `${path}[${i}]`, seen));
128
+ seen.delete(value);
129
+ return;
130
+ }
131
+ if (t === "object") {
132
+ const proto = Object.getPrototypeOf(value);
133
+ if (proto !== Object.prototype && proto !== null) {
134
+ throw new Error(`${path} is a non-plain object (e.g. Date/Map/class instance), which JSON would silently reshape`);
135
+ }
136
+ if (seen.has(value))
137
+ throw new Error(`${path} is a circular reference`);
138
+ seen.add(value);
139
+ for (const [k, v] of Object.entries(value)) {
140
+ if (UNSAFE_INPUT_KEYS.has(k))
141
+ throw new Error(`${path} has a prototype-polluting key "${k}"`);
142
+ assertJsonFaithful(v, `${path}.${k}`, seen);
143
+ }
144
+ seen.delete(value);
145
+ return;
146
+ }
147
+ throw new Error(`${path} is a ${t}, which cannot cross the JSON wire`);
148
+ }
149
+ /**
150
+ * K1b — carry a NAMED-variable route's `input` faithfully as `modelrig.input`,
151
+ * INSTEAD of the K1 fail-closed. A templated/non-chat route (an InferWealth
152
+ * report route, say) declares structured variables (`{ topic, holdings, … }`),
153
+ * not `message`/`messages`; this is the provider-neutral object the server binds
154
+ * so the route template renders exactly as a local `rig.run` would.
155
+ *
156
+ * Still fail-closed-but-discoverable (K1's guarantee preserved): the only reason
157
+ * to refuse now is a genuinely UN-SERIALIZABLE input — one JSON cannot carry
158
+ * losslessly, which would degrade to a silently-wrong prompt server-side.
159
+ * `assertJsonFaithful` names the exact offending value; we wrap it as a teaching
160
+ * error, never a silent drop.
161
+ */
162
+ function buildServedNamedInput(route, input) {
163
+ try {
164
+ assertJsonFaithful(input, "input", new WeakSet());
165
+ }
166
+ catch (err) {
167
+ throw invariant(`served run: route "${route.route}" input cannot be carried faithfully to the hosted gateway`, `${err.message}. Managed serving relays a templated route's named variables as JSON in ` +
168
+ `\`modelrig.input\`, so every value must be JSON-faithful (strings, finite numbers, booleans, null, ` +
169
+ `plain objects and arrays). Send a JSON-faithful \`input\`, or serve this route with \`destination: direct\`.`);
170
+ }
171
+ return input;
172
+ }
173
+ function requireHeader(headers, name) {
174
+ const v = headers.get(name);
175
+ if (v === null || v.trim() === "") {
176
+ throw invariant(`served run: the gateway response is missing the \`${name}\` provenance header`, "the response did not carry ModelRig provenance headers — confirm MODELRIG_INGEST_URL points at the " +
177
+ "ModelRig hosted gateway (not a bare OpenAI-compatible proxy), then retry.");
178
+ }
179
+ return v;
180
+ }
181
+ function asProviderId(raw) {
182
+ if (!provider_1.PROVIDER_IDS.includes(raw)) {
183
+ throw invariant(`served run: the gateway reported an unknown provider "${raw}"`, "the served provider is not a provider this SDK build knows — upgrade `modelrig`, or check the gateway version.");
184
+ }
185
+ return raw;
186
+ }
187
+ /** Build the `RunMeta` for a served run from the gateway's provenance headers +
188
+ * the OpenAI usage block. Fields the wire does not expose are filled from the
189
+ * LOCAL bundle (`routeVersion`, tiers) or left at the honest client-side default
190
+ * (`tokensCached: 0`, `attemptsByClass: {}` — the server-side retry ladder is
191
+ * not visible to the client; `callId` is omitted for the same reason). */
192
+ function buildServedMeta(route, servedVariant, headers, usage, latencyMs, toolCalls) {
193
+ const provider = asProviderId(requireHeader(headers, http_protocol_1.MODELRIG_HEADERS.provider));
194
+ const model = requireHeader(headers, http_protocol_1.MODELRIG_HEADERS.model);
195
+ const inferenceId = requireHeader(headers, http_protocol_1.MODELRIG_HEADERS.inferenceId);
196
+ const validated = headers.get(http_protocol_1.MODELRIG_HEADERS.validated) === "true";
197
+ const costRaw = headers.get(http_protocol_1.MODELRIG_HEADERS.costUsd);
198
+ const costEstimateUsd = costRaw !== null && costRaw.trim() !== "" && Number.isFinite(Number(costRaw)) ? Number(costRaw) : 0;
199
+ const repairedBy = headers.get(http_protocol_1.MODELRIG_HEADERS.repairedBy);
200
+ return {
201
+ inferenceId,
202
+ route: route.route,
203
+ routeVersion: route.version,
204
+ provider,
205
+ model,
206
+ requestedTier: route.policy.tier,
207
+ // The wire contract does not carry the served tier back; the client reports
208
+ // the route's requested tier (best-effort — a flagged K1 caveat).
209
+ servedTier: route.policy.tier,
210
+ tokensIn: usage.prompt_tokens,
211
+ tokensOut: usage.completion_tokens,
212
+ tokensCached: 0,
213
+ costEstimateUsd,
214
+ latencyMs,
215
+ validated,
216
+ // Server-side retries are not visible to the client — honest-empty.
217
+ attemptsByClass: {},
218
+ servedVariant,
219
+ repairedBy: repairedBy !== null && repairedBy.trim() !== "" ? repairedBy : null,
220
+ destination: "modelrig-served",
221
+ ...(toolCalls !== undefined && toolCalls.length > 0 ? { toolCalls } : {}),
222
+ };
223
+ }
224
+ /** Map the OpenAI completion `content` back to the run `output`. A structured
225
+ * route (has an `outputSchema`) returns the validated object as a JSON string —
226
+ * parse it back; an unstructured route's output is the string as-is; a tool-call
227
+ * turn has null content (the calls carry the turn). */
228
+ function parseServedOutput(route, content, hasToolCalls) {
229
+ if (hasToolCalls)
230
+ return null;
231
+ if (content === null)
232
+ return null;
233
+ if (route.outputSchema === null)
234
+ return content;
235
+ try {
236
+ return JSON.parse(content);
237
+ }
238
+ catch {
239
+ throw invariant(`served run: route "${route.route}" is structured but the gateway returned non-JSON content`, "the hosted gateway returned a validated structured route as a non-JSON string — this is a gateway " +
240
+ "contract violation; retry, and check the gateway version if it persists.");
241
+ }
242
+ }
243
+ /**
244
+ * Serve a run through the hosted gateway and map the completion back into a
245
+ * normal `RunResult`. Reached only after `assertDestinationServable` has passed
246
+ * (flag on + served-capable provider). Fail-closed-but-discoverable throughout.
247
+ */
248
+ async function serveViaGateway(input) {
249
+ const { route, opts, servedVariant, serve } = input;
250
+ if (serve === undefined) {
251
+ throw invariant("managed serving is enabled but no hosted control plane is configured", "`destination: modelrig-served` serves the run on ModelRig's managed key via the hosted gateway, which " +
252
+ "needs your `rig_sk_` control-plane key. Configure the api export (set MODELRIG_API_KEY) — the same key " +
253
+ "telemetry ingest uses — or serve this route with `destination: direct`.");
254
+ }
255
+ // K1b: two faithful carriers, chosen by the run's input shape.
256
+ // chat-shaped input → OpenAI `messages` (the K1 chat-relay bridge);
257
+ // named-variable input → `modelrig.input` (the route's own template vars),
258
+ // with `messages: []` since the wire requires the field.
259
+ // A named-variable route is no longer fails-closed (K1) — only a genuinely
260
+ // un-serializable input still fails closed, in `buildServedNamedInput`.
261
+ const chatShaped = isChatShapedInput(opts.input);
262
+ const messages = chatShaped ? buildServedMessages(route, opts.input) : [];
263
+ const namedInput = chatShaped ? undefined : buildServedNamedInput(route, opts.input);
264
+ const modelrigExt = {
265
+ ...(servedVariant !== null ? { variant: servedVariant } : {}),
266
+ ...(namedInput !== undefined ? { input: namedInput } : {}),
267
+ };
268
+ const body = {
269
+ // `@rig/<slug>` is the unambiguous slug form (the hosted mirror lane resolves
270
+ // it BY SLUG for the authenticated key's org).
271
+ model: `@rig/${route.route}`,
272
+ messages,
273
+ stream: false,
274
+ ...(opts.tools !== undefined ? { tools: opts.tools } : {}),
275
+ ...(opts.toolChoice !== undefined ? { tool_choice: opts.toolChoice } : {}),
276
+ ...(Object.keys(modelrigExt).length > 0 ? { modelrig: modelrigExt } : {}),
277
+ };
278
+ const url = serve.baseUrl.replace(/\/+$/, "") + http_protocol_1.CHAT_COMPLETIONS_PATH;
279
+ const fetchFn = input.fetchFn ?? fetch;
280
+ const startedAt = Date.now();
281
+ let response;
282
+ try {
283
+ response = await fetchFn(url, {
284
+ method: "POST",
285
+ headers: {
286
+ "content-type": "application/json",
287
+ authorization: `Bearer ${serve.apiKey}`,
288
+ // Named-route variant to serve (spec §3.4); the endpoint honors the
289
+ // header over the body `modelrig.variant`.
290
+ ...(servedVariant !== null ? { [http_protocol_1.MODELRIG_REQUEST_HEADERS.variant]: servedVariant } : {}),
291
+ },
292
+ body: JSON.stringify(body),
293
+ });
294
+ }
295
+ catch (err) {
296
+ // Transport-level throw — no status. NEVER a silent fall back to a local key.
297
+ throw new failures_1.RigFailureError({
298
+ class: "invariant_violation",
299
+ message: "managed serving could not reach the hosted control plane",
300
+ fixHint: "the hosted gateway was unreachable (a network/transport error) — check connectivity and that " +
301
+ "MODELRIG_INGEST_URL is correct; managed serving fails closed rather than silently serving `direct`.",
302
+ cause: err,
303
+ });
304
+ }
305
+ const latencyMs = Date.now() - startedAt;
306
+ if (!response.ok) {
307
+ throw invariant(...failClosedForStatus(response.status));
308
+ }
309
+ let parsed;
310
+ try {
311
+ parsed = (await response.json());
312
+ }
313
+ catch (err) {
314
+ throw new failures_1.RigFailureError({
315
+ class: "invariant_violation",
316
+ message: "managed serving got a 2xx from the gateway but the body was not a JSON completion",
317
+ fixHint: "the hosted gateway returned an unparseable body — confirm MODELRIG_INGEST_URL points at the ModelRig " +
318
+ "hosted gateway, then retry.",
319
+ cause: err,
320
+ });
321
+ }
322
+ const choice = parsed.choices[0];
323
+ const toolCalls = choice?.message.tool_calls;
324
+ const content = choice?.message.content ?? null;
325
+ const meta = buildServedMeta(route, servedVariant, response.headers, parsed.usage, latencyMs, toolCalls);
326
+ const output = parseServedOutput(route, content, toolCalls !== undefined && toolCalls.length > 0);
327
+ return { output, meta };
328
+ }
329
+ /** The fail-closed matrix (spec §3 K1): map a non-2xx gateway status to a
330
+ * teaching `[message, fixHint]`. Every case is `invariant_violation` (TERMINAL)
331
+ * and names the cause + fix — NEVER a fall back to `direct`/local key. */
332
+ function failClosedForStatus(status) {
333
+ if (status === 402) {
334
+ return [
335
+ "managed serving refused: no prepaid balance (402)",
336
+ "the hosted gateway returned 402 — your organization has no prepaid managed-serving balance. Top up " +
337
+ "your balance in the console, or serve this route with `destination: direct` (your own provider key).",
338
+ ];
339
+ }
340
+ if (status === 403) {
341
+ return [
342
+ "managed serving refused: no serve entitlement (403)",
343
+ "the hosted gateway returned 403 — this organization/key is not entitled to managed serving. Enable " +
344
+ "managed serving for your org in the console, or serve this route with `destination: direct`.",
345
+ ];
346
+ }
347
+ if (status === 401) {
348
+ return [
349
+ "managed serving refused: the rig_sk_ key was rejected (401)",
350
+ "the hosted gateway returned 401 — the `rig_sk_` control-plane key (MODELRIG_API_KEY) was not accepted. " +
351
+ "Check the key and that it belongs to the org you expect, then retry.",
352
+ ];
353
+ }
354
+ return [
355
+ `managed serving refused: the hosted gateway returned ${status}`,
356
+ `the hosted gateway returned a non-2xx status (${status}) — managed serving fails closed rather than ` +
357
+ "silently serving `direct`. Retry shortly, and check control-plane health (and the route is deployed to " +
358
+ "your org's mirror) if it persists.",
359
+ ];
360
+ }
package/dist/index.d.ts CHANGED
@@ -10,6 +10,7 @@
10
10
  */
11
11
  import type { RigConfig } from "./config";
12
12
  import type { ServeabilityWarning } from "./routes/serveability";
13
+ import { type ToolRegistry } from "./prompts/tools-register";
13
14
  import type { RunStreamHandle, RunStreamOptions } from "./run/stream";
14
15
  import type { RawRunInput } from "./run/raw";
15
16
  import type { CapabilityLookup } from "./run/resolve";
@@ -105,6 +106,13 @@ export interface Rig {
105
106
  * steps. Inert without a control plane (or the dev-only local force-on); the org
106
107
  * capture posture governs at runtime (spec §1.4). Chunk B: save/load/eval. */
107
108
  readonly artifacts: ArtifactNamespace;
109
+ /** PSR-2b client-fill tool registry (spec §4 ADJ-2). `rig.tools.register(name,
110
+ * fn)` binds a `dynamic·tool` manifest slot's name to a function run IN-PROCESS
111
+ * with the customer's keys; the client-fill engine ({@link assemblePrompt})
112
+ * resolves each slot locally and an unbound tool FAILS CLOSED with a teaching
113
+ * error. Tool keys + resolved data never leave the process (the registry has no
114
+ * network/telemetry reach). */
115
+ readonly tools: ToolRegistry;
108
116
  /** Poison batches the cloud exporter skipped past, per stream (E2 Phase 2). */
109
117
  exporterStats(): ExporterStats;
110
118
  /** Runtime posture (§2): export mode, artifact-namespace on/off + WHY, content
@@ -120,7 +128,7 @@ export type { RigConfig, ApiExportConfig, DirectExportConfig } from "./config";
120
128
  export { stampBatch, foreignOrgGrades, INGEST_PATH, INGEST_PROTOCOL_VERSION, INGEST_PROTOCOL_VERSION_V1, DEFAULT_INGEST_URL } from "./telemetry/ingest-protocol";
121
129
  export type { IngestBatch, IngestOutcome, TableWrite, Tenancy, WireInference, WireEnvelope, WireRoute, WireRun, WireStep, WireArtifact, WireArtifactEdge, WireGrade, WireEvalCase, WireManifest, } from "./telemetry/ingest-protocol";
122
130
  export { summarizeAttemptMeta, isMetaSafeString, sanitizeMetaForWire, renderRequestForHash, reservedTagNearMisses, resolvePipelineSha, RESERVED_TAG_KEYS } from "./telemetry/attempt-meta";
123
- export type { AttemptMetaV1, RunMetaV1, FinishReason, ContextBucket, EgressReceiptV1, AttemptMetaInputs, AttemptMetaSource, ReservedTagKey } from "./telemetry/attempt-meta";
131
+ export type { AttemptMetaV1, RunMetaV1, FinishReason, ContextBucket, EgressReceiptV1, AttemptMetaInputs, AttemptMetaSource, ReservedTagKey, PromptDelivery } from "./telemetry/attempt-meta";
124
132
  export { createTelemetryExporter } from "./telemetry/exporter";
125
133
  export type { Exporter, ExporterConfig, ExporterStats, ExportedRouteMirror } from "./telemetry/exporter";
126
134
  export { createApiSink, createDirectSink, SinkSendError } from "./telemetry/sinks";
@@ -134,6 +142,17 @@ export { decodeOtlpProtobufTraces } from "./telemetry/otlp-proto";
134
142
  export { parseOtlpHeaders, resolveOtlpConfig } from "./config";
135
143
  export type { OtlpConfig } from "./config";
136
144
  export * from "./artifacts";
145
+ export { validateManifest, assertValidManifest, parseAuthoringDoc, normalizeManifest } from "./prompts/manifest";
146
+ export { promptTemplateSha } from "./prompts/version-hash";
147
+ export { createApiPromptFetcher, createPromptCache, parseServedPrompt } from "./prompts/prompt-fetch";
148
+ export type { PromptFetcher, PromptCache, ServedPrompt, ApiPromptFetcherConfig } from "./prompts/prompt-fetch";
149
+ export { createPromptResolver, createEmbeddedPrompts } from "./prompts/prompt-resolve";
150
+ export type { PromptResolver, PromptResolverConfig, ServedPromptResolution, PromptServeSource, EmbeddedPrompts } from "./prompts/prompt-resolve";
151
+ export { assemblePrompt, SlotResolutionError } from "./prompts/slot-resolver";
152
+ export type { AssembledPrompt, ResolvedSlot, SlotResolveContext, CacheReader } from "./prompts/slot-resolver";
153
+ export { createToolRegistry } from "./prompts/tools-register";
154
+ export type { ToolRegistry, ToolFn, ToolResolveContext } from "./prompts/tools-register";
155
+ export type { Slot, SlotKind, Manifest, DynamicSource, DynamicSourceKind, StaticFrom, ManifestValidation, AuthoringDoc, } from "./prompts/manifest";
137
156
  export { resolveArtifactsConfig } from "./config";
138
157
  export type { ArtifactsConfig } from "./config";
139
158
  export * from "./detect/detector";
@@ -143,10 +162,11 @@ export { API_KEY_PREFIX, API_KEY_SCOPES, API_KEY_SECRET_BYTES, hashApiKeySecret,
143
162
  export type { ApiKeyScope } from "./tenancy/api-key-format";
144
163
  export { scrubSecrets, containsKeyShapedString, KEY_SHAPED_PREFIXES } from "./tenancy/scrub";
145
164
  export type { TelemetrySink, ApiSinkConfig, DirectSinkConfig } from "./telemetry/sinks";
146
- export type { RunOptions, RunResult, RunMeta, RouteBundle, RouteVariant, RepairPolicy, RunTags, CandidateSpec, Requirement, } from "./types/route";
165
+ export type { RunOptions, RunResult, RunMeta, RouteBundle, RouteVariant, RepairPolicy, RunTags, CandidateSpec, Requirement, OutputKind, } from "./types/route";
147
166
  export type { QualityGate, QualityVerdict, QualityGateMeta } from "./types/quality";
148
167
  export { exactMatch, fieldAccuracy, resolveDeterministicQuality } from "./bakeoff/quality";
149
168
  export type { GraderType } from "./bakeoff/quality";
169
+ export { groundednessScore, extractEvidenceQuotes } from "./bakeoff/groundedness";
150
170
  export { runBakeoffFromEvalCases, selectEvalCaseCaptures, evalCaseCaptureStore } from "./bakeoff/eval-cases";
151
171
  export type { EvalCaseStores, EvalCaseBakeoffResult, EvalCaseSelection, RehydratedCase, EvalCaseRefusal, EvalCaseSelectionDeps } from "./bakeoff/eval-cases";
152
172
  export type { EvalCaseRow, EvalCaseOrigin } from "./types/telemetry";
@@ -202,6 +222,8 @@ export type { ServeabilityWarning } from "./routes/serveability";
202
222
  export { PROVIDER_KEY_ENV } from "./config";
203
223
  export { createGeminiAdapter, GEMINI_THINKING_CAPABLE_MODELS } from "./adapters/gemini";
204
224
  export * from "./run/raw-support";
225
+ export { DESTINATIONS, DEFAULT_DESTINATION, servedDestinations, destinationSupported } from "./run/destination";
226
+ export type { Destination } from "./run/destination";
205
227
  export { createOpenAIAdapter } from "./adapters/openai";
206
228
  export { createDeepSeekAdapter } from "./adapters/deepseek";
207
229
  export { createAnthropicAdapter } from "./adapters/anthropic";
@@ -234,7 +256,7 @@ export { computeParity } from "./registry/parity";
234
256
  export type { ParityListEntry, ParityReport, ParityGap } from "./registry/parity";
235
257
  export type { RegistryFacts } from "./registry/facts";
236
258
  export type { SchemaFingerprint, TaskCategory } from "./registry/fingerprint";
237
- export type { TelemetryStore, TelemetryRow, TelemetryRung, GradeRow, GradeSubject } from "./types/telemetry";
259
+ export type { TelemetryStore, TelemetryRow, TelemetryRung, GradeRow, GradeSubject, GradeCriterion, GradeCriterionEvidence } from "./types/telemetry";
238
260
  export type { GradeOpts } from "./feedback/grade";
239
261
  export { computeCoverage, RUNG1_MIN_GRADES } from "./feedback/coverage";
240
262
  export type { RouteCoverage } from "./feedback/coverage";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAK1C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAIjE,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAOtD,OAAO,EAAoB,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGvE,OAAO,KAAK,EAAY,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAEpE,OAAO,EAAkC,KAAK,SAAS,EAAE,MAAM,UAAU,CAAC;AAI1E,OAAO,EAAgB,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAIhE,OAAO,EAAiB,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE1E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAA0B,KAAK,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAC7F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAqB,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAGnE,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACvF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAGnD,MAAM,WAAW,GAAG;IAClB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACzD;;;4EAGwE;IACxE,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACrE,4EAA4E;IAC5E,eAAe,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,gBAAgB,GAAG,eAAe,CAAC;IAC9E;;;gFAG4E;IAC5E,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,GAAG,eAAe,CAAC;IAClE;;;;kEAI8D;IAC9D,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAC/C;gFAC4E;IAC5E,YAAY,CAAC,KAAK,EAAE,WAAW,GAAG,eAAe,CAAC;IAClD;uFACmF;IACnF,KAAK,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,GAAG,QAAQ,CAAC;IACxD;;6EAEyE;IACzE,MAAM,CACJ,KAAK,EAAE,MAAM,EACb,IAAI,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GACxF,OAAO,CAAC,SAAS,kBAAkB,EAAE,CAAC,CAAC;IAC1C;;kFAE8E;IAC9E,OAAO,CACL,KAAK,EAAE,MAAM,EACb,IAAI,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;QAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,eAAe,CAAC;QAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC;QAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAA;KAAE,GACxO,OAAO,CAAC,eAAe,CAAC,CAAC;IAC5B,mIAAmI;IACnI,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE;QAAE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACrH,4JAA4J;IAC5J,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAC/F;;;;;sFAKkF;IAClF,wBAAwB,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAClI;;mFAE+E;IAC/E,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,EAAE,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC/H;yFACqF;IACrF,QAAQ,CAAC,YAAY,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACtD;;0CAEsC;IACtC,QAAQ,CAAC,YAAY,EAAE,gBAAgB,CAAC;IACxC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC;;;kFAG8E;IAC9E,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;IACtC,+EAA+E;IAC/E,aAAa,IAAI,aAAa,CAAC;IAC/B;;sFAEkF;IAClF,MAAM,IAAI,SAAS,CAAC;IACpB,yFAAyF;IACzF,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAKD,wBAAgB,SAAS,CAAC,MAAM,EAAE,SAAS,GAAG,GAAG,CA6QhD;AAED,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAM/E,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,WAAW,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjK,YAAY,EACV,WAAW,EACX,aAAa,EACb,UAAU,EACV,OAAO,EACP,aAAa,EACb,YAAY,EACZ,SAAS,EACT,OAAO,EACP,QAAQ,EACR,YAAY,EACZ,gBAAgB,EAChB,SAAS,EACT,YAAY,EAAE,YAAY,GAC3B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC3L,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC7K,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AACzG,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGnF,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACpI,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,6BAA6B,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAClI,OAAO,EAAE,iBAAiB,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AAC3F,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAI/E,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACvF,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC/G,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC/D,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAG3C,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAClD,YAAY,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAChD,cAAc,mBAAmB,CAAC;AAGlC,cAAc,YAAY,CAAC;AAE3B,cAAc,UAAU,CAAC;AAGzB,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,eAAe,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACxK,YAAY,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC7F,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACxF,YAAY,EACV,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EACvE,OAAO,EAAE,aAAa,EAAE,WAAW,GACpC,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACpF,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAC3F,YAAY,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC7G,YAAY,EAAE,cAAc,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,cAAc,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAAC,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAAC,YAAY,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEzS,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAGtF,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAAC,OAAO,EAAE,eAAe,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,aAAa,EAAE,SAAS,IAAI,mBAAmB,EAAE,eAAe,EAAE,eAAe,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACnY,YAAY,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAAC,YAAY,EAAE,0BAA0B,EAAE,iBAAiB,EAAE,cAAc,EAAE,aAAa,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3W,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACjD,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAGzD,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAGzF,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACjG,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAGtE,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,WAAW,EACX,wBAAwB,EACxB,gBAAgB,EAChB,wBAAwB,EACxB,QAAQ,GACT,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,IAAI,EACJ,cAAc,EACd,WAAW,EACX,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACpH,YAAY,EAAE,cAAc,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC/G,OAAO,EACL,0BAA0B,EAC1B,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,aAAa,EACb,oBAAoB,EACpB,UAAU,EACV,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACjG,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEvI,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,0BAA0B,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC/E,YAAY,EACV,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,WAAW,GACZ,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEjE,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAC9F,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACpG,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACvG,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAGpD,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,EACrB,4BAA4B,GAC7B,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,kBAAkB,EAClB,cAAc,EACd,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC5F,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAC7F,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACzF,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtE,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChE,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAE7E,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAClE,YAAY,EACV,UAAU,EACV,cAAc,EACd,cAAc,EACd,SAAS,EACT,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAChF,YAAY,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAI5C,OAAO,EAAE,mBAAmB,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAC;AAExF,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5F,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAC/G,YAAY,EAAE,cAAc,EAAE,kBAAkB,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACzH,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAE,cAAc,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AACrF,YAAY,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAK5G,YAAY,EACV,cAAc,EACd,eAAe,EACf,gBAAgB,GACjB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,cAAc,EAAE,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC7L,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAI/E,OAAO,EACL,oBAAoB,EAAE,YAAY,EAAE,aAAa,EAAE,qBAAqB,EACxE,yBAAyB,EAAE,eAAe,EAC1C,qBAAqB,EAAE,6BAA6B,GACrD,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,mBAAmB,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAChE,gBAAgB,EAAE,oBAAoB,EAAE,qBAAqB,GAC9D,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AACnG,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACnE,YAAY,EACV,UAAU,EACV,UAAU,EACV,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAClF,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC9E,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC7G,YAAY,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACxE,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,2BAA2B,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACjL,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,UAAU,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAE/Y,OAAO,EAAE,4BAA4B,EAAE,KAAK,aAAa,EAAE,KAAK,iBAAiB,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC/H,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,4BAA4B,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,KAAK,mBAAmB,EAAE,KAAK,kBAAkB,EAAE,KAAK,wBAAwB,EAAE,KAAK,wBAAwB,EAAE,KAAK,gBAAgB,EAAE,KAAK,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACve,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC5E,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,cAAc,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAE7I,OAAO,EAAE,eAAe,EAAE,0BAA0B,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAC7I,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACzJ,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEvG,OAAO,EACL,qBAAqB,EACrB,iCAAiC,EACjC,yBAAyB,EACzB,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AACpF,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AACjG,YAAY,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAE7D,OAAO,EAAE,eAAe,EAAE,8BAA8B,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACvG,YAAY,EACV,UAAU,EACV,eAAe,EACf,cAAc,EACd,eAAe,EACf,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,UAAU,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,4BAA4B,EAAE,kBAAkB,EAAE,aAAa,EAAE,cAAc,EAAE,WAAW,EAAE,iBAAiB,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC7S,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,oBAAoB,EAAE,eAAe,EAAE,iBAAiB,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpQ,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC9G,YAAY,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACzF,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}