@pinionengineering/prover-client 0.10.0 → 0.11.1

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.
package/dist/client.js CHANGED
@@ -29,7 +29,7 @@ export class PinionProverClient {
29
29
  *
30
30
  * The server generates a key pair and keeps the private scalar α. The returned
31
31
  * `publicKey` is the public half: G1 points U[0..s-1] and G2 point V = α·G₂.
32
- * Store these alongside `keyId` they are all you need to verify proofs locally,
32
+ * Store these alongside `keyId`. They are all you need to verify proofs locally,
33
33
  * independent of the server returning the same material later.
34
34
  */
35
35
  async createKey(label) {
@@ -56,7 +56,7 @@ export class PinionProverClient {
56
56
  /**
57
57
  * Fetch the setup document for a key: public key material and, per
58
58
  * registered root, either the block ID list (non-chunked protocols) or the
59
- * super-block count (chunked protocols: SW-Priv, SW-Pub) parseSetupResponse
59
+ * super-block count (chunked protocols: SW-Priv, SW-Pub). parseSetupResponse
60
60
  * turns either into a uniform ParsedRoot.blockIds array.
61
61
  *
62
62
  * Call this once after tagging to obtain the ParsedSetup needed for auditing.
@@ -71,49 +71,61 @@ export class PinionProverClient {
71
71
  * authentication tags, and store them under keyId.
72
72
  *
73
73
  * The root must already be in the "pinned" lifecycle state for the
74
- * authenticated account. Tagging runs asynchronously on the server
75
- * this enqueues the job and polls GET /api/v1/tag/:job_id until it
76
- * reaches a terminal state, so the returned promise resolves only once
77
- * tagging is actually done (matching the pre-async blocking behavior).
78
- * Call getSetup() after tagging to get the updated block ID lists for the
79
- * next audit cycle.
80
- *
81
- * Throws TagFailedError if the job reaches "tag-failed", or
82
- * TagTimeoutError if it doesn't reach a terminal state within
83
- * options.timeoutMs.
74
+ * authenticated account. Tagging runs asynchronously on the server. This
75
+ * submits the job and returns immediately with a job handle. Poll
76
+ * tagStatus(jobId) yourself, or await waitForTag(jobId, options) to wait
77
+ * for a terminal state (with no default deadline, pass `signal:
78
+ * AbortSignal.timeout(ms)` if you want one). Call getSetup() after
79
+ * tagging completes to get the updated block ID lists for the next audit
80
+ * cycle.
84
81
  */
85
- async tag(root, keyId, options = {}) {
86
- const pollIntervalMs = options.pollIntervalMs ?? 1000;
87
- const timeoutMs = options.timeoutMs ?? 10 * 60 * 1000;
82
+ async tag(root, keyId) {
88
83
  const { job_id: jobId } = await this.post('/api/v1/tag', {
89
84
  root,
90
85
  key_id: keyId,
91
86
  });
92
- const deadline = Date.now() + timeoutMs;
93
- for (;;) {
94
- const status = await this.tagStatus(jobId);
95
- if (status.progress)
96
- options.onProgress?.(status.progress, status.status);
97
- if (status.status === 'tag-done') {
98
- return { block_ids: status.block_ids, block_count: status.block_count };
99
- }
100
- if (status.status === 'tag-failed') {
101
- throw new TagFailedError(jobId, status.error ?? 'unknown error');
102
- }
103
- if (Date.now() >= deadline) {
104
- throw new TagTimeoutError(jobId, status.status);
105
- }
106
- await new Promise((resolve) => setTimeout(resolve, pollIntervalMs));
107
- }
87
+ return { jobId, root, keyId };
108
88
  }
109
- /** Poll the status of a tag job started by tag(). Exposed for callers that want progress UI without waiting on tag()'s full promise. */
89
+ /** Poll the status of a tag job started by tag(). Exposed for callers that want progress UI without waiting on waitForTag()'s full promise. */
110
90
  async tagStatus(jobId) {
111
91
  return this.get(`/api/v1/tag/${encodeURIComponent(jobId)}`);
112
92
  }
93
+ /**
94
+ * Wait for a tag job started by tag() to reach a terminal state, polling
95
+ * tagStatus(jobId) on an interval.
96
+ *
97
+ * There is no default deadline. This waits as long as the job takes
98
+ * unless options.signal is given and fires first, in which case it
99
+ * throws TagTimeoutError with the last-seen status. Throws TagFailedError
100
+ * if the job reaches "tag-failed".
101
+ */
102
+ async waitForTag(jobId, options = {}) {
103
+ const pollIntervalMs = options.pollIntervalMs ?? 1000;
104
+ const status = await pollUntilTerminal({
105
+ fetchStatus: () => this.tagStatus(jobId),
106
+ isTerminal: (s) => s.status === 'tag-done' || s.status === 'tag-failed',
107
+ pollIntervalMs,
108
+ signal: options.signal,
109
+ onTick: (s) => {
110
+ if (s.progress)
111
+ options.onProgress?.(s.progress, s.status);
112
+ },
113
+ }).catch((e) => {
114
+ if (e instanceof PollAbortedError) {
115
+ const last = e.lastStatus;
116
+ throw new TagTimeoutError(jobId, last?.status ?? 'unknown');
117
+ }
118
+ throw e;
119
+ });
120
+ if (status.status === 'tag-failed') {
121
+ throw new TagFailedError(jobId, status.error ?? 'unknown error');
122
+ }
123
+ return { block_ids: status.block_ids, block_count: status.block_count };
124
+ }
113
125
  /**
114
126
  * List the caller's tag jobs, most recently created first.
115
127
  *
116
- * Unlike tagStatus(), this doesn't require already knowing a job_id — use
128
+ * Unlike tagStatus(), this doesn't require already knowing a job_id. Use
117
129
  * it to discover in-flight tagging after a page reload or from a
118
130
  * different tab/device than the one that started it. Pass
119
131
  * `{ active: true }` to list only non-terminal jobs (queued/planning/
@@ -132,36 +144,32 @@ export class PinionProverClient {
132
144
  // Audit phase
133
145
  // ---------------------------------------------------------------------------
134
146
  /**
135
- * POST /prove unauthenticated, the server resolves the account from key_id.
147
+ * POST /prove: unauthenticated, the server resolves the account from key_id.
136
148
  *
137
- * Proving is asynchronous: this posts the challenge, then polls GET
138
- * /prove/:job_id until the job reaches a terminal state, so the returned
139
- * promise resolves only once a proof is actually ready (matching the
140
- * pre-async blocking behavior). Returns the raw proof bytes. Most callers
141
- * should use audit() instead, which also cryptographically verifies the
142
- * response.
149
+ * Proving is asynchronous: this submits the challenge and returns
150
+ * immediately with a job handle. Poll proveStatus(jobId) yourself, or
151
+ * await waitForProve(jobId, options) to wait for a terminal state (with
152
+ * no default deadline (pass `signal: AbortSignal.timeout(ms)` if you
153
+ * want one). Most callers should use audit() instead, which submits,
154
+ * waits, and cryptographically verifies the response in one call.
143
155
  *
144
156
  * @param keyId Challenge key ID.
145
157
  * @param roots CID strings to prove, in the same order as the challenge.
146
158
  * @param challenge base64(JSON(WireChallenge)) from buildChallenge().
147
159
  * @param challengeId Optional idempotency key. If a caller's own retry
148
160
  * logic re-calls prove() for what is logically the
149
- * same request (e.g. after a timeout with an unclear
150
- * outcome), passing the same challengeId across those
151
- * attempts makes the server return the original job
152
- * instead of starting a redundant one. Leave unset for
153
- * normal audit rounds each is a fresh, independently
154
- * random challenge, which should never be deduped
155
- * against a previous one.
161
+ * same request (e.g. after giving up waiting on an
162
+ * earlier attempt with an unclear outcome), passing the
163
+ * same challengeId across those attempts makes the
164
+ * server return the original job instead of starting a
165
+ * redundant one. Leave unset for normal audit rounds:
166
+ * each is a fresh, independently random challenge,
167
+ * which should never be deduped against a previous one.
156
168
  *
157
169
  * Throws PinNotActiveError (409, checked synchronously before any job is
158
- * created), ProveFailedError if the job reaches "prove-failed", or
159
- * ProveTimeoutError if it doesn't reach a terminal state within
160
- * options.timeoutMs.
170
+ * created) or ProverError for any other non-2xx submit response.
161
171
  */
162
- async prove(keyId, roots, challenge, challengeId, options = {}) {
163
- const pollIntervalMs = options.pollIntervalMs ?? 500;
164
- const timeoutMs = options.timeoutMs ?? 60 * 1000;
172
+ async prove(keyId, roots, challenge, challengeId) {
165
173
  const resp = await fetch(`${this.baseUrl}/prove`, {
166
174
  method: 'POST',
167
175
  headers: { 'Content-Type': 'application/json' },
@@ -175,44 +183,64 @@ export class PinionProverClient {
175
183
  throw new ProverError(resp.status, await resp.text().catch(() => ''));
176
184
  }
177
185
  const { job_id: jobId } = await parseJsonBody(resp);
178
- const deadline = Date.now() + timeoutMs;
179
- for (;;) {
180
- const status = await this.proveStatus(jobId);
181
- if (status.status === 'prove-done') {
182
- return base64ToBytes(status.proof ?? '');
183
- }
184
- if (status.status === 'prove-failed') {
185
- throw new ProveFailedError(jobId, status.error ?? 'unknown error', challenge, roots);
186
- }
187
- if (Date.now() >= deadline) {
188
- throw new ProveTimeoutError(jobId, status.status, challenge, roots);
189
- }
190
- await new Promise((resolve) => setTimeout(resolve, pollIntervalMs));
191
- }
186
+ return { jobId, challenge, roots };
192
187
  }
193
- /** Poll the status of a proof job started by prove(). Exposed for callers that want to observe progress without waiting on prove()'s full promise. */
188
+ /** Poll the status of a proof job started by prove(). Exposed for callers that want to observe progress without waiting on waitForProve()'s full promise. */
194
189
  async proveStatus(jobId) {
195
190
  return this.get(`/prove/${encodeURIComponent(jobId)}`);
196
191
  }
192
+ /**
193
+ * Wait for a proof job started by prove() to reach a terminal state,
194
+ * polling proveStatus(jobId) on an interval. Returns the raw proof bytes.
195
+ *
196
+ * There is no default deadline. This waits as long as the proof takes
197
+ * unless options.signal is given and fires first, in which case it
198
+ * throws ProveTimeoutError with the last-seen status. Throws
199
+ * ProveFailedError if the job reaches "prove-failed".
200
+ */
201
+ async waitForProve(jobId, options = {}) {
202
+ const pollIntervalMs = options.pollIntervalMs ?? 500;
203
+ const status = await pollUntilTerminal({
204
+ fetchStatus: () => this.proveStatus(jobId),
205
+ isTerminal: (s) => s.status === 'prove-done' || s.status === 'prove-failed',
206
+ pollIntervalMs,
207
+ signal: options.signal,
208
+ onTick: (s) => options.onStatus?.(s.status),
209
+ }).catch((e) => {
210
+ if (e instanceof PollAbortedError) {
211
+ const last = e.lastStatus;
212
+ throw new ProveTimeoutError(jobId, last?.status ?? 'unknown', options.challenge, options.roots);
213
+ }
214
+ throw e;
215
+ });
216
+ if (status.status === 'prove-failed') {
217
+ throw new ProveFailedError(jobId, status.error ?? 'unknown error', options.challenge, options.roots);
218
+ }
219
+ return base64ToBytes(status.proof ?? '');
220
+ }
197
221
  /**
198
222
  * Run one audit round against a pre-fetched setup.
199
223
  *
200
224
  * Builds a random challenge for the requested percentage of blocks, posts it
201
225
  * to POST /prove, and cryptographically verifies the response. Pass the
202
- * ParsedSetup obtained from getSetup() audit() does not fetch it for you,
226
+ * ParsedSetup obtained from getSetup(). audit() does not fetch it for you,
203
227
  * keeping the setup and audit phases explicit.
204
228
  *
205
229
  * ```ts
206
- * // Setup phase done once (or after adding/removing roots):
230
+ * // Setup phase (done once, or after adding/removing roots):
207
231
  * const { keyId } = await client.createKey();
208
232
  * await client.tag(cid, keyId);
209
233
  * const setup = await client.getSetup(keyId);
210
234
  *
211
- * // Audit phase repeat on a schedule:
235
+ * // Audit phase (repeat on a schedule):
212
236
  * const result = await client.audit(keyId, setup);
213
237
  * const result = await client.audit(keyId, setup, { challengePct: 100 });
214
238
  * ```
215
239
  *
240
+ * Waits for the proof with no default deadline. Pass `options.signal` if
241
+ * you want to cancel or bound how long this waits (e.g.
242
+ * `AbortSignal.timeout(60_000)` for the old fixed ceiling).
243
+ *
216
244
  * Throws `PinNotActiveError` if any challenged root is no longer pinned.
217
245
  */
218
246
  async audit(keyId, setup, options = {}) {
@@ -231,7 +259,14 @@ export class PinionProverClient {
231
259
  throw new Error('no blocks to audit');
232
260
  const challengeSize = Math.max(1, Math.round((challengePct / 100) * allBlockIds.length));
233
261
  const challenge = buildChallenge(challengeSize, allBlockIds.length);
234
- const proofBytes = await this.prove(keyId, targetRoots, challenge);
262
+ const submission = await this.prove(keyId, targetRoots, challenge);
263
+ const proofBytes = await this.waitForProve(submission.jobId, {
264
+ pollIntervalMs: options.pollIntervalMs,
265
+ signal: options.signal,
266
+ challenge,
267
+ roots: targetRoots,
268
+ onStatus: options.onStatus,
269
+ });
235
270
  const verification = verifyProofResult({
236
271
  clientSetup: setup.clientSetup,
237
272
  blockIds: allBlockIds,
@@ -301,7 +336,7 @@ export class PinionProverClient {
301
336
  // ---------------------------------------------------------------------------
302
337
  /**
303
338
  * Parses resp's body as JSON, throwing MalformedResponseError (rather than
304
- * a raw, untyped SyntaxError) if it isn't well-formed e.g. a proxy or
339
+ * a raw, untyped SyntaxError) if it isn't well-formed (e.g. a proxy or
305
340
  * load balancer returning an HTML error page with a 200 status, or a
306
341
  * response truncated mid-body. A non-2xx status is expected to have already
307
342
  * been handled by the caller before this is reached; this only guards
@@ -317,6 +352,57 @@ async function parseJsonBody(resp) {
317
352
  }
318
353
  }
319
354
  // ---------------------------------------------------------------------------
355
+ // Shared polling loop for waitForProve()/waitForTag()
356
+ // ---------------------------------------------------------------------------
357
+ /**
358
+ * Internal signal that a poll loop was cancelled via its caller-supplied
359
+ * AbortSignal before the job reached a terminal state. waitForProve()/
360
+ * waitForTag() catch this and rethrow as ProveTimeoutError/TagTimeoutError
361
+ * carrying lastStatus. Never thrown to the outside on its own.
362
+ */
363
+ class PollAbortedError extends Error {
364
+ lastStatus;
365
+ constructor(lastStatus) {
366
+ super('poll aborted');
367
+ this.lastStatus = lastStatus;
368
+ this.name = 'PollAbortedError';
369
+ }
370
+ }
371
+ /**
372
+ * Polls fetchStatus() every pollIntervalMs until isTerminal(status) is
373
+ * true, calling onTick(status) after every poll (terminal or not) so
374
+ * callers can drive progress callbacks. Has NO built-in deadline: the
375
+ * caller's polling budget is unlimited unless `signal` is given, in which
376
+ * case an abort rejects with PollAbortedError(lastStatus) instead of
377
+ * resolving.
378
+ */
379
+ async function pollUntilTerminal(opts) {
380
+ let last;
381
+ for (;;) {
382
+ if (opts.signal?.aborted)
383
+ throw new PollAbortedError(last);
384
+ const status = await opts.fetchStatus();
385
+ last = status;
386
+ opts.onTick?.(status);
387
+ if (opts.isTerminal(status))
388
+ return status;
389
+ await sleepOrAbort(opts.pollIntervalMs, opts.signal, last);
390
+ }
391
+ }
392
+ function sleepOrAbort(ms, signal, lastStatus) {
393
+ return new Promise((resolve, reject) => {
394
+ if (signal?.aborted) {
395
+ reject(new PollAbortedError(lastStatus));
396
+ return;
397
+ }
398
+ const timer = setTimeout(resolve, ms);
399
+ signal?.addEventListener('abort', () => {
400
+ clearTimeout(timer);
401
+ reject(new PollAbortedError(lastStatus));
402
+ }, { once: true });
403
+ });
404
+ }
405
+ // ---------------------------------------------------------------------------
320
406
  // Errors
321
407
  // ---------------------------------------------------------------------------
322
408
  export class ProverError extends Error {
@@ -331,7 +417,7 @@ export class ProverError extends Error {
331
417
  }
332
418
  /**
333
419
  * Thrown when a response has a successful HTTP status but a body that
334
- * isn't valid JSON this is what an infra problem often looks like from
420
+ * isn't valid JSON. This is what an infra problem often looks like from
335
421
  * the client's perspective (a proxy's HTML error page returned with a 200,
336
422
  * a response cut off mid-stream), as opposed to a clean non-2xx status
337
423
  * (which surfaces as ProverError instead). bodyPreview is truncated to 200
@@ -362,7 +448,7 @@ export class PinNotActiveError extends Error {
362
448
  this.name = 'PinNotActiveError';
363
449
  }
364
450
  }
365
- /** Thrown by tag() when the async tag job reaches the "tag-failed" state. */
451
+ /** Thrown by waitForTag() when the async tag job reaches the "tag-failed" state. */
366
452
  export class TagFailedError extends Error {
367
453
  jobId;
368
454
  reason;
@@ -373,7 +459,12 @@ export class TagFailedError extends Error {
373
459
  this.name = 'TagFailedError';
374
460
  }
375
461
  }
376
- /** Thrown by tag() when the job hasn't reached a terminal state within the configured timeout. */
462
+ /**
463
+ * Thrown by waitForTag() when its `options.signal` fires before the job
464
+ * reaches a terminal state. There is no default deadline anymore. This
465
+ * only happens if the caller opted into one (e.g. `signal:
466
+ * AbortSignal.timeout(ms)`).
467
+ */
377
468
  export class TagTimeoutError extends Error {
378
469
  jobId;
379
470
  lastStatus;
@@ -384,14 +475,14 @@ export class TagTimeoutError extends Error {
384
475
  this.name = 'TagTimeoutError';
385
476
  }
386
477
  }
387
- /** Thrown by prove() when the async proof job reaches the "prove-failed" state. */
478
+ /** Thrown by waitForProve() when the async proof job reaches the "prove-failed" state. */
388
479
  export class ProveFailedError extends Error {
389
480
  jobId;
390
481
  reason;
391
482
  challenge;
392
483
  roots;
393
484
  constructor(jobId, reason,
394
- /** The challenge this job was for base64(JSON(WireChallenge)), decode with decodeChallenge(). */
485
+ /** The challenge this job was for: base64(JSON(WireChallenge)), decode with decodeChallenge(). Undefined if the caller didn't pass one to waitForProve(). */
395
486
  challenge, roots) {
396
487
  super(`prove job ${jobId} failed: ${reason}`);
397
488
  this.jobId = jobId;
@@ -401,14 +492,19 @@ export class ProveFailedError extends Error {
401
492
  this.name = 'ProveFailedError';
402
493
  }
403
494
  }
404
- /** Thrown by prove() when the job hasn't reached a terminal state within the configured timeout. */
495
+ /**
496
+ * Thrown by waitForProve() when its `options.signal` fires before the job
497
+ * reaches a terminal state. There is no default deadline anymore. This
498
+ * only happens if the caller opted into one (e.g. `signal:
499
+ * AbortSignal.timeout(ms)`).
500
+ */
405
501
  export class ProveTimeoutError extends Error {
406
502
  jobId;
407
503
  lastStatus;
408
504
  challenge;
409
505
  roots;
410
506
  constructor(jobId, lastStatus,
411
- /** The challenge this job was for base64(JSON(WireChallenge)), decode with decodeChallenge(). */
507
+ /** The challenge this job was for: base64(JSON(WireChallenge)), decode with decodeChallenge(). Undefined if the caller didn't pass one to waitForProve(). */
412
508
  challenge, roots) {
413
509
  super(`prove job ${jobId} timed out (last status: ${lastStatus})`);
414
510
  this.jobId = jobId;
@@ -430,7 +526,7 @@ export class ProveTimeoutError extends Error {
430
526
  * decoded to raw CID bytes (Uint8Array) via multiformats/cid.
431
527
  * - chunked (SW-Priv/SW-Pub): roots[].block_count is a super-block count;
432
528
  * ids are synthesized locally as superBlockId(rootBytes, i) for i in
433
- * [0, block_count) see superBlockId()'s doc comment in challenge.ts for
529
+ * [0, block_count), see superBlockId()'s doc comment in challenge.ts for
434
530
  * why no per-block manifest is needed for these protocols.
435
531
  */
436
532
  export function parseSetupResponse(raw) {
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  export { PinionProverClient, ProverError, MalformedResponseError, PinNotActiveError, TagFailedError, TagTimeoutError, ProveFailedError, ProveTimeoutError, parseSetupResponse, } from './client.js';
2
- export type { PinionProverClientOptions, AuditOptions, TagOptions, ProveOptions } from './client.js';
2
+ export type { PinionProverClientOptions, AuditOptions, WaitForTagOptions, WaitForProveOptions, } from './client.js';
3
3
  export { verifyProof, verifyProofResult, parseClientSetup } from './verify.js';
4
4
  export type { VerifyParams } from './verify.js';
5
5
  export { buildChallenge, decodeChallenge, deriveIndicesAndCoeffs, blockHashG1, superBlockId, base64ToBytes, uint8ToBase64, BN254_ORDER, } from './challenge.js';
6
6
  export { g1FromBytes, g2FromBytes, g1ScalarMult, g1Add, atePairing, fp12Equal, bytesToBigInt, G1_BASE, G2_BASE, } from './bn254.js';
7
7
  export type { G1Point, G2Point, Fp12Elem } from './bn254.js';
8
- export type { WireClientSetup, WireChallenge, WireProof, ProveResponse, ProveJobResponse, ProveJobStatusResponse, RawTaggedRoot, RawSetupResponse, ParsedRoot, ParsedSetup, ChallengeKeyInfo, CreateKeyResponse, CreateKeyResult, UpdateKeyLabelRequest, TagResponse, TagJobResponse, TagJobProgress, TagJobStatusResponse, TagJobListEntry, TagJobListResponse, ProofVerificationResult, AuditResult, } from './types.js';
8
+ export type { WireClientSetup, WireChallenge, WireProof, ProveResponse, ProveJobResponse, ProveJobStatusResponse, ProveSubmission, RawTaggedRoot, RawSetupResponse, ParsedRoot, ParsedSetup, ChallengeKeyInfo, CreateKeyResponse, CreateKeyResult, UpdateKeyLabelRequest, TagResponse, TagJobResponse, TagSubmission, TagJobProgress, TagJobStatusResponse, TagJobListEntry, TagJobListResponse, ProofVerificationResult, AuditResult, } from './types.js';
9
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,sBAAsB,EACtB,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,yBAAyB,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGrG,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/E,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD,OAAO,EACL,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,WAAW,EACX,YAAY,EACZ,aAAa,EACb,aAAa,EACb,WAAW,GACZ,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,WAAW,EACX,WAAW,EACX,YAAY,EACZ,KAAK,EACL,UAAU,EACV,SAAS,EACT,aAAa,EACb,OAAO,EACP,OAAO,GACR,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG7D,YAAY,EACV,eAAe,EACf,aAAa,EACb,SAAS,EACT,aAAa,EACb,gBAAgB,EAChB,sBAAsB,EACtB,aAAa,EACb,gBAAgB,EAChB,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,WAAW,EACX,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EAClB,uBAAuB,EACvB,WAAW,GACZ,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,sBAAsB,EACtB,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,yBAAyB,EACzB,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/E,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD,OAAO,EACL,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,WAAW,EACX,YAAY,EACZ,aAAa,EACb,aAAa,EACb,WAAW,GACZ,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,WAAW,EACX,WAAW,EACX,YAAY,EACZ,KAAK,EACL,UAAU,EACV,SAAS,EACT,aAAa,EACb,OAAO,EACP,OAAO,GACR,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG7D,YAAY,EACV,eAAe,EACf,aAAa,EACb,SAAS,EACT,aAAa,EACb,gBAAgB,EAChB,sBAAsB,EACtB,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,WAAW,EACX,cAAc,EACd,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EAClB,uBAAuB,EACvB,WAAW,GACZ,MAAM,YAAY,CAAC"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,sBAAsB,EACtB,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAGrB,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAG/E,yBAAyB;AACzB,OAAO,EACL,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,WAAW,EACX,YAAY,EACZ,aAAa,EACb,aAAa,EACb,WAAW,GACZ,MAAM,gBAAgB,CAAC;AAExB,wDAAwD;AACxD,OAAO,EACL,WAAW,EACX,WAAW,EACX,YAAY,EACZ,KAAK,EACL,UAAU,EACV,SAAS,EACT,aAAa,EACb,OAAO,EACP,OAAO,GACR,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,sBAAsB,EACtB,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAQrB,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAG/E,yBAAyB;AACzB,OAAO,EACL,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,WAAW,EACX,YAAY,EACZ,aAAa,EACb,aAAa,EACb,WAAW,GACZ,MAAM,gBAAgB,CAAC;AAExB,wDAAwD;AACxD,OAAO,EACL,WAAW,EACX,WAAW,EACX,YAAY,EACZ,KAAK,EACL,UAAU,EACV,SAAS,EACT,aAAa,EACb,OAAO,EACP,OAAO,GACR,MAAM,YAAY,CAAC"}