@artblocks/abx-sdk 0.1.0-alpha.8 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (167) hide show
  1. package/CHANGELOG.md +188 -0
  2. package/README.md +130 -0
  3. package/dist/abi/generated.d.ts +7942 -142
  4. package/dist/abi/generated.d.ts.map +1 -1
  5. package/dist/abi/generated.js +41 -23
  6. package/dist/abi/generated.js.map +1 -1
  7. package/dist/abi/index.d.ts +2364 -84
  8. package/dist/abi/index.d.ts.map +1 -1
  9. package/dist/abi/index.js +34 -7
  10. package/dist/abi/index.js.map +1 -1
  11. package/dist/anchors.d.ts +325 -0
  12. package/dist/anchors.d.ts.map +1 -0
  13. package/dist/anchors.js +740 -0
  14. package/dist/anchors.js.map +1 -0
  15. package/dist/chain-support.d.ts +28 -0
  16. package/dist/chain-support.d.ts.map +1 -0
  17. package/dist/chain-support.js +65 -0
  18. package/dist/chain-support.js.map +1 -0
  19. package/dist/chain-support.json +60 -0
  20. package/dist/chains.d.ts +23 -11
  21. package/dist/chains.d.ts.map +1 -1
  22. package/dist/chains.js +51 -19
  23. package/dist/chains.js.map +1 -1
  24. package/dist/chunks.d.ts +130 -32
  25. package/dist/chunks.d.ts.map +1 -1
  26. package/dist/chunks.js +140 -15
  27. package/dist/chunks.js.map +1 -1
  28. package/dist/clients.d.ts +23 -11
  29. package/dist/clients.d.ts.map +1 -1
  30. package/dist/clients.js +17 -18
  31. package/dist/clients.js.map +1 -1
  32. package/dist/contract-generations.d.ts +58 -0
  33. package/dist/contract-generations.d.ts.map +1 -0
  34. package/dist/contract-generations.js +109 -0
  35. package/dist/contract-generations.js.map +1 -0
  36. package/dist/contract-generations.json +48 -0
  37. package/dist/create2.d.ts +88 -1
  38. package/dist/create2.d.ts.map +1 -1
  39. package/dist/create2.js +174 -4
  40. package/dist/create2.js.map +1 -1
  41. package/dist/creator-token.d.ts +75 -8
  42. package/dist/creator-token.d.ts.map +1 -1
  43. package/dist/creator-token.js +98 -8
  44. package/dist/creator-token.js.map +1 -1
  45. package/dist/creators-service.d.ts +79 -0
  46. package/dist/creators-service.d.ts.map +1 -0
  47. package/dist/creators-service.js +171 -0
  48. package/dist/creators-service.js.map +1 -0
  49. package/dist/deploy.d.ts +224 -14
  50. package/dist/deploy.d.ts.map +1 -1
  51. package/dist/deploy.js +289 -111
  52. package/dist/deploy.js.map +1 -1
  53. package/dist/deployments.d.ts +38 -5
  54. package/dist/deployments.d.ts.map +1 -1
  55. package/dist/deployments.js +157 -45
  56. package/dist/deployments.js.map +1 -1
  57. package/dist/deps.d.ts +123 -6
  58. package/dist/deps.d.ts.map +1 -1
  59. package/dist/deps.js +249 -7
  60. package/dist/deps.js.map +1 -1
  61. package/dist/env.d.ts +5 -4
  62. package/dist/env.d.ts.map +1 -1
  63. package/dist/env.js +20 -5
  64. package/dist/env.js.map +1 -1
  65. package/dist/errors.d.ts +109 -0
  66. package/dist/errors.d.ts.map +1 -0
  67. package/dist/errors.js +148 -0
  68. package/dist/errors.js.map +1 -0
  69. package/dist/execute.d.ts +118 -0
  70. package/dist/execute.d.ts.map +1 -0
  71. package/dist/execute.js +159 -0
  72. package/dist/execute.js.map +1 -0
  73. package/dist/gateways.d.ts +79 -0
  74. package/dist/gateways.d.ts.map +1 -0
  75. package/dist/gateways.js +156 -0
  76. package/dist/gateways.js.map +1 -0
  77. package/dist/generator-document.d.ts +57 -0
  78. package/dist/generator-document.d.ts.map +1 -0
  79. package/dist/generator-document.js +123 -0
  80. package/dist/generator-document.js.map +1 -0
  81. package/dist/generator.d.ts +45 -3
  82. package/dist/generator.d.ts.map +1 -1
  83. package/dist/generator.js +29 -0
  84. package/dist/generator.js.map +1 -1
  85. package/dist/index.d.ts +20 -3
  86. package/dist/index.d.ts.map +1 -1
  87. package/dist/index.js +20 -3
  88. package/dist/index.js.map +1 -1
  89. package/dist/inspect.d.ts +48 -0
  90. package/dist/inspect.d.ts.map +1 -0
  91. package/dist/inspect.js +295 -0
  92. package/dist/inspect.js.map +1 -0
  93. package/dist/migrate.d.ts +41 -0
  94. package/dist/migrate.d.ts.map +1 -0
  95. package/dist/migrate.js +142 -0
  96. package/dist/migrate.js.map +1 -0
  97. package/dist/mime.d.ts +11 -0
  98. package/dist/mime.d.ts.map +1 -0
  99. package/dist/mime.js +40 -0
  100. package/dist/mime.js.map +1 -0
  101. package/dist/node.d.ts +69 -0
  102. package/dist/node.d.ts.map +1 -0
  103. package/dist/node.js +92 -0
  104. package/dist/node.js.map +1 -0
  105. package/dist/onchain-uri.d.ts +110 -0
  106. package/dist/onchain-uri.d.ts.map +1 -0
  107. package/dist/onchain-uri.js +276 -0
  108. package/dist/onchain-uri.js.map +1 -0
  109. package/dist/ops.d.ts +437 -13
  110. package/dist/ops.d.ts.map +1 -1
  111. package/dist/ops.js +754 -34
  112. package/dist/ops.js.map +1 -1
  113. package/dist/policy.d.ts +57 -0
  114. package/dist/policy.d.ts.map +1 -0
  115. package/dist/policy.js +35 -0
  116. package/dist/policy.js.map +1 -0
  117. package/dist/probe.d.ts +58 -0
  118. package/dist/probe.d.ts.map +1 -1
  119. package/dist/probe.js +190 -9
  120. package/dist/probe.js.map +1 -1
  121. package/dist/reconstruct.d.ts +141 -3
  122. package/dist/reconstruct.d.ts.map +1 -1
  123. package/dist/reconstruct.js +479 -100
  124. package/dist/reconstruct.js.map +1 -1
  125. package/dist/resume.d.ts +147 -0
  126. package/dist/resume.d.ts.map +1 -0
  127. package/dist/resume.js +146 -0
  128. package/dist/resume.js.map +1 -0
  129. package/dist/script-chunks.d.ts +105 -0
  130. package/dist/script-chunks.d.ts.map +1 -0
  131. package/dist/script-chunks.js +158 -0
  132. package/dist/script-chunks.js.map +1 -0
  133. package/dist/service.d.ts +172 -7
  134. package/dist/service.d.ts.map +1 -1
  135. package/dist/service.js +132 -10
  136. package/dist/service.js.map +1 -1
  137. package/dist/spine.d.ts +47 -4
  138. package/dist/spine.d.ts.map +1 -1
  139. package/dist/spine.js +0 -0
  140. package/dist/spine.js.map +1 -1
  141. package/dist/staging.d.ts +139 -0
  142. package/dist/staging.d.ts.map +1 -0
  143. package/dist/staging.js +139 -0
  144. package/dist/staging.js.map +1 -0
  145. package/dist/token.d.ts +11 -1
  146. package/dist/token.d.ts.map +1 -1
  147. package/dist/token.js +32 -1
  148. package/dist/token.js.map +1 -1
  149. package/dist/tokendata.d.ts +4 -4
  150. package/dist/tokendata.d.ts.map +1 -1
  151. package/dist/tokendata.js +28 -9
  152. package/dist/tokendata.js.map +1 -1
  153. package/dist/tokens.d.ts +120 -0
  154. package/dist/tokens.d.ts.map +1 -0
  155. package/dist/tokens.js +322 -0
  156. package/dist/tokens.js.map +1 -0
  157. package/dist/types.d.ts +107 -5
  158. package/dist/types.d.ts.map +1 -1
  159. package/dist/uri-lock.d.ts +17 -0
  160. package/dist/uri-lock.d.ts.map +1 -0
  161. package/dist/uri-lock.js +33 -0
  162. package/dist/uri-lock.js.map +1 -0
  163. package/dist/util.d.ts +74 -0
  164. package/dist/util.d.ts.map +1 -0
  165. package/dist/util.js +106 -0
  166. package/dist/util.js.map +1 -0
  167. package/package.json +15 -6
