@geekmidas/cli 10.0.0-alpha.76 → 10.0.0-alpha.78

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (133) hide show
  1. package/dist/{LegacyStateStore-dyq07_Ir.mjs → LegacyStateStore-Ceq7A_75.mjs} +2 -2
  2. package/dist/{LegacyStateStore-dyq07_Ir.mjs.map → LegacyStateStore-Ceq7A_75.mjs.map} +1 -1
  3. package/dist/{LegacyStateStore-DwngfJxr.cjs → LegacyStateStore-Z-EKUGSX.cjs} +2 -2
  4. package/dist/{LegacyStateStore-DwngfJxr.cjs.map → LegacyStateStore-Z-EKUGSX.cjs.map} +1 -1
  5. package/dist/{LocalStateStore-B0NCde8Z.cjs → LocalStateStore-Bocb8dmZ.cjs} +2 -2
  6. package/dist/{LocalStateStore-B0NCde8Z.cjs.map → LocalStateStore-Bocb8dmZ.cjs.map} +1 -1
  7. package/dist/{LocalStateStore-DLxCCatI.mjs → LocalStateStore-C72bwpG2.mjs} +2 -2
  8. package/dist/{LocalStateStore-DLxCCatI.mjs.map → LocalStateStore-C72bwpG2.mjs.map} +1 -1
  9. package/dist/{S3StateStore-BOenb-3o.cjs → S3StateStore-35YfcdL_.cjs} +2 -2
  10. package/dist/{S3StateStore-BOenb-3o.cjs.map → S3StateStore-35YfcdL_.cjs.map} +1 -1
  11. package/dist/{S3StateStore-CGK_4hlo.mjs → S3StateStore-C9upSW5o.mjs} +2 -2
  12. package/dist/{S3StateStore-CGK_4hlo.mjs.map → S3StateStore-C9upSW5o.mjs.map} +1 -1
  13. package/dist/{SSMStateStore-DYeD__7p.cjs → SSMStateStore-W-Ps22AQ.cjs} +2 -2
  14. package/dist/{SSMStateStore-DYeD__7p.cjs.map → SSMStateStore-W-Ps22AQ.cjs.map} +1 -1
  15. package/dist/{SSMStateStore-B_5_RqY-.mjs → SSMStateStore-dOmFO6g1.mjs} +2 -2
  16. package/dist/{SSMStateStore-B_5_RqY-.mjs.map → SSMStateStore-dOmFO6g1.mjs.map} +1 -1
  17. package/dist/{add-j2yI3cbS.cjs → add-BvOICikp.cjs} +8 -8
  18. package/dist/{add-j2yI3cbS.cjs.map → add-BvOICikp.cjs.map} +1 -1
  19. package/dist/{add-B7IMXzou.mjs → add-D2XKszYP.mjs} +3 -3
  20. package/dist/{add-B7IMXzou.mjs.map → add-D2XKszYP.mjs.map} +1 -1
  21. package/dist/{bundler-Cf6OgaOe.cjs → bundler-C6T-1OLT.cjs} +5 -5
  22. package/dist/{bundler-Cf6OgaOe.cjs.map → bundler-C6T-1OLT.cjs.map} +1 -1
  23. package/dist/{bundler-DO6bHhnb.mjs → bundler-CtHzKqnZ.mjs} +5 -5
  24. package/dist/{bundler-DO6bHhnb.mjs.map → bundler-CtHzKqnZ.mjs.map} +1 -1
  25. package/dist/{cli-BCPOHmg9.mjs → cli-BgPyhx1i.mjs} +3 -3
  26. package/dist/{cli-BCPOHmg9.mjs.map → cli-BgPyhx1i.mjs.map} +1 -1
  27. package/dist/{cli-CNanUB7a.cjs → cli-K6Vj_pPW.cjs} +4 -4
  28. package/dist/{cli-CNanUB7a.cjs.map → cli-K6Vj_pPW.cjs.map} +1 -1
  29. package/dist/{compose-h_6oNnHC.cjs → compose-B7MC19eC.cjs} +668 -110
  30. package/dist/compose-B7MC19eC.cjs.map +1 -0
  31. package/dist/{compose-Dq4VCtu5.mjs → compose-DByK353T.mjs} +606 -66
  32. package/dist/compose-DByK353T.mjs.map +1 -0
  33. package/dist/{config-CqAvPP-f.d.mts → config-Bql0AmJt.d.mts} +3 -3
  34. package/dist/{config-CWyhLSY1.d.cts.map → config-Bql0AmJt.d.mts.map} +1 -1
  35. package/dist/{config-CWyhLSY1.d.cts → config-DlNpHK8p.d.cts} +3 -3
  36. package/dist/{config-CqAvPP-f.d.mts.map → config-DlNpHK8p.d.cts.map} +1 -1
  37. package/dist/config.cjs +1 -1
  38. package/dist/config.d.cts +3 -3
  39. package/dist/config.d.mts +3 -3
  40. package/dist/config.mjs +1 -1
  41. package/dist/deploy/public.cjs +12 -12
  42. package/dist/deploy/public.d.cts +3 -3
  43. package/dist/deploy/public.d.cts.map +1 -1
  44. package/dist/deploy/public.d.mts +3 -3
  45. package/dist/deploy/public.d.mts.map +1 -1
  46. package/dist/deploy/public.mjs +6 -6
  47. package/dist/{deploy-CVXEx7Nm.mjs → deploy-BerP7ppB.mjs} +5 -5
  48. package/dist/{deploy-CVXEx7Nm.mjs.map → deploy-BerP7ppB.mjs.map} +1 -1
  49. package/dist/{deploy-CT3R9de9.cjs → deploy-Dt42xiQA.cjs} +11 -11
  50. package/dist/{deploy-CT3R9de9.cjs.map → deploy-Dt42xiQA.cjs.map} +1 -1
  51. package/dist/{dokploy-eSGmlhhj.cjs → dokploy-NG9UrVrP.cjs} +2 -2
  52. package/dist/{dokploy-eSGmlhhj.cjs.map → dokploy-NG9UrVrP.cjs.map} +1 -1
  53. package/dist/{dokploy-CYm2ozFs.mjs → dokploy-ssZQRK2C.mjs} +2 -2
  54. package/dist/{dokploy-CYm2ozFs.mjs.map → dokploy-ssZQRK2C.mjs.map} +1 -1
  55. package/dist/{encryption-vS3Qzw73.cjs → encryption-CbMI24fI.cjs} +6 -6
  56. package/dist/{encryption-vS3Qzw73.cjs.map → encryption-CbMI24fI.cjs.map} +1 -1
  57. package/dist/{encryption-DC0rsR1W.mjs → encryption-De6MN0O5.mjs} +3 -3
  58. package/dist/{encryption-DC0rsR1W.mjs.map → encryption-De6MN0O5.mjs.map} +1 -1
  59. package/dist/{engine-C0N2d1i5.cjs → engine-CoCsNoW_.cjs} +73 -68
  60. package/dist/{engine-C0N2d1i5.cjs.map → engine-CoCsNoW_.cjs.map} +1 -1
  61. package/dist/{engine-BOO5TWZd.mjs → engine-DOjGIgl4.mjs} +9 -4
  62. package/dist/{engine-BOO5TWZd.mjs.map → engine-DOjGIgl4.mjs.map} +1 -1
  63. package/dist/{github-CEaFDL6t.mjs → github-CwX9z89E.mjs} +3 -3
  64. package/dist/{github-CEaFDL6t.mjs.map → github-CwX9z89E.mjs.map} +1 -1
  65. package/dist/{github-ClkdCOL9.cjs → github-D9vGqdLk.cjs} +7 -7
  66. package/dist/{github-ClkdCOL9.cjs.map → github-D9vGqdLk.cjs.map} +1 -1
  67. package/dist/{index-DOxmDKqv.d.mts → index-BXO0vlme.d.mts} +2 -2
  68. package/dist/{index-Ccu0f_2m.d.cts.map → index-BXO0vlme.d.mts.map} +1 -1
  69. package/dist/{index-Ccu0f_2m.d.cts → index-Rs0Fua-q.d.cts} +2 -2
  70. package/dist/{index-DOxmDKqv.d.mts.map → index-Rs0Fua-q.d.cts.map} +1 -1
  71. package/dist/index.cjs +180 -219
  72. package/dist/index.cjs.map +1 -1
  73. package/dist/index.mjs +108 -147
  74. package/dist/index.mjs.map +1 -1
  75. package/dist/{migrate-BRbYtFXG.cjs → migrate-B4GBvCNY.cjs} +5 -5
  76. package/dist/{migrate-BRbYtFXG.cjs.map → migrate-B4GBvCNY.cjs.map} +1 -1
  77. package/dist/{migrate-D3NAT7Ns.mjs → migrate-BQ4wVKq_.mjs} +3 -3
  78. package/dist/{migrate-D3NAT7Ns.mjs.map → migrate-BQ4wVKq_.mjs.map} +1 -1
  79. package/dist/{migrate-DrO2p9Rl.mjs → migrate-CNKaQl3K.mjs} +3 -3
  80. package/dist/{migrate-DrO2p9Rl.mjs.map → migrate-CNKaQl3K.mjs.map} +1 -1
  81. package/dist/{migrate-D5_-ylI1.cjs → migrate-Cgoy58Sh.cjs} +8 -8
  82. package/dist/{migrate-D5_-ylI1.cjs.map → migrate-Cgoy58Sh.cjs.map} +1 -1
  83. package/dist/openapi.cjs +1 -1
  84. package/dist/openapi.d.cts +1 -1
  85. package/dist/openapi.d.mts +1 -1
  86. package/dist/openapi.mjs +1 -1
  87. package/dist/reconcile/public.d.cts +1 -1
  88. package/dist/reconcile/public.d.mts +1 -1
  89. package/dist/{resolve-Fa1Ii0BK.cjs → resolve-CEaqRBzY.cjs} +3 -3
  90. package/dist/{resolve-Fa1Ii0BK.cjs.map → resolve-CEaqRBzY.cjs.map} +1 -1
  91. package/dist/{resolve-C1muFos5.mjs → resolve-mvaystiE.mjs} +3 -3
  92. package/dist/{resolve-C1muFos5.mjs.map → resolve-mvaystiE.mjs.map} +1 -1
  93. package/dist/{rollback-C9N5lKVf.cjs → rollback-F3P-rA-r.cjs} +7 -7
  94. package/dist/{rollback-C9N5lKVf.cjs.map → rollback-F3P-rA-r.cjs.map} +1 -1
  95. package/dist/{rollback-DeQzbRqM.mjs → rollback-S2C-Y9pB.mjs} +5 -5
  96. package/dist/{rollback-DeQzbRqM.mjs.map → rollback-S2C-Y9pB.mjs.map} +1 -1
  97. package/dist/{runtime-Cm7QA53H.d.cts → runtime-D9AxGzrw.d.cts} +2 -2
  98. package/dist/{runtime-BSvzPqXW.d.mts.map → runtime-D9AxGzrw.d.cts.map} +1 -1
  99. package/dist/{runtime-BSvzPqXW.d.mts → runtime-Dflki3Vs.d.mts} +2 -2
  100. package/dist/{runtime-Cm7QA53H.d.cts.map → runtime-Dflki3Vs.d.mts.map} +1 -1
  101. package/dist/{sniffer-Y6GQOCXB.cjs → sniffer-BjG-1mlD.cjs} +6 -6
  102. package/dist/{sniffer-Y6GQOCXB.cjs.map → sniffer-BjG-1mlD.cjs.map} +1 -1
  103. package/dist/{sniffer-DR8AlRCk.mjs → sniffer-ByWtH28i.mjs} +6 -6
  104. package/dist/{sniffer-DR8AlRCk.mjs.map → sniffer-ByWtH28i.mjs.map} +1 -1
  105. package/dist/{state-C2qi0iQw.cjs → stale-BsiPJI7Y.cjs} +111 -25
  106. package/dist/stale-BsiPJI7Y.cjs.map +1 -0
  107. package/dist/{state-CUecOCNJ.mjs → stale-C5FqIVc8.mjs} +106 -26
  108. package/dist/stale-C5FqIVc8.mjs.map +1 -0
  109. package/dist/target/public.cjs +1 -1
  110. package/dist/target/public.d.cts +2 -2
  111. package/dist/target/public.d.mts +2 -2
  112. package/dist/target/public.mjs +1 -1
  113. package/dist/{types-BdptGBFS.d.cts → types-ByY0zi3n.d.cts} +42 -3
  114. package/dist/types-ByY0zi3n.d.cts.map +1 -0
  115. package/dist/{types-OxE0OAn2.d.mts → types-DKxkXsKC.d.mts} +42 -3
  116. package/dist/types-DKxkXsKC.d.mts.map +1 -0
  117. package/dist/workspace/index.cjs +1 -1
  118. package/dist/workspace/index.d.cts +2 -2
  119. package/dist/workspace/index.d.mts +2 -2
  120. package/dist/workspace/index.mjs +1 -1
  121. package/dist/{workspace-QUTqYmVy.mjs → workspace-BBdqmkch.mjs} +114 -17
  122. package/dist/workspace-BBdqmkch.mjs.map +1 -0
  123. package/dist/{workspace-DOm81oUo.cjs → workspace-Bp8FEkF-.cjs} +130 -15
  124. package/dist/workspace-Bp8FEkF-.cjs.map +1 -0
  125. package/package.json +15 -15
  126. package/dist/compose-Dq4VCtu5.mjs.map +0 -1
  127. package/dist/compose-h_6oNnHC.cjs.map +0 -1
  128. package/dist/state-C2qi0iQw.cjs.map +0 -1
  129. package/dist/state-CUecOCNJ.mjs.map +0 -1
  130. package/dist/types-BdptGBFS.d.cts.map +0 -1
  131. package/dist/types-OxE0OAn2.d.mts.map +0 -1
  132. package/dist/workspace-DOm81oUo.cjs.map +0 -1
  133. package/dist/workspace-QUTqYmVy.mjs.map +0 -1
