zklicensing 0.1.0-beta.16 → 0.1.0-beta.17

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 (155) hide show
  1. package/README.md +46 -89
  2. package/build/agent.d.ts +24 -0
  3. package/build/agent.d.ts.map +1 -1
  4. package/build/agent.js +8 -0
  5. package/build/agent.js.map +1 -1
  6. package/build/agentActions.d.ts +263 -15
  7. package/build/agentActions.d.ts.map +1 -1
  8. package/build/agentActions.js +41 -8
  9. package/build/agentActions.js.map +1 -1
  10. package/build/agentVendor.d.ts +63 -0
  11. package/build/agentVendor.d.ts.map +1 -1
  12. package/build/agentVendor.js +54 -0
  13. package/build/agentVendor.js.map +1 -1
  14. package/build/archiveBootstrap.d.ts +12 -4
  15. package/build/archiveBootstrap.d.ts.map +1 -1
  16. package/build/archiveBootstrap.js +32 -33
  17. package/build/archiveBootstrap.js.map +1 -1
  18. package/build/bindClient.d.ts +1 -1
  19. package/build/bindClient.js +1 -1
  20. package/build/buyClient.js +3 -3
  21. package/build/buyClient.js.map +1 -1
  22. package/build/chainHead.d.ts +20 -0
  23. package/build/chainHead.d.ts.map +1 -1
  24. package/build/chainHead.js +48 -33
  25. package/build/chainHead.js.map +1 -1
  26. package/build/contractInterface.d.ts +189 -56
  27. package/build/contractInterface.d.ts.map +1 -1
  28. package/build/contractInterface.js +161 -43
  29. package/build/contractInterface.js.map +1 -1
  30. package/build/deployClient.d.ts +113 -21
  31. package/build/deployClient.d.ts.map +1 -1
  32. package/build/deployClient.js +72 -22
  33. package/build/deployClient.js.map +1 -1
  34. package/build/generationClient.d.ts +2 -0
  35. package/build/generationClient.d.ts.map +1 -1
  36. package/build/generationClient.js +14 -27
  37. package/build/generationClient.js.map +1 -1
  38. package/build/holderSecret.d.ts +10 -7
  39. package/build/holderSecret.d.ts.map +1 -1
  40. package/build/holderSecret.js +12 -9
  41. package/build/holderSecret.js.map +1 -1
  42. package/build/index.d.ts +1 -1
  43. package/build/index.d.ts.map +1 -1
  44. package/build/index.js +12 -11
  45. package/build/index.js.map +1 -1
  46. package/build/keysClient.d.ts +142 -0
  47. package/build/keysClient.d.ts.map +1 -0
  48. package/build/keysClient.js +109 -0
  49. package/build/keysClient.js.map +1 -0
  50. package/build/licenseRecord.d.ts +14 -1
  51. package/build/licenseRecord.d.ts.map +1 -1
  52. package/build/licenseRecord.js.map +1 -1
  53. package/build/licenseStore.d.ts +26 -1
  54. package/build/licenseStore.d.ts.map +1 -1
  55. package/build/licenseStore.js +100 -6
  56. package/build/licenseStore.js.map +1 -1
  57. package/build/licenseTrustless.d.ts +2 -1
  58. package/build/licenseTrustless.d.ts.map +1 -1
  59. package/build/licenseTrustless.js +42 -35
  60. package/build/licenseTrustless.js.map +1 -1
  61. package/build/manifestVerify.d.ts +28 -0
  62. package/build/manifestVerify.d.ts.map +1 -1
  63. package/build/manifestVerify.js +37 -0
  64. package/build/manifestVerify.js.map +1 -1
  65. package/build/ownershipSignature.d.ts +18 -0
  66. package/build/ownershipSignature.d.ts.map +1 -1
  67. package/build/ownershipSignature.js +36 -0
  68. package/build/ownershipSignature.js.map +1 -1
  69. package/build/permitCheckFlow.d.ts +6 -1
  70. package/build/permitCheckFlow.d.ts.map +1 -1
  71. package/build/permitCheckFlow.js +14 -4
  72. package/build/permitCheckFlow.js.map +1 -1
  73. package/build/permitDescribe.d.ts +44 -1
  74. package/build/permitDescribe.d.ts.map +1 -1
  75. package/build/permitDescribe.js +150 -7
  76. package/build/permitDescribe.js.map +1 -1
  77. package/build/permitInterface.d.ts +37 -2
  78. package/build/permitInterface.d.ts.map +1 -1
  79. package/build/permitInterface.js +53 -10
  80. package/build/permitInterface.js.map +1 -1
  81. package/build/permitMessages.d.ts +160 -1
  82. package/build/permitMessages.d.ts.map +1 -1
  83. package/build/permitMessages.js +179 -3
  84. package/build/permitMessages.js.map +1 -1
  85. package/build/permitRegistryRebuild.d.ts +81 -4
  86. package/build/permitRegistryRebuild.d.ts.map +1 -1
  87. package/build/permitRegistryRebuild.js +174 -25
  88. package/build/permitRegistryRebuild.js.map +1 -1
  89. package/build/permitsClient.d.ts +380 -17
  90. package/build/permitsClient.d.ts.map +1 -1
  91. package/build/permitsClient.js +290 -23
  92. package/build/permitsClient.js.map +1 -1
  93. package/build/proveErrors.d.ts +1 -1
  94. package/build/proveErrors.js +1 -1
  95. package/build/receipt.d.ts +1 -1
  96. package/build/receipt.d.ts.map +1 -1
  97. package/build/refundClient.js +2 -2
  98. package/build/refundClient.js.map +1 -1
  99. package/build/slotConstants.d.ts +15 -0
  100. package/build/slotConstants.d.ts.map +1 -0
  101. package/build/slotConstants.js +17 -0
  102. package/build/slotConstants.js.map +1 -0
  103. package/build/successorChain.d.ts +35 -0
  104. package/build/successorChain.d.ts.map +1 -0
  105. package/build/successorChain.js +69 -0
  106. package/build/successorChain.js.map +1 -0
  107. package/build/trustAnchorVerify.d.ts.map +1 -1
  108. package/build/trustAnchorVerify.js +35 -41
  109. package/build/trustAnchorVerify.js.map +1 -1
  110. package/build/verifyCore.d.ts +3 -0
  111. package/build/verifyCore.d.ts.map +1 -1
  112. package/build/verifyCore.js +10 -6
  113. package/build/verifyCore.js.map +1 -1
  114. package/build/verifyService.js +4 -2
  115. package/build/verifyService.js.map +1 -1
  116. package/build/verifyWithAncestors.d.ts +1 -0
  117. package/build/verifyWithAncestors.d.ts.map +1 -1
  118. package/build/verifyWithAncestors.js +11 -3
  119. package/build/verifyWithAncestors.js.map +1 -1
  120. package/package.json +7 -7
  121. package/src/agent.ts +12 -0
  122. package/src/agentActions.ts +47 -12
  123. package/src/agentVendor.ts +51 -0
  124. package/src/archiveBootstrap.ts +37 -36
  125. package/src/bindClient.ts +1 -1
  126. package/src/buyClient.ts +4 -4
  127. package/src/chainHead.ts +47 -37
  128. package/src/contractInterface.ts +187 -44
  129. package/src/deployClient.ts +190 -111
  130. package/src/generationClient.ts +17 -37
  131. package/src/holderSecret.ts +14 -11
  132. package/src/index.ts +15 -11
  133. package/src/keysClient.ts +135 -0
  134. package/src/licenseRecord.ts +16 -2
  135. package/src/licenseStore.ts +99 -6
  136. package/src/licenseTrustless.ts +42 -36
  137. package/src/manifestVerify.ts +53 -0
  138. package/src/ownershipSignature.ts +39 -0
  139. package/src/permitCheckFlow.ts +19 -5
  140. package/src/permitDescribe.ts +159 -10
  141. package/src/permitInterface.ts +60 -12
  142. package/src/permitMessages.ts +228 -6
  143. package/src/permitRegistryRebuild.ts +218 -24
  144. package/src/permitsClient.ts +358 -32
  145. package/src/proveErrors.ts +1 -1
  146. package/src/receipt.ts +1 -1
  147. package/src/refundClient.ts +2 -2
  148. package/src/slotConstants.ts +18 -0
  149. package/src/successorChain.ts +87 -0
  150. package/src/trustAnchorVerify.ts +37 -45
  151. package/src/verifyCore.ts +14 -6
  152. package/src/verifyService.ts +5 -1
  153. package/src/verifyWithAncestors.ts +13 -3
  154. package/src/contractInterface.d.ts +0 -62
  155. package/src/migrateClient.ts +0 -84
