@lunora/runtime 1.0.0-alpha.56 → 1.0.0-alpha.58

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.mts CHANGED
@@ -1,8 +1,79 @@
1
1
  import { RankDirection, RankPageRow, DatabaseWriterLike, CrossShardReadArgs, QueryPage } from '@lunora/shard-engine';
2
2
  export type { RankDirection as RankPageDirection, RankPageRowKey as RankPageKey, RankPageRow, ShardRankPageResult } from '@lunora/shard-engine';
3
+ import { ShardDirectory } from '@lunora/platform';
3
4
  import { R2SqlClient } from '@lunora/bindings/r2sql';
4
5
  import { WorkflowsRestClient } from '@lunora/workflow';
5
6
  import { LunoraError as LunoraError$1, ErrorBody } from '@lunora/errors';
7
+ /**
8
+ * How a snapshot backup is laid out in an object store — the one definition
9
+ * both writers use.
10
+ *
11
+ * Two of them exist: the platform's scheduled backup (`backupCron` /
12
+ * `backupStore`, in `./scheduled-backup`) and `lunora backup create --bucket`
13
+ * in `@lunora/cli`. They deliberately share a bucket so an operator sees one
14
+ * history, which means they must agree on the key, the sidecar suffix, the
15
+ * manifest fields and what an `id` is. Written out twice, those four rules
16
+ * would drift the first time one side changed — this file is what makes
17
+ * "they agree" a type error rather than a comment.
18
+ *
19
+ * Zero dependencies and no I/O, so the CLI can import it without pulling a
20
+ * Worker runtime into its bundle.
21
+ */
22
+ /** Default key prefix backups live under. Both writers default here so one bucket is one history. */
23
+ declare const BACKUP_KEY_PREFIX = "backups/";
24
+ /**
25
+ * A prefix is a key prefix, not a directory, but everyone types it like one.
26
+ * Without this, `--prefix backups` / `backupPrefix: "backups"` yields
27
+ * `backupslunora-backup-…`: a key that works, sorts oddly, and matches nothing
28
+ * the other writer produced. Idempotent, and `""` stays `""` so the same
29
+ * builder can produce a bare file name.
30
+ */
31
+ declare const normalizeBackupPrefix: (prefix: string) => string;
32
+ /**
33
+ * The object key (or file name, with an empty `prefix`) for the snapshot taken
34
+ * at `id`.
35
+ *
36
+ * `id` is the ISO timestamp — `2026-06-01T12:00:00.000Z` — and stays that way
37
+ * in the manifest, because it is what `lunora backup restore <id>` matches on.
38
+ * Only the key swaps `:` and `.` for `-`, since both are awkward in file names
39
+ * and object keys. Conflating the two forms is why `restore` used to be
40
+ * documented with an argument it could never match.
41
+ */
42
+ declare const backupObjectKey: (prefix: string, id: string) => string;
43
+ /** The sidecar key for a snapshot at `objectKey`. */
44
+ declare const backupManifestKey: (objectKey: string) => string;
45
+ /** Is this the sidecar of a snapshot, rather than the snapshot itself? */
46
+ declare const isBackupManifestKey: (key: string) => boolean;
47
+ /**
48
+ * What every snapshot records about itself, whichever writer took it.
49
+ *
50
+ * `id` is the ISO timestamp the snapshot was taken at and the handle `restore`
51
+ * resolves; `file` is where it lives at its own destination (a file name in a
52
+ * directory, an object key in a bucket).
53
+ */
54
+ interface BackupManifestEntry {
55
+ /** Byte length of the snapshot as stored. */
56
+ bytes: number;
57
+ createdAt: string;
58
+ file: string;
59
+ id: string;
60
+ rows: number;
61
+ /**
62
+ * Lowercase-hex SHA-256 of the snapshot. Optional only because snapshots
63
+ * taken before checksums existed have none — `restore --verify` refuses
64
+ * those rather than reporting an unverified restore as a verified one.
65
+ */
66
+ sha256?: string;
67
+ /** The `--tables` / `backupTables` allowlist, when the snapshot is a subset. */
68
+ tables?: string;
69
+ }
70
+ /**
71
+ * Is this a backup manifest? The shape check both sides need: the reader, to
72
+ * skip an unrelated object under the prefix, and retention, to decide whether
73
+ * something is safe to delete. The side that deletes must not be the side
74
+ * without a guard.
75
+ */
76
+ declare const isBackupManifestEntry: (value: unknown) => value is BackupManifestEntry;
6
77
  /**
7
78
  * Turn-key incremental-sync source helpers for warehouse connectors
8
79
  * (Fivetran custom functions, Airbyte incremental sources).
@@ -607,6 +678,7 @@ type DurableObjectJurisdiction = "eu" | "fedramp" | "us";
607
678
  * unit-test doubles without coupling to `@cloudflare/workers-types`.
608
679
  */
