@compose-market/sdk 0.2.0 → 0.3.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 (44) hide show
  1. package/CHANGELOG.md +30 -9
  2. package/dist/events.d.ts +75 -0
  3. package/dist/events.d.ts.map +1 -0
  4. package/dist/events.js +68 -0
  5. package/dist/events.js.map +1 -0
  6. package/dist/http.d.ts +1 -1
  7. package/dist/http.d.ts.map +1 -1
  8. package/dist/http.js +4 -4
  9. package/dist/http.js.map +1 -1
  10. package/dist/index.d.ts +108 -6
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +221 -18
  13. package/dist/index.js.map +1 -1
  14. package/dist/resources/inference.d.ts +29 -15
  15. package/dist/resources/inference.d.ts.map +1 -1
  16. package/dist/resources/inference.js +85 -55
  17. package/dist/resources/inference.js.map +1 -1
  18. package/dist/resources/instrumentation.d.ts +28 -0
  19. package/dist/resources/instrumentation.d.ts.map +1 -0
  20. package/dist/resources/instrumentation.js +43 -0
  21. package/dist/resources/instrumentation.js.map +1 -0
  22. package/dist/resources/keys.d.ts +4 -0
  23. package/dist/resources/keys.d.ts.map +1 -1
  24. package/dist/resources/keys.js +15 -5
  25. package/dist/resources/keys.js.map +1 -1
  26. package/dist/resources/session-events.d.ts +46 -0
  27. package/dist/resources/session-events.d.ts.map +1 -0
  28. package/dist/resources/session-events.js +199 -0
  29. package/dist/resources/session-events.js.map +1 -0
  30. package/dist/storage.d.ts +27 -0
  31. package/dist/storage.d.ts.map +1 -0
  32. package/dist/storage.js +46 -0
  33. package/dist/storage.js.map +1 -0
  34. package/dist/streaming/budget.d.ts +22 -0
  35. package/dist/streaming/budget.d.ts.map +1 -0
  36. package/dist/streaming/budget.js +40 -0
  37. package/dist/streaming/budget.js.map +1 -0
  38. package/dist/types/index.d.ts +43 -0
  39. package/dist/types/index.d.ts.map +1 -1
  40. package/dist/version.d.ts +9 -0
  41. package/dist/version.d.ts.map +1 -0
  42. package/dist/version.js +9 -0
  43. package/dist/version.js.map +1 -0
  44. package/package.json +6 -5
package/dist/index.js CHANGED
@@ -8,10 +8,13 @@
8
8
  * - Compose Key lifecycle (create / list / get / revoke, session metadata)
9
9
  * - 45k+ model catalog (list / listAll / search / get / getParams)
10
10
  * - OpenAI-shaped inference (chat.completions, responses, embeddings, images,
11
- * audio.speech, audio.transcriptions, videos) with full SSE streaming and
12
- * typed tool-call deltas + reasoning deltas.
11
+ * audio.speech, audio.transcriptions, videos) with full SSE streaming,
12
+ * typed tool-call deltas and reasoning deltas, typed cost receipts, and
13
+ * live session-budget updates emitted on every response.
13
14
  * - x402 facilitator access (supported / chains / verify / settle) and typed
14
15
  * decoders for PAYMENT-REQUIRED, PAYMENT-RESPONSE, X-Compose-Receipt.
16
+ * - SSE session events (`sdk.session.events`) for budget depletion and
17
+ * expiry notifications, dispatched on the typed event bus as well.
15
18
  * - Webhook signature verification (HMAC-SHA256, Stripe-style header).
16
19
  *
17
20
  * Design:
@@ -24,8 +27,11 @@
24
27
  * via the `x-session-user-address` header. The Compose Key JWT returned by
25
28
  * `keys.create(...)` is the real cryptographic identity from that point on.
26
29
  * - Every billable call returns a `ComposeCompletion<T>` carrying the parsed
27
- * body, the settlement receipt (if any), the request id, and the raw
30
+ * body, the settlement receipt (if any), the request id, the live session
31
+ * budget snapshot, the session-invalid reason (if any), and the raw
28
32
  * Response so integrators can read non-standard headers without parsing.