package/README.md CHANGED
@@ -135,7 +135,7 @@ await confirmBind({ keeperUrl, zkAppAddress, licenseHash, txHash });
135
135
  - Unbinding stamps `freedAt = currentSlot`; the slot cannot be re-bound until `COOLDOWN_SLOTS_N = 6_720` slots (≈ 7 days at 90 s/slot) have elapsed. The cooldown is a flat one-week wait for every tier (monthly, yearly, five-year), independent of `deviceCap` — one number to reason about, not a per-tier formula.
136
136
  - `deviceCap = 0` disables binding entirely — `bind()` rejects with "bindings disabled" and no slot state is written to the leaf.
137
137
  - Cap is committed to the leaf at buy time and immutable for the life of the license. A vendor cannot tighten enforcement retroactively.
138
- - Bindings survive cross-generation migration: `migrateLicense` copies the ancestor leaf verbatim (including the device slot array) into the successor tree.
138
+ - Bindings survive a redeploy: the successor starts with its predecessor's licenses tree as it was at retirement (device slots included), checked on chain.
139
139
 
140
140
  **Offline verification.** After bind, the SDK caches the leaf's slot array locally. `verifyOffline` compares the device's local Poseidon commitment against `occupiedSlot[]`; a stolen laptop's commitment vanishing from the slot array denies access on the next launch without any network call.
141
141
 
@@ -262,13 +262,13 @@ The main entry point (`zklicensing`) covers licence verification. Additional ent
262
262
 
263
263
  ### Per-app in-flight proving guard
264
264
 
265
- `/prove/buy`, `/prove/buy-no-escrow`, `/prove/renew`, `/prove/migrate`, and `/prove/refund` all mutate the same on-chain `licensesRoot` (and, for buy/refund, `escrowRoot`) preconditions. Two proofs assembled against the same pre-state root within one landing window are mutually exclusive — the chain admits whichever lands first, the second's precondition fails and the tx is dropped. Left unguarded, the second buyer pays the wallet-popup + fee for a doomed tx.
265
+ `/prove/buy`, `/prove/buy-no-escrow`, `/prove/renew`, and `/prove/refund` all mutate the same on-chain `licensesRoot` (and, for buy/refund, `escrowRoot`) preconditions. Two proofs assembled against the same pre-state root within one landing window are mutually exclusive — the chain admits whichever lands first, the second's precondition fails and the tx is dropped. Left unguarded, the second buyer pays the wallet-popup + fee for a doomed tx.
266
266
 
267
- The keeper defends against this with a **per-app in-flight slot** shared across all five endpoints. While the slot is held, a second concurrent request for the same app receives an immediate `409 { error: "proving queue busy", retryAfterMs, queueDepth }` — before any circuit work or wallet prompt. The SDK surfaces this as a shared `ProveQueueBusyError` (from `zklicensing/prove-errors`) thrown by `proveBuy`, `proveRenew`, `proveMigrate`, and `proveRefund`. Callers wait `retryAfterMs`, then retry — no popup, no fee, no signed-tx-doomed-to-fail.
267
+ The keeper defends against this with a **per-app in-flight slot** shared across all four endpoints. While the slot is held, a second concurrent request for the same app receives an immediate `409 { error: "proving queue busy", retryAfterMs, queueDepth }` — before any circuit work or wallet prompt. The SDK surfaces this as a shared `ProveQueueBusyError` (from `zklicensing/prove-errors`) thrown by `proveBuy`, `proveRenew`, and `proveRefund`. Callers wait `retryAfterMs`, then retry — no popup, no fee, no signed-tx-doomed-to-fail.
268
268
 
269
269
  Each prove response carries an `appKey` field — the same value the keeper uses to key the slot. After the wallet returns a tx hash, the SDK client calls `notifyBroadcast({ keeperUrl, appId: appKey, txHash })` (from `zklicensing/tx-broadcast`, fire-and-forget) to extend the slot's TTL from signing-TTL to landing-TTL, giving the honest broadcast room to land before another prove goes through.
