@dragonmastery/tamer 0.29.0 → 0.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{StateManager-DTqtLLVX.mjs → StateManager-JLBtz9V-.mjs} +2 -2
- package/dist/{StateManager-DTqtLLVX.mjs.map → StateManager-JLBtz9V-.mjs.map} +1 -1
- package/dist/{apply-BOABC3UB.mjs → apply-CWU3HY0P.mjs} +11 -11
- package/dist/{apply-BOABC3UB.mjs.map → apply-CWU3HY0P.mjs.map} +1 -1
- package/dist/{applyTarget-GWDEOXeY.mjs → applyTarget-D15T_q7G.mjs} +2 -2
- package/dist/{applyTarget-GWDEOXeY.mjs.map → applyTarget-D15T_q7G.mjs.map} +1 -1
- package/dist/{bootstrap-BxwxC_2Z.mjs → bootstrap-BicPW44a.mjs} +3 -3
- package/dist/{bootstrap-BxwxC_2Z.mjs.map → bootstrap-BicPW44a.mjs.map} +1 -1
- package/dist/{cloudflareSnapshot-DzPuCRTh.mjs → cloudflareSnapshot-GBUHeg2m.mjs} +5 -5
- package/dist/{cloudflareSnapshot-DzPuCRTh.mjs.map → cloudflareSnapshot-GBUHeg2m.mjs.map} +1 -1
- package/dist/{deploy-C0edCpn9.mjs → deploy-DAEjDjOm.mjs} +7 -7
- package/dist/{deploy-C0edCpn9.mjs.map → deploy-DAEjDjOm.mjs.map} +1 -1
- package/dist/{destroy-DzgA4lCA.mjs → destroy-DtgPD_bD.mjs} +9 -9
- package/dist/{destroy-DzgA4lCA.mjs.map → destroy-DtgPD_bD.mjs.map} +1 -1
- package/dist/{destroy-tenant-U0t7BeJ0.mjs → destroy-tenant-B-VLKfc6.mjs} +3 -3
- package/dist/{destroy-tenant-U0t7BeJ0.mjs.map → destroy-tenant-B-VLKfc6.mjs.map} +1 -1
- package/dist/{dev-CZbKfdFw.mjs → dev-BYItpt9U.mjs} +7 -7
- package/dist/{dev-CZbKfdFw.mjs.map → dev-BYItpt9U.mjs.map} +1 -1
- package/dist/{dns-records.sync-Bpzz9H0s.mjs → dns-records.sync-CfI1mqXv.mjs} +2 -2
- package/dist/{dns-records.sync-Bpzz9H0s.mjs.map → dns-records.sync-CfI1mqXv.mjs.map} +1 -1
- package/dist/drift-DRnwTyZD.mjs +10 -0
- package/dist/{drift-B5bpkI0i.mjs → drift-DncpkI2R.mjs} +6 -6
- package/dist/{drift-B5bpkI0i.mjs.map → drift-DncpkI2R.mjs.map} +1 -1
- package/dist/{events-BIznt8Sj.mjs → events-B6oCdvSt.mjs} +3 -3
- package/dist/{events-BIznt8Sj.mjs.map → events-B6oCdvSt.mjs.map} +1 -1
- package/dist/{fetchStackImports-C-1THPYL.mjs → fetchStackImports-ClUYZy_U.mjs} +281 -97
- package/dist/fetchStackImports-ClUYZy_U.mjs.map +1 -0
- package/dist/{generator-Ba-vqyBG.mjs → generator-h_VG0Q5f.mjs} +6 -5
- package/dist/generator-h_VG0Q5f.mjs.map +1 -0
- package/dist/{import-B0dlwKoQ.mjs → import-D8zaVvwK.mjs} +6 -4
- package/dist/import-D8zaVvwK.mjs.map +1 -0
- package/dist/index.d.mts +51 -13
- package/dist/index.d.mts.map +1 -1
- package/dist/{loader-DAvCKLTT.mjs → loader-DnT9iqz9.mjs} +16 -3
- package/dist/loader-DnT9iqz9.mjs.map +1 -0
- package/dist/{migrate-BpW6JkIg.mjs → migrate-Bwl0w6XN.mjs} +5 -5
- package/dist/{migrate-BpW6JkIg.mjs.map → migrate-Bwl0w6XN.mjs.map} +1 -1
- package/dist/normalize-DVSTRZhO.mjs.map +1 -1
- package/dist/{plan-Do5rE-c5.mjs → plan-BNIAD--f.mjs} +9 -9
- package/dist/{plan-Do5rE-c5.mjs.map → plan-BNIAD--f.mjs.map} +1 -1
- package/dist/{provision-tenant-Wfck-2Oa.mjs → provision-tenant-BcZocyyn.mjs} +3 -3
- package/dist/{provision-tenant-Wfck-2Oa.mjs.map → provision-tenant-BcZocyyn.mjs.map} +1 -1
- package/dist/{stackOutputs-CQQHtdPA.mjs → stackOutputs-D33EmyfT.mjs} +2 -2
- package/dist/{stackOutputs-CQQHtdPA.mjs.map → stackOutputs-D33EmyfT.mjs.map} +1 -1
- package/dist/{status-D5GLpWyn.mjs → status-BAPpi2Zt.mjs} +5 -5
- package/dist/{status-D5GLpWyn.mjs.map → status-BAPpi2Zt.mjs.map} +1 -1
- package/dist/{sync-B_pyPi7Z.mjs → sync-BdJ43vO7.mjs} +6 -6
- package/dist/{sync-B_pyPi7Z.mjs.map → sync-BdJ43vO7.mjs.map} +1 -1
- package/dist/tamer.mjs +32 -18
- package/dist/tamer.mjs.map +1 -1
- package/dist/{types-JrdlG7Dy.mjs → types-CN1BOr0U.mjs} +5 -5
- package/dist/{types-JrdlG7Dy.mjs.map → types-CN1BOr0U.mjs.map} +1 -1
- package/dist/{verifyPlanFile-ah_4tvTu.mjs → verifyPlanFile-BQ7GCDC2.mjs} +2 -2
- package/dist/{verifyPlanFile-ah_4tvTu.mjs.map → verifyPlanFile-BQ7GCDC2.mjs.map} +1 -1
- package/dist/{wfp-delete-BhuUrBUA.mjs → wfp-delete-BG9WBd7F.mjs} +2 -2
- package/dist/{wfp-delete-BhuUrBUA.mjs.map → wfp-delete-BG9WBd7F.mjs.map} +1 -1
- package/dist/{wfp-put-DL0mJNNz.mjs → wfp-put-DjErqxFa.mjs} +2 -2
- package/dist/{wfp-put-DL0mJNNz.mjs.map → wfp-put-DjErqxFa.mjs.map} +1 -1
- package/dist/{worker-route-CMbtozNa.mjs → worker-route-DY1onr-h.mjs} +3 -3
- package/dist/{worker-route-CMbtozNa.mjs.map → worker-route-DY1onr-h.mjs.map} +1 -1
- package/dist/{workers-C-oeZhdD.mjs → workers-DNKsZOq4.mjs} +3 -3
- package/dist/{workers-C-oeZhdD.mjs.map → workers-DNKsZOq4.mjs.map} +1 -1
- package/package.json +1 -1
- package/dist/drift-BNa92AK5.mjs +0 -10
- package/dist/fetchStackImports-C-1THPYL.mjs.map +0 -1
- package/dist/generator-Ba-vqyBG.mjs.map +0 -1
- package/dist/import-B0dlwKoQ.mjs.map +0 -1
- package/dist/loader-DAvCKLTT.mjs.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as resourceModules } from "./fetchStackImports-
|
|
1
|
+
import { a as resourceModules, o as secretsStoreDeriveName } from "./fetchStackImports-ClUYZy_U.mjs";
|
|
2
2
|
import { join } from "path";
|
|
3
3
|
import { writeFileSync } from "fs";
|
|
4
4
|
|
|
@@ -10,10 +10,11 @@ import { writeFileSync } from "fs";
|
|
|
10
10
|
* message if a referenced store has never been applied — the binding
|
|
11
11
|
* would otherwise be deployed against a non-existent store.
|
|
12
12
|
*/
|
|
13
|
-
function secretsStoreSecretsGenerate(bindings, env, state, naming) {
|
|
13
|
+
function secretsStoreSecretsGenerate(bindings, env, state, naming, secretsStores) {
|
|
14
14
|
const out = [];
|
|
15
15
|
for (const b of bindings) {
|
|
16
|
-
const
|
|
16
|
+
const storeConfig = secretsStores?.find((s) => s.logicalName === b.store);
|
|
17
|
+
const derivedName = storeConfig ? secretsStoreDeriveName(storeConfig, env, naming) : naming.secretsStoreName(b.store, env);
|
|
17
18
|
const entry = state.get(`secrets_store:${derivedName}`);
|
|
18
19
|
if (!entry || entry.type !== "secrets_store") throw new Error(`Secrets Store binding "${b.binding}" references store "${b.store}" — not in state. Declare it under \`resources.secretsStores\` and run 'tamer apply --env ${env}' first.`);
|
|
19
20
|
out.push({
|
|
@@ -60,7 +61,7 @@ function generateWranglerConfig(resolved, state, naming) {
|
|
|
60
61
|
const secretBindings = resolved.resources?.secretsStoreSecrets ?? [];
|
|
61
62
|
if (secretBindings.length > 0) {
|
|
62
63
|
const passthroughSecrets = resolved.wranglerConfig.secrets_store_secrets ?? [];
|
|
63
|
-
const generated = secretsStoreSecretsGenerate(secretBindings, resolved.env, state, naming);
|
|
64
|
+
const generated = secretsStoreSecretsGenerate(secretBindings, resolved.env, state, naming, resolved.resources?.secretsStores);
|
|
64
65
|
config = {
|
|
65
66
|
...config,
|
|
66
67
|
secrets_store_secrets: [...passthroughSecrets, ...generated]
|
|
@@ -74,4 +75,4 @@ function writeWranglerJson(workerDir, config, outFile = "wrangler.json") {
|
|
|
74
75
|
|
|
75
76
|
//#endregion
|
|
76
77
|
export { writeWranglerJson as n, generateWranglerConfig as t };
|
|
77
|
-
//# sourceMappingURL=generator-
|
|
78
|
+
//# sourceMappingURL=generator-h_VG0Q5f.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generator-h_VG0Q5f.mjs","names":["out: GeneratedSecretsStoreSecretBinding[]","config: WranglerConfig"],"sources":["../src/features/secrets-store/secrets-store.generate.ts","../src/core/wrangler/generator.ts"],"sourcesContent":["import type { NamingEngine } from \"../../core/naming/NamingEngine.js\";\nimport type {\n StateEntry,\n SecretsStoreResourceConfig,\n SecretsStoreSecretBinding,\n SecretsStoreStateEntry,\n} from \"../../types.js\";\nimport { secretsStoreDeriveName } from \"./secrets-store.naming.js\";\n\nexport interface SecretsStoreStateLike {\n get(key: string): StateEntry | undefined;\n getAll(): Record<string, StateEntry>;\n}\n\n/**\n * One row of wrangler's `secrets_store_secrets[]` array. Resolved from a\n * worker's declared `secretsStoreSecrets[]` by looking up the\n * Tamer-managed store's `store_id` in state. The named secret itself must\n * already exist inside the store (created out-of-band via wrangler\n * `secrets-store secret create`); Tamer never reads or writes secret\n * values.\n */\nexport interface GeneratedSecretsStoreSecretBinding {\n binding: string;\n store_id: string;\n secret_name: string;\n}\n\n/**\n * Resolve `secretsStoreSecrets[]` worker bindings into wrangler-shape\n * `secrets_store_secrets[]` entries by looking up the referenced\n * Tamer-managed store's `store_id` in state. Throws with an actionable\n * message if a referenced store has never been applied — the binding\n * would otherwise be deployed against a non-existent store.\n */\nexport function secretsStoreSecretsGenerate(\n bindings: SecretsStoreSecretBinding[],\n env: string,\n state: SecretsStoreStateLike,\n naming: NamingEngine,\n secretsStores?: SecretsStoreResourceConfig[],\n): GeneratedSecretsStoreSecretBinding[] {\n const out: GeneratedSecretsStoreSecretBinding[] = [];\n for (const b of bindings) {\n const storeConfig = secretsStores?.find((s) => s.logicalName === b.store);\n const derivedName = storeConfig\n ? secretsStoreDeriveName(storeConfig, env, naming)\n : naming.secretsStoreName(b.store, env);\n const entry = state.get(`secrets_store:${derivedName}`) as\n | SecretsStoreStateEntry\n | undefined;\n if (!entry || entry.type !== \"secrets_store\") {\n throw new Error(\n `Secrets Store binding \"${b.binding}\" references store \"${b.store}\" — ` +\n `not in state. Declare it under \\`resources.secretsStores\\` and run ` +\n `'tamer apply --env ${env}' first.`,\n );\n }\n out.push({\n binding: b.binding,\n store_id: entry.cfId,\n secret_name: b.secretName,\n });\n }\n return out;\n}\n","import { writeFileSync } from \"fs\";\nimport { join } from \"path\";\nimport type { WranglerConfig } from \"../../generated/wrangler-types.js\";\nimport type { ResolvedWorkerConfig } from \"../config/resolver.js\";\nimport type { StateManager } from \"../state/StateManager.js\";\nimport type { NamingEngine } from \"../naming/NamingEngine.js\";\nimport { resourceModules } from \"../registry/registry.js\";\nimport { secretsStoreSecretsGenerate } from \"../../features/secrets-store/secrets-store.generate.js\";\n\nexport class CfiError extends Error {\n constructor(message: string) {\n super(message);\n this.name = \"CfiError\";\n }\n}\n\n/**\n * Build the worker's `wrangler.json` by asking every registered resource\n * module for its bindings fragment, then merging on top of the\n * passthrough config (`resolved.wranglerConfig`). Adding a new resource\n * kind requires zero edits here — register the module, done.\n */\nexport function generateWranglerConfig(\n resolved: ResolvedWorkerConfig,\n state: StateManager,\n naming: NamingEngine,\n): WranglerConfig {\n let config: WranglerConfig = {\n ...resolved.wranglerConfig,\n $schema: \"node_modules/wrangler/config-schema.json\",\n };\n\n const worker = {\n workerKey: resolved.workerKey,\n deployedName: resolved.workerName,\n };\n for (const mod of resourceModules) {\n const resources = mod.pickResources(resolved.resources);\n const fragment = mod.generate({\n resources,\n env: resolved.env,\n state,\n naming,\n passthrough: resolved.wranglerConfig,\n worker,\n });\n config = { ...config, ...fragment };\n }\n\n const secretBindings = resolved.resources?.secretsStoreSecrets ?? [];\n if (secretBindings.length > 0) {\n const passthroughSecrets =\n resolved.wranglerConfig.secrets_store_secrets ?? [];\n const generated = secretsStoreSecretsGenerate(\n secretBindings,\n resolved.env,\n state,\n naming,\n resolved.resources?.secretsStores,\n );\n config = {\n ...config,\n secrets_store_secrets: [...passthroughSecrets, ...generated],\n };\n }\n\n return config;\n}\n\nexport function writeWranglerJson(\n workerDir: string,\n config: WranglerConfig,\n outFile: string = \"wrangler.json\",\n): void {\n const path = join(workerDir, outFile);\n writeFileSync(path, JSON.stringify(config, null, 2), \"utf-8\");\n}\n"],"mappings":";;;;;;;;;;;;AAmCA,SAAgB,4BACd,UACA,KACA,OACA,QACA,eACsC;CACtC,MAAMA,MAA4C,EAAE;AACpD,MAAK,MAAM,KAAK,UAAU;EACxB,MAAM,cAAc,eAAe,MAAM,MAAM,EAAE,gBAAgB,EAAE,MAAM;EACzE,MAAM,cAAc,cAChB,uBAAuB,aAAa,KAAK,OAAO,GAChD,OAAO,iBAAiB,EAAE,OAAO,IAAI;EACzC,MAAM,QAAQ,MAAM,IAAI,iBAAiB,cAAc;AAGvD,MAAI,CAAC,SAAS,MAAM,SAAS,gBAC3B,OAAM,IAAI,MACR,0BAA0B,EAAE,QAAQ,sBAAsB,EAAE,MAAM,4FAE1C,IAAI,UAC7B;AAEH,MAAI,KAAK;GACP,SAAS,EAAE;GACX,UAAU,MAAM;GAChB,aAAa,EAAE;GAChB,CAAC;;AAEJ,QAAO;;;;;;;;;;;AC1CT,SAAgB,uBACd,UACA,OACA,QACgB;CAChB,IAAIC,SAAyB;EAC3B,GAAG,SAAS;EACZ,SAAS;EACV;CAED,MAAM,SAAS;EACb,WAAW,SAAS;EACpB,cAAc,SAAS;EACxB;AACD,MAAK,MAAM,OAAO,iBAAiB;EACjC,MAAM,YAAY,IAAI,cAAc,SAAS,UAAU;EACvD,MAAM,WAAW,IAAI,SAAS;GAC5B;GACA,KAAK,SAAS;GACd;GACA;GACA,aAAa,SAAS;GACtB;GACD,CAAC;AACF,WAAS;GAAE,GAAG;GAAQ,GAAG;GAAU;;CAGrC,MAAM,iBAAiB,SAAS,WAAW,uBAAuB,EAAE;AACpE,KAAI,eAAe,SAAS,GAAG;EAC7B,MAAM,qBACJ,SAAS,eAAe,yBAAyB,EAAE;EACrD,MAAM,YAAY,4BAChB,gBACA,SAAS,KACT,OACA,QACA,SAAS,WAAW,cACrB;AACD,WAAS;GACP,GAAG;GACH,uBAAuB,CAAC,GAAG,oBAAoB,GAAG,UAAU;GAC7D;;AAGH,QAAO;;AAGT,SAAgB,kBACd,WACA,QACA,UAAkB,iBACZ;AAEN,eADa,KAAK,WAAW,QAAQ,EACjB,KAAK,UAAU,QAAQ,MAAM,EAAE,EAAE,QAAQ"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { n as loadConfig, t as getWorkers } from "./loader-
|
|
1
|
+
import { n as loadConfig, t as getWorkers } from "./loader-DnT9iqz9.mjs";
|
|
2
2
|
import { n as cloudflareAccountIdFromEnv, t as CFApiClient } from "./CFApiClient-DhbyyV71.mjs";
|
|
3
|
-
import {
|
|
4
|
-
import { f as stackNameForConfig, t as StateManager } from "./StateManager-
|
|
3
|
+
import { a as resourceModules, i as getResourceModule, m as resolveWorkerConfig, t as fetchStackImports, v as namingFromConfig } from "./fetchStackImports-ClUYZy_U.mjs";
|
|
4
|
+
import { f as stackNameForConfig, t as StateManager } from "./StateManager-JLBtz9V-.mjs";
|
|
5
5
|
import "./r2S3EmptyBucket-DD81ZWQ7.mjs";
|
|
6
6
|
import { n as workerRouteStateKey, t as findZoneIdByName } from "./zoneResolver-VoxLHM4N.mjs";
|
|
7
7
|
|
|
@@ -46,6 +46,8 @@ async function runImport(options) {
|
|
|
46
46
|
api,
|
|
47
47
|
state,
|
|
48
48
|
naming,
|
|
49
|
+
config,
|
|
50
|
+
baseDir,
|
|
49
51
|
ts
|
|
50
52
|
});
|
|
51
53
|
} else if (options.kind === "dispatch_namespace") await importDispatchNamespace({
|
|
@@ -161,4 +163,4 @@ async function importWorkerRoute(ctx) {
|
|
|
161
163
|
|
|
162
164
|
//#endregion
|
|
163
165
|
export { runImport };
|
|
164
|
-
//# sourceMappingURL=import-
|
|
166
|
+
//# sourceMappingURL=import-D8zaVvwK.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"import-D8zaVvwK.mjs","names":[],"sources":["../src/cli/commands/import.ts"],"sourcesContent":["import { loadConfig, getWorkers } from \"../../core/config/loader.js\";\nimport { cloudflareAccountIdFromEnv } from \"../../core/cloudflareEnv.js\";\nimport { namingFromConfig } from \"../../core/config/namingFromConfig.js\";\nimport { CFApiClient } from \"../../core/api/CFApiClient.js\";\nimport { StateManager } from \"../../core/state/StateManager.js\";\nimport { stackNameForConfig } from \"../../core/state/stackName.js\";\nimport { resolveWorkerConfig } from \"../../core/config/resolver.js\";\nimport { fetchStackImports } from \"../../core/imports/fetchStackImports.js\";\nimport { workerRouteStateKey } from \"../../features/worker-route/worker-route.stateKey.js\";\nimport { findZoneIdByName } from \"../../core/routes/zoneResolver.js\";\nimport {\n getResourceModule,\n resourceModules,\n type ResourceKind,\n} from \"../../core/registry/registry.js\";\n\n/** All registered resource kinds plus the non-registry imports. */\nexport type ImportKind =\n | ResourceKind\n | \"dispatch_namespace\"\n | \"dns_record\"\n | \"worker_route\";\n\nexport interface ImportOptions {\n env: string;\n kind: ImportKind;\n /** Logical name from `tamer.config.ts` (or worker key, for `worker_route`). */\n logical: string;\n /** Cloudflare resource id (D1 uuid, KV id, R2 bucket name, or namespace name). */\n cfId?: string;\n /** Required for sharded D1 imports (YYYY-MM-DD). */\n shardDate?: string;\n /** R2 buckets only: creation date (YYYY-MM-DD) used in the binding key. */\n createdDate?: string;\n /** worker_route only: the route id from `/zones/{id}/workers/routes`. */\n routeId?: string;\n /** worker_route only: zone name from `tamerRoutes`. */\n zoneName?: string;\n configPath?: string;\n}\n\nconst REGISTRY_KINDS = new Set<string>(resourceModules.map((m) => m.kind));\n\n/**\n * `tamer import` — register an existing Cloudflare resource into Tamer state\n * by logical name (CloudFormation `import_resources` analogue). For all\n * resource-registry kinds the work is delegated to the module's\n * `importOne` hook; `dispatch_namespace` and `worker_route` remain inline\n * because they aren't registry resources today.\n */\nexport async function runImport(options: ImportOptions): Promise<void> {\n const env = options.env;\n if (env === \"local\") {\n throw new Error(\"import: --env local is not supported (no persisted state)\");\n }\n const baseDir = process.cwd();\n const config = await loadConfig(options.configPath, { env });\n const accountId = config.account_id ?? cloudflareAccountIdFromEnv();\n if (!accountId) {\n throw new Error(\n \"account_id required in config or CLOUDFLARE_ACCOUNT_ID env var\",\n );\n }\n const api = new CFApiClient(accountId);\n const naming = namingFromConfig(config);\n const state = new StateManager(\n config.tenant.id,\n env,\n stackNameForConfig(config),\n );\n await state.hydrate(api);\n state.beginOperation(\"import\", `${options.kind}:${options.logical}`);\n\n const ts = new Date().toISOString();\n\n try {\n if (REGISTRY_KINDS.has(options.kind)) {\n const mod = getResourceModule(options.kind as ResourceKind);\n if (!mod) throw new Error(`unknown import kind \"${options.kind}\"`);\n await mod.importOne({\n options: {\n env,\n kind: options.kind,\n logical: options.logical,\n cfId: options.cfId,\n shardDate: options.shardDate,\n createdDate: options.createdDate,\n routeId: options.routeId,\n zoneName: options.zoneName,\n },\n env,\n api,\n state,\n naming,\n config,\n baseDir,\n ts,\n });\n } else if (options.kind === \"dispatch_namespace\") {\n await importDispatchNamespace({ options, env, api, state, ts });\n } else if (options.kind === \"dns_record\") {\n await importDnsRecord({ options, env, api, state, config, ts });\n } else if (options.kind === \"worker_route\") {\n await importWorkerRoute({\n options,\n env,\n baseDir,\n accountId,\n api,\n naming,\n state,\n config,\n ts,\n });\n } else {\n throw new Error(`unknown import kind \"${options.kind}\"`);\n }\n\n state.finishOperation(\"imported\");\n await state.persist(api);\n console.log(`Imported ${options.kind} \"${options.logical}\" into ${env} state.`);\n } catch (err) {\n const msg = err instanceof Error ? err.message : String(err);\n state.failOperation(msg);\n try {\n await state.persist(api);\n } catch {\n /* swallow secondary persist failure */\n }\n throw err;\n }\n}\n\nasync function importDispatchNamespace(ctx: {\n options: ImportOptions;\n env: string;\n api: CFApiClient;\n state: StateManager;\n ts: string;\n}): Promise<void> {\n const { options, api, state, ts } = ctx;\n const namespaces = await api.dispatchNamespaceListAll();\n const hit = namespaces.find((n) => n.namespace_name === options.cfId);\n if (!hit) {\n throw new Error(\n `import dispatch_namespace: namespace \"${options.cfId}\" not found`,\n );\n }\n const derivedName = hit.namespace_name;\n const key = `dispatch_ns:${derivedName}`;\n const existing = state.get(key);\n state.set(key, {\n type: \"dispatch_namespace\",\n logicalName: options.logical,\n derivedName,\n createdAt:\n existing?.type === \"dispatch_namespace\" ? existing.createdAt : ts,\n updatedAt: ts,\n });\n}\n\nasync function importDnsRecord(ctx: {\n options: ImportOptions;\n env: string;\n api: CFApiClient;\n state: StateManager;\n config: Awaited<ReturnType<typeof loadConfig>>;\n ts: string;\n}): Promise<void> {\n const { options, api, state, config, ts } = ctx;\n if (!options.cfId) {\n throw new Error(\n \"import dns_record: --cf-id <recordId> is required (the record id from `tamer drift` or the Cloudflare dashboard URL)\",\n );\n }\n const declared = (config.dnsRecords ?? []).find(\n (r) => r.logicalName === options.logical,\n );\n if (!declared) {\n throw new Error(\n `import dns_record: no dnsRecords entry with logicalName \"${options.logical}\" in the Tamer project config`,\n );\n }\n const list = await api.zoneDnsRecordListAll(declared.zoneId);\n const hit = list.find((r) => r.id === options.cfId);\n if (!hit) {\n throw new Error(\n `import dns_record: record id \"${options.cfId}\" not found in zone \"${declared.zoneId}\"`,\n );\n }\n if (hit.type !== declared.type) {\n throw new Error(\n `import dns_record: cf record type \"${hit.type}\" does not match declared type \"${declared.type}\"`,\n );\n }\n const { dnsRecordStateKey } = await import(\n \"../../features/dns-records/dns-records.resolve.js\"\n );\n const key = dnsRecordStateKey(declared.zoneId, declared.type, declared.name);\n const existing = state.get(key);\n state.set(key, {\n type: \"dns_record\",\n logicalName: options.logical,\n zoneId: declared.zoneId,\n recordType: declared.type,\n name: hit.name,\n content: hit.content,\n ttl: hit.ttl ?? 1,\n proxied: hit.proxied ?? false,\n priority: hit.priority,\n comment: hit.comment ?? \"\",\n recordId: hit.id,\n createdAt: existing?.type === \"dns_record\" ? existing.createdAt : ts,\n updatedAt: ts,\n });\n}\n\nasync function importWorkerRoute(ctx: {\n options: ImportOptions;\n env: string;\n baseDir: string;\n accountId: string;\n api: CFApiClient;\n naming: ReturnType<typeof namingFromConfig>;\n state: StateManager;\n config: Awaited<ReturnType<typeof loadConfig>>;\n ts: string;\n}): Promise<void> {\n const { options, env, baseDir, accountId, api, naming, state, config, ts } =\n ctx;\n if (!options.routeId) {\n throw new Error(\"import worker_route: --route-id <id> is required\");\n }\n const workers = await getWorkers(config, baseDir);\n const wc = workers.find(([k]) => k === options.logical)?.[1];\n if (!wc) {\n throw new Error(\n `import worker_route: no worker key \"${options.logical}\" in the Tamer project config`,\n );\n }\n const imports = await fetchStackImports(api, config, env);\n const resolved = await resolveWorkerConfig(\n config,\n options.logical,\n wc,\n env,\n baseDir,\n accountId,\n naming,\n state,\n { imports },\n );\n if (resolved.apiManagedRoutes.length === 0) {\n throw new Error(\n `import worker_route: worker \"${options.logical}\" declares no api-managed tamerRoutes for env ${env}`,\n );\n }\n\n const route = options.zoneName\n ? resolved.apiManagedRoutes.find((r) => r.zone_name === options.zoneName)\n : resolved.apiManagedRoutes[0];\n if (!route) {\n throw new Error(\n `import worker_route: no route for zone \"${options.zoneName}\" in resolved config`,\n );\n }\n const zoneId = await findZoneIdByName(api, route.zone_name);\n if (!zoneId) {\n throw new Error(`import worker_route: zone \"${route.zone_name}\" not found`);\n }\n const list = await api.zoneWorkerRoutesList(zoneId);\n const hit = list.find((r) => r.id === options.routeId);\n if (!hit) {\n throw new Error(\n `import worker_route: route id \"${options.routeId}\" not found in zone \"${route.zone_name}\"`,\n );\n }\n if (hit.pattern !== route.pattern) {\n throw new Error(\n `import worker_route: cf pattern \"${hit.pattern}\" does not match resolved \"${route.pattern}\"`,\n );\n }\n const key = workerRouteStateKey(zoneId, options.routeId);\n const existing = state.get(key);\n state.set(key, {\n type: \"worker_route\",\n workerKey: options.logical,\n workerName: resolved.workerName,\n zoneId,\n zoneName: route.zone_name,\n routeId: options.routeId,\n pattern: route.pattern,\n createdAt: existing?.type === \"worker_route\" ? existing.createdAt : ts,\n updatedAt: ts,\n });\n}\n"],"mappings":"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"}
|
package/dist/index.d.mts
CHANGED
|
@@ -5440,6 +5440,18 @@ declare function isCfBinding(x: unknown): x is CfBinding;
|
|
|
5440
5440
|
* before validation.
|
|
5441
5441
|
*/
|
|
5442
5442
|
type TamerResolvableString = string | CfBinding;
|
|
5443
|
+
/** Context for per-resource Cloudflare name resolution (e.g. sharded D1 shard date). */
|
|
5444
|
+
interface CloudflareNameContext {
|
|
5445
|
+
/** ISO `YYYY-MM-DD` shard stamp for sharded D1. */
|
|
5446
|
+
shardDate?: string;
|
|
5447
|
+
}
|
|
5448
|
+
/**
|
|
5449
|
+
* Per-resource Cloudflare name for the current env.
|
|
5450
|
+
* No UUIDs — name only. Used for sync, plan, apply, drift, import, and generate.
|
|
5451
|
+
*
|
|
5452
|
+
* Resolution order when unset: stack {@link NamingConventions} hook → {@link NamingEngine} default.
|
|
5453
|
+
*/
|
|
5454
|
+
type CloudflareNameFn = (tenantId: string, env: string, ctx?: CloudflareNameContext) => string;
|
|
5443
5455
|
/** Wrangler R2 binding with optional {@link TamerResolvableString} `bucket_name`. */
|
|
5444
5456
|
type WranglerR2BucketResolvable = Omit<WranglerR2Bucket, "bucket_name"> & {
|
|
5445
5457
|
bucket_name?: TamerResolvableString;
|
|
@@ -5502,13 +5514,19 @@ interface TenantMeta {
|
|
|
5502
5514
|
}
|
|
5503
5515
|
/**
|
|
5504
5516
|
* D1 database declared on a worker's `resources.d1[]`.
|
|
5505
|
-
* Cloudflare **name**
|
|
5506
|
-
* {@link
|
|
5517
|
+
* Cloudflare **name** for managed databases follows
|
|
5518
|
+
* {@link D1ResourceConfig.cloudflareName} → {@link NamingConventions.d1Single} /
|
|
5519
|
+
* {@link NamingConventions.d1Shard} → defaults; **id** is stored in state after `sync` / `apply`.
|
|
5507
5520
|
*/
|
|
5508
5521
|
interface D1ResourceConfig {
|
|
5509
5522
|
logicalName: string;
|
|
5510
5523
|
/** `"single"`: one DB per logical name. `"sharded"`: date-stamped shards (see `d1Shard` naming hook). */
|
|
5511
5524
|
type: "single" | "sharded";
|
|
5525
|
+
/**
|
|
5526
|
+
* Optional per-resource Cloudflare database name. For sharded D1, receives
|
|
5527
|
+
* {@link CloudflareNameContext.shardDate}. External D1 uses {@link databaseName} instead.
|
|
5528
|
+
*/
|
|
5529
|
+
cloudflareName?: CloudflareNameFn;
|
|
5512
5530
|
/**
|
|
5513
5531
|
* `managed` (default): Tamer creates the database; the Cloudflare name follows
|
|
5514
5532
|
* `naming.d1Single` / shard rules.
|
|
@@ -5538,14 +5556,18 @@ interface D1ResourceConfig {
|
|
|
5538
5556
|
*/
|
|
5539
5557
|
preserveOnDestroy?: boolean;
|
|
5540
5558
|
}
|
|
5541
|
-
/** R2 bucket on `resources.r2[]`. Name from {@link NamingConventions.r2Bucket}
|
|
5559
|
+
/** R2 bucket on `resources.r2[]`. Name from {@link cloudflareName} → {@link NamingConventions.r2Bucket} → default. */
|
|
5542
5560
|
interface R2ResourceConfig {
|
|
5543
5561
|
logicalName: string;
|
|
5562
|
+
/** Optional per-resource Cloudflare bucket name override. */
|
|
5563
|
+
cloudflareName?: CloudflareNameFn;
|
|
5544
5564
|
/** When set, used as the Wrangler R2 `binding` instead of the generated stable name. */
|
|
5545
5565
|
binding?: string;
|
|
5546
5566
|
}
|
|
5547
5567
|
interface KVResourceConfig {
|
|
5548
5568
|
logicalName: string;
|
|
5569
|
+
/** Optional per-resource Cloudflare KV namespace name override. */
|
|
5570
|
+
cloudflareName?: CloudflareNameFn;
|
|
5549
5571
|
/** When set, used as the Wrangler KV `binding` instead of the generated name. */
|
|
5550
5572
|
binding?: string;
|
|
5551
5573
|
}
|
|
@@ -5558,6 +5580,8 @@ interface KVResourceConfig {
|
|
|
5558
5580
|
*/
|
|
5559
5581
|
interface QueueResourceConfig {
|
|
5560
5582
|
logicalName: string;
|
|
5583
|
+
/** Optional per-resource Cloudflare queue name override. */
|
|
5584
|
+
cloudflareName?: CloudflareNameFn;
|
|
5561
5585
|
/** When set, used as the Wrangler queue `binding` instead of the generated name. */
|
|
5562
5586
|
binding?: string;
|
|
5563
5587
|
/**
|
|
@@ -5575,6 +5599,8 @@ interface QueueResourceConfig {
|
|
|
5575
5599
|
*/
|
|
5576
5600
|
interface HyperdriveResourceConfig {
|
|
5577
5601
|
logicalName: string;
|
|
5602
|
+
/** Optional per-resource Cloudflare Hyperdrive config name override. */
|
|
5603
|
+
cloudflareName?: CloudflareNameFn;
|
|
5578
5604
|
/** When set, used as the Wrangler hyperdrive `binding` instead of the generated name. */
|
|
5579
5605
|
binding?: string;
|
|
5580
5606
|
/** Origin database connection. Sent to Cloudflare on create; not stored in Tamer state. */
|
|
@@ -5604,6 +5630,8 @@ interface HyperdriveResourceConfig {
|
|
|
5604
5630
|
*/
|
|
5605
5631
|
interface VectorizeResourceConfig {
|
|
5606
5632
|
logicalName: string;
|
|
5633
|
+
/** Optional per-resource Cloudflare Vectorize index name override. */
|
|
5634
|
+
cloudflareName?: CloudflareNameFn;
|
|
5607
5635
|
/** When set, used as the Wrangler vectorize `binding` instead of the generated name. */
|
|
5608
5636
|
binding?: string;
|
|
5609
5637
|
/** Vector dimensionality (e.g. 768 for `@cf/baai/bge-base-en-v1.5`). Immutable. */
|
|
@@ -5625,6 +5653,8 @@ interface VectorizeResourceConfig {
|
|
|
5625
5653
|
*/
|
|
5626
5654
|
interface AIGatewayResourceConfig {
|
|
5627
5655
|
logicalName: string;
|
|
5656
|
+
/** Optional per-resource Cloudflare AI Gateway slug override. */
|
|
5657
|
+
cloudflareName?: CloudflareNameFn;
|
|
5628
5658
|
/** Cache TTL in seconds. Default 0 (caching disabled). */
|
|
5629
5659
|
cacheTtl?: number;
|
|
5630
5660
|
/** Invalidate cached entries when upstream model output changes. Default false. */
|
|
@@ -5657,6 +5687,8 @@ interface AIGatewayResourceConfig {
|
|
|
5657
5687
|
*/
|
|
5658
5688
|
interface PipelineResourceConfig {
|
|
5659
5689
|
logicalName: string;
|
|
5690
|
+
/** Optional per-resource Cloudflare Pipeline name override. */
|
|
5691
|
+
cloudflareName?: CloudflareNameFn;
|
|
5660
5692
|
/**
|
|
5661
5693
|
* Arroyo SQL describing the processing flow, e.g.
|
|
5662
5694
|
* `insert into my_sink select * from my_stream;`. Stream and sink names
|
|
@@ -5705,6 +5737,8 @@ interface HyperdriveOriginSpec {
|
|
|
5705
5737
|
*/
|
|
5706
5738
|
interface WorkflowResourceConfig {
|
|
5707
5739
|
logicalName: string;
|
|
5740
|
+
/** Optional per-resource Cloudflare workflow registration name override. */
|
|
5741
|
+
cloudflareName?: CloudflareNameFn;
|
|
5708
5742
|
/**
|
|
5709
5743
|
* Class name exported by the worker that implements this workflow
|
|
5710
5744
|
* (`export class BillingWorkflow extends WorkflowEntrypoint {...}` →
|
|
@@ -6015,6 +6049,8 @@ interface WorkerResources {
|
|
|
6015
6049
|
*/
|
|
6016
6050
|
interface SecretsStoreResourceConfig {
|
|
6017
6051
|
logicalName: string;
|
|
6052
|
+
/** Optional per-resource Cloudflare Secrets Store name override. */
|
|
6053
|
+
cloudflareName?: CloudflareNameFn;
|
|
6018
6054
|
}
|
|
6019
6055
|
/**
|
|
6020
6056
|
* One row in the worker's wrangler `secrets_store_secrets[]` array. Pure
|
|
@@ -6623,20 +6659,22 @@ interface TenantStatus {
|
|
|
6623
6659
|
}
|
|
6624
6660
|
/**
|
|
6625
6661
|
* Optional functions that derive **Cloudflare resource names** from config
|
|
6626
|
-
* (`logicalName`, `tenant.id`, `env`, etc.). Used
|
|
6627
|
-
*
|
|
6662
|
+
* (`logicalName`, `tenant.id`, `env`, etc.). Used when a resource has no
|
|
6663
|
+
* {@link CloudflareNameFn} override on its config.
|
|
6628
6664
|
*
|
|
6629
|
-
* **
|
|
6665
|
+
* **Resolution order (managed resources):**
|
|
6666
|
+
* 1. `resource.cloudflareName?(tenantId, env, ctx?)`
|
|
6667
|
+
* 2. stack `naming.{kindHook}?(...)` (this interface)
|
|
6668
|
+
* 3. {@link NamingEngine} built-in default
|
|
6630
6669
|
*
|
|
6631
|
-
* **
|
|
6632
|
-
* holds logical names and hooks; **state** holds `cfId` after `tamer sync`.
|
|
6633
|
-
* Run bootstrap → sync → plan before expecting adoption to succeed.
|
|
6670
|
+
* **Greenfield:** omit both per-resource overrides and this block.
|
|
6634
6671
|
*
|
|
6635
|
-
*
|
|
6636
|
-
*
|
|
6672
|
+
* **Brownfield:** use per-resource `cloudflareName` when names differ per
|
|
6673
|
+
* logical resource; use stack hooks for shared formulas. Config holds logical
|
|
6674
|
+
* names and hooks; **state** holds `cfId` after `tamer sync`.
|
|
6637
6675
|
*
|
|
6638
6676
|
* @see docs/brownfield-adoption.md
|
|
6639
|
-
* @see docs/
|
|
6677
|
+
* @see docs/per-resource-cloudflare-naming.md
|
|
6640
6678
|
*/
|
|
6641
6679
|
interface NamingConventions {
|
|
6642
6680
|
/**
|
|
@@ -6724,5 +6762,5 @@ declare function materializeCloudflareBindings(value: unknown): unknown;
|
|
|
6724
6762
|
*/
|
|
6725
6763
|
declare function defineCloudflareConfig(config: unknown): CfiConfig;
|
|
6726
6764
|
//#endregion
|
|
6727
|
-
export { AIGatewayResourceConfig, AIGatewayStateEntry, CfBinding, type CfBindingSpec, type CfLogpushPipelinesField, type CfResourceField, type CfResourceKind, CfiConfig, CfiConfigMulti, CfiConfigSingle, CfiOperationName, CfiOperationRecord, CfiOperationStatus, CfiStackConfig, CfiStackMeta, CfiStackOutputValue, CfiState, D1ResourceConfig, D1StateEntry, DispatchNamespaceResourceConfig, DispatchNamespaceStateEntry, DnsRecordResourceConfig, DnsRecordStateEntry, EnvOverride, HyperdriveOriginSpec, HyperdriveResourceConfig, HyperdriveStateEntry, KVResourceConfig, KVStateEntry, LogpushJobPipelinesAutoDestination, LogpushJobPipelinesIngestDestination, LogpushJobR2Destination, LogpushJobResourceConfig, LogpushJobStateEntry, LogpushPipelinesStateEntry, LogpushWorkersTraceDataset, NamingConventions, PipelineResourceConfig, PipelineStateEntry, ProvisioningStatus, QueueResourceConfig, QueueStateEntry, R2ResourceConfig, R2StateEntry, type RawConfig, type RawEnvironment, ResourceStatus, RouteResourceConfig, SecretsStoreResourceConfig, SecretsStoreSecretBinding, SecretsStoreStateEntry, StateEntry, TAMER_OVERLAY_ENV_KEY, TamerResolvableString, TenantD1ShardRef, TenantMeta, TenantStateEntry, TenantStatus, VectorizeResourceConfig, VectorizeStateEntry, WorkerConfig, WorkerResources, WorkerRouteStateEntry, WorkerStatus, WorkflowResourceConfig, WorkflowStateEntry, type WranglerConfig, type WranglerD1Database, type WranglerEnvironment, type WranglerKVNamespace, type WranglerR2Bucket, WranglerR2BucketResolvable, cf, cfBindingSpecToTamerRef, defineCloudflareConfig, defineConfig, defineProjectOverlay, defineWorker, getDispatchNamespaces, getDnsRecords, getLogpushJobs, isCfBinding, materializeCloudflareBindings, materializeTamerResolvable, materializeVars };
|
|
6765
|
+
export { AIGatewayResourceConfig, AIGatewayStateEntry, CfBinding, type CfBindingSpec, type CfLogpushPipelinesField, type CfResourceField, type CfResourceKind, CfiConfig, CfiConfigMulti, CfiConfigSingle, CfiOperationName, CfiOperationRecord, CfiOperationStatus, CfiStackConfig, CfiStackMeta, CfiStackOutputValue, CfiState, CloudflareNameContext, CloudflareNameFn, D1ResourceConfig, D1StateEntry, DispatchNamespaceResourceConfig, DispatchNamespaceStateEntry, DnsRecordResourceConfig, DnsRecordStateEntry, EnvOverride, HyperdriveOriginSpec, HyperdriveResourceConfig, HyperdriveStateEntry, KVResourceConfig, KVStateEntry, LogpushJobPipelinesAutoDestination, LogpushJobPipelinesIngestDestination, LogpushJobR2Destination, LogpushJobResourceConfig, LogpushJobStateEntry, LogpushPipelinesStateEntry, LogpushWorkersTraceDataset, NamingConventions, PipelineResourceConfig, PipelineStateEntry, ProvisioningStatus, QueueResourceConfig, QueueStateEntry, R2ResourceConfig, R2StateEntry, type RawConfig, type RawEnvironment, ResourceStatus, RouteResourceConfig, SecretsStoreResourceConfig, SecretsStoreSecretBinding, SecretsStoreStateEntry, StateEntry, TAMER_OVERLAY_ENV_KEY, TamerResolvableString, TenantD1ShardRef, TenantMeta, TenantStateEntry, TenantStatus, VectorizeResourceConfig, VectorizeStateEntry, WorkerConfig, WorkerResources, WorkerRouteStateEntry, WorkerStatus, WorkflowResourceConfig, WorkflowStateEntry, type WranglerConfig, type WranglerD1Database, type WranglerEnvironment, type WranglerKVNamespace, type WranglerR2Bucket, WranglerR2BucketResolvable, cf, cfBindingSpecToTamerRef, defineCloudflareConfig, defineConfig, defineProjectOverlay, defineWorker, getDispatchNamespaces, getDnsRecords, getLogpushJobs, isCfBinding, materializeCloudflareBindings, materializeTamerResolvable, materializeVars };
|
|
6728
6766
|
//# sourceMappingURL=index.d.mts.map
|
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/generated/wrangler-types.generated.ts","../src/generated/wrangler-types.ts","../src/dx/cloudflare-bindings.ts","../src/types.ts","../src/dx/normalize.ts","../src/dx/index.ts"],"sourcesContent":[],"mappings":";;AASA;;;;;AAOA;AAYA;AAaY,KAhCA,KAAA,GAgCA,MAAA,GAhCiB,WAgCI,GAhCU,aAgCV,GAhC0B,iBAgC1B;AAihEjC;;;;;;AAiHU,KA3pEE,oBAAA,GA2pEF,UAAA,GAAA,UAAA,GAAA,cAAA,GAAA,MAAA,GAAA,MAAA,GAAA,cAAA,GAAA,mBAAA;;;;;AAiOkB,KAh3EhB,IAAA,GAg3EgB,MAAA,GAAA,MAAA,GAAA,OAAA,GAAA,IAAA,GA32ExB,IA22EwB,EAAA,GAAA;EA2BZ,CAAA,CAAA,EAAA,MAAA,CAAA,EAp4EG,IAo4EH;CAOA;;;;;AAqwBF,KA1oGF,qBAAA,GA0oGE;EAOA;;;EA0fe,IAAA,EAAA,MAAA;EAAqB;AAoOlD;AASA;EASiB,UAAA,EAAA,MAAA;EAYA;AA+BjB;AAWA;EAsDW,WAAA,CAAA,EAAA,MAAA;EAMQ;;;EAoBL,WAAA,CAAA,EAAA,MAAA;CAiCL,EAAA;;;;;;;;;UAvhEQ,cAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAsDN;;;;;;mBAMQ,cAAc,gBAAgB;;;;;;;;;;;;;;;;;;;;eAoBlC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAiCL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6MI;oBACM;aACP;YACD;;;;;;;;;;;;;;;;;4BAiBgB;;;;;;;;;;;;;;;;;;;;;;;;;;;gBA2BZ;;;;;;;gBAOA;;;;;;;;;;;;;;;;;;;iBAmBC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAieI;;;;;;+BAMU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BAgPL;;;;;;;;;;;;;;;;;;;;;;;;;;;cA2BZ;;;;;;;cAOA;;;;;;;;;;;;;;;;;;;eAmBC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAieI;;;;;;6BAMU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAieI;;;;;;+BAMU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BAgPL;;;;;;;;;;;;;;;;;;;;;;;;;;;cA2BZ;;;;;;;cAOA;;;;;;;;;;;;;;;;;;;eAmBC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAieI;;;;;;6BAMU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/generated/wrangler-types.generated.ts","../src/generated/wrangler-types.ts","../src/dx/cloudflare-bindings.ts","../src/types.ts","../src/dx/normalize.ts","../src/dx/index.ts"],"sourcesContent":[],"mappings":";;AASA;;;;;AAOA;AAYA;AAaY,KAhCA,KAAA,GAgCA,MAAA,GAhCiB,WAgCI,GAhCU,aAgCV,GAhC0B,iBAgC1B;AAihEjC;;;;;;AAiHU,KA3pEE,oBAAA,GA2pEF,UAAA,GAAA,UAAA,GAAA,cAAA,GAAA,MAAA,GAAA,MAAA,GAAA,cAAA,GAAA,mBAAA;;;;;AAiOkB,KAh3EhB,IAAA,GAg3EgB,MAAA,GAAA,MAAA,GAAA,OAAA,GAAA,IAAA,GA32ExB,IA22EwB,EAAA,GAAA;EA2BZ,CAAA,CAAA,EAAA,MAAA,CAAA,EAp4EG,IAo4EH;CAOA;;;;;AAqwBF,KA1oGF,qBAAA,GA0oGE;EAOA;;;EA0fe,IAAA,EAAA,MAAA;EAAqB;AAoOlD;AASA;EASiB,UAAA,EAAA,MAAA;EAYA;AA+BjB;AAWA;EAsDW,WAAA,CAAA,EAAA,MAAA;EAMQ;;;EAoBL,WAAA,CAAA,EAAA,MAAA;CAiCL,EAAA;;;;;;;;;UAvhEQ,cAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAsDN;;;;;;mBAMQ,cAAc,gBAAgB;;;;;;;;;;;;;;;;;;;;eAoBlC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAiCL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6MI;oBACM;aACP;YACD;;;;;;;;;;;;;;;;;4BAiBgB;;;;;;;;;;;;;;;;;;;;;;;;;;;gBA2BZ;;;;;;;gBAOA;;;;;;;;;;;;;;;;;;;iBAmBC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAieI;;;;;;+BAMU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BAgPL;;;;;;;;;;;;;;;;;;;;;;;;;;;cA2BZ;;;;;;;cAOA;;;;;;;;;;;;;;;;;;;eAmBC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAieI;;;;;;6BAMU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAieI;;;;;;+BAMU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BAgPL;;;;;;;;;;;;;;;;;;;;;;;;;;;cA2BZ;;;;;;;cAOA;;;;;;;;;;;;;;;;;;;eAmBC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAieI;;;;;;6BAMU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBA4RN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAhoOvB;AAYY,KCVA,cAAA,GAAiB,SDiBN;AAMvB;AAihEiB,KCriEL,mBAAA,GAAsB,cDqiEH;;AA4DZ,KC9lEP,kBAAA,GAAqB,WD8lEd,CC9lE0B,SD8lE1B,CAAA,cAAA,CAAA,CAAA,CAAA,MAAA,CAAA;;AAA8B,KC3lErC,gBAAA,GAAmB,WD2lEkB,CC3lEN,SD2lEM,CAAA,YAAA,CAAA,CAAA,CAAA,MAAA,CAAA;;AAqDvC,KC7oEE,mBAAA,GAAsB,WD6oExB,CC7oEoC,SD6oEpC,CAAA,eAAA,CAAA,CAAA,CAAA,MAAA,CAAA;;;;AAlqEV;;;;;AAOA;AAYY,KEpBA,cAAA,GF2BO,IAAA,GAAI,IAAA,GAAA,IAAA,GAAA,OAAA,GAAA,YAAA,GAAA,WAAA,GAAA,YAAA,GAAA,UAAA,GAAA,UAAA,GAAA,cAAA;AAMX,KErBA,eAAA,GFqBqB,MAAA,GAAA,IAAA,GAAA,SAAA;AAihEhB,KEpiEL,uBAAA,GFoiEmB,4BAAA,GAAA,sCAAA,GAAA,2BAAA,GAAA,MAAA,GAAA,IAAA,GAAA,eAAA,GAAA,yBAAA,GAAA,mBAAA;AAsDpB,KEhlEC,aAAA,GFglED;EAMQ,CAAA,EAAA,UAAA;EAAc,IAAA,EErlEN,cFqlEM;EAAgB,OAAA,EAAA,MAAA;EAoBlC,KAAA,EEzmEoD,eFymEpD;CAiCL,GAAA;EA6MI,CAAA,EAAA,oBAAA;EACM,OAAA,EAAA,MAAA;EACP,KAAA,EAAA,MAAA,GAAA,IAAA;CACD,GAAA;EAiBgB,CAAA,EAAA,QAAA;EA2BZ,SAAA,EAAA,MAAA;EAOA,KAAA,EAAA,MAAA;CAmBC,GAAA;EAieI,CAAA,EAAA,mBAAA;EAMU,OAAA,EAAA,MAAA;EAgPL,KAAA,EEpnG4B,uBFonG5B;CA2BZ,GAAA;EAOA,CAAA,EAAA,QAAA;EAmBC,OAAA,EAAA,OAAA;EAieI,KAAA,EAAA,YAAA;CAMU,GAAA;EAAqB,CAAA,EAAA,QAAA;EAoOjC,KAAA,EAAA,MAAA;EASA,MAAA,EAAA,MAAA;AASjB,CAAA;AAYA;AA+BA;AAWA;AAsDW,cE3+HE,SAAA,CF2+HF;EAMQ,SAAA,IAAA,EEh/HiB,aFg/HjB;EAAc,WAAA,CAAA,IAAA,EEh/HG,aFg/HH;EAAgB,WAAA,CAAA,CAAA,EAAA,MAAA;;AAqDxC,iBE9hIO,uBAAA,CF8hIP,IAAA,EE9hIqC,aF8hIrC,CAAA,EAAA,MAAA;;;;;;;;;;;;AAk+BQ,cEl9JJ,EFk9JmB,EAAA;EAyCf,SAAA,EAAA,EAAA,CAAA,OAAY,EAAA,MAAA,EAAA,GAAA;IA0GZ,SAAA,IAAY,EE5nKb,SF4nKa;IAcZ,SAAA,EAAA,EEvoKH,SFuoKwB;IAUrB,SAAA,OAAA,EE9oKE,SF8oKiB;EAcnB,CAAA;EAaA,SAAA,EAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,GAAA;IAuDN,SAAA,IAAA,EEtuKK,SFsuKL;IAMQ,SAAA,EAAA,EEzuKL,SFyuKK;IAAc,SAAA,OAAA,EEtuKd,SFsuKc;EAAgB,CAAA;EAoBlC,SAAA,EAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,GAAA;IAiCL,SAAA,IAAA,EEjyKM,SFiyKN;IA6MI,SAAA,EAAA,EE3+KA,SF2+KA;IACM,SAAA,OAAA,EEz+KD,SFy+KC;EACP,CAAA;EACD,SAAA,KAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,GAAA;IAiBgB,SAAA,IAAA,EElgLZ,SFkgLY;IA2BZ,SAAA,EAAA,EE1hLF,SF0hLE;IAOA,SAAA,OAAA,EE9hLG,SF8hLH;EAmBC,CAAA;EAieI,SAAA,UAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,GAAA;IAMU,SAAA,IAAA,EE9hMf,SF8hMe;IAgPL,SAAA,EAAA,EE3wMZ,SF2wMY;IA2BZ,SAAA,OAAA,EEnyMK,SFmyML;EAOA,CAAA;EAmBC,SAAA,SAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,GAAA;IAieI,SAAA,IAAA,EEpyNH,SFoyNG;IAMU,SAAA,EAAA,EEvyNf,SFuyNe;IA4RN,SAAA,OAAA,EEhkOJ,SFgkOI;EAAmB,CAAA;;mBEtkO1B;iBAGF;ID3DF,SAAA,OAAc,EC8DP,SD9DU;EAGjB,CAAA;EAGA,SAAA,QAAA,EAAA,CAAA,OAAkB,EAAA,MAAe,EAAA,GAAA;IAGjC,SAAA,IAAA,EC+CI,SD/CY;IAGhB,SAAA,EAAA,EC+CE,SD/CiB;sBCkDZ;;;IAxEP,SAAA,IAAc,EAkEV,SAlEU;IAYd,SAAA,EAAA,EAyDE,SAzDa;IAEf,SAAA,OAAA,EA0DO,SA1DgB;EAUvB,CAAA;EACe,SAAA,WAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,GAAA;IAAwC,SAAA,IAAA,EAyCnD,SAzCmD;IAGb,SAAA,EAAA,EAyCxC,SAzCwC;IAAuB,SAAA,OAAA,EA4C1D,SA5C0D;EAOhE,CAAA;EAQG,SAAA,iBAAuB,EAAA,CAAA,OAAA,EAAO,MAAA,EAAA,GAAA;IA8CjC,SAmFH,IAAA,EAtEM,SAsEN;IA1GM,SAAA,EAAA,EAuCF,SAvCE;EAGF,CAAA;EAGK;EANH,SAAA,MAAA,EAAA,CAAA,SAAA,EAAA,MAAA,EAAA,GAAA;IAGF,SAAA,IAAA,EA2CE,SA3CF;EAGK,CAAA;EANH,SAAA,gBAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,GAAA;IAGF,SAAA,sBAAA,EAiDoB,SAjDpB;IAGK,SAAA,+BAAA,EAqDwB,SArDxB;IANH,SAAA,sBAAA,EAkEkB,SAlElB;IAGF,SAAA,YAAA,EAsEU,SAtEV;IAGK,SAAA,UAAA,EAsEG,SAtEH;IANH;IAGF,SAAA,YAAA,EA6EU,SA7EV;IAGK;IANH,SAAA,qBAAA,EAoFiB,SApFjB;IAGF;IAGK,SAAA,gBAAA,EAsFS,SAtFT;EANH,CAAA;EAGF,SAAA,KAAA,EAAA;IAGK,SAAA,SAAA,EA4FE,SA5FF;EANH,CAAA;EAGF;EAGK,SAAA,MAAA,EAAA,CAAA,KAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,GAkGqB,SAlGrB;CANH;AAGF,iBAyGE,WAAA,CAzGF,CAAA,EAAA,OAAA,CAAA,EAAA,CAAA,IAyGgC,SAzGhC;;;;;;AF7Dd;AAYA;AAaY,KG5BA,qBAAA,GH4BqB,MAAA,GG5BY,SH4BZ;AAihEjC;AAsDW,UGhmEM,qBAAA,CHgmEN;EAMQ;EAAc,SAAA,CAAA,EAAA,MAAA;;;;;;;;AAsRL,KGj3EhB,gBAAA,GHi3EgB,CAAA,QAAA,EAAA,MAAA,EAAA,GAAA,EAAA,MAAA,EAAA,GAAA,CAAA,EG92EpB,qBH82EoB,EAAA,GAAA,MAAA;;AAkCZ,KG54EJ,0BAAA,GAA6B,IH44EzB,CG34Ed,gBH24Ec,EAAA,aAAA,CAAA,GAAA;EAmBC,WAAA,CAAA,EG35ED,qBH25EC;CAieI;;;;;;AA4wBF,UG9nHF,UAAA,CH8nHE;EAMU,EAAA,EAAA,MAAA;EAAqB,IAAA,EAAA,MAAA;EAoOjC,IAAA,EAAA,MAAA;EASA;AASjB;AAYA;AA+BA;AAWA;;;;;;;;;;;;;;;EAw2BqB,QAAA,CAAA,EAAA,MAAA,EAAA;EAMU;;AAqO/B;AAyCA;AA0GA;AAcA;AAUA;AAcA;;;;EA0EiC,aAAA,CAAA,EAAA,MAAA,EAAA;EAAgB;;;;;;;;;;;;;EAkiCvB,mBAAA,CAAA,EAAA,MAAA;;;;;;;;UG5uMT,gBAAA;;;EF1FL,IAAA,EAAA,QAAA,GAAc,SAAA;EAGd;AAGZ;AAGA;AAGA;mBEsFmB;;;AD5GnB;AAYA;AAEA;AAUA;;;EAIsD,SAAA,CAAA,EAAA,SAAA,GAAA,UAAA;EAAuB;AAO7E;AAQA;AA8CA;;EApBc,YAAA,CAAA,ECsDG,qBDtDH;EAGK;EANH,OAAA,CAAA,EAAA,MAAA;EAGF,aAAA,CAAA,EAAA,MAAA;EAGK,eAAA,CAAA,EAAA,MAAA;EANH;;;;;;;;EAMG,iBAAA,CAAA,EAAA,OAAA;;;AAAA,UCoEF,gBAAA,CDpEE;EANH,WAAA,EAAA,MAAA;EAGF;EAGK,cAAA,CAAA,ECuEA,gBDvEA;EANH;EAGF,OAAA,CAAA,EAAA,MAAA;;AAHE,UCkFC,gBAAA,CDlFD;EAGF,WAAA,EAAA,MAAA;EAGK;EANH,cAAA,CAAA,ECqFG,gBDrFH;EAGF;EAGK,OAAA,CAAA,EAAA,MAAA;;;;;;;;;AA0EK,UCiBP,mBAAA,CDjBO;EAIS,WAAA,EAAA,MAAA;EAQL;EAMP,cAAA,CAAA,ECEF,gBDFE;EAMmB;EAAA,OAAA,CAAA,EAAA,MAAA;EAIxB;;;;ECzKJ,YAAA,CAAA,EAAA,OAAA;AAGZ;AAWA;AAOA;;;;;AAcA;AA4DiB,UAmFA,wBAAA,CA3EE;EAgCF,WAAA,EAAA,MAAgB;EAQhB;EAeA,cAAA,CAAA,EAuBE,gBAvBiB;EAoBnB;EA6BA,OAAA,CAAA,EAAA,MAAA;EAwBA;EAmCA,MAAA,EAjFP,oBAiF6B;EAmBtB;EA6BA,OAAA,CAAA,EAAA;IA0DL,QAAA,CAAA,EAAA,OAAA;IAMK,OAAA,CAAA,EAAA,MAAA;IAoBA,sBAAA,CAAA,EAAA,MAAA;EAwBA,CAAA;EAkCA;EAEN,IAAA,CAAA,EAAA;IAOJ,iBAAA,CAAA,EAAA,MAAA;IAOa,mBAAA,CAAA,EAAA,MAAA;EAKF,CAAA;EAAkC;EA0CnC,qBAAA,CAAA,EAAA,MAAuB;AAuExC;AAWA;;;;;;;;;AASc,UAnZG,uBAAA,CAmZH;EASI,WAAA,EAAA,MAAA;EASM;EAAyB,cAAA,CAAA,EAla9B,gBAka8B;EAgBhC;EAaA,OAAA,CAAA,EAAA,MAAA;EAwBA;EAgCZ,UAAA,EAAA,MAAa;EASb;EAA0B,MAAA,EAAA,QAAA,GAAA,WAAA,GAAA,aAAA;EAAgB;EAArB,WAAA,CAAA,EAAA,MAAA;;AAE1B;;;;;;;;AAqBA;;AAMc,UAxgBG,uBAAA,CAwgBH;EAEC,WAAA,EAAA,MAAA;EAEC;EAMN,cAAA,CAAA,EA/gBS,gBA+gBT;EACc;EAAf,QAAA,CAAA,EAAA,MAAA;EAeC;EACa,uBAAA,CAAA,EAAA,OAAA;EAAf;EAjC8B,WAAA,CAAA,EAAA,OAAA;EAAI;EA+CzB,cAAA,CAAA,EAAc,OAAA;EAarB;EACA,oBAAA,CAAA,EAAA,MAAA;EAUC;EAED,iBAAA,CAAA,EAAA,MAAA;EAEa;EAYR,qBAAA,CAAA,EAAA,OAAA,GAAA,SAAA;;;;;AAqCf;AAMA;;;;;AAUA;AAiBA;AAQA;AAcA;;;AAGuB,UArpBN,sBAAA,CAqpBM;EAAI,WAAA,EAAA,MAAA;EAAmB;EAAwB,cAAA,CAAA,EAlpBnD,gBAkpBmD;EAAC;AACvE;;;;EAEI,GAAA,EAAA,MAAA;EA4BY;AAIhB;AAMA;AAIA;AAMA;EAciB,OAAA,CAAA,EAAA,MAAY;AAU7B;AAUA;AAaiB,UApuBA,oBAAA,CAouBmB;EAenB,MAAA,EAAA,UAAA,GAAA,YAAoB,GAAA,OAAA;EAiBpB,IAAA,EAAA,MAAA;EAmBA,IAAA,CAAA,EAAA,MAAA;EAiBA,QAAA,EAAA,MAAA;EAsBA,IAAA,EAAA,MAAA;EAaA;AAkCjB;AASA;AAgBA;EA6CiB,QAAA,EAAA,MAAA,GAAA;IAaL,OAAA,EAAU,MAAA;EAClB,CAAA;EACA;EACA,gBAAA,CAAA,EAAA,MAAA;EACA,oBAAA,CAAA,EAAA,MAAA,GAAA;IACA,OAAA,EAAA,MAAA;EACA,CAAA;;;;;;;;;;;AAYJ;AAQA;AAUA;AAgBA;AAUY,UAj+BK,sBAAA,CAi+BW;EAUhB,WAAA,EAAA,MAAA;EAEK;EAUA,cAAQ,CAAA,EAp/BN,gBAo/BM;EAKG;;;;;;EAcX,SAAA,EAAA,MAAA;EAEC;;;AAalB;AAWA;AAEA;;EASY,UAAA,CAAA,EAAA,MAAA;EAJN;;;;AAUN;EA2BiB,OAAA,CAAA,EAAA,MAAA;;;;ACn5CjB;EAIgB,MAAA,CAAA,EAAA;IACO,KAAA,CAAA,EAAA,MAAA;EAAf,CAAA;;;AAaR;;;;ACMA;;;;;;;;;;;;;;;;;;;;;KFqWY,0BAAA;;;;;UAMK,uBAAA;;;;;;;;;;;;;;;;;;;UAoBA,oCAAA;;;;;;;;;;;;;;;;;;;;;;;UAwBA,kCAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAkCA,wBAAA;;WAEN;;;;;;;OAOJ;;;;;;;oBAOa;;;;;kBAKF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UA0CD,uBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAuEA,+BAAA;;;;;;;;;;UAWA,eAAA;OACV;OACA;OACA;WACI;eACI;cACD;cACA;cACA;cACA;;;;;;;;;kBASI;;;;;;;;;wBASM;;;;;;;;;;;;;;;UAgBP,0BAAA;;;mBAGE;;;;;;;;;UAUF,yBAAA;;;;;;;;;;;;;;;;;;;;;;;UAwBA,mBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAgCZ,aAAA;KASA,kBAAA,GAAqB,KAAK,gBAAgB;UAE9B,WAAA,SAAoB,KACnC;SAGO,eAAe;;eAET;;;;;;gBAMC;;;;;;;;UASC,YAAA,SAAqB,KACpC;;;cAKY;;eAEC;;gBAEC;;;;;;UAMN;SACD,eAAe;;;;;;;;;;;;;;;UAed;QACF,eAAe;;;;;;;;;;;UAcN,cAAA;;;;;;;;;;;;UAaP,aAAA;UACA;;;;;;;;;;WAUC;;UAED;;uBAEa;;;;;;;;;;;;eAYR;;;;;;;gBAOC;;;;;;;;;;;;;;;;;;;;;;;;;;YA0BJ,eAAe;;;UAIV,eAAA,SAAwB;UAC/B;;;;UAKO,cAAA,SAAuB;WAC7B,eAAe;;;;;;;;KASd,SAAA,GAAY,kBAAkB;;;;;;;;;;;;;;iBAiB1B,YAAA,SAAqB,YAAY;;;;;cAQpC;;;;;;;;;;;;;iBAcG,iDAEJ,iCACF,aAAa,IAAI,mBAAmB,wBAAwB;iBACtD,+BAA+B,mCACnC,IACT;;;;;iBA4Ba,YAAA,SAAqB,eAAe;iBAIpC,qBAAA,SACN,YACP;iBAIa,aAAA,SAAsB,YAAY;iBAIlC,cAAA,SAAuB,YAAY;UAMlC,YAAA;;;;;;;;;;;;;UAcA,YAAA;;;;;;;;;UAUA,YAAA;;;;;;;;;UAUA,eAAA;;;;;;;;;;;;UAaA,mBAAA;;;;;;;;;;;;;;UAeA,oBAAA;;;;;;;;;;;;;;;;UAiBA,mBAAA;;;;;;;;;;;;;;;;;;UAmBA,kBAAA;;;;;;;;;;;;;;;;UAiBA,kBAAA;;;;;;;;;;;;;;;;;;;;;;;UAsBA,sBAAA;;;;;;;;;;;;UAaA,mBAAA;;;;;;;;;;;;;;;;;;;;;;UAkCA,2BAAA;;;;;;;;UASA,oBAAA;;;;;;;;;;;;;;;UAgBA,0BAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UA6CA,qBAAA;;;;;;;;;;;;KAaL,UAAA,GACR,eACA,eACA,eACA,kBACA,uBACA,sBACA,sBACA,qBACA,qBACA,yBACA,sBACA,8BACA,uBACA,6BACA;;KAGQ,kBAAA;UAQK,gBAAA;;;;;;;;;UAUA,gBAAA;;;sBAGK;;;aAGT;;;;;;;;;UAUI,YAAA;;;;;;;;;KAUL,gBAAA;KAUA,kBAAA;UAEK,kBAAA;WACN;UACD;;;;;;;UAQO,QAAA;;;;;aAKJ,eAAe;;;;YAIhB,eAAe;;UAEjB;;;;;;;;iBAQO,eAAe;;kBAEd;;;;;qBAKG;;;;;;;UAQJ,mBAAA;;;;;;;;KAWL,cAAA;UAEK,YAAA;;;;UAIP;MACJ;;;;YAIM;;MAEN;;;YAA+C;;;;UAIpC,YAAA;UACP;;WAEC;;;;;;;;;;;;;;;;;;;;;UAwBM,iBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AH94CjB;AAA6B,iBILb,0BAAA,CJKa,CAAA,EILiB,qBJKjB,CAAA,EAAA,MAAA;AAAc,iBID3B,eAAA,CJC2B,IAAA,EIAnC,MJAmC,CAAA,MAAA,EIApB,qBJAoB,CAAA,GAAA,SAAA,CAAA,EICxC,MJDwC,CAAA,MAAA,EAAA,MAAA,CAAA,GAAA,SAAA;;;AAO3C;AAYA;AAaA;AAihEiB,iBIpiED,6BAAA,CJoiEe,KAAA,EAAA,OAAA,CAAA,EAAA,OAAA;;;;;;AA1iE/B;AAYA;AAaA;AAihEA;;AA4DmB,iBK1lEH,sBAAA,CL0lEG,MAAA,EAAA,OAAA,CAAA,EK1lEsC,SL0lEtC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { c as TAMER_OVERLAY_ENV_KEY, t as materializeCloudflareBindings } from "./normalize-DVSTRZhO.mjs";
|
|
2
|
-
import { a as boolean, c as
|
|
2
|
+
import { a as boolean, c as literal, d as record, f as string, i as array, l as number, n as _enum, o as custom, p as union, r as any, u as object } from "./tamer.mjs";
|
|
3
3
|
import { basename, dirname, resolve } from "path";
|
|
4
4
|
import { existsSync } from "fs";
|
|
5
5
|
|
|
@@ -234,9 +234,11 @@ const TenantMetaSchema = object({
|
|
|
234
234
|
}
|
|
235
235
|
}, "tenant.ephemeralEnvPattern must be a valid JavaScript RegExp source string")
|
|
236
236
|
});
|
|
237
|
+
const CloudflareNameFnSchema = custom((v) => v === void 0 || typeof v === "function").optional();
|
|
237
238
|
const D1ResourceConfigSchema = object({
|
|
238
239
|
logicalName: string().min(1),
|
|
239
240
|
type: _enum(["single", "sharded"]),
|
|
241
|
+
cloudflareName: CloudflareNameFnSchema,
|
|
240
242
|
ownership: _enum(["managed", "external"]).optional(),
|
|
241
243
|
databaseName: string().optional(),
|
|
242
244
|
binding: string().optional(),
|
|
@@ -246,14 +248,17 @@ const D1ResourceConfigSchema = object({
|
|
|
246
248
|
}).refine((d) => d.ownership !== "external" || typeof d.databaseName === "string" && d.databaseName.length > 0, { error: "resources.d1: ownership 'external' requires non-empty databaseName" }).refine((d) => d.ownership !== "external" || d.type === "single", { error: "resources.d1: ownership 'external' only supports type 'single'" });
|
|
247
249
|
const R2ResourceConfigSchema = object({
|
|
248
250
|
logicalName: string().min(1),
|
|
251
|
+
cloudflareName: CloudflareNameFnSchema,
|
|
249
252
|
binding: string().optional()
|
|
250
253
|
});
|
|
251
254
|
const KVResourceConfigSchema = object({
|
|
252
255
|
logicalName: string().min(1),
|
|
256
|
+
cloudflareName: CloudflareNameFnSchema,
|
|
253
257
|
binding: string().optional()
|
|
254
258
|
});
|
|
255
259
|
const QueueResourceConfigSchema = object({
|
|
256
260
|
logicalName: string().min(1),
|
|
261
|
+
cloudflareName: CloudflareNameFnSchema,
|
|
257
262
|
binding: string().optional(),
|
|
258
263
|
consumerOnly: boolean().optional()
|
|
259
264
|
});
|
|
@@ -274,6 +279,7 @@ const HyperdriveOriginSchema = object({
|
|
|
274
279
|
});
|
|
275
280
|
const HyperdriveResourceConfigSchema = object({
|
|
276
281
|
logicalName: string().min(1),
|
|
282
|
+
cloudflareName: CloudflareNameFnSchema,
|
|
277
283
|
binding: string().optional(),
|
|
278
284
|
origin: HyperdriveOriginSchema,
|
|
279
285
|
caching: object({
|
|
@@ -289,6 +295,7 @@ const HyperdriveResourceConfigSchema = object({
|
|
|
289
295
|
});
|
|
290
296
|
const VectorizeResourceConfigSchema = object({
|
|
291
297
|
logicalName: string().min(1),
|
|
298
|
+
cloudflareName: CloudflareNameFnSchema,
|
|
292
299
|
binding: string().optional(),
|
|
293
300
|
dimensions: number().int().positive(),
|
|
294
301
|
metric: _enum([
|
|
@@ -300,6 +307,7 @@ const VectorizeResourceConfigSchema = object({
|
|
|
300
307
|
});
|
|
301
308
|
const AIGatewayResourceConfigSchema = object({
|
|
302
309
|
logicalName: string().min(1),
|
|
310
|
+
cloudflareName: CloudflareNameFnSchema,
|
|
303
311
|
cacheTtl: number().int().nonnegative().optional(),
|
|
304
312
|
cacheInvalidateOnUpdate: boolean().optional(),
|
|
305
313
|
collectLogs: boolean().optional(),
|
|
@@ -379,17 +387,22 @@ const DnsRecordResourceConfigSchema = object({
|
|
|
379
387
|
});
|
|
380
388
|
const PipelineResourceConfigSchema = object({
|
|
381
389
|
logicalName: string().min(1),
|
|
390
|
+
cloudflareName: CloudflareNameFnSchema,
|
|
382
391
|
sql: string().min(1),
|
|
383
392
|
binding: string().min(1).optional()
|
|
384
393
|
});
|
|
385
394
|
const WorkflowResourceConfigSchema = object({
|
|
386
395
|
logicalName: string().min(1),
|
|
396
|
+
cloudflareName: CloudflareNameFnSchema,
|
|
387
397
|
className: string().min(1),
|
|
388
398
|
scriptName: string().min(1).optional(),
|
|
389
399
|
binding: string().min(1).optional(),
|
|
390
400
|
limits: object({ steps: number().int().positive().optional() }).optional()
|
|
391
401
|
});
|
|
392
|
-
const SecretsStoreResourceConfigSchema = object({
|
|
402
|
+
const SecretsStoreResourceConfigSchema = object({
|
|
403
|
+
logicalName: string().min(1),
|
|
404
|
+
cloudflareName: CloudflareNameFnSchema
|
|
405
|
+
});
|
|
393
406
|
const SecretsStoreSecretBindingSchema = object({
|
|
394
407
|
binding: string().min(1),
|
|
395
408
|
store: string().min(1),
|
|
@@ -515,4 +528,4 @@ async function resolveWorkerConfigRef(wc, baseDir) {
|
|
|
515
528
|
|
|
516
529
|
//#endregion
|
|
517
530
|
export { loadConfig as n, getWorkers as t };
|
|
518
|
-
//# sourceMappingURL=loader-
|
|
531
|
+
//# sourceMappingURL=loader-DnT9iqz9.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loader-DnT9iqz9.mjs","names":["out: Record<string, unknown>","overlay: string | null","z.object","z.string","z\n .array","z\n .string","z.array","z\n .string","z\n .custom","z\n .object","z.enum","z.boolean","z.union","z.number","z\n .object","z.literal","z\n .enum","z.record","z\n .union","z.any","z\n .object","z\n .string","z\n .record","raw: unknown","entries: [string, WorkerConfig][]"],"sources":["../src/core/config/merge-project-overlay.ts","../src/core/config/resolve-config-sources.ts","../src/core/config/loader.ts"],"sourcesContent":["/**\n * Deep-merge `tamer/env/<env>.config.ts` onto `tamer/project.config.ts`.\n * See docs/design-tamer-project-config.md.\n */\n\nfunction isPlainObject(v: unknown): v is Record<string, unknown> {\n return (\n v !== null &&\n typeof v === \"object\" &&\n !Array.isArray(v) &&\n !(v instanceof Date)\n );\n}\n\nfunction validateOverlayWorkers(\n projectWorkers: Record<string, unknown>,\n overlayWorkers: Record<string, unknown>,\n): void {\n for (const k of Object.keys(overlayWorkers)) {\n if (!(k in projectWorkers)) {\n throw new Error(\n `Tamer env overlay: unknown worker key \"${k}\". ` +\n `Declare \"${k}\" in tamer/project.config.ts first — overlays may only patch existing workers.`,\n );\n }\n }\n}\n\nfunction mergeWorkerResources(\n base: Record<string, unknown>,\n patch: Record<string, unknown>,\n): Record<string, unknown> {\n const out = { ...base };\n for (const k of Object.keys(patch)) {\n const pk = patch[k];\n if (pk !== undefined) {\n out[k] = pk;\n }\n }\n return out;\n}\n\nfunction mergeEnvMap(\n base: Record<string, unknown>,\n patch: Record<string, unknown>,\n): Record<string, unknown> {\n const out = { ...base };\n for (const k of Object.keys(patch)) {\n const b = base[k];\n const p = patch[k];\n if (isPlainObject(b) && isPlainObject(p)) {\n out[k] = mergeWorkerConfig(b, p);\n } else {\n out[k] = p;\n }\n }\n return out;\n}\n\nfunction mergeWorkerConfig(\n base: Record<string, unknown>,\n patch: Record<string, unknown>,\n): Record<string, unknown> {\n const out: Record<string, unknown> = { ...base };\n for (const key of Object.keys(patch)) {\n const pv = patch[key];\n if (pv === undefined) continue;\n\n if (key === \"vars\") {\n const bv = isPlainObject(base.vars) ? base.vars : {};\n const ov = isPlainObject(patch.vars) ? patch.vars : {};\n out.vars = { ...bv, ...ov };\n continue;\n }\n if (key === \"tamerRoutes\") {\n out.tamerRoutes = pv;\n continue;\n }\n if (key === \"tamerStaleRouteSweepZones\") {\n out.tamerStaleRouteSweepZones = pv;\n continue;\n }\n if (key === \"resources\") {\n if (isPlainObject(base.resources) && isPlainObject(pv)) {\n out.resources = mergeWorkerResources(base.resources, pv);\n } else {\n out.resources = pv;\n }\n continue;\n }\n if (key === \"env\") {\n if (isPlainObject(base.env) && isPlainObject(pv)) {\n out.env = mergeEnvMap(base.env, pv);\n } else {\n out.env = pv;\n }\n continue;\n }\n if (key === \"local\") {\n if (isPlainObject(base.local) && isPlainObject(pv)) {\n out.local = mergeWorkerConfig(\n base.local as Record<string, unknown>,\n pv as Record<string, unknown>,\n );\n } else {\n out.local = pv;\n }\n continue;\n }\n out[key] = pv;\n }\n return out;\n}\n\nfunction mergeWorkersRecord(\n base: Record<string, unknown>,\n patch: Record<string, unknown>,\n): Record<string, unknown> {\n const out = { ...base };\n for (const k of Object.keys(patch)) {\n const b = base[k];\n const p = patch[k];\n if (isPlainObject(b) && isPlainObject(p)) {\n out[k] = mergeWorkerConfig(b, p);\n } else {\n out[k] = p;\n }\n }\n return out;\n}\n\n/**\n * Merge env overlay onto project config (both plain objects from `default` exports).\n * Does not run {@link materializeCloudflareBindings} — caller does that on the result.\n */\nexport function mergeProjectOverlay(\n project: Record<string, unknown>,\n overlay: Record<string, unknown>,\n): Record<string, unknown> {\n const out: Record<string, unknown> = { ...project };\n for (const key of Object.keys(overlay)) {\n const ov = overlay[key];\n if (ov === undefined) continue;\n const pv = project[key];\n\n switch (key) {\n case \"tenant\":\n if (isPlainObject(pv) && isPlainObject(ov)) {\n out[key] = { ...pv, ...ov };\n } else {\n out[key] = ov;\n }\n break;\n case \"naming\":\n out[key] = ov;\n break;\n case \"workers\":\n if (!isPlainObject(pv) || !isPlainObject(ov)) {\n out[key] = ov;\n break;\n }\n validateOverlayWorkers(pv, ov);\n out[key] = mergeWorkersRecord(pv, ov);\n break;\n case \"worker\":\n if (isPlainObject(pv) && isPlainObject(ov)) {\n out[key] = mergeWorkerConfig(pv, ov);\n } else {\n out[key] = ov;\n }\n break;\n case \"outputs\":\n if (isPlainObject(pv) && isPlainObject(ov)) {\n out[key] = { ...pv, ...ov };\n } else {\n out[key] = ov;\n }\n break;\n case \"logpushJobs\":\n case \"dispatchNamespaces\":\n case \"dnsRecords\":\n out[key] = ov;\n break;\n default:\n out[key] = ov;\n }\n }\n return out;\n}\n","import { existsSync } from \"fs\";\nimport { basename, dirname, join, resolve } from \"path\";\n\nexport type ResolvedConfigSources =\n | { mode: \"single\"; path: string }\n | { mode: \"merged\"; projectPath: string; overlayPath: string | null };\n\nfunction isProjectFileName(file: string): boolean {\n return file === \"project.config.ts\" || file === \"tamer.project.config.ts\";\n}\n\nfunction projectDirForMergedEntry(absProject: string): string {\n const dir = dirname(absProject);\n const file = basename(absProject);\n if (file === \"project.config.ts\") {\n return dir;\n }\n return dir;\n}\n\nfunction overlayPathForNestedLayout(projectDir: string, env: string): string {\n return resolve(projectDir, \"env\", `${env}.config.ts`);\n}\n\nfunction overlayPathForFlatLayout(projectRoot: string, env: string): string {\n return resolve(projectRoot, `tamer.env.${env}.ts`);\n}\n\nfunction rejectLegacyTamerConfigFile(context: string): never {\n throw new Error(\n `${context}: tamer.config.ts is not supported. ` +\n `Move the default export to tamer/project.config.ts and optional per-env overlays to tamer/env/<env>.config.ts ` +\n `(or use tamer.project.config.ts at the repo root with optional tamer.env.<env>.ts).`,\n );\n}\n\n/**\n * Resolve which config file(s) to load. See docs/design-tamer-project-config.md.\n *\n * - **Merged:** `tamer/project.config.ts` or `tamer.project.config.ts`, plus optional env overlay.\n * - **Single:** explicit `--config` path to any `.ts` file **except** `tamer.config.ts` (e.g. alternate snapshots in tests).\n */\nexport function resolveConfigSources(\n cwd: string,\n explicitConfigPath: string | undefined,\n env: string | undefined,\n): ResolvedConfigSources {\n if (explicitConfigPath) {\n const abs = resolve(cwd, explicitConfigPath);\n const file = basename(abs);\n if (file === \"tamer.config.ts\") {\n rejectLegacyTamerConfigFile(\"--config\");\n }\n if (isProjectFileName(file)) {\n const projectDir = projectDirForMergedEntry(abs);\n let overlay: string | null = null;\n if (env) {\n if (file === \"project.config.ts\") {\n const candidate = overlayPathForNestedLayout(projectDir, env);\n if (existsSync(candidate)) overlay = candidate;\n } else {\n const candidate = overlayPathForFlatLayout(dirname(abs), env);\n if (existsSync(candidate)) overlay = candidate;\n }\n }\n return { mode: \"merged\", projectPath: abs, overlayPath: overlay };\n }\n return { mode: \"single\", path: abs };\n }\n\n const nestedProject = resolve(cwd, \"tamer\", \"project.config.ts\");\n if (existsSync(nestedProject)) {\n let overlay: string | null = null;\n if (env) {\n const candidate = overlayPathForNestedLayout(\n dirname(nestedProject),\n env,\n );\n if (existsSync(candidate)) overlay = candidate;\n }\n return {\n mode: \"merged\",\n projectPath: nestedProject,\n overlayPath: overlay,\n };\n }\n\n const flatProject = resolve(cwd, \"tamer.project.config.ts\");\n if (existsSync(flatProject)) {\n let overlay: string | null = null;\n if (env) {\n const candidate = overlayPathForFlatLayout(cwd, env);\n if (existsSync(candidate)) overlay = candidate;\n }\n return {\n mode: \"merged\",\n projectPath: flatProject,\n overlayPath: overlay,\n };\n }\n\n if (existsSync(resolve(cwd, \"tamer.config.ts\"))) {\n rejectLegacyTamerConfigFile(\"Config discovery\");\n }\n\n throw new Error(\n `No Tamer project config under ${cwd}. ` +\n `Create tamer/project.config.ts (or tamer.project.config.ts at the repo root).`,\n );\n}\n","import { resolve } from \"path\";\nimport { z } from \"zod\";\nimport { materializeCloudflareBindings } from \"../../dx/normalize.js\";\nimport type { CfiConfig, WorkerConfig } from \"../../types.js\";\nimport { TAMER_OVERLAY_ENV_KEY } from \"../../types.js\";\nimport { mergeProjectOverlay } from \"./merge-project-overlay.js\";\nimport { resolveConfigSources } from \"./resolve-config-sources.js\";\n\nconst TENANT_SHARD_ROLE_RE = /^[a-z][a-z0-9_-]*$/;\n\nconst TenantMetaSchema = z.object({\n id: z.string().min(1),\n name: z.string().min(1),\n slug: z.string().min(1),\n d1Shards: z\n .array(\n z\n .string()\n .min(1)\n .refine((s) => TENANT_SHARD_ROLE_RE.test(s), {\n // Roles flow into D1 database names (`db_{role}_…`); D1 names\n // accept `[A-Za-z0-9_-]` and Cloudflare lowercases on read,\n // so we lock roles to the same lowercase subset to avoid the\n // \"config says `System` but Cloudflare returns `system`\"\n // adoption drift.\n error:\n \"tenant.d1Shards entries must be lowercase ASCII (letters, digits, `_`, `-`) and start with a letter\",\n }),\n )\n .optional()\n .refine(\n (arr) => !arr || new Set(arr).size === arr.length,\n \"tenant.d1Shards must not contain duplicate roles\",\n ),\n protectedEnvs: z.array(z.string().min(1)).optional(),\n ephemeralEnvPattern: z\n .string()\n .min(1)\n .optional()\n .refine(\n (s) => {\n if (s == null) return true;\n try {\n new RegExp(s);\n return true;\n } catch {\n return false;\n }\n },\n // Compile-fail at config-load time so a typo in\n // `ephemeralEnvPattern` surfaces here instead of later when\n // `apply` / `provision-tenant` tries to resolve a namespace.\n \"tenant.ephemeralEnvPattern must be a valid JavaScript RegExp source string\",\n ),\n});\n\nconst CloudflareNameFnSchema = z\n .custom<(tenantId: string, env: string, ctx?: { shardDate?: string }) => string>(\n (v) => v === undefined || typeof v === \"function\",\n )\n .optional();\n\nconst D1ResourceConfigSchema = z\n .object({\n logicalName: z.string().min(1),\n type: z.enum([\"single\", \"sharded\"]),\n cloudflareName: CloudflareNameFnSchema,\n ownership: z.enum([\"managed\", \"external\"]).optional(),\n databaseName: z.string().optional(),\n binding: z.string().optional(),\n migrationsDir: z.string().optional(),\n migrationsTable: z.string().optional(),\n preserveOnDestroy: z.boolean().optional(),\n })\n .refine(\n (d) =>\n d.ownership !== \"external\" ||\n (typeof d.databaseName === \"string\" && d.databaseName.length > 0),\n { error: \"resources.d1: ownership 'external' requires non-empty databaseName\" },\n )\n .refine(\n (d) => d.ownership !== \"external\" || d.type === \"single\",\n { error: \"resources.d1: ownership 'external' only supports type 'single'\" },\n );\n\nconst R2ResourceConfigSchema = z.object({\n logicalName: z.string().min(1),\n cloudflareName: CloudflareNameFnSchema,\n binding: z.string().optional(),\n});\n\nconst KVResourceConfigSchema = z.object({\n logicalName: z.string().min(1),\n cloudflareName: CloudflareNameFnSchema,\n binding: z.string().optional(),\n});\n\nconst QueueResourceConfigSchema = z.object({\n logicalName: z.string().min(1),\n cloudflareName: CloudflareNameFnSchema,\n binding: z.string().optional(),\n consumerOnly: z.boolean().optional(),\n});\n\nconst HyperdriveSecretSchema = z.union([\n z.string(),\n z.object({ fromEnv: z.string().min(1) }),\n]);\n\nconst HyperdriveOriginSchema = z.object({\n scheme: z.enum([\"postgres\", \"postgresql\", \"mysql\"]),\n host: z.string().min(1),\n port: z.number().optional(),\n database: z.string().min(1),\n user: z.string().min(1),\n password: HyperdriveSecretSchema,\n access_client_id: z.string().optional(),\n access_client_secret: HyperdriveSecretSchema.optional(),\n});\n\nconst HyperdriveResourceConfigSchema = z.object({\n logicalName: z.string().min(1),\n cloudflareName: CloudflareNameFnSchema,\n binding: z.string().optional(),\n origin: HyperdriveOriginSchema,\n caching: z\n .object({\n disabled: z.boolean().optional(),\n max_age: z.number().optional(),\n stale_while_revalidate: z.number().optional(),\n })\n .optional(),\n mtls: z\n .object({\n ca_certificate_id: z.string().optional(),\n mtls_certificate_id: z.string().optional(),\n })\n .optional(),\n localConnectionString: z.string().optional(),\n});\n\nconst VectorizeResourceConfigSchema = z.object({\n logicalName: z.string().min(1),\n cloudflareName: CloudflareNameFnSchema,\n binding: z.string().optional(),\n dimensions: z.number().int().positive(),\n metric: z.enum([\"cosine\", \"euclidean\", \"dot-product\"]),\n description: z.string().optional(),\n});\n\nconst AIGatewayResourceConfigSchema = z.object({\n logicalName: z.string().min(1),\n cloudflareName: CloudflareNameFnSchema,\n cacheTtl: z.number().int().nonnegative().optional(),\n cacheInvalidateOnUpdate: z.boolean().optional(),\n collectLogs: z.boolean().optional(),\n authentication: z.boolean().optional(),\n rateLimitingInterval: z.number().int().nonnegative().optional(),\n rateLimitingLimit: z.number().int().nonnegative().optional(),\n rateLimitingTechnique: z.enum([\"fixed\", \"sliding\"]).optional(),\n});\n\nconst DispatchNamespaceResourceSchema = z.object({\n logicalName: z.string().min(1),\n namespace: z.string().min(1),\n envSuffix: z.boolean().optional(),\n});\n\nconst LogpushJobR2DestinationSchema = z.object({\n bucketLogicalName: z.string().min(1),\n pathPrefix: z.string().optional(),\n accessKeyIdEnv: z.string().min(1),\n secretAccessKeyEnv: z.string().min(1),\n});\n\nconst LogpushJobPipelinesIngestSchema = z.object({\n streamId: z.string().min(1),\n pipelineId: z.string().min(1),\n bearerTokenEnv: z.string().min(1),\n});\n\nconst LogpushJobPipelinesAutoSchema = z.object({\n catalogBucketLogicalName: z.string().min(1),\n tableName: z.string().min(1),\n namespace: z.string().min(1).optional(),\n /** When not `false`, new sinks get `${tableName}_${Date.now()}` (default). */\n tableNameAppendTimestamp: z.boolean().optional(),\n sinkRowGroupBytes: z.number().int().positive().optional(),\n sinkRollingFileSizeBytes: z.number().int().positive().optional(),\n sinkRollingIntervalSeconds: z.number().int().positive().optional(),\n});\n\nconst LogpushJobResourceConfigSchema = z\n .object({\n logicalName: z.string().min(1),\n dataset: z.literal(\"workers_trace_events\"),\n jobName: z.string().optional(),\n r2: LogpushJobR2DestinationSchema.optional(),\n pipelinesIngest: LogpushJobPipelinesIngestSchema.optional(),\n pipelinesAuto: LogpushJobPipelinesAutoSchema.optional(),\n destinationConfEnv: z.string().min(1).optional(),\n destinationConfFromJobId: z.number().int().positive().optional(),\n destinationConfFromJobIdEnv: z.string().min(1).optional(),\n filter: z.string().min(1).optional(),\n fieldNames: z.array(z.string()).optional(),\n enabled: z.boolean().optional(),\n })\n .refine(\n (d) => {\n const hasR2 = Boolean(d.r2);\n const n =\n (d.destinationConfEnv ? 1 : 0) +\n (d.destinationConfFromJobId != null ? 1 : 0) +\n (d.destinationConfFromJobIdEnv ? 1 : 0) +\n (d.pipelinesIngest ? 1 : 0) +\n (d.pipelinesAuto ? 1 : 0);\n if (hasR2) return n === 0;\n return n === 1;\n },\n {\n error:\n \"logpushJobs: set exactly one of r2 | pipelinesIngest | pipelinesAuto | destinationConfEnv | destinationConfFromJobId | destinationConfFromJobIdEnv\",\n },\n )\n .refine(\n (d) =>\n !(\n d.destinationConfFromJobId != null && d.destinationConfFromJobIdEnv\n ),\n {\n error:\n \"logpushJobs: use only one of destinationConfFromJobId or destinationConfFromJobIdEnv\",\n },\n )\n .refine((d) => !(d.pipelinesIngest && d.pipelinesAuto), {\n error: \"logpushJobs: use only one of pipelinesIngest or pipelinesAuto\",\n });\n\nconst DnsRecordResourceConfigSchema = z.object({\n logicalName: z.string().min(1),\n zoneId: z.string().min(1),\n type: z.enum([\n \"A\",\n \"AAAA\",\n \"CNAME\",\n \"TXT\",\n \"MX\",\n \"NS\",\n \"CAA\",\n \"SRV\",\n \"PTR\",\n \"HTTPS\",\n \"SVCB\",\n ]),\n name: z.string().min(1),\n content: z.string().min(1),\n ttl: z.number().int().positive().optional(),\n proxied: z.boolean().optional(),\n priority: z.number().int().nonnegative().optional(),\n comment: z.string().optional(),\n skipEnvs: z.array(z.string()).optional(),\n preserveOnDestroy: z.boolean().optional(),\n});\n\nconst PipelineResourceConfigSchema = z.object({\n logicalName: z.string().min(1),\n cloudflareName: CloudflareNameFnSchema,\n sql: z.string().min(1),\n binding: z.string().min(1).optional(),\n});\n\nconst WorkflowResourceConfigSchema = z.object({\n logicalName: z.string().min(1),\n cloudflareName: CloudflareNameFnSchema,\n className: z.string().min(1),\n scriptName: z.string().min(1).optional(),\n binding: z.string().min(1).optional(),\n limits: z\n .object({ steps: z.number().int().positive().optional() })\n .optional(),\n});\n\nconst SecretsStoreResourceConfigSchema = z.object({\n logicalName: z.string().min(1),\n cloudflareName: CloudflareNameFnSchema,\n});\n\nconst SecretsStoreSecretBindingSchema = z.object({\n binding: z.string().min(1),\n store: z.string().min(1),\n secretName: z.string().min(1),\n});\n\nconst WorkerResourcesSchema = z.object({\n d1: z.array(D1ResourceConfigSchema).optional(),\n r2: z.array(R2ResourceConfigSchema).optional(),\n kv: z.array(KVResourceConfigSchema).optional(),\n queues: z.array(QueueResourceConfigSchema).optional(),\n hyperdrive: z.array(HyperdriveResourceConfigSchema).optional(),\n vectorize: z.array(VectorizeResourceConfigSchema).optional(),\n aiGateway: z.array(AIGatewayResourceConfigSchema).optional(),\n pipelines: z.array(PipelineResourceConfigSchema).optional(),\n workflows: z.array(WorkflowResourceConfigSchema).optional(),\n secretsStores: z.array(SecretsStoreResourceConfigSchema).optional(),\n secretsStoreSecrets: z.array(SecretsStoreSecretBindingSchema).optional(),\n});\n\nconst WranglerRouteSchema = z.object({\n pattern: z.string(),\n custom_domain: z.boolean().optional(),\n zone_name: z.string().optional(),\n zone_id: z.string().optional(),\n});\n\nconst WranglerAssetsSchema = z.object({\n directory: z.string(),\n binding: z.string().optional(),\n not_found_handling: z\n .enum([\"single-page-application\", \"return-404\"])\n .optional(),\n});\n\nconst EnvOverrideSchema = z\n .object({\n vars: z.record(z.string(), z.string()).optional(),\n scriptName: z.string().optional(),\n wranglerOutFile: z.string().optional(),\n route: z\n .union([WranglerRouteSchema, z.array(WranglerRouteSchema)])\n .optional(),\n routes: z.array(WranglerRouteSchema).optional(),\n })\n .passthrough();\n\nconst WorkerConfigSchema = z\n .object({\n path: z.string().optional(),\n config: z.string().optional(),\n scriptName: z.string().optional(),\n wranglerOutFile: z.string().optional(),\n dispatchNamespace: z.string().optional(),\n main: z.string().optional(),\n compatibility_date: z.string().optional(),\n compatibility_flags: z.array(z.string()).optional(),\n limits: z.record(z.string(), z.union([z.number(), z.string()])).optional(),\n workers_dev: z.boolean().optional(),\n preview_urls: z.boolean().optional(),\n resources: WorkerResourcesSchema.optional(),\n alias: z.record(z.string(), z.string()).optional(),\n vars: z.record(z.string(), z.string()).optional(),\n local: EnvOverrideSchema.optional(),\n env: z.record(z.string(), EnvOverrideSchema).optional(),\n assets: WranglerAssetsSchema.optional(),\n route: z\n .union([WranglerRouteSchema, z.array(WranglerRouteSchema)])\n .optional(),\n routes: z.array(WranglerRouteSchema).optional(),\n })\n .passthrough();\n\nconst CfiConfigSchema = z\n .object({\n tenant: TenantMetaSchema,\n account_id: z.string().optional(),\n compatibility_date: z.string().optional(),\n naming: z.any().optional(),\n dispatchNamespaces: z.array(DispatchNamespaceResourceSchema).optional(),\n dnsRecords: z.array(DnsRecordResourceConfigSchema).optional(),\n logpushJobs: z.array(LogpushJobResourceConfigSchema).optional(),\n stack: z\n .object({\n // Stack name flows into the D1 row key (`cfi_state:{name}`) and the\n // `${tamer:import:<name>.<output>}` parser, so the same identifier\n // shape as output names keeps both surfaces consistent.\n name: z\n .string()\n .regex(/^[a-zA-Z][a-zA-Z0-9_-]*$/, {\n error:\n \"stack.name must match /^[a-zA-Z][a-zA-Z0-9_-]*$/ (CloudFormation-style identifier)\",\n })\n .optional(),\n description: z.string().min(1).optional(),\n })\n .optional(),\n outputs: z\n .record(\n // CloudFormation-ish output names: must start with a letter, then\n // letters/digits/`_`/`-`. Keeps them safe for filenames, env-var\n // exports, and `${tamer:import:stack.<name>}` parsing.\n z.string().regex(/^[a-zA-Z][a-zA-Z0-9_-]*$/, {\n error:\n \"outputs key must match /^[a-zA-Z][a-zA-Z0-9_-]*$/ (CloudFormation-style identifier)\",\n }),\n z.string().min(1),\n )\n .optional(),\n worker: WorkerConfigSchema.optional(),\n workers: z.record(z.string(), WorkerConfigSchema).optional(),\n })\n .refine(\n (data: { worker?: unknown; workers?: unknown }) =>\n (data.worker ?? data.workers) && !(data.worker && data.workers),\n { error: \"Must have either worker or workers, not both\" },\n );\n\nexport interface LoadConfigOptions {\n /** Selects `tamer/env/<env>.config.ts` when present (merged project layout). */\n env?: string;\n cwd?: string;\n}\n\nexport async function loadConfig(\n configPath?: string,\n options: LoadConfigOptions = {},\n): Promise<CfiConfig> {\n const cwd = options.cwd ?? process.cwd();\n const sources = resolveConfigSources(cwd, configPath, options.env);\n\n let raw: unknown;\n\n if (sources.mode === \"single\") {\n const mod = await import(sources.path);\n raw = mod.default;\n if (!raw) {\n throw new Error(`No default export in ${sources.path}`);\n }\n } else {\n const pMod = await import(sources.projectPath);\n const projectRaw = pMod.default;\n if (!projectRaw || typeof projectRaw !== \"object\") {\n throw new Error(`No default export in ${sources.projectPath}`);\n }\n let merged = projectRaw as Record<string, unknown>;\n if (sources.overlayPath) {\n const oMod = await import(sources.overlayPath);\n const overlayRaw = oMod.default;\n if (!overlayRaw || typeof overlayRaw !== \"object\") {\n throw new Error(\n `Env overlay must default-export an object: ${sources.overlayPath}`,\n );\n }\n const overlayObj = overlayRaw as Record<string, unknown>;\n const declaredEnv = overlayObj[TAMER_OVERLAY_ENV_KEY];\n if (declaredEnv !== undefined) {\n if (typeof declaredEnv !== \"string\") {\n throw new Error(\n `Env overlay ${sources.overlayPath}: ${TAMER_OVERLAY_ENV_KEY} must be a string`,\n );\n }\n if (options.env !== declaredEnv) {\n throw new Error(\n `Env overlay ${sources.overlayPath} sets ${TAMER_OVERLAY_ENV_KEY} \"${declaredEnv}\" but this load uses --env \"${options.env ?? \"(none)\"}\".`,\n );\n }\n }\n const { [TAMER_OVERLAY_ENV_KEY]: _strip, ...overlayRest } = overlayObj;\n merged = mergeProjectOverlay(merged, overlayRest);\n }\n raw = merged;\n }\n\n const parsed = CfiConfigSchema.safeParse(materializeCloudflareBindings(raw));\n if (!parsed.success) {\n throw new Error(`Invalid Tamer project config: ${parsed.error.message}`);\n }\n return parsed.data as CfiConfig;\n}\n\nexport async function getWorkers(\n config: CfiConfig,\n baseDir?: string,\n): Promise<[string, WorkerConfig][]> {\n const cwd = baseDir ?? process.cwd();\n\n if (\"worker\" in config && config.worker) {\n const w = await resolveWorkerConfigRef(config.worker, cwd);\n return [[\"default\", w]];\n }\n if (\"workers\" in config && config.workers) {\n const entries: [string, WorkerConfig][] = [];\n for (const [key, wc] of Object.entries(config.workers)) {\n entries.push([key, await resolveWorkerConfigRef(wc, cwd)]);\n }\n return entries;\n }\n return [];\n}\n\nasync function resolveWorkerConfigRef(\n wc: WorkerConfig,\n baseDir: string,\n): Promise<WorkerConfig> {\n if (!wc.config) return wc;\n const configPath = resolve(baseDir, wc.config);\n const mod = await import(configPath);\n const loaded = mod.default;\n if (!loaded) {\n throw new Error(`No default export in ${configPath}`);\n }\n return {\n ...loaded,\n path: wc.path,\n config: wc.config,\n } as WorkerConfig;\n}\n"],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { n as loadConfig, t as getWorkers } from "./loader-
|
|
1
|
+
import { n as loadConfig, t as getWorkers } from "./loader-DnT9iqz9.mjs";
|
|
2
2
|
import { n as cloudflareAccountIdFromEnv, t as CFApiClient } from "./CFApiClient-DhbyyV71.mjs";
|
|
3
|
-
import { _ as
|
|
4
|
-
import { f as stackNameForConfig, t as StateManager } from "./StateManager-
|
|
3
|
+
import { _ as wranglerConfigCliArgs, c as d1CloudflareDatabaseName, l as d1SkipsProvisionAndMigrate, m as resolveWorkerConfig, t as fetchStackImports, v as namingFromConfig } from "./fetchStackImports-ClUYZy_U.mjs";
|
|
4
|
+
import { f as stackNameForConfig, t as StateManager } from "./StateManager-JLBtz9V-.mjs";
|
|
5
5
|
import "./r2S3EmptyBucket-DD81ZWQ7.mjs";
|
|
6
|
-
import { n as writeWranglerJson, t as generateWranglerConfig } from "./generator-
|
|
6
|
+
import { n as writeWranglerJson, t as generateWranglerConfig } from "./generator-h_VG0Q5f.mjs";
|
|
7
7
|
import { t as spawnWranglerSync } from "./wranglerSpawn-DmEz0ldT.mjs";
|
|
8
8
|
|
|
9
9
|
//#region src/features/d1/d1.migrate.ts
|
|
@@ -84,4 +84,4 @@ async function runMigrate(options) {
|
|
|
84
84
|
|
|
85
85
|
//#endregion
|
|
86
86
|
export { runMigrate };
|
|
87
|
-
//# sourceMappingURL=migrate-
|
|
87
|
+
//# sourceMappingURL=migrate-Bwl0w6XN.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrate-
|
|
1
|
+
{"version":3,"file":"migrate-Bwl0w6XN.mjs","names":["databases: string[]"],"sources":["../src/features/d1/d1.migrate.ts","../src/cli/commands/migrate.ts"],"sourcesContent":["import type { D1ResourceConfig, D1StateEntry } from \"./d1.types.js\";\nimport { wranglerConfigCliArgs } from \"../../core/wrangler/wranglerOutFile.js\";\nimport { spawnWranglerSync } from \"../../core/wrangler/wranglerSpawn.js\";\nimport type { NamingEngine } from \"../../core/naming/NamingEngine.js\";\nimport type { StateManager } from \"../../core/state/StateManager.js\";\nimport {\n d1CloudflareDatabaseName,\n d1SkipsProvisionAndMigrate,\n} from \"./d1.ownership.js\";\n\n/**\n * Apply Cloudflare D1 migrations for every D1 in `resources`.\n *\n * Wrangler requires `d1 migrations apply <DATABASE>` (positional). Tamer\n * resolves the derived database name per env (single) or per shard, and\n * invokes wrangler once per database.\n *\n * Adds `--remote` for non-`local` envs so migrations target the live D1, not\n * the local SQLite cache. Skips D1s owned externally or flagged\n * `preserveOnDestroy` (cross-stack).\n */\nexport async function d1Migrate(\n resources: D1ResourceConfig[],\n workerDir: string,\n env: string,\n wranglerOutFile: string = \"wrangler.json\",\n naming: NamingEngine,\n state: StateManager,\n): Promise<void> {\n const d1Configs = resources.filter(\n (r) => r.migrationsDir && !d1SkipsProvisionAndMigrate(r),\n );\n if (d1Configs.length === 0) return;\n\n const databases: string[] = [];\n for (const config of d1Configs) {\n if (config.type === \"single\") {\n databases.push(d1CloudflareDatabaseName(config, env, naming));\n continue;\n }\n const all = state.getAll();\n const shards = Object.values(all).filter(\n (e): e is D1StateEntry =>\n e.type === \"d1_database\" && e.logicalName === config.logicalName,\n );\n for (const s of shards) databases.push(s.derivedName);\n }\n\n for (const dbName of databases) {\n const args = [\n \"wrangler\",\n ...wranglerConfigCliArgs(wranglerOutFile),\n \"d1\",\n \"migrations\",\n \"apply\",\n dbName,\n ];\n if (env !== \"local\") args.push(\"--remote\");\n\n // Wrangler prompts for confirmation when stdin is a TTY. Tamer is an\n // automation path (CI / scripts): skip prompts like `d1 migrations apply`\n // does when `CI` is set or stdin is not a TTY (see wrangler help text).\n const result = spawnWranglerSync(args, {\n cwd: workerDir,\n stdio: [\"ignore\", \"inherit\", \"inherit\"],\n env: { CI: \"1\" },\n });\n\n if (result.status !== 0) {\n throw new Error(\n `wrangler d1 migrations apply failed for ${dbName} (exit ${result.status})`,\n );\n }\n }\n}\n","import { loadConfig, getWorkers } from \"../../core/config/loader.js\";\nimport { cloudflareAccountIdFromEnv } from \"../../core/cloudflareEnv.js\";\nimport { namingFromConfig } from \"../../core/config/namingFromConfig.js\";\nimport { StateManager } from \"../../core/state/StateManager.js\";\nimport { stackNameForConfig } from \"../../core/state/stackName.js\";\nimport { fetchStackImports } from \"../../core/imports/fetchStackImports.js\";\nimport { CFApiClient } from \"../../core/api/CFApiClient.js\";\nimport { resolveWorkerConfig } from \"../../core/config/resolver.js\";\nimport {\n generateWranglerConfig,\n writeWranglerJson,\n} from \"../../core/wrangler/generator.js\";\nimport { d1Migrate } from \"../../features/d1/index.js\";\n\nexport async function runMigrate(options: {\n worker?: string;\n env?: string;\n configPath?: string;\n}): Promise<void> {\n const workerFilter = options.worker;\n const env = options.env ?? \"local\";\n const configPath = options.configPath;\n const baseDir = process.cwd();\n\n const config = await loadConfig(configPath, { env });\n const accountId =\n config.account_id ?? cloudflareAccountIdFromEnv();\n if (!accountId) {\n throw new Error(\n \"account_id required in config or CLOUDFLARE_ACCOUNT_ID env var\",\n );\n }\n\n const naming = namingFromConfig(config);\n const api = new CFApiClient(accountId);\n const state = new StateManager(\n config.tenant.id,\n env,\n stackNameForConfig(config),\n );\n await state.hydrate(api);\n const imports = await fetchStackImports(api, config, env);\n\n const workers = await getWorkers(config, baseDir);\n const toRun = workerFilter\n ? workers.filter(([k]) => k === workerFilter)\n : workers;\n\n if (toRun.length === 0) {\n throw new Error(\n workerFilter\n ? `Worker \"${workerFilter}\" not found`\n : \"No workers configured\",\n );\n }\n\n for (const [workerKey, workerConfig] of toRun) {\n const resolved = await resolveWorkerConfig(\n config,\n workerKey,\n workerConfig,\n env,\n baseDir,\n accountId,\n naming,\n state,\n { imports },\n );\n const wranglerConfig = generateWranglerConfig(resolved, state, naming);\n writeWranglerJson(resolved.workerDir, wranglerConfig, resolved.wranglerOutFile);\n\n const resources = resolved.resources ?? {};\n await d1Migrate(\n resources.d1 ?? [],\n resolved.workerDir,\n env,\n resolved.wranglerOutFile,\n naming,\n state,\n );\n console.log(`Migrations applied for ${workerKey}`);\n }\n\n console.log(`Migrate complete for env: ${env}`);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAqBA,eAAsB,UACpB,WACA,WACA,KACA,kBAA0B,iBAC1B,QACA,OACe;CACf,MAAM,YAAY,UAAU,QACzB,MAAM,EAAE,iBAAiB,CAAC,2BAA2B,EAAE,CACzD;AACD,KAAI,UAAU,WAAW,EAAG;CAE5B,MAAMA,YAAsB,EAAE;AAC9B,MAAK,MAAM,UAAU,WAAW;AAC9B,MAAI,OAAO,SAAS,UAAU;AAC5B,aAAU,KAAK,yBAAyB,QAAQ,KAAK,OAAO,CAAC;AAC7D;;EAEF,MAAM,MAAM,MAAM,QAAQ;EAC1B,MAAM,SAAS,OAAO,OAAO,IAAI,CAAC,QAC/B,MACC,EAAE,SAAS,iBAAiB,EAAE,gBAAgB,OAAO,YACxD;AACD,OAAK,MAAM,KAAK,OAAQ,WAAU,KAAK,EAAE,YAAY;;AAGvD,MAAK,MAAM,UAAU,WAAW;EAC9B,MAAM,OAAO;GACX;GACA,GAAG,sBAAsB,gBAAgB;GACzC;GACA;GACA;GACA;GACD;AACD,MAAI,QAAQ,QAAS,MAAK,KAAK,WAAW;EAK1C,MAAM,SAAS,kBAAkB,MAAM;GACrC,KAAK;GACL,OAAO;IAAC;IAAU;IAAW;IAAU;GACvC,KAAK,EAAE,IAAI,KAAK;GACjB,CAAC;AAEF,MAAI,OAAO,WAAW,EACpB,OAAM,IAAI,MACR,2CAA2C,OAAO,SAAS,OAAO,OAAO,GAC1E;;;;;;ACzDP,eAAsB,WAAW,SAIf;CAChB,MAAM,eAAe,QAAQ;CAC7B,MAAM,MAAM,QAAQ,OAAO;CAC3B,MAAM,aAAa,QAAQ;CAC3B,MAAM,UAAU,QAAQ,KAAK;CAE7B,MAAM,SAAS,MAAM,WAAW,YAAY,EAAE,KAAK,CAAC;CACpD,MAAM,YACJ,OAAO,cAAc,4BAA4B;AACnD,KAAI,CAAC,UACH,OAAM,IAAI,MACR,iEACD;CAGH,MAAM,SAAS,iBAAiB,OAAO;CACvC,MAAM,MAAM,IAAI,YAAY,UAAU;CACtC,MAAM,QAAQ,IAAI,aAChB,OAAO,OAAO,IACd,KACA,mBAAmB,OAAO,CAC3B;AACD,OAAM,MAAM,QAAQ,IAAI;CACxB,MAAM,UAAU,MAAM,kBAAkB,KAAK,QAAQ,IAAI;CAEzD,MAAM,UAAU,MAAM,WAAW,QAAQ,QAAQ;CACjD,MAAM,QAAQ,eACV,QAAQ,QAAQ,CAAC,OAAO,MAAM,aAAa,GAC3C;AAEJ,KAAI,MAAM,WAAW,EACnB,OAAM,IAAI,MACR,eACI,WAAW,aAAa,eACxB,wBACL;AAGH,MAAK,MAAM,CAAC,WAAW,iBAAiB,OAAO;EAC7C,MAAM,WAAW,MAAM,oBACrB,QACA,WACA,cACA,KACA,SACA,WACA,QACA,OACA,EAAE,SAAS,CACZ;EACD,MAAM,iBAAiB,uBAAuB,UAAU,OAAO,OAAO;AACtE,oBAAkB,SAAS,WAAW,gBAAgB,SAAS,gBAAgB;AAG/E,QAAM,WADY,SAAS,aAAa,EAAE,EAE9B,MAAM,EAAE,EAClB,SAAS,WACT,KACA,SAAS,iBACT,QACA,MACD;AACD,UAAQ,IAAI,0BAA0B,YAAY;;AAGpD,SAAQ,IAAI,6BAA6B,MAAM"}
|