@sriinnu/kosha-discovery 1.0.0 → 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.
@@ -24,6 +24,7 @@ export const PROVIDER_CATALOG = [
24
24
  defaultBaseUrl: "https://api.anthropic.com",
25
25
  credentialRequired: true,
26
26
  credentialEnvVars: ["ANTHROPIC_API_KEY"],
27
+ primaryCredentialEnvVar: "ANTHROPIC_API_KEY",
27
28
  // Anthropic prompt cache requires ≥1024 tokens for most Claude models.
28
29
  minCachePrefixTokens: 1024,
29
30
  },
@@ -38,6 +39,7 @@ export const PROVIDER_CATALOG = [
38
39
  defaultBaseUrl: "https://api.openai.com",
39
40
  credentialRequired: true,
40
41
  credentialEnvVars: ["OPENAI_API_KEY"],
42
+ primaryCredentialEnvVar: "OPENAI_API_KEY",
41
43
  // OpenAI prompt cache engages for prefixes ≥1024 tokens.
42
44
  minCachePrefixTokens: 1024,
43
45
  },
@@ -52,6 +54,7 @@ export const PROVIDER_CATALOG = [
52
54
  defaultBaseUrl: "https://generativelanguage.googleapis.com",
53
55
  credentialRequired: true,
54
56
  credentialEnvVars: ["GOOGLE_API_KEY", "GEMINI_API_KEY"],
57
+ primaryCredentialEnvVar: "GOOGLE_API_KEY",
55
58
  },