@@ -0,0 +1,158 @@
1
+ /**
2
+ * On-chain program chunks — the writer-side twin of {@link AbxGenerator}'s `_escapedScript`.
3
+ *
4
+ * The generator (and the resolver) join `scriptChunk(i)` with a single `'\n'` between chunks. A
5
+ * fixed-size byte slice that ignores that join inserts a newline in the middle of a token — `mass`
6
+ * becomes `ma\nss`, which is invalid JavaScript — and `abx verify` still goes green because it
7
+ * never parses the reassembled program. Splitting AT an existing newline (and dropping it, because
8
+ * the join puts it back) makes `chunks.join('\n') === source`. A 22 kB+ span with no newline is
9
+ * refused: there is no honest split that matches the on-chain join.
10
+ *
11
+ * This module also carries the write-side counterpart to that split (`prepareSetScriptChunk` /
12
+ * `prepareRemoveLastScriptChunk`, wrapping `OnChainScript.sol`'s `setScriptChunk`/
13
+ * `removeLastScriptChunk` — contracts/src/extensions/onchain-script/OnChainScript.sol) and the
14
+ * SAFE-REPLACEMENT planning + verification pair (`planScriptReplace` / `verifyScriptReplace`) that
15
+ * `abx replace-script` is built on (packages/cli/src/ownerops.ts). Both take a small reader
16
+ * interface rather than a viem client — the same shape `resume.ts` uses — so the diff and the
17
+ * post-write verification are testable with a fake chain, no RPC, no signer.
18
+ */
19
+ import { encodeFunctionData, hexToBytes } from 'viem';
20
+ import { seriesCodeAbi } from './abi/index.js';
21
+ const ZERO_VALUE = '0x0';
22
+ /** SSTORE2 data-contract code limit is 24576 bytes (EIP-170) minus STOP; stay conservative. */
23
+ export const DEFAULT_SCRIPT_CHUNK_SIZE = 22_000;
24
+ /** The byte the on-chain generator inserts between script chunks. Must stay in lockstep with
25
+ * `AbxGenerator._escapedScript` and the resolver's `.join('\n')`. */
26
+ export const SCRIPT_CHUNK_JOIN = '\n';
27
+ const NL = 0x0a;
28
+ /**
29
+ * Split a program so the generator's newline-join reconstitutes it byte-for-byte.
30
+ * Empty source → no chunks (nothing to store). A single chunk that already fits is stored as-is
31
+ * (the generator inserts no join when `n === 1`).
32
+ */
33
+ export function splitScriptChunks(source, chunkSize = DEFAULT_SCRIPT_CHUNK_SIZE) {
34
+ if (chunkSize < 1)
35
+ throw new Error('chunkSize must be ≥ 1');
36
+ const bytes = new TextEncoder().encode(source);
37
+ if (bytes.length === 0)
38
+ return [];
39
+ if (bytes.length <= chunkSize)
40
+ return [bytes];
41
+ const chunks = [];
42
+ let i = 0;
43
+ while (i < bytes.length) {
44
+ const remaining = bytes.length - i;
45
+ if (remaining <= chunkSize) {
46
+ chunks.push(bytes.subarray(i));
47
+ break;
48
+ }
49
+ // Last newline in the window. The generator will put it back between this chunk and the next,
50
+ // so the chunk itself excludes it.
51
+ let split = -1;
52
+ for (let j = i + chunkSize - 1; j >= i; j--) {
53
+ if (bytes[j] === NL) {
54
+ split = j;
55
+ break;
56
+ }
57
+ }
58
+ if (split < i) {
59
+ throw new Error(`script has a ${chunkSize}+ byte span with no newline — the on-chain generator joins ` +
60
+ `chunks with a newline, so a split here would insert a byte and can break the program ` +
61
+ `(a 22 kB minified line has been observed to turn \`mass\` into \`ma\\nss\`). ` +
62
+ `Insert a line break, or shrink the file.`);
63
+ }
64
+ chunks.push(bytes.subarray(i, split));
65
+ i = split + 1;
66
+ }
67
+ return chunks;
68
+ }
69
+ /** Inverse of {@link splitScriptChunks}: the join the generator performs on chain. */
70
+ export function joinScriptChunks(chunks) {
71
+ const dec = new TextDecoder();
72
+ return chunks.map((c) => dec.decode(c)).join(SCRIPT_CHUNK_JOIN);
73
+ }
74
+ // ── writes: OnChainScript.sol's setScriptChunk / removeLastScriptChunk ────────
75
+ // No `prepare*` wrapper existed for either before this — every caller (deploy-code's setup
76
+ // multicall, its --resume leg) hand-encoded `encodeFunctionData` inline. These mirror
77
+ // `prepareSetDependency`/`prepareRemoveLastDependency` (ops.ts) exactly: same `PreparedTx` shape,
78
+ // same "one index-addressed setter + one pop-the-tail remover" split.
79
+ /** Owner writes/replaces the on-chain program chunk at `index` (`index === count` appends) —
80
+ * `OnChainScript.setScriptChunk`. Content should come from {@link splitScriptChunks} so the
81
+ * generator's newline-join reassembles the exact source. Signer must be the owner. */
82
+ export function prepareSetScriptChunk(args) {
83
+ const index = BigInt(args.index);
84
+ const bytes = (args.chunk.length - 2) / 2;
85
+ // EVM code deposit is 200 gas/byte — the same physics-backed floor the code-setup multicall
86
+ // computes for its script-chunk legs (ops.ts). Restated per-chunk here so a caller that assembles
87
+ // its own multicall (`replace-script`) can sum an honest `gasFloor` instead of trusting
88
+ // `eth_estimateGas` against a target too fresh for the estimator to see (see PreparedTx.gasFloor's
89
+ // own doc for why a wrong estimate must be DETECTED, not silently replaced).
90
+ const gasFloor = bytes > 0 ? `0x${(bytes * 200).toString(16)}` : undefined;
91
+ return {
92
+ op: 'set-script-chunk',
93
+ to: args.contract,
94
+ data: encodeFunctionData({ abi: seriesCodeAbi, functionName: 'setScriptChunk', args: [index, args.chunk] }),
95
+ value: ZERO_VALUE,
96
+ chainId: args.chainId,
97
+ summary: `Set script chunk [${index}] (${bytes} byte${bytes === 1 ? '' : 's'})`,
98
+ fields: { contract: args.contract, index: index.toString(), bytes: String(bytes) },
99
+ ...(gasFloor === undefined ? {} : { gasFloor }),
100
+ };
101
+ }
102
+ /** Remove the LAST on-chain program chunk (the list stays dense; order is load-bearing) —
103
+ * `OnChainScript.removeLastScriptChunk`. There is no "remove N": shrinking by more than one chunk
104
+ * is this call, repeated. Signer must be the owner. */
105
+ export function prepareRemoveLastScriptChunk(args) {
106
+ return {
107
+ op: 'remove-last-script-chunk',
108
+ to: args.contract,
109
+ data: encodeFunctionData({ abi: seriesCodeAbi, functionName: 'removeLastScriptChunk', args: [] }),
110
+ value: ZERO_VALUE,
111
+ chainId: args.chainId,
112
+ summary: 'Remove the last script chunk (the list stays dense)',
113
+ fields: { contract: args.contract },
114
+ };
115
+ }
116
+ /**
117
+ * Diff a replacement program's chunks against what a contract holds NOW, so `replace-script` sends
118
+ * only what actually changed. Mirrors `resume.ts`'s script-chunk leg (`planCoreLegs`) exactly —
119
+ * content, not count, decides "present" — the difference being that a resume leg is checked
120
+ * present/absent as a GROUP (the setup multicall is atomic, so partial-content-mismatch never
121
+ * legitimately happens), while a replacement is expected to change SOME indices and not others, so
122
+ * each index is diffed and reported independently.
123
+ */
124
+ export async function planScriptReplace(read, next) {
125
+ const currentCount = await read.scriptChunkCount();
126
+ const toWrite = [];
127
+ for (let i = 0; i < next.length; i++) {
128
+ const stored = i < currentCount ? await read.scriptChunk(i) : null;
129
+ if (stored !== null && stored.toLowerCase() === next[i].toLowerCase())
130
+ continue;
131
+ toWrite.push({ index: i, hex: next[i] });
132
+ }
133
+ const toRemove = Math.max(0, currentCount - next.length);
134
+ return { toWrite, toRemove, currentCount, targetCount: next.length, noop: toWrite.length === 0 && toRemove === 0 };
135
+ }
136
+ /**
137
+ * Read the completed script back from chain and confirm it reassembles EXACTLY to `expectedSource`
138
+ * — the safety property that justifies `replace-script` existing at all. A transaction not
139
+ * reverting is proof the EVM accepted each call; it is NOT proof the final program is what was
140
+ * intended (a stale RPC view, a concurrent write racing the same contract, or a bug in the ordering
141
+ * of writes-vs-removes could all leave a script that "sent fine" and reassembles to garbage). This
142
+ * is the check that turns "the multicall didn't revert" into "the program is provably correct" —
143
+ * run it BEFORE reporting success, never after.
144
+ */
145
+ export async function verifyScriptReplace(read, expectedSource) {
146
+ const chunkCount = await read.scriptChunkCount();
147
+ const chunks = [];
148
+ for (let i = 0; i < chunkCount; i++) {
149
+ const hex = await read.scriptChunk(i);
150
+ // `scriptChunkCount()` and `scriptChunk(i)` are two separate reads against (hopefully) the same
151
+ // block; a `null` here means they disagree, which is itself the failure this function exists to
152
+ // catch — report it as a verification miss rather than silently reassembling a gap.
153
+ chunks.push(hex === null ? new Uint8Array(0) : hexToBytes(hex));
154
+ }
155
+ const reassembled = joinScriptChunks(chunks);
156
+ return { ok: reassembled === expectedSource, reassembled, chunkCount };
157
+ }
158
+ //# sourceMappingURL=script-chunks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"script-chunks.js","sourceRoot":"","sources":["../src/script-chunks.ts"],"names":[],"mappings":"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"}
package/dist/service.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * The remote-service client — the SDK's one HTTP surface, speaking the provider-neutral
3
- * control plane pinned by specs/self-host-toolkit/remote-services.md. A client is bound to an
3
+ * control plane pinned by site/content/docs/using-abx/remote-services.mdx. A client is bound to an
4
4
  * endpoint + an injected bearer token, never to a brand: the reference CLI, the effects runner,