609
680
  interface ShardNamespaceLike {
681
+ /** Materialize a stub from an opaque id. */
610
682
  get: (id: unknown) => {
611
683
  fetch: (request: Request) => Promise<Response>;
612
684
  };
@@ -618,6 +690,7 @@ interface ShardNamespaceLike {
618
690
  getByName?: (name: string) => {
619
691
  fetch: (request: Request) => Promise<Response>;
620
692
  };
693
+ /** Cloudflare's `DurableObjectNamespace` spelling of `idForName`. */
621
694
  idFromName: (name: string) => unknown;
622
695
  /**
623
696
  * Derive a jurisdiction-restricted subnamespace. Every ID and stub created
@@ -628,6 +701,24 @@ interface ShardNamespaceLike {
628
701
  */
629
702
  jurisdiction?: (jurisdiction: DurableObjectJurisdiction) => ShardNamespaceLike;
630
703
  }
704
+ /**
705
+ * What a fan-out entry point accepts: a Cloudflare binding **or** a
706
+ * `@lunora/platform` `ShardDirectory`.
707
+ *
708
+ * The two shapes differ by one method name — the contract spells `idFromName`
709
+ * as `idForName` — and that one letter made every entry point
710
+ * (`QueryCoordinator.fanOut`, the `orchestrate*` family) reject a fully
711
+ * conforming directory. A porting blocker, found by construction the first time
712
+ * `@lunora/platform-node` fanned out.
713
+ *
714
+ * It is a **union, not a loosened `ShardNamespaceLike`**. Making `get` and
715
+ * `idFromName` optional on that interface fixed fan-out and broke everything
716
+ * else: it is the projection of a real `DurableObjectNamespace`, so ~74 call
717
+ * sites and every app's `env.SHARD` inherited two members that were suddenly
718
+ * `possibly undefined`. Widening the input is what was wanted; widening the
719
+ * binding type was collateral.
720
+ */
721
+ type ShardNamespaceInput = ShardDirectory | ShardNamespaceLike;
631
722
  interface ResolvedShard {
632
723
  fetch: (request: Request) => Promise<Response>;
633
724
  }
@@ -648,7 +739,7 @@ declare const applyJurisdiction: (namespace: ShardNamespaceLike, jurisdiction?:
648
739
  * else `idFromName` + `get` — but the preference now lives in one place (the
649
740
  * contract's `resolveShard`) rather than being restated per resolution path.
650
741
  */
651
- declare const resolveShard: (namespace: ShardNamespaceLike, shardKey: string) => ResolvedShard;
742
+ declare const resolveShard: (namespace: ShardNamespaceInput, shardKey: string) => ResolvedShard;
652
743
  /**
653
744
  * Source of "which shard keys exist for a given table right now". Returning
654
745
  * an empty array is valid — the coordinator will respond with the merge
@@ -933,43 +1024,43 @@ interface RankPageFanOutResult {
933
1024
  shards: ReadonlyArray<ShardRankPageOutcome>;
934
1025
  }
935
1026
  interface QueryCoordinator {
936
- fanOut: <T = unknown>(namespace: ShardNamespaceLike, request: FanOutRequest) => Promise<FanOutResult<T>>;
1027
+ fanOut: <T = unknown>(namespace: ShardNamespaceInput, request: FanOutRequest) => Promise<FanOutResult<T>>;
937
1028
  /**
938
1029
  * Fan the `__lunora_admin__:applyCdc` admin RPC out by forwarding each
939
1030
  * pre-bucketed per-shard batch of CDC changes, rolling up the applied/failed
940
1031
  * counts. The replay half of point-in-time recovery.
941
1032
  */
942
- orchestrateApplyCdc: (namespace: ShardNamespaceLike, request: ApplyCdcFanOutRequest) => Promise<ApplyCdcFanOutResult>;
1033
+ orchestrateApplyCdc: (namespace: ShardNamespaceInput, request: ApplyCdcFanOutRequest) => Promise<ApplyCdcFanOutResult>;
943
1034
  /**
944
1035
  * Fan the `__lunora_admin__:cdcSync` admin RPC out to every live shard,
945
1036
  * each resumed from its own cursor in `request.cursors` (shardKey → seq).
946
1037
  * Returns the per-shard change pages plus their new cursors so the caller
947
1038
  * can checkpoint each shard independently — the streaming-export feed.
948
1039
  */
949
- orchestrateCdcSync: (namespace: ShardNamespaceLike, request: CdcSyncFanOutRequest) => Promise<CdcSyncFanOutResult>;
1040
+ orchestrateCdcSync: (namespace: ShardNamespaceInput, request: CdcSyncFanOutRequest) => Promise<CdcSyncFanOutResult>;
950
1041
  /**
951
1042
  * Fan an export admin RPC out to every live shard, returning the
952
1043
  * per-shard `{rows}` payloads alongside any per-shard errors. Each shard
953
1044
  * returns a JSON envelope (not a streaming body) so this method is the
954
1045
  * collector — the worker assembles the NDJSON stream.
955
1046
  */
956
- orchestrateExport: (namespace: ShardNamespaceLike, request: ExportFanOutRequest) => Promise<ExportFanOutResult>;
1047
+ orchestrateExport: (namespace: ShardNamespaceInput, request: ExportFanOutRequest) => Promise<ExportFanOutResult>;
957
1048
  /**
958
1049
  * Fan an import admin RPC out by routing each row to its owning shard. The
959
1050
  * shard registry resolves which shards exist; rows whose table has a
960
1051
  * `shardBy(field)` are bucketed using that field's value as the shard key,
961
1052
  * other tables fall back to the runtime's default `__root__` shard.
962
1053
  */
963
- orchestrateImport: (namespace: ShardNamespaceLike, request: ImportFanOutRequest) => Promise<ImportFanOutResult>;
1054
+ orchestrateImport: (namespace: ShardNamespaceInput, request: ImportFanOutRequest) => Promise<ImportFanOutResult>;
964
1055
  /** Fan a migration admin RPC out to every live shard of a table and roll up the per-shard outcomes. */
965
- orchestrateMigration: (namespace: ShardNamespaceLike, request: MigrationFanOutRequest) => Promise<MigrationFanOutResult>;
1056
+ orchestrateMigration: (namespace: ShardNamespaceInput, request: MigrationFanOutRequest) => Promise<MigrationFanOutResult>;
966
1057
  /**
967
1058
  * Fan the `__lunora_admin__:rankBefore` admin RPC out to every live shard of
968
1059
  * a table and roll up the per-shard `{before, total}` payloads into the
969
1060
  * global rank (`{position: Σbefore + 1, total: Σtotal}`). The cross-shard
970
1061
  * `rank()` path for a partition that spans shards.
971
1062
  */
972
- orchestrateRank: (namespace: ShardNamespaceLike, request: RankFanOutRequest) => Promise<RankFanOutResult>;
1063
+ orchestrateRank: (namespace: ShardNamespaceInput, request: RankFanOutRequest) => Promise<RankFanOutResult>;
973
1064
  /**
974
1065
  * Page a ranked query across every live shard of a `.shardBy(...)` table.
975
1066
  * Fans `__lunora_admin__:rankPage` out to each shard, gathers each shard's
@@ -980,7 +1071,7 @@ interface QueryCoordinator {
980
1071
  * consumed from it — pages never drop or duplicate a row at a shard
981
1072
  * boundary. The cross-shard `rankPage()` path (PLAN5 §7.1 / PLAN2 #3).
982
1073
  */
983
- orchestrateRankPage: (namespace: ShardNamespaceLike, request: RankPageFanOutRequest) => Promise<RankPageFanOutResult>;
1074
+ orchestrateRankPage: (namespace: ShardNamespaceInput, request: RankPageFanOutRequest) => Promise<RankPageFanOutResult>;
984
1075
  /**
985
1076
  * Fan the `__lunora_admin__:getMetrics` admin RPC out to every live shard of
986
1077
  * a table and collect each shard's lifetime `requests` total into a per-shard
@@ -989,7 +1080,7 @@ interface QueryCoordinator {
989
1080
  * skew, so this fans the cheap metrics read out and returns the whole shard
990
1081
  * set's request volumes (a failed shard surfaces as `requests: 0`).
991
1082
  */
992
- orchestrateShardTraffic: (namespace: ShardNamespaceLike, request: ShardTrafficFanOutRequest) => Promise<ShardTrafficFanOutResult>;
1083
+ orchestrateShardTraffic: (namespace: ShardNamespaceInput, request: ShardTrafficFanOutRequest) => Promise<ShardTrafficFanOutResult>;
993
1084
  readonly registry: ShardRegistry;
994
1085
  }
995
1086
  /**
@@ -2585,6 +2676,12 @@ type TraceTrustSignal = "mtls";
2585
2676
  * can reach the worker.
2586
2677
  */
2587
2678
  type TrustInboundTraceContext = boolean | TraceTrustSignal | ((request: Request) => boolean);
2679
+ /** A snapshot the scheduled backup took: the shared fields plus which trigger produced it. */
2680
+ interface BackupManifest extends BackupManifestEntry {
2681
+ cron: string;
2682
+ scheduledTime: number;
2683
+ sha256: string;
2684
+ }
2588
2685
  /**
2589
2686
  * Wire-format RPC envelope. Posted to `POST /_lunora/rpc`.
2590
2687
  *
@@ -2896,6 +2993,26 @@ type StorageUploadFunction = (key: string, body: ArrayBuffer, options?: {
2896
2993
  etag?: string;
2897
2994
  key: string;
2898
2995
  };
2996
+ /**
2997
+ * Reads one object's bytes back out of a storage bucket. Structurally the part
2998
+ * of `@lunora/storage`'s `Storage["download"]` the admin endpoint needs — the
2999
+ * body stream plus enough metadata to set the response headers. `null` means
3000
+ * "no such object", which the route turns into a 404.
3001
+ *
3002
+ * This is the read half of {@link StorageUploadFunction}: `lunora backup
3003
+ * restore --bucket` pulls a snapshot back through it under the same admin
3004
+ * bearer that wrote it, so restoring from a bucket does not depend on signed
3005
+ * URLs (which need a signing secret the deployment may not have configured).
3006
+ */
3007
+ type StorageDownloadFunction = (key: string, options?: {
3008
+ bucket?: string;
3009
+ }) => Promise<{
3010
+ body: ReadableStream | null;
3011
+ httpMetadata?: {
3012
+ contentType?: string;
3013
+ };
3014
+ size?: number;
3015
+ } | null>;
2899
3016
  /**
2900
3017
  * Mints a (signed or public) URL for one object so the admin file browser can
2901
3018
  * offer a "copy URL" action. The optional `expiresInSeconds` lets the caller pick
@@ -3073,40 +3190,34 @@ interface CronJobInfo {
3073
3190
  */
3074
3191
  interface BackupStore {
3075
3192
  delete: (key: string) => Promise<unknown>;
3193
+ /**
3194
+ * List objects under a prefix. `include: ["customMetadata"]` is how
3195
+ * retention tells its own snapshots from an operator's without a request
3196
+ * per object — R2 returns custom metadata on a listing only when asked, and
3197
+ * may return fewer than `limit` results when it is, which the cursor loop
3198
+ * already handles.
3199
+ */
3076
3200
  list: (options?: {
3077
3201
  cursor?: string;
3202
+ include?: ("customMetadata" | "httpMetadata")[];
3078
3203
  limit?: number;
3079
3204
  prefix?: string;
3080
3205
  }) => Promise<{
3081
3206
  cursor?: string;
3082
3207
  objects: ReadonlyArray<{
3208
+ customMetadata?: Record<string, string>;
3083
3209
  key: string;
3084
3210
  }>;
3085
3211
  truncated?: boolean;
3086
3212
  }>;
3087
- put: (key: string, body: ArrayBuffer | Blob | null | ReadableStream | string, options?: {
3213
+ put: (key: string, body: ArrayBuffer | ArrayBufferView | Blob | null | ReadableStream | string, options?: {
3088
3214
  customMetadata?: Record<string, string>;
3089
3215
  httpMetadata?: {
3090
3216
  contentType?: string;
3091
3217
  };
3218
+ sha256?: ArrayBuffer | string;
3092
3219
  }) => Promise<unknown>;
3093
3220
  }
3094
- /**
3095
- * Manifest sidecar written next to each scheduled backup's NDJSON object (at
3096
- * `<file>.manifest.json`). Mirrors the manifest entry the CLI records for local
3097
- * backups so both backup planes describe a snapshot the same way;
3098
- * `cron`/`scheduledTime` additionally record which trigger produced it.
3099
- */
3100
- interface BackupManifest {
3101
- bytes: number;
3102
- createdAt: string;
3103
- cron: string;
3104
- file: string;
3105
- id: string;
3106
- rows: number;
3107
- scheduledTime: number;
3108
- tables?: string;
3109
- }
3110
3221
  /**
3111
3222
  * Health / readiness probe configuration (plan 177). Everything is optional; the
3112
3223
  * runtime always registers its default binding probes, so the endpoints work
@@ -3701,6 +3812,17 @@ interface WorkerOptions {
3701
3812
  * `STORAGE_DELETE_NOT_CONFIGURED` — the studio surfaces a clear inline error.
3702
3813
  */
3703
3814
  storageDelete?: StorageDeleteFunction;
3815
+ /**
3816
+ * Reads one object back, backing the admin-gated
3817
+ * `GET /_lunora/admin/storage/object` endpoint that `lunora backup restore
3818
+ * --bucket` pulls snapshots through. Wrap the storage call — the generated
3819
+ * app worker emits
3820
+ * `(key, opts) => pick(opts?.bucket).download(key)` — rather than passing
3821
+ * `createStorage(...).download` itself, whose second parameter is a byte
3822
+ * range, not a bucket. Omit it and the endpoint responds
3823
+ * `STORAGE_DOWNLOAD_NOT_CONFIGURED`.
3824
+ */
3825
+ storageDownload?: StorageDownloadFunction;
3704
3826
  /**
3705
3827
  * Storage lister backing the admin-gated `GET /_lunora/admin/storage`
3706
3828
  * endpoint the studio's file browser calls. The structural shape matches
@@ -4670,5 +4792,14 @@ interface ShardClient {
4670
4792
  * See the module docs for the privilege model and the authorization caveat.
4671
4793
  */
4672
4794
  declare const createShardClient: (namespace: ShardNamespaceLike, options?: ShardClientOptions) => ShardClient;
4795
+ /**
4796
+ * Body budget for an object upload, declared by this route the way the KV value
4797
+ * PUT declares its own (`KV_VALUE_MAX_BODY_BYTES`). The shared 1 MiB default is
4798
+ * a JSON-request cap; a blob migration (`lunora import --with-storage`) moves
4799
+ * real files, and a 1 MiB ceiling would push nearly every photo onto the
4800
+ * signed-URL fallback. 32 MiB is what the isolate can buffer and digest
4801
+ * comfortably inside the Workers memory limit.
4802
+ */
4803
+ declare const STORAGE_UPLOAD_MAX_BODY_BYTES: number;
4673
4804
  declare const VERSION: string;
4674
- export { type AdminTableResolver, type AirbyteMessage, type AnalyticsEngineDataPointLike, type AnalyticsEngineDatasetLike, type AnalyticsEngineSinkOptions, type AuthAdmin, type AuthCapabilities, type AuthConfigInfo, type AuthImpersonation, type AuthPage, type AuthSession, type AuthUser, type AuthUserFieldSpec, type BackupManifest, type BackupStore, type ComposeIdentityResolversErrorMode, type ComposeIdentityResolversOptions, type ConnectorChange, type ConnectorSyncPage, type CorsOptions, type CronHandler, type CronJobDispatch, type CronJobInfo, type CrossShardCounter, type CrossShardReader, type CrossShardRelationCapabilities, type CrossShardRelationOptions, type CsrfOptions, DEFAULT_LOG_COLUMNS, DEFAULT_LOG_LIMIT, DEFAULT_REGISTRY_CACHE_TTL_MS, type DurableObjectJurisdiction, type DynamicShardRegistry, type DynamicShardRegistryOptions, type ExecutionContextLike, type ExportBatch, type ExportChange, type ExportCursorStore, type ExportFanOutRequest, type ExportFanOutResult, type ExportSink, type ExportTapFailure, type ExportTapResult, type FanOutRequest, type FanOutResult, type FanOutSpec, type FivetranResponse, type FrameworkHostHandler, type FrameworkWorkerOptions, type FrameworkWorkerOptionsInput, type FunctionDescriptor, type FunctionRegistryEntry, type FunctionRegistryLike, type GlobalExportFunction as GlobalExportFn, type GlobalImportFunction as GlobalImportFn, type GlobalIntrospector, type GlobalTableInfo as GlobalTableInfoMeta, type GlobalTablePage as GlobalTablePageMeta, HEALTH_PATH, HEALTH_READY_PATH, type HealthAuthPosture, type HealthBody, type HealthCheckReport, type HealthProbe, type HealthProbeKind, type HealthProbeResult, type HealthRouteDeps, type HttpActionContext, type HttpActionLike, type HttpRouterLike, type IdentityContractLike, type IdentityResolver, type IdentityValidation, type ImportFanOutRequest, type ImportFanOutResult, type KvIntrospector, type KvKeyEntry, type KvKeyListResult, type KvNamespaceSummary, type KvValueResult, LOG_ARCHIVE_NOT_CONFIGURED, LOG_ARCHIVE_PATH, type ListAuthUsersOptions, type LogArchiveConfig, type LogEvent, type LogFields, type LogLevel, LunoraError, type LunoraErrorBody, type LunoraHandlerOptions, type LunoraWorker, type MemoizeIdentityOptions, type MergeStrategy, type MetricEvent, type MetricKind, type MigrationFanOutRequest, type MigrationFanOutResult, NOOP_EXECUTION_CONTEXT, type NotifySubscriptionDevice, type NotifySubscriptionStoreLike, type ObservabilityEvent, type ObservabilitySink, type ObservabilitySinkContext, type OtlpResourceAttributes, type OtlpSinkOptions, type PipelineLike, type PipelineLogColumnMap, type PipelineLogCursor, type PipelineLogField, type PipelineLogPage, type PipelineLogQuery, type PipelineLogReader, type PipelineLogReaderOptions, type PipelineLogRow, type PipelineLogSinkOptions, type QueryCoordinator, type QueryCoordinatorOptions, type RankFanOutRequest, type RankFanOutResult, type RankPageFanOutRequest, type RankPageFanOutResult, type RateLimiterLike, type ResolvedSecurity, type ResolvedShard, type RestInvoke, type RestRateLimit, type RestRegistryEntry, type RestRegistryLike, type RestRoute, type RestRouteDeps, type Route, type RpcContext, type RpcEnvelope, type RunExportTapOptions, SHARD_REGISTRY_DO_NAME, type ScheduledControllerLike, type SecurityHeadersOptions, type SecurityOptions, type SentrySinkOptions, type ShardCallArgs, type ShardCallOptions, type ShardCallReturn, type ShardCallerIdentity, type ShardClient, type ShardClientOptions, type ShardError, type ShardExportOutcome, type ShardFunctionReference, type ShardImportOutcome, type ShardMigrationOutcome, type ShardNamespaceLike, type ShardRankOutcome, type ShardRankPageOutcome, type ShardRegistry, type ShardTrafficEntry, type ShardTrafficFanOutRequest, type ShardTrafficFanOutResult, type ShardingInfo, type SpanEvent, type StorageListFunction as StorageListFn, type StorageObject, type TraceSamplingConfig, type TraceTrustSignal, type TrustInboundTraceContext, VERSION, type VectorIndexSummary, type VectorIntrospector, type VectorQueryMatch, type WebhookSinkOptions, type WorkerOptions, analyticsEngineSink, applyJurisdiction, applyRestCache, argsFromQuery, buildHealthRoutes, buildRestRoutes, combineSinks, composeIdentityResolvers, composeWorker, consoleSink, createCrossShardRelationCapabilities, createDynamicShardRegistry, createKvCursorStore, createLunoraHandler, createMemoryCursorStore, createPipelineLogReader, createQueryCoordinator, createRestRateLimit, createShardClient, createStaticShardRegistry, createWorker, d1Probe, decorateResponse, defineExportSink, defineRpcEnvelope, durableObjectProbe, emitLogEvent, emitRpcEvent, enforceOrigin, handleCorsPreflight, memoizeIdentity, memoizeIdentityPerRequest, mergeStrategyForAggregate, otlpSink, pipelineLogSink, presenceProbe, r2Sink, readShardKey, requestCarriesCredentials, resolveLogArchiveFromEnv, resolveLunoraOptions, resolveSecurity, resolveShard, restCacheHeaders, restSurfaceFromRegistry, routeIdentityResolvers, runExportTap, sanitizeChange, sentrySink, toAirbyteMessages, toErrorResponse, toFivetranResponse, webhookExportSink, webhookSink, withFrameworkWorker };
4805
+ export { type AdminTableResolver, type AirbyteMessage, type AnalyticsEngineDataPointLike, type AnalyticsEngineDatasetLike, type AnalyticsEngineSinkOptions, type AuthAdmin, type AuthCapabilities, type AuthConfigInfo, type AuthImpersonation, type AuthPage, type AuthSession, type AuthUser, type AuthUserFieldSpec, BACKUP_KEY_PREFIX, type BackupManifest, type BackupManifestEntry, type BackupStore, type ComposeIdentityResolversErrorMode, type ComposeIdentityResolversOptions, type ConnectorChange, type ConnectorSyncPage, type CorsOptions, type CronHandler, type CronJobDispatch, type CronJobInfo, type CrossShardCounter, type CrossShardReader, type CrossShardRelationCapabilities, type CrossShardRelationOptions, type CsrfOptions, DEFAULT_LOG_COLUMNS, DEFAULT_LOG_LIMIT, DEFAULT_REGISTRY_CACHE_TTL_MS, type DurableObjectJurisdiction, type DynamicShardRegistry, type DynamicShardRegistryOptions, type ExecutionContextLike, type ExportBatch, type ExportChange, type ExportCursorStore, type ExportFanOutRequest, type ExportFanOutResult, type ExportSink, type ExportTapFailure, type ExportTapResult, type FanOutRequest, type FanOutResult, type FanOutSpec, type FivetranResponse, type FrameworkHostHandler, type FrameworkWorkerOptions, type FrameworkWorkerOptionsInput, type FunctionDescriptor, type FunctionRegistryEntry, type FunctionRegistryLike, type GlobalExportFunction as GlobalExportFn, type GlobalImportFunction as GlobalImportFn, type GlobalIntrospector, type GlobalTableInfo as GlobalTableInfoMeta, type GlobalTablePage as GlobalTablePageMeta, HEALTH_PATH, HEALTH_READY_PATH, type HealthAuthPosture, type HealthBody, type HealthCheckReport, type HealthProbe, type HealthProbeKind, type HealthProbeResult, type HealthRouteDeps, type HttpActionContext, type HttpActionLike, type HttpRouterLike, type IdentityContractLike, type IdentityResolver, type IdentityValidation, type ImportFanOutRequest, type ImportFanOutResult, type KvIntrospector, type KvKeyEntry, type KvKeyListResult, type KvNamespaceSummary, type KvValueResult, LOG_ARCHIVE_NOT_CONFIGURED, LOG_ARCHIVE_PATH, type ListAuthUsersOptions, type LogArchiveConfig, type LogEvent, type LogFields, type LogLevel, LunoraError, type LunoraErrorBody, type LunoraHandlerOptions, type LunoraWorker, type MemoizeIdentityOptions, type MergeStrategy, type MetricEvent, type MetricKind, type MigrationFanOutRequest, type MigrationFanOutResult, NOOP_EXECUTION_CONTEXT, type NotifySubscriptionDevice, type NotifySubscriptionStoreLike, type ObservabilityEvent, type ObservabilitySink, type ObservabilitySinkContext, type OtlpResourceAttributes, type OtlpSinkOptions, type PipelineLike, type PipelineLogColumnMap, type PipelineLogCursor, type PipelineLogField, type PipelineLogPage, type PipelineLogQuery, type PipelineLogReader, type PipelineLogReaderOptions, type PipelineLogRow, type PipelineLogSinkOptions, type QueryCoordinator, type QueryCoordinatorOptions, type RankFanOutRequest, type RankFanOutResult, type RankPageFanOutRequest, type RankPageFanOutResult, type RateLimiterLike, type ResolvedSecurity, type ResolvedShard, type RestInvoke, type RestRateLimit, type RestRegistryEntry, type RestRegistryLike, type RestRoute, type RestRouteDeps, type Route, type RpcContext, type RpcEnvelope, type RunExportTapOptions, SHARD_REGISTRY_DO_NAME, STORAGE_UPLOAD_MAX_BODY_BYTES, type ScheduledControllerLike, type SecurityHeadersOptions, type SecurityOptions, type SentrySinkOptions, type ShardCallArgs, type ShardCallOptions, type ShardCallReturn, type ShardCallerIdentity, type ShardClient, type ShardClientOptions, type ShardError, type ShardExportOutcome, type ShardFunctionReference, type ShardImportOutcome, type ShardMigrationOutcome, type ShardNamespaceInput, type ShardNamespaceLike, type ShardRankOutcome, type ShardRankPageOutcome, type ShardRegistry, type ShardTrafficEntry, type ShardTrafficFanOutRequest, type ShardTrafficFanOutResult, type ShardingInfo, type SpanEvent, type StorageListFunction as StorageListFn, type StorageObject, type TraceSamplingConfig, type TraceTrustSignal, type TrustInboundTraceContext, VERSION, type VectorIndexSummary, type VectorIntrospector, type VectorQueryMatch, type WebhookSinkOptions, type WorkerOptions, analyticsEngineSink, applyJurisdiction, applyRestCache, argsFromQuery, backupManifestKey, backupObjectKey, buildHealthRoutes, buildRestRoutes, combineSinks, composeIdentityResolvers, composeWorker, consoleSink, createCrossShardRelationCapabilities, createDynamicShardRegistry, createKvCursorStore, createLunoraHandler, createMemoryCursorStore, createPipelineLogReader, createQueryCoordinator, createRestRateLimit, createShardClient, createStaticShardRegistry, createWorker, d1Probe, decorateResponse, defineExportSink, defineRpcEnvelope, durableObjectProbe, emitLogEvent, emitRpcEvent, enforceOrigin, handleCorsPreflight, isBackupManifestEntry, isBackupManifestKey, memoizeIdentity, memoizeIdentityPerRequest, mergeStrategyForAggregate, normalizeBackupPrefix, otlpSink, pipelineLogSink, presenceProbe, r2Sink, readShardKey, requestCarriesCredentials, resolveLogArchiveFromEnv, resolveLunoraOptions, resolveSecurity, resolveShard, restCacheHeaders, restSurfaceFromRegistry, routeIdentityResolvers, runExportTap, sanitizeChange, sentrySink, toAirbyteMessages, toErrorResponse, toFivetranResponse, webhookExportSink, webhookSink, withFrameworkWorker };