@@ -4,9 +4,9 @@ const require_schemas = require("./schemas-BObwxB_t.cjs");
4
4
  const require_discover = require("./discover-D1It5r_h.cjs");
5
5
  const require_sandbox = require("./sandbox-CL--ZDui.cjs");
6
6
  const require_derive = require("./derive-DAbo49sm.cjs");
7
- const require_workspace = require("./workspace-DOm81oUo.cjs");
8
- const require_state = require("./state-C2qi0iQw.cjs");
9
- const require_sniffer = require("./sniffer-Y6GQOCXB.cjs");
7
+ const require_workspace = require("./workspace-Bp8FEkF-.cjs");
8
+ const require_stale = require("./stale-BsiPJI7Y.cjs");
9
+ const require_sniffer = require("./sniffer-BjG-1mlD.cjs");
10
10
  const require_provider = require("./provider-B3Sv_a74.cjs");
11
11
  const require_credentialSchemas = require("./credentialSchemas-DCR4Wd1W.cjs");
12
12
  let node_path = require("node:path");
@@ -97,7 +97,7 @@ async function writeCredentialsFile(credentials) {
97
97
  async function buildImage(imageRef, buildArgs, credentials, { cwd, dockerfile, signal, stdio }) {
98
98
  logger$3.log(`\n🔨 Building Docker image: ${imageRef}`);
99
99
  logger$3.log(" Generating Dockerfile...");
100
- const { buildRoot } = await require_state.dockerCommand({ cwd });
100
+ const { buildRoot } = await require_stale.dockerCommand({ cwd });
101
101
  const dockerfilePath = (0, node_path.relative)(buildRoot, dockerfile);
102
102
  const secret = credentials ? await writeCredentialsFile(credentials) : void 0;
103
103
  try {
@@ -117,7 +117,7 @@ async function buildImage(imageRef, buildArgs, credentials, { cwd, dockerfile, s
117
117
  });
118
118
  logger$3.log(`✅ Image built: ${imageRef}`);
119
119
  } catch (error) {
120
- throw new require_state.DockerBuildFailed(imageRef, error);
120
+ throw new require_stale.DockerBuildFailed(imageRef, error);
121
121
  } finally {
122
122
  await secret?.cleanup();
123
123
  }
@@ -135,7 +135,7 @@ async function pushImage(imageRef, { cwd, signal, stdio }) {
135
135
  });
136
136
  logger$3.log(`✅ Image pushed: ${imageRef}`);
137
137
  } catch (error) {
138
- throw new require_state.DockerPushFailed(imageRef, error);
138
+ throw new require_stale.DockerPushFailed(imageRef, error);
139
139
  }