5
5
  * and any hosted agent drive a self-hosted node and a managed provider through this same class.
6
6
  *
@@ -10,12 +10,13 @@
10
10
  */
11
11
  import type { Hex } from 'viem';
12
12
  import type { OpenSeaAttribute } from './traits.js';
13
+ import type { ContractGenerationSummary } from './contract-generations.js';
13
14
  export declare const WELL_KNOWN_SERVICE_PATH = "/.well-known/abx-service";
14
15
  /**
15
16
  * Versioned interface ids a service declares in its descriptor. Versions ride these ids
16
17
  * (they track the `/v1` path prefix); the descriptor has no separate format version.
17
18
  *
18
- * There are exactly two, and they are **all-or-nothing**: declaring one asserts every route it names
19
+ * There are three optional interface families, and they are **all-or-nothing**: declaring one asserts every route it names
19
20
  * answers per the spec. The artifact-registry routes ride {@link CONTROL_PLANE_INTERFACE} rather
20
21
  * than an id of their own — once referenced output is locator-only, accepting a registration is a
21
22
  * database insert, so a separate capability flag would describe a distinction that doesn't exist.
@@ -24,6 +25,13 @@ export declare const WELL_KNOWN_SERVICE_PATH = "/.well-known/abx-service";
24
25
  */