270
270
 
271
- See [`zklicensing/prove-errors`](#zklicensingprove-errors--shared-typed-errors) and [`zklicensing/tx-broadcast`](#zklicensingtx-broadcast--broadcast-signal) below; each of `zklicensing/buy`, `zklicensing/renew`, `zklicensing/migrate` references this contract.
271
+ See [`zklicensing/prove-errors`](#zklicensingprove-errors--shared-typed-errors) and [`zklicensing/tx-broadcast`](#zklicensingtx-broadcast--broadcast-signal) below; each of `zklicensing/buy` and `zklicensing/renew` references this contract.
272
272
 
273
273
  ### `zklicensing/deploy` — deploy flow client
274
274
 
@@ -294,9 +294,11 @@ const status = await pollDeployStatus({ keeperUrl, zkAppAddress });
294
294
 
295
295
  The SDK does not expose a raw `initialize()` helper. `initialize()` sets `vendor` on-chain and is guarded only by a `vendor.requireEquals(PublicKey.empty())` precondition — no in-circuit signature check (adding one collides with the proof-based `editState` permission that `deploy()` installs). Front-running is prevented operationally instead: the backend puts `deploy()` and `initialize()` in the same `Mina.transaction`, and the throwaway zkApp keypair is generated inside the handler and dropped at return, so the target address is not observable to an attacker until the initialize AU is already signed and locked to `(vendor, prices)`. Drivers bypassing `proveDeploy` are responsible for the same discipline.
296
296
 
297
- #### Post-hardfork redeploy
297
+ #### Redeploy (hard fork)
298
298
 
299
- After a Mina hardfork relaxes `impossibleDuringCurrentVersion` back to `signature()`, every existing zkApp becomes uneditable in place (deploy keys are already discarded). Vendors migrate their app to a fresh v2 address themselves. Authentication is a Mina signature against the on-chain vendor of the target app, and the vendor pays gas via their own fee-payer AU. Three-step flow, mirroring the first-time deploy:
299
+ A redeploy moves an app to a fresh zkApp address in two on-chain steps. **Retire**: the old app, with an empty escrow, freezes its licenses tree; the vendor's key (or the platform key, on a platform redeploy) signs it. **Successor**: the new app starts with that frozen tree — its initialization checks on chain that the predecessor is retired at that root with the same vendor, prices and device cap, and its `appCreated` event names the predecessor. Licenses carry on there under the same hashes; nothing for buyers to do. Before a hard fork only the retire happens (the old circuit can't prove after the fork); the successor follows after it. A license that lapsed during the pre-fork sales freeze renews from the fork slot (`effectiveExpirySlot`).
300
+
301
+ Authentication is a Mina signature against the on-chain vendor of the target app, and the vendor's wallet pays for every step (the retire and the successor), as the admin wallet does on a platform redeploy: the keeper proves each step and holds no key.
300
302
 
301
303
  ```ts
302
304
  import {
@@ -306,39 +308,34 @@ import {
306
308
  pollDeployStatus,
307
309
  } from 'zklicensing/deploy';
308
310
 
309
- // 1. Ask the backend for a single-use signing challenge.
310
- const { nonce } = await getVendorRedeployChallenge({ keeperUrl, appId });
311
-
312
- // 2. Vendor's wallet signs the nonce (Auro / Mina wallet's mina_signMessage
313
- // or the equivalent that returns a Signature.toObject() form).
314
- const signature = await wallet.signMessage(nonce); // { field, scalar }
315
-
316
- // 3. Backend verifies signature against on-chain vendor, runs all redeploy
317
- // guards, generates a throwaway zkApp keypair, and returns the proven tx
318
- // for the wallet to sign + broadcast.
319
- const { provenTxJson, zkAppAddress, redeployId } = await proveVendorRedeploy({
320
- keeperUrl, appId,
321
- nonce,
322
- signature,
323
- senderPublicKey: vendorAddress, // fee payer
324
- // force: true, // optional — bypass escrow-empty guard
325
- });
326
-
327
- // 4. Wallet adds the fee-payer signature and broadcasts (same as proveDeploy).
328
- const { hash: txHash } = await wallet.sendTransaction({ transaction: provenTxJson });
329
-
330
- // 5. Register the pending redeploy so the backend arms its deploy-watcher.
331
- // On landing, the backend promotes the new deployment onto the AppRecord
332
- // (push old to deploymentHistory[], overwrite live fields, clear sync cursors).
333
- await registerVendorRedeploy({ keeperUrl, appId, redeployId, txHash });
311
+ let retireSignature: string | undefined;
312
+ for (;;) {
313
+ // 1. A single-use signing challenge (one per prove call), signed by the vendor's wallet.
314
+ const { nonce } = await getVendorRedeployChallenge({ keeperUrl, appId });
315
+ const signature = await wallet.signMessage(nonce); // { field, scalar }
316
+
317
+ // 2. The backend verifies the signature against the on-chain vendor, runs
318
+ // the redeploy guards and answers with the next step.
319
+ const r = await proveVendorRedeploy({ keeperUrl, appId, nonce, signature, senderPublicKey: vendorAddress, retireSignature });
320
+ if ('status' in r && r.status === 'draining') break; // sales paused; come back after r.readyAt
321
+ if ('status' in r && r.status === 'sign-retire') { // the vendor signs the retirement
322
+ retireSignature = await wallet.signFields(r.retireMessage); // base58
323
+ continue;
324
+ }
334
325
 
335
- // 6. Poll for landing.
336
- await pollDeployStatus({ keeperUrl, zkAppAddress });
326
+ // 3. The wallet adds the fee-payer signature, sends and pays for the step.
327
+ const { hash: txHash } = await wallet.sendTransaction({ transaction: r.provenTxJson });
328
+ // 4. Register it: a retire is marked (before a fork; the successor follows
329
+ // after it), a deploy is promoted when it lands.
330
+ await registerVendorRedeploy({ keeperUrl, appId, redeployId: r.redeployId, txHash });
331
+ if (r.step !== 'retire') await pollDeployStatus({ keeperUrl, zkAppAddress: r.zkAppAddress });
332
+ break;
333
+ }
337
334
  ```
338
335
 
339
- Guards enforced by the backend before proving: freeze slot configured, refund window closed past `FREEZE_AFTER_SLOT + REFUND_WINDOW`, app status `active`, on-chain version in `SUPPORTED_LICENSING_APP_VERSIONS`. The nonce expires 60 seconds after `getVendorRedeployChallenge` returns; consumed on `proveVendorRedeploy`.
336
+ Guards enforced by the backend before proving: freeze slot configured, refund window closed past `FREEZE_AFTER_SLOT + REFUND_WINDOW`, escrow empty, app status `active`, on-chain version in `SUPPORTED_LICENSING_APP_VERSIONS`. The nonce expires 60 seconds after `getVendorRedeployChallenge` returns; consumed on `proveVendorRedeploy`.
340
337
 
341
- Pass `force: true` to bypass the `escrowRoot === EMPTY_ROOT` guard when a straggling refund is still in flight and the vendor accepts responsibility for the unrefunded balance. Other guards remain strict. Unrefunded buyers retain the refund path against the retired v1 address; its on-chain state persists indefinitely, and the retired address stays in `AppRecord.deploymentHistory[]` for out-of-band buyer notification.
338
+ An app retires only with an empty escrow (the circuit requires it): refunds and releases must be done first.
342
339
 
343
340
  > **Buy links auto-update — vendor-embedded links do not.** `proveVendorRedeploy` returns a fresh `zkAppAddress`. The platform marketplace stores your `buyUrl`/`renewUrl`/`refundUrl` as **base URLs** and appends `?app=<zkAppAddress>&network=<net>` at render time, so the "Get" button on the `/apps` listing routes buyers to the new v2 address automatically the moment `finalizeRedeploy` promotes it onto the AppRecord — no vendor action required. Only surfaces where you have hand-embedded the raw `zkAppAddress` yourself (landing pages, docs, emails, screenshots) need manual updating. Existing licenses on the retired v1 address remain independently verifiable.
344
341
 
@@ -379,13 +376,13 @@ Two properties matter for integrators:
379
376
 
380
377
  This is what `buy.html` and `renew.html` on zklicensing.com call — an inactive-listing app can still be bought and renewed against so long as its on-chain LicensingApp is live. Use this endpoint when starting from a `zkAppAddress` (URL param, wallet paste); use `GET /apps/:appId` when you already know the stable app ID and only need the lineage.
381
378
 
382
- On renew, `renew.ts` fetches this endpoint and, if the licence's `zkAppAddress` is retired, presents a **blocking** "Migrate & Renew" flow (the keeper 409s `/prove/renew` and `/prove/buy*` on retired addresses — buyer-held renewals against a retired tree would silently strand). Migration is a single call — no hop-walking — and copies the current expiry verbatim into the live map; see `zklicensing/migrate` below.
379
+ On renew, `renew.ts` fetches this endpoint and, if the licence's `zkAppAddress` is retired, renews on the current one instead: the successor started with the retired app's licenses, so the licence is there under the same hash (the keeper 409s `/prove/renew` and `/prove/buy*` on retired addresses, and a retired app refuses them on chain).
383
380
 
384
381
  **Signed generation-list, pin-verified.** The response body carries a `publicKey` + `signature` over the canonical `{ appId, current, generations, issuedAt }` payload, signed with the platform manifest Ed25519 key (the same key material that signs the freeze manifest). The SDK verifies against a caller-supplied pin list (`fetchGenerationInfo({ pinnedPublicKeysBase64 })`, see `zklicensing/generation` below) and fails closed — `verified: false` with `current: null` and `generations: []` — when the signature doesn't match. The keeper is not the trust anchor; the pin list is.
385
382
 
386
- Snapshot atomicity: `finalizeRedeploy` gates a retiring generation from all `/prove/*` handlers **before** draining the tolerance window, capturing `frozenRoot`, and persisting — so any buyer-held `provenTxJson` proven against the retiring tree becomes unlandable inside the drain window rather than accidentally landing after the ancestor root is composed.
383
+ Retirement atomicity: the keeper gates a retiring generation from all `/prove/*` handlers **before** draining the tolerance window and retiring it — so any buyer-held `provenTxJson` proven against the retiring tree becomes unlandable inside the drain window; after `retire` the app refuses writes on chain.
387
384
 
388
- Never trusts `current` blindly: renew always continues against the licence's own stored `zkAppAddress` unless the buyer explicitly opts into the migrate flow. This means a compromised or misreporting keeper cannot redirect a renew to an address the buyer didn't already receive at purchase time. A verified signature is required to even enable the "Migrate & Renew" button.
385
+ Never trusts `current` blindly: renew moves to the current address only when the generation list verifies against the pinned key, so a compromised or misreporting keeper cannot redirect a renew to an address of its choosing.
389
386
 
390
387
  ### `zklicensing/buy` — buy flow client
391
388
 
@@ -453,7 +450,7 @@ The SDK never touches a wallet — the caller drives the sign step between `prov
453
450
 
454
451
  `proveBuy` also refuses locally when the backend's sales freeze is in effect (fetched from `GET /health`) — the request would 423 anyway, so surfacing the message before the round-trip saves a wasted call. See `zklicensing/freeze` below.
455
452
 
456
- **No-escrow routing.** When the buyer's advertised 14-day refund window would land past `FREEZE_AFTER_SLOT` (checked as `currentSlot + REFUND_WINDOW_N + TOLERANCE_WINDOW_N > FREEZE_AFTER_SLOT`), `proveBuy` transparently switches to `POST /prove/buy-no-escrow` — the backend endpoint for a distinct circuit method (`buyLicenseNoEscrow`) that pays vendor + platform directly at buy time (98 / 2, same as `renewLicense`) and never writes an escrow entry. This is the mechanism that makes the pre-hardfork waiver materially real: with no escrow entry there is nothing for the freeze-window migration guard to strand, and no refund path exists at all (a refund would fail the `escrowCommitment` check by construction). Passing `refundWaiverAccepted: true` is mandatory on those routed calls; the backend refuses the endpoint without it. When the backend hasn't yet been redeployed with a build that offers `/prove/buy-no-escrow`, the client throws an actionable message rather than silently falling back to an escrow-backed buy that would strand funds — vendors on old backend builds must complete their §12.13 redeploy before the overlap-window sales resume.
453
+ **No-escrow routing.** When the buyer's advertised 14-day refund window would land past `FREEZE_AFTER_SLOT` (checked as `currentSlot + REFUND_WINDOW_N + TOLERANCE_WINDOW_N > FREEZE_AFTER_SLOT`), `proveBuy` transparently switches to `POST /prove/buy-no-escrow` — the backend endpoint for a distinct circuit method (`buyLicenseNoEscrow`) that pays vendor + platform directly at buy time (98 / 2, same as `renewLicense`) and never writes an escrow entry. This is the mechanism that makes the pre-hardfork waiver materially real: with no escrow entry nothing blocks the redeploy (an app retires only with an empty escrow), and no refund path exists at all (a refund would fail the `escrowCommitment` check by construction). Passing `refundWaiverAccepted: true` is mandatory on those routed calls; the backend refuses the endpoint without it. When the backend hasn't yet been redeployed with a build that offers `/prove/buy-no-escrow`, the client throws an actionable message rather than silently falling back to an escrow-backed buy that would strand funds — vendors on old backend builds must complete their §12.13 redeploy before the overlap-window sales resume.
457
454
 
458
455
  ### `zklicensing/renew` — renew flow client
459
456
 
@@ -495,46 +492,6 @@ await confirmRenew({ keeperUrl, zkAppAddress, licenseHash, txHash });
495
492
 
496
493
  `proveRenew` also refuses locally when the backend's sales freeze is in effect (fetched from `GET /health`), for the same reason as `proveBuy`. Concurrent-prove serialization is via the shared per-app in-flight guard — see [Per-app in-flight proving guard](#per-app-in-flight-proving-guard).
497
494
 
498
- ### `zklicensing/migrate` — cross-generation migrate client
499
-
500
- Wraps `POST /prove/migrate`. The keeper locates the buyer's licence in the freshest ancestor generation where it still exists, assembles the three witnesses (ancestor / predecessor / current-live-empty), and returns a signable transaction that copies the expiry verbatim into the current live map at zero payment.
501
-
502
- **Full "Migrate & Renew" sequence** (two txs, one wallet sign each):
503
-
504
- 1. `fetchGenerationInfo` (see `zklicensing/generation`) — pin-verified signed lineage. If the licence's `zkAppAddress` is retired, present the buyer with a blocking "Migrate & Renew" step.
505
- 2. `proveMigrate` → wallet signs `provenTxJson` → broadcast → poll landing on the current `zkAppAddress`.
506
- 3. `proveRenew` (see `zklicensing/renew`) against the current `zkAppAddress` → wallet signs → broadcast → poll → rewrite `ProofFile` with the new `{ generation, zkAppAddress, expirySlot }`.
507
-
508
- The keeper 409s `/prove/renew` and `/prove/buy*` for any retired `zkAppAddress`, so skipping step 2 is not an option.
509
-
510
- ```ts
511
- import { proveMigrate, ProveMigrateError } from 'zklicensing/migrate';
512
- import { ProveQueueBusyError } from 'zklicensing/prove-errors';
513
-
514
- try {
515
- const { provenTxJson, ancestorGen, expirySlot, zkAppAddress, appKey } = await proveMigrate({
516
- keeperUrl: 'https://dev.zklicensing.com/api/keeper',
517
- licenseHash: '…',
518
- appId: 'app_…',
519
- buyerAddress: 'B62q…', // fee payer (buyer-signed mode)
520
- });
521
- // Wallet signs provenTxJson → broadcast → poll landing → resume with renew.
522
- } catch (e) {
523
- if (e instanceof ProveQueueBusyError) {
524
- // Another root-mutating prove (buy / renew / migrate) is in flight on this app.
525
- // Wait e.retryAfterMs, then retry — no wallet popup was opened.
526
- }
527
- if (e instanceof ProveMigrateError) {
528
- // Terminal 4xx: 404 "license refunded or unknown", 409 "already migrated", etc.
529
- }
530
- throw e;
531
- }
532
- ```
533
-
534
- Single-flight is enforced keeper-side by the shared per-app in-flight slot (see [§Per-app in-flight proving guard](#per-app-in-flight-proving-guard)) — not a per-`licenseHash` marker. The second concurrent caller on the same app receives an immediate `409 { error: "proving queue busy", retryAfterMs, queueDepth }` before any wallet prompt, whether the other request was a buy, renew, or migrate against the same `licensesRoot`. This is stricter than the previous per-`licenseHash` marker: two migrates of *different* licenses on the same app are also serialized, because both mutate the same root.
535
-
536
- Terminal 4xx surfaces (`ProveMigrateError`): 404 "license refunded or unknown" (no leaf in any generation — stop), 409 "already migrated" (leaf already in the current live map — refresh the record).
537
-
538
495
  ### `zklicensing/generation` — signed generation-list client
539
496
 
540
497
  Wraps `GET /apps/:appId` — every past `zkAppAddress` plus the currently live one, with the response's Ed25519 signature verified against a caller-supplied pin list of platform manifest public keys.
@@ -600,7 +557,7 @@ zklicensing-verify-trust --registry B62q… --origin https://permits.city.exampl
600
557
 
601
558
  ### `zklicensing/refund` — refund flow client
602
559
 
603
- Same shape as buy/renew. The backend enforces the 14-day refund window and returns HTTP 409 when it has closed — the error surfaces through the thrown `Error` message, so the SDK doesn't second-guess it locally. Refunds stay open during a sales freeze (that's the whole point of freezing). Refund shares the per-app in-flight guard with buy/renew/migrate, so `proveRefund` throws `ProveQueueBusyError` on concurrent-prove collisions.
560
+ Same shape as buy/renew. The backend enforces the 14-day refund window and returns HTTP 409 when it has closed — the error surfaces through the thrown `Error` message, so the SDK doesn't second-guess it locally. Refunds stay open during a sales freeze (that's the whole point of freezing). Refund shares the per-app in-flight guard with buy/renew, so `proveRefund` throws `ProveQueueBusyError` on concurrent-prove collisions.
604
561
 
605
562
  ```ts
606
563
  import { proveRefund, confirmRefund } from 'zklicensing/refund';
@@ -634,7 +591,7 @@ await confirmRefund({ keeperUrl, zkAppAddress, licenseHash, txHash });
634
591
 
635
592
  ### `zklicensing/freeze` — sales-freeze state
636
593
 
637
- Read helpers for the backend's sales-freeze schedule. A platform operator sets `FREEZE_AFTER_SLOT` on the backend ahead of a hardfork migration; from that slot on the backend refuses new buys and renewals so open escrow can drain. Refunds, releases, and verify stay open throughout.
594
+ Read helpers for the backend's sales-freeze schedule. A platform operator sets `FREEZE_AFTER_SLOT` on the backend ahead of a hardfork redeploy; from that slot on the backend refuses new buys and renewals so open escrow can drain. Refunds, releases, and verify stay open throughout.
638
595
 
639
596
  ```ts
640
597
  import { getKeeperHealth, resolveFreezeState } from 'zklicensing/freeze';
@@ -693,7 +650,7 @@ Purchase revenue attributes to `createdAt` (falling back to slot-derived time fo
693
650
 
694
651
  ### `zklicensing/prove-errors` — shared typed errors
695
652
 
696
- Typed error surface for the per-app in-flight guard shared across `proveBuy`, `proveRenew`, `proveMigrate`, and `proveRefund`. See [Per-app in-flight proving guard](#per-app-in-flight-proving-guard) for the wire contract.
653
+ Typed error surface for the per-app in-flight guard shared across `proveBuy`, `proveRenew`, and `proveRefund`. See [Per-app in-flight proving guard](#per-app-in-flight-proving-guard) for the wire contract.
697
654
 
698
655
  ```ts
699
656
  import { ProveQueueBusyError } from 'zklicensing/prove-errors';
@@ -712,7 +669,7 @@ try {
712
669
  }
713
670
  ```
714
671
 
715
- Also exports `readErrorBody(resp)` + `tryQueueBusyFromBody(parsed)` — pure helpers used internally by the buy/renew/migrate clients to consume the response body exactly once and then classify it. Available for driver integrations that need to inspect a keeper 409 without re-parsing.
672
+ Also exports `readErrorBody(resp)` + `tryQueueBusyFromBody(parsed)` — pure helpers used internally by the buy/renew/refund clients to consume the response body exactly once and then classify it. Available for driver integrations that need to inspect a keeper 409 without re-parsing.
716
673
 
717
674
  ### `zklicensing/tx-broadcast` — broadcast signal
718
675
 
@@ -724,7 +681,7 @@ import { notifyBroadcast } from 'zklicensing/tx-broadcast';
724
681
  // After sendWithWallet returns:
725
682
  void notifyBroadcast({
726
683
  keeperUrl,
727
- appId: appKey, // the `appKey` returned by proveBuy / proveRenew / proveMigrate
684
+ appId: appKey, // the `appKey` returned by proveBuy / proveRenew
728
685
  txHash,
729
686
  });
730
687
  ```
@@ -810,7 +767,7 @@ Default public Mina GraphQL endpoints are wired in (`DEFAULT_MINA_GRAPHQL_URLS.m
810
767
 
811
768
  ### `zklicensing/verify-trustless` — the same, in one call
812
769
 
813
- `verifyLicenseTrustless` does the steps above for you, plus the checks a raw root read leaves out: the contract at the address must run a published LicensingApp release (its verification key is one of `CANONICAL_VK_HASHES`) and be locked (state changes only by proof, no new verification key, no new permissions), and the current slot comes from the node too. The service supplies only the leaf fields and Merkle path; they must hash to the on-chain root, so a stale or lying service can make the check fail but never pass. An absent license is proved the same way. The app's contract generations come from the platform-signed list (checked against the pinned manifest keys), current generation first, so a buyer who never migrated off a retired contract still verifies.
770
+ `verifyLicenseTrustless` does the steps above for you, plus the checks a raw root read leaves out: the contract at the address must run a published LicensingApp release (its verification key is one of `CANONICAL_VK_HASHES`) and be locked (state changes only by proof, no new verification key, no new permissions), and the current slot comes from the node too. The service supplies only the leaf fields and Merkle path; they must hash to the on-chain root, so a stale or lying service can make the check fail but never pass. An absent license is proved the same way. The app's contract generations come from the platform-signed list (checked against the pinned manifest keys), current generation first, so a license file naming a retired contract still verifies (the license carried over to the current one). The chain names the current generation too: a retired contract stores its successor, and each successor must run a published release and have started from its predecessor's frozen root. Without a valid signed list, the given address and its on-chain successors are checked (`generations: 'given-address-only'`).
814
771
 
815
772
  ```ts
816
773
  import { verifyLicenseTrustless } from 'zklicensing/verify-trustless';
@@ -832,16 +789,16 @@ Registries of permits run by an authority (multi-key approval), held by a holder
832
789
 
833
790
  | Subpath | What it gives you |
834
791
  |---|---|
835
- | `zklicensing/permits/client` | `createPermitsClient({ keeperUrl, network, wallet })`: reads (`listRegistries`, `getRegistry`, `getPermit`, `verifyPermit`), the holder flow (`apply`, `getApplication`, `withdrawApplication`, `acceptGrant`, `surrender`) and the authority flow (`acceptAuthorityTerms`, `createRegistry`, `signRequest`, `deployRegistry`, `approveApplication`, `requestRenewal` / `requestStatus` / `requestFees` / `requestRotation`, `executeRequest`). Writes sign in first; the sign-in text names the site and network and the session works only on that network. `acceptAuthorityTerms` takes `AuthorityDetails`: on mainnet also `registrationNumber` and `billingAddress`, and `vatId` only if the authority is VAT-registered; `authorityFeeStatement(month)` returns the platform's monthly fee statement for the wallet's registries. Also `verifyPermitTrustless` (the keeper's leaf and witness must fold to the root read from a Mina node, dated by the node's slot), `readRegistryHead` (a registry's root and the current slot from a Mina node) and `minaSignerWallet` (a `PermitWallet` from a private key, for scripts and agents). Options `confirmSignature(description)` (called before every field signature with what it does in words and a fingerprint to compare with the wallet; return `false` to cancel, error code `CANCELLED`) and `describeContext(registry)` (activity names and dates for those descriptions). The client rebuilds every message from the request's details first and refuses one that doesn't match (`SIGNATURE_INVALID`). |
836
- | `zklicensing/receipt` | The purchase receipt (`PurchaseReceipt`): the durable confirmation the keeper issues at `confirmBuy`, `confirmRenew` and permit `acceptGrant` (each returns it as `receipt`), in the seller's name and numbered in the seller's own series; `confirmRefund` returns a credit note (`creditNote`, kind `license-refund`, negative amounts, `creditFor` naming the receipt it cancels) in the seller's credit-note series. It is a document of its own, not part of the license or permit file: offer it as a separate download, `receiptHtml(receipt or list)` (a self-contained printable page, no scripts) saved as `receiptFileName(…)` (Vendor Terms §7.1). The buyer can fetch them again from `GET /receipts` with their wallet sign-in. |
792
+ | `zklicensing/permits/client` | `createPermitsClient({ keeperUrl, network, wallet })`: reads (`listRegistries`, `getRegistry`, `getPermit`, `verifyPermit`), the holder flow (`apply`, which pays the fee into escrow, or `apply(…, { pay: false })` then `fileApplication(id, payer?)`; `getApplication`, `withdrawApplication`, `reclaimApplication` after an undecided deadline, `acceptGrant` for a renewal the authority offers, `surrender`) and the authority flow (`acceptAuthorityTerms`, `createRegistry` with `processingFeeMina` and `decisionWindow`, `signRequest`, `deployRegistry`, `approveApplication` / `rejectApplication` (exactly as filed), `requestRenewal` / `requestStatus` / `requestFees` / `requestRotation`, `executeRequest`, and `redeployRegistry` / `cancelRedeploy` / `getDeployment` for moving a registry to the current release: it drains open applications, then the keys sign `retire` (the old registry freezes) and the next generation's deployment, which commits to the frozen permits; `getPermit` and `verifyPermitTrustless` follow the generations). An approval pays the escrowed fee out 98/2; a rejection or withdrawal keeps the registry's processing fee and refunds the rest to the payer; past the decision deadline the payer gets it all back. Writes sign in first; the sign-in text names the site and network and the session works only on that network. `acceptAuthorityTerms` takes `AuthorityDetails`: on mainnet also `registrationNumber` and `billingAddress`, and `vatId` only if the authority is VAT-registered; `authorityFeeStatement(month)` returns the platform's monthly fee statement for the wallet's registries. Also `verifyPermitTrustless` (the keeper's leaf and witness must fold to the root read from a Mina node, dated by the node's slot), `readRegistryHead` (a registry's root and the current slot from a Mina node) and `minaSignerWallet` (a `PermitWallet` from a private key, for scripts and agents). Options `confirmSignature(description)` (called before every field signature with what it does in words and a fingerprint to compare with the wallet; return `false` to cancel, error code `CANCELLED`) and `describeContext(registry)` (activity names and dates for those descriptions). The client rebuilds every message from the request's details first and refuses one that doesn't match (`SIGNATURE_INVALID`). |
793
+ | `zklicensing/receipt` | The purchase receipt (`PurchaseReceipt`): the durable confirmation the keeper issues at `confirmBuy`, `confirmRenew` and permit `acceptGrant` (each returns it as `receipt`), for an approved permit application when the approval is sent, and for the processing fee kept on a rejection or withdrawal (kind `permit-processing`; `withdrawApplication` returns it, otherwise `getReceipt(txHash)` with the holder's sign-in), in the seller's name and numbered in the seller's own series; `confirmRefund` returns a credit note (`creditNote`, kind `license-refund`, negative amounts, `creditFor` naming the receipt it cancels) in the seller's credit-note series. It is a document of its own, not part of the license or permit file: offer it as a separate download, `receiptHtml(receipt or list)` (a self-contained printable page, no scripts) saved as `receiptFileName(…)` (Vendor Terms §7.1). The buyer can fetch them again from `GET /receipts` with their wallet sign-in. |
837
794
  | `zklicensing/permits/describe` | Field signatures appear in wallets as bare numbers. `describeRequest(request, ctx)`, `describeAccept`, `describeSurrender` rebuild the message from its details and return `{ title, facts, verified, problem?, fingerprint }` (`fingerprint`: "7 numbers, the last ending …123456", to compare with the wallet's screen); `identifyPermitMessage(fields)` reads the kind, network and registry from any message's numbers alone. |
838
- | `zklicensing/permits/holder-secret` | The holder secret behind anonymous proofs, without loading the proof: `deriveHolderSecret(wallet, { registry, network, index })` (one text `signMessage` over `holderSecretText(registry, network, index)`, which the wallet shows in words; `index` counts the key's permits in the registry: 0, 1, …; signatures are deterministic, so nothing needs keeping), `findHolderSecret(wallet, { registry, network, subject })` (recovers a permit's secret from the chain alone: tries 0, 1, … until the subject matches, usually the first), `saltFromHolderSecret`, and `holderSecretMatches(holderKey, subject, secret)`. Only sign that text on pages you trust: anyone holding the signature can recognise that permit's nullifiers (not prove with it). |
795
+ | `zklicensing/permits/holder-secret` | The holder secret behind anonymous proofs, without loading the proof: `deriveHolderSecret(wallet, { lineage, network, index })` (one text `signMessage` over `holderSecretText(lineage, network, index)`, which the wallet shows in words; `lineage` is the registry's first address, `registry.lineage` from the keeper or `client.registryLineage(registry)`, the same in every generation so a permit's secret survives redeploys; `index` counts the key's permits in the registry: 0, 1, …; signatures are deterministic, so nothing needs keeping), `findHolderSecret(wallet, { lineage, network, subject })` (recovers a permit's secret from the chain alone: tries 0, 1, … until the subject matches, usually the first), `saltFromHolderSecret`, and `holderSecretMatches(holderKey, subject, secret)`. Only sign that text on pages you trust: anyone holding the signature can recognise that permit's nullifiers (not prove with it). |
839
796
  | `zklicensing/permits/rebuild` (also) | `RegistryView.tree` is a `CompactMerkleMap`: a MerkleMap drop-in (same roots and witnesses) that stores only the leaves and the split-children values, so `registryViewToStored` / `registryViewFromStored` save and load a registry without re-hashing (10,000 permits: 4 MB, 0.3 s to load; a rebuild from events re-hashes a 256-level path per permit, about 17 min), and `refreshRegistryView(view, events)` re-hashes only the permits that changed. |
840
797
  | `zklicensing/permits/tree` | A compact copy of a registry's permits tree: every permit plus the 2(N − 1) node values where two permits' paths split, so a holder builds its Merkle witness without the keeper learning which permit and without re-hashing the 256-level tree (about 0.1 s per permit). `compactTreeFrom` (keeper side, from the full tree), `witnessFromCompactTree` (checked by folding to the root), `applyTreeDiff` (the permits changed since a root; re-hashes only above them), `syncRegistryTree({ registry, fetchTree, cache })` (cached copy brought up to date, else a full download). Measured: 10,000 permits ≈ 1.5 MB gzipped and 0.4 s on the device; 100,000 ≈ 15 MB and 3.5 s. |
841
798
  | `zklicensing/permits/check` | Anonymous checks through the keeper's relay (the site's verify.html Anonymous mode and prove.html use it). `createCheckRelay(keeperUrl)`: `openCheck` (own nonce, nullifiers never repeat), `createEvent` + `openEventCheck` (one nonce per event: a permit's nullifier repeats there, so second use shows), `getCheck`, `submitProof`, `markSeen` / `seenCount` (the event's shared list, with its key), `getTree`. `proveForCheck({ checkId, permit, wallet, origin, treeCache? })` (holder: builds the witness from a compact copy of the whole registry so the keeper can't tell which permit, re-derives the secret, proves, sends) and `verifyCheck({ checkId, origin, trustless? })` (checker). `origin` is the site both sides are on: the challenge is `verifierContext(origin, nonce)`. |
842
799
  | `zklicensing/permits/proof` | The holder's anonymous proof: `proveHolder` (runs on the holder's device — it needs the holder's signature over `holderProofMessage(registry, root, context)` and the holder secret, which the holder's wallet re-derives from the chain with `findHolderSecret` (`zklicensing/permits/holder-secret`); the client's `apply` derives it and sends only its hash, the salt) and `verifyHolderProof` (checks the proof, its registry, root, slot, required activities and challenge; returns the nullifier, the same for one holder and one challenge). The nullifier is `Poseidon(tag, holderSecret, context)`: subjects are public and the keeper and authority see the salt, but only the holder's wallet can produce the secret, so nobody else can match a nullifier to a permit. The challenge is bound to the verifier: `context = verifierContext(verifier, nonce)`, from the verifier's identity as the holder reaches it (a URL counts as its origin, `normalizeVerifier`) and a `randomNonce()`; verifiers pass `{ verifier, nonce }` to `verifyHolderProof`. Two verifiers that agree on one nonce still get different challenges, so they can't link a holder by comparing nullifiers. |
843
800
  | `zklicensing/permits/trust` | `verifyRegistryTrust`: is an address a genuine, unmodifiable registry (a published verification key from `CANONICAL_PERMIT_VK_HASHES`, initialized, bound to the network, permissions locked), and does it belong to the website it names (`zkappUri`, options `website` and `checkWellKnown`; `wellKnownPath` / `wellKnownFile` for the authority's claim file)? Also the `--registry` mode of `zklicensing-verify-trust`. |
844
- | `zklicensing/permits/messages` | The permit leaf, its hash and subject, packed fees and policy, and the exact field messages the authority keys and the holder sign (`toSignableFields` turns one into wallet `signFields` input). |
801
+ | `zklicensing/permits/messages` | The permit leaf, its hash and subject, packed fees and policy, the escrowed `Application` (its `filing` number is the registry's `filingCount` when filed, so every filing hashes differently and a decision or withdrawal signature settles only that filing; `applicationTermsHash`, which the holder signs, leaves out the payer, deadline and filing number) and the exact field messages the authority keys and the holder sign (`toSignableFields` turns one into wallet `signFields` input). |
845
802
  | `zklicensing/permits/rebuild` | `rebuildRegistry` / `applyRegistryEvents`: a registry's permits and root from its on-chain events alone, without the keeper; `permitStatusAt` for a permit's status at a slot. |
846
803
  | `zklicensing/permits/interface` | Event shapes, the on-chain state layout, `CANONICAL_PERMIT_VK_HASHES` and `CANONICAL_PERMIT_PROOF_VK_HASH`. |
847
804
 
package/build/agent.d.ts CHANGED
@@ -294,6 +294,30 @@ export declare function createAgentClient(opts: AgentClientOptions): {
294
294
  }): Promise<{
295
295
  registries: AgentRegistry[];
296
296
  }>;
297
+ /**
298
+ * The keys an app's contract holds on chain: its vendor key, the payout
299
+ * address the 98% goes to (and a change waiting out its 48 h delay), and
300
+ * the platform key and treasury.
301
+ */
302
+ getAppKeys(args: {
303
+ zkAppAddress: string;
304
+ }): Promise<{
305
+ appId: string;
306
+ zkAppAddress: string;
307
+ vendor: string;
308
+ vendorNonce: number;
309
+ payout: string;
310
+ pendingPayout: {
311
+ payout: string;
312
+ effectiveSlot: number;
313
+ } | null;
314
+ platform: {
315
+ key: string;
316
+ treasury: string;
317
+ epoch: number;
318
+ };
319
+ slot: number;
320
+ }>;
297
321
  /** One registry with its on-chain fees, epoch and permit count. */
298
322
  getRegistry(args: {
299
323
  address: string;
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
package/build/agent.js CHANGED
@@ -446,6 +446,14 @@ export function createAgentClient(opts) {
446
446
  }
447
447
  return { registries: regs };
448
448
  },
449
+ /**
450
+ * The keys an app's contract holds on chain: its vendor key, the payout
451
+ * address the 98% goes to (and a change waiting out its 48 h delay), and
452
+ * the platform key and treasury.
453
+ */
454
+ async getAppKeys(args) {
455
+ return call(`/app-keys?zkAppAddress=${encodeURIComponent(requireString('zkAppAddress', args.zkAppAddress))}`);
456
+ },
449
457
  /** One registry with its on-chain fees, epoch and permit count. */
450
458
  async getRegistry(args) {
451
459
  const r = await call(`/permits/registries/${encodeURIComponent(requireString('address', args.address))}`);
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}