140
140
  }
141
141
  /**
@@ -174,11 +174,11 @@ async function pushedDigest(imageRef, { cwd, signal } = { cwd: process.cwd() })
174
174
  async function deployDocker(options) {
175
175
  const { stage, tag, skipPush, masterKey, config, buildArgs, credentials } = options;
176
176
  const imageName = config.imageName;
177
- const imageRef = require_state.validateImageRef(getImageRef(config.registry, imageName, tag));
177
+ const imageRef = require_stale.validateImageRef(getImageRef(config.registry, imageName, tag));
178
178
  const cwd = options.cwd ?? process.cwd();
179
179
  const docker = {
180
180
  cwd,
181
- dockerfile: (0, node_path.join)(cwd, options.dockerfile ?? require_state.dockerfileOf(config.appName ?? imageName, options.appPath ?? ".")),
181
+ dockerfile: (0, node_path.join)(cwd, options.dockerfile ?? require_stale.dockerfileOf(config.appName ?? imageName, options.appPath ?? ".")),
182
182
  ...options.signal ? { signal: options.signal } : {},
183
183
  ...options.stdio ? { stdio: options.stdio } : {}
184
184
  };
@@ -258,12 +258,12 @@ async function projectById(api, projectId) {
258
258
  * another identity's, raises `ProjectNotOwned` — it is never adopted.
259
259
  */