56
59
  {
57
60
  providerId: "openrouter",
@@ -64,6 +67,7 @@ export const PROVIDER_CATALOG = [
64
67
  defaultBaseUrl: "https://openrouter.ai/api/v1",
65
68
  credentialRequired: false,
66
69
  credentialEnvVars: ["OPENROUTER_API_KEY"],
70
+ primaryCredentialEnvVar: "OPENROUTER_API_KEY",
67
71
  },
68
72
  {
69
73
  providerId: "ollama",
@@ -124,6 +128,7 @@ export const PROVIDER_CATALOG = [
124
128
  defaultBaseUrl: "https://integrate.api.nvidia.com/v1",
125
129
  credentialRequired: true,
126
130
  credentialEnvVars: ["NVIDIA_API_KEY"],
131
+ primaryCredentialEnvVar: "NVIDIA_API_KEY",
127
132
  },
128
133
  {
129
134
  providerId: "together",
@@ -136,6 +141,7 @@ export const PROVIDER_CATALOG = [
136
141
  defaultBaseUrl: "https://api.together.xyz/v1",
137
142
  credentialRequired: true,
138
143
  credentialEnvVars: ["TOGETHER_API_KEY"],
144
+ primaryCredentialEnvVar: "TOGETHER_API_KEY",
139
145
  },
140
146
  {
141
147
  providerId: "fireworks",
@@ -148,6 +154,7 @@ export const PROVIDER_CATALOG = [
148
154
  defaultBaseUrl: "https://api.fireworks.ai/inference/v1",
149
155
  credentialRequired: true,
150
156
  credentialEnvVars: ["FIREWORKS_API_KEY"],
157
+ primaryCredentialEnvVar: "FIREWORKS_API_KEY",
151
158
  },
152
159
  {
153
160
  providerId: "groq",
@@ -160,6 +167,7 @@ export const PROVIDER_CATALOG = [
160
167
  defaultBaseUrl: "https://api.groq.com/openai/v1",
161
168
  credentialRequired: true,
162
169
  credentialEnvVars: ["GROQ_API_KEY"],
170
+ primaryCredentialEnvVar: "GROQ_API_KEY",
163
171
  },
164
172
  {
165
173
  providerId: "mistral",
@@ -172,6 +180,7 @@ export const PROVIDER_CATALOG = [
172
180
  defaultBaseUrl: "https://api.mistral.ai/v1",
173
181
  credentialRequired: true,
174
182
  credentialEnvVars: ["MISTRAL_API_KEY"],
183
+ primaryCredentialEnvVar: "MISTRAL_API_KEY",
175
184
  },
176
185
  {
177
186
  providerId: "deepinfra",
@@ -184,6 +193,7 @@ export const PROVIDER_CATALOG = [
184
193
  defaultBaseUrl: "https://api.deepinfra.com/v1/openai",
185
194
  credentialRequired: true,
186
195
  credentialEnvVars: ["DEEPINFRA_API_KEY"],
196
+ primaryCredentialEnvVar: "DEEPINFRA_API_KEY",
187
197
  },
188
198
  {
189
199
  providerId: "cohere",
@@ -196,6 +206,7 @@ export const PROVIDER_CATALOG = [
196
206
  defaultBaseUrl: "https://api.cohere.com",
197
207
  credentialRequired: true,
198
208
  credentialEnvVars: ["CO_API_KEY"],
209
+ primaryCredentialEnvVar: "CO_API_KEY",
199
210
  },
200
211
  {
201
212
  providerId: "cerebras",
@@ -208,6 +219,7 @@ export const PROVIDER_CATALOG = [
208
219
  defaultBaseUrl: "https://api.cerebras.ai/v1",
209
220
  credentialRequired: true,
210
221
  credentialEnvVars: ["CEREBRAS_API_KEY"],
222
+ primaryCredentialEnvVar: "CEREBRAS_API_KEY",
211
223
  },
212
224
  {
213
225
  providerId: "perplexity",
@@ -220,6 +232,7 @@ export const PROVIDER_CATALOG = [
220
232
  defaultBaseUrl: "https://api.perplexity.ai",
221
233
  credentialRequired: true,
222
234
  credentialEnvVars: ["PERPLEXITY_API_KEY"],
235
+ primaryCredentialEnvVar: "PERPLEXITY_API_KEY",
223
236
  },
224
237
  {
225
238
  providerId: "deepseek",
@@ -232,6 +245,7 @@ export const PROVIDER_CATALOG = [
232
245
  defaultBaseUrl: "https://api.deepseek.com",
233
246
  credentialRequired: true,
234
247
  credentialEnvVars: ["DEEPSEEK_API_KEY"],
248
+ primaryCredentialEnvVar: "DEEPSEEK_API_KEY",
235
249
  },
236
250
  {
237
251
  providerId: "moonshot",
@@ -244,6 +258,7 @@ export const PROVIDER_CATALOG = [
244
258
  defaultBaseUrl: "https://api.moonshot.cn",
245
259
  credentialRequired: true,
246
260
  credentialEnvVars: ["MOONSHOT_API_KEY", "KIMI_API_KEY"],
261
+ primaryCredentialEnvVar: "MOONSHOT_API_KEY",
247
262
  },
248
263
  {
249
264
  providerId: "glm",
@@ -256,6 +271,7 @@ export const PROVIDER_CATALOG = [
256
271
  defaultBaseUrl: "https://open.bigmodel.cn/api/paas/v4",
257
272
  credentialRequired: true,
258
273
  credentialEnvVars: ["GLM_API_KEY", "ZHIPUAI_API_KEY"],
274
+ primaryCredentialEnvVar: "GLM_API_KEY",
259
275
  },
260
276
  {
261
277
  providerId: "zai",
@@ -268,6 +284,7 @@ export const PROVIDER_CATALOG = [
268
284
  defaultBaseUrl: "https://api.z.ai/api/paas/v4",
269
285
  credentialRequired: true,
270
286
  credentialEnvVars: ["ZAI_API_KEY"],
287
+ primaryCredentialEnvVar: "ZAI_API_KEY",
271
288
  },
272
289
  {
273
290
  providerId: "minimax",
@@ -280,6 +297,7 @@ export const PROVIDER_CATALOG = [
280
297
  defaultBaseUrl: "https://api.minimax.io",
281
298
  credentialRequired: true,
282
299
  credentialEnvVars: ["MINIMAX_API_KEY"],
300
+ primaryCredentialEnvVar: "MINIMAX_API_KEY",
283
301
  },
284
302
  ];
285
303
  const PROVIDER_LOOKUP = new Map();
@@ -1 +1 @@
1
- {"version":3,"file":"provider-catalog.js","sourceRoot":"","sources":["../src/provider-catalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider-catalog.js","sourceRoot":"","sources":["../src/provider-catalog.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * kosha-discovery — OpenAI-compatible model proxy.
3
+ *
4
+ * Adds POST /proxy/v1/chat/completions to the Hono server.
5
+ * The caller sets `model` to one of:
6
+ *
7
+ * "claude-opus-4-7" — any canonical model ID or alias
8
+ * "kosha:cheapest" — cheapest forwardable chat model
9
+ * "kosha:cheapest[tool_use]" — cheapest with that capability
10
+ * "kosha:cheapest[128k,vision]" — cheapest with min context + capability
11
+ * "kosha:cheapest[provider:groq]" — cheapest on a specific provider
12
+ *
13
+ * Filters inside brackets are comma-separated and combinable:
14
+ * <capability> any tag in the model card (tool_use, vision, code, …)
15
+ * <N>k minimum context window in tokens
16
+ * provider:<id> pin to a specific serving-layer provider
17
+ *
18
+ * Supported transports: openai, openai-compatible-http, ollama.
19
+ * Anthropic, Google, Cohere, Bedrock, Vertex speak different wire formats
20
+ * and are not yet proxied.
21
+ *
22
+ * Response headers added by the proxy:
23
+ * x-kosha-model — resolved model ID
24
+ * x-kosha-provider — resolved provider
25
+ * x-kosha-requested — original model string from the caller
26
+ * @module
27
+ */
28
+ import type { Hono } from "hono";
29
+ import type { ModelRegistry } from "./registry.js";
30
+ export declare function registerProxyRoutes(app: Hono, registry: ModelRegistry): void;
31
+ //# sourceMappingURL=proxy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../src/proxy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAEjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AA4FnD,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI,CAkG5E"}
package/dist/proxy.js ADDED
@@ -0,0 +1,193 @@
1
+ /**
2
+ * kosha-discovery — OpenAI-compatible model proxy.
3
+ *
4
+ * Adds POST /proxy/v1/chat/completions to the Hono server.
5
+ * The caller sets `model` to one of:
6
+ *
7
+ * "claude-opus-4-7" — any canonical model ID or alias
8
+ * "kosha:cheapest" — cheapest forwardable chat model
9
+ * "kosha:cheapest[tool_use]" — cheapest with that capability
10
+ * "kosha:cheapest[128k,vision]" — cheapest with min context + capability
11
+ * "kosha:cheapest[provider:groq]" — cheapest on a specific provider
12
+ *
13
+ * Filters inside brackets are comma-separated and combinable:
14
+ * <capability> any tag in the model card (tool_use, vision, code, …)
15
+ * <N>k minimum context window in tokens
16
+ * provider:<id> pin to a specific serving-layer provider
17
+ *
18
+ * Supported transports: openai, openai-compatible-http, ollama.
19
+ * Anthropic, Google, Cohere, Bedrock, Vertex speak different wire formats
20
+ * and are not yet proxied.
21
+ *
22
+ * Response headers added by the proxy:
23
+ * x-kosha-model — resolved model ID
24
+ * x-kosha-provider — resolved provider
25
+ * x-kosha-requested — original model string from the caller
26
+ * @module
27
+ */
28
+ import { getProviderDescriptor } from "./provider-catalog.js";
29
+ import { fallbackRegistryCredential, getRegistryCredentialResolver } from "./registry-runtime.js";
30
+ // native-http providers that speak the OpenAI wire format natively.
31
+ // All openai-compatible-http providers are implicitly forwardable.
32
+ const NATIVE_OPENAI_WIRE = new Set(["openai", "ollama"]);
33
+ function parseKoshaHint(model) {
34
+ if (!model.startsWith("kosha:cheapest"))
35
+ return null;
36
+ const m = /\[([^\]]*)\]/.exec(model);
37
+ if (!m)
38
+ return {};
39
+ const hint = {};
40
+ for (const part of m[1].split(",").map((s) => s.trim()).filter(Boolean)) {
41
+ if (part.startsWith("provider:")) {
42
+ hint.provider = part.slice(9);
43
+ }
44
+ else if (/^\d+k$/i.test(part)) {
45
+ hint.minContext = Number.parseInt(part, 10) * 1_000;
46
+ }
47
+ else if (!hint.capability) {
48
+ hint.capability = part;
49
+ }
50
+ }
51
+ return hint;
52
+ }
53
+ // ---------------------------------------------------------------------------
54
+ // Model resolution
55
+ // ---------------------------------------------------------------------------
56
+ function isForwardable(model) {
57
+ const descriptor = getProviderDescriptor(model.provider);
58
+ if (!descriptor)
59
+ return false;
60
+ if (descriptor.transport === "openai-compatible-http")
61
+ return true;
62
+ if (descriptor.transport === "native-http")
63
+ return NATIVE_OPENAI_WIRE.has(model.provider);
64
+ return false; // cloud-sdk (bedrock, vertex) needs per-SDK translation
65
+ }
66
+ function resolveProxyModel(registry, requested) {
67
+ const hint = parseKoshaHint(requested);
68
+ if (hint !== null) {
69
+ const result = registry.cheapestModels({
70
+ mode: "chat",
71
+ capability: hint.capability,
72
+ provider: hint.provider,
73
+ limit: 20,
74
+ });
75
+ const candidates = hint.minContext
76
+ ? result.matches.filter((m) => m.model.contextWindow >= hint.minContext)
77
+ : result.matches;
78
+ // Only pick a provider we can actually forward to.
79
+ return candidates.find((m) => isForwardable(m.model))?.model ?? null;
80
+ }
81
+ // For a specific model ID or alias, prefer the canonical card but fall back
82
+ // to any forwardable route if the primary provider isn't proxiable (e.g.
83
+ // "claude-sonnet-4-6" resolves to Anthropic by default, but if the caller
84
+ // only has an OpenRouter key, we should route through OpenRouter instead).
85
+ const primary = registry.model(requested);
86
+ if (primary && isForwardable(primary))
87
+ return primary;
88
+ const routes = registry.modelRoutes(requested);
89
+ return routes.find(isForwardable) ?? primary ?? null;
90
+ }
91
+ // ---------------------------------------------------------------------------
92
+ // URL builder
93
+ // ---------------------------------------------------------------------------
94
+ function buildUpstreamUrl(model, registry) {
95
+ const info = registry.provider(model.provider);
96
+ const base = (info?.baseUrl ?? getProviderDescriptor(model.provider)?.defaultBaseUrl ?? "").replace(/\/$/, "");
97
+ // Ollama's root is http://localhost:11434; its OpenAI-compat layer lives at /v1.
98
+ if (model.provider === "ollama" && !base.endsWith("/v1")) {
99
+ return `${base}/v1/chat/completions`;
100
+ }
101
+ return `${base}/chat/completions`;
102
+ }
103
+ // ---------------------------------------------------------------------------
104
+ // Route registration
105
+ // ---------------------------------------------------------------------------
106
+ export function registerProxyRoutes(app, registry) {
107
+ // OpenAI-compatible model list — returns all models the proxy can forward.
108
+ // Required for SDK compatibility: OpenAI clients call this before chat requests.
109
+ app.get("/proxy/v1/models", (ctx) => {
110
+ const models = registry.models({ mode: "chat" }).filter(isForwardable);
111
+ return ctx.json({
112
+ object: "list",
113
+ data: models.map((m) => ({
114
+ id: m.id,
115
+ object: "model",
116
+ created: Math.floor((m.discoveredAt ?? Date.now()) / 1000),
117
+ owned_by: m.originProvider ?? m.provider,
118
+ })),
119
+ });
120
+ });
121
+ app.post("/proxy/v1/chat/completions", async (ctx) => {
122
+ // ── Parse request ──────────────────────────────────────────────
123
+ let body;
124
+ try {
125
+ body = (await ctx.req.json());
126
+ }
127
+ catch {
128
+ return ctx.json({ error: "request body must be valid JSON" }, 400);
129
+ }
130
+ const requested = typeof body.model === "string" ? body.model : undefined;
131
+ if (!requested) {
132
+ return ctx.json({ error: "missing required field: model" }, 400);
133
+ }
134
+ // ── Resolve model ──────────────────────────────────────────────
135
+ const model = resolveProxyModel(registry, requested);
136
+ if (!model) {
137
+ return ctx.json({ error: `no model found for '${requested}'` }, 404);
138
+ }
139
+ if (!isForwardable(model)) {
140
+ const descriptor = getProviderDescriptor(model.provider);
141
+ return ctx.json({
142
+ error: `provider '${model.provider}' uses '${descriptor?.transport ?? "unknown"}' transport — proxy not yet supported`,
143
+ resolvedModel: model.id,
144
+ resolvedProvider: model.provider,
145
+ }, 422);
146
+ }
147
+ // ── Resolve credential ─────────────────────────────────────────
148
+ // Use the full 5-tier CredentialResolver (CLI files, ADC, OAuth, env vars)
149
+ // so the proxy honours the same credential sources as discovery.
150
+ const resolver = await getRegistryCredentialResolver();
151
+ const credential = resolver
152
+ ? await resolver.resolve(model.provider)
153
+ : fallbackRegistryCredential(model.provider);
154
+ if (credential.source === "none") {
155
+ const envVar = getProviderDescriptor(model.provider)?.primaryCredentialEnvVar;
156
+ return ctx.json({
157
+ error: `no credential found for '${model.provider}'`,
158
+ hint: envVar ? `set ${envVar}` : "configure credentials for this provider",
159
+ resolvedModel: model.id,
160
+ resolvedProvider: model.provider,
161
+ }, 401);
162
+ }
163
+ // ── Forward ────────────────────────────────────────────────────
164
+ const upstreamUrl = buildUpstreamUrl(model, registry);
165
+ const upstreamHeaders = { "content-type": "application/json" };
166
+ if (credential.apiKey) {
167
+ upstreamHeaders.authorization = `Bearer ${credential.apiKey}`;
168
+ }
169
+ let upstream;
170
+ try {
171
+ upstream = await fetch(upstreamUrl, {
172
+ method: "POST",
173
+ headers: upstreamHeaders,
174
+ body: JSON.stringify({ ...body, model: model.id }),
175
+ });
176
+ }
177
+ catch (err) {
178
+ const message = err instanceof Error ? err.message : String(err);
179
+ return ctx.json({ error: `upstream unreachable: ${message}`, resolvedProvider: model.provider }, 502);
180
+ }
181
+ // ── Stream response back ───────────────────────────────────────
182
+ const responseHeaders = new Headers({
183
+ "x-kosha-model": model.id,
184
+ "x-kosha-provider": model.provider,
185
+ "x-kosha-requested": requested,
186
+ });
187
+ const ct = upstream.headers.get("content-type");
188
+ if (ct)
189
+ responseHeaders.set("content-type", ct);
190
+ return new Response(upstream.body, { status: upstream.status, headers: responseHeaders });
191
+ });
192
+ }
193
+ //# sourceMappingURL=proxy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../src/proxy.ts"],"names":[],"mappings":"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"}
@@ -308,7 +308,7 @@ export function registryClassifyError(errorMessage) {
308
308
  if (lower.includes("timed out") || lower.includes("timeout") || lower.includes("abort")) {
309
309
  return "timeout";
310
310
  }
311
- if (lower.includes("network") || lower.includes("econn") || lower.includes("fetch failed") || lower.includes("5")) {
311
+ if (lower.includes("network") || lower.includes("econn") || lower.includes("fetch failed") || /\b5\d{2}\b/.test(lower)) {
312
312
  return "transport";
313
313
  }
314
314
  return "unknown";
@@ -1 +1 @@
1
- {"version":3,"file":"registry-discovery.js","sourceRoot":"","sources":["../src/registry-discovery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry-discovery.js","sourceRoot":"","sources":["../src/registry-discovery.ts"],"names":[],"mappings":"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"}
@@ -83,4 +83,24 @@ export declare function saveRegistryToCache(state: RegistryState): Promise<void>
83
83
  * the whole command.
84
84
  */
85
85
  export declare function exportRegistryManifest(state: RegistryState): Promise<void>;
86
+ /**
87
+ * A single pricing-diff event captured at merge time. Persisted to
88
+ * `<manifest-dir>/anomalies.json` so consumers can surface "rate moved
89
+ * unexpectedly" as a UI signal without polling for every merge.
90
+ */
91
+ export interface PricingAnomaly {
92
+ ts: number;
93
+ /** Stable model key, e.g. `anthropic:claude-opus-4-7`. */
94
+ key: string;
95
+ /** Which rate moved: `input`, `output`, `cacheRead`, `cacheWrite`. */
96
+ field: "input" | "output" | "cacheRead" | "cacheWrite";
97
+ /** Whether the change was on `originPricing` (direct) or `pricing` (proxy). */
98
+ side: "origin" | "proxy";
99
+ previous: number;
100
+ current: number;
101
+ /** Signed fractional delta, e.g. -0.5 = 50% drop, +1.0 = doubled. */
102
+ deltaPct: number;
103
+ /** True when either snapshot carried a promo_override tag for this model. */
104
+ promo: boolean;
105
+ }
86
106
  //# sourceMappingURL=registry-runtime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"registry-runtime.d.ts","sourceRoot":"","sources":["../src/registry-runtime.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAUH,OAAO,KAAK,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEhF,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAY,kBAAkB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAMjH;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,QAA6C,CAAC;AAuBjF;;GAEG;AACH,wBAAsB,gBAAgB,CACrC,KAAK,EAAE,aAAa,EACpB,YAAY,EAAE,qBAAqB,EACnC,OAAO,CAAC,EAAE,gBAAgB,GACxB,OAAO,CAAC,YAAY,EAAE,CAAC,CAyDzB;AAED;;GAEG;AACH,wBAAsB,eAAe,CACpC,KAAK,EAAE,aAAa,EACpB,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,gBAAgB,KAAK,OAAO,CAAC,YAAY,EAAE,CAAC,EACjE,UAAU,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAUf;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC5C,KAAK,EAAE,aAAa,EACpB,WAAW,CAAC,EAAE,MAAM,EAAE,EACtB,YAAY,CAAC,EAAE,OAAO,GACpB,OAAO,CAAC,kBAAkB,EAAE,CAAC,CA2B/B;AAED;;GAEG;AACH,wBAAsB,6BAA6B,IAAI,OAAO,CAAC;IAC9D,OAAO,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACjF,GAAG,IAAI,CAAC,CAOR;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,gBAAgB,CASrG;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAgB9E;AACD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAChC,yCAAyC;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,uDAAuD;IACvD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,4CAA4C;IAC5C,mBAAmB,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CA0B/F;AAgBD;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CASvE;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CA0B1G;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAS7E;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,sBAAsB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAsEhF"}
1
+ {"version":3,"file":"registry-runtime.d.ts","sourceRoot":"","sources":["../src/registry-runtime.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAUH,OAAO,KAAK,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEhF,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAY,kBAAkB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAQjH;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,QAA6C,CAAC;AAEjF;;GAEG;AACH,wBAAsB,gBAAgB,CACrC,KAAK,EAAE,aAAa,EACpB,YAAY,EAAE,qBAAqB,EACnC,OAAO,CAAC,EAAE,gBAAgB,GACxB,OAAO,CAAC,YAAY,EAAE,CAAC,CAkEzB;AAED;;GAEG;AACH,wBAAsB,eAAe,CACpC,KAAK,EAAE,aAAa,EACpB,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,gBAAgB,KAAK,OAAO,CAAC,YAAY,EAAE,CAAC,EACjE,UAAU,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAUf;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC5C,KAAK,EAAE,aAAa,EACpB,WAAW,CAAC,EAAE,MAAM,EAAE,EACtB,YAAY,CAAC,EAAE,OAAO,GACpB,OAAO,CAAC,kBAAkB,EAAE,CAAC,CA2B/B;AAED;;GAEG;AACH,wBAAsB,6BAA6B,IAAI,OAAO,CAAC;IAC9D,OAAO,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACjF,GAAG,IAAI,CAAC,CAOR;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,gBAAgB,CASrG;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAgB9E;AACD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAChC,yCAAyC;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,uDAAuD;IACvD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,4CAA4C;IAC5C,mBAAmB,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAgC/F;AAgBD;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CASvE;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CA0B1G;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAS7E;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,sBAAsB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAkGhF;AA2PD;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,0DAA0D;IAC1D,GAAG,EAAE,MAAM,CAAC;IACZ,sEAAsE;IACtE,KAAK,EAAE,OAAO,GAAG,QAAQ,GAAG,WAAW,GAAG,YAAY,CAAC;IACvD,+EAA+E;IAC/E,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,QAAQ,EAAE,MAAM,CAAC;IACjB,6EAA6E;IAC7E,KAAK,EAAE,OAAO,CAAC;CACf"}