@secondlayer/sdk 10.3.0 → 10.3.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.d.ts +3 -2
- package/dist/index.js +2 -2
- package/dist/index.js.map +3 -3
- package/dist/subgraphs/index.d.ts +2 -1
- package/dist/subgraphs/index.js +2 -2
- package/dist/subgraphs/index.js.map +3 -3
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -277,6 +277,7 @@ type ArchiveVerifyResult = {
|
|
|
277
277
|
reason?: string;
|
|
278
278
|
};
|
|
279
279
|
import { RangeDigest } from "@secondlayer/shared/archive/range-digest";
|
|
280
|
+
import { ArchiveStatus } from "@secondlayer/shared/archive/status";
|
|
280
281
|
type ArchiveDataset = "blocks" | "transactions" | "events";
|
|
281
282
|
type ArchiveFlow = "bootstrap" | "repair";
|
|
282
283
|
type ArchivePartition = {
|
|
@@ -346,7 +347,7 @@ type ArchiveLoadOptions = {
|
|
|
346
347
|
type ArchiveClient = {
|
|
347
348
|
latest(against?: string, opts?: ArchiveLoadOptions): Promise<LoadedArchive>;
|
|
348
349
|
load(against: string, opts?: ArchiveLoadOptions): Promise<LoadedArchive>;
|
|
349
|
-
status(): Promise<
|
|
350
|
+
status(): Promise<ArchiveStatus>;
|
|
350
351
|
partitions(ref: LoadedArchive, filter?: {
|
|
351
352
|
dataset?: ArchiveDataset;
|
|
352
353
|
fromBlock?: number;
|
|
@@ -3135,4 +3136,4 @@ declare function verifySecondlayerSignature(rawBody: string, headers: WebhookHea
|
|
|
3135
3136
|
declare function decodeChainWebhook(rawBody: string): ChainWebhookDelivery;
|
|
3136
3137
|
import { RewardSet as RewardSet2 } from "@secondlayer/shared/node/consensus";
|
|
3137
3138
|
import { decodeClarityValue, toJsonSafe } from "@secondlayer/shared/streams-rows";
|
|
3138
|
-
export { verifyWebhookSignature, verifyTransactionProof, verify as verifyStandardWebhooksHeaders, verifySecondlayerSignature, trigger, toJsonSafe, shutdownSignal, resolveBaseUrl, resolveApiKey, resolveAccountKey, parseRetryAfter, isStxTransfer, isStxMint, isStxLock, isStxBurn, isPrint, isNftTransfer, isNftMint, isNftBurn, isFtTransfer, isFtMint, isFtBurn, getSubgraph, fetchRewardSet, decodeStxTransfer, decodeStxMint, decodeStxLock, decodeStxBurn, decodePrint, decodeNftTransfer, decodeNftMint, decodeNftBurn, decodeFtTransfer, decodeFtMint, decodeFtBurn, decodeClarityValue, decodeChainWebhook, decode, createStreamsClient, createArchiveClient, contextField, consumerHealth, consumeIndexFeed, WithSinkTx, WebhookHeaderInput, WalkOptions, ValidationError, UpdateSubscriptionRequest2 as UpdateSubscriptionRequest, TransactionsWalkParams, TransactionsListParams, TransactionsEnvelope, TransactionProofVerifyResult, TransactionProof, TransactionEnvelope, Subscriptions, SubscriptionSummary2 as SubscriptionSummary, SubscriptionStatus, SubscriptionRuntime, SubscriptionKind, SubscriptionFormat, SubscriptionDetail2 as SubscriptionDetail, Subgraphs, SubgraphSpecOptions3 as SubgraphSpecOptions, SubgraphSpecFormat2 as SubgraphSpecFormat, SubgraphOperationStatus, SubgraphAgentSchema3 as SubgraphAgentSchema, StreamsTip, StreamsSubscription, StreamsSignatureError, StreamsServerError, StreamsReorgsListParams, StreamsReorgsListEnvelope, StreamsReorgContext, StreamsReorg, StreamsEventsSubscribeParams, StreamsEventsStreamParams, StreamsEventsListParams, StreamsEventsListEnvelope, StreamsEventsEnvelope, StreamsEventsConsumeResult, StreamsEventsConsumeParams, StreamsEventType, StreamsEventPayload, StreamsEvent, StreamsDumpsManifest, StreamsDumps, StreamsDumpFile, StreamsConsumeParams, StreamsClient, StreamsCanonicalBlock, StreamsBatchContext, StreamsBatch, StandardWebhooksHeaders2 as StandardWebhooksHeaders, StackingWalkParams, StackingListParams, StackingEnvelope, SinkTx, SecondLayerOptions, SecondLayerErrorOptions, SecondLayerError, SecondLayerArchive, SecondLayer, SbtcWithdrawalsWalkParams, SbtcWithdrawalsListParams, SbtcWithdrawalsEnvelope, SbtcWithdrawalSweptConfirmedEvent, SbtcWithdrawalStatus, SbtcWithdrawalEvent, SbtcWithdrawalEnvelope, SbtcSummaryEnvelope, SbtcResource, SbtcEventsWalkParams, SbtcEventsListParams, SbtcEventsEnvelope, SbtcEventsConsumeParams, SbtcEventTopic2 as SbtcEventTopic, SbtcDepositsWalkParams, SbtcDepositsListParams, SbtcDepositsEnvelope, SbtcDepositsConsumeParams, SbtcDepositEvent, SbtcDepositEnvelope, RotateSecretResponse2 as RotateSecretResponse, RewardSet2 as RewardSet, RequestOptions, ReplayResult2 as ReplayResult, RateLimitError, PublicStatus2 as PublicStatus, PrintSchemaResponse, PoxResource, PoxCyclesWalkParams, PoxCyclesListParams, PoxCyclesEnvelope, PoxCycleEnvelope, Pox5Resource, Pox5EventsWalkParams, Pox5EventsListParams, Pox5EventsEnvelope, NftTransfersWalkParams, NftTransfersResource, NftTransfersListParams, NftTransfersEnvelope, NftTransferPayload2 as NftTransferPayload, NftTransferEvent, NftTransfer, MempoolWalkParams, MempoolTransactionEnvelope, MempoolListParams, MempoolEnvelope, LoadedArchive, LOCAL_API_URL, InsufficientArchiveCreditsError, InstanceStatus, InstanceState, InstanceIssue, InstanceDiagnosis3 as InstanceDiagnosis, InstanceClient, IndexTransaction, IndexTip, IndexStxTransfer, IndexStxMint, IndexStxLock, IndexStxBurn, IndexStackingAction, IndexSbtcWithdrawalPhase, IndexSbtcWithdrawalDetail, IndexSbtcWithdrawal, IndexSbtcSummary, IndexSbtcEvent, IndexSbtcDepositDetail, IndexSbtcDeposit, IndexReorg, IndexPrint, IndexPoxFunctionCount, IndexPoxCycle, IndexPox5EventTopic, IndexPox5Event, IndexPostCondition, IndexNftTransfer, IndexNftMint, IndexNftBurn, IndexMempoolTransaction, IndexFtTransfer, IndexFtMint, IndexFtBurn, IndexFeedItem, IndexFeedFetcher, IndexFeedEnvelope, IndexEventsResource, IndexEventTypeFilters, IndexEventType, IndexEventOf, IndexEventFields, IndexEvent, IndexDiscovery, IndexContractCall, IndexConsumeOptions, IndexCanonicalBlock, IndexBlock, IndexAlwaysFields, Index, INSTANCE_TOKEN_ENV, INDEX_MAX_PAGE_SIZE, FtTransfersWalkParams, FtTransfersResource, FtTransfersListParams, FtTransfersEnvelope, FtTransferPayload2 as FtTransferPayload, FtTransferEvent, FtTransfer, FetchLike2 as FetchLike, EventsWalkParams, EventsListParams, EventsEnvelope, EventsConsumeParams, DeliveryRow2 as DeliveryRow, DecodedStxTransferPayload, DecodedStxTransfer, DecodedStxMintPayload, DecodedStxMint, DecodedStxLockPayload, DecodedStxLock, DecodedStxBurnPayload, DecodedStxBurn, DecodedPrintValue, DecodedPrintPayload, DecodedPrint, DecodedNftTransferPayload, DecodedNftTransfer, DecodedNftMintPayload, DecodedNftMint, DecodedNftBurnPayload, DecodedNftBurn, DecodedFtTransferPayload, DecodedFtTransfer, DecodedFtMintPayload, DecodedFtMint, DecodedFtBurnPayload, DecodedFtBurn, DecodedEventRow, DecodedEventColumns, DeadRow2 as DeadRow, DEFAULT_REQUEST_TIMEOUT_MS, Cursor, CreateSubscriptionResponse2 as CreateSubscriptionResponse, CreateSubscriptionRequest2 as CreateSubscriptionRequest, CreateArchiveClientOptions, ContractsListParams, ContractsEnvelope, Contracts, ContractSummary, ContractConformance, ContractCallsWalkParams, ContractCallsListParams, ContractCallsEnvelope, ContractCallsConsumeParams, ContextSnapshot, ContextFieldError, ContextField, ContextAccount, ConsumerSink, ConsumerHealth, ConsumerBatchContext, ChainWebhookEnvelope, ChainWebhookDelivery2 as ChainWebhookDelivery, ChainTxLevelEvent, ChainTriggerType, ChainTrigger, ChainTestDelivery, ChainStxTransferData, ChainStxMintData, ChainStxLockData, ChainStxBurnData, ChainReorgRollbackEnvelope, ChainReorgRollbackDelivery, ChainReorgOrphanedEntry, ChainPrintEventData, ChainNftTransferData, ChainNftMintData, ChainNftBurnData, ChainFtTransferData, ChainFtMintData, ChainFtBurnData, ChainEventEnvelope, ChainApplyEnvelopeOf, ChainApplyEnvelope, ChainApplyDeliveryOf, CanonicalWalkParams, CanonicalListParams, CanonicalEnvelope, BlocksWalkParams, BlocksListParams, BlocksEnvelope, BlockEnvelope, AuthError, ArchiveVerifyResult, ArchiveVerifyRangeStatus, ArchiveVerifyInput, ArchiveSignatureError, ArchiveQuote, ArchivePartition, ArchiveManifest, ArchiveLoadOptions, ArchiveGateNotConfiguredError, ArchiveFlow, ArchiveFetchResult, ArchiveFetchItem, ArchiveDataset, ArchiveCreditsBalance, ArchiveClient, ArchiveAuthError, ApiError, ActiveSubgraphOperation, ACCOUNT_KEY_ENV };
|
|
3139
|
+
export { verifyWebhookSignature, verifyTransactionProof, verify as verifyStandardWebhooksHeaders, verifySecondlayerSignature, trigger, toJsonSafe, shutdownSignal, resolveBaseUrl, resolveApiKey, resolveAccountKey, parseRetryAfter, isStxTransfer, isStxMint, isStxLock, isStxBurn, isPrint, isNftTransfer, isNftMint, isNftBurn, isFtTransfer, isFtMint, isFtBurn, getSubgraph, fetchRewardSet, decodeStxTransfer, decodeStxMint, decodeStxLock, decodeStxBurn, decodePrint, decodeNftTransfer, decodeNftMint, decodeNftBurn, decodeFtTransfer, decodeFtMint, decodeFtBurn, decodeClarityValue, decodeChainWebhook, decode, createStreamsClient, createArchiveClient, contextField, consumerHealth, consumeIndexFeed, WithSinkTx, WebhookHeaderInput, WalkOptions, ValidationError, UpdateSubscriptionRequest2 as UpdateSubscriptionRequest, TransactionsWalkParams, TransactionsListParams, TransactionsEnvelope, TransactionProofVerifyResult, TransactionProof, TransactionEnvelope, Subscriptions, SubscriptionSummary2 as SubscriptionSummary, SubscriptionStatus, SubscriptionRuntime, SubscriptionKind, SubscriptionFormat, SubscriptionDetail2 as SubscriptionDetail, Subgraphs, SubgraphSpecOptions3 as SubgraphSpecOptions, SubgraphSpecFormat2 as SubgraphSpecFormat, SubgraphOperationStatus, SubgraphAgentSchema3 as SubgraphAgentSchema, StreamsTip, StreamsSubscription, StreamsSignatureError, StreamsServerError, StreamsReorgsListParams, StreamsReorgsListEnvelope, StreamsReorgContext, StreamsReorg, StreamsEventsSubscribeParams, StreamsEventsStreamParams, StreamsEventsListParams, StreamsEventsListEnvelope, StreamsEventsEnvelope, StreamsEventsConsumeResult, StreamsEventsConsumeParams, StreamsEventType, StreamsEventPayload, StreamsEvent, StreamsDumpsManifest, StreamsDumps, StreamsDumpFile, StreamsConsumeParams, StreamsClient, StreamsCanonicalBlock, StreamsBatchContext, StreamsBatch, StandardWebhooksHeaders2 as StandardWebhooksHeaders, StackingWalkParams, StackingListParams, StackingEnvelope, SinkTx, SecondLayerOptions, SecondLayerErrorOptions, SecondLayerError, SecondLayerArchive, SecondLayer, SbtcWithdrawalsWalkParams, SbtcWithdrawalsListParams, SbtcWithdrawalsEnvelope, SbtcWithdrawalSweptConfirmedEvent, SbtcWithdrawalStatus, SbtcWithdrawalEvent, SbtcWithdrawalEnvelope, SbtcSummaryEnvelope, SbtcResource, SbtcEventsWalkParams, SbtcEventsListParams, SbtcEventsEnvelope, SbtcEventsConsumeParams, SbtcEventTopic2 as SbtcEventTopic, SbtcDepositsWalkParams, SbtcDepositsListParams, SbtcDepositsEnvelope, SbtcDepositsConsumeParams, SbtcDepositEvent, SbtcDepositEnvelope, RotateSecretResponse2 as RotateSecretResponse, RewardSet2 as RewardSet, RequestOptions, ReplayResult2 as ReplayResult, RateLimitError, PublicStatus2 as PublicStatus, PrintSchemaResponse, PoxResource, PoxCyclesWalkParams, PoxCyclesListParams, PoxCyclesEnvelope, PoxCycleEnvelope, Pox5Resource, Pox5EventsWalkParams, Pox5EventsListParams, Pox5EventsEnvelope, NftTransfersWalkParams, NftTransfersResource, NftTransfersListParams, NftTransfersEnvelope, NftTransferPayload2 as NftTransferPayload, NftTransferEvent, NftTransfer, MempoolWalkParams, MempoolTransactionEnvelope, MempoolListParams, MempoolEnvelope, LoadedArchive, LOCAL_API_URL, InsufficientArchiveCreditsError, InstanceStatus, InstanceState, InstanceIssue, InstanceDiagnosis3 as InstanceDiagnosis, InstanceClient, IndexTransaction, IndexTip, IndexStxTransfer, IndexStxMint, IndexStxLock, IndexStxBurn, IndexStackingAction, IndexSbtcWithdrawalPhase, IndexSbtcWithdrawalDetail, IndexSbtcWithdrawal, IndexSbtcSummary, IndexSbtcEvent, IndexSbtcDepositDetail, IndexSbtcDeposit, IndexReorg, IndexPrint, IndexPoxFunctionCount, IndexPoxCycle, IndexPox5EventTopic, IndexPox5Event, IndexPostCondition, IndexNftTransfer, IndexNftMint, IndexNftBurn, IndexMempoolTransaction, IndexFtTransfer, IndexFtMint, IndexFtBurn, IndexFeedItem, IndexFeedFetcher, IndexFeedEnvelope, IndexEventsResource, IndexEventTypeFilters, IndexEventType, IndexEventOf, IndexEventFields, IndexEvent, IndexDiscovery, IndexContractCall, IndexConsumeOptions, IndexCanonicalBlock, IndexBlock, IndexAlwaysFields, Index, INSTANCE_TOKEN_ENV, INDEX_MAX_PAGE_SIZE, FtTransfersWalkParams, FtTransfersResource, FtTransfersListParams, FtTransfersEnvelope, FtTransferPayload2 as FtTransferPayload, FtTransferEvent, FtTransfer, FetchLike2 as FetchLike, EventsWalkParams, EventsListParams, EventsEnvelope, EventsConsumeParams, DeliveryRow2 as DeliveryRow, DecodedStxTransferPayload, DecodedStxTransfer, DecodedStxMintPayload, DecodedStxMint, DecodedStxLockPayload, DecodedStxLock, DecodedStxBurnPayload, DecodedStxBurn, DecodedPrintValue, DecodedPrintPayload, DecodedPrint, DecodedNftTransferPayload, DecodedNftTransfer, DecodedNftMintPayload, DecodedNftMint, DecodedNftBurnPayload, DecodedNftBurn, DecodedFtTransferPayload, DecodedFtTransfer, DecodedFtMintPayload, DecodedFtMint, DecodedFtBurnPayload, DecodedFtBurn, DecodedEventRow, DecodedEventColumns, DeadRow2 as DeadRow, DEFAULT_REQUEST_TIMEOUT_MS, Cursor, CreateSubscriptionResponse2 as CreateSubscriptionResponse, CreateSubscriptionRequest2 as CreateSubscriptionRequest, CreateArchiveClientOptions, ContractsListParams, ContractsEnvelope, Contracts, ContractSummary, ContractConformance, ContractCallsWalkParams, ContractCallsListParams, ContractCallsEnvelope, ContractCallsConsumeParams, ContextSnapshot, ContextFieldError, ContextField, ContextAccount, ConsumerSink, ConsumerHealth, ConsumerBatchContext, ChainWebhookEnvelope, ChainWebhookDelivery2 as ChainWebhookDelivery, ChainTxLevelEvent, ChainTriggerType, ChainTrigger, ChainTestDelivery, ChainStxTransferData, ChainStxMintData, ChainStxLockData, ChainStxBurnData, ChainReorgRollbackEnvelope, ChainReorgRollbackDelivery, ChainReorgOrphanedEntry, ChainPrintEventData, ChainNftTransferData, ChainNftMintData, ChainNftBurnData, ChainFtTransferData, ChainFtMintData, ChainFtBurnData, ChainEventEnvelope, ChainApplyEnvelopeOf, ChainApplyEnvelope, ChainApplyDeliveryOf, CanonicalWalkParams, CanonicalListParams, CanonicalEnvelope, BlocksWalkParams, BlocksListParams, BlocksEnvelope, BlockEnvelope, AuthError, ArchiveVerifyResult, ArchiveVerifyRangeStatus, ArchiveVerifyInput, ArchiveStatus, ArchiveSignatureError, ArchiveQuote, ArchivePartition, ArchiveManifest, ArchiveLoadOptions, ArchiveGateNotConfiguredError, ArchiveFlow, ArchiveFetchResult, ArchiveFetchItem, ArchiveDataset, ArchiveCreditsBalance, ArchiveClient, ArchiveAuthError, ApiError, ActiveSubgraphOperation, ACCOUNT_KEY_ENV };
|
package/dist/index.js
CHANGED
|
@@ -983,7 +983,7 @@ function createArchiveClient(options = {}) {
|
|
|
983
983
|
if (!response.ok) {
|
|
984
984
|
throw new ApiError(response.status, `Could not fetch archive status (${response.status}).`);
|
|
985
985
|
}
|
|
986
|
-
return response.json();
|
|
986
|
+
return await response.json();
|
|
987
987
|
}
|
|
988
988
|
function partitions(ref, filter) {
|
|
989
989
|
let list = ref.manifest.partitions ?? [];
|
|
@@ -2935,5 +2935,5 @@ export {
|
|
|
2935
2935
|
ACCOUNT_KEY_ENV
|
|
2936
2936
|
};
|
|
2937
2937
|
|
|
2938
|
-
//# debugId=
|
|
2938
|
+
//# debugId=18BFA99012559AFD64756E2164756E21
|
|
2939
2939
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"// AuthError / RateLimitError / ValidationError are shared across the whole SDK\n// (Index and the platform clients throw them too) and live in ../errors.ts —\n// re-exported here so `@secondlayer/sdk/streams` imports keep working.\nimport { parseErrorEnvelope } from \"../base.ts\";\nimport {\n\tApiError,\n\tAuthError,\n\tRateLimitError,\n\tSecondLayerError,\n\tValidationError,\n} from \"../errors.ts\";\n\nexport { AuthError, RateLimitError, ValidationError } from \"../errors.ts\";\n\n/** Thrown on a 5xx from the Streams API, and on a failed signing-key fetch.\n * `retryable`: the page retry policy tries again. */\nexport class StreamsServerError extends ApiError {\n\tconstructor(message: string, status: number, body?: unknown, code?: string) {\n\t\tsuper(status, message, body, code, { retryable: true });\n\t\tthis.name = \"StreamsServerError\";\n\t}\n}\n\n/** Thrown when response signature verification is enabled and fails. */\nexport class StreamsSignatureError extends SecondLayerError {\n\tconstructor(message = \"Streams response signature verification failed.\") {\n\t\tsuper(message);\n\t\tthis.name = \"StreamsSignatureError\";\n\t}\n}\n\n/** Map a non-OK Streams response onto the SDK error family. The server's\n * `{error, code}` envelope survives on `message`/`code`/`body`, the same way\n * it does on Index reads, so `err.code === \"CURSOR_INVALID\"` branches the\n * same whichever client raised it. */\nexport async function mapStreamsError(response: Response): Promise<never> {\n\tconst { message, code, body } = parseErrorEnvelope(await response.text());\n\n\tif (response.status === 401) {\n\t\tthrow new AuthError(message ?? \"API key invalid or expired.\", body, code);\n\t}\n\n\tif (response.status === 429) {\n\t\tconst retryAfter = response.headers.get(\"Retry-After\") ?? undefined;\n\t\tthrow new RateLimitError(\n\t\t\tmessage ?? \"Rate limited. Try again later.\",\n\t\t\tretryAfter,\n\t\t\tbody,\n\t\t\tcode,\n\t\t);\n\t}\n\n\tif (response.status >= 500) {\n\t\tthrow new StreamsServerError(\n\t\t\tmessage ?? `Streams server returned ${response.status}.`,\n\t\t\tresponse.status,\n\t\t\tbody,\n\t\t\tcode,\n\t\t);\n\t}\n\n\tthrow new ValidationError(\n\t\tmessage ?? `Streams request returned ${response.status}.`,\n\t\tresponse.status,\n\t\tbody,\n\t\tcode,\n\t);\n}\n",
|
|
9
9
|
"/**\n * The canonical row shape names its system columns `_id`, `_blockHeight`,\n * `_txId`, `_createdAt`. These map to the snake_case DB columns the query\n * params use.\n */\nconst SYSTEM_COLUMN_MAP: Record<string, string> = {\n\t_blockHeight: \"_block_height\",\n\t_txId: \"_tx_id\",\n\t_createdAt: \"_created_at\",\n\t_id: \"_id\",\n};\n\n/**\n * Unprefixed shorthands for the same system columns. They are a convenience,\n * not reserved names: a subgraph is free to declare its own `id` or\n * `blockHeight` column, and when it does, the shorthand means that column.\n */\nconst SYSTEM_COLUMN_ALIASES: Record<string, string> = {\n\tblockHeight: \"_block_height\",\n\ttxId: \"_tx_id\",\n\tcreatedAt: \"_created_at\",\n\tid: \"_id\",\n};\n\n/** The declared column names of one table, when the caller knows them. */\nexport type DeclaredColumns = ReadonlySet<string>;\n\n/**\n * Resolve a where/orderBy key to the DB column name. Canonical `_x` names\n * always map. An unprefixed alias maps only when the table does not declare a\n * column of that name; with no declared column set (an untyped call) the\n * alias still maps, which is the pre-existing behavior.\n */\nfunction resolveColumn(col: string, columns?: DeclaredColumns): string {\n\tconst canonical = SYSTEM_COLUMN_MAP[col];\n\tif (canonical) return canonical;\n\tif (columns?.has(col)) return col;\n\treturn SYSTEM_COLUMN_ALIASES[col] ?? col;\n}\n\n/**\n * Serializes a WhereInput object into the flat filter map expected by\n * SubgraphQueryParams.filters (and the REST API query string).\n *\n * Scalar values → `{ column: \"value\" }`\n * Comparison objects → `{ \"column.gte\": \"100\", \"column.lt\": \"200\" }`\n * System columns → `_blockHeight` always → `_block_height`; the unprefixed\n * `blockHeight` too, unless `columns` declares a user column of that name.\n */\nexport function serializeWhere(\n\twhere: Record<string, unknown>,\n\tcolumns?: DeclaredColumns,\n): Record<string, string> {\n\tconst filters: Record<string, string> = {};\n\n\tfor (const [column, value] of Object.entries(where)) {\n\t\tif (value === null || value === undefined) continue;\n\n\t\tconst col = resolveColumn(column, columns);\n\n\t\tif (typeof value === \"object\" && !Array.isArray(value)) {\n\t\t\tconst ops = value as Record<string, unknown>;\n\t\t\tfor (const [op, opValue] of Object.entries(ops)) {\n\t\t\t\tif (opValue === null || opValue === undefined) continue;\n\t\t\t\tif (op === \"eq\") {\n\t\t\t\t\tfilters[col] = String(opValue);\n\t\t\t\t} else if (op === \"in\" || op === \"notIn\") {\n\t\t\t\t\t// Array → comma list. Values can't contain commas (principals,\n\t\t\t\t\t// numbers, hashes don't) — the server splits on `,`.\n\t\t\t\t\tconst arr = Array.isArray(opValue) ? opValue : [opValue];\n\t\t\t\t\tfilters[`${col}.${op}`] = arr.map((v) => String(v)).join(\",\");\n\t\t\t\t} else if ([\"neq\", \"gt\", \"gte\", \"lt\", \"lte\", \"like\"].includes(op)) {\n\t\t\t\t\tfilters[`${col}.${op}`] = String(opValue);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tfilters[col] = String(value);\n\t\t}\n\t}\n\n\treturn filters;\n}\n\n/**\n * Resolves an orderBy column name (either alias or canonical) to the DB column\n * name, with the same declared-column rule as {@link serializeWhere}.\n */\nexport function resolveOrderByColumn(\n\tcol: string,\n\tcolumns?: DeclaredColumns,\n): string {\n\treturn resolveColumn(col, columns);\n}\n",
|
|
10
10
|
"import type {\n\tReindexResponse,\n\tSubgraphAggregateParams,\n\tSubgraphAggregateResponse,\n\tSubgraphDetail,\n\tSubgraphGapsResponse,\n\tSubgraphQueryParams,\n\tSubgraphSummary,\n} from \"@secondlayer/shared/schemas\";\nimport type {\n\tDeploySubgraphRequest,\n\tDeploySubgraphResponse,\n} from \"@secondlayer/shared/schemas/subgraphs\";\nimport type {\n\tSubgraphAgentSchema,\n\tSubgraphSpecOptions,\n} from \"@secondlayer/shared/subgraphs/spec\";\nimport type {\n\tAggregateResult,\n\tAggregateSpec,\n\tFindManyOptions,\n\tInferSubgraphClient,\n\tSubscribeOptions,\n\tWhereInput,\n} from \"@secondlayer/subgraphs\";\nimport { BaseClient, buildQuery, seg } from \"../base.ts\";\nimport { readSse } from \"../streams/subscribe.ts\";\nimport {\n\ttype DeclaredColumns,\n\tresolveOrderByColumn,\n\tserializeWhere,\n} from \"./serialize.ts\";\n\nexport interface SubgraphSource {\n\tname: string;\n\tversion: string;\n\tsourceCode: string | null;\n\treadOnly: boolean;\n\treason?: string;\n\tupdatedAt: string;\n}\n\n/** Status of a tracked reindex/backfill operation (poll until terminal). */\nexport interface SubgraphOperationStatus {\n\tid: string;\n\tsubgraphName: string;\n\tkind: \"reindex\" | \"backfill\";\n\tstatus: \"queued\" | \"running\" | \"completed\" | \"failed\" | \"cancelled\";\n\tfromBlock: number | null;\n\ttoBlock: number | null;\n\tprocessedBlocks: number | null;\n\t/** 0–1 fraction; null when no denominator is known yet. 1 when completed. */\n\tprogress: number | null;\n\terror: string | null;\n\tstartedAt: string | null;\n\tfinishedAt: string | null;\n\tcreatedAt: string;\n\tupdatedAt: string;\n}\n\n/** /v1 cursor envelope for subgraph table reads. */\nexport interface SubgraphRowsEnvelope<T = unknown> {\n\trows: T[];\n\tnext_cursor: string | null;\n\ttip: {\n\t\tblock_height: number;\n\t\tsubgraph_height: number;\n\t\tblocks_behind: number;\n\t};\n}\n\nexport interface BundleSubgraphResponse {\n\tok: true;\n\tname: string;\n\tversion: string | null;\n\tdescription: string | null;\n\tsources: Record<string, Record<string, unknown>>;\n\tschema: Record<string, unknown>;\n\thandlerCode: string;\n\tsourceCode: string;\n\tbundleSize: number;\n}\n\nconst SUBSCRIBE_RECONNECT_DELAY_MS = 1000;\n\n/** Column names a `defineSubgraph()` table declares, or undefined when the\n * schema entry is not in the `{ columns: {...} }` shape. */\nfunction declaredColumns(table: unknown): DeclaredColumns | undefined {\n\tif (!table || typeof table !== \"object\") return undefined;\n\tconst columns = (table as { columns?: unknown }).columns;\n\tif (!columns || typeof columns !== \"object\") return undefined;\n\treturn new Set(Object.keys(columns));\n}\n\n/** Block height of a streamed row. The server writes rows in their wire\n * shape (`_block_height`, bigint columns as strings); a caller-shaped row\n * may carry `_blockHeight`. Either form advances the reconnect cursor. */\nfunction rowBlockHeight(row: unknown): number | undefined {\n\tconst r = row as { _block_height?: unknown; _blockHeight?: unknown };\n\tconst raw = r._block_height ?? r._blockHeight;\n\tif (typeof raw !== \"number\" && typeof raw !== \"string\") return undefined;\n\tconst height = Number(raw);\n\treturn Number.isFinite(height) ? height : undefined;\n}\n\nfunction sleep(ms: number, signal: AbortSignal): Promise<void> {\n\treturn new Promise((resolve) => {\n\t\tif (signal.aborted) return resolve();\n\t\tconst onAbort = () => {\n\t\t\tclearTimeout(timer);\n\t\t\tresolve();\n\t\t};\n\t\tconst timer = setTimeout(() => {\n\t\t\tsignal.removeEventListener(\"abort\", onAbort);\n\t\t\tresolve();\n\t\t}, ms);\n\t\tsignal.addEventListener(\"abort\", onAbort, { once: true });\n\t});\n}\n\nfunction buildSubgraphQueryString(params: SubgraphQueryParams): string {\n\treturn buildQuery({\n\t\t_sort: params.sort,\n\t\t_order: params.order,\n\t\t_limit: params.limit,\n\t\t_offset: params.offset,\n\t\t_fields: params.fields,\n\t\t...params.filters,\n\t});\n}\n\nfunction buildAggregateQueryString(params: SubgraphAggregateParams): string {\n\treturn buildQuery({\n\t\t...params.filters,\n\t\t_count: params.count ? \"true\" : undefined, // emit only when truthy\n\t\t_countDistinct: params.countDistinct, // empty array → \"\" → skipped\n\t\t_sum: params.sum,\n\t\t_min: params.min,\n\t\t_max: params.max,\n\t});\n}\n\nfunction buildSpecQueryString(options?: SubgraphSpecOptions): string {\n\treturn buildQuery({ server: options?.serverUrl });\n}\n\nexport class Subgraphs extends BaseClient {\n\tasync list(): Promise<{ data: SubgraphSummary[] }> {\n\t\treturn this.request<{ data: SubgraphSummary[] }>(\"GET\", \"/api/subgraphs\");\n\t}\n\n\t/**\n\t * The subgraph's current state — health, sync position, tables. The verify\n\t * step after a deploy, reindex, or backfill: poll it until `sync` catches\n\t * the tip.\n\t */\n\tasync status(name: string): Promise<SubgraphDetail> {\n\t\treturn this.request<SubgraphDetail>(\"GET\", `/api/subgraphs/${seg(name)}`);\n\t}\n\n\tasync openapi(\n\t\tname: string,\n\t\toptions?: SubgraphSpecOptions,\n\t): Promise<Record<string, unknown>> {\n\t\treturn this.request<Record<string, unknown>>(\n\t\t\t\"GET\",\n\t\t\t`/api/subgraphs/${seg(name)}/openapi.json${buildSpecQueryString(options)}`,\n\t\t);\n\t}\n\n\tasync schema(\n\t\tname: string,\n\t\toptions?: SubgraphSpecOptions,\n\t): Promise<SubgraphAgentSchema> {\n\t\treturn this.request<SubgraphAgentSchema>(\n\t\t\t\"GET\",\n\t\t\t`/api/subgraphs/${seg(name)}/schema.json${buildSpecQueryString(options)}`,\n\t\t);\n\t}\n\n\tasync markdown(name: string, options?: SubgraphSpecOptions): Promise<string> {\n\t\treturn this.requestText(\n\t\t\t\"GET\",\n\t\t\t`/api/subgraphs/${seg(name)}/docs.md${buildSpecQueryString(options)}`,\n\t\t);\n\t}\n\n\t/**\n\t * Reindex always drops and rebuilds the whole subgraph, so it takes no\n\t * block range; the API rejects one with `REINDEX_RANGE_NOT_SUPPORTED`.\n\t * Use {@link backfill} to process a specific range. While a reindex or\n\t * backfill is already running the API answers 409 with code\n\t * `OPERATION_IN_PROGRESS`; poll {@link operations} until it finishes.\n\t */\n\tasync reindex(name: string): Promise<ReindexResponse> {\n\t\treturn this.request<ReindexResponse>(\n\t\t\t\"POST\",\n\t\t\t`/api/subgraphs/${seg(name)}/reindex`,\n\t\t);\n\t}\n\n\tasync stop(\n\t\tname: string,\n\t): Promise<{ message: string; operationId?: string; status?: string }> {\n\t\treturn this.request<{\n\t\t\tmessage: string;\n\t\t\toperationId?: string;\n\t\t\tstatus?: string;\n\t\t}>(\"POST\", `/api/subgraphs/${seg(name)}/stop`);\n\t}\n\n\t/** Process one block range. 409 `OPERATION_IN_PROGRESS` while another\n\t * reindex or backfill runs on this subgraph. */\n\tasync backfill(\n\t\tname: string,\n\t\toptions: { fromBlock: number; toBlock: number },\n\t): Promise<ReindexResponse> {\n\t\treturn this.request<ReindexResponse>(\n\t\t\t\"POST\",\n\t\t\t`/api/subgraphs/${seg(name)}/backfill`,\n\t\t\toptions,\n\t\t);\n\t}\n\n\tasync gaps(\n\t\tname: string,\n\t\topts?: { limit?: number; offset?: number; resolved?: boolean },\n\t): Promise<SubgraphGapsResponse> {\n\t\tconst qs = buildQuery({\n\t\t\t_limit: opts?.limit,\n\t\t\t_offset: opts?.offset,\n\t\t\tresolved: opts?.resolved,\n\t\t});\n\t\treturn this.request<SubgraphGapsResponse>(\n\t\t\t\"GET\",\n\t\t\t`/api/subgraphs/${seg(name)}/gaps${qs}`,\n\t\t);\n\t}\n\n\tasync delete(\n\t\tname: string,\n\t\toptions?: { force?: boolean },\n\t): Promise<{ message: string }> {\n\t\tconst qs = buildQuery({ force: options?.force ? true : undefined });\n\t\treturn this.request<{ message: string }>(\n\t\t\t\"DELETE\",\n\t\t\t`/api/subgraphs/${seg(name)}${qs}`,\n\t\t);\n\t}\n\n\t/**\n\t * Open /v1 read: cursor-paginated rows. Anon works on an open instance;\n\t * pass an apiKey on the client where reads are closed. Resume with the\n\t * returned `next_cursor`.\n\t */\n\tasync rows<T = unknown>(\n\t\tname: string,\n\t\ttable: string,\n\t\tparams: Omit<SubgraphQueryParams, \"offset\" | \"sort\"> & {\n\t\t\tcursor?: string;\n\t\t} = {},\n\t): Promise<SubgraphRowsEnvelope<T>> {\n\t\tconst { cursor, ...rest } = params;\n\t\tconst qs = buildSubgraphQueryString(rest);\n\t\tconst sep = qs ? \"&\" : \"?\";\n\t\tconst cursorQs = cursor ? `${sep}cursor=${encodeURIComponent(cursor)}` : \"\";\n\t\treturn this.request<SubgraphRowsEnvelope<T>>(\n\t\t\t\"GET\",\n\t\t\t`/v1/subgraphs/${seg(name)}/${seg(table)}${qs}${cursorQs}`,\n\t\t);\n\t}\n\n\t/** Recent reindex/backfill operations for a subgraph, newest first. */\n\tasync operations(\n\t\tname: string,\n\t): Promise<{ operations: SubgraphOperationStatus[] }> {\n\t\treturn this.request<{ operations: SubgraphOperationStatus[] }>(\n\t\t\t\"GET\",\n\t\t\t`/api/subgraphs/${seg(name)}/operations`,\n\t\t);\n\t}\n\n\t/** Status of a single operation (poll the `operationId` returned by\n\t * reindex/backfill/stop until `status` is terminal). */\n\tasync getOperation(\n\t\tname: string,\n\t\toperationId: string,\n\t): Promise<SubgraphOperationStatus> {\n\t\treturn this.request<SubgraphOperationStatus>(\n\t\t\t\"GET\",\n\t\t\t`/api/subgraphs/${seg(name)}/operations/${seg(operationId)}`,\n\t\t);\n\t}\n\n\t/** Create or update a subgraph. A deploy that needs a rebuild queues one;\n\t * if a reindex or backfill is already running the API answers 409 with\n\t * code `OPERATION_IN_PROGRESS` (an `ApiError`, not a dedicated class). */\n\tasync deploy(data: DeploySubgraphRequest): Promise<DeploySubgraphResponse> {\n\t\treturn this.request<DeploySubgraphResponse>(\"POST\", \"/api/subgraphs\", data);\n\t}\n\n\tasync getSource(name: string): Promise<SubgraphSource> {\n\t\treturn this.request<SubgraphSource>(\n\t\t\t\"GET\",\n\t\t\t`/api/subgraphs/${seg(name)}/source`,\n\t\t);\n\t}\n\n\t/**\n\t * Bundle a TypeScript subgraph source on the server. Used by the web chat\n\t * authoring loop so Vercel's serverless runtime doesn't have to run esbuild.\n\t */\n\tasync bundle(data: { code: string }): Promise<BundleSubgraphResponse> {\n\t\treturn this.request<BundleSubgraphResponse>(\n\t\t\t\"POST\",\n\t\t\t\"/api/subgraphs/bundle\",\n\t\t\tdata,\n\t\t);\n\t}\n\n\tasync queryTable(\n\t\tname: string,\n\t\ttable: string,\n\t\tparams: SubgraphQueryParams = {},\n\t): Promise<unknown[]> {\n\t\tconst result = await this.request<{ data: unknown[] } | unknown[]>(\n\t\t\t\"GET\",\n\t\t\t`/api/subgraphs/${seg(name)}/${seg(table)}${buildSubgraphQueryString(params)}`,\n\t\t);\n\t\treturn Array.isArray(result) ? result : result.data;\n\t}\n\n\tasync queryTableCount(\n\t\tname: string,\n\t\ttable: string,\n\t\tparams: SubgraphQueryParams = {},\n\t): Promise<{ count: number }> {\n\t\treturn this.request<{ count: number }>(\n\t\t\t\"GET\",\n\t\t\t`/api/subgraphs/${seg(name)}/${seg(table)}/count${buildSubgraphQueryString(params)}`,\n\t\t);\n\t}\n\n\tasync queryTableAggregate(\n\t\tname: string,\n\t\ttable: string,\n\t\tparams: SubgraphAggregateParams = {},\n\t): Promise<SubgraphAggregateResponse> {\n\t\treturn this.request<SubgraphAggregateResponse>(\n\t\t\t\"GET\",\n\t\t\t`/api/subgraphs/${seg(name)}/${seg(table)}/aggregate${buildAggregateQueryString(params)}`,\n\t\t);\n\t}\n\n\t/**\n\t * Returns a typed client for a subgraph defined with `defineSubgraph()`.\n\t * Row types are inferred from the subgraph's schema literal types.\n\t *\n\t * @example\n\t * ```ts\n\t * import mySubgraph from './subgraphs/my-token-subgraph'\n\t * const client = sl.subgraphs.typed(mySubgraph)\n\t * const rows = await client.transfers.findMany({ where: { sender: 'SP...' } })\n\t * // rows: InferTableRow<typeof mySubgraph.schema.transfers>[]\n\t * ```\n\t */\n\ttyped<T extends { name: string; schema: Record<string, unknown> }>(\n\t\tdef: T,\n\t): InferSubgraphClient<T> {\n\t\tconst result: Record<string, unknown> = {};\n\n\t\tfor (const [tableName, table] of Object.entries(def.schema)) {\n\t\t\tresult[tableName] = this.createTableClient(\n\t\t\t\tdef.name,\n\t\t\t\ttableName,\n\t\t\t\tdeclaredColumns(table),\n\t\t\t);\n\t\t}\n\n\t\treturn result as InferSubgraphClient<T>;\n\t}\n\n\t/**\n\t * `columns` is the table's declared column set from `defineSubgraph()`.\n\t * Filters and orderBy always accept the canonical system names\n\t * `_id` / `_blockHeight` / `_txId` / `_createdAt`; the unprefixed\n\t * shorthands (`id`, `blockHeight`, ...) mean the system column only when\n\t * the table declares no column of that name.\n\t */\n\tprivate createTableClient(\n\t\tsubgraphName: string,\n\t\ttableName: string,\n\t\tcolumns?: DeclaredColumns,\n\t) {\n\t\tconst self = this;\n\n\t\treturn {\n\t\t\tasync findMany<TRow>(\n\t\t\t\toptions: Omit<FindManyOptions<TRow>, \"fields\"> & {\n\t\t\t\t\tfields?: readonly (keyof TRow & string)[];\n\t\t\t\t} = {},\n\t\t\t): Promise<TRow[]> {\n\t\t\t\tconst filters = options.where\n\t\t\t\t\t? serializeWhere(options.where as Record<string, unknown>, columns)\n\t\t\t\t\t: undefined;\n\n\t\t\t\tlet sort: string | undefined;\n\t\t\t\tlet order: string | undefined;\n\t\t\t\tif (options.orderBy) {\n\t\t\t\t\t// Accept the object form `{ col: \"asc\" }` or the ordered array\n\t\t\t\t\t// form `[[col, \"asc\"], …]` for deterministic multi-column sort.\n\t\t\t\t\tconst entries: [string, \"asc\" | \"desc\"][] = Array.isArray(\n\t\t\t\t\t\toptions.orderBy,\n\t\t\t\t\t)\n\t\t\t\t\t\t? (options.orderBy as [string, \"asc\" | \"desc\"][])\n\t\t\t\t\t\t: (Object.entries(options.orderBy) as [string, \"asc\" | \"desc\"][]);\n\t\t\t\t\tif (entries.length > 0) {\n\t\t\t\t\t\t// Comma-joined parallel lists → `_sort=a,b&_order=asc,desc`.\n\t\t\t\t\t\tsort = entries\n\t\t\t\t\t\t\t.map(([col]) => resolveOrderByColumn(col, columns))\n\t\t\t\t\t\t\t.join(\",\");\n\t\t\t\t\t\torder = entries.map(([, dir]) => dir ?? \"asc\").join(\",\");\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst params: SubgraphQueryParams = {\n\t\t\t\t\tsort,\n\t\t\t\t\torder,\n\t\t\t\t\tlimit: options.limit,\n\t\t\t\t\toffset: options.offset,\n\t\t\t\t\tfields: options.fields?.join(\",\"),\n\t\t\t\t\tfilters,\n\t\t\t\t};\n\n\t\t\t\treturn self.queryTable(subgraphName, tableName, params) as Promise<\n\t\t\t\t\tTRow[]\n\t\t\t\t>;\n\t\t\t},\n\n\t\t\tasync count<TRow>(where?: WhereInput<TRow>): Promise<number> {\n\t\t\t\tconst filters = where\n\t\t\t\t\t? serializeWhere(where as Record<string, unknown>, columns)\n\t\t\t\t\t: undefined;\n\n\t\t\t\tconst result = await self.queryTableCount(subgraphName, tableName, {\n\t\t\t\t\tfilters,\n\t\t\t\t});\n\t\t\t\treturn result.count;\n\t\t\t},\n\n\t\t\tasync aggregate<TRow, const A extends AggregateSpec<TRow>>(\n\t\t\t\tspec: A,\n\t\t\t): Promise<AggregateResult<TRow, A>> {\n\t\t\t\tconst filters = spec.where\n\t\t\t\t\t? serializeWhere(spec.where as Record<string, unknown>, columns)\n\t\t\t\t\t: undefined;\n\n\t\t\t\tconst result = await self.queryTableAggregate(subgraphName, tableName, {\n\t\t\t\t\tfilters,\n\t\t\t\t\tcount: spec.count,\n\t\t\t\t\tcountDistinct: spec.countDistinct,\n\t\t\t\t\tsum: spec.sum,\n\t\t\t\t\tmin: spec.min,\n\t\t\t\t\tmax: spec.max,\n\t\t\t\t});\n\t\t\t\treturn result as AggregateResult<TRow, A>;\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Tail rows as the subgraph writes them. Reads `/v1`, so it is keyless\n\t\t\t * on loopback like `rows`; fetch-based SSE, so it carries the client's\n\t\t\t * bearer token once the API is bound past loopback. Reconnects after a\n\t\t\t * dropped connection from the last delivered row's block height; rows\n\t\t\t * at that height can be delivered again, so key durable writes by\n\t\t\t * `_id`. Frames are unsigned rows in the server's wire shape\n\t\t\t * (`_block_height`, not `_blockHeight`).\n\t\t\t */\n\t\t\tsubscribe<TRow>(\n\t\t\t\tonRow: (row: TRow) => void,\n\t\t\t\toptions: SubscribeOptions<TRow> = {},\n\t\t\t): () => void {\n\t\t\t\tconst filters = options.where\n\t\t\t\t\t? serializeWhere(options.where as Record<string, unknown>, columns)\n\t\t\t\t\t: {};\n\t\t\t\tconst controller = new AbortController();\n\t\t\t\tlet since: number | undefined = options.since ?? undefined;\n\n\t\t\t\tconst run = async (): Promise<void> => {\n\t\t\t\t\twhile (!controller.signal.aborted) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tconst qs = buildQuery({ ...filters, since });\n\t\t\t\t\t\t\tawait readSse({\n\t\t\t\t\t\t\t\turl: `${self.baseUrl}/v1/subgraphs/${seg(subgraphName)}/${seg(tableName)}/stream${qs}`,\n\t\t\t\t\t\t\t\theaders: {\n\t\t\t\t\t\t\t\t\t...BaseClient.authHeaders(self.apiKey),\n\t\t\t\t\t\t\t\t\t\"x-sl-origin\": self.origin,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tsignal: controller.signal,\n\t\t\t\t\t\t\t\tfetchImpl: self.fetchImpl,\n\t\t\t\t\t\t\t\tonFrame: (frame) => {\n\t\t\t\t\t\t\t\t\tif (frame.event === \"ping\" || !frame.data) return;\n\t\t\t\t\t\t\t\t\tlet row: TRow;\n\t\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\t\trow = JSON.parse(frame.data) as TRow;\n\t\t\t\t\t\t\t\t\t} catch {\n\t\t\t\t\t\t\t\t\t\treturn; // ignore non-JSON frames (e.g. heartbeats)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tconst height = rowBlockHeight(row);\n\t\t\t\t\t\t\t\t\tif (height !== undefined) since = height;\n\t\t\t\t\t\t\t\t\tonRow(row);\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t// Clean end (server closed the stream): reconnect from `since`\n\t\t\t\t\t\t\t// after the same pause as an error, so a server that closes at\n\t\t\t\t\t\t\t// once (proxy timeout, empty 200) cannot spin a hot loop.\n\t\t\t\t\t\t\tawait sleep(SUBSCRIBE_RECONNECT_DELAY_MS, controller.signal);\n\t\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\t\tif (controller.signal.aborted) return;\n\t\t\t\t\t\t\toptions.onError?.(err);\n\t\t\t\t\t\t\tawait sleep(SUBSCRIBE_RECONNECT_DELAY_MS, controller.signal);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\tvoid run();\n\t\t\t\treturn () => controller.abort();\n\t\t\t},\n\t\t};\n\t}\n}\n",
|
|
11
|
-
"import { createHash } from \"node:crypto\";\nimport {\n\tcheckSignature,\n\tloadReference,\n} from \"@secondlayer/shared/archive/reference\";\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<unknown> {\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 response.json();\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",
|
|
11
|
+
"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",
|
|
12
12
|
"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",
|
|
13
13
|
"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",
|
|
14
14
|
"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",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"import {\n\ttype RewardSet,\n\tverifySignerSignatures,\n} from \"@secondlayer/shared/node/consensus\";\nimport {\n\ttype MerkleProofStep,\n\tnakamotoBlockHash,\n\tnakamotoBlockId,\n\tparseNakamotoBlockHeader,\n\tstacksTxid,\n\tverifyTxMerkleProof,\n} from \"@secondlayer/shared/node/nakamoto\";\nimport { hexToBytes } from \"@secondlayer/stacks/utils\";\n\n/**\n * Trustless transaction-inclusion proof verification.\n *\n * Given a proof from `GET /v1/index/transactions/:txid/proof`, the consumer\n * re-derives everything itself — it does NOT trust any value Secondlayer\n * computed. Anchored level: (1) recompute the txid from the raw tx bytes, (2)\n * fold it up the merkle path to the header's `tx_merkle_root`, (3) recompute the\n * header's `block_hash` and `index_block_hash` from the raw header — \"this tx is\n * included in a header any node can corroborate\". Consensus level (when the proof\n * carries a `consensus` field, or a `rewardSet` is passed): additionally recover\n * the header's signer signatures and confirm ≥70% of reward-set signer weight\n * signed the block.\n *\n * Note: uses Node's crypto via `@secondlayer/shared` (same as the Streams\n * signature verify); intended for Node/server verification.\n */\nexport interface TransactionProof {\n\ttxid: string;\n\tindex_block_hash: string;\n\tblock_height: number;\n\ttx_index: number;\n\t/** Raw consensus-serialized transaction bytes (hex). */\n\traw_tx: string;\n\t/** Raw Nakamoto block-header bytes (hex) — parsed + re-hashed by the verifier. */\n\traw_header: string;\n\t/** Authentication path from the tx leaf to `tx_merkle_root`. */\n\ttx_merkle_path: MerkleProofStep[];\n\t/** Present when consensus-level verification is available: the reward cycle and\n\t * its signer set, against which the header's signer signatures are checked. */\n\tconsensus?: {\n\t\treward_cycle: number;\n\t\treward_set: RewardSet;\n\t};\n}\n\nexport interface TransactionProofVerifyResult {\n\t/** Highest level actually verified. \"consensus\" requires the proof's\n\t * `consensus` field and a met signer-weight threshold. */\n\tlevel: \"anchored\" | \"consensus\";\n\t/** Recomputed txid === proof.txid. */\n\ttxidMatches: boolean;\n\t/** Merkle path folds the txid to the header's tx_merkle_root. */\n\tincludedInHeader: boolean;\n\t/** Recomputed block_hash + index_block_hash match the header / proof. */\n\theaderSelfConsistent: boolean;\n\t/** Basis points (0–10000) of reward-set signer weight that signed the block.\n\t * Only set when the proof carries a `consensus` field. */\n\tsignerWeightBps?: number;\n\t/** ≥70% of signer weight signed. Only set with a `consensus` field. */\n\tthresholdMet?: boolean;\n\t/** Which reward set the signer check used: \"provided\" (caller-resolved →\n\t * fully trustless) or \"embedded\" (the one Secondlayer put in the proof). */\n\trewardSetSource?: \"provided\" | \"embedded\";\n\t/** All applicable checks passed (incl. the threshold when consensus is present). */\n\tok: boolean;\n\terrors: string[];\n}\n\nconst strip = (h: string): string => (h.startsWith(\"0x\") ? h.slice(2) : h);\n// hexToBytes instead of Buffer.from(h, \"hex\") — proofs must verify on edge\n// runtimes where Buffer doesn't exist, and it validates byte sequences.\nconst bytes = (h: string): Uint8Array => hexToBytes(h);\n\n/**\n * Resolve a reward set directly from a stacks-node (`/v3/stacker_set/{cycle}`),\n * so a caller can verify the consensus layer against a node IT trusts rather than\n * the reward set Secondlayer embedded in the proof. Pass the result as\n * `verifyTransactionProof(proof, { rewardSet })`.\n */\nexport async function fetchRewardSet(opts: {\n\tnodeUrl: string;\n\tcycle: number;\n\tfetchImpl?: typeof fetch;\n}): Promise<RewardSet | null> {\n\tconst f = opts.fetchImpl ?? fetch;\n\tconst res = await f(\n\t\t`${opts.nodeUrl.replace(/\\/+$/, \"\")}/v3/stacker_set/${opts.cycle}`,\n\t);\n\tif (res.status === 404) return null;\n\tif (!res.ok) {\n\t\tthrow new Error(`/v3/stacker_set/${opts.cycle} returned ${res.status}`);\n\t}\n\tconst body = (await res.json()) as {\n\t\tstacker_set: { signers: { signing_key: string; weight: number }[] };\n\t};\n\tconst signers = body.stacker_set.signers.map((s) => ({\n\t\tsigning_key: strip(s.signing_key),\n\t\tweight: s.weight,\n\t}));\n\treturn {\n\t\tsigners,\n\t\ttotal_weight: signers.reduce((sum, s) => sum + s.weight, 0),\n\t};\n}\n\n/**\n * Verify a transaction-inclusion proof. Every check is recomputed client-side,\n * so a `true` result does not rely on trusting Secondlayer. Pass\n * `{ rewardSet }` (resolved via {@link fetchRewardSet} from your own node) to\n * verify the consensus layer against a reward set you trust rather than the one\n * embedded in the proof.\n */\nexport function verifyTransactionProof(\n\tproof: TransactionProof,\n\topts?: { rewardSet?: RewardSet },\n): TransactionProofVerifyResult {\n\tconst errors: string[] = [];\n\n\t// (1) recompute the txid from the raw tx bytes\n\tconst computedTxid = stacksTxid(bytes(proof.raw_tx));\n\tconst txidMatches = computedTxid === strip(proof.txid);\n\tif (!txidMatches) errors.push(\"txid does not match raw_tx\");\n\n\t// parse the header (so we use ITS tx_merkle_root / consensus_hash, not a field)\n\tconst header = parseNakamotoBlockHeader(bytes(proof.raw_header));\n\n\t// (2) inclusion: fold txid up the merkle path to the header's root\n\tconst includedInHeader = verifyTxMerkleProof(\n\t\tcomputedTxid,\n\t\tproof.tx_merkle_path,\n\t\theader.txMerkleRoot,\n\t);\n\tif (!includedInHeader)\n\t\terrors.push(\"merkle path does not reach tx_merkle_root\");\n\n\t// (3) header self-consistency: recompute block_hash + index_block_hash\n\tconst blockHash = nakamotoBlockHash(header);\n\tconst indexBlockHash = nakamotoBlockId(blockHash, header.consensusHash);\n\tconst headerSelfConsistent = indexBlockHash === strip(proof.index_block_hash);\n\tif (!headerSelfConsistent) {\n\t\terrors.push(\"recomputed index_block_hash does not match proof\");\n\t}\n\n\tconst anchoredOk = txidMatches && includedInHeader && headerSelfConsistent;\n\n\t// (4) consensus: recover the header's signer signatures over the block_hash and\n\t// weigh them against the reward set. A caller-provided `rewardSet` (resolved\n\t// from a trusted node) takes precedence over the proof's embedded set and makes\n\t// this fully trustless; otherwise the embedded set is used.\n\tconst rewardSet = opts?.rewardSet ?? proof.consensus?.reward_set;\n\tlet level: \"anchored\" | \"consensus\" = \"anchored\";\n\tlet signerWeightBps: number | undefined;\n\tlet thresholdMet: boolean | undefined;\n\tlet rewardSetSource: \"provided\" | \"embedded\" | undefined;\n\tif (rewardSet) {\n\t\tconst v = verifySignerSignatures(\n\t\t\tblockHash,\n\t\t\theader.signerSignatures,\n\t\t\trewardSet,\n\t\t);\n\t\tsignerWeightBps =\n\t\t\tv.totalWeight > 0\n\t\t\t\t? Math.round((v.signedWeight / v.totalWeight) * 10000)\n\t\t\t\t: 0;\n\t\tthresholdMet = v.thresholdMet;\n\t\trewardSetSource = opts?.rewardSet ? \"provided\" : \"embedded\";\n\t\tif (!thresholdMet) errors.push(\"signer weight below the 70% threshold\");\n\t\tif (anchoredOk && thresholdMet) level = \"consensus\";\n\t}\n\n\treturn {\n\t\tlevel,\n\t\ttxidMatches,\n\t\tincludedInHeader,\n\t\theaderSelfConsistent,\n\t\tsignerWeightBps,\n\t\tthresholdMet,\n\t\trewardSetSource,\n\t\tok: anchoredOk && (rewardSet ? thresholdMet === true : true),\n\t\terrors,\n\t};\n}\n",
|
|
29
29
|
"// 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"
|
|
30
30
|
],
|
|
31
|
-
"mappings": "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",
|
|
32
|
-
"debugId": "
|
|
31
|
+
"mappings": "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",
|
|
32
|
+
"debugId": "18BFA99012559AFD64756E2164756E21",
|
|
33
33
|
"names": []
|
|
34
34
|
}
|
|
@@ -257,6 +257,7 @@ type ArchiveVerifyResult = {
|
|
|
257
257
|
reason?: string;
|
|
258
258
|
};
|
|
259
259
|
import { RangeDigest } from "@secondlayer/shared/archive/range-digest";
|
|
260
|
+
import { ArchiveStatus } from "@secondlayer/shared/archive/status";
|
|
260
261
|
type ArchiveDataset = "blocks" | "transactions" | "events";
|
|
261
262
|
type ArchiveFlow = "bootstrap" | "repair";
|
|
262
263
|
type ArchivePartition = {
|
|
@@ -326,7 +327,7 @@ type ArchiveLoadOptions = {
|
|
|
326
327
|
type ArchiveClient = {
|
|
327
328
|
latest(against?: string, opts?: ArchiveLoadOptions): Promise<LoadedArchive>;
|
|
328
329
|
load(against: string, opts?: ArchiveLoadOptions): Promise<LoadedArchive>;
|
|
329
|
-
status(): Promise<
|
|
330
|
+
status(): Promise<ArchiveStatus>;
|
|
330
331
|
partitions(ref: LoadedArchive, filter?: {
|
|
331
332
|
dataset?: ArchiveDataset;
|
|
332
333
|
fromBlock?: number;
|
package/dist/subgraphs/index.js
CHANGED
|
@@ -983,7 +983,7 @@ function createArchiveClient(options = {}) {
|
|
|
983
983
|
if (!response.ok) {
|
|
984
984
|
throw new ApiError(response.status, `Could not fetch archive status (${response.status}).`);
|
|
985
985
|
}
|
|
986
|
-
return response.json();
|
|
986
|
+
return await response.json();
|
|
987
987
|
}
|
|
988
988
|
function partitions(ref, filter) {
|
|
989
989
|
let list = ref.manifest.partitions ?? [];
|
|
@@ -2644,5 +2644,5 @@ export {
|
|
|
2644
2644
|
Subgraphs
|
|
2645
2645
|
};
|
|
2646
2646
|
|
|
2647
|
-
//# debugId=
|
|
2647
|
+
//# debugId=19288C06BA36D64664756E2164756E21
|
|
2648
2648
|
//# sourceMappingURL=index.js.map
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"// AuthError / RateLimitError / ValidationError are shared across the whole SDK\n// (Index and the platform clients throw them too) and live in ../errors.ts —\n// re-exported here so `@secondlayer/sdk/streams` imports keep working.\nimport { parseErrorEnvelope } from \"../base.ts\";\nimport {\n\tApiError,\n\tAuthError,\n\tRateLimitError,\n\tSecondLayerError,\n\tValidationError,\n} from \"../errors.ts\";\n\nexport { AuthError, RateLimitError, ValidationError } from \"../errors.ts\";\n\n/** Thrown on a 5xx from the Streams API, and on a failed signing-key fetch.\n * `retryable`: the page retry policy tries again. */\nexport class StreamsServerError extends ApiError {\n\tconstructor(message: string, status: number, body?: unknown, code?: string) {\n\t\tsuper(status, message, body, code, { retryable: true });\n\t\tthis.name = \"StreamsServerError\";\n\t}\n}\n\n/** Thrown when response signature verification is enabled and fails. */\nexport class StreamsSignatureError extends SecondLayerError {\n\tconstructor(message = \"Streams response signature verification failed.\") {\n\t\tsuper(message);\n\t\tthis.name = \"StreamsSignatureError\";\n\t}\n}\n\n/** Map a non-OK Streams response onto the SDK error family. The server's\n * `{error, code}` envelope survives on `message`/`code`/`body`, the same way\n * it does on Index reads, so `err.code === \"CURSOR_INVALID\"` branches the\n * same whichever client raised it. */\nexport async function mapStreamsError(response: Response): Promise<never> {\n\tconst { message, code, body } = parseErrorEnvelope(await response.text());\n\n\tif (response.status === 401) {\n\t\tthrow new AuthError(message ?? \"API key invalid or expired.\", body, code);\n\t}\n\n\tif (response.status === 429) {\n\t\tconst retryAfter = response.headers.get(\"Retry-After\") ?? undefined;\n\t\tthrow new RateLimitError(\n\t\t\tmessage ?? \"Rate limited. Try again later.\",\n\t\t\tretryAfter,\n\t\t\tbody,\n\t\t\tcode,\n\t\t);\n\t}\n\n\tif (response.status >= 500) {\n\t\tthrow new StreamsServerError(\n\t\t\tmessage ?? `Streams server returned ${response.status}.`,\n\t\t\tresponse.status,\n\t\t\tbody,\n\t\t\tcode,\n\t\t);\n\t}\n\n\tthrow new ValidationError(\n\t\tmessage ?? `Streams request returned ${response.status}.`,\n\t\tresponse.status,\n\t\tbody,\n\t\tcode,\n\t);\n}\n",
|
|
9
9
|
"/**\n * The canonical row shape names its system columns `_id`, `_blockHeight`,\n * `_txId`, `_createdAt`. These map to the snake_case DB columns the query\n * params use.\n */\nconst SYSTEM_COLUMN_MAP: Record<string, string> = {\n\t_blockHeight: \"_block_height\",\n\t_txId: \"_tx_id\",\n\t_createdAt: \"_created_at\",\n\t_id: \"_id\",\n};\n\n/**\n * Unprefixed shorthands for the same system columns. They are a convenience,\n * not reserved names: a subgraph is free to declare its own `id` or\n * `blockHeight` column, and when it does, the shorthand means that column.\n */\nconst SYSTEM_COLUMN_ALIASES: Record<string, string> = {\n\tblockHeight: \"_block_height\",\n\ttxId: \"_tx_id\",\n\tcreatedAt: \"_created_at\",\n\tid: \"_id\",\n};\n\n/** The declared column names of one table, when the caller knows them. */\nexport type DeclaredColumns = ReadonlySet<string>;\n\n/**\n * Resolve a where/orderBy key to the DB column name. Canonical `_x` names\n * always map. An unprefixed alias maps only when the table does not declare a\n * column of that name; with no declared column set (an untyped call) the\n * alias still maps, which is the pre-existing behavior.\n */\nfunction resolveColumn(col: string, columns?: DeclaredColumns): string {\n\tconst canonical = SYSTEM_COLUMN_MAP[col];\n\tif (canonical) return canonical;\n\tif (columns?.has(col)) return col;\n\treturn SYSTEM_COLUMN_ALIASES[col] ?? col;\n}\n\n/**\n * Serializes a WhereInput object into the flat filter map expected by\n * SubgraphQueryParams.filters (and the REST API query string).\n *\n * Scalar values → `{ column: \"value\" }`\n * Comparison objects → `{ \"column.gte\": \"100\", \"column.lt\": \"200\" }`\n * System columns → `_blockHeight` always → `_block_height`; the unprefixed\n * `blockHeight` too, unless `columns` declares a user column of that name.\n */\nexport function serializeWhere(\n\twhere: Record<string, unknown>,\n\tcolumns?: DeclaredColumns,\n): Record<string, string> {\n\tconst filters: Record<string, string> = {};\n\n\tfor (const [column, value] of Object.entries(where)) {\n\t\tif (value === null || value === undefined) continue;\n\n\t\tconst col = resolveColumn(column, columns);\n\n\t\tif (typeof value === \"object\" && !Array.isArray(value)) {\n\t\t\tconst ops = value as Record<string, unknown>;\n\t\t\tfor (const [op, opValue] of Object.entries(ops)) {\n\t\t\t\tif (opValue === null || opValue === undefined) continue;\n\t\t\t\tif (op === \"eq\") {\n\t\t\t\t\tfilters[col] = String(opValue);\n\t\t\t\t} else if (op === \"in\" || op === \"notIn\") {\n\t\t\t\t\t// Array → comma list. Values can't contain commas (principals,\n\t\t\t\t\t// numbers, hashes don't) — the server splits on `,`.\n\t\t\t\t\tconst arr = Array.isArray(opValue) ? opValue : [opValue];\n\t\t\t\t\tfilters[`${col}.${op}`] = arr.map((v) => String(v)).join(\",\");\n\t\t\t\t} else if ([\"neq\", \"gt\", \"gte\", \"lt\", \"lte\", \"like\"].includes(op)) {\n\t\t\t\t\tfilters[`${col}.${op}`] = String(opValue);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tfilters[col] = String(value);\n\t\t}\n\t}\n\n\treturn filters;\n}\n\n/**\n * Resolves an orderBy column name (either alias or canonical) to the DB column\n * name, with the same declared-column rule as {@link serializeWhere}.\n */\nexport function resolveOrderByColumn(\n\tcol: string,\n\tcolumns?: DeclaredColumns,\n): string {\n\treturn resolveColumn(col, columns);\n}\n",
|
|
10
10
|
"import type {\n\tReindexResponse,\n\tSubgraphAggregateParams,\n\tSubgraphAggregateResponse,\n\tSubgraphDetail,\n\tSubgraphGapsResponse,\n\tSubgraphQueryParams,\n\tSubgraphSummary,\n} from \"@secondlayer/shared/schemas\";\nimport type {\n\tDeploySubgraphRequest,\n\tDeploySubgraphResponse,\n} from \"@secondlayer/shared/schemas/subgraphs\";\nimport type {\n\tSubgraphAgentSchema,\n\tSubgraphSpecOptions,\n} from \"@secondlayer/shared/subgraphs/spec\";\nimport type {\n\tAggregateResult,\n\tAggregateSpec,\n\tFindManyOptions,\n\tInferSubgraphClient,\n\tSubscribeOptions,\n\tWhereInput,\n} from \"@secondlayer/subgraphs\";\nimport { BaseClient, buildQuery, seg } from \"../base.ts\";\nimport { readSse } from \"../streams/subscribe.ts\";\nimport {\n\ttype DeclaredColumns,\n\tresolveOrderByColumn,\n\tserializeWhere,\n} from \"./serialize.ts\";\n\nexport interface SubgraphSource {\n\tname: string;\n\tversion: string;\n\tsourceCode: string | null;\n\treadOnly: boolean;\n\treason?: string;\n\tupdatedAt: string;\n}\n\n/** Status of a tracked reindex/backfill operation (poll until terminal). */\nexport interface SubgraphOperationStatus {\n\tid: string;\n\tsubgraphName: string;\n\tkind: \"reindex\" | \"backfill\";\n\tstatus: \"queued\" | \"running\" | \"completed\" | \"failed\" | \"cancelled\";\n\tfromBlock: number | null;\n\ttoBlock: number | null;\n\tprocessedBlocks: number | null;\n\t/** 0–1 fraction; null when no denominator is known yet. 1 when completed. */\n\tprogress: number | null;\n\terror: string | null;\n\tstartedAt: string | null;\n\tfinishedAt: string | null;\n\tcreatedAt: string;\n\tupdatedAt: string;\n}\n\n/** /v1 cursor envelope for subgraph table reads. */\nexport interface SubgraphRowsEnvelope<T = unknown> {\n\trows: T[];\n\tnext_cursor: string | null;\n\ttip: {\n\t\tblock_height: number;\n\t\tsubgraph_height: number;\n\t\tblocks_behind: number;\n\t};\n}\n\nexport interface BundleSubgraphResponse {\n\tok: true;\n\tname: string;\n\tversion: string | null;\n\tdescription: string | null;\n\tsources: Record<string, Record<string, unknown>>;\n\tschema: Record<string, unknown>;\n\thandlerCode: string;\n\tsourceCode: string;\n\tbundleSize: number;\n}\n\nconst SUBSCRIBE_RECONNECT_DELAY_MS = 1000;\n\n/** Column names a `defineSubgraph()` table declares, or undefined when the\n * schema entry is not in the `{ columns: {...} }` shape. */\nfunction declaredColumns(table: unknown): DeclaredColumns | undefined {\n\tif (!table || typeof table !== \"object\") return undefined;\n\tconst columns = (table as { columns?: unknown }).columns;\n\tif (!columns || typeof columns !== \"object\") return undefined;\n\treturn new Set(Object.keys(columns));\n}\n\n/** Block height of a streamed row. The server writes rows in their wire\n * shape (`_block_height`, bigint columns as strings); a caller-shaped row\n * may carry `_blockHeight`. Either form advances the reconnect cursor. */\nfunction rowBlockHeight(row: unknown): number | undefined {\n\tconst r = row as { _block_height?: unknown; _blockHeight?: unknown };\n\tconst raw = r._block_height ?? r._blockHeight;\n\tif (typeof raw !== \"number\" && typeof raw !== \"string\") return undefined;\n\tconst height = Number(raw);\n\treturn Number.isFinite(height) ? height : undefined;\n}\n\nfunction sleep(ms: number, signal: AbortSignal): Promise<void> {\n\treturn new Promise((resolve) => {\n\t\tif (signal.aborted) return resolve();\n\t\tconst onAbort = () => {\n\t\t\tclearTimeout(timer);\n\t\t\tresolve();\n\t\t};\n\t\tconst timer = setTimeout(() => {\n\t\t\tsignal.removeEventListener(\"abort\", onAbort);\n\t\t\tresolve();\n\t\t}, ms);\n\t\tsignal.addEventListener(\"abort\", onAbort, { once: true });\n\t});\n}\n\nfunction buildSubgraphQueryString(params: SubgraphQueryParams): string {\n\treturn buildQuery({\n\t\t_sort: params.sort,\n\t\t_order: params.order,\n\t\t_limit: params.limit,\n\t\t_offset: params.offset,\n\t\t_fields: params.fields,\n\t\t...params.filters,\n\t});\n}\n\nfunction buildAggregateQueryString(params: SubgraphAggregateParams): string {\n\treturn buildQuery({\n\t\t...params.filters,\n\t\t_count: params.count ? \"true\" : undefined, // emit only when truthy\n\t\t_countDistinct: params.countDistinct, // empty array → \"\" → skipped\n\t\t_sum: params.sum,\n\t\t_min: params.min,\n\t\t_max: params.max,\n\t});\n}\n\nfunction buildSpecQueryString(options?: SubgraphSpecOptions): string {\n\treturn buildQuery({ server: options?.serverUrl });\n}\n\nexport class Subgraphs extends BaseClient {\n\tasync list(): Promise<{ data: SubgraphSummary[] }> {\n\t\treturn this.request<{ data: SubgraphSummary[] }>(\"GET\", \"/api/subgraphs\");\n\t}\n\n\t/**\n\t * The subgraph's current state — health, sync position, tables. The verify\n\t * step after a deploy, reindex, or backfill: poll it until `sync` catches\n\t * the tip.\n\t */\n\tasync status(name: string): Promise<SubgraphDetail> {\n\t\treturn this.request<SubgraphDetail>(\"GET\", `/api/subgraphs/${seg(name)}`);\n\t}\n\n\tasync openapi(\n\t\tname: string,\n\t\toptions?: SubgraphSpecOptions,\n\t): Promise<Record<string, unknown>> {\n\t\treturn this.request<Record<string, unknown>>(\n\t\t\t\"GET\",\n\t\t\t`/api/subgraphs/${seg(name)}/openapi.json${buildSpecQueryString(options)}`,\n\t\t);\n\t}\n\n\tasync schema(\n\t\tname: string,\n\t\toptions?: SubgraphSpecOptions,\n\t): Promise<SubgraphAgentSchema> {\n\t\treturn this.request<SubgraphAgentSchema>(\n\t\t\t\"GET\",\n\t\t\t`/api/subgraphs/${seg(name)}/schema.json${buildSpecQueryString(options)}`,\n\t\t);\n\t}\n\n\tasync markdown(name: string, options?: SubgraphSpecOptions): Promise<string> {\n\t\treturn this.requestText(\n\t\t\t\"GET\",\n\t\t\t`/api/subgraphs/${seg(name)}/docs.md${buildSpecQueryString(options)}`,\n\t\t);\n\t}\n\n\t/**\n\t * Reindex always drops and rebuilds the whole subgraph, so it takes no\n\t * block range; the API rejects one with `REINDEX_RANGE_NOT_SUPPORTED`.\n\t * Use {@link backfill} to process a specific range. While a reindex or\n\t * backfill is already running the API answers 409 with code\n\t * `OPERATION_IN_PROGRESS`; poll {@link operations} until it finishes.\n\t */\n\tasync reindex(name: string): Promise<ReindexResponse> {\n\t\treturn this.request<ReindexResponse>(\n\t\t\t\"POST\",\n\t\t\t`/api/subgraphs/${seg(name)}/reindex`,\n\t\t);\n\t}\n\n\tasync stop(\n\t\tname: string,\n\t): Promise<{ message: string; operationId?: string; status?: string }> {\n\t\treturn this.request<{\n\t\t\tmessage: string;\n\t\t\toperationId?: string;\n\t\t\tstatus?: string;\n\t\t}>(\"POST\", `/api/subgraphs/${seg(name)}/stop`);\n\t}\n\n\t/** Process one block range. 409 `OPERATION_IN_PROGRESS` while another\n\t * reindex or backfill runs on this subgraph. */\n\tasync backfill(\n\t\tname: string,\n\t\toptions: { fromBlock: number; toBlock: number },\n\t): Promise<ReindexResponse> {\n\t\treturn this.request<ReindexResponse>(\n\t\t\t\"POST\",\n\t\t\t`/api/subgraphs/${seg(name)}/backfill`,\n\t\t\toptions,\n\t\t);\n\t}\n\n\tasync gaps(\n\t\tname: string,\n\t\topts?: { limit?: number; offset?: number; resolved?: boolean },\n\t): Promise<SubgraphGapsResponse> {\n\t\tconst qs = buildQuery({\n\t\t\t_limit: opts?.limit,\n\t\t\t_offset: opts?.offset,\n\t\t\tresolved: opts?.resolved,\n\t\t});\n\t\treturn this.request<SubgraphGapsResponse>(\n\t\t\t\"GET\",\n\t\t\t`/api/subgraphs/${seg(name)}/gaps${qs}`,\n\t\t);\n\t}\n\n\tasync delete(\n\t\tname: string,\n\t\toptions?: { force?: boolean },\n\t): Promise<{ message: string }> {\n\t\tconst qs = buildQuery({ force: options?.force ? true : undefined });\n\t\treturn this.request<{ message: string }>(\n\t\t\t\"DELETE\",\n\t\t\t`/api/subgraphs/${seg(name)}${qs}`,\n\t\t);\n\t}\n\n\t/**\n\t * Open /v1 read: cursor-paginated rows. Anon works on an open instance;\n\t * pass an apiKey on the client where reads are closed. Resume with the\n\t * returned `next_cursor`.\n\t */\n\tasync rows<T = unknown>(\n\t\tname: string,\n\t\ttable: string,\n\t\tparams: Omit<SubgraphQueryParams, \"offset\" | \"sort\"> & {\n\t\t\tcursor?: string;\n\t\t} = {},\n\t): Promise<SubgraphRowsEnvelope<T>> {\n\t\tconst { cursor, ...rest } = params;\n\t\tconst qs = buildSubgraphQueryString(rest);\n\t\tconst sep = qs ? \"&\" : \"?\";\n\t\tconst cursorQs = cursor ? `${sep}cursor=${encodeURIComponent(cursor)}` : \"\";\n\t\treturn this.request<SubgraphRowsEnvelope<T>>(\n\t\t\t\"GET\",\n\t\t\t`/v1/subgraphs/${seg(name)}/${seg(table)}${qs}${cursorQs}`,\n\t\t);\n\t}\n\n\t/** Recent reindex/backfill operations for a subgraph, newest first. */\n\tasync operations(\n\t\tname: string,\n\t): Promise<{ operations: SubgraphOperationStatus[] }> {\n\t\treturn this.request<{ operations: SubgraphOperationStatus[] }>(\n\t\t\t\"GET\",\n\t\t\t`/api/subgraphs/${seg(name)}/operations`,\n\t\t);\n\t}\n\n\t/** Status of a single operation (poll the `operationId` returned by\n\t * reindex/backfill/stop until `status` is terminal). */\n\tasync getOperation(\n\t\tname: string,\n\t\toperationId: string,\n\t): Promise<SubgraphOperationStatus> {\n\t\treturn this.request<SubgraphOperationStatus>(\n\t\t\t\"GET\",\n\t\t\t`/api/subgraphs/${seg(name)}/operations/${seg(operationId)}`,\n\t\t);\n\t}\n\n\t/** Create or update a subgraph. A deploy that needs a rebuild queues one;\n\t * if a reindex or backfill is already running the API answers 409 with\n\t * code `OPERATION_IN_PROGRESS` (an `ApiError`, not a dedicated class). */\n\tasync deploy(data: DeploySubgraphRequest): Promise<DeploySubgraphResponse> {\n\t\treturn this.request<DeploySubgraphResponse>(\"POST\", \"/api/subgraphs\", data);\n\t}\n\n\tasync getSource(name: string): Promise<SubgraphSource> {\n\t\treturn this.request<SubgraphSource>(\n\t\t\t\"GET\",\n\t\t\t`/api/subgraphs/${seg(name)}/source`,\n\t\t);\n\t}\n\n\t/**\n\t * Bundle a TypeScript subgraph source on the server. Used by the web chat\n\t * authoring loop so Vercel's serverless runtime doesn't have to run esbuild.\n\t */\n\tasync bundle(data: { code: string }): Promise<BundleSubgraphResponse> {\n\t\treturn this.request<BundleSubgraphResponse>(\n\t\t\t\"POST\",\n\t\t\t\"/api/subgraphs/bundle\",\n\t\t\tdata,\n\t\t);\n\t}\n\n\tasync queryTable(\n\t\tname: string,\n\t\ttable: string,\n\t\tparams: SubgraphQueryParams = {},\n\t): Promise<unknown[]> {\n\t\tconst result = await this.request<{ data: unknown[] } | unknown[]>(\n\t\t\t\"GET\",\n\t\t\t`/api/subgraphs/${seg(name)}/${seg(table)}${buildSubgraphQueryString(params)}`,\n\t\t);\n\t\treturn Array.isArray(result) ? result : result.data;\n\t}\n\n\tasync queryTableCount(\n\t\tname: string,\n\t\ttable: string,\n\t\tparams: SubgraphQueryParams = {},\n\t): Promise<{ count: number }> {\n\t\treturn this.request<{ count: number }>(\n\t\t\t\"GET\",\n\t\t\t`/api/subgraphs/${seg(name)}/${seg(table)}/count${buildSubgraphQueryString(params)}`,\n\t\t);\n\t}\n\n\tasync queryTableAggregate(\n\t\tname: string,\n\t\ttable: string,\n\t\tparams: SubgraphAggregateParams = {},\n\t): Promise<SubgraphAggregateResponse> {\n\t\treturn this.request<SubgraphAggregateResponse>(\n\t\t\t\"GET\",\n\t\t\t`/api/subgraphs/${seg(name)}/${seg(table)}/aggregate${buildAggregateQueryString(params)}`,\n\t\t);\n\t}\n\n\t/**\n\t * Returns a typed client for a subgraph defined with `defineSubgraph()`.\n\t * Row types are inferred from the subgraph's schema literal types.\n\t *\n\t * @example\n\t * ```ts\n\t * import mySubgraph from './subgraphs/my-token-subgraph'\n\t * const client = sl.subgraphs.typed(mySubgraph)\n\t * const rows = await client.transfers.findMany({ where: { sender: 'SP...' } })\n\t * // rows: InferTableRow<typeof mySubgraph.schema.transfers>[]\n\t * ```\n\t */\n\ttyped<T extends { name: string; schema: Record<string, unknown> }>(\n\t\tdef: T,\n\t): InferSubgraphClient<T> {\n\t\tconst result: Record<string, unknown> = {};\n\n\t\tfor (const [tableName, table] of Object.entries(def.schema)) {\n\t\t\tresult[tableName] = this.createTableClient(\n\t\t\t\tdef.name,\n\t\t\t\ttableName,\n\t\t\t\tdeclaredColumns(table),\n\t\t\t);\n\t\t}\n\n\t\treturn result as InferSubgraphClient<T>;\n\t}\n\n\t/**\n\t * `columns` is the table's declared column set from `defineSubgraph()`.\n\t * Filters and orderBy always accept the canonical system names\n\t * `_id` / `_blockHeight` / `_txId` / `_createdAt`; the unprefixed\n\t * shorthands (`id`, `blockHeight`, ...) mean the system column only when\n\t * the table declares no column of that name.\n\t */\n\tprivate createTableClient(\n\t\tsubgraphName: string,\n\t\ttableName: string,\n\t\tcolumns?: DeclaredColumns,\n\t) {\n\t\tconst self = this;\n\n\t\treturn {\n\t\t\tasync findMany<TRow>(\n\t\t\t\toptions: Omit<FindManyOptions<TRow>, \"fields\"> & {\n\t\t\t\t\tfields?: readonly (keyof TRow & string)[];\n\t\t\t\t} = {},\n\t\t\t): Promise<TRow[]> {\n\t\t\t\tconst filters = options.where\n\t\t\t\t\t? serializeWhere(options.where as Record<string, unknown>, columns)\n\t\t\t\t\t: undefined;\n\n\t\t\t\tlet sort: string | undefined;\n\t\t\t\tlet order: string | undefined;\n\t\t\t\tif (options.orderBy) {\n\t\t\t\t\t// Accept the object form `{ col: \"asc\" }` or the ordered array\n\t\t\t\t\t// form `[[col, \"asc\"], …]` for deterministic multi-column sort.\n\t\t\t\t\tconst entries: [string, \"asc\" | \"desc\"][] = Array.isArray(\n\t\t\t\t\t\toptions.orderBy,\n\t\t\t\t\t)\n\t\t\t\t\t\t? (options.orderBy as [string, \"asc\" | \"desc\"][])\n\t\t\t\t\t\t: (Object.entries(options.orderBy) as [string, \"asc\" | \"desc\"][]);\n\t\t\t\t\tif (entries.length > 0) {\n\t\t\t\t\t\t// Comma-joined parallel lists → `_sort=a,b&_order=asc,desc`.\n\t\t\t\t\t\tsort = entries\n\t\t\t\t\t\t\t.map(([col]) => resolveOrderByColumn(col, columns))\n\t\t\t\t\t\t\t.join(\",\");\n\t\t\t\t\t\torder = entries.map(([, dir]) => dir ?? \"asc\").join(\",\");\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst params: SubgraphQueryParams = {\n\t\t\t\t\tsort,\n\t\t\t\t\torder,\n\t\t\t\t\tlimit: options.limit,\n\t\t\t\t\toffset: options.offset,\n\t\t\t\t\tfields: options.fields?.join(\",\"),\n\t\t\t\t\tfilters,\n\t\t\t\t};\n\n\t\t\t\treturn self.queryTable(subgraphName, tableName, params) as Promise<\n\t\t\t\t\tTRow[]\n\t\t\t\t>;\n\t\t\t},\n\n\t\t\tasync count<TRow>(where?: WhereInput<TRow>): Promise<number> {\n\t\t\t\tconst filters = where\n\t\t\t\t\t? serializeWhere(where as Record<string, unknown>, columns)\n\t\t\t\t\t: undefined;\n\n\t\t\t\tconst result = await self.queryTableCount(subgraphName, tableName, {\n\t\t\t\t\tfilters,\n\t\t\t\t});\n\t\t\t\treturn result.count;\n\t\t\t},\n\n\t\t\tasync aggregate<TRow, const A extends AggregateSpec<TRow>>(\n\t\t\t\tspec: A,\n\t\t\t): Promise<AggregateResult<TRow, A>> {\n\t\t\t\tconst filters = spec.where\n\t\t\t\t\t? serializeWhere(spec.where as Record<string, unknown>, columns)\n\t\t\t\t\t: undefined;\n\n\t\t\t\tconst result = await self.queryTableAggregate(subgraphName, tableName, {\n\t\t\t\t\tfilters,\n\t\t\t\t\tcount: spec.count,\n\t\t\t\t\tcountDistinct: spec.countDistinct,\n\t\t\t\t\tsum: spec.sum,\n\t\t\t\t\tmin: spec.min,\n\t\t\t\t\tmax: spec.max,\n\t\t\t\t});\n\t\t\t\treturn result as AggregateResult<TRow, A>;\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Tail rows as the subgraph writes them. Reads `/v1`, so it is keyless\n\t\t\t * on loopback like `rows`; fetch-based SSE, so it carries the client's\n\t\t\t * bearer token once the API is bound past loopback. Reconnects after a\n\t\t\t * dropped connection from the last delivered row's block height; rows\n\t\t\t * at that height can be delivered again, so key durable writes by\n\t\t\t * `_id`. Frames are unsigned rows in the server's wire shape\n\t\t\t * (`_block_height`, not `_blockHeight`).\n\t\t\t */\n\t\t\tsubscribe<TRow>(\n\t\t\t\tonRow: (row: TRow) => void,\n\t\t\t\toptions: SubscribeOptions<TRow> = {},\n\t\t\t): () => void {\n\t\t\t\tconst filters = options.where\n\t\t\t\t\t? serializeWhere(options.where as Record<string, unknown>, columns)\n\t\t\t\t\t: {};\n\t\t\t\tconst controller = new AbortController();\n\t\t\t\tlet since: number | undefined = options.since ?? undefined;\n\n\t\t\t\tconst run = async (): Promise<void> => {\n\t\t\t\t\twhile (!controller.signal.aborted) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tconst qs = buildQuery({ ...filters, since });\n\t\t\t\t\t\t\tawait readSse({\n\t\t\t\t\t\t\t\turl: `${self.baseUrl}/v1/subgraphs/${seg(subgraphName)}/${seg(tableName)}/stream${qs}`,\n\t\t\t\t\t\t\t\theaders: {\n\t\t\t\t\t\t\t\t\t...BaseClient.authHeaders(self.apiKey),\n\t\t\t\t\t\t\t\t\t\"x-sl-origin\": self.origin,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tsignal: controller.signal,\n\t\t\t\t\t\t\t\tfetchImpl: self.fetchImpl,\n\t\t\t\t\t\t\t\tonFrame: (frame) => {\n\t\t\t\t\t\t\t\t\tif (frame.event === \"ping\" || !frame.data) return;\n\t\t\t\t\t\t\t\t\tlet row: TRow;\n\t\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\t\trow = JSON.parse(frame.data) as TRow;\n\t\t\t\t\t\t\t\t\t} catch {\n\t\t\t\t\t\t\t\t\t\treturn; // ignore non-JSON frames (e.g. heartbeats)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tconst height = rowBlockHeight(row);\n\t\t\t\t\t\t\t\t\tif (height !== undefined) since = height;\n\t\t\t\t\t\t\t\t\tonRow(row);\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t// Clean end (server closed the stream): reconnect from `since`\n\t\t\t\t\t\t\t// after the same pause as an error, so a server that closes at\n\t\t\t\t\t\t\t// once (proxy timeout, empty 200) cannot spin a hot loop.\n\t\t\t\t\t\t\tawait sleep(SUBSCRIBE_RECONNECT_DELAY_MS, controller.signal);\n\t\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\t\tif (controller.signal.aborted) return;\n\t\t\t\t\t\t\toptions.onError?.(err);\n\t\t\t\t\t\t\tawait sleep(SUBSCRIBE_RECONNECT_DELAY_MS, controller.signal);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\tvoid run();\n\t\t\t\treturn () => controller.abort();\n\t\t\t},\n\t\t};\n\t}\n}\n",
|
|
11
|
-
"import { createHash } from \"node:crypto\";\nimport {\n\tcheckSignature,\n\tloadReference,\n} from \"@secondlayer/shared/archive/reference\";\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<unknown> {\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 response.json();\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",
|
|
11
|
+
"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",
|
|
12
12
|
"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",
|
|
13
13
|
"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",
|
|
14
14
|
"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",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"import type { InstanceDiagnosis } from \"@secondlayer/shared/archive/instance-diagnosis\";\nimport type { SubgraphSummary } from \"@secondlayer/shared/schemas\";\nimport { createArchiveClient } from \"./archive/client.ts\";\nimport {\n\ttype InstanceClient,\n\tcreateArchiveVerify,\n\tcreateInstanceClient,\n} from \"./archive/instance.ts\";\nimport type { SecondLayerArchive } from \"./archive/types.ts\";\nimport { BaseClient } from \"./base.ts\";\nimport type { SecondLayerOptions } from \"./base.ts\";\nimport { Contracts } from \"./contracts/client.ts\";\nimport { ApiError, SecondLayerError } from \"./errors.ts\";\nimport { Index } from \"./index-api/client.ts\";\nimport type { IndexTip } from \"./index-api/client.ts\";\nimport { createStreamsClient } from \"./streams/client.ts\";\nimport type { StreamsClient, StreamsTip } from \"./streams/types.ts\";\nimport { Subgraphs } from \"./subgraphs/client.ts\";\nimport type { SubgraphOperationStatus } from \"./subgraphs/client.ts\";\nimport { Subscriptions } from \"./subscriptions/client.ts\";\n\nexport interface ContextAccount {\n\temail: string;\n}\n\nexport interface ActiveSubgraphOperation {\n\tsubgraph: string;\n\toperationId: string;\n\tkind: SubgraphOperationStatus[\"kind\"];\n\tstatus: SubgraphOperationStatus[\"status\"];\n\tprogress: number | null;\n}\n\n/** Why one snapshot field could not be read. Serialized from the SDK error\n * family so a snapshot stays plain data. */\nexport interface ContextFieldError {\n\tmessage: string;\n\t/** Stable code from the API envelope (`UNAUTHORIZED`, `INDEX_NOT_READY`)\n\t * or the SDK (`REQUEST_TIMEOUT`); absent for a bare transport failure. */\n\tcode?: string;\n\t/** HTTP status; `0` when the API could not be reached. */\n\tstatus?: number;\n\t/** Whether the same read can succeed on a retry (429, 5xx, network). */\n\tretryable: boolean;\n}\n\n/** One snapshot field: the value, or `null` plus the error that produced it.\n * `value: null` with no `error` means the read succeeded and found nothing. */\nexport interface ContextField<T> {\n\tvalue: T | null;\n\terror?: ContextFieldError;\n}\n\n/**\n * A point-in-time orientation snapshot for an agent: the live tips and what\n * this instance holds. Every field is a {@link ContextField}, so a missing\n * value says why it is missing (API unreachable, token rejected, index still\n * catching up) instead of a bare `null`. `context()` itself never throws.\n */\nexport interface ContextSnapshot {\n\t/** Token identity from `/api/accounts/me`. A self-hosted instance has no\n\t * account system: the read 404s and the field carries that error. */\n\taccount: ContextField<ContextAccount>;\n\tstreamsTip: ContextField<StreamsTip>;\n\tindexTip: ContextField<IndexTip>;\n\tsubgraphs: ContextField<SubgraphSummary[]>;\n\tsubscriptions: ContextField<{\n\t\tcount: number;\n\t\tbyStatus: Record<string, number>;\n\t}>;\n\t/** In-flight reindex operations (bounded to subgraphs reporting `reindexing`). */\n\tactiveOperations: ContextField<ActiveSubgraphOperation[]>;\n\t/** Decoder lag / empty-index from `GET /public/status`. */\n\tinstance: ContextField<InstanceDiagnosis>;\n}\n\n/** Fold one read into a {@link ContextField}: the value, or `null` with the\n * failure described. Exported for callers that assemble their own snapshot\n * from extra reads and want the same shape. */\nexport async function contextField<T>(\n\tread: Promise<T>,\n): Promise<ContextField<T>> {\n\ttry {\n\t\treturn { value: await read };\n\t} catch (err) {\n\t\treturn { value: null, error: describeContextError(err) };\n\t}\n}\n\nfunction describeContextError(err: unknown): ContextFieldError {\n\tif (err instanceof SecondLayerError) {\n\t\treturn {\n\t\t\tmessage: err.shortMessage,\n\t\t\t...(err.code !== undefined ? { code: err.code } : {}),\n\t\t\t...(err instanceof ApiError ? { status: err.status } : {}),\n\t\t\tretryable: err.retryable,\n\t\t};\n\t}\n\t// A bare TypeError is fetch's own network failure (Streams reads are not\n\t// wrapped): unreachable, and worth another try, same as the consume loops.\n\tif (err instanceof TypeError) {\n\t\treturn { message: err.message, status: 0, retryable: true };\n\t}\n\treturn {\n\t\tmessage: err instanceof Error ? err.message : String(err),\n\t\tretryable: false,\n\t};\n}\n\nexport class SecondLayer extends BaseClient {\n\treadonly streams: StreamsClient;\n\treadonly index: Index;\n\treadonly contracts: Contracts;\n\treadonly subgraphs: Subgraphs;\n\treadonly subscriptions: Subscriptions;\n\treadonly archive: SecondLayerArchive;\n\treadonly instance: InstanceClient;\n\n\tconstructor(options: Partial<SecondLayerOptions> = {}) {\n\t\tsuper(options);\n\t\tthis.streams = createStreamsClient({\n\t\t\t// Already resolved by BaseClient (an explicit \"\" stays keyless), so the\n\t\t\t// env precedence runs, and warns, once per client.\n\t\t\tapiKey: this.apiKey,\n\t\t\torigin: this.origin,\n\t\t\tbaseUrl: options.baseUrl,\n\t\t\tfetchImpl: options.fetchImpl,\n\t\t\tdumpsBaseUrl: options.dumpsBaseUrl,\n\t\t\tverify: options.verify,\n\t\t\tverifyDumpsManifest: options.verifyDumpsManifest,\n\t\t});\n\t\tthis.index = new Index(options);\n\t\tthis.contracts = new Contracts(options);\n\t\tthis.subgraphs = new Subgraphs(options);\n\t\tthis.subscriptions = new Subscriptions(options);\n\t\tconst request = <T>(method: string, path: string, body?: unknown) =>\n\t\t\tthis.request<T>(method, path, body);\n\t\tthis.archive = {\n\t\t\t...createArchiveClient({\n\t\t\t\taccountKey: options.accountKey,\n\t\t\t\tfetchImpl: options.fetchImpl,\n\t\t\t\tarchiveBaseUrl: options.archiveBaseUrl,\n\t\t\t\tarchiveOpsUrl: options.archiveOpsUrl,\n\t\t\t}),\n\t\t\tverify: createArchiveVerify(request),\n\t\t};\n\t\tthis.instance = createInstanceClient(request);\n\t}\n\n\t/**\n\t * Up to 10 public reads in one round trip (`POST /v1/batch`). Each item\n\t * is authorized on its own; the client's bearer token applies to every item.\n\t */\n\tasync batch(\n\t\trequests: Array<{\n\t\t\tpath: string;\n\t\t\tparams?: Record<string, string | number | boolean>;\n\t\t}>,\n\t): Promise<{\n\t\tresults: Array<{ path: string | null; status: number; body: unknown }>;\n\t}> {\n\t\treturn this.request(\"POST\", \"/v1/batch\", { requests });\n\t}\n\n\t/**\n\t * Assemble a {@link ContextSnapshot}: the same orientation an MCP agent\n\t * reads from `secondlayer://context`, available to any SDK/CLI consumer.\n\t * Reads run concurrently; a failed read lands as `{ value: null, error }`\n\t * on its field rather than rejecting the whole snapshot.\n\t */\n\tasync context(): Promise<ContextSnapshot> {\n\t\tconst [\n\t\t\taccount,\n\t\t\tstreamsTip,\n\t\t\tindexEnv,\n\t\t\tsubgraphsRes,\n\t\t\tsubscriptionsRes,\n\t\t\tinstance,\n\t\t] = await Promise.all([\n\t\t\tcontextField(this.request<ContextAccount>(\"GET\", \"/api/accounts/me\")),\n\t\t\tcontextField(this.streams.tip()),\n\t\t\tcontextField(this.index.canonical.list({ limit: 1 })),\n\t\t\tcontextField(this.subgraphs.list()),\n\t\t\tcontextField(this.subscriptions.list()),\n\t\t\tcontextField(this.instance.diagnose()),\n\t\t]);\n\n\t\tconst subgraphs: ContextField<SubgraphSummary[]> = {\n\t\t\tvalue: subgraphsRes.value?.data ?? null,\n\t\t\t...(subgraphsRes.error ? { error: subgraphsRes.error } : {}),\n\t\t};\n\n\t\tconst subscriptions: ContextSnapshot[\"subscriptions\"] = {\n\t\t\tvalue: null,\n\t\t\t...(subscriptionsRes.error ? { error: subscriptionsRes.error } : {}),\n\t\t};\n\t\tif (subscriptionsRes.value) {\n\t\t\tconst byStatus: Record<string, number> = {};\n\t\t\tfor (const s of subscriptionsRes.value.data) {\n\t\t\t\tbyStatus[s.status] = (byStatus[s.status] ?? 0) + 1;\n\t\t\t}\n\t\t\tsubscriptions.value = {\n\t\t\t\tcount: subscriptionsRes.value.data.length,\n\t\t\t\tbyStatus,\n\t\t\t};\n\t\t}\n\n\t\t// In-flight ops: only probe subgraphs that report `reindexing`, so this\n\t\t// stays cheap (usually zero extra calls) instead of N+1 over every subgraph.\n\t\tlet activeOperations: ContextField<ActiveSubgraphOperation[]> = {\n\t\t\tvalue: null,\n\t\t\terror: {\n\t\t\t\tmessage:\n\t\t\t\t\t\"Not probed: in-flight operations are read per subgraph, and the subgraph list did not resolve.\",\n\t\t\t\tretryable: subgraphs.error?.retryable ?? false,\n\t\t\t},\n\t\t};\n\t\tif (subgraphs.value) {\n\t\t\tconst probed = await Promise.all(\n\t\t\t\tsubgraphs.value\n\t\t\t\t\t.filter((s) => s.status === \"reindexing\")\n\t\t\t\t\t.map(async (s) => {\n\t\t\t\t\t\tconst res = await contextField(this.subgraphs.operations(s.name));\n\t\t\t\t\t\tconst op = res.value?.operations.find(\n\t\t\t\t\t\t\t(o) => o.status === \"queued\" || o.status === \"running\",\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn op\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\tsubgraph: s.name,\n\t\t\t\t\t\t\t\t\toperationId: op.id,\n\t\t\t\t\t\t\t\t\tkind: op.kind,\n\t\t\t\t\t\t\t\t\tstatus: op.status,\n\t\t\t\t\t\t\t\t\tprogress: op.progress,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t: null;\n\t\t\t\t\t}),\n\t\t\t);\n\t\t\tactiveOperations = {\n\t\t\t\tvalue: probed.filter((o): o is ActiveSubgraphOperation => o !== null),\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\taccount,\n\t\t\tstreamsTip,\n\t\t\tindexTip: {\n\t\t\t\tvalue: indexEnv.value?.tip ?? null,\n\t\t\t\t...(indexEnv.error ? { error: indexEnv.error } : {}),\n\t\t\t},\n\t\t\tsubgraphs,\n\t\t\tsubscriptions,\n\t\t\tactiveOperations,\n\t\t\tinstance,\n\t\t};\n\t}\n}\n",
|
|
23
23
|
"import type { InferSubgraphClient } from \"@secondlayer/subgraphs\";\nimport type { SecondLayerOptions } from \"../base.ts\";\nimport { SecondLayer } from \"../client.ts\";\nimport { Subgraphs } from \"./client.ts\";\n\n/**\n * Returns a typed client for a subgraph defined with `defineSubgraph()`.\n *\n * Accepts a plain options object, a `SecondLayer` instance, or a `Subgraphs` instance.\n *\n * @example\n * ```ts\n * import mySubgraph from './subgraphs/my-subgraph'\n * import { getSubgraph } from '@secondlayer/sdk'\n *\n * const client = getSubgraph(mySubgraph, { apiKey: 'sl_...' })\n * const rows = await client.transfers.findMany({ where: { sender: 'SP...' } })\n * ```\n */\nexport function getSubgraph<\n\tT extends { name: string; schema: Record<string, unknown> },\n>(\n\tdef: T,\n\toptions: Partial<SecondLayerOptions> | SecondLayer | Subgraphs = {},\n): InferSubgraphClient<T> {\n\tif (options instanceof Subgraphs) {\n\t\treturn options.typed(def);\n\t}\n\tif (options instanceof SecondLayer) {\n\t\treturn options.subgraphs.typed(def);\n\t}\n\treturn new Subgraphs(options).typed(def);\n}\n"
|
|
24
24
|
],
|
|
25
|
-
"mappings": "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",
|
|
26
|
-
"debugId": "
|
|
25
|
+
"mappings": "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",
|
|
26
|
+
"debugId": "19288C06BA36D64664756E2164756E21",
|
|
27
27
|
"names": []
|
|
28
28
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@secondlayer/sdk",
|
|
3
|
-
"version": "10.3.
|
|
3
|
+
"version": "10.3.1",
|
|
4
4
|
"description": "Decoded Stacks data in your own database — stream rows into your schema, or query the tables you defined.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
"prepublishOnly": "bun run build"
|
|
61
61
|
},
|
|
62
62
|
"dependencies": {
|
|
63
|
-
"@secondlayer/shared": "^11.4.
|
|
63
|
+
"@secondlayer/shared": "^11.4.3",
|
|
64
64
|
"@secondlayer/stacks": "^5.0.0",
|
|
65
65
|
"@secondlayer/subgraphs": "^4.1.5"
|
|
66
66
|
},
|