@zhivex-ai/gateway 1.3.0 → 1.4.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"budget.js","sourceRoot":"","sources":["../src/budget.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"circuit-breaker.d.ts","sourceRoot":"","sources":["../src/circuit-breaker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACnE,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;AAClE,MAAM,WAAW,sBAAsB;IAAG,KAAK,EAAE,mBAAmB,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAAE;AAC/H,MAAM,WAAW,oBAAoB;IAAG,GAAG,CAAC,OAAO,EAAE,SAAS,GAAG,iBAAiB,GAAG,SAAS,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAAE;AAC/H,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,MAAM,EAAE,kBAAkB,GAAG,oBAAoB,GAAG,SAAS,CAAC;IACtE,QAAQ,CAAC,MAAM,EAAE,kBAAkB,GAAG,sBAAsB,GAAG,SAAS,CAAC;IACzE,UAAU,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC;CACjD;AACD,MAAM,WAAW,qBAAqB;IACpC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,MAAM,EAAE,kBAAkB,CAAC;QAAC,IAAI,EAAE,mBAAmB,CAAC;QAAC,EAAE,EAAE,mBAAmB,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACrK;AACD,qBAAa,uBAAwB,SAAQ,YAAY;IACvD,cAAqJ;CACtJ;AACD,eAAO,MAAM,2BAA2B,aAAa,qBAAqB,KAAQ,qBAuDjF,CAAC"}
1
+ {"version":3,"file":"circuit-breaker.d.ts","sourceRoot":"","sources":["../src/circuit-breaker.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,KAAK,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACnE,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;AAClE,MAAM,WAAW,sBAAsB;IAAG,KAAK,EAAE,mBAAmB,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAAE;AAC/H,MAAM,WAAW,oBAAoB;IAAG,GAAG,CAAC,OAAO,EAAE,SAAS,GAAG,iBAAiB,GAAG,SAAS,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAAE;AAC/H,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,MAAM,EAAE,kBAAkB,GAAG,oBAAoB,GAAG,SAAS,CAAC;IACtE,QAAQ,CAAC,MAAM,EAAE,kBAAkB,GAAG,sBAAsB,GAAG,SAAS,CAAC;IACzE,UAAU,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC;CACjD;AACD,MAAM,WAAW,qBAAqB;IACpC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,MAAM,EAAE,kBAAkB,CAAC;QAAC,IAAI,EAAE,mBAAmB,CAAC;QAAC,EAAE,EAAE,mBAAmB,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACrK;AACD,qBAAa,uBAAwB,SAAQ,YAAY;IACvD,cAAqJ;CACtJ;AACD,eAAO,MAAM,2BAA2B,aAAa,qBAAqB,KAAQ,qBAuDjF,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { targetKey } from "./target.js";
1
2
  import { GatewayError } from "./types.js";
2
3
  export class GatewayCircuitOpenError extends GatewayError {
3
4
  constructor() { super("All eligible destination circuits are open or have exhausted probe capacity.", true); this.name = "GatewayCircuitOpenError"; }
@@ -12,7 +13,7 @@ export const createGatewayCircuitBreaker = (options = {}) => {
12
13
  throw new GatewayError("cooldownMs cannot exceed maxCooldownMs.", false);
13
14
  const now = options.now ?? Date.now;
14
15
  const entries = new Map();
15
- const key = (target) => JSON.stringify([target.provider, target.modelId]);
16
+ const key = targetKey;
16
17
  const transition = (entry, target, to) => {
17
18
  const from = entry.state;
18
19
  entry.state = to;
@@ -1 +1 @@
1
- {"version":3,"file":"circuit-breaker.js","sourceRoot":"","sources":["../src/circuit-breaker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"circuit-breaker.js","sourceRoot":"","sources":["../src/circuit-breaker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { type GenerateResult, type LanguageModel, type ModelGenerateInput, type StreamEvent } from "@zhivex-ai/core";
2
+ import { type GatewayConfig, type GatewayModelTarget } from "./types.js";
3
+ export declare const cachedResults: WeakSet<GenerateResult>;
4
+ /** Provider dispatch, resource lifetimes and exact caching are shared by every routed operation. */
5
+ export declare const createGatewayExecutor: (config: GatewayConfig) => {
6
+ diagnostics: () => {
7
+ settlementFailures: number;
8
+ pendingSettlements: number;
9
+ pendingCacheWrites: number;
10
+ droppedCacheWrites: number;
11
+ inFlightCacheKeys: number;
12
+ };
13
+ flush: () => Promise<void>;
14
+ generate(model: LanguageModel, target: GatewayModelTarget, input: ModelGenerateInput, scope?: string, cacheScope?: string): Promise<GenerateResult>;
15
+ stream(model: LanguageModel, target: GatewayModelTarget, input: ModelGenerateInput, scope?: string): Promise<AsyncIterable<StreamEvent>>;
16
+ };
17
+ //# sourceMappingURL=execution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../src/execution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsD,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,KAAK,kBAAkB,EAAE,KAAK,WAAW,EAAmB,MAAM,iBAAiB,CAAC;AAC1L,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAKzE,eAAO,MAAM,aAAa,yBAAgC,CAAC;AAE3D,oGAAoG;AACpG,eAAO,MAAM,qBAAqB,WAAY,aAAa;;;;;;;;;oBAsEjC,aAAa,UAAU,kBAAkB,SAAS,kBAAkB,UAAU,MAAM,eAAe,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;kBAwDrI,aAAa,UAAU,kBAAkB,SAAS,kBAAkB,UAAU,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;CAcjJ,CAAC"}
@@ -0,0 +1,223 @@
1
+ import { calculateModelCost, createCachedGenerateMiddleware } from "@zhivex-ai/core";
2
+ import { GatewayBudgetError } from "./budget.js";
3
+ import { targetKey } from "./target.js";
4
+ import { operationControl } from "./operation.js";
5
+ export const cachedResults = new WeakSet();
6
+ const reportedTokens = (usage) => usage?.totalTokens !== undefined && Number.isSafeInteger(usage.totalTokens) && usage.totalTokens >= 0 ? usage.totalTokens : undefined;
7
+ /** Provider dispatch, resource lifetimes and exact caching are shared by every routed operation. */
8
+ export const createGatewayExecutor = (config) => {
9
+ const flights = new Map();
10
+ let settlementFailures = 0, droppedCacheWrites = 0;
11
+ const cacheWrites = new Set();
12
+ const settlements = new Set();
13
+ const safe = (action) => {
14
+ try {
15
+ const result = action();
16
+ if (result) {
17
+ const control = operationControl(undefined, config.resourceTimeoutMs ?? 1000);
18
+ const completion = control.wait(Promise.resolve(result)).catch(() => { settlementFailures++; }).finally(() => { control.dispose(); settlements.delete(completion); });
19
+ settlements.add(completion);
20
+ }
21
+ }
22
+ catch {
23
+ settlementFailures++;
24
+ }
25
+ };
26
+ const begin = async (target, input, scope) => {
27
+ const signal = input.abortSignal;
28
+ signal?.throwIfAborted();
29
+ let admission, reservation;
30
+ let started = false, ended = false;
31
+ const finish = async (usage) => {
32
+ if (ended)
33
+ return;
34
+ ended = true;
35
+ signal?.removeEventListener("abort", abort);
36
+ const acquired = admission;
37
+ admission = undefined;
38
+ if (acquired)
39
+ safe(() => acquired.release(reportedTokens(usage)));
40
+ if (reservation) {
41
+ let amount = null;
42
+ if (usage) {
43
+ try {
44
+ const cost = calculateModelCost({ catalog: config.modelCatalog, ...target, usage,
45
+ cacheAssumption: config.costAccounting?.cacheAssumption,
46
+ reasoningAccounting: config.costAccounting?.reasoningAccounting?.[target.provider] });
47
+ if (cost.currency === config.budget.currency && cost.status === "known")
48
+ amount = cost.amount;
49
+ }
50
+ catch { /* Unknown usage retains its reservation. */ }
51
+ }
52
+ const held = reservation;
53
+ reservation = undefined;
54
+ safe(() => started ? held.settle(amount) : held.cancel());
55
+ }
56
+ };
57
+ const abort = () => { void finish(); };
58
+ signal?.addEventListener("abort", abort, { once: true });
59
+ try {
60
+ if (config.admission)
61
+ admission = await config.admission.acquire({ target, signal,
62
+ tokens: input.maxTokens === undefined ? undefined : Math.ceil(JSON.stringify(input.messages).length / 4) + input.maxTokens });
63
+ if (signal?.aborted) {
64
+ const late = admission;
65
+ admission = undefined;
66
+ if (late)
67
+ safe(() => late.release());
68
+ signal.throwIfAborted();
69
+ }
70
+ if (config.budget) {
71
+ if (settlementFailures || settlements.size >= 1024 || !scope?.trim())
72
+ throw new GatewayBudgetError();
73
+ try {
74
+ reservation = await config.budget.store.reserve({ scope, currency: config.budget.currency, amount: config.budget.reserveAmount, signal });
75
+ }
76
+ catch {
77
+ throw new GatewayBudgetError();
78
+ }
79
+ }
80
+ if (signal?.aborted) {
81
+ const late = reservation;
82
+ reservation = undefined;
83
+ if (late)
84
+ safe(() => late.cancel());
85
+ signal.throwIfAborted();
86
+ }
87
+ return { start() { signal?.throwIfAborted(); started = true; }, finish };
88
+ }
89
+ catch (error) {
90
+ await finish();
91
+ throw error;
92
+ }
93
+ };
94
+ const generate = async (model, target, input, scope) => {
95
+ const lease = await begin(target, input, scope);
96
+ try {
97
+ lease.start();
98
+ const result = await model.generate(input);
99
+ await lease.finish(result.usage);
100
+ return result;
101
+ }
102
+ catch (error) {
103
+ await lease.finish();
104
+ throw error;
105
+ }
106
+ };
107
+ return {
108
+ diagnostics: () => ({ settlementFailures, pendingSettlements: settlements.size, pendingCacheWrites: cacheWrites.size, droppedCacheWrites, inFlightCacheKeys: flights.size }),
109
+ flush: async () => { await Promise.all([...settlements, ...cacheWrites]); },
110
+ async generate(model, target, input, scope, cacheScope) {
111
+ // Cache only pure text model steps; never replay tool calls, provider state or effects.
112
+ const eligible = config.cache && cacheScope?.trim() && !input.tools?.length && !input.providerOptions && input.messages.every(m => m.parts.every(p => p.type === "text"));
113
+ if (!eligible)
114
+ return generate(model, target, input, scope);
115
+ let key, hit = false;
116
+ const middleware = createCachedGenerateMiddleware({
117
+ scope: JSON.stringify([config.cache.scope, cacheScope, scope ?? null, targetKey(target)]),
118
+ cache: {
119
+ async get(id) {
120
+ key = id;
121
+ const control = operationControl(input.abortSignal, config.cache.timeoutMs ?? 50);
122
+ try {
123
+ const value = await control.wait(Promise.resolve(config.cache.store.get(id)));
124
+ if (value) {
125
+ hit = true;
126
+ return structuredClone(value);
127
+ }
128
+ }
129
+ catch {
130
+ input.abortSignal?.throwIfAborted(); /* Cache outages are misses. */
131
+ }
132
+ finally {
133
+ control.dispose();
134
+ }
135
+ return undefined;
136
+ },
137
+ set(id, value) {
138
+ // Stores may hang: writes must never delay a completed provider response.
139
+ if (value.finishReason === "tool-calls" || value.audio?.length || value.images?.length ||
140
+ value.message?.parts.some(part => part.type !== "text") ||
141
+ value.messages?.some(message => message.parts.some(part => part.type !== "text")))
142
+ return;
143
+ if (cacheWrites.size >= 256) {
144
+ droppedCacheWrites++;
145
+ return;
146
+ }
147
+ const control = operationControl(undefined, config.cache.timeoutMs ?? 50);
148
+ try {
149
+ const write = control.wait(Promise.resolve(config.cache.store.set(id, structuredClone(value))))
150
+ .catch(() => undefined).finally(() => { control.dispose(); cacheWrites.delete(write); });
151
+ cacheWrites.add(write);
152
+ }
153
+ catch {
154
+ control.dispose();
155
+ }
156
+ }
157
+ }
158
+ });
159
+ const result = await middleware.wrapGenerate({ model, input }, async () => {
160
+ input.abortSignal?.throwIfAborted();
161
+ if (!key)
162
+ return generate(model, target, input, scope);
163
+ let flight = flights.get(key);
164
+ if (!flight) {
165
+ if (flights.size >= 1024)
166
+ return generate(model, target, input, scope);
167
+ const controller = new AbortController();
168
+ const promise = generate(model, target, { ...input, abortSignal: controller.signal }, scope);
169
+ flight = { controller, promise, users: 0 };
170
+ flights.set(key, flight);
171
+ const id = key, current = flight;
172
+ void promise.finally(() => { if (flights.get(id) === current)
173
+ flights.delete(id); }).catch(() => undefined);
174
+ }
175
+ else
176
+ hit = true;
177
+ flight.users++;
178
+ const wait = operationControl(input.abortSignal);
179
+ try {
180
+ return structuredClone(await wait.wait(flight.promise));
181
+ }
182
+ finally {
183
+ wait.dispose();
184
+ flight.users--;
185
+ if (flight.users === 0) {
186
+ if (flights.get(key) === flight)
187
+ flights.delete(key);
188
+ flight.controller.abort();
189
+ }
190
+ }
191
+ });
192
+ input.abortSignal?.throwIfAborted();
193
+ if (hit)
194
+ cachedResults.add(result);
195
+ return result;
196
+ },
197
+ async stream(model, target, input, scope) {
198
+ const lease = await begin(target, input, scope);
199
+ try {
200
+ lease.start();
201
+ const source = await model.stream(input);
202
+ return (async function* () {
203
+ let usage;
204
+ try {
205
+ for await (const event of source) {
206
+ if (event.type === "finish")
207
+ usage = event.usage;
208
+ yield event;
209
+ }
210
+ }
211
+ finally {
212
+ await lease.finish(usage);
213
+ }
214
+ })();
215
+ }
216
+ catch (error) {
217
+ await lease.finish();
218
+ throw error;
219
+ }
220
+ }
221
+ };
222
+ };
223
+ //# sourceMappingURL=execution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution.js","sourceRoot":"","sources":["../src/execution.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,9 @@
1
+ export { GatewayDeadlineError } from "./operation.js";
2
+ export { createGatewayAdmissionController, GatewayAdmissionError } from "./admission.js";
3
+ export type { GatewayAdmissionController, GatewayAdmissionLease, GatewayAdmissionOptions } from "./admission.js";
4
+ export { createGatewayBudgetStore, GatewayBudgetError } from "./budget.js";
5
+ export type { GatewayBudgetStore, GatewayBudgetReservation, GatewayBudgetSnapshot } from "./budget.js";
6
+ export { createGatewayRoutingPolicy } from "./adaptive-routing.js";
1
7
  import type { ZodTypeAny } from "zod";
2
8
  export type { GatewayAdaptiveCandidate, GatewayAdaptiveRoutingPolicy, GatewayQualityProfile } from "./adaptive-routing.js";
3
9
  export { createGatewayCircuitBreaker, GatewayCircuitOpenError } from "./circuit-breaker.js";
@@ -8,9 +14,21 @@ import { type GatewayAgentRequest, type GatewayAgentResponse, type GatewayAgentS
8
14
  export { GatewayError } from "./types.js";
9
15
  export type { GatewayAgentRequest, GatewayAgentResponse, GatewayAgentStreamResult, GatewayAttempt, GatewayAttemptReasonCode, GatewayConfig, GatewayGenerateObjectRequest, GatewayImageAttachment, GatewayInputMessage, GatewayMessage, GatewayModelTarget, GatewayObjectResponse, GatewayProviderId, GatewayRequest, GatewayResponse, GatewayRouteDecisionReasonCode, GatewayRoutingMode, GatewayRoutingScoreContext, GatewayStreamObjectResult, GatewayStreamTextResult, GatewayTaskIntent, GatewayUnknownCostPolicy } from "./types.js";
10
16
  export declare const createGateway: (config: GatewayConfig) => {
11
- generate(request: GatewayRequest): Promise<GatewayResponse>;
12
- generateObject<TSchema extends ZodTypeAny>(request: GatewayGenerateObjectRequest<TSchema>): Promise<GatewayObjectResponse<TSchema>>;
13
- runAgent(request: GatewayAgentRequest): Promise<GatewayAgentResponse>;
17
+ flushControls: () => Promise<void>;
18
+ flushObservers: () => Promise<void>;
19
+ diagnostics: () => {
20
+ settlementFailures: number;
21
+ pendingSettlements: number;
22
+ pendingCacheWrites: number;
23
+ droppedCacheWrites: number;
24
+ inFlightCacheKeys: number;
25
+ pendingObservers: number;
26
+ droppedObservers: number;
27
+ affinityEntries: number;
28
+ };
29
+ generate: (request: GatewayRequest) => Promise<GatewayResponse>;
30
+ generateObject: <TSchema extends ZodTypeAny>(request: GatewayGenerateObjectRequest<TSchema>) => Promise<GatewayObjectResponse<TSchema>>;
31
+ runAgent: (request: GatewayAgentRequest) => Promise<GatewayAgentResponse>;
14
32
  streamText: (request: GatewayRequest) => GatewayStreamTextResult;
15
33
  streamObject: <TSchema extends ZodTypeAny>(request: GatewayGenerateObjectRequest<TSchema>) => GatewayStreamObjectResult<TSchema>;
16
34
  streamAgent: (request: GatewayAgentRequest) => GatewayAgentStreamResult;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAGtC,YAAY,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC3H,OAAO,EAAE,2BAA2B,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC5F,YAAY,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE5J,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,YAAY,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAInJ,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAG7B,KAAK,aAAa,EAClB,KAAK,4BAA4B,EAEjC,KAAK,qBAAqB,EAE1B,KAAK,cAAc,EACnB,KAAK,eAAe,EAEpB,KAAK,yBAAyB,EAC9B,KAAK,uBAAuB,EAE7B,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,YAAY,EACV,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,cAAc,EACd,wBAAwB,EACxB,aAAa,EACb,4BAA4B,EAC5B,sBAAsB,EACtB,mBAAmB,EACnB,cAAc,EACd,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,8BAA8B,EAC9B,kBAAkB,EAClB,0BAA0B,EAC1B,yBAAyB,EACzB,uBAAuB,EACvB,iBAAiB,EACjB,wBAAwB,EACzB,MAAM,YAAY,CAAC;AA45BpB,eAAO,MAAM,aAAa,WAAY,aAAa;sBA6lBvB,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;mBAoC5C,OAAO,SAAS,UAAU,WACpC,4BAA4B,CAAC,OAAO,CAAC,GAC7C,OAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;sBAmElB,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;0BAyJrD,cAAc;mBACrB,OAAO,SAAS,UAAU,WAAW,4BAA4B,CAAC,OAAO,CAAC;2BAClE,mBAAmB;CAE7C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,gCAAgC,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACzF,YAAY,EAAE,0BAA0B,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACjH,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAC3E,YAAY,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACvG,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AA+BnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAGtC,YAAY,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC3H,OAAO,EAAE,2BAA2B,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC5F,YAAY,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE5J,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,YAAY,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAInJ,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAG7B,KAAK,aAAa,EAClB,KAAK,4BAA4B,EAEjC,KAAK,qBAAqB,EAE1B,KAAK,cAAc,EACnB,KAAK,eAAe,EAEpB,KAAK,yBAAyB,EAC9B,KAAK,uBAAuB,EAE7B,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,YAAY,EACV,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,cAAc,EACd,wBAAwB,EACxB,aAAa,EACb,4BAA4B,EAC5B,sBAAsB,EACtB,mBAAmB,EACnB,cAAc,EACd,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,8BAA8B,EAC9B,kBAAkB,EAClB,0BAA0B,EAC1B,yBAAyB,EACzB,uBAAuB,EACvB,iBAAiB,EACjB,wBAAwB,EACzB,MAAM,YAAY,CAAC;AA46BpB,eAAO,MAAM,aAAa,WAAY,aAAa;;;;;;;;;;;;;wBAm6B3B,cAAc;qBACjB,OAAO,SAAS,UAAU,WAAW,4BAA4B,CAAC,OAAO,CAAC;wBACvE,mBAAmB;0BACjB,cAAc;mBACrB,OAAO,SAAS,UAAU,WAAW,4BAA4B,CAAC,OAAO,CAAC;2BAClE,mBAAmB;CAE7C,CAAC"}