33
+ * - Persisted session tokens survive page reloads when a storage adapter is
34
+ * provided (browser `localStorage` is auto-detected).
29
35
  */
30
36
  import { HttpClient } from "./http.js";
31
37
  import { KeysResource } from "./resources/keys.js";
@@ -33,12 +39,18 @@ import { ModelsResource } from "./resources/models.js";
33
39
  import { InferenceResource } from "./resources/inference.js";
34
40
  import { X402Resource } from "./resources/x402.js";
35
41
  import { WebhooksResource } from "./resources/webhooks.js";
42
+ import { SessionEventsResource } from "./resources/session-events.js";
43
+ import { instrumentBillableResponse } from "./resources/instrumentation.js";
36
44
  import { BadRequestError } from "./errors.js";
45
+ import { createEventBus } from "./events.js";
46
+ import { resolveStorage, createMemoryStorage, buildTokenStorageKey, DEFAULT_TOKEN_SCOPE, } from "./storage.js";
47
+ import { SDK_VERSION } from "./version.js";
37
48
  export * from "./types/index.js";
38
49
  export * from "./errors.js";
39
50
  export { decodeReceiptHeader, extractReceiptFromResponse, parseReceiptEvent } from "./streaming/receipt.js";
40
51
  export { parseSSEStream } from "./streaming/sse.js";