25
26
  export declare const TOKEN_API_INTERFACE = "abx-token-api/v1";
26
27
  export declare const CONTROL_PLANE_INTERFACE = "abx-control-plane/v1";
28
+ /** Provider-specific feedback discovery, submission, and account history at `/feedback`. Core ABX
29
+ * feedback is deliberately not this interface: it belongs to the ABX team, not a remote provider. */
30
+ export declare const SERVICE_FEEDBACK_INTERFACE = "abx-service-feedback/v1";
31
+ /** Stable account identity, API-key, and entitlement surface. It need not share the resolver origin. */
32
+ export declare const ACCOUNT_API_INTERFACE = "abx-account/v1";
33
+ /** Account-bound creator wallet and sponsored-operation surface. */
34
+ export declare const CREATOR_WALLET_INTERFACE = "abx-creator-wallet/v1";
27
35
  /**
28
36
  * Why this locator can't be accepted for a referenced artifact, or `null` if it passes.
29
37
  *
@@ -31,7 +39,7 @@ export declare const CONTROL_PLANE_INTERFACE = "abx-control-plane/v1";
31
39
  * with no producer credentials and no private-network assumption. The protocol deliberately has
32
40
  * **no preference among schemes** — `https://` (S3/R2, a producer's own public base, a chosen
33
41
  * IPFS/Arweave gateway), `ipfs://` and `ar://` are peers, because derived output is re-creatable and
34
- * a producer with an opinion about which gateway serves its art is making an operational call the
42
+ * a producer with an opinion about which gateway serves its content is making an operational call the
35
43
  * protocol has no standing to override.
36
44
  *
37
45
  * Reachability can't be *proved* without fetching, and fetching a third-party URL while handling an
@@ -44,7 +52,7 @@ export declare const CONTROL_PLANE_INTERFACE = "abx-control-plane/v1";
44
52
  export declare function locatorRejectionReason(locator: string): string | null;
45
53
  /**
46
54
  * The indexing lifecycle a registration moves through, closed and provider-neutral
47
- * (specs/self-host-toolkit/remote-services.md → The indexing lifecycle). One vocabulary for a
55
+ * (site/content/docs/using-abx/remote-services.mdx). One vocabulary for a
48
56
  * managed provider and for your own node — the reference resolver stamps these too.
49
57
  *
50
58
  * queued registered + accepted; catch-up hasn't started
@@ -86,12 +94,33 @@ export interface IndexError {
86
94
  * class — nothing from it reaches the returned message. */
87
95
  export declare function classifyIndexError(err: unknown): IndexError;
88
96
  /** Machine error codes every conforming service uses — clients key off these, never off prose. */
89
- export type ServiceErrorCode = 'invalid_request' | 'unsupported_chain' | 'unauthorized' | 'forbidden' | 'not_registered' | 'disabled'
97
+ export type ServiceErrorCode = 'invalid_request' | 'unsupported_chain' | 'unauthorized' | 'forbidden' | 'not_registered'
98
+ /** **404** — the project and token position are valid, but this token has not been minted yet.
99
+ * Distinct from `not_registered` (unknown project or token outside the project's id range) and
100
+ * `burned` (a token that existed and is permanently gone). */
101
+ | 'not_minted' | 'disabled'
102
+ /** The report belongs at a different feedback target; the response carries its canonical URL. */
103
+ | 'feedback_target_moved'
90
104
  /** 404 — this node serves no route at that path AT ALL (as opposed to a known route whose shape
91
105
  * was wrong, which is a 400 `invalid_request` carrying the correct template). The pair exists so
92
106
  * a client can tell "I built the wrong URL" from "this project isn't indexed here" from "this
93
107
  * node is older than the route I want" — a bare 404 conflates all three and reads as an outage. */
94
108
  | 'unknown_route'
109
+ /**
110
+ * **410** — this token id existed and is permanently gone (an ERC-721 burn). A statement about the
111
+ * TOKEN, which is why `not_registered` could not carry it: that one is a statement about the
112
+ * *contract* ("this node doesn't index it"), so it cannot truthfully describe a destroyed id.
113
+ *
114
+ * `410`, not `404`, and the rule generalizes: **a resolver answers what the contract's own URI
115
+ * getter answers.** A burned 721's `tokenURI` reverts `NonexistentToken`, so composing metadata
116
+ * for it would put a node in direct contradiction with the contract it speaks for — while `404`
117
+ * reads as "not available yet" and invites a retry that can never succeed.
118
+ *
119
+ * **ERC-1155 editions never answer this.** `uri(id)` has no existence gate there, a zero-supply id
120
+ * still resolves, and it can mint again — nothing is permanently gone, so `410` would be a lie.
121
+ * Serve the document with `supply: 0`.
122
+ */
123
+ | 'burned'
95
124
  /** 500 — an unexpected server-side failure. Never carries internal detail (it could embed the
96
125
  * operator's own credentials); the node logs the cause. Retryable. */
97
126
  | 'internal_error';