260
260
  async function findProject(api, identity, stateProjectId) {
261
- const name = require_state.projectName(identity);
262
- const marker = require_state.ownershipMarker(identity);
261
+ const name = require_stale.projectName(identity);
262
+ const marker = require_stale.ownershipMarker(identity);
263
263
  if (stateProjectId) {
264
264
  const known = await projectById(api, stateProjectId);
265
265
  if (known) {
266
- const claimed = require_state.markerOf(known.description);
266
+ const claimed = require_stale.markerOf(known.description);
267
267
  if (claimed && claimed !== marker) throw new ProjectNotOwned(known.name, known.projectId, identity.key, claimed);
268
268
  return {
269
269
  projectId: known.projectId,
@@ -276,7 +276,7 @@ async function findProject(api, identity, stateProjectId) {
276
276
  }
277
277
  }
278
278
  const projects = await api.listProjects();
279
- const owned = projects.find((p) => p.name.toLowerCase() === name.toLowerCase() && require_state.isOwnedBy(p.description, identity));
279
+ const owned = projects.find((p) => p.name.toLowerCase() === name.toLowerCase() && require_stale.isOwnedBy(p.description, identity));
280
280
  if (owned) {
281
281
  const details = await api.getProject(owned.projectId);
282
282
  return {
@@ -289,7 +289,7 @@ async function findProject(api, identity, stateProjectId) {
289
289
  };
290
290
  }
291
291
  const clash = projects.find((p) => p.name.toLowerCase() === name.toLowerCase());
292
- if (clash) throw new ProjectNotOwned(clash.name, clash.projectId, identity.key, require_state.markerOf(clash.description));
292
+ if (clash) throw new ProjectNotOwned(clash.name, clash.projectId, identity.key, require_stale.markerOf(clash.description));
293
293
  return null;
294
294
  }
295
295
  /**
@@ -298,7 +298,7 @@ async function findProject(api, identity, stateProjectId) {
298
298
  * deploy without state still finds it — or a new one, marked.
299
299
  */
300
300
  async function resolveProject(api, identity, stateProjectId, log = () => {}, hooks = {}) {
301
- const marker = require_state.ownershipMarker(identity);
301
+ const marker = require_stale.ownershipMarker(identity);
302
302
  const found = await findProject(api, identity, stateProjectId);
303
303
  if (found) {
304
304
  if (found.needsClaim) {
@@ -316,7 +316,7 @@ async function resolveProject(api, identity, stateProjectId, log = () => {}, hoo
316
316
  };
317
317
  }
318
318
  await hooks.beforeCreate?.();
319
- const created = await api.createProject(require_state.projectName(identity), withMarker("Deployed by gkm.", marker));
319
+ const created = await api.createProject(require_stale.projectName(identity), withMarker("Deployed by gkm.", marker));
320
320
  return {
321
321
  projectId: created.project.projectId,
322
322
  name: created.project.name,
@@ -427,7 +427,7 @@ async function resolveRegistry(api, options) {
427
427
  * @returns Filtered secrets with found/missing tracking
428
428
  */
429
429
  function filterSecretsForApp(stageSecrets, sniffedEnv) {
430
- const allSecrets = require_state.toEmbeddableSecrets(stageSecrets);
430
+ const allSecrets = require_stale.toEmbeddableSecrets(stageSecrets);
431
431
  const filtered = {};
432
432
  const found = [];
433
433
  const missing = [];
@@ -582,7 +582,7 @@ const PROVISIONERS = {
582
582
  */
583
583
  database: async (declaration, context) => {
584
584
  if (declaration.kind !== "database") throw new WrongKind(declaration.kind);
585
- const name = require_state.resourceName(declaration.id, declaration.kind, context.stage);
585
+ const name = require_stale.resourceName(declaration.id, declaration.kind, context.stage);
586
586
  const { postgres } = await context.api.findOrCreatePostgres(serviceName({
587
587
  stage: context.stage,
588
588
  app: context.scope ?? context.project
@@ -619,7 +619,7 @@ const PROVISIONERS = {
619
619
  if (declaration.kind !== "database-schema") throw new WrongKind(declaration.kind);
620
620
  const parent = context.provisioned[declaration.of];
621
621
  if (!parent) throw new UnresolvedParent(declaration.id, declaration.of);
622
- const runtime = require_state.resourceName(declaration.id, declaration.kind, context.stage);
622
+ const runtime = require_stale.resourceName(declaration.id, declaration.kind, context.stage);
623
623
  const owner = (0, _geekmidas_db_pg_roles.ownerRole)(runtime);
624
624
  const reads = readsFrom(context.manifest, declaration.id);
625
625
  const parentUrl = new URL(parent.provides[(0, _geekmidas_manifest.provideKey)(declaration.of, "url")] ?? "");
@@ -734,7 +734,7 @@ const PROVISIONERS = {
734
734
  stage: context.stage,
735
735
  app: context.scope ?? context.project
736
736
  }, declaration.id);
737
- const bucket = require_state.resourceName(declaration.id, declaration.kind, context.stage);
737
+ const bucket = require_stale.resourceName(declaration.id, declaration.kind, context.stage);
738
738
  const user = context.supplied?.AWS_ACCESS_KEY_ID ?? `${bucket}-root`;
739
739
  const password = context.supplied?.AWS_SECRET_ACCESS_KEY ?? derivedPassword(context, `objects:${declaration.id}`);
740
740
  const { compose } = await context.api.findOrCreateCompose(service, context.projectId, context.environmentId, minioCompose({
@@ -1070,7 +1070,7 @@ function mailpitCompose(service) {
1070
1070
  */
1071
1071
  function storageKeys(values) {
1072
1072
  const keys = {};
1073
- for (const key of [...require_state.STORAGE_KEY_PAIR, "AWS_REGION"]) {
1073
+ for (const key of [...require_stale.STORAGE_KEY_PAIR, "AWS_REGION"]) {
1074
1074
  const value = values?.[key];
1075
1075
  if (value !== void 0) keys[key] = value;
1076
1076
  }
@@ -1081,7 +1081,7 @@ function storageKeys(values) {
1081
1081
  * `validate` already refused, should a provisioner be reached without it.
1082
1082
  */
1083
1083
  function notConfigured(id, kind, context) {
1084
- const { missing } = require_state.externalServices({
1084
+ const { missing } = require_stale.externalServices({
1085
1085
  stage: context.stage,
1086
1086
  declarations: [{
1087
1087
  id,
@@ -1091,7 +1091,7 @@ function notConfigured(id, kind, context) {
1091
1091
  allow: [],
1092
1092
  ...context.domain ? { domain: context.domain } : {}
1093
1093
  });
1094
- return new require_state.ExternalServicesNotConfigured(context.stage, missing);
1094
+ return new require_stale.ExternalServicesNotConfigured(context.stage, missing);
1095
1095
  }
1096
1096
  /** Whether anything reads through a reader on this construct. */
1097
1097
  function readsFrom(manifest, id) {
@@ -1265,7 +1265,7 @@ async function provisionDeclared(options) {
1265
1265
  clusters: {}
1266
1266
  };
1267
1267
  const manifest = options.manifest ?? await require_discover.discover({
1268
- patterns: require_state.constructGlobs(workspace),
1268
+ patterns: require_stale.constructGlobs(workspace),
1269
1269
  cwd: workspace.root
1270
1270
  });
1271
1271
  if (Object.keys(manifest).length === 0) return empty;
@@ -1278,9 +1278,9 @@ async function provisionDeclared(options) {
1278
1278
  stage: options.stage,
1279
1279
  project: workspace.name,
1280
1280
  scope: options.scope ?? workspace.name,
1281
- cache: require_state.cacheBackendFor(require_state.providerOf(workspace)),
1282
- events: require_state.eventsBackendFor(require_state.providerOf(workspace)),
1283
- storage: require_state.storageBackendFor(require_state.providerOf(workspace)),
1281
+ cache: require_stale.cacheBackendFor(require_stale.providerOf(workspace)),
1282
+ events: require_stale.eventsBackendFor(require_stale.providerOf(workspace)),
1283
+ storage: require_stale.storageBackendFor(require_stale.providerOf(workspace)),
1284
1284
  ...options.devServices ? { devServices: options.devServices } : {},
1285
1285
  ...workspace.deploy?.domains?.[options.stage] ? { domain: workspace.deploy.domains[options.stage] } : {},
1286
1286
  addresses: surfaceAddresses(manifest, options.appUrls),
@@ -1320,7 +1320,7 @@ async function provisionDeclared(options) {
1320
1320
  * run again.
1321
1321
  */
1322
1322
  async function applyDeclared(client, statements) {
1323
- return (await require_state.applyPostgres(client, statements)).filter((entry) => entry.created).length;
1323
+ return (await require_stale.applyPostgres(client, statements)).filter((entry) => entry.created).length;
1324
1324
  }
1325
1325
  /**
1326
1326
  * The provisioning order, with queues and topics moved to the end.
@@ -1653,7 +1653,7 @@ async function orchestrateDns(appHostnames, dnsConfig, dokployEndpoint, state) {
1653
1653
  hasFailures = true;
1654
1654
  }
1655
1655
  if (state) {
1656
- for (const record of domainRecords) if (record.created || record.existed) require_state.setDnsRecord(state, {
1656
+ for (const record of domainRecords) if (record.created || record.existed) require_stale.setDnsRecord(state, {
1657
1657
  domain: rootDomain,
1658
1658
  name: record.subdomain,
1659
1659
  type: record.type,
@@ -1688,7 +1688,7 @@ async function verifyDnsRecords(appHostnames, serverIp, state) {
1688
1688
  const results = [];
1689
1689
  logger$2.log("\n🔍 Verifying DNS records...");
1690
1690
  for (const [appName, hostname] of appHostnames) {
1691
- if (require_state.isDnsVerified(state, hostname, serverIp)) {
1691
+ if (require_stale.isDnsVerified(state, hostname, serverIp)) {
1692
1692
  logger$2.log(` ✓ ${hostname} (previously verified)`);
1693
1693
  results.push({
1694
1694
  hostname,
@@ -1702,7 +1702,7 @@ async function verifyDnsRecords(appHostnames, serverIp, state) {
1702
1702
  try {
1703
1703
  const resolvedIp = await resolveHostnameToIp(hostname);
1704
1704
  if (resolvedIp === serverIp) {
1705
- require_state.setDnsVerification(state, hostname, serverIp);
1705
+ require_stale.setDnsVerification(state, hostname, serverIp);
1706
1706
  logger$2.log(` ✓ ${hostname} → ${resolvedIp}`);
1707
1707
  results.push({
1708
1708
  hostname,
@@ -1763,10 +1763,10 @@ function generateSecret() {
1763
1763
  * Otherwise generates a new one and stores it.
1764
1764
  */
1765
1765
  function getOrGenerateSecret(state, appName, secretName) {
1766
- const existing = require_state.getGeneratedSecret(state, appName, secretName);
1766
+ const existing = require_stale.getGeneratedSecret(state, appName, secretName);
1767
1767
  if (existing) return existing;
1768
1768
  const generated = generateSecret();
1769
- require_state.setGeneratedSecret(state, appName, secretName, generated);
1769
+ require_stale.setGeneratedSecret(state, appName, secretName, generated);
1770
1770
  return generated;
1771
1771
  }
1772
1772
  /**
@@ -2275,24 +2275,29 @@ async function validateDokploy(phase) {
2275
2275
  ctx
2276
2276
  };
2277
2277
  const stored = await phase.secrets.read();
2278
- const services = require_state.assertExternalServices({
2278
+ const services = require_stale.assertExternalServices({
2279
2279
  stage,
2280
- declarations: require_state.manifestServiceDeclarations(phase.manifest),
2280
+ declarations: require_stale.manifestServiceDeclarations(phase.manifest),
2281
2281
  supplied: stored?.custom ?? {},
2282
2282
  allow: phase.allowDevServices,
2283
2283
  ...workspace.deploy?.domains?.[stage] ? { domain: workspace.deploy.domains[stage] } : {}
2284
2284
  });
2285
- require_state.reportDevServices(phase, require_state.devServicesUsed(services));
2285
+ require_stale.reportDevServices(phase, require_stale.devServicesUsed(services));
2286
+ require_stale.assertNoStaleSecrets({
2287
+ manifest: phase.manifest,
2288
+ stage,
2289
+ supplied: stored?.custom ?? {}
2290
+ });
2286
2291
  await require_credentialSchemas.assertStageCredentials({
2287
2292
  root: workspace.root,
2288
- patterns: require_state.constructGlobs(workspace),
2293
+ patterns: require_stale.constructGlobs(workspace),
2289
2294
  manifest: phase.manifest,
2290
2295
  stage,
2291
2296
  supplied: stored?.custom ?? {}
2292
2297
  });
2293
2298
  const runnables = phase.runnables ?? {};
2294
2299
  const background = phase.background ?? {};
2295
- const workers = require_state.workerUnits(workspace, phase.manifest, background).filter((worker) => appsToDeployNames.includes(worker.app));
2300
+ const workers = require_stale.workerUnits(workspace, phase.manifest, background).filter((worker) => appsToDeployNames.includes(worker.app));
2296
2301
  if (workers.length > 0) logger.log(` Deploying workers: ${workers.map((w) => `${w.name} (from ${w.app})`).join(", ")}`);
2297
2302
  return {
2298
2303
  ...run,
@@ -2317,7 +2322,7 @@ async function preflight({ workspace, manifest, stage, secrets: secretsStore, ct
2317
2322
  logger.log("\n🔐 Loading secrets and analyzing environment requirements...");
2318
2323
  const stored = await secretsStore.read();
2319
2324
  if (!stored) logger.log(` ⚠️ No secrets found for stage "${stage}"; starting them`);
2320
- const { secrets: stageSecrets, generated } = require_state.withGeneratedSecrets(stored ?? require_state.initStageSecrets(stage), manifest);
2325
+ const { secrets: stageSecrets, generated } = require_stale.withGeneratedSecrets(stored ?? require_stale.initStageSecrets(stage), manifest);
2321
2326
  if (generated.length > 0) {
2322
2327
  if (ctx.dryRun) logger.log(` 🔑 Would generate for "${stage}" (${secretsStore.store}): ${generated.join(", ")}`);
2323
2328
  else {
@@ -2370,7 +2375,7 @@ async function provision(run) {
2370
2375
  };
2371
2376
  const { api, endpoint } = await dokployApi(workspace, ctx);
2372
2377
  logger.log("\n📋 Loading deploy state...");
2373
- const journal = await require_state.DeployJournal.open(store, stage, () => require_state.createEmptyState(stage, "", ""));
2378
+ const journal = await require_stale.DeployJournal.open(store, stage, () => require_stale.createEmptyState(stage, "", ""));
2374
2379
  const state = journal.state;
2375
2380
  if (journal.existed) logger.log(` Found existing state for stage "${stage}"`);
2376
2381
  else logger.log(` Creating new state for stage "${stage}"`);
@@ -2382,7 +2387,7 @@ async function provision(run) {
2382
2387
  key: "project",
2383
2388
  type: "project",
2384
2389
  data: {
2385
- name: require_state.projectName(identity),
2390
+ name: require_stale.projectName(identity),
2386
2391
  identity: identity.key
2387
2392
  }
2388
2393
  };
@@ -2509,10 +2514,10 @@ async function provision(run) {
2509
2514
  projectName: identity.scope,
2510
2515
  stage,
2511
2516
  config: workspace.deploy.backups,
2512
- existingState: require_state.getBackupState(state),
2517
+ existingState: require_stale.getBackupState(state),
2513
2518
  logger
2514
2519
  });
2515
- require_state.setBackupState(state, backupState);
2520
+ require_stale.setBackupState(state, backupState);
2516
2521
  if (!backupState.postgresBackupId) {
2517
2522
  const backupSchedule = workspace.deploy.backups.schedule ?? "0 2 * * *";
2518
2523
  const backupRetention = workspace.deploy.backups.retention ?? 30;
@@ -2526,7 +2531,7 @@ async function provision(run) {
2526
2531
  enabled: true,
2527
2532
  keepLatestCount: backupRetention
2528
2533
  });
2529
- require_state.setPostgresBackupId(state, backup.backupId);
2534
+ require_stale.setPostgresBackupId(state, backup.backupId);
2530
2535
  logger.log(` ✓ Postgres backup schedule created (${backupSchedule})`);
2531
2536
  } else logger.log(" ✓ Using existing postgres backup schedule");
2532
2537
  }
@@ -2645,7 +2650,7 @@ async function releaseDokploy(run) {
2645
2650
  intervalMs: run.verify.intervalMs,
2646
2651
  signal: ctx.signal
2647
2652
  });
2648
- require_state.recordRelease(state, appName, {
2653
+ require_stale.recordRelease(state, appName, {
2649
2654
  ...image,
2650
2655
  tag: imageTag
2651
2656
  });
@@ -2661,14 +2666,14 @@ async function releaseDokploy(run) {
2661
2666
  const app = workspace.apps[appName];
2662
2667
  logger.log(`\n ⚙️ Deploying ${appName}...`);
2663
2668
  try {
2664
- const application = await ensureApplication(api, journal, appName, require_state.applicationName(identity, appName), project.projectId, environmentId, applied);
2669
+ const application = await ensureApplication(api, journal, appName, require_stale.applicationName(identity, appName), project.projectId, environmentId, applied);
2665
2670
  const appSecrets = encryptedSecrets.get(appName);
2666
2671
  const credentials = appSecrets && appSecrets.secretCount > 0 ? {
2667
2672
  encrypted: appSecrets.payload.encrypted,
2668
2673
  iv: appSecrets.payload.iv
2669
2674
  } : void 0;
2670
2675
  if (appSecrets && credentials) logger.log(` Encrypted ${appSecrets.secretCount} secrets`);
2671
- const imageRef$1 = require_state.imageRef(identity, appName, registry, imageTag);
2676
+ const imageRef$1 = require_stale.imageRef(identity, appName, registry, imageTag);
2672
2677
  logger.log(` Building Docker image: ${imageRef$1}`);
2673
2678
  const image = await deployDocker({
2674
2679
  stage,
@@ -2676,7 +2681,7 @@ async function releaseDokploy(run) {
2676
2681
  skipPush: false,
2677
2682
  config: {
2678
2683
  registry,
2679
- imageName: require_state.imageName(identity, appName),
2684
+ imageName: require_stale.imageName(identity, appName),
2680
2685
  appName
2681
2686
  },
2682
2687
  credentials,
@@ -2710,7 +2715,7 @@ async function releaseDokploy(run) {
2710
2715
  const withDeclared = {
2711
2716
  ...resolved,
2712
2717
  ...declaredEnv,
2713
- ...require_state.otelEnv(stageSecrets?.custom ?? {}, appName)
2718
+ ...require_stale.otelEnv(stageSecrets?.custom ?? {}, appName)
2714
2719
  };
2715
2720
  const envVars = Object.entries(withDeclared).map(([key, value]) => `${key}=${value}`);
2716
2721
  if (Object.keys(withDeclared).length > 0) logger.log(` Resolved ${Object.keys(withDeclared).length} env vars: ${Object.keys(withDeclared).sort().join(", ")}`);
@@ -2747,8 +2752,8 @@ async function releaseDokploy(run) {
2747
2752
  ctx.signal?.throwIfAborted();
2748
2753
  logger.log(`\n 🧵 Deploying ${worker.name} (worker ${worker.id})...`);
2749
2754
  try {
2750
- const application = await ensureApplication(api, journal, worker.name, require_state.applicationName(identity, worker.name), project.projectId, environmentId, applied);
2751
- const keys = [...require_state.workerEnvKeys(run.manifest, worker.id, run.runnables) ?? []].sort();
2755
+ const application = await ensureApplication(api, journal, worker.name, require_stale.applicationName(identity, worker.name), project.projectId, environmentId, applied);
2756
+ const keys = [...require_stale.workerEnvKeys(run.manifest, worker.id, run.runnables) ?? []].sort();
2752
2757
  const secrets = prepareSecretsForApp(stageSecrets, {
2753
2758
  appName: worker.name,
2754
2759
  requiredEnvVars: keys,
@@ -2758,7 +2763,7 @@ async function releaseDokploy(run) {
2758
2763
  encrypted: secrets.payload.encrypted,
2759
2764
  iv: secrets.payload.iv
2760
2765
  } : void 0;
2761
- const imageRef$2 = require_state.imageRef(identity, worker.name, registry, imageTag);
2766
+ const imageRef$2 = require_stale.imageRef(identity, worker.name, registry, imageTag);
2762
2767
  logger.log(` Building Docker image: ${imageRef$2}`);
2763
2768
  const image = await deployDocker({
2764
2769
  stage,
@@ -2766,22 +2771,22 @@ async function releaseDokploy(run) {
2766
2771
  skipPush: false,
2767
2772
  config: {
2768
2773
  registry,
2769
- imageName: require_state.imageName(identity, worker.name),
2774
+ imageName: require_stale.imageName(identity, worker.name),
2770
2775
  appName: worker.name
2771
2776
  },
2772
2777
  credentials,
2773
2778
  cwd: workspace.root,
2774
- dockerfile: require_state.workerDockerfileOf(worker.name),
2779
+ dockerfile: require_stale.workerDockerfileOf(worker.name),
2775
2780
  ...ctx.signal ? { signal: ctx.signal } : {},
2776
2781
  ...ctx.stdio ? { stdio: ctx.stdio } : {}
2777
2782
  });
2778
2783
  built(worker.name, image, imageRef$2);
2779
2784
  const env = {
2780
2785
  ...Object.fromEntries(Object.entries(declaredEnv).filter(([key]) => keys.includes(key))),
2781
- ...require_state.otelEnv(stageSecrets?.custom ?? {}, worker.name),
2786
+ ...require_stale.otelEnv(stageSecrets?.custom ?? {}, worker.name),
2782
2787
  ...credentials ? { GKM_MASTER_KEY: secrets.masterKey } : {},
2783
2788
  NODE_ENV: "production",
2784
- PORT: String(require_state.WORKER_PORT),
2789
+ PORT: String(require_stale.WORKER_PORT),
2785
2790
  STAGE: stage
2786
2791
  };
2787
2792
  logger.log(` Resolved ${Object.keys(env).length} env vars: ${Object.keys(env).sort().join(", ")}`);
@@ -2814,7 +2819,7 @@ async function releaseDokploy(run) {
2814
2819
  const app = workspace.apps[appName];
2815
2820
  logger.log(`\n 🌐 Deploying ${appName}...`);
2816
2821
  try {
2817
- const application = await ensureApplication(api, journal, appName, require_state.applicationName(identity, appName), project.projectId, environmentId, applied);
2822
+ const application = await ensureApplication(api, journal, appName, require_stale.applicationName(identity, appName), project.projectId, environmentId, applied);
2818
2823
  const dependencyUrls = {};
2819
2824
  if (app.dependencies) {
2820
2825
  for (const dep of app.dependencies) if (publicUrls[dep]) dependencyUrls[dep] = publicUrls[dep];
@@ -2843,7 +2848,7 @@ async function releaseDokploy(run) {
2843
2848
  }
2844
2849
  }
2845
2850
  if (buildArgs.length > 0) logger.log(` Build args: ${publicUrlArgNames.join(", ")}`);
2846
- const imageRef$3 = require_state.imageRef(identity, appName, registry, imageTag);
2851
+ const imageRef$3 = require_stale.imageRef(identity, appName, registry, imageTag);
2847
2852
  logger.log(` Building Docker image: ${imageRef$3}`);
2848
2853
  const image = await deployDocker({
2849
2854
  stage,
@@ -2851,7 +2856,7 @@ async function releaseDokploy(run) {
2851
2856
  skipPush: false,
2852
2857
  config: {
2853
2858
  registry,
2854
- imageName: require_state.imageName(identity, appName),
2859
+ imageName: require_stale.imageName(identity, appName),
2855
2860
  appName
2856
2861
  },
2857
2862
  buildArgs,
@@ -2958,7 +2963,7 @@ async function migrate(run) {
2958
2963
  root: workspace.root,
2959
2964
  stage,
2960
2965
  manifest,
2961
- patterns: require_state.constructGlobs(workspace),
2966
+ patterns: require_stale.constructGlobs(workspace),
2962
2967
  urls,
2963
2968
  signal: ctx.signal
2964
2969
  });
@@ -3069,7 +3074,7 @@ async function rollbackDokploy(run, failure) {
3069
3074
  verify: run.verify,
3070
3075
  signal: run.ctx.signal
3071
3076
  });
3072
- require_state.recordRollback(state, appName, before);
3077
+ require_stale.recordRollback(state, appName, before);
3073
3078
  await journal.save();
3074
3079
  logger.log(` ✓ ${appName} rolled back to ${before.ref}`);
3075
3080
  }
@@ -3138,7 +3143,7 @@ async function ensureApplication(api, journal, appName, dokployAppName, projectI
3138
3143
  action: via === "created" ? "create" : "reuse",
3139
3144
  id: resource.applicationId
3140
3145
  }, via);
3141
- require_state.setApplicationId(journal.state, appName, resource.applicationId);
3146
+ require_stale.setApplicationId(journal.state, appName, resource.applicationId);
3142
3147
  return resource;
3143
3148
  }
3144
3149
  /**
@@ -3220,7 +3225,7 @@ async function dokployApi(workspace, ctx) {
3220
3225
  /** Each app's public host, the same way the deploy resolves it. */
3221
3226
  function hostOf(workspace, appName, stage) {
3222
3227
  const app = workspace.apps[appName];
3223
- return require_state.resolveHost(appName, app, stage, workspace.deploy?.domains, app.type === "web" && require_state.isMainFrontendApp(appName, app, workspace.apps));
3228
+ return require_stale.resolveHost(appName, app, stage, workspace.deploy?.domains, app.type === "web" && require_stale.isMainFrontendApp(appName, app, workspace.apps));
3224
3229
  }
3225
3230
  /**
3226
3231
  * What a deploy would do, from the same lookups it starts with — and nothing
@@ -3254,7 +3259,7 @@ async function planDokploy(run) {
3254
3259
  key: "project",
3255
3260
  resourceType: "project",
3256
3261
  action: "create"
3257
- }, require_state.projectName(identity));
3262
+ }, require_stale.projectName(identity));
3258
3263
  const environment = project?.environments.find((e) => e.name.toLowerCase() === stage.toLowerCase());
3259
3264
  plan(environment ? {
3260
3265
  key: "environment",
@@ -3301,7 +3306,7 @@ async function planDokploy(run) {
3301
3306
  for (const appName of appsToDeployNames) {
3302
3307
  const app = workspace.apps[appName];
3303
3308
  if (app.type === "mobile") continue;
3304
- const dokployAppName = require_state.applicationName(identity, appName);
3309
+ const dokployAppName = require_stale.applicationName(identity, appName);
3305
3310
  const recordedId = state?.applications?.[appName];
3306
3311
  const existing = project && environment ? (recordedId ? await api.getApplication(recordedId).catch(() => null) : null) ?? await api.findApplicationByName(project.projectId, dokployAppName, environment.environmentId) : null;
3307
3312
  plan(existing ? {
@@ -3314,7 +3319,7 @@ async function planDokploy(run) {
3314
3319
  resourceType: "application",
3315
3320
  action: "create"
3316
3321
  }, dokployAppName);
3317
- const ref = require_state.imageRef(identity, appName, workspace.deploy.registry, imageTag);
3322
+ const ref = require_stale.imageRef(identity, appName, workspace.deploy.registry, imageTag);
3318
3323
  plan({
3319
3324
  key: `image:${appName}`,
3320
3325
  resourceType: "image",
@@ -3343,7 +3348,7 @@ async function planDokploy(run) {
3343
3348
  });
3344
3349
  }
3345
3350
  for (const worker of run.workers) {
3346
- const dokployAppName = require_state.applicationName(identity, worker.name);
3351
+ const dokployAppName = require_stale.applicationName(identity, worker.name);
3347
3352
  const recordedId = state?.applications?.[worker.name];
3348
3353
  const existing = project && environment ? (recordedId ? await api.getApplication(recordedId).catch(() => null) : null) ?? await api.findApplicationByName(project.projectId, dokployAppName, environment.environmentId) : null;
3349
3354
  plan(existing ? {
@@ -3356,7 +3361,7 @@ async function planDokploy(run) {
3356
3361
  resourceType: "application",
3357
3362
  action: "create"
3358
3363
  }, `${dokployAppName}, worker ${worker.id} — no domain`);
3359
- const ref = require_state.imageRef(identity, worker.name, workspace.deploy.registry, imageTag);
3364
+ const ref = require_stale.imageRef(identity, worker.name, workspace.deploy.registry, imageTag);
3360
3365
  plan({
3361
3366
  key: `image:${worker.name}`,
3362
3367
  resourceType: "image",
@@ -3505,4 +3510,4 @@ Object.defineProperty(exports, "verifySettings", {
3505
3510
  }
3506
3511
  });
3507
3512
 
3508
- //# sourceMappingURL=engine-C0N2d1i5.cjs.map
3513
+ //# sourceMappingURL=engine-CoCsNoW_.cjs.map