41
- export const SDK_VERSION = "1.0.0";
52
+ export { extractSessionBudgetFromResponse } from "./streaming/budget.js";
53
+ export { createMemoryStorage } from "./storage.js";
42
54
  const DEFAULT_RETRY = {
43
55
  maxRetries: 2,
44
56
  initialDelayMs: 500,
@@ -48,7 +60,7 @@ const DEFAULT_RETRY = {
48
60
  function normalizeBaseUrl(value) {
49
61
  return (value || "https://api.compose.market").replace(/\/+$/, "");
50
62
  }
51
- function normalizeWalletAddress(value) {
63
+ function normalizeUserAddress(value) {
52
64
  const trimmed = value.trim().toLowerCase();
53
65
  if (!/^0x[a-f0-9]{40}$/.test(trimmed)) {
54
66
  throw new BadRequestError({ message: "userAddress must be a valid 0x-prefixed EVM address" });
@@ -64,26 +76,63 @@ function normalizeChainId(value) {
64
76
  return value;
65
77
  }
66
78
  export class ComposeSDK {
79
+ /** The SDK version, sourced from package.json at build time. */
80
+ version = SDK_VERSION;
81
+ /** Resolved API base URL, trimmed of trailing slashes. */
82
+ baseUrl;
67
83
  keys;
68
84
  models;
69
85
  inference;
70
86
  x402;
71
87
  webhooks;
88
+ session;
72
89
  wallets;
90
+ /**
91
+ * Typed, in-memory event bus. Listeners registered here receive:
92
+ * - `budget` — live `x-session-budget-*` snapshot on every billable call.
93
+ * - `sessionInvalid` — `x-compose-session-invalid` header set by the server.
94
+ * - `sessionActive` — SSE `session-active` heartbeat from `/api/session/events`.
95
+ * - `sessionExpired` — SSE `session-expired` frame from `/api/session/events`.
96
+ * - `receipt` — settlement receipt on every billable response / stream.
97
+ */
98
+ events;
73
99
  http;
74
- walletAddress;
100
+ storage;
101
+ tokenScope;
102
+ userAddress;
75
103
  chainId;
76
104
  composeKey;
105
+ rawFetch;
106
+ userAgent;
77
107
  constructor(options = {}) {
78
- this.walletAddress = options.userAddress ? normalizeWalletAddress(options.userAddress) : null;
108
+ this.userAddress = options.userAddress ? normalizeUserAddress(options.userAddress) : null;
79
109
  this.chainId = normalizeChainId(options.chainId);
80
- this.composeKey = options.composeKey ?? null;
110
+ this.baseUrl = normalizeBaseUrl(options.baseUrl);
111
+ this.tokenScope = options.tokenScope ?? DEFAULT_TOKEN_SCOPE;
112
+ this.storage = resolveStorage(options.storage) ?? createMemoryStorage();
113
+ this.events = createEventBus({ logger: options.logger });
114
+ // Seed `composeKey` in this priority:
115
+ // 1. explicit constructor option
116
+ // 2. persistent storage scoped to (address, chainId) if both known
117
+ // 3. null
118
+ if (options.composeKey) {
119
+ this.composeKey = options.composeKey;
120
+ this.persistToken(options.composeKey);
121
+ }
122
+ else if (this.userAddress && this.chainId !== null) {
123
+ this.composeKey = this.storage.getItem(buildTokenStorageKey(this.tokenScope, this.userAddress, this.chainId));
124
+ }
125
+ else {
126
+ this.composeKey = null;
127
+ }
81
128
  const userAgent = options.userAgent
82
129
  ? `@compose-market/sdk/${SDK_VERSION} ${options.userAgent}`
83
130
  : `@compose-market/sdk/${SDK_VERSION}`;
131
+ this.rawFetch = options.fetch ?? globalThis.fetch.bind(globalThis);
132
+ this.userAgent = userAgent;
84
133
  this.http = new HttpClient({
85
- baseUrl: normalizeBaseUrl(options.baseUrl),
86
- fetch: options.fetch ?? globalThis.fetch.bind(globalThis),
134
+ baseUrl: this.baseUrl,
135
+ fetch: this.rawFetch,
87
136
  timeoutMs: options.timeoutMs ?? 60_000,
88
137
  defaultHeaders: { ...(options.defaultHeaders ?? {}) },
89
138
  retry: { ...DEFAULT_RETRY, ...(options.retry ?? {}) },
@@ -92,17 +141,22 @@ export class ComposeSDK {
92
141
  });
93
142
  this.wallets = {
94
143
  attach: (input) => {
95
- this.walletAddress = normalizeWalletAddress(input.address);
144
+ this.userAddress = normalizeUserAddress(input.address);
96
145
  this.chainId = normalizeChainId(input.chainId);
146
+ // Re-hydrate persisted token for the freshly-attached wallet.
147
+ const stored = this.storage.getItem(buildTokenStorageKey(this.tokenScope, this.userAddress, this.chainId));
148
+ if (stored)
149
+ this.composeKey = stored;
97
150
  },
98
- current: () => ({ address: this.walletAddress, chainId: this.chainId }),
151
+ current: () => ({ address: this.userAddress, chainId: this.chainId }),
99
152
  clear: () => {
100
- this.walletAddress = null;
153
+ this.userAddress = null;
101
154
  this.chainId = null;
155
+ this.composeKey = null;
102
156
  },
103
157
  };
104
158
  const getWallet = () => {
105
- if (!this.walletAddress) {
159
+ if (!this.userAddress) {
106
160
  throw new BadRequestError({
107
161
  message: "Wallet context is required. Call sdk.wallets.attach({ address, chainId }) first, or pass userAddress + chainId to the constructor.",
108
162
  });
@@ -112,26 +166,175 @@ export class ComposeSDK {
112
166
  message: "chainId is required. Call sdk.wallets.attach(...) or pass chainId to the constructor.",
113
167
  });
114
168
  }
115
- return { address: this.walletAddress, chainId: this.chainId };
169
+ return { address: this.userAddress, chainId: this.chainId };
116
170
  };
117
171
  const getWalletMaybe = () => ({
118
- address: this.walletAddress,
172
+ address: this.userAddress,
119
173
  chainId: this.chainId,
120
174
  });
121
175
  this.keys = new KeysResource(this.http, {
122
176
  getWallet,
123
- setToken: (token) => { this.composeKey = token; },
177
+ getWalletMaybe,
178
+ setToken: (token) => {
179
+ this.composeKey = token;
180
+ this.persistToken(token);
181
+ },
124
182
  getToken: () => this.composeKey,
125
- clearToken: () => { this.composeKey = null; },
183
+ clearToken: () => {
184
+ this.composeKey = null;
185
+ this.deletePersistedToken();
186
+ },
126
187
  });
127
188
  this.models = new ModelsResource(this.http);
128
189
  this.inference = new InferenceResource(this.http, {
129
190
  getWalletMaybe,
130
191
  getTokenMaybe: () => this.composeKey,
192
+ events: this.events,
131
193
  });
132
194
  this.x402 = new X402Resource(this.http);
133
195
  this.webhooks = new WebhooksResource();
196
+ this.session = new SessionEventsNamespace(new SessionEventsResource(this.http, this.events), getWalletMaybe);
197
+ }
198
+ persistToken(token) {
199
+ if (!this.userAddress || this.chainId === null)
200
+ return;
201
+ this.storage.setItem(buildTokenStorageKey(this.tokenScope, this.userAddress, this.chainId), token);
202
+ }
203
+ deletePersistedToken() {
204
+ if (!this.userAddress || this.chainId === null)
205
+ return;
206
+ this.storage.removeItem(buildTokenStorageKey(this.tokenScope, this.userAddress, this.chainId));
207
+ }
208
+ /**
209
+ * Drop-in `fetch` wrapper that attaches the canonical Compose header
210
+ * contract (`Authorization`, `x-session-user-address`, `x-chain-id`,
211
+ * `User-Agent`) on every request and emits `budget` / `sessionInvalid` /
212
+ * `receipt` events on every response via the SDK event bus.
213
+ *
214
+ * Use this when you need to hit a Compose endpoint that isn't covered
215
+ * by a typed resource yet (agent/workflow runtime endpoints, workspace
216
+ * indexing, custom api/ routes). The URL may be absolute or relative to
217
+ * the SDK's `baseUrl`.
218
+ *
219
+ * Non-Compose URLs (absolute URLs whose host differs from `baseUrl`) are
220
+ * still passed through so this method is safe as a general-purpose fetch
221
+ * replacement; the budget event extraction is a no-op when the response
222
+ * doesn't carry `x-session-budget-*` headers.
223
+ */
224
+ async fetch(input, init) {
225
+ const headers = new Headers(init?.headers);
226
+ if (!headers.has("User-Agent"))
227
+ headers.set("User-Agent", this.userAgent);
228
+ if (this.composeKey && !headers.has("Authorization")) {
229
+ headers.set("Authorization", `Bearer ${this.composeKey}`);
230
+ }
231
+ if (this.userAddress && !headers.has("x-session-user-address")) {
232
+ headers.set("x-session-user-address", this.userAddress);
233
+ }
234
+ if (this.chainId !== null && !headers.has("x-chain-id")) {
235
+ headers.set("x-chain-id", String(this.chainId));
236
+ }
237
+ // Support absolute URLs, relative paths, and Request objects alike.
238
+ let resolvedInput = input;
239
+ if (typeof input === "string") {
240
+ resolvedInput = input.startsWith("http://") || input.startsWith("https://")
241
+ ? input
242
+ : `${this.baseUrl}${input.startsWith("/") ? input : `/${input}`}`;
243
+ }
244
+ const response = await this.rawFetch(resolvedInput, { ...init, headers });
245
+ // Emit budget/receipt/invalid events when the response carries the
246
+ // relevant Compose headers. Pass `undefined` for the body since we
247
+ // haven't read it; receipt-from-body only fires when the caller later
248
+ // parses the JSON themselves. That's acceptable: header-based receipts
249
+ // are the authoritative path and they're present on every billable
250
+ // response.
251
+ instrumentBillableResponse({ getWalletMaybe: () => ({ address: this.userAddress, chainId: this.chainId }), getTokenMaybe: () => this.composeKey, events: this.events }, response, undefined);
252
+ return response;
253
+ }
254
+ }
255
+ /**
256
+ * Thin ergonomic wrapper around `SessionEventsResource` so callers write
257
+ * `sdk.session.events({ ... })` with wallet defaults inferred from the SDK
258
+ * instance.
259
+ */
260
+ class SessionEventsNamespace {
261
+ resource;
262
+ getWalletMaybe;
263
+ constructor(resource, getWalletMaybe) {
264
+ this.resource = resource;
265
+ this.getWalletMaybe = getWalletMaybe;
266
+ }
267
+ /**
268
+ * Subscribe to `/api/session/events`. Yields `SessionActiveEvent` and
269
+ * `SessionExpiredEvent` until the signal aborts or the server ends the
270
+ * stream. The same events are also emitted on `sdk.events`.
271
+ *
272
+ * When `userAddress` / `chainId` are omitted, the SDK's currently attached
273
+ * wallet context is used. Abort via an `AbortController.signal`.
274
+ */
275
+ subscribe(opts = {}) {
276
+ const wallet = this.getWalletMaybe();
277
+ const userAddress = opts.userAddress ?? wallet.address;
278
+ const chainId = opts.chainId ?? wallet.chainId;
279
+ if (!userAddress) {
280
+ throw new BadRequestError({
281
+ message: "session.subscribe() needs a userAddress (either in opts or via sdk.wallets.attach).",
282
+ });
283
+ }
284
+ if (chainId === null || chainId === undefined) {
285
+ throw new BadRequestError({
286
+ message: "session.subscribe() needs a chainId (either in opts or via sdk.wallets.attach).",
287
+ });
288
+ }
289
+ return this.resource.subscribe({
290
+ userAddress,
291
+ chainId,
292
+ signal: opts.signal,
293
+ reconnectMaxDelayMs: opts.reconnectMaxDelayMs,
294
+ });
134
295
  }
296
+ /**
297
+ * Shortcut: register a listener on the `sessionActive` + `sessionExpired`
298
+ * events produced by a subscription. Returns a disposer that aborts the
299
+ * underlying stream AND removes the listeners.
300
+ */
301
+ on(handlers, opts = {}) {
302
+ const controller = new AbortController();
303
+ const signal = mergeAbortSignals(opts.signal, controller.signal);
304
+ const iterable = this.subscribe({ ...opts, signal });
305
+ const unsubActive = handlers.active
306
+ ? this.resource.events.on("sessionActive", handlers.active)
307
+ : () => { };
308
+ const unsubExpired = handlers.expired
309
+ ? this.resource.events.on("sessionExpired", handlers.expired)
310
+ : () => { };
311
+ // Drive the iterator in the background; if the caller never reads it
312
+ // explicitly, the events still flow through the event bus.
313
+ (async () => {
314
+ try {
315
+ for await (const _event of iterable) {
316
+ void _event;
317
+ }
318
+ }
319
+ catch { /* aborted / retries exhausted */ }
320
+ })();
321
+ return () => {
322
+ unsubActive();
323
+ unsubExpired();
324
+ controller.abort();
325
+ };
326
+ }
327
+ }
328
+ function mergeAbortSignals(a, b) {
329
+ if (!a)
330
+ return b;
331
+ const c = new AbortController();
332
+ const forward = () => c.abort();
333
+ if (a.aborted || b.aborted)
334
+ c.abort();
335
+ a.addEventListener("abort", forward, { once: true });
336
+ b.addEventListener("abort", forward, { once: true });
337
+ return c.signal;
135
338
  }
136
339
  export default ComposeSDK;
137
340
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  import type { HttpClient } from "../http.js";
2
- import type { AudioSpeechCreateParams, AudioTranscriptionCreateParams, AudioTranscriptionResponse, ChatCompletion, ChatCompletionChunk, ChatCompletionsCreateParams, ComposeReceipt, EmbeddingsCreateParams, EmbeddingsResponse, ImagesGenerateParams, ImagesResponse, ResponseObject, ResponseStreamEvent, ResponsesCreateParams, VideoGenerateParams, VideoJobStatus, VideoStatusStreamEvent } from "../types/index.js";
2
+ import type { AudioSpeechCreateParams, AudioTranscriptionCreateParams, AudioTranscriptionResponse, ChatCompletion, ChatCompletionChunk, ChatCompletionsCreateParams, ComposeReceipt, EmbeddingsCreateParams, EmbeddingsResponse, ImagesGenerateParams, ImagesResponse, ResponseObject, ResponseStreamEvent, ResponsesCreateParams, SessionBudgetSnapshot, SessionInvalidReason, VideoGenerateParams, VideoJobStatus, VideoStatusStreamEvent } from "../types/index.js";
3
+ import { type InferenceContext } from "./instrumentation.js";
4
+ export type { InferenceContext } from "./instrumentation.js";
3
5
  export interface ComposeCallOptions {
4
6
  signal?: AbortSignal;
5
7
  timeoutMs?: number;
@@ -10,36 +12,47 @@ export interface ComposeCallOptions {
10
12
  /** Override the Compose Key for this call. Passing `null` forces the raw x402 path. */
11
13
  composeKey?: string | null;
12
14
  /** Override the end-user wallet address for this call. */
13
- walletAddress?: string;
15
+ userAddress?: string;
14
16
  /** Override the chain id for this call. */
15
17
  chainId?: number;
16
18
  }
19
+ /**
20
+ * Typed wrapper returned by every billable, non-streaming inference call.
21
+ *
22
+ * `data` — the parsed JSON body.
23
+ * `receipt` — the settlement receipt decoded from `X-Compose-Receipt`
24
+ * (or mirrored from the `compose_receipt` body field).
25
+ * `requestId` — the server-issued `X-Request-Id` for tracing.
26
+ * `response` — the raw `Response` (still-readable if the caller asked
27
+ * for `.asResponse()` directly; consumed here).
28
+ * `budget` — live `x-session-budget-*` snapshot parsed from
29
+ * response headers, or `null` if the endpoint did not
30
+ * emit budget headers.
31
+ * `sessionInvalidReason` — truthy `x-compose-session-invalid` value when the
32
+ * session must be torn down as a side effect of this
33
+ * call (budget depleted, revoked, etc).
34
+ */
17
35
  export interface ComposeCompletion<T> {
18
- /** The parsed JSON body for the completed call. */
19
36
  data: T;
20
- /** Settlement receipt, if the call was billable and settled successfully. */
21
37
  receipt: ComposeReceipt | null;
22
- /** The request id the server assigned (or echoed) for this call. */
23
38
  requestId: string | null;
24
- /** The raw Response — useful to inspect non-standard headers. */
25
39
  response: Response;
40
+ budget: SessionBudgetSnapshot | null;
41
+ sessionInvalidReason: SessionInvalidReason | null;
26
42
  }
27
43
  export interface ChatCompletionFinalResult {
28
44
  chatCompletion: ChatCompletion;
29
45
  receipt: ComposeReceipt | null;
30
46
  requestId: string | null;
47
+ budget: SessionBudgetSnapshot | null;
48
+ sessionInvalidReason: SessionInvalidReason | null;
31
49
  }
32
50
  export interface ResponsesStreamFinalResult {
33
51
  response: ResponseObject | null;
34
52
  receipt: ComposeReceipt | null;
35
53
  requestId: string | null;
36
- }
37
- interface InferenceContext {
38
- getWalletMaybe(): {
39
- address: string | null;
40
- chainId: number | null;
41
- };
42
- getTokenMaybe(): string | null;
54
+ budget: SessionBudgetSnapshot | null;
55
+ sessionInvalidReason: SessionInvalidReason | null;
43
56
  }
44
57
  /**
45
58
  * Async iterable returned by `inference.chat.completions.stream(...)` and
@@ -101,12 +114,14 @@ declare class AudioNamespace {
101
114
  /**
102
115
  * Text-to-speech. Returns the raw audio `Response` (stream the body via
103
116
  * `response.body` or `await response.arrayBuffer()`), plus any receipt
104
- * extracted from response headers.
117
+ * extracted from response headers, plus the live budget snapshot.
105
118
  */
106
119
  speech(params: AudioSpeechCreateParams, options?: ComposeCallOptions): Promise<{
107
120
  response: Response;
108
121
  receipt: ComposeReceipt | null;
109
122
  requestId: string | null;
123
+ budget: SessionBudgetSnapshot | null;
124
+ sessionInvalidReason: SessionInvalidReason | null;
110
125
  }>;
111
126
  /**
112
127
  * Speech-to-text. Supports both multipart/form-data (preferred, OpenAI-
@@ -157,5 +172,4 @@ export declare class InferenceResource {
157
172
  readonly videos: VideosNamespace;
158
173
  constructor(client: HttpClient, ctx: InferenceContext);
159
174
  }
160
- export {};
161
175
  //# sourceMappingURL=inference.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"inference.d.ts","sourceRoot":"","sources":["../../src/resources/inference.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inference.d.ts","sourceRoot":"","sources":["../../src/resources/inference.ts"],"names":[],"mappings":"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"}