@secondlayer/sdk 14.0.0 → 14.0.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/index.js.map
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"import { createHash } from \"node:crypto\";\nimport {\n\tcheckSignature,\n\tloadReference,\n} from \"@secondlayer/shared/archive/reference\";\nimport type { ArchiveStatus } from \"@secondlayer/shared/archive/status\";\nimport {\n\ttype FetchLike,\n\tparseErrorEnvelope,\n\tresolveAccountKey,\n} from \"../base.ts\";\nimport {\n\tApiError,\n\tArchiveAuthError,\n\tArchiveGateNotConfiguredError,\n\tArchiveSignatureError,\n\tInsufficientArchiveCreditsError,\n\tValidationError,\n} from \"../errors.ts\";\nimport type {\n\tArchiveClient,\n\tArchiveCreditsBalance,\n\tArchiveDataset,\n\tArchiveFetchItem,\n\tArchiveFetchResult,\n\tArchiveFlow,\n\tArchiveLoadOptions,\n\tArchivePartition,\n\tArchiveQuote,\n\tLoadedArchive,\n} from \"./types.ts\";\n\n/** Official hosted archive. Partition bytes on this host are gated — download\n * without a presigned URL from `fetch()` is refused. Same host string as\n * `OFFICIAL_ARCHIVE_HOST` in the CLI gate. */\nconst OFFICIAL_ARCHIVE_HOST = \"archive.secondlayer.tools\";\n\nconst DEFAULT_ARCHIVE_BASE_URL = \"https://archive.secondlayer.tools\";\nconst DEFAULT_ARCHIVE_OPS_URL = \"https://api.secondlayer.tools\";\nconst MAX_FETCH_BATCH = 64;\n\n/** Match CLI: hosted account keys are `sk-sl_*` or `ss-sl_*`. */\nconst ARCHIVE_CREDENTIAL_RE = /^s[ks]-sl_/;\n\nexport type CreateArchiveClientOptions = {\n\t/** @deprecated Prefer `accountKey`. Kept one release as an alias. */\n\tapiKey?: string;\n\taccountKey?: string;\n\tfetchImpl?: FetchLike;\n\tarchiveBaseUrl?: string;\n\tarchiveOpsUrl?: string;\n\tverifyManifest?: boolean;\n\tpublicKeyPem?: string;\n};\n\ntype QuoteResponseBody = {\n\tpartitions: number;\n\tbundles: number;\n\tusd_micros: number;\n\tusd: string;\n\tfree_allowance_applied_micros: number;\n\tallowance_remaining_bundles: number;\n\tbalance_usd_micros: number;\n\tsufficient: boolean;\n};\n\ntype FetchResponseBody = {\n\turls: Array<{\n\t\tpath: string;\n\t\turl: string;\n\t\texpires_at: string;\n\t\tcharged_usd_micros: number;\n\t}>;\n\tcharged_total_usd_micros: number;\n\tbalance_after_usd_micros: number;\n};\n\nfunction quoteFromBody(body: QuoteResponseBody): ArchiveQuote {\n\treturn {\n\t\tpartitions: body.partitions,\n\t\tbundles: body.bundles,\n\t\tusdMicros: body.usd_micros,\n\t\tusd: body.usd,\n\t\tfreeAllowanceAppliedMicros: body.free_allowance_applied_micros,\n\t\tallowanceRemainingBundles: body.allowance_remaining_bundles,\n\t\tbalanceUsdMicros: body.balance_usd_micros,\n\t\tsufficient: body.sufficient,\n\t};\n}\n\nfunction stripSlash(url: string): string {\n\treturn url.replace(/\\/+$/, \"\");\n}\n\nexport function createArchiveClient(\n\toptions: CreateArchiveClientOptions = {},\n): ArchiveClient {\n\tconst accountKey = resolveAccountKey(options.accountKey ?? options.apiKey);\n\tconst fetchImpl: FetchLike =\n\t\toptions.fetchImpl ?? ((input, init) => fetch(input, init));\n\tconst archiveBaseUrl = stripSlash(\n\t\toptions.archiveBaseUrl ?? DEFAULT_ARCHIVE_BASE_URL,\n\t);\n\tconst archiveOpsUrl = stripSlash(\n\t\toptions.archiveOpsUrl ?? DEFAULT_ARCHIVE_OPS_URL,\n\t);\n\tconst verifyManifest = options.verifyManifest ?? true;\n\tconst pinnedPem = options.publicKeyPem;\n\n\tlet keyPromise: Promise<string> | null = null;\n\n\tasync function fetchSigningKey(): Promise<string> {\n\t\tif (pinnedPem) return pinnedPem;\n\t\tif (keyPromise) return keyPromise;\n\t\tconst pending = (async () => {\n\t\t\tconst res = await fetchImpl(\n\t\t\t\t`${archiveOpsUrl}/public/streams/signing-key`,\n\t\t\t);\n\t\t\tif (!res.ok) {\n\t\t\t\tthrow new ArchiveSignatureError(\n\t\t\t\t\t`Could not fetch archive signing key (${res.status}).`,\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst body = (await res.json()) as { public_key_pem?: string };\n\t\t\tif (typeof body.public_key_pem !== \"string\") {\n\t\t\t\tthrow new ArchiveSignatureError(\"Signing key response missing key.\");\n\t\t\t}\n\t\t\treturn body.public_key_pem;\n\t\t})();\n\t\tkeyPromise = pending;\n\t\tpending.catch(() => {\n\t\t\tif (keyPromise === pending) keyPromise = null;\n\t\t});\n\t\treturn pending;\n\t}\n\n\tasync function throwOpsError(response: Response): Promise<never> {\n\t\tconst envelope = parseErrorEnvelope(await response.text());\n\t\tif (response.status === 401) {\n\t\t\tthrow new ArchiveAuthError(\n\t\t\t\tenvelope.message ?? \"Archive ops request was not authenticated.\",\n\t\t\t);\n\t\t}\n\t\tif (response.status === 402) {\n\t\t\tconst raw =\n\t\t\t\tenvelope.body &&\n\t\t\t\ttypeof envelope.body === \"object\" &&\n\t\t\t\t\"shortfall_usd_micros\" in envelope.body\n\t\t\t\t\t? Number(\n\t\t\t\t\t\t\t(envelope.body as { shortfall_usd_micros?: unknown })\n\t\t\t\t\t\t\t\t.shortfall_usd_micros,\n\t\t\t\t\t\t)\n\t\t\t\t\t: undefined;\n\t\t\tthrow new InsufficientArchiveCreditsError(\n\t\t\t\tenvelope.message ?? \"Insufficient archive credits.\",\n\t\t\t\tNumber.isFinite(raw) ? raw : undefined,\n\t\t\t);\n\t\t}\n\t\tif (response.status === 503) {\n\t\t\tthrow new ArchiveGateNotConfiguredError(\n\t\t\t\tenvelope.message ?? \"The archive gate is not configured on the server.\",\n\t\t\t);\n\t\t}\n\t\tthrow new ApiError(\n\t\t\tresponse.status,\n\t\t\tenvelope.message ?? `Archive ops returned ${response.status}.`,\n\t\t\tenvelope.body,\n\t\t\tenvelope.code,\n\t\t);\n\t}\n\n\tasync function opsRequest<T>(\n\t\tmethod: string,\n\t\tpath: string,\n\t\tbody?: unknown,\n\t\tauthed = true,\n\t): Promise<T> {\n\t\tconst headers: Record<string, string> = {\n\t\t\t\"Content-Type\": \"application/json\",\n\t\t};\n\t\tif (authed && accountKey) {\n\t\t\tif (!ARCHIVE_CREDENTIAL_RE.test(accountKey)) {\n\t\t\t\tthrow new ArchiveAuthError(\n\t\t\t\t\t\"archive ops need SECONDLAYER_API_KEY (sk-sl_*), not INSTANCE_TOKEN\",\n\t\t\t\t);\n\t\t\t}\n\t\t\theaders.Authorization = `Bearer ${accountKey}`;\n\t\t}\n\t\tconst response = await fetchImpl(`${archiveOpsUrl}${path}`, {\n\t\t\tmethod,\n\t\t\theaders,\n\t\t\tbody: body !== undefined ? JSON.stringify(body) : undefined,\n\t\t});\n\t\tif (!response.ok) await throwOpsError(response);\n\t\treturn (await response.json()) as T;\n\t}\n\n\tasync function load(\n\t\tagainst: string,\n\t\topts: ArchiveLoadOptions = {},\n\t): Promise<LoadedArchive> {\n\t\tif (!/^https?:\\/\\//i.test(against)) {\n\t\t\tthrow new ValidationError(\n\t\t\t\t\"archive.load() accepts only http(s) URLs; local paths stay on the CLI.\",\n\t\t\t\t400,\n\t\t\t);\n\t\t}\n\t\tconst insecure = opts.insecure === true;\n\t\tconst publicKeyPem =\n\t\t\tpinnedPem ??\n\t\t\t(verifyManifest && !insecure ? await fetchSigningKey() : undefined);\n\t\tconst ref = await loadReference(against, {\n\t\t\tpublicKeyPem,\n\t\t\tfetchImpl,\n\t\t});\n\t\tconst signature = checkSignature(ref.manifest, publicKeyPem, insecure);\n\t\tif (verifyManifest && !insecure && !signature.verified) {\n\t\t\tthrow new ArchiveSignatureError(\n\t\t\t\tsignature.reason ?? \"Archive manifest signature is missing or invalid.\",\n\t\t\t);\n\t\t}\n\t\treturn { ...ref, signature };\n\t}\n\n\tasync function latest(\n\t\tagainst?: string,\n\t\topts: ArchiveLoadOptions = {},\n\t): Promise<LoadedArchive> {\n\t\treturn load(against ?? `${archiveBaseUrl}/latest.json`, opts);\n\t}\n\n\tasync function status(): Promise<ArchiveStatus> {\n\t\tconst response = await fetchImpl(`${archiveBaseUrl}/status.json`);\n\t\tif (!response.ok) {\n\t\t\tthrow new ApiError(\n\t\t\t\tresponse.status,\n\t\t\t\t`Could not fetch archive status (${response.status}).`,\n\t\t\t);\n\t\t}\n\t\treturn (await response.json()) as ArchiveStatus;\n\t}\n\n\tfunction partitions(\n\t\tref: LoadedArchive,\n\t\tfilter?: {\n\t\t\tdataset?: ArchiveDataset;\n\t\t\tfromBlock?: number;\n\t\t\ttoBlock?: number;\n\t\t},\n\t): ArchivePartition[] {\n\t\tlet list = ref.manifest.partitions ?? [];\n\t\tif (!filter) return list;\n\t\tif (filter.dataset) {\n\t\t\tlist = list.filter((p) => p.dataset === filter.dataset);\n\t\t}\n\t\tconst fromBlock = filter.fromBlock;\n\t\tif (fromBlock !== undefined) {\n\t\t\tlist = list.filter((p) => p.to_block >= fromBlock);\n\t\t}\n\t\tconst toBlock = filter.toBlock;\n\t\tif (toBlock !== undefined) {\n\t\t\tlist = list.filter((p) => p.from_block <= toBlock);\n\t\t}\n\t\treturn list;\n\t}\n\n\tasync function quote(input: {\n\t\tpaths: string[];\n\t\tflow: ArchiveFlow;\n\t}): Promise<ArchiveQuote> {\n\t\tconst body = await opsRequest<QuoteResponseBody>(\n\t\t\t\"POST\",\n\t\t\t\"/api/archive/quote\",\n\t\t\t{ paths: input.paths, flow: input.flow },\n\t\t);\n\t\treturn quoteFromBody(body);\n\t}\n\n\tasync function fetchPartitions(input: {\n\t\tpaths: string[];\n\t\tflow: ArchiveFlow;\n\t}): Promise<ArchiveFetchResult> {\n\t\tconst urls: ArchiveFetchItem[] = [];\n\t\tlet chargedTotalUsdMicros = 0;\n\t\tlet balanceAfterUsdMicros = 0;\n\t\tfor (let i = 0; i < input.paths.length; i += MAX_FETCH_BATCH) {\n\t\t\tconst chunk = input.paths.slice(i, i + MAX_FETCH_BATCH);\n\t\t\tconst body = await opsRequest<FetchResponseBody>(\n\t\t\t\t\"POST\",\n\t\t\t\t\"/api/archive/fetch\",\n\t\t\t\t{ paths: chunk, flow: input.flow },\n\t\t\t);\n\t\t\tfor (const item of body.urls) {\n\t\t\t\turls.push({\n\t\t\t\t\tpath: item.path,\n\t\t\t\t\turl: item.url,\n\t\t\t\t\texpiresAt: item.expires_at,\n\t\t\t\t\tchargedUsdMicros: item.charged_usd_micros,\n\t\t\t\t});\n\t\t\t}\n\t\t\tchargedTotalUsdMicros += body.charged_total_usd_micros;\n\t\t\tbalanceAfterUsdMicros = body.balance_after_usd_micros;\n\t\t}\n\t\treturn { urls, chargedTotalUsdMicros, balanceAfterUsdMicros };\n\t}\n\n\tasync function download(\n\t\tpartition: ArchivePartition,\n\t\topts?: { url?: string },\n\t): Promise<Uint8Array> {\n\t\tlet url = opts?.url;\n\t\tif (!url) {\n\t\t\tlet official = false;\n\t\t\ttry {\n\t\t\t\tofficial = new URL(archiveBaseUrl).hostname === OFFICIAL_ARCHIVE_HOST;\n\t\t\t} catch {\n\t\t\t\tofficial = false;\n\t\t\t}\n\t\t\tif (official) {\n\t\t\t\tthrow new ValidationError(\n\t\t\t\t\t\"Official archive host requires a presigned URL from archive.fetch() before download.\",\n\t\t\t\t\t400,\n\t\t\t\t);\n\t\t\t}\n\t\t\turl = `${archiveBaseUrl}/${partition.path.replace(/^\\/+/, \"\")}`;\n\t\t}\n\t\tconst response = await fetchImpl(url);\n\t\tif (!response.ok) {\n\t\t\tthrow new ApiError(\n\t\t\t\tresponse.status,\n\t\t\t\t`Could not download ${partition.path} (${response.status}).`,\n\t\t\t);\n\t\t}\n\t\tconst bytes = new Uint8Array(await response.arrayBuffer());\n\t\tconst digest = createHash(\"sha256\").update(bytes).digest(\"hex\");\n\t\tif (digest !== partition.sha256) {\n\t\t\tthrow new ArchiveSignatureError(\n\t\t\t\t`${partition.path} sha256 mismatch (expected ${partition.sha256}, got ${digest}).`,\n\t\t\t);\n\t\t}\n\t\treturn bytes;\n\t}\n\n\treturn {\n\t\tlatest,\n\t\tload,\n\t\tstatus,\n\t\tpartitions,\n\t\tquote,\n\t\tfetch: fetchPartitions,\n\t\tdownload,\n\t\tcredits: {\n\t\t\tasync balance(): Promise<ArchiveCreditsBalance> {\n\t\t\t\tconst body = await opsRequest<{\n\t\t\t\t\tcreditsUsdMicros: string;\n\t\t\t\t\trefill: ArchiveCreditsBalance[\"refill\"];\n\t\t\t\t}>(\"GET\", \"/api/billing/status\");\n\t\t\t\treturn {\n\t\t\t\t\tcreditsUsdMicros: body.creditsUsdMicros,\n\t\t\t\t\trefill: body.refill,\n\t\t\t\t};\n\t\t\t},\n\t\t\tasync checkout(input: {\n\t\t\t\temail: string;\n\t\t\t\tpack: 10 | 25 | 50 | 100;\n\t\t\t}): Promise<{ url: string }> {\n\t\t\t\tconst body = await opsRequest<{ url: string }>(\n\t\t\t\t\t\"POST\",\n\t\t\t\t\t\"/api/public/credits/checkout\",\n\t\t\t\t\t{ email: input.email, amount: input.pack },\n\t\t\t\t\tfalse,\n\t\t\t\t);\n\t\t\t\treturn { url: body.url };\n\t\t\t},\n\t\t\tasync refill(\n\t\t\t\tinput:\n\t\t\t\t\t| { belowUsd: number; packUsd: 10 | 25 | 50 | 100 }\n\t\t\t\t\t| { off: true },\n\t\t\t): Promise<{ belowUsd: number | null; packUsd: number | null }> {\n\t\t\t\tconst payload =\n\t\t\t\t\t\"off\" in input && input.off\n\t\t\t\t\t\t? { belowUsd: null }\n\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t\tbelowUsd: (input as { belowUsd: number }).belowUsd,\n\t\t\t\t\t\t\t\tpackUsd: (input as { packUsd: 10 | 25 | 50 | 100 }).packUsd,\n\t\t\t\t\t\t\t};\n\t\t\t\tconst body = await opsRequest<{\n\t\t\t\t\tbelowUsd: number | null;\n\t\t\t\t\tpackUsd: number | null;\n\t\t\t\t}>(\"POST\", \"/api/billing/refill\", payload);\n\t\t\t\treturn { belowUsd: body.belowUsd, packUsd: body.packUsd };\n\t\t\t},\n\t\t},\n\t};\n}\n",
|
|
6
6
|
"const DOCS_BASE = \"https://www.secondlayer.tools\";\n\n/** Options accepted by every error in the family. */\nexport interface SecondLayerErrorOptions {\n\tcause?: Error;\n\tdetails?: string;\n\t/** Stable machine-readable code (e.g. `UPGRADE_REQUIRED`). */\n\tcode?: string;\n\t/** Docs page that explains this failure and its fix. */\n\tdocsUrl?: string;\n\t/** Extra context lines appended to the message (DDL to run, next steps). */\n\tmetaMessages?: string[];\n\t/** Whether retrying the SAME request can succeed (429/5xx/network). */\n\tretryable?: boolean;\n\t/** Parsed `Retry-After`, in seconds — set on rate limits that carry it. */\n\tretryAfterSeconds?: number;\n}\n\n/**\n * Root of the SDK error family. Implements the same protocol as `BaseError`\n * in `@secondlayer/stacks` (`shortMessage`, `cause`, `toJSON`) so a failed\n * chain read and a failed platform read serialize and introspect identically.\n * It intentionally does NOT extend that class: cross-package `instanceof` is\n * unreliable under per-package bundling anyway (match on `code`/`name` across\n * packages).\n *\n * `retryable` is the signal the consume loops act on: 429/5xx/network are\n * retryable, 4xx and body-serialization failures are not.\n */\nexport class SecondLayerError extends Error {\n\toverride name = \"SecondLayerError\";\n\t/** The one-line failure, without the appended context blocks. */\n\tshortMessage: string;\n\tcode?: string;\n\tdocsUrl?: string;\n\tmetaMessages?: string[];\n\tretryable: boolean;\n\tretryAfterSeconds?: number;\n\n\tconstructor(shortMessage: string, options: SecondLayerErrorOptions = {}) {\n\t\tconst detailBlocks = [\n\t\t\t...(options.metaMessages ?? []),\n\t\t\t...(options.details ? [options.details] : []),\n\t\t\t...(options.docsUrl ? [`Docs: ${options.docsUrl}`] : []),\n\t\t];\n\t\tconst message = [\n\t\t\tshortMessage,\n\t\t\tdetailBlocks.length > 0 ? `\\n${detailBlocks.join(\"\\n\")}` : \"\",\n\t\t].join(\"\");\n\t\tsuper(message, options.cause ? { cause: options.cause } : undefined);\n\t\tthis.shortMessage = shortMessage;\n\t\tthis.code = options.code;\n\t\tthis.docsUrl = options.docsUrl;\n\t\tthis.metaMessages = options.metaMessages;\n\t\tthis.retryable = options.retryable ?? false;\n\t\tthis.retryAfterSeconds = options.retryAfterSeconds;\n\t}\n\n\t/**\n\t * Walk the cause chain. With a predicate, returns the first error matching\n\t * it (or `null`); without one, returns the deepest cause. Mirrors viem's\n\t * `error.walk()` so cross-library error handling reads the same.\n\t */\n\twalk(fn?: (err: unknown) => boolean): unknown {\n\t\t// biome-ignore lint/suspicious/noExplicitAny: cause chains are untyped by nature\n\t\tlet err: any = this;\n\t\tlet last: unknown = this;\n\t\twhile (err != null) {\n\t\t\tif (fn?.(err)) return err;\n\t\t\tlast = err;\n\t\t\terr = err.cause;\n\t\t}\n\t\treturn fn ? null : last;\n\t}\n\n\ttoJSON(): {\n\t\tname: string;\n\t\tmessage: string;\n\t\tshortMessage: string;\n\t\tcause: string | undefined;\n\t\tcode: string | undefined;\n\t\tdocsUrl: string | undefined;\n\t\tretryable: boolean;\n\t\tretryAfterSeconds: number | undefined;\n\t} {\n\t\treturn {\n\t\t\tname: this.name,\n\t\t\tmessage: this.message,\n\t\t\tshortMessage: this.shortMessage,\n\t\t\tcause: this.cause instanceof Error ? this.cause.message : undefined,\n\t\t\tcode: this.code,\n\t\t\tdocsUrl: this.docsUrl,\n\t\t\tretryable: this.retryable,\n\t\t\tretryAfterSeconds: this.retryAfterSeconds,\n\t\t};\n\t}\n}\n\n/** Retryability of an HTTP status: 429 and 5xx are transient. */\nfunction statusRetryable(status: number): boolean {\n\treturn status === 429 || status >= 500;\n}\n\n/** Docs page for a status/code pair, when one exists. */\nfunction docsFor(status: number, code?: string): string | undefined {\n\tif (code === \"UPGRADE_REQUIRED\" || status === 402)\n\t\treturn `${DOCS_BASE}/docs/authentication#pay-as-you-go-credits`;\n\tif (status === 429 || status === 401)\n\t\treturn `${DOCS_BASE}/docs/authentication`;\n\treturn undefined;\n}\n\n/**\n * Error thrown by {@link SecondLayer} when an API request fails.\n * Includes the HTTP status code for programmatic error handling.\n *\n * @example\n * ```ts\n * try {\n * await client.subgraphs.status(\"my-subgraph\");\n * } catch (err) {\n * if (err instanceof ApiError && err.status === 404) {\n * console.log(\"Subgraph not found\");\n * }\n * }\n * ```\n */\nexport class ApiError extends SecondLayerError {\n\tconstructor(\n\t\t/** HTTP status code (0 for network errors). */\n\t\tpublic status: number,\n\t\tmessage: string,\n\t\t/** Raw response body (parsed JSON if possible) — preserved for callers that need error details. */\n\t\tpublic body?: unknown,\n\t\t/** Stable machine-readable code from the API's `{error, code}` error envelope. */\n\t\tcode?: string,\n\t\toptions: SecondLayerErrorOptions = {},\n\t) {\n\t\tsuper(message, {\n\t\t\tcode,\n\t\t\tretryable: options.retryable ?? statusRetryable(status),\n\t\t\tdocsUrl: options.docsUrl ?? docsFor(status, code),\n\t\t\t...(options.cause ? { cause: options.cause } : {}),\n\t\t\t...(options.details ? { details: options.details } : {}),\n\t\t\t...(options.metaMessages ? { metaMessages: options.metaMessages } : {}),\n\t\t\t...(options.retryAfterSeconds !== undefined\n\t\t\t\t? { retryAfterSeconds: options.retryAfterSeconds }\n\t\t\t\t: {}),\n\t\t});\n\t\tthis.name = \"ApiError\";\n\t}\n}\n\n/** Thrown on a 401 by both the instance clients and Streams. Carries the\n * server's `{error, code}` envelope when it sent one, so a revoked token reads\n * differently from a missing one. */\nexport class AuthError extends ApiError {\n\toverride readonly status = 401 as const;\n\n\tconstructor(\n\t\tmessage = \"API key invalid or expired.\",\n\t\tbody?: unknown,\n\t\tcode?: string,\n\t) {\n\t\tsuper(401, message, body, code);\n\t\tthis.name = \"AuthError\";\n\t}\n}\n\n/** Thrown on a 429 by both the instance clients and Streams. `retryable`,\n * with `retryAfterSeconds` parsed from the `Retry-After` header when sent. */\nexport class RateLimitError extends ApiError {\n\toverride readonly status = 429 as const;\n\n\tconstructor(\n\t\tmessage = \"Rate limited. Try again later.\",\n\t\t/** Raw `Retry-After` header value (seconds or HTTP-date). */\n\t\treadonly retryAfter?: string,\n\t\tbody?: unknown,\n\t\tcode?: string,\n\t) {\n\t\tsuper(429, message, body, code, {\n\t\t\tretryable: true,\n\t\t\tretryAfterSeconds: parseRetryAfter(retryAfter),\n\t\t});\n\t\tthis.name = \"RateLimitError\";\n\t}\n}\n\n/** Thrown on a 4xx the caller can fix (bad cursor, bad params). Never retried.\n * `code` is the server's machine-readable code when the envelope carried one. */\nexport class ValidationError extends ApiError {\n\tconstructor(message: string, status: number, body?: unknown, code?: string) {\n\t\tsuper(status, message, body, code, { retryable: false });\n\t\tthis.name = \"ValidationError\";\n\t}\n}\n\n/** Thrown when an archive manifest signature is missing or does not verify. */\nexport class ArchiveSignatureError extends SecondLayerError {\n\tconstructor(message = \"Archive manifest signature is missing or invalid.\") {\n\t\tsuper(message, { code: \"ARCHIVE_SIGNATURE\", retryable: false });\n\t\tthis.name = \"ArchiveSignatureError\";\n\t}\n}\n\n/** Thrown on a 401 from the archive ops host (quote/fetch/credits). */\nexport class ArchiveAuthError extends SecondLayerError {\n\tconstructor(message = \"Archive ops request was not authenticated.\") {\n\t\tsuper(message, { code: \"ARCHIVE_AUTH\", retryable: false });\n\t\tthis.name = \"ArchiveAuthError\";\n\t}\n}\n\n/** Thrown on a 402 from archive fetch — prepaid credits do not cover the quote. */\nexport class InsufficientArchiveCreditsError extends SecondLayerError {\n\tshortfallUsdMicros?: number;\n\tconstructor(\n\t\tmessage = \"Insufficient archive credits.\",\n\t\tshortfallUsdMicros?: number,\n\t) {\n\t\tsuper(message, {\n\t\t\tcode: \"INSUFFICIENT_ARCHIVE_CREDITS\",\n\t\t\tretryable: false,\n\t\t});\n\t\tthis.name = \"InsufficientArchiveCreditsError\";\n\t\tthis.shortfallUsdMicros = shortfallUsdMicros;\n\t}\n}\n\n/** Thrown on a 503 when the archive fetch gate is unconfigured. */\nexport class ArchiveGateNotConfiguredError extends SecondLayerError {\n\tconstructor(message = \"The archive gate is not configured on the server.\") {\n\t\tsuper(message, { code: \"ARCHIVE_GATE_NOT_CONFIGURED\", retryable: false });\n\t\tthis.name = \"ArchiveGateNotConfiguredError\";\n\t}\n}\n\n/** Parse a `Retry-After` header: delta-seconds or an HTTP-date. */\nexport function parseRetryAfter(value?: string | null): number | undefined {\n\tif (!value) return undefined;\n\tconst seconds = Number(value);\n\tif (Number.isFinite(seconds) && seconds >= 0) return seconds;\n\tconst date = Date.parse(value);\n\tif (!Number.isNaN(date)) return Math.max(0, (date - Date.now()) / 1000);\n\treturn undefined;\n}\n",
|
|
7
|
-
"import {\n\tApiError,\n\tAuthError,\n\tRateLimitError,\n\tparseRetryAfter,\n} from \"./errors.ts\";\n\nexport type FetchLike = (\n\tinput: string | URL | Request,\n\tinit?: RequestInit,\n) => Promise<Response>;\n\nexport interface SecondLayerOptions {\n\t/** Base URL of the instance API (trailing slashes are stripped). */\n\tbaseUrl: string;\n\t/** Bearer token for authenticated instance requests (`INSTANCE_TOKEN`). */\n\tapiKey?: string;\n\t/** Hosted account key (`sk-sl_*`). Env `SECONDLAYER_API_KEY`. Used by\n\t * `sl.archive` quote/fetch/credits, never by instance `/v1` or `/api`. */\n\taccountKey?: string;\n\t/** Fetch implementation. Tests and edge runtimes can provide their own. */\n\tfetchImpl?: FetchLike;\n\t/** Public base URL for Streams bulk parquet dumps (the cold backfill plane).\n\t * Required for `streams.dumps.*`; without it the dumps client falls back to\n\t * its built-in default. */\n\tdumpsBaseUrl?: string;\n\t/** Public base URL for the signed canonical archive tree. Defaults to\n\t * `https://archive.secondlayer.tools`. Reaches `sl.archive`. */\n\tarchiveBaseUrl?: string;\n\t/** Credits and fetch-gate API. Defaults to `https://api.secondlayer.tools`,\n\t * not `baseUrl`. Reaches `sl.archive` quote/fetch/credits. */\n\tarchiveOpsUrl?: string;\n\t/** Deploy origin label sent as `x-sl-origin` (telemetry). Defaults to `cli`. */\n\torigin?: \"cli\" | \"mcp\" | \"session\";\n\t/** Check the ed25519 signature on every Streams read. Omit for lenient\n\t * (verify when signed, pass through unsigned self-host responses), `true`\n\t * or `{ publicKey }` for strict, `false` for off. Reaches `sl.streams`. */\n\tverify?: boolean | { publicKey: string };\n\t/** Check the dumps manifest signature before trusting any file hash\n\t * (default on). Reaches `sl.streams.dumps`. */\n\tverifyDumpsManifest?: boolean;\n\t/** How long one request may take, headers and body, before it fails with a\n\t * retryable `ApiError` (default 30 000 ms). A hung socket then trips the\n\t * retry policy instead of stalling a walk or consume loop forever. `0`\n\t * disables the timeout. */\n\trequestTimeoutMs?: number;\n\t/** Where GET responses carrying an `ETag` are kept, so a repeat read sends\n\t * `If-None-Match` and a finalized page comes back as a free `304`.\n\t * Defaults to an in-memory store of the last 64 pages. Pass your own to\n\t * keep it across processes (a file, a KV), or `false` to turn it off. */\n\tetagCache?: EtagCache | false;\n}\n\n/** One cached GET response: its validator and the body it validated. */\nexport type EtagEntry = { etag: string; body: string };\n\n/** Storage for `etagCache`. Keys are full request URLs. Either method may be\n * async, so a disk or KV store works as well as a Map. */\nexport interface EtagCache {\n\tget(key: string): EtagEntry | undefined | Promise<EtagEntry | undefined>;\n\tset(key: string, entry: EtagEntry): void | Promise<void>;\n}\n\n/** Bounded in-memory `EtagCache`. Evicts the least recently used page, so a\n * long walk can't hold more than `limit` page bodies. */\nexport class MemoryEtagCache implements EtagCache {\n\tprivate entries = new Map<string, EtagEntry>();\n\tconstructor(private readonly limit = 64) {}\n\n\tget(key: string): EtagEntry | undefined {\n\t\tconst entry = this.entries.get(key);\n\t\tif (entry) {\n\t\t\tthis.entries.delete(key);\n\t\t\tthis.entries.set(key, entry);\n\t\t}\n\t\treturn entry;\n\t}\n\n\tset(key: string, entry: EtagEntry): void {\n\t\tthis.entries.delete(key);\n\t\tthis.entries.set(key, entry);\n\t\tif (this.entries.size > this.limit) {\n\t\t\tconst oldest = this.entries.keys().next().value;\n\t\t\tif (oldest !== undefined) this.entries.delete(oldest);\n\t\t}\n\t}\n}\n\n/** Default per-request budget. Long enough for a 1000-row filtered page on a\n * cold cache, short enough that a half-open connection surfaces as a retry. */\nexport const DEFAULT_REQUEST_TIMEOUT_MS = 30_000;\n\n/** Per-call options every `request*` method accepts. */\nexport type RequestOptions = {\n\t/** Cancels the in-flight request (and its body read). The rejection is the\n\t * signal's reason, an `AbortError` by default, never an `ApiError`. */\n\tsignal?: AbortSignal;\n};\n\n/** The rejection a caller abort produces when the signal carries no reason. */\nexport function abortError(): Error {\n\treturn new DOMException(\"This operation was aborted\", \"AbortError\");\n}\n\n/** Reject as soon as `signal` aborts, even when `promise` is a fetch\n * implementation that ignores its `signal` argument. */\nfunction raceAbort<T>(promise: Promise<T>, signal: AbortSignal): Promise<T> {\n\tif (signal.aborted) return Promise.reject(signal.reason ?? abortError());\n\treturn new Promise<T>((resolve, reject) => {\n\t\tconst onAbort = () => reject(signal.reason ?? abortError());\n\t\tsignal.addEventListener(\"abort\", onAbort, { once: true });\n\t\tpromise.then(resolve, reject).finally(() => {\n\t\t\tsignal.removeEventListener(\"abort\", onAbort);\n\t\t});\n\t});\n}\n\n/** Product default: the local one-box API. Override with `baseUrl` or\n * `SECONDLAYER_API_URL`. */\nexport const LOCAL_API_URL = \"http://127.0.0.1:3800\";\n\n/** Instance credential. `secondlayer init` writes this. */\nexport const INSTANCE_TOKEN_ENV = \"INSTANCE_TOKEN\";\n\n/** Hosted account key (`sk-sl_*`) for api.secondlayer.tools. */\nexport const ACCOUNT_KEY_ENV = \"SECONDLAYER_API_KEY\";\n\nexport function resolveBaseUrl(explicit?: string): string {\n\tif (explicit && explicit.length > 0) return explicit.replace(/\\/+$/, \"\");\n\tif (typeof process !== \"undefined\") {\n\t\tconst primary = process.env?.SECONDLAYER_API_URL || undefined;\n\t\tif (primary) return primary.replace(/\\/+$/, \"\");\n\t}\n\treturn LOCAL_API_URL;\n}\n\n/** Resolve the instance credential. Precedence: explicit `apiKey` (including\n * `\"\"` for keyless) → `INSTANCE_TOKEN`. Does not read the hosted account key\n * env vars. Guarded for browsers and edge runtimes. */\nexport function resolveApiKey(apiKey?: string): string | undefined {\n\tif (apiKey !== undefined) return apiKey;\n\tif (typeof process === \"undefined\") return undefined;\n\tconst token = process.env?.INSTANCE_TOKEN || undefined;\n\treturn token;\n}\n\n/** Resolve the hosted account key for archive quote/fetch/credits.\n * Precedence: explicit `accountKey` → `SECONDLAYER_API_KEY`. Does not read\n * `INSTANCE_TOKEN`. */\nexport function resolveAccountKey(accountKey?: string): string | undefined {\n\tif (accountKey !== undefined) return accountKey;\n\tif (typeof process === \"undefined\") return undefined;\n\treturn process.env?.SECONDLAYER_API_KEY || undefined;\n}\n\n/** Percent-encode one URL path segment. Every caller-supplied identifier\n * (subgraph name, table, webhook id) goes through this before it is\n * interpolated into a path, so `..`, `/`, `?` and `#` in an id cannot\n * retarget the authenticated request at a different route. */\nexport function seg(value: string | number): string {\n\treturn encodeURIComponent(String(value));\n}\n\n/** Build a query-string suffix from name→value pairs. Skips null/undefined and\n * empty values; arrays are comma-joined. Returns \"\" (never a dangling \"?\") or\n * \"?a=1&b=2\" — the one canonical builder every list endpoint shares, so the\n * empty-query guard can't be forgotten per call site. */\nexport function buildQuery(\n\tparams: Record<\n\t\tstring,\n\t\tnumber | string | boolean | readonly string[] | null | undefined\n\t>,\n): string {\n\tconst search = new URLSearchParams();\n\tfor (const [name, value] of Object.entries(params)) {\n\t\tif (value === undefined || value === null) continue;\n\t\tconst serialized = Array.isArray(value) ? value.join(\",\") : String(value);\n\t\tif (serialized.length === 0) continue;\n\t\tsearch.set(name, serialized);\n\t}\n\tconst query = search.toString();\n\treturn query ? `?${query}` : \"\";\n}\n\n/** Pull the message and code out of an API error body. The API answers every\n * failure with `{error, code}`; a proxy in front of it may answer with plain\n * text or nothing, so the body is kept whichever shape it took and the\n * message is left undefined when there is none worth surfacing. */\nexport function parseErrorEnvelope(text: string): {\n\tmessage?: string;\n\tcode?: string;\n\tbody: unknown;\n} {\n\tif (text.length === 0) return { body: undefined };\n\ttry {\n\t\tconst json = JSON.parse(text);\n\t\tlet message: string | undefined;\n\t\tlet code: string | undefined;\n\t\tif (json && typeof json === \"object\") {\n\t\t\tconst err = json.error ?? json.message;\n\t\t\tif (typeof err === \"string\" && err.length > 0) message = err;\n\t\t\telse if (err && typeof err === \"object\") message = JSON.stringify(err);\n\t\t\tif (typeof json.code === \"string\") code = json.code;\n\t\t}\n\t\treturn { message, code, body: json };\n\t} catch {\n\t\treturn { message: text, body: text };\n\t}\n}\n\nexport abstract class BaseClient {\n\tprotected baseUrl: string;\n\tprotected apiKey?: string;\n\tprotected origin: \"cli\" | \"mcp\" | \"session\";\n\tprotected fetchImpl: FetchLike;\n\tprotected requestTimeoutMs: number;\n\tprotected etagCache: EtagCache | null;\n\n\tconstructor(options: Partial<SecondLayerOptions> = {}) {\n\t\tthis.baseUrl = resolveBaseUrl(options.baseUrl);\n\t\tthis.apiKey = resolveApiKey(options.apiKey);\n\t\tthis.origin = options.origin ?? \"cli\";\n\t\tthis.requestTimeoutMs =\n\t\t\toptions.requestTimeoutMs ?? DEFAULT_REQUEST_TIMEOUT_MS;\n\t\t// Bind the global so a bare `fetch` reference doesn't lose its Request\n\t\t// context on runtimes where fetch is a method (workerd, older Node).\n\t\tthis.fetchImpl = options.fetchImpl ?? ((...args) => fetch(...args));\n\t\tthis.etagCache =\n\t\t\toptions.etagCache === false\n\t\t\t\t? null\n\t\t\t\t: (options.etagCache ?? new MemoryEtagCache());\n\t}\n\n\tstatic authHeaders(apiKey?: string): Record<string, string> {\n\t\tconst headers: Record<string, string> = {\n\t\t\t\"Content-Type\": \"application/json\",\n\t\t};\n\t\tif (apiKey) {\n\t\t\theaders.Authorization = `Bearer ${apiKey}`;\n\t\t}\n\t\treturn headers;\n\t}\n\n\tprotected async request<T>(\n\t\tmethod: string,\n\t\tpath: string,\n\t\tbody?: unknown,\n\t\topts: RequestOptions = {},\n\t): Promise<T> {\n\t\treturn this.withRequestBudget(opts.signal, async (signal) => {\n\t\t\t// Only GETs are revalidated: a write's response is never a copy of\n\t\t\t// something the caller already holds.\n\t\t\tconst cacheKey =\n\t\t\t\tmethod === \"GET\" && this.etagCache ? `${this.baseUrl}${path}` : null;\n\t\t\tconst cached = cacheKey ? await this.etagCache?.get(cacheKey) : undefined;\n\t\t\tconst response = await this.fetchResponse(\n\t\t\t\tmethod,\n\t\t\t\tpath,\n\t\t\t\tbody,\n\t\t\t\tsignal,\n\t\t\t\tcached ? { \"If-None-Match\": cached.etag } : undefined,\n\t\t\t);\n\t\t\tif (response.status === 204) {\n\t\t\t\treturn undefined as T;\n\t\t\t}\n\t\t\tif (response.status === 304) {\n\t\t\t\t// The server only answers 304 to a validator we sent, and it meters\n\t\t\t\t// nothing for it. The page is the one we already hold; its `tip`\n\t\t\t\t// field is as of the first read, since the ETag excludes the tip.\n\t\t\t\tif (!cached) {\n\t\t\t\t\tthrow new ApiError(304, \"Not Modified without a cached copy\");\n\t\t\t\t}\n\t\t\t\treturn JSON.parse(cached.body) as T;\n\t\t\t}\n\t\t\tconst etag = cacheKey ? response.headers.get(\"ETag\") : null;\n\t\t\tif (!cacheKey || !etag) {\n\t\t\t\treturn (await raceAbort(response.json(), signal)) as T;\n\t\t\t}\n\t\t\tconst text = await raceAbort(response.text(), signal);\n\t\t\tawait this.etagCache?.set(cacheKey, { etag, body: text });\n\t\t\treturn JSON.parse(text) as T;\n\t\t});\n\t}\n\n\t/** Like `request`, but maps a 404 to `null` instead of throwing — the one\n\t * place that owns the \"absent resource\" rule for `get*` accessors. */\n\tprotected async requestOrNull<T>(\n\t\tmethod: string,\n\t\tpath: string,\n\t\tbody?: unknown,\n\t\topts: RequestOptions = {},\n\t): Promise<T | null> {\n\t\ttry {\n\t\t\treturn await this.request<T>(method, path, body, opts);\n\t\t} catch (err) {\n\t\t\tif (err instanceof ApiError && err.status === 404) return null;\n\t\t\tthrow err;\n\t\t}\n\t}\n\n\tprotected async requestText(\n\t\tmethod: string,\n\t\tpath: string,\n\t\tbody?: unknown,\n\t\topts: RequestOptions = {},\n\t): Promise<string> {\n\t\treturn this.withRequestBudget(opts.signal, async (signal) => {\n\t\t\tconst response = await this.fetchResponse(method, path, body, signal);\n\t\t\treturn raceAbort(response.text(), signal);\n\t\t});\n\t}\n\n\t/** Run one request under the caller's signal plus the per-request timeout.\n\t * One combined signal covers the fetch and the body read, so a socket that\n\t * stalls mid-body times out the same way one that never answers does. A\n\t * timeout rejects with a retryable `ApiError`; a caller abort rejects with\n\t * the signal's reason so loops can tell \"stop\" from \"try again\". */\n\tprivate async withRequestBudget<T>(\n\t\tcallerSignal: AbortSignal | undefined,\n\t\trun: (signal: AbortSignal) => Promise<T>,\n\t): Promise<T> {\n\t\tconst controller = new AbortController();\n\t\tlet timedOut = false;\n\t\tconst forward = () =>\n\t\t\tcontroller.abort(callerSignal?.reason ?? abortError());\n\t\tif (callerSignal?.aborted) forward();\n\t\telse callerSignal?.addEventListener(\"abort\", forward, { once: true });\n\t\tconst timer =\n\t\t\tthis.requestTimeoutMs > 0\n\t\t\t\t? setTimeout(() => {\n\t\t\t\t\t\ttimedOut = true;\n\t\t\t\t\t\tcontroller.abort(abortError());\n\t\t\t\t\t}, this.requestTimeoutMs)\n\t\t\t\t: undefined;\n\t\ttry {\n\t\t\treturn await run(controller.signal);\n\t\t} catch (err) {\n\t\t\tif (timedOut && !callerSignal?.aborted) {\n\t\t\t\tthrow new ApiError(\n\t\t\t\t\t0,\n\t\t\t\t\t`No response from ${this.baseUrl} within ${this.requestTimeoutMs}ms. Retryable. Raise requestTimeoutMs for slow filtered reads.`,\n\t\t\t\t\tundefined,\n\t\t\t\t\t\"REQUEST_TIMEOUT\",\n\t\t\t\t\t{ retryable: true, cause: err instanceof Error ? err : undefined },\n\t\t\t\t);\n\t\t\t}\n\t\t\tthrow err;\n\t\t} finally {\n\t\t\tif (timer !== undefined) clearTimeout(timer);\n\t\t\tcallerSignal?.removeEventListener(\"abort\", forward);\n\t\t}\n\t}\n\n\t/** Issue the HTTP request and map non-2xx statuses onto the error family.\n\t * `signal` is the combined caller-plus-timeout signal from `request*`;\n\t * subclasses that stream a body call this directly and read it themselves. */\n\tprotected async fetchResponse(\n\t\tmethod: string,\n\t\tpath: string,\n\t\tbody?: unknown,\n\t\tsignal?: AbortSignal,\n\t\textraHeaders?: Record<string, string>,\n\t): Promise<Response> {\n\t\tconst url = `${this.baseUrl}${path}`;\n\t\tconst headers = {\n\t\t\t...BaseClient.authHeaders(this.apiKey),\n\t\t\t...extraHeaders,\n\t\t};\n\t\theaders[\"x-sl-origin\"] = this.origin;\n\n\t\t// Serialize the body BEFORE the network try so a body-encoding error\n\t\t// (e.g. unsupported BigInt) isn't misreported as \"Cannot reach API\".\n\t\t// BigInts are stringified — server schemas accept jsonb so the value\n\t\t// reaches the server intact, and any field that needs an actual bigint\n\t\t// at runtime is rehydrated by the consuming module (subgraph handler\n\t\t// code preserves the literal). See packages/subgraphs source-matcher\n\t\t// for the post-load shape.\n\t\tlet serializedBody: string | undefined;\n\t\tif (body !== undefined && body !== null) {\n\t\t\ttry {\n\t\t\t\tserializedBody = JSON.stringify(body, (_key, value) =>\n\t\t\t\t\ttypeof value === \"bigint\" ? value.toString() : value,\n\t\t\t\t);\n\t\t\t} catch (err) {\n\t\t\t\tconst detail = err instanceof Error ? err.message : String(err);\n\t\t\t\t// Not retryable: the same body will fail to serialize again.\n\t\t\t\tthrow new ApiError(\n\t\t\t\t\t0,\n\t\t\t\t\t`Failed to serialize request body: ${detail}`,\n\t\t\t\t\tundefined,\n\t\t\t\t\tundefined,\n\t\t\t\t\t{ retryable: false },\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tlet response: Response;\n\t\ttry {\n\t\t\tconst pending = this.fetchImpl(url, {\n\t\t\t\tmethod,\n\t\t\t\theaders,\n\t\t\t\tbody: serializedBody,\n\t\t\t\tsignal,\n\t\t\t});\n\t\t\tresponse = signal ? await raceAbort(pending, signal) : await pending;\n\t\t} catch (err) {\n\t\t\t// An abort (caller or timeout) is not a network failure; let the\n\t\t\t// budget wrapper decide what it means.\n\t\t\tif (signal?.aborted) throw err;\n\t\t\tthrow new ApiError(\n\t\t\t\t0,\n\t\t\t\t`Cannot reach API at ${this.baseUrl}. Check your connection or try again.`,\n\t\t\t\tundefined,\n\t\t\t\tundefined,\n\t\t\t\t{ retryable: true, cause: err instanceof Error ? err : undefined },\n\t\t\t);\n\t\t}\n\n\t\t// A 304 is an answer to our own If-None-Match, not a failure.\n\t\tif (response.status === 304) return response;\n\n\t\tif (!response.ok) {\n\t\t\t// Read the envelope once for every failure status. The API answers\n\t\t\t// 401 and 503 with `{error, code}` too (a revoked token, an index\n\t\t\t// still catching up), and that code is what a caller branches on.\n\t\t\tconst errorBody = signal\n\t\t\t\t? await raceAbort(response.text(), signal)\n\t\t\t\t: await response.text();\n\t\t\tconst envelope = parseErrorEnvelope(errorBody);\n\t\t\tconst retryAfter = response.headers.get(\"Retry-After\") ?? undefined;\n\n\t\t\tif (response.status === 401) {\n\t\t\t\tthrow new AuthError(\n\t\t\t\t\tenvelope.message ?? \"API key invalid or expired.\",\n\t\t\t\t\tenvelope.body,\n\t\t\t\t\tenvelope.code,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (response.status === 429) {\n\t\t\t\t// The header is preserved as `retryAfterSeconds` (not just prose) so\n\t\t\t\t// the consume loops can honor it.\n\t\t\t\tconst fallback = retryAfter\n\t\t\t\t\t? `Rate limited. Wait ${retryAfter} seconds.`\n\t\t\t\t\t: \"Rate limited. Try again later.\";\n\t\t\t\tthrow new RateLimitError(\n\t\t\t\t\tenvelope.message ?? fallback,\n\t\t\t\t\tretryAfter,\n\t\t\t\t\tenvelope.body,\n\t\t\t\t\tenvelope.code,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (response.status >= 500) {\n\t\t\t\tconst retryAfterSeconds = parseRetryAfter(retryAfter);\n\t\t\t\tthrow new ApiError(\n\t\t\t\t\tresponse.status,\n\t\t\t\t\tenvelope.message ??\n\t\t\t\t\t\t`Server error. Try again or check status at ${this.baseUrl}/health`,\n\t\t\t\t\tenvelope.body,\n\t\t\t\t\tenvelope.code,\n\t\t\t\t\tretryAfterSeconds !== undefined ? { retryAfterSeconds } : {},\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tthrow new ApiError(\n\t\t\t\tresponse.status,\n\t\t\t\tenvelope.message ?? `HTTP ${response.status}`,\n\t\t\t\tenvelope.body,\n\t\t\t\tenvelope.code,\n\t\t\t);\n\t\t}\n\n\t\treturn response;\n\t}\n}\n",
|
|
7
|
+
"import {\n\tApiError,\n\tAuthError,\n\tRateLimitError,\n\tparseRetryAfter,\n} from \"./errors.ts\";\n\nexport type FetchLike = (\n\tinput: string | URL | Request,\n\tinit?: RequestInit,\n) => Promise<Response>;\n\nexport interface SecondLayerOptions {\n\t/** Base URL of the instance API (trailing slashes are stripped). */\n\tbaseUrl: string;\n\t/** Bearer token for authenticated instance requests (`INSTANCE_TOKEN`). */\n\tapiKey?: string;\n\t/** Hosted account key (`sk-sl_*`). Env `SECONDLAYER_API_KEY`. Used by\n\t * `sl.archive` quote/fetch/credits, never by instance `/v1` or `/api`. */\n\taccountKey?: string;\n\t/** Fetch implementation. Tests and edge runtimes can provide their own. */\n\tfetchImpl?: FetchLike;\n\t/** Public base URL for Streams bulk parquet dumps (the cold backfill plane).\n\t * Required for `streams.dumps.*`; without it the dumps client falls back to\n\t * its built-in default. */\n\tdumpsBaseUrl?: string;\n\t/** Public base URL for the signed canonical archive tree. Defaults to\n\t * `https://archive.secondlayer.tools`. Reaches `sl.archive`. */\n\tarchiveBaseUrl?: string;\n\t/** Credits and fetch-gate API. Defaults to `https://api.secondlayer.tools`,\n\t * not `baseUrl`. Reaches `sl.archive` quote/fetch/credits. */\n\tarchiveOpsUrl?: string;\n\t/** Deploy origin label sent as `x-sl-origin` (telemetry). Defaults to `cli`. */\n\torigin?: \"cli\" | \"mcp\" | \"session\";\n\t/** Check the ed25519 signature on every Streams read. Omit for lenient\n\t * (verify when signed, pass through unsigned self-host responses), `true`\n\t * or `{ publicKey }` for strict, `false` for off. Reaches `sl.streams`. */\n\tverify?: boolean | { publicKey: string };\n\t/** Check the dumps manifest signature before trusting any file hash\n\t * (default on). Reaches `sl.streams.dumps`. */\n\tverifyDumpsManifest?: boolean;\n\t/** How long one request may take, headers and body, before it fails with a\n\t * retryable `ApiError` (default 30 000 ms). A hung socket then trips the\n\t * retry policy instead of stalling a walk or consume loop forever. `0`\n\t * disables the timeout. */\n\trequestTimeoutMs?: number;\n\t/** Where GET responses carrying an `ETag` are kept, so a repeat read sends\n\t * `If-None-Match` and a finalized page comes back as a free `304`.\n\t * Defaults to an in-memory store of the last 64 pages. Pass your own to\n\t * keep it across processes (a file, a KV), or `false` to turn it off. */\n\tetagCache?: EtagCache | false;\n}\n\n/** One cached GET response: its validator and the body it validated. */\nexport type EtagEntry = { etag: string; body: string };\n\n/** Storage for `etagCache`. Keys are full request URLs. Either method may be\n * async, so a disk or KV store works as well as a Map. */\nexport interface EtagCache {\n\tget(key: string): EtagEntry | undefined | Promise<EtagEntry | undefined>;\n\tset(key: string, entry: EtagEntry): void | Promise<void>;\n}\n\n/** Bounded in-memory `EtagCache`. Evicts the least recently used page, so a\n * long walk can't hold more than `limit` page bodies. */\nexport class MemoryEtagCache implements EtagCache {\n\tprivate entries = new Map<string, EtagEntry>();\n\tconstructor(private readonly limit = 64) {}\n\n\tget(key: string): EtagEntry | undefined {\n\t\tconst entry = this.entries.get(key);\n\t\tif (entry) {\n\t\t\tthis.entries.delete(key);\n\t\t\tthis.entries.set(key, entry);\n\t\t}\n\t\treturn entry;\n\t}\n\n\tset(key: string, entry: EtagEntry): void {\n\t\tthis.entries.delete(key);\n\t\tthis.entries.set(key, entry);\n\t\tif (this.entries.size > this.limit) {\n\t\t\tconst oldest = this.entries.keys().next().value;\n\t\t\tif (oldest !== undefined) this.entries.delete(oldest);\n\t\t}\n\t}\n}\n\n/** Default per-request budget. Long enough for a 1000-row filtered page on a\n * cold cache, short enough that a half-open connection surfaces as a retry. */\nexport const DEFAULT_REQUEST_TIMEOUT_MS = 30_000;\n\n/** Per-call options every `request*` method accepts. */\nexport type RequestOptions = {\n\t/** Cancels the in-flight request (and its body read). The rejection is the\n\t * signal's reason, an `AbortError` by default, never an `ApiError`. */\n\tsignal?: AbortSignal;\n};\n\n/** The rejection a caller abort produces when the signal carries no reason. */\nexport function abortError(): Error {\n\treturn new DOMException(\"This operation was aborted\", \"AbortError\");\n}\n\n/** Reject as soon as `signal` aborts, even when `promise` is a fetch\n * implementation that ignores its `signal` argument. */\nfunction raceAbort<T>(promise: Promise<T>, signal: AbortSignal): Promise<T> {\n\tif (signal.aborted) return Promise.reject(signal.reason ?? abortError());\n\treturn new Promise<T>((resolve, reject) => {\n\t\tconst onAbort = () => reject(signal.reason ?? abortError());\n\t\tsignal.addEventListener(\"abort\", onAbort, { once: true });\n\t\tpromise.then(resolve, reject).finally(() => {\n\t\t\tsignal.removeEventListener(\"abort\", onAbort);\n\t\t});\n\t});\n}\n\n/** Product default: the local one-box API. Override with `baseUrl` or\n * `SECONDLAYER_API_URL`. */\nexport const LOCAL_API_URL = \"http://127.0.0.1:3800\";\n\n/** Instance credential. `secondlayer init` writes this. */\nexport const INSTANCE_TOKEN_ENV = \"INSTANCE_TOKEN\";\n\n/** Hosted account key (`sk-sl_*`) for api.secondlayer.tools. */\nexport const ACCOUNT_KEY_ENV = \"SECONDLAYER_API_KEY\";\n\nexport function resolveBaseUrl(explicit?: string): string {\n\tif (explicit && explicit.length > 0) return explicit.replace(/\\/+$/, \"\");\n\tif (typeof process !== \"undefined\") {\n\t\tconst primary = process.env?.SECONDLAYER_API_URL || undefined;\n\t\tif (primary) return primary.replace(/\\/+$/, \"\");\n\t}\n\treturn LOCAL_API_URL;\n}\n\n/** Resolve the instance credential. Precedence: explicit `apiKey` (including\n * `\"\"` for keyless) → `INSTANCE_TOKEN`. Does not read the hosted account key\n * env vars. Guarded for browsers and edge runtimes. */\nexport function resolveApiKey(apiKey?: string): string | undefined {\n\tif (apiKey !== undefined) return apiKey;\n\tif (typeof process === \"undefined\") return undefined;\n\tconst token = process.env?.INSTANCE_TOKEN || undefined;\n\treturn token;\n}\n\n/** Resolve the hosted account key for archive quote/fetch/credits.\n * Precedence: explicit `accountKey` → `SECONDLAYER_API_KEY`. Does not read\n * `INSTANCE_TOKEN`. */\nexport function resolveAccountKey(accountKey?: string): string | undefined {\n\tif (accountKey !== undefined) return accountKey;\n\tif (typeof process === \"undefined\") return undefined;\n\treturn process.env?.SECONDLAYER_API_KEY || undefined;\n}\n\n/** Percent-encode one URL path segment. Every caller-supplied identifier\n * (subgraph name, table, webhook id) goes through this before it is\n * interpolated into a path, so `..`, `/`, `?` and `#` in an id cannot\n * retarget the authenticated request at a different route. */\nexport function seg(value: string | number): string {\n\treturn encodeURIComponent(String(value));\n}\n\n/** Build a query-string suffix from name→value pairs. Skips null/undefined and\n * empty values; arrays are comma-joined. Returns \"\" (never a dangling \"?\") or\n * \"?a=1&b=2\" — the one canonical builder every list endpoint shares, so the\n * empty-query guard can't be forgotten per call site. */\nexport function buildQuery(\n\tparams: Record<\n\t\tstring,\n\t\tnumber | string | boolean | readonly string[] | null | undefined\n\t>,\n): string {\n\tconst search = new URLSearchParams();\n\tfor (const [name, value] of Object.entries(params)) {\n\t\tif (value === undefined || value === null) continue;\n\t\tconst serialized = Array.isArray(value) ? value.join(\",\") : String(value);\n\t\tif (serialized.length === 0) continue;\n\t\tsearch.set(name, serialized);\n\t}\n\tconst query = search.toString();\n\treturn query ? `?${query}` : \"\";\n}\n\n/** Pull the message and code out of an API error body. The API answers most\n * failures with `{error, code}`, where `error` IS the human text (e.g.\n * `{error: \"Unauthorized\"}`) — a proxy in front of it may answer with plain\n * text or nothing, so the body is kept whichever shape it took and the\n * message is left undefined when there is none worth surfacing. A few\n * bodies (e.g. `spend_cap_reached`) instead use `error` as a machine code\n * and carry the human text in its own `message` field — when both a string\n * `error` and a string `message` are present, `message` wins. */\nexport function parseErrorEnvelope(text: string): {\n\tmessage?: string;\n\tcode?: string;\n\tbody: unknown;\n} {\n\tif (text.length === 0) return { body: undefined };\n\ttry {\n\t\tconst json = JSON.parse(text);\n\t\tlet message: string | undefined;\n\t\tlet code: string | undefined;\n\t\tif (json && typeof json === \"object\") {\n\t\t\tconst err = json.error ?? json.message;\n\t\t\tif (\n\t\t\t\ttypeof err === \"string\" &&\n\t\t\t\ttypeof json.message === \"string\" &&\n\t\t\t\tjson.message.length > 0\n\t\t\t) {\n\t\t\t\tmessage = json.message;\n\t\t\t} else if (typeof err === \"string\" && err.length > 0) message = err;\n\t\t\telse if (err && typeof err === \"object\") message = JSON.stringify(err);\n\t\t\tif (typeof json.code === \"string\") code = json.code;\n\t\t}\n\t\treturn { message, code, body: json };\n\t} catch {\n\t\treturn { message: text, body: text };\n\t}\n}\n\nexport abstract class BaseClient {\n\tprotected baseUrl: string;\n\tprotected apiKey?: string;\n\tprotected origin: \"cli\" | \"mcp\" | \"session\";\n\tprotected fetchImpl: FetchLike;\n\tprotected requestTimeoutMs: number;\n\tprotected etagCache: EtagCache | null;\n\n\tconstructor(options: Partial<SecondLayerOptions> = {}) {\n\t\tthis.baseUrl = resolveBaseUrl(options.baseUrl);\n\t\tthis.apiKey = resolveApiKey(options.apiKey);\n\t\tthis.origin = options.origin ?? \"cli\";\n\t\tthis.requestTimeoutMs =\n\t\t\toptions.requestTimeoutMs ?? DEFAULT_REQUEST_TIMEOUT_MS;\n\t\t// Bind the global so a bare `fetch` reference doesn't lose its Request\n\t\t// context on runtimes where fetch is a method (workerd, older Node).\n\t\tthis.fetchImpl = options.fetchImpl ?? ((...args) => fetch(...args));\n\t\tthis.etagCache =\n\t\t\toptions.etagCache === false\n\t\t\t\t? null\n\t\t\t\t: (options.etagCache ?? new MemoryEtagCache());\n\t}\n\n\tstatic authHeaders(apiKey?: string): Record<string, string> {\n\t\tconst headers: Record<string, string> = {\n\t\t\t\"Content-Type\": \"application/json\",\n\t\t};\n\t\tif (apiKey) {\n\t\t\theaders.Authorization = `Bearer ${apiKey}`;\n\t\t}\n\t\treturn headers;\n\t}\n\n\tprotected async request<T>(\n\t\tmethod: string,\n\t\tpath: string,\n\t\tbody?: unknown,\n\t\topts: RequestOptions = {},\n\t): Promise<T> {\n\t\treturn this.withRequestBudget(opts.signal, async (signal) => {\n\t\t\t// Only GETs are revalidated: a write's response is never a copy of\n\t\t\t// something the caller already holds.\n\t\t\tconst cacheKey =\n\t\t\t\tmethod === \"GET\" && this.etagCache ? `${this.baseUrl}${path}` : null;\n\t\t\tconst cached = cacheKey ? await this.etagCache?.get(cacheKey) : undefined;\n\t\t\tconst response = await this.fetchResponse(\n\t\t\t\tmethod,\n\t\t\t\tpath,\n\t\t\t\tbody,\n\t\t\t\tsignal,\n\t\t\t\tcached ? { \"If-None-Match\": cached.etag } : undefined,\n\t\t\t);\n\t\t\tif (response.status === 204) {\n\t\t\t\treturn undefined as T;\n\t\t\t}\n\t\t\tif (response.status === 304) {\n\t\t\t\t// The server only answers 304 to a validator we sent, and it meters\n\t\t\t\t// nothing for it. The page is the one we already hold; its `tip`\n\t\t\t\t// field is as of the first read, since the ETag excludes the tip.\n\t\t\t\tif (!cached) {\n\t\t\t\t\tthrow new ApiError(304, \"Not Modified without a cached copy\");\n\t\t\t\t}\n\t\t\t\treturn JSON.parse(cached.body) as T;\n\t\t\t}\n\t\t\tconst etag = cacheKey ? response.headers.get(\"ETag\") : null;\n\t\t\tif (!cacheKey || !etag) {\n\t\t\t\treturn (await raceAbort(response.json(), signal)) as T;\n\t\t\t}\n\t\t\tconst text = await raceAbort(response.text(), signal);\n\t\t\tawait this.etagCache?.set(cacheKey, { etag, body: text });\n\t\t\treturn JSON.parse(text) as T;\n\t\t});\n\t}\n\n\t/** Like `request`, but maps a 404 to `null` instead of throwing — the one\n\t * place that owns the \"absent resource\" rule for `get*` accessors. */\n\tprotected async requestOrNull<T>(\n\t\tmethod: string,\n\t\tpath: string,\n\t\tbody?: unknown,\n\t\topts: RequestOptions = {},\n\t): Promise<T | null> {\n\t\ttry {\n\t\t\treturn await this.request<T>(method, path, body, opts);\n\t\t} catch (err) {\n\t\t\tif (err instanceof ApiError && err.status === 404) return null;\n\t\t\tthrow err;\n\t\t}\n\t}\n\n\tprotected async requestText(\n\t\tmethod: string,\n\t\tpath: string,\n\t\tbody?: unknown,\n\t\topts: RequestOptions = {},\n\t): Promise<string> {\n\t\treturn this.withRequestBudget(opts.signal, async (signal) => {\n\t\t\tconst response = await this.fetchResponse(method, path, body, signal);\n\t\t\treturn raceAbort(response.text(), signal);\n\t\t});\n\t}\n\n\t/** Run one request under the caller's signal plus the per-request timeout.\n\t * One combined signal covers the fetch and the body read, so a socket that\n\t * stalls mid-body times out the same way one that never answers does. A\n\t * timeout rejects with a retryable `ApiError`; a caller abort rejects with\n\t * the signal's reason so loops can tell \"stop\" from \"try again\". */\n\tprivate async withRequestBudget<T>(\n\t\tcallerSignal: AbortSignal | undefined,\n\t\trun: (signal: AbortSignal) => Promise<T>,\n\t): Promise<T> {\n\t\tconst controller = new AbortController();\n\t\tlet timedOut = false;\n\t\tconst forward = () =>\n\t\t\tcontroller.abort(callerSignal?.reason ?? abortError());\n\t\tif (callerSignal?.aborted) forward();\n\t\telse callerSignal?.addEventListener(\"abort\", forward, { once: true });\n\t\tconst timer =\n\t\t\tthis.requestTimeoutMs > 0\n\t\t\t\t? setTimeout(() => {\n\t\t\t\t\t\ttimedOut = true;\n\t\t\t\t\t\tcontroller.abort(abortError());\n\t\t\t\t\t}, this.requestTimeoutMs)\n\t\t\t\t: undefined;\n\t\ttry {\n\t\t\treturn await run(controller.signal);\n\t\t} catch (err) {\n\t\t\tif (timedOut && !callerSignal?.aborted) {\n\t\t\t\tthrow new ApiError(\n\t\t\t\t\t0,\n\t\t\t\t\t`No response from ${this.baseUrl} within ${this.requestTimeoutMs}ms. Retryable. Raise requestTimeoutMs for slow filtered reads.`,\n\t\t\t\t\tundefined,\n\t\t\t\t\t\"REQUEST_TIMEOUT\",\n\t\t\t\t\t{ retryable: true, cause: err instanceof Error ? err : undefined },\n\t\t\t\t);\n\t\t\t}\n\t\t\tthrow err;\n\t\t} finally {\n\t\t\tif (timer !== undefined) clearTimeout(timer);\n\t\t\tcallerSignal?.removeEventListener(\"abort\", forward);\n\t\t}\n\t}\n\n\t/** Issue the HTTP request and map non-2xx statuses onto the error family.\n\t * `signal` is the combined caller-plus-timeout signal from `request*`;\n\t * subclasses that stream a body call this directly and read it themselves. */\n\tprotected async fetchResponse(\n\t\tmethod: string,\n\t\tpath: string,\n\t\tbody?: unknown,\n\t\tsignal?: AbortSignal,\n\t\textraHeaders?: Record<string, string>,\n\t): Promise<Response> {\n\t\tconst url = `${this.baseUrl}${path}`;\n\t\tconst headers = {\n\t\t\t...BaseClient.authHeaders(this.apiKey),\n\t\t\t...extraHeaders,\n\t\t};\n\t\theaders[\"x-sl-origin\"] = this.origin;\n\n\t\t// Serialize the body BEFORE the network try so a body-encoding error\n\t\t// (e.g. unsupported BigInt) isn't misreported as \"Cannot reach API\".\n\t\t// BigInts are stringified — server schemas accept jsonb so the value\n\t\t// reaches the server intact, and any field that needs an actual bigint\n\t\t// at runtime is rehydrated by the consuming module (subgraph handler\n\t\t// code preserves the literal). See packages/subgraphs source-matcher\n\t\t// for the post-load shape.\n\t\tlet serializedBody: string | undefined;\n\t\tif (body !== undefined && body !== null) {\n\t\t\ttry {\n\t\t\t\tserializedBody = JSON.stringify(body, (_key, value) =>\n\t\t\t\t\ttypeof value === \"bigint\" ? value.toString() : value,\n\t\t\t\t);\n\t\t\t} catch (err) {\n\t\t\t\tconst detail = err instanceof Error ? err.message : String(err);\n\t\t\t\t// Not retryable: the same body will fail to serialize again.\n\t\t\t\tthrow new ApiError(\n\t\t\t\t\t0,\n\t\t\t\t\t`Failed to serialize request body: ${detail}`,\n\t\t\t\t\tundefined,\n\t\t\t\t\tundefined,\n\t\t\t\t\t{ retryable: false },\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tlet response: Response;\n\t\ttry {\n\t\t\tconst pending = this.fetchImpl(url, {\n\t\t\t\tmethod,\n\t\t\t\theaders,\n\t\t\t\tbody: serializedBody,\n\t\t\t\tsignal,\n\t\t\t});\n\t\t\tresponse = signal ? await raceAbort(pending, signal) : await pending;\n\t\t} catch (err) {\n\t\t\t// An abort (caller or timeout) is not a network failure; let the\n\t\t\t// budget wrapper decide what it means.\n\t\t\tif (signal?.aborted) throw err;\n\t\t\tthrow new ApiError(\n\t\t\t\t0,\n\t\t\t\t`Cannot reach API at ${this.baseUrl}. Check your connection or try again.`,\n\t\t\t\tundefined,\n\t\t\t\tundefined,\n\t\t\t\t{ retryable: true, cause: err instanceof Error ? err : undefined },\n\t\t\t);\n\t\t}\n\n\t\t// A 304 is an answer to our own If-None-Match, not a failure.\n\t\tif (response.status === 304) return response;\n\n\t\tif (!response.ok) {\n\t\t\t// Read the envelope once for every failure status. The API answers\n\t\t\t// 401 and 503 with `{error, code}` too (a revoked token, an index\n\t\t\t// still catching up), and that code is what a caller branches on.\n\t\t\tconst errorBody = signal\n\t\t\t\t? await raceAbort(response.text(), signal)\n\t\t\t\t: await response.text();\n\t\t\tconst envelope = parseErrorEnvelope(errorBody);\n\t\t\tconst retryAfter = response.headers.get(\"Retry-After\") ?? undefined;\n\n\t\t\tif (response.status === 401) {\n\t\t\t\tthrow new AuthError(\n\t\t\t\t\tenvelope.message ?? \"API key invalid or expired.\",\n\t\t\t\t\tenvelope.body,\n\t\t\t\t\tenvelope.code,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (response.status === 429) {\n\t\t\t\t// The header is preserved as `retryAfterSeconds` (not just prose) so\n\t\t\t\t// the consume loops can honor it.\n\t\t\t\tconst fallback = retryAfter\n\t\t\t\t\t? `Rate limited. Wait ${retryAfter} seconds.`\n\t\t\t\t\t: \"Rate limited. Try again later.\";\n\t\t\t\tthrow new RateLimitError(\n\t\t\t\t\tenvelope.message ?? fallback,\n\t\t\t\t\tretryAfter,\n\t\t\t\t\tenvelope.body,\n\t\t\t\t\tenvelope.code,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (response.status >= 500) {\n\t\t\t\tconst retryAfterSeconds = parseRetryAfter(retryAfter);\n\t\t\t\tthrow new ApiError(\n\t\t\t\t\tresponse.status,\n\t\t\t\t\tenvelope.message ??\n\t\t\t\t\t\t`Server error. Try again or check status at ${this.baseUrl}/health`,\n\t\t\t\t\tenvelope.body,\n\t\t\t\t\tenvelope.code,\n\t\t\t\t\tretryAfterSeconds !== undefined ? { retryAfterSeconds } : {},\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tthrow new ApiError(\n\t\t\t\tresponse.status,\n\t\t\t\tenvelope.message ?? `HTTP ${response.status}`,\n\t\t\t\tenvelope.body,\n\t\t\t\tenvelope.code,\n\t\t\t);\n\t\t}\n\n\t\treturn response;\n\t}\n}\n",
|
|
8
8
|
"import {\n\ttype InstanceDiagnosis,\n\ttype PublicStatus,\n\tdiagnoseInstanceStatus,\n} from \"@secondlayer/shared/archive/instance-diagnosis\";\n\n/** Structural `/public/status` payload. Extra fields are ignored by diagnosis. */\nexport type InstanceStatus = PublicStatus;\n\nexport type InstanceClient = {\n\tstatus(): Promise<InstanceStatus>;\n\tdiagnose(): Promise<InstanceDiagnosis>;\n};\n\nexport type ArchiveVerifyInput = {\n\tagainst: string;\n\ttarget?: string;\n\tfromBlock?: number;\n\ttoBlock?: number;\n\tinsecure?: boolean;\n\tpublicKeyPem?: string;\n};\n\nexport type ArchiveVerifyRangeStatus =\n\t| \"match\"\n\t| \"digest-mismatch\"\n\t| \"count-mismatch\"\n\t| \"missing\";\n\nexport type ArchiveVerifyResult = {\n\tstatus: \"clean\" | \"diverged\" | \"unanchored\";\n\ttarget: string;\n\tagainst: string;\n\tsignature: { verified: boolean; reason?: string };\n\tcoverage?: { from_block: number; to_block: number };\n\tranges: Array<{\n\t\tdataset: string;\n\t\tfrom_block: number;\n\t\tto_block: number;\n\t\tstatus: ArchiveVerifyRangeStatus;\n\t\texpected_digest: string | null;\n\t\tactual_digest: string | null;\n\t}>;\n\treason?: string;\n};\n\ntype RequestFn = <T>(\n\tmethod: string,\n\tpath: string,\n\tbody?: unknown,\n) => Promise<T>;\n\n/** Instance `POST /v1/archive/verify`. Hits `baseUrl`, never `archiveOpsUrl`. */\nexport function createArchiveVerify(\n\trequest: RequestFn,\n): (input: ArchiveVerifyInput) => Promise<ArchiveVerifyResult> {\n\treturn (input) =>\n\t\trequest(\"POST\", \"/v1/archive/verify\", {\n\t\t\tagainst: input.against,\n\t\t\ttarget: input.target ?? \"raw\",\n\t\t\tfrom_block: input.fromBlock,\n\t\t\tto_block: input.toBlock,\n\t\t\tinsecure: input.insecure,\n\t\t\tpublic_key_pem: input.publicKeyPem,\n\t\t});\n}\n\nexport function createInstanceClient(request: RequestFn): InstanceClient {\n\tasync function status(): Promise<InstanceStatus> {\n\t\treturn request(\"GET\", \"/public/status\");\n\t}\n\tasync function diagnose(): Promise<InstanceDiagnosis> {\n\t\treturn diagnoseInstanceStatus(await status());\n\t}\n\treturn { status, diagnose };\n}\n",
|
|
9
9
|
"import { BaseClient, type SecondLayerOptions, buildQuery } from \"../base.ts\";\n\n/**\n * Typed client for the contract-discovery API (`GET /v1/contracts`).\n *\n * \"Find all contracts conforming to a trait\" — backed by the contract registry:\n * `declared` traits parsed from Clarity source, `inferred` standards from static\n * ABI shape-matching. Anonymous public read. `trait` is required; the ABI blob is\n * omitted unless `include: \"abi\"` is passed.\n */\n\n/** Whether a trait match must be declared in source, inferred from ABI, or either. */\nexport type ContractConformance = \"declared\" | \"inferred\" | \"any\";\n\nexport interface ContractsListParams {\n\t/** Required. Trait identifier to match (e.g. \"sip-010\", or a fully-qualified trait). */\n\ttrait: string;\n\t/** Match source. Defaults to \"any\" server-side. */\n\tconformance?: ContractConformance;\n\t/** Set to \"abi\" to include the full ABI blob in each row. */\n\tinclude?: \"abi\";\n\t/** Page size, 1–500 (default 100 server-side). */\n\tlimit?: number;\n\t/** Opaque cursor from a prior response's `next_cursor`. */\n\tcursor?: string;\n}\n\nexport interface ContractSummary {\n\tcontract_id: string;\n\tdeployer: string;\n\tblock_height: number;\n\tdeclared_traits: string[] | null;\n\tinferred_standards: string[] | null;\n\tabi_status: string;\n\t/** Present only when `include: \"abi\"` was requested. */\n\tabi?: unknown;\n}\n\nexport interface ContractsEnvelope {\n\tcontracts: ContractSummary[];\n\tnext_cursor: string | null;\n}\n\nexport class Contracts extends BaseClient {\n\tconstructor(options: Partial<SecondLayerOptions> = {}) {\n\t\tsuper(options);\n\t}\n\n\t/** Find contracts conforming to `trait`. `trait` is required (server 400s without it). */\n\tlist(params: ContractsListParams): Promise<ContractsEnvelope> {\n\t\treturn this.request<ContractsEnvelope>(\n\t\t\t\"GET\",\n\t\t\t`/v1/contracts${buildQuery({\n\t\t\t\ttrait: params.trait,\n\t\t\t\tconformance: params.conformance,\n\t\t\t\tinclude: params.include,\n\t\t\t\tlimit: params.limit,\n\t\t\t\tcursor: params.cursor,\n\t\t\t})}`,\n\t\t);\n\t}\n\n\t/**\n\t * Fetch a single contract from the registry by id (the prod-safe ABI source).\n\t * Pass `{ includeAbi: true }` for the full ABI blob. Resolves null on 404.\n\t */\n\tasync get(\n\t\tcontractId: string,\n\t\topts: { includeAbi?: boolean } = {},\n\t): Promise<ContractSummary | null> {\n\t\tconst result = await this.requestOrNull<{ contract: ContractSummary }>(\n\t\t\t\"GET\",\n\t\t\t`/v1/contracts/${encodeURIComponent(contractId)}${\n\t\t\t\topts.includeAbi ? \"?include=abi\" : \"\"\n\t\t\t}`,\n\t\t);\n\t\treturn result?.contract ?? null;\n\t}\n}\n",
|
|
10
10
|
"import {\n\tblockEndCursor,\n\tdecodeStreamsCursor,\n\tencodeStreamsCursor,\n} from \"@secondlayer/shared\";\nimport { ValidationError } from \"./errors.ts\";\n\n/**\n * Helpers for Streams cursors. A cursor is the opaque `<block>:<index>` string\n * that marks a position in the event stream; treat the format as an\n * implementation detail and go through these helpers instead of string-building\n * it at call sites. Encode/decode and the rewind sentinel come from the\n * canonical codec in `@secondlayer/shared` so the SDK cannot accept a spelling\n * the server would 400, or rewind to a different foot than Index/Streams.\n */\nexport const Cursor = {\n\t/**\n\t * Cursor at the foot of `height` — a position that sorts strictly below the\n\t * first event of block `height` (`height:0`) and strictly above every event\n\t * of block `height - 1`. Cursors are exclusive (`(bh,ei) > after`), so\n\t * resuming from it re-reads the entire canonical run starting at `height:0`\n\t * inclusive. This is the position to rewind to after a reorg whose fork point\n\t * is `height`: the new canonical block at `height` carries a fresh first\n\t * event at `(height, 0)` that the consumer MUST re-read.\n\t *\n\t * Encoded as `blockEndCursor(height - 1)` rather than the seemingly-natural\n\t * `${height}:0` — that earlier form was an off-by-one: being exclusive, it\n\t * skipped `(height, 0)`, silently dropping the fork block's first row on\n\t * every reorg. The sentinel is int4 max (the `event_index`/`tx_index` column\n\t * type), larger than any real index, so nothing at `height - 1` survives the\n\t * keyset and the next returned row is exactly `(height, 0)`.\n\t *\n\t * `atHeight(0)` is `null`: the pre-genesis position both consume loops\n\t * accept as \"read everything from the first event\". There is no string\n\t * cursor below `0:0`, and `0:0` itself is exclusive, so returning it here\n\t * skipped the genesis event.\n\t */\n\tatHeight(height: number): string | null {\n\t\tif (height <= 0) return null;\n\t\treturn encodeStreamsCursor(blockEndCursor(height - 1));\n\t},\n\n\t/** Parse a `<block>:<index>` cursor. Throws `ValidationError` if malformed. */\n\tparse(cursor: string): { blockHeight: number; eventIndex: number } {\n\t\ttry {\n\t\t\tconst decoded = decodeStreamsCursor(cursor);\n\t\t\treturn {\n\t\t\t\tblockHeight: decoded.block_height,\n\t\t\t\teventIndex: decoded.event_index,\n\t\t\t};\n\t\t} catch {\n\t\t\tthrow new ValidationError(\n\t\t\t\t`Invalid stream cursor \"${cursor}\"; expected \"<block>:<index>\" (e.g. \"951475:3\").`,\n\t\t\t\t400,\n\t\t\t);\n\t\t}\n\t},\n};\n",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"// Canonical event primitives (StreamsEvent, payload types, event-type vocab)\n// live in @secondlayer/shared/streams-rows; re-exported here so the public\n// Streams surface is unchanged.\nimport type { VmEventType } from \"@secondlayer/shared\";\nimport {\n\tRUNE_EVENT_TYPES,\n\ttype RuneEventType,\n\ttype RuneStreamsEvent,\n\tSTREAMS_EVENT_TYPES,\n\ttype StreamsEvent,\n\ttype StreamsEventType,\n\ttype StreamsWireEvent,\n\ttype VmStreamsEvent,\n} from \"@secondlayer/shared/streams-rows\";\nimport type { IndexEvent } from \"../index-api/client.ts\";\nimport type { ConsumerSink, WithSinkTx } from \"../sinks/types.ts\";\n\nexport {\n\tRUNE_EVENT_TYPES,\n\tSTREAMS_EVENT_TYPES,\n\ttype RuneEventType,\n\ttype RuneStreamsEvent,\n\ttype StreamsEvent,\n\ttype StreamsEventType,\n\ttype VmStreamsEvent,\n};\nexport type {\n\tFtBurnPayload,\n\tFtMintPayload,\n\tFtTransferPayload,\n\tMapDeletePayload,\n\tMapWritePayload,\n\tNestedContractCallPayload,\n\tVarSetPayload,\n\tStreamsWireEvent,\n\tNftBurnPayload,\n\tNftMintPayload,\n\tNftTransferPayload,\n\tPrintPayload,\n\tRuneEtchEntry,\n\tRuneEventPayload,\n\tStreamsClarityValue,\n\tStreamsEventBase,\n\tStreamsEventPayload,\n\tStxBurnPayload,\n\tStxLockPayload,\n\tStxMintPayload,\n\tStxTransferPayload,\n} from \"@secondlayer/shared/streams-rows\";\n\nexport type StreamsTip = {\n\tblock_height: number;\n\tblock_hash: string;\n\tburn_block_height: number;\n\t/**\n\t * Highest Stacks block past the burn-confirmation finality boundary.\n\t * Optional for back-compat; the API always sets it.\n\t */\n\tfinalized_height?: number;\n\tlag_seconds: number;\n\t/**\n\t * Oldest height still seekable on the live API for the caller's tier\n\t * (`tip - retention`). `null` = unlimited retention. Older reads must use the\n\t * cold dumps lane. Optional for back-compat.\n\t */\n\toldest_seekable_height?: number | null;\n\t/** Oldest seekable cursor (`<oldest_seekable_height>:0`); `null` = unlimited. */\n\toldest_cursor?: string | null;\n};\n\n/** `chain=bitcoin` tip (plan 059) — no `burn_block_height`/retention fields,\n * since Bitcoin has no burn chain of its own and Runes reads have no\n * retention ladder. Returned by `tip({ chain: \"bitcoin\" })`. */\nexport type StreamsBitcoinTip = {\n\tblock_height: number;\n\tblock_hash: string;\n\tfinalized_height: number;\n\tlag_seconds: number;\n};\n\nexport type StreamsCanonicalBlock = {\n\tblock_height: number;\n\tblock_hash: string;\n\tburn_block_height: number;\n\tburn_block_hash: string | null;\n\tis_canonical: true;\n};\n\n/** `chain=bitcoin` canonical block (plan 059) — no burn-chain fields. */\nexport type StreamsBitcoinCanonicalBlock = {\n\tblock_height: number;\n\tblock_hash: string;\n\tis_canonical: true;\n};\n\nexport type StreamsReorg = {\n\tdetected_at: string;\n\tfork_point_height: number;\n\torphaned_range: { from: string; to: string };\n\t/**\n\t * First position of the new canonical chain at the fork, `fork:0`\n\t * (INCLUSIVE). Not an exclusive resume token — resuming directly from it\n\t * skips `fork:0`. The consumer rewinds to the foot of `fork_point_height`\n\t * (`Cursor.atHeight`) to re-read the new run from `fork:0` inclusive.\n\t */\n\tnew_canonical_tip: string;\n};\n\nexport type StreamsEventsEnvelope<TEvent = StreamsEvent, TTip = StreamsTip> = {\n\tevents: TEvent[];\n\tnext_cursor: string | null;\n\ttip: TTip;\n\treorgs: StreamsReorg[];\n};\n\nexport type StreamsEventsListEnvelope<\n\tTEvent = StreamsEvent,\n\tTTip = StreamsTip,\n> = Omit<StreamsEventsEnvelope<TEvent, TTip>, \"next_cursor\">;\n\n/** The StreamsEvent union narrowed to a `types` selection — what a\n * const-generic `types: [\"ft_transfer\"]` buys at the type level. */\nexport type StreamsEventOfTypes<T extends readonly StreamsEventType[]> =\n\tExtract<StreamsEvent, { event_type: T[number] }>;\n\nexport type StreamsReorgsListParams = {\n\tsince: string;\n\tlimit?: number;\n};\n\nexport type StreamsReorgsListEnvelope = {\n\treorgs: StreamsReorg[];\n\tnext_since: string | null;\n};\n\n/** A filter that matches a single value or any value in a list. */\nexport type StreamsFilterValue = string | readonly string[];\n\n/**\n * One labelled filter group. Fields inside a group AND together; groups in a\n * map OR together server-side.\n */\nexport type StreamsLabelledFilter = {\n\ttypes?: readonly StreamsEventType[];\n\tcontractId?: StreamsFilterValue;\n\tsender?: StreamsFilterValue;\n\trecipient?: StreamsFilterValue;\n\tassetIdentifier?: string;\n};\n\n/** A map of label → filter group. Labels are yours; the server echoes them. */\nexport type StreamsFilterMap = Record<string, StreamsLabelledFilter>;\n\n/**\n * The events one label can yield. A group that declares `types` narrows to\n * exactly those variants, so a per-label handler needs no `event_type` guard;\n * a group without `types` keeps the full union.\n */\nexport type StreamsEventForFilter<F, D extends boolean = false> = F extends {\n\ttypes: readonly (infer T extends StreamsEventType)[];\n}\n\t? D extends true\n\t\t? Extract<IndexEvent, { event_type: T }>\n\t\t: Extract<StreamsEvent, { event_type: T }>\n\t: D extends true\n\t\t? IndexEvent\n\t\t: StreamsEvent;\n\ntype StreamsEventsListParamsCommon = {\n\tcursor?: string | null;\n\tfromHeight?: number;\n\ttoHeight?: number;\n\tlimit?: number;\n};\n\n/** `chain: \"stacks\"` (default, omit `chain` entirely) — unchanged since\n * before plan 059. */\nexport type StreamsEventsStacksListParams = StreamsEventsListParamsCommon & {\n\tchain?: \"stacks\";\n\t/** `vm` reads ordinal. Omit for Streams 1.0. */\n\tclock?: \"classic\" | \"vm\";\n\ttypes?: readonly (StreamsEventType | VmEventType)[];\n\t/** Event types to exclude (applied after `types`). */\n\tnotTypes?: readonly (StreamsEventType | VmEventType)[];\n\tcontractId?: StreamsFilterValue;\n\tsender?: StreamsFilterValue;\n\trecipient?: StreamsFilterValue;\n\tassetIdentifier?: string;\n\t/**\n\t * Labelled filter groups. The groups OR together in one scan and each\n\t * returned event carries the labels it matched (`event.matched`) — two\n\t * unrelated concerns share one page, one cursor, one checkpoint.\n\t */\n\tfilters?: StreamsFilterMap;\n};\n\n/**\n * `chain: \"bitcoin\"` (plan 059) — Runes events, own cursor space. `types` is\n * restricted to {@link RuneEventType} at the type level, so e.g.\n * `{ chain: \"bitcoin\", types: [\"ft_transfer\"] }` is a compile error rather\n * than a silent 400 at request time. `contractId`/`sender`/`recipient`/\n * `assetIdentifier`/`filters`/`clock` don't exist on this branch — they're\n * Stacks-only (the server 400s on them too).\n */\nexport type StreamsEventsBitcoinListParams = StreamsEventsListParamsCommon & {\n\tchain: \"bitcoin\";\n\ttypes?: readonly RuneEventType[];\n\tnotTypes?: readonly RuneEventType[];\n\t/** A RuneRef: an id (`840000:3`) or a name (`DOG•GO•TO•THE•MOON`). */\n\trune?: string;\n\t/** A mainnet address. */\n\taddress?: string;\n};\n\nexport type StreamsEventsListParams =\n\t| StreamsEventsStacksListParams\n\t| StreamsEventsBitcoinListParams;\n\ntype StreamsEventsStreamCommon = {\n\tfromCursor?: string | null;\n\tbatchSize?: number;\n\temptyBackoffMs?: number;\n\tmaxPages?: number;\n\tmaxEmptyPolls?: number;\n\tsignal?: AbortSignal;\n};\n\n/** `chain: \"stacks\"` (default, omit `chain` entirely) — matches\n * {@link StreamsEventsStacksListParams}. */\nexport type StreamsEventsStreamStacksParams = StreamsEventsStreamCommon & {\n\tchain?: \"stacks\";\n\ttypes?: readonly StreamsEventType[];\n\tnotTypes?: readonly StreamsEventType[];\n\tcontractId?: StreamsFilterValue;\n\tsender?: StreamsFilterValue;\n\trecipient?: StreamsFilterValue;\n\tassetIdentifier?: string;\n\t/** Labelled filter groups; see {@link StreamsEventsListParams.filters}. */\n\tfilters?: StreamsFilterMap;\n};\n\n/** `chain: \"bitcoin\"` (plan 059/061) — Runes events, tailed the same way as\n * the Stacks default. `types` is restricted to {@link RuneEventType} at the\n * type level, matching {@link StreamsEventsBitcoinListParams}.\n * `contractId`/`sender`/`recipient`/`assetIdentifier`/`filters` don't exist\n * on this branch — they're Stacks-only. */\nexport type StreamsEventsStreamBitcoinParams = StreamsEventsStreamCommon & {\n\tchain: \"bitcoin\";\n\ttypes?: readonly RuneEventType[];\n\tnotTypes?: readonly RuneEventType[];\n\t/** A RuneRef: an id (`840000:3`) or a name (`DOG•GO•TO•THE•MOON`). */\n\trune?: string;\n\t/** A mainnet address. */\n\taddress?: string;\n};\n\nexport type StreamsEventsStreamParams =\n\t| StreamsEventsStreamStacksParams\n\t| StreamsEventsStreamBitcoinParams;\n\ntype StreamsEventsSubscribeCommon = {\n\t/** Resume strictly after this cursor; omit to live-tail from the tip. */\n\tfromCursor?: string | null;\n\t/** Abort to unsubscribe (the returned function does the same). */\n\tsignal?: AbortSignal;\n\t/**\n\t * Called on every failure. Transport errors (dropped socket, 5xx, 429, a\n\t * stale connection, a throwing handler) reconnect from the last handled\n\t * cursor with exponential backoff. Errors that a retry cannot fix (401,\n\t * 4xx, a bad signature) end the subscription and reject its `done`.\n\t */\n\tonError?: (err: unknown) => void;\n\t/**\n\t * First reconnect pause in ms (default 1000). Doubles per consecutive\n\t * failure up to 30 s with jitter, resets once a frame arrives, and never\n\t * undercuts a `Retry-After`.\n\t */\n\treconnectDelayMs?: number;\n\t/**\n\t * Reconnect when no frame (pings included) arrives for this long (default\n\t * 60000, three server heartbeats). Catches a half-open socket that never\n\t * errors; set it above your instance's heartbeat interval.\n\t */\n\tstaleAfterMs?: number;\n};\n\n/** `chain: \"stacks\"` (default, omit `chain` entirely). */\nexport type StreamsEventsSubscribeStacksParams =\n\tStreamsEventsSubscribeCommon & {\n\t\tchain?: \"stacks\";\n\t\ttypes?: readonly StreamsEventType[];\n\t\tnotTypes?: readonly StreamsEventType[];\n\t\tcontractId?: StreamsFilterValue;\n\t\tsender?: StreamsFilterValue;\n\t\trecipient?: StreamsFilterValue;\n\t\tassetIdentifier?: string;\n\t\t/** Labelled filter groups; see {@link StreamsEventsListParams.filters}. */\n\t\tfilters?: StreamsFilterMap;\n\t\t/**\n\t\t * Called for each pushed event, in order. The resume cursor advances only\n\t\t * after this resolves, so a handler that throws sees the same event again\n\t\t * on reconnect (at-least-once). Key durable writes by `cursor`.\n\t\t */\n\t\tonEvent: (event: StreamsEvent) => void | Promise<void>;\n\t};\n\n/** `chain: \"bitcoin\"` (plan 059/061) — Runes events pushed live, on their own\n * cursor space. `contractId`/`sender`/`recipient`/`assetIdentifier`/`filters`\n * don't exist on this branch — they're Stacks-only. */\nexport type StreamsEventsSubscribeBitcoinParams =\n\tStreamsEventsSubscribeCommon & {\n\t\tchain: \"bitcoin\";\n\t\ttypes?: readonly RuneEventType[];\n\t\tnotTypes?: readonly RuneEventType[];\n\t\t/** A RuneRef: an id (`840000:3`) or a name (`DOG•GO•TO•THE•MOON`). */\n\t\trune?: string;\n\t\t/** A mainnet address. */\n\t\taddress?: string;\n\t\tonEvent: (event: RuneStreamsEvent) => void | Promise<void>;\n\t};\n\nexport type StreamsEventsSubscribeParams =\n\t| StreamsEventsSubscribeStacksParams\n\t| StreamsEventsSubscribeBitcoinParams;\n\n/**\n * Handle for a live subscription: call it to unsubscribe. `done` resolves\n * after unsubscribe (or the signal aborting) and rejects with the error that\n * ended the loop when a retry could not fix it, so a worker can `await`\n * it instead of polling for silence.\n */\nexport type StreamsSubscription = {\n\t(): void;\n\tdone: Promise<void>;\n};\n\n/**\n * The checkpoint the SDK computes for a batch. Persist `cursor` inside the same\n * transaction as your projection writes, then resume from it via `fromCursor`.\n * It is the position to advance to: `next_cursor` normally, or the last\n * finalized event when `finalizedOnly` is set.\n */\n/**\n * What the loop knows at the end of a page, handed to `onBatch`.\n *\n * `cursor` is the position to commit. The rest answers \"how far along am I,\n * and am I still moving\" — the question every deployed consumer has to expose\n * for a health check.\n *\n * Progress is reported here rather than left to callers because only the loop\n * can get it right: `height` has to survive empty pages (normal at the tip)\n * and has to roll back to `fork_point_height - 1` after a reorg rewind.\n * Deriving it from `cursor` is wrong — `Cursor.atHeight` encodes the foot of a\n * block as `${height - 1}:<sentinel>`, so a rewound cursor parses to a\n * position that was never reached.\n */\nexport type ConsumerBatchContext<TTip = unknown, TReorg = unknown> = {\n\t/** Checkpoint to commit alongside your rows. */\n\tcursor: string | null;\n\t/** Highest canonical block a row was DELIVERED from. `null` before the\n\t * first row of a fresh consume. With a sparse filter this parks at the\n\t * last matching event — it measures event recency, not progress. */\n\theight: number | null;\n\t/** Highest canonical block the sweep has VERIFIED through: an empty page\n\t * is the server confirming nothing matches between the cursor and the\n\t * tip, so a caught-up tail scans to the tip even when `height` is far\n\t * below it. Rolls back with reorg rewinds. */\n\tscannedHeight: number | null;\n\t/** Chain tip as of this page's read. */\n\ttipHeight: number;\n\t/** `tipHeight - scannedHeight`, floored at 0 — the consumer's actual\n\t * backlog. `null` until a position is known. A caught-up consumer on a\n\t * quiet contract reads ~0 here while `tipHeight - height` grows — that\n\t * difference is event age, not lag. */\n\tblocksBehind: number | null;\n\t/**\n\t * The full tip for this page — `StreamsTip` or `IndexTip` depending on the\n\t * surface. Exposed here so a handler never needs the `envelope` parameter,\n\t * which is the only way to reach it today and is also how the worst\n\t * `finalizedOnly` mistake becomes reachable (`return envelope.next_cursor`\n\t * jumps the cursor past events that were filtered out and never delivered).\n\t */\n\ttip: TTip;\n\t/**\n\t * Reorgs reported alongside this page; empty when none. Rollback still\n\t * belongs in `onReorg` — this is for observability inside a batch.\n\t */\n\treorgs: readonly TReorg[];\n};\n\n/** @deprecated Use {@link ConsumerBatchContext} — the Index and Streams loops\n * share one shape now. Kept as an alias so existing annotations compile. */\nexport type StreamsBatchContext = ConsumerBatchContext;\n\n/**\n * The checkpoint for a reorg rollback. Persist `cursor` (the rewind position)\n * inside the same transaction as your rollback so the two commit atomically.\n */\n/** `cursor` is the rewind position the loop resumes from after `onReorg`:\n * the foot of the fork point, or `null` for a fork at genesis. Persist it\n * in the same transaction as the rollback. */\nexport type StreamsReorgContext = { cursor: string | null };\n\nexport type StreamsEventsConsumeParams<\n\tTTx = never,\n\tD extends boolean = false,\n\tF extends StreamsFilterMap = Record<never, never>,\n> = {\n\t/** `chain: \"stacks\"` (default, omit `chain` entirely) — the bitcoin branch\n\t * is {@link StreamsEventsConsumeBitcoinParams}, a separate overload with\n\t * no `filters`/`on`/`decoded` (Stacks-only concepts). */\n\tchain?: \"stacks\";\n\tfromCursor?: string | null;\n\t/**\n\t * Deliver events pre-decoded as the flat, `event_type`-discriminated rows\n\t * Index serves (`IndexEvent`), so Streams consumption reads identically\n\t * to Index consumption — no guard+decode pairs in your handler.\n\t */\n\tdecoded?: D;\n\t/**\n\t * Destination adapter that owns the checkpoint + rollback transaction\n\t * (e.g. `kyselySink` from `@secondlayer/sdk/sinks/kysely`). With a sink:\n\t * the loop resumes from the sink's committed cursor, `onBatch` receives\n\t * `ctx.tx` and must write ONLY through it (rows and cursor commit in one\n\t * transaction), reorg rollback is automatic, and `onBatch`'s return value\n\t * is ignored. Folds (balances) invert in the sink's `onRollback`, not in\n\t * `onReorg`.\n\t */\n\tsink?: ConsumerSink<TTx>;\n\t/** Fires once per page, before `onBatch` and before any early return. */\n\tonProgress?: (ctx: ConsumerBatchContext) => void;\n\tmode?: \"tail\" | \"bounded\";\n\t/**\n\t * Emit only finalized (immutable) events and never surface reorgs. The SDK\n\t * checkpoints at the last finalized event and re-reads the unfinalized tail\n\t * until it settles. Trades finality lag for zero reorg handling; `onReorg` is\n\t * ignored.\n\t */\n\tfinalizedOnly?: boolean;\n\ttypes?: readonly StreamsEventType[];\n\tnotTypes?: readonly StreamsEventType[];\n\tcontractId?: StreamsFilterValue;\n\tsender?: StreamsFilterValue;\n\trecipient?: StreamsFilterValue;\n\tassetIdentifier?: string;\n\t/**\n\t * Labelled filter groups. The groups OR together in ONE server-side scan,\n\t * so two unrelated concerns share one page, one cursor, and one checkpoint\n\t * instead of two consume loops. Pair with `on` to handle each label.\n\t */\n\tfilters?: F;\n\t/**\n\t * One handler per label in `filters`. Every label must be handled, so\n\t * adding a label is a compile error until its handler exists.\n\t *\n\t * A label's declared `types` narrows its handler's events, so `payload` is\n\t * typed without an `event_type` guard. Labels are dispatched in declaration\n\t * order: a label's own events stay in cursor order, but events of different\n\t * labels do not interleave within a page — add `onBatch` when you need\n\t * strict global order across labels.\n\t */\n\ton?: {\n\t\t[K in keyof F]: (\n\t\t\tevents: StreamsEventForFilter<F[K], D>[],\n\t\t\tctx: StreamsBatchContext & WithSinkTx<TTx>,\n\t\t) => void | Promise<void>;\n\t};\n\tbatchSize?: number;\n\t/**\n\t * Apply a page of canonical events. Persist `ctx.cursor` in the same\n\t * transaction as your writes. Returning a cursor overrides `ctx.cursor` as\n\t * the resume point (advanced manual control); returning nothing uses it.\n\t *\n\t * Optional only when `on` handles the page instead; a consume call with\n\t * neither throws.\n\t */\n\tonBatch?: (\n\t\tevents: D extends true ? IndexEvent[] : StreamsEvent[],\n\t\t/**\n\t\t * @deprecated Read `ctx.tip` / `ctx.reorgs` instead. The envelope is\n\t\t * also how the worst `finalizedOnly` mistake stays reachable —\n\t\t * returning `envelope.next_cursor` jumps the cursor past unfinalized\n\t\t * events that were filtered out and never delivered. Removed in the\n\t\t * next major.\n\t\t */\n\t\tenvelope: StreamsEventsEnvelope,\n\t\tctx: StreamsBatchContext & WithSinkTx<TTx>,\n\t) =>\n\t\t| void\n\t\t| string\n\t\t| null\n\t\t| undefined\n\t\t| Promise<void>\n\t\t| Promise<string | null | undefined>;\n\t/**\n\t * Roll your projection back to `reorg.fork_point_height`, persisting\n\t * `ctx.cursor` in the same transaction. Called once per *new* reorg at or\n\t * below the checkpoint (deduped in-memory, fork-ascending) before the SDK\n\t * rewinds and re-reads the now-canonical events. A reorg whose fork sits\n\t * above the checkpoint is not a rollback (nothing past it was written) and\n\t * is skipped. Omit it to ignore reorgs (events stay canonical, but stale\n\t * rows from an orphaned fork are left in place).\n\t *\n\t * With `onReorg` or a `sink` attached, every empty page also polls\n\t * `reorgs.list` (one extra request per idle poll) so a fork that lands\n\t * while the consumer idles at the tip is rolled back too.\n\t */\n\tonReorg?: (\n\t\treorg: StreamsReorg,\n\t\tctx: StreamsReorgContext,\n\t) => Promise<void> | void;\n\t/** Deepest rewind one reorg may make below the checkpoint before the loop\n\t * refuses with `ValidationError`. Default 1000 blocks. The fork point is\n\t * server supplied and drives a delete on every declared table, so raise\n\t * this only for a source you trust. */\n\tmaxRollbackDepth?: number;\n\t/** Page-fetch retries after the first failure (429/5xx/network only —\n\t * 4xx and handler throws always propagate). Default 3; `0` disables. */\n\tretryCount?: number;\n\t/** Base retry delay in ms; the n-th retry waits `retryDelay * n`. A server\n\t * `Retry-After` overrides it. Default 1000. */\n\tretryDelay?: number;\n\t/** Void observer, called before each retry sleep (metrics/logging). */\n\tonError?: (\n\t\terr: unknown,\n\t\tctx: { attempt: number; retriesLeft: number; delayMs: number },\n\t) => void;\n\temptyBackoffMs?: number;\n\tmaxPages?: number;\n\tmaxEmptyPolls?: number;\n\tsignal?: AbortSignal;\n\t/**\n\t * Cuts the empty-poll backoff short: on an empty page, the loop races\n\t * `emptyBackoffMs` against this promise instead of sleeping the full\n\t * amount. Pass a function that resolves once when new data MIGHT be\n\t * available (e.g. a Postgres NOTIFY listener) — it is called fresh on\n\t * every empty page, never awaited more than once concurrently per page.\n\t * The backoff timer still runs underneath, so a wake source that never\n\t * resolves (or a `wake` this call omits) degrades to the same polling\n\t * behavior as before.\n\t */\n\twake?: () => Promise<void>;\n};\n\n/**\n * `chain: \"bitcoin\"` (plan 059/061) — the checkpointed sweep over Runes\n * events. A separate, simpler type from {@link StreamsEventsConsumeParams}\n * rather than a widened union member: `filters`/`on`/`decoded` are Stacks-only\n * concepts (labelled OR-groups and Index-shaped projection have no Runes\n * equivalent yet), so `onBatch` is the only way in and is required. Reorg\n * rewind still works the same way (bitcoin reorgs carry the same\n * `fork_point_height` + `new_canonical_tip` shape as Stacks ones).\n */\nexport type StreamsEventsConsumeBitcoinParams<TTx = never> = {\n\tchain: \"bitcoin\";\n\tfromCursor?: string | null;\n\tsink?: ConsumerSink<TTx>;\n\tonProgress?: (ctx: ConsumerBatchContext) => void;\n\tmode?: \"tail\" | \"bounded\";\n\tfinalizedOnly?: boolean;\n\ttypes?: readonly RuneEventType[];\n\tnotTypes?: readonly RuneEventType[];\n\t/** A RuneRef: an id (`840000:3`) or a name (`DOG•GO•TO•THE•MOON`). */\n\trune?: string;\n\t/** A mainnet address. */\n\taddress?: string;\n\tbatchSize?: number;\n\tonBatch: (\n\t\tevents: RuneStreamsEvent[],\n\t\tenvelope: StreamsEventsEnvelope<RuneStreamsEvent, StreamsBitcoinTip>,\n\t\tctx: StreamsBatchContext & WithSinkTx<TTx>,\n\t) =>\n\t\t| void\n\t\t| string\n\t\t| null\n\t\t| undefined\n\t\t| Promise<void>\n\t\t| Promise<string | null | undefined>;\n\tonReorg?: (\n\t\treorg: StreamsReorg,\n\t\tctx: StreamsReorgContext,\n\t) => Promise<void> | void;\n\tmaxRollbackDepth?: number;\n\tretryCount?: number;\n\tretryDelay?: number;\n\tonError?: (\n\t\terr: unknown,\n\t\tctx: { attempt: number; retriesLeft: number; delayMs: number },\n\t) => void;\n\temptyBackoffMs?: number;\n\tmaxPages?: number;\n\tmaxEmptyPolls?: number;\n\tsignal?: AbortSignal;\n\twake?: () => Promise<void>;\n};\n\n/**\n * One yielded page from {@link StreamsClient.consume} — the\n * `GET /v1/streams/events` envelope verbatim, with `next_cursor` renamed to\n * `cursor` (the checkpoint to persist and resume from).\n */\nexport type StreamsBatch<TEvent = StreamsEvent, TTip = StreamsTip> = {\n\t/** Canonical events of this page, in cursor order. */\n\tevents: TEvent[];\n\t/** Checkpoint after this page — pass back as `consume({ cursor })` to resume. */\n\tcursor: string | null;\n\ttip: TTip;\n\t/** Chain reorgs reported alongside this page; empty when none. */\n\treorgs: StreamsReorg[];\n};\n\ntype StreamsConsumeCommon = {\n\t/** Resume strictly after this cursor; omit to start from the oldest seekable page. */\n\tcursor?: string | null;\n\t/** Events per page (the `limit` query param). Default 100. */\n\tbatchSize?: number;\n\t/** Poll interval while caught up at the tip, in ms. Default 2000. */\n\tintervalMs?: number;\n\t/** Abort to end the iteration. */\n\tsignal?: AbortSignal;\n};\n\n/** `chain: \"stacks\"` (default, omit `chain` entirely). */\nexport type StreamsConsumeStacksParams = StreamsConsumeCommon & {\n\tchain?: \"stacks\";\n\ttypes?: readonly StreamsEventType[];\n\tnotTypes?: readonly StreamsEventType[];\n\tcontractId?: StreamsFilterValue;\n\tsender?: StreamsFilterValue;\n\trecipient?: StreamsFilterValue;\n\tassetIdentifier?: string;\n\t/** Labelled OR-groups — same semantics as `events.consume`; each returned\n\t * event echoes the labels it matched. */\n\tfilters?: StreamsFilterMap;\n};\n\n/** `chain: \"bitcoin\"` (plan 059/061) — Runes batches, own cursor space.\n * `contractId`/`sender`/`recipient`/`assetIdentifier`/`filters` don't exist\n * on this branch — they're Stacks-only. */\nexport type StreamsConsumeBitcoinParams = StreamsConsumeCommon & {\n\tchain: \"bitcoin\";\n\ttypes?: readonly RuneEventType[];\n\tnotTypes?: readonly RuneEventType[];\n\t/** A RuneRef: an id (`840000:3`) or a name (`DOG•GO•TO•THE•MOON`). */\n\trune?: string;\n\t/** A mainnet address. */\n\taddress?: string;\n};\n\nexport type StreamsConsumeParams =\n\t| StreamsConsumeStacksParams\n\t| StreamsConsumeBitcoinParams;\n\nexport type StreamsEventsConsumeResult = {\n\tcursor: string | null;\n\tpages: number;\n\temptyPolls: number;\n};\n\nexport type StreamsEventsReplayParams = {\n\t/** Start point: `\"genesis\"` (default) or a `<block>:<index>` cursor. */\n\tfrom?: \"genesis\" | string;\n\t/**\n\t * Called once per finalized dump file, in block order, before live tailing.\n\t * Process the parquet with your own tooling (e.g. DuckDB) — the SDK does not\n\t * decode parquet. Use `client.dumps.download(file)` to fetch + verify bytes.\n\t *\n\t * Delivery is file-granular and at-least-once: a file whose range straddles\n\t * `from` is handed over whole. `ctx.from` is that cursor (`null` from\n\t * genesis); skip rows at or below it, or key rows by `cursor` so a re-run\n\t * is an idempotent no-op. Files ending at or below `from` are not handed\n\t * over at all.\n\t */\n\tonDumpFile: (\n\t\tfile: StreamsDumpFile,\n\t\tctx: { from: string | null },\n\t) => Promise<void> | void;\n\t/** Called per live page after the dump phase, like `consume`. */\n\tonBatch: (\n\t\tevents: StreamsEvent[],\n\t\tenvelope: StreamsEventsEnvelope,\n\t) => Promise<string | null | undefined> | string | null | undefined;\n\t/**\n\t * Called when the live-tail phase (after the dump backfill) crosses a reorg,\n\t * before the cursor rewinds and re-reads the now-canonical events — same\n\t * contract as `consume`. The dump-backfill phase is finalized and never\n\t * reorgs; omit this to leave stale rows from an orphaned fork in place.\n\t */\n\tonReorg?: (\n\t\treorg: StreamsReorg,\n\t\tctx: StreamsReorgContext,\n\t) => Promise<void> | void;\n\tmode?: \"tail\" | \"bounded\";\n\tbatchSize?: number;\n\temptyBackoffMs?: number;\n\tmaxPages?: number;\n\tmaxEmptyPolls?: number;\n\tsignal?: AbortSignal;\n\t/** Narrow the LIVE TAIL after the dump phase. The dump files themselves are\n\t * always all-type (block-partitioned parquet) — filter those in your own\n\t * tooling while processing each file. */\n\ttypes?: readonly StreamsEventType[];\n\tnotTypes?: readonly StreamsEventType[];\n\t/** Labelled OR-groups for the live tail, like `consume`. */\n\tfilters?: StreamsFilterMap;\n};\n\nexport type FetchLike = (\n\tinput: string | URL | Request,\n\tinit?: RequestInit,\n) => Promise<Response>;\n\n/** One bulk parquet file in the dumps manifest. `path` is the object key under\n * the dumps base URL. */\nexport type StreamsDumpFile = {\n\tpath: string;\n\tfrom_block: number;\n\tto_block: number;\n\tmin_cursor: string | null;\n\tmax_cursor: string | null;\n\trow_count: number;\n\tbyte_size: number;\n\tsha256: string;\n\tschema_version: number;\n\tcreated_at: string;\n};\n\nexport type StreamsDumpsManifest = {\n\tdataset: string;\n\tnetwork: string;\n\tversion: string;\n\tschema_version: number;\n\tgenerated_at: string;\n\tproducer_version: string;\n\tfinality_lag_blocks: number;\n\t/** Cursor at the end of the finalized bulk coverage — hand to live tailing. */\n\tlatest_finalized_cursor: string | null;\n\tcoverage: { from_block: number; to_block: number };\n\tfiles: StreamsDumpFile[];\n\t/** ed25519 signature over the manifest's canonical bytes. Absent on legacy\n\t * unsigned manifests. Verified by `list()` when `verifyDumpsManifest` is on. */\n\tsignature?: string;\n\t/** Short id of the signing public key. */\n\tkey_id?: string;\n};\n\nexport type StreamsDumps = {\n\t/** Fetch and parse the latest dumps manifest. */\n\tlist(): Promise<StreamsDumpsManifest>;\n\t/** Absolute URL for a manifest file. */\n\tfileUrl(file: StreamsDumpFile): string;\n\t/** Download a parquet file and verify its sha256 against the manifest. */\n\tdownload(file: StreamsDumpFile): Promise<Uint8Array>;\n};\n\nexport type StreamsClient = {\n\t/**\n\t * Follow Streams as an async iterator of page batches.\n\t *\n\t * Yields one {@link StreamsBatch} per `GET /v1/streams/events` page — the\n\t * existing envelope (`events`, `next_cursor` → `cursor`, `tip`, `reorgs`)\n\t * with zero extra API calls. Batches are chosen over per-block groupings\n\t * because the envelope is page-keyed, so every yield is exactly one fetch.\n\t * Empty pages are skipped; at the tip the iterator re-polls every\n\t * `intervalMs` (default 2000) until aborted via `signal`.\n\t *\n\t * Reorgs are surfaced on the batch (`batch.reorgs`) but the cursor is not\n\t * rewound automatically — use `events.consume` with `onReorg` for managed\n\t * rollback semantics.\n\t */\n\t/** `chain: \"bitcoin\"` — batches carry Runes rows only, on the bitcoin tip\n\t * shape (plan 059/061). */\n\tconsume(\n\t\tparams: StreamsConsumeBitcoinParams,\n\t): AsyncIterableIterator<StreamsBatch<RuneStreamsEvent, StreamsBitcoinTip>>;\n\t/** Narrowing overload: a literal `types` array narrows every batch's\n\t * event union to exactly those members. */\n\tconsume<const T extends readonly StreamsEventType[]>(\n\t\tparams: StreamsConsumeStacksParams & { types: T },\n\t): AsyncIterableIterator<StreamsBatch<StreamsEventOfTypes<T>>>;\n\tconsume(params?: StreamsConsumeParams): AsyncIterableIterator<StreamsBatch>;\n\tevents: {\n\t\t/** `clock: \"vm\"` pages carry vm rows only (a parallel vocabulary,\n\t\t * `event_index` = `ordinal`). Never `StreamsEvent`. Stacks-only —\n\t\t * `chain: \"bitcoin\"` has no `clock`. */\n\t\tlist(\n\t\t\tparams: StreamsEventsStacksListParams & { clock: \"vm\" },\n\t\t): Promise<StreamsEventsEnvelope<VmStreamsEvent>>;\n\t\t/** Narrowing overload, matching `consume`. Classic clock only —\n\t\t * `clock: \"vm\"` is overload 1, and a general `StreamsEventsListParams`\n\t\t * variable (clock unresolved) is the wire-union fallback. */\n\t\tlist<const T extends readonly StreamsEventType[]>(\n\t\t\tparams: Omit<\n\t\t\t\tStreamsEventsStacksListParams,\n\t\t\t\t\"clock\" | \"types\" | \"notTypes\"\n\t\t\t> & {\n\t\t\t\ttypes: T;\n\t\t\t\tnotTypes?: readonly StreamsEventType[];\n\t\t\t\tclock?: \"classic\";\n\t\t\t},\n\t\t): Promise<StreamsEventsEnvelope<StreamsEventOfTypes<T>>>;\n\t\tlist(\n\t\t\tparams?: Omit<\n\t\t\t\tStreamsEventsStacksListParams,\n\t\t\t\t\"clock\" | \"types\" | \"notTypes\"\n\t\t\t> & {\n\t\t\t\ttypes?: readonly StreamsEventType[];\n\t\t\t\tnotTypes?: readonly StreamsEventType[];\n\t\t\t\tclock?: \"classic\";\n\t\t\t},\n\t\t): Promise<StreamsEventsEnvelope>;\n\t\t/** `chain: \"bitcoin\"` pages carry Runes rows only, on the bitcoin tip\n\t\t * shape (plan 059). */\n\t\tlist(\n\t\t\tparams: StreamsEventsBitcoinListParams,\n\t\t): Promise<StreamsEventsEnvelope<RuneStreamsEvent, StreamsBitcoinTip>>;\n\t\t/** Unresolved `chain`/`clock` on a general params variable: the wire union. */\n\t\tlist(\n\t\t\tparams: StreamsEventsListParams,\n\t\t): Promise<StreamsEventsEnvelope<StreamsWireEvent>>;\n\t\t/** `chain: \"bitcoin\"` — Runes events for one transaction. */\n\t\tbyTxId(\n\t\t\ttxId: string,\n\t\t\topts: { chain: \"bitcoin\" },\n\t\t): Promise<StreamsEventsListEnvelope<RuneStreamsEvent, StreamsBitcoinTip>>;\n\t\tbyTxId(txId: string): Promise<StreamsEventsListEnvelope>;\n\t\t/**\n\t\t * Pull pages from Streams and call `onBatch` after each page.\n\t\t *\n\t\t * Use `consume` for indexers and ETL jobs that own checkpointing. Return\n\t\t * the checkpoint cursor from `onBatch`. Default `mode: \"tail\"` keeps\n\t\t * polling when caught up; `mode: \"bounded\"` exits on the first empty page.\n\t\t * The consumer also exits when `maxPages`, `maxEmptyPolls`, or `signal`\n\t\t * stops it.\n\t\t */\n\t\t/** `chain: \"bitcoin\"` — the checkpointed sweep over Runes events; see\n\t\t * {@link StreamsEventsConsumeBitcoinParams}. */\n\t\tconsume<TTx = never>(\n\t\t\tparams: StreamsEventsConsumeBitcoinParams<TTx> & {\n\t\t\t\tsink?: ConsumerSink<TTx>;\n\t\t\t},\n\t\t): Promise<StreamsEventsConsumeResult>;\n\t\tconsume<\n\t\t\tconst F extends StreamsFilterMap = Record<never, never>,\n\t\t\tTTx = never,\n\t\t\tD extends boolean = false,\n\t\t>(\n\t\t\t// The redundant `sink` member gives TS a DIRECT inference site for\n\t\t\t// TTx — inference does not reliably traverse the params alias.\n\t\t\tparams: StreamsEventsConsumeParams<TTx, D, F> & {\n\t\t\t\tsink?: ConsumerSink<TTx>;\n\t\t\t},\n\t\t): Promise<StreamsEventsConsumeResult>;\n\t\t/**\n\t\t * Backfill from bulk dumps, then continue live from the dump→live seam in\n\t\t * one call. Iterates finalized dump files (via `onDumpFile`) in block\n\t\t * order, then tails live from the manifest's `latest_finalized_cursor`\n\t\t * (exclusive input → no gap or duplicate at the seam). Requires\n\t\t * `dumpsBaseUrl`.\n\t\t */\n\t\treplay(\n\t\t\tparams: StreamsEventsReplayParams,\n\t\t): Promise<StreamsEventsConsumeResult>;\n\t\t/**\n\t\t * Follow Streams as an async iterator.\n\t\t *\n\t\t * Use `stream` for live processors and watch-style apps. It tails\n\t\t * indefinitely by default and stops when its `AbortSignal`, `maxPages`, or\n\t\t * `maxEmptyPolls` stops it.\n\t\t */\n\t\t/** `chain: \"bitcoin\"` — Runes events only (plan 059/061). */\n\t\tstream(\n\t\t\tparams: StreamsEventsStreamBitcoinParams,\n\t\t): AsyncIterable<RuneStreamsEvent>;\n\t\t/** Narrowing overload, matching `consume`. */\n\t\tstream<const T extends readonly StreamsEventType[]>(\n\t\t\tparams: StreamsEventsStreamStacksParams & { types: T },\n\t\t): AsyncIterable<StreamsEventOfTypes<T>>;\n\t\tstream(params?: StreamsEventsStreamParams): AsyncIterable<StreamsEvent>;\n\t\t/**\n\t\t * Subscribe to the real-time SSE push surface. Calls `onEvent` for each new\n\t\t * canonical event as the server pushes it (chain cadence, not poll-bounded),\n\t\t * and verifies each frame's inline ed25519 signature when the client was\n\t\t * created with `verify`. Returns an unsubscribe function whose `done`\n\t\t * settles when the loop ends. Not reorg-aware: an event delivered then\n\t\t * orphaned is never retracted. Durable writers use `consume()`.\n\t\t */\n\t\t/** `chain: \"bitcoin\"` — `onEvent` receives Runes rows (plan 059/061). */\n\t\tsubscribe(params: StreamsEventsSubscribeBitcoinParams): StreamsSubscription;\n\t\tsubscribe(params: StreamsEventsSubscribeStacksParams): StreamsSubscription;\n\t};\n\tblocks: {\n\t\tevents(\n\t\t\theightOrHash: number | string,\n\t\t\topts: { chain: \"bitcoin\" },\n\t\t): Promise<StreamsEventsListEnvelope<RuneStreamsEvent, StreamsBitcoinTip>>;\n\t\tevents(heightOrHash: number | string): Promise<StreamsEventsListEnvelope>;\n\t};\n\treorgs: {\n\t\tlist(\n\t\t\tparams: StreamsReorgsListParams & { chain: \"bitcoin\" },\n\t\t): Promise<StreamsReorgsListEnvelope>;\n\t\tlist(params: StreamsReorgsListParams): Promise<StreamsReorgsListEnvelope>;\n\t};\n\t/** Bulk parquet dumps. Requires `dumpsBaseUrl` on the client. */\n\tdumps: StreamsDumps;\n\tcanonical(\n\t\theight: number,\n\t\topts: { chain: \"bitcoin\" },\n\t): Promise<StreamsBitcoinCanonicalBlock>;\n\tcanonical(height: number): Promise<StreamsCanonicalBlock>;\n\ttip(opts: { chain: \"bitcoin\" }): Promise<StreamsBitcoinTip>;\n\ttip(): Promise<StreamsTip>;\n};\n",
|
|
30
30
|
"// Canonical home is @secondlayer/shared/streams-rows (the indexer's decoders\n// use the same helpers); re-exported here so the public SDK surface is\n// unchanged.\nexport {\n\tdecodeClarityValue,\n\ttoJsonSafe,\n} from \"@secondlayer/shared/streams-rows\";\n"
|
|
31
31
|
],
|
|
32
|
-
"mappings": "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",
|
|
33
|
-
"debugId": "
|
|
32
|
+
"mappings": "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",
|
|
33
|
+
"debugId": "5CEBD3F2D96129FA64756E2164756E21",
|
|
34
34
|
"names": []
|
|
35
35
|
}
|