@@ -106,8 +135,10 @@ export interface ServiceDescriptor {
106
135
  interfaces: string[];
107
136
  /** EIP-155 chain ids served; the control plane rejects others with `unsupported_chain`. */
108
137
  chains: number[];
109
- /** Present iff the control plane is enabled. `signupUrl`/`docsUrl` are for humans —
110
- * where a customer gets a key. */
138
+ /** Contract generations this implementation understands, with operation-specific policy. */
139
+ contractGenerations?: ContractGenerationSummary[];
140
+ /** Present iff the control plane is enabled. `signupUrl` is provider-specific human
141
+ * onboarding/recovery and `docsUrl` is provider documentation; OAuth discovery is separate. */
111
142
  auth?: {
112
143
  scheme: 'bearer';
113
144
  signupUrl?: string;
@@ -127,6 +158,93 @@ export interface ServiceDescriptor {
127
158
  };
128
159
  /** The public base this node believes it serves — a sanity echo for misconfig detection. */
129
160
  baseUrl?: string;
161
+ /** Optional per-interface origins and policy. When absent, an advertised interface is served at
162
+ * `baseUrl` (or the descriptor origin for an older descriptor). This keeps a remote a provider
163
+ * profile rather than forcing every capability into one HTTP process. */
164
+ endpoints?: Record<string, ServiceInterfaceEndpoint>;
165
+ }
166
+ export type ServiceInterfaceSupportLevel = 'experimental' | 'beta' | 'supported';
167
+ export interface ServiceInterfaceEndpoint {
168
+ /** Absolute interface base. Paths named by that interface append to this value. */
169
+ baseUrl: string;
170
+ /** Optional subset of the descriptor's global `chains`. */
171
+ chains?: number[];
172
+ /** Provider maturity for this interface, separate from protocol chain support. */
173
+ supportLevel?: ServiceInterfaceSupportLevel;
174
+ /** HTTP authentication expected by the interface. Wallet authorization remains a separate act. */
175
+ auth?: 'none' | 'bearer';
176
+ }
177
+ export interface ResolvedServiceInterfaceEndpoint extends ServiceInterfaceEndpoint {
178
+ chains: number[];
179
+ }
180
+ /**
181
+ * Resolve one advertised interface without assuming every capability shares the catalog origin.
182
+ * The catalog URL is the trust root selected by the caller (`--remote <name>`). Older descriptors
183
+ * remain same-origin. An endpoint entry without the matching interface id grants no capability.
184
+ */
185
+ export declare function resolveServiceInterfaceEndpoint(catalogBaseUrl: string, descriptor: ServiceDescriptor, interfaceId: string): ResolvedServiceInterfaceEndpoint | undefined;
186
+ export declare const FEEDBACK_KINDS: readonly ["bug", "friction", "gap", "confusion", "praise", "other"];
187
+ export type FeedbackKind = (typeof FEEDBACK_KINDS)[number];
188
+ export declare const FEEDBACK_SEVERITIES: readonly ["blocker", "major", "minor"];
189
+ export type FeedbackSeverity = (typeof FEEDBACK_SEVERITIES)[number];
190
+ export declare const ABX_FEEDBACK_AREAS: readonly ["protocol", "contracts", "cli", "sdk", "skills", "docs", "other"];
191
+ export type AbxFeedbackArea = (typeof ABX_FEEDBACK_AREAS)[number];
192
+ /** Optional evidence carried with a report. Providers may accept extra keys; credentials and
193
+ * private source never belong here. */
194
+ export interface FeedbackContext {
195
+ command?: string;
196
+ chainId?: number;
197
+ address?: string;
198
+ txHashes?: string[];
199
+ addresses?: string[];
200
+ cliVersion?: string;
201
+ sdkVersion?: string;
202
+ skill?: string;
203
+ sessionId?: string;
204
+ serviceUrl?: string;
205
+ [key: string]: unknown;
206
+ }
207
+ export interface FeedbackFields {
208
+ kind: FeedbackKind;
209
+ summary: string;
210
+ detail?: string;
211
+ severity?: FeedbackSeverity;
212
+ via?: 'agent' | 'human';
213
+ context?: FeedbackContext;
214
+ }
215
+ export interface AbxFeedbackReport extends FeedbackFields {
216
+ area: AbxFeedbackArea;
217
+ }
218
+ export interface ServiceFeedbackReport extends FeedbackFields {
219
+ /** Provider-defined component name; omit when uncertain. */
220
+ component?: string;
221
+ }
222
+ export type FeedbackReport = AbxFeedbackReport | ServiceFeedbackReport;
223
+ export interface FeedbackRecord extends FeedbackFields {
224
+ id: string;
225
+ target?: 'abx' | 'service';
226
+ tenantId?: string | null;
227
+ area?: string;
228
+ component?: string;
229
+ createdAt: string;
230
+ processedAt?: string | null;
231
+ }
232
+ export interface FeedbackListFilters {
233
+ area?: string;
234
+ component?: string;
235
+ kind?: FeedbackKind;
236
+ limit?: number;
237
+ }
238
+ /** The server is authoritative for its current schema; clients keep this extensible. */
239
+ export interface FeedbackInstructions {
240
+ target?: string;
241
+ what?: string;
242
+ authentication?: string;
243
+ yourReports?: string;
244
+ fields?: Record<string, unknown>;
245
+ guidance?: string[];
246
+ example?: unknown;
247
+ [key: string]: unknown;
130
248
  }
131
249
  /** `POST /v1/projects` — the off-chain bridge: everything the host can't derive from chain. */
132
250
  export interface RegisterProjectBody {
@@ -162,6 +280,10 @@ export interface RegisterProjectSummary {
162
280
  eventCount: number;
163
281
  tokenCount: number;
164
282
  mintedCount: number;
283
+ /** Official generation, once the indexed factory and on-chain core version agree. */
284
+ contractGeneration?: ContractGenerationSummary;
285
+ /** Sum of every token's current supply — ERC-1155 editions only; absent for a 721 project. */
286
+ copies?: string;
165
287
  status?: IndexStatus;
166
288
  };
167
289
  }
@@ -193,6 +315,10 @@ export interface RemoteProjectSummary {
193
315
  eventCount?: number;
194
316
  tokenCount?: number;
195
317
  mintedCount?: number;
318
+ /** Official generation, once the indexed factory and on-chain core version agree. */
319
+ contractGeneration?: ContractGenerationSummary;
320
+ /** Sum of every token's current supply — ERC-1155 editions only; absent for a 721 project. */
321
+ copies?: string;
196
322
  reconstructedAt?: string | null;
197
323
  /** Where this project is in the indexing lifecycle — so a list renders "3 live, 1 backfilling,
198
324
  * 1 failed" with no per-project round trip. */
@@ -216,6 +342,10 @@ export interface RemoteProjectStatus {
216
342
  eventCount: number;
217
343
  tokenCount: number;
218
344
  mintedCount: number;
345
+ /** Official generation, once the indexed factory and on-chain core version agree. */
346
+ contractGeneration?: ContractGenerationSummary;
347
+ /** Sum of every token's current supply — ERC-1155 editions only; absent for a 721 project. */
348
+ copies?: string;
219
349
  reconstructedAt: string | null;
220
350
  /** Present on `stale`/`failed`. Credential-free by contract. */
221
351
  error?: IndexError;
@@ -318,6 +448,18 @@ export interface ServiceClientOptions {
318
448
  /** Backoff unit between retries (`delay = retryDelayMs × attempt`). Tests shrink it. */
319
449
  retryDelayMs?: number;
320
450
  }
451
+ /** One active credential on the authenticated service account. The secret itself is never
452
+ * recoverable from this surface; `current` identifies the credential used for this request. */
453
+ export interface AccountApiKey {
454
+ id: string;
455
+ label: string | null;
456
+ createdAt: string;
457
+ current: boolean;
458
+ }
459
+ export interface AccountApiKeys {
460
+ keys: AccountApiKey[];
461
+ limit: number;
462
+ }
321
463
  export declare class AbxServiceClient {
322
464
  readonly baseUrl: string;
323
465
  private readonly token?;
@@ -326,6 +468,29 @@ export declare class AbxServiceClient {
326
468
  constructor(opts: ServiceClientOptions);
327
469
  /** The public service descriptor — no auth, safe to fetch before trusting a provider. */
328
470
  descriptor(): Promise<ServiceDescriptor>;
471
+ /**
472
+ * Bind a client to one interface advertised by this provider catalog. Older descriptors stay on
473
+ * the catalog origin; a split provider may send the interface to another HTTPS origin. The
474
+ * catalog remains the trust root and an unadvertised interface is never guessed.
475
+ */
476
+ forInterface(interfaceId: string, descriptor?: ServiceDescriptor): Promise<AbxServiceClient>;
477
+ /** Public, machine-readable provider feedback instructions (`abx-service-feedback/v1`). */
478
+ feedbackInstructions(): Promise<FeedbackInstructions>;
479
+ /** List active account credentials without exposing their secret values. */
480
+ listApiKeys(): Promise<AccountApiKeys>;
481
+ /** Revoke another credential on this account. The current credential uses OAuth logout. */
482
+ revokeApiKey(keyId: string): Promise<{
483
+ revoked: true;
484
+ keyId: string;
485
+ }>;
486
+ /** File one report. Callers own the human-consent boundary before invoking this write. */
487
+ submitFeedback(report: FeedbackReport): Promise<{
488
+ ok: boolean;
489
+ id: string;
490
+ createdAt: string;
491
+ }>;
492
+ /** Reports visible to this credential at this target. */
493
+ listFeedback(filters?: FeedbackListFilters): Promise<FeedbackRecord[]>;
329
494
  /**
330
495
  * Register + index a project (the HTTP form of `abx add`; a re-POST is the nudge). Returns the
331
496
  * completed summary (HTTP 200) or the accepted-and-still-working shape (HTTP 202) — narrow with
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,MAAM,CAAC;AAC9B,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAElD,eAAO,MAAM,uBAAuB,6BAA6B,CAAC;AAElE;;;;;;;;;;GAUG;AACH,eAAO,MAAM,mBAAmB,qBAAqB,CAAC;AACtD,eAAO,MAAM,uBAAuB,yBAAyB,CAAC;AAE9D;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAiCrE;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,aAAa,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEjF,yFAAyF;AACzF,eAAO,MAAM,uBAAuB,EAAE,SAAS,WAAW,EAAuB,CAAC;AAElF;;;;GAIG;AACH,MAAM,MAAM,eAAe;AACzB,oGAAoG;AAClG,iBAAiB;AACnB,oGAAoG;GAClG,kBAAkB;AACpB;;uEAEuE;GACrE,kBAAkB;AACpB,qEAAqE;GACnE,UAAU,CAAC;AAEf;;2EAE2E;AAC3E,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,eAAe,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAWD;4DAC4D;AAC5D,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,UAAU,CAc3D;AAED,kGAAkG;AAClG,MAAM,MAAM,gBAAgB,GACxB,iBAAiB,GACjB,mBAAmB,GACnB,cAAc,GACd,WAAW,GACX,gBAAgB,GAChB,UAAU;AACZ;;;oGAGoG;GAClG,eAAe;AACjB;uEACuE;GACrE,gBAAgB,CAAC;AAErB,gFAAgF;AAChF,MAAM,WAAW,iBAAiB;IAChC,0FAA0F;IAC1F,OAAO,CAAC,EAAE;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAC,CAAC;IAC5C,mFAAmF;IACnF,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,2FAA2F;IAC3F,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB;uCACmC;IACnC,IAAI,CAAC,EAAE;QAAC,MAAM,EAAE,QAAQ,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAC,CAAC;IAChE;sFACkF;IAClF,MAAM,CAAC,EAAE;QAAC,QAAQ,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,KAAK,CAAC;YAAC,GAAG,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,KAAK,CAAC;gBAAC,GAAG,EAAE,MAAM,CAAC;gBAAC,QAAQ,EAAE,MAAM,CAAA;aAAC,CAAC,CAAA;SAAC,CAAC,GAAG,IAAI,CAAA;KAAC,CAAC;IACpH,4FAA4F;IAC5F,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,+FAA+F;AAC/F,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,qHAAqH;IACrH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sGAAsG;IACtG,UAAU,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAChC;yGACqG;IACrG,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;IACrD;mGAC+F;IAC/F,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,6CAA6C;IAC7C,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,0EAA0E;AAC1E,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,OAAO,CAAC;IACZ,kGAAkG;IAClG,QAAQ,EAAE,KAAK,CAAC;IAChB,IAAI,EAAE,MAAM,GAAG,aAAa,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE;QACP,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,CAAC,EAAE,WAAW,CAAC;KACtB,CAAC;CACH;AAED;sGACsG;AACtG,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,OAAO,CAAC;IACZ,QAAQ,EAAE,IAAI,CAAC;IACf,OAAO,EAAE;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,MAAM,EAAE,WAAW,CAAA;KAAC,CAAC;CACvE;AAED;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG,sBAAsB,GAAG,uBAAuB,CAAC;AAErF,kEAAkE;AAClE,wBAAgB,UAAU,CAAC,CAAC,EAAE,qBAAqB,GAAG,CAAC,IAAI,uBAAuB,CAEjF;AAED,0EAA0E;AAC1E,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC;oDACgD;IAChD,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,6FAA6F;IAC7F,KAAK,CAAC,EAAE;QAAC,KAAK,EAAE,eAAe,CAAA;KAAC,CAAC;CAClC;AAED,sFAAsF;AACtF,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,MAAM,EAAE,WAAW,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB;mFAC+E;IAC/E,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,gEAAgE;IAChE,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,gDAAgD;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE;QAAC,QAAQ,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAC,CAAC;CAChG;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,mBAAmB,GAAG;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAC,GAAG,IAAI,CAc3G;AAED,+FAA+F;AAC/F,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,oGAAoG;IACpG,UAAU,EAAE,GAAG,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,+EAA+E;AAC/E,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,GAAG,CAAC;IACT,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,WAAW,GAAG,QAAQ,GAAG,MAAM,CAAC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;gGACgG;AAChG,qBAAa,eAAgB,SAAQ,KAAK;IACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACjC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB;6FACyF;IACzF,QAAQ,CAAC,KAAK,CAAC,EAAE,eAAe,CAAC;gBAErB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,gBAAgB,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,eAAe,CAAA;KAAC;CAQnH;AAED;uDACuD;AACvD,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,QAAQ,CAAC,IAAI,CAAC,EAAE,mBAAmB,CAAC;gBACxB,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,mBAAmB;CAKxD;AAED,MAAM,WAAW,mBAAmB;IAClC,0FAA0F;IAC1F,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iCAAiC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAC;CACpD;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,wEAAwE;IACxE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qEAAqE;IACrE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wFAAwF;IACxF,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAcD,qBAAa,gBAAgB;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;gBAE1B,IAAI,EAAE,oBAAoB;IAOtC,yFAAyF;IACnF,UAAU,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAI9C;;;;;;;;;OASG;IACG,eAAe,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAUhF;;;;OAIG;IACG,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,mBAAwB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAmBlH,uCAAuC;IACjC,YAAY,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAKrD;qGACiG;IAC3F,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAC,CAAC;IAUlF;8DAC0D;IACpD,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAUtF,0CAA0C;IACpC,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAInF,iGAAiG;IAC3F,qBAAqB,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC;QAAC,EAAE,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC;QAAC,GAAG,EAAE,GAAG,CAAA;KAAC,CAAC;IAIzH,2EAA2E;IACrE,kBAAkB,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;YAIvD,OAAO;YAIP,iBAAiB;CAsEhC"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}