@geekmidas/cli 10.0.0-alpha.103 → 10.0.0-alpha.105

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 (148) hide show
  1. package/dist/{EndpointGenerator-By5_tYE9.cjs → EndpointGenerator-BwbYTMtB.cjs} +2 -2
  2. package/dist/{EndpointGenerator-By5_tYE9.cjs.map → EndpointGenerator-BwbYTMtB.cjs.map} +1 -1
  3. package/dist/{EndpointGenerator-Br97xgs_.mjs → EndpointGenerator-CvLX8bpx.mjs} +2 -2
  4. package/dist/{EndpointGenerator-Br97xgs_.mjs.map → EndpointGenerator-CvLX8bpx.mjs.map} +1 -1
  5. package/dist/{GoDaddyProvider-JITjarl9.cjs → GoDaddyProvider-Cr9Uvqyz.cjs} +2 -2
  6. package/dist/{GoDaddyProvider-JITjarl9.cjs.map → GoDaddyProvider-Cr9Uvqyz.cjs.map} +1 -1
  7. package/dist/{GoDaddyProvider-8gNDqaml.mjs → GoDaddyProvider-DjtX8TUM.mjs} +2 -2
  8. package/dist/{GoDaddyProvider-8gNDqaml.mjs.map → GoDaddyProvider-DjtX8TUM.mjs.map} +1 -1
  9. package/dist/{LegacyStateStore-D-mcT2Z7.cjs → LegacyStateStore-CnxFZGeQ.cjs} +3 -3
  10. package/dist/{LegacyStateStore-D-mcT2Z7.cjs.map → LegacyStateStore-CnxFZGeQ.cjs.map} +1 -1
  11. package/dist/{LegacyStateStore-C0WnyYy_.mjs → LegacyStateStore-D-0XrizH.mjs} +3 -3
  12. package/dist/{LegacyStateStore-C0WnyYy_.mjs.map → LegacyStateStore-D-0XrizH.mjs.map} +1 -1
  13. package/dist/{LocalStateStore-CUFfdu-v.cjs → LocalStateStore-DGR_KzjD.cjs} +2 -2
  14. package/dist/{LocalStateStore-CUFfdu-v.cjs.map → LocalStateStore-DGR_KzjD.cjs.map} +1 -1
  15. package/dist/{LocalStateStore-C_8QWB2r.mjs → LocalStateStore-dVcU5RNe.mjs} +2 -2
  16. package/dist/{LocalStateStore-C_8QWB2r.mjs.map → LocalStateStore-dVcU5RNe.mjs.map} +1 -1
  17. package/dist/{OpenApiTsGenerator-BgSX_Z-e.cjs → OpenApiTsGenerator-BD6ZOQ51.cjs} +2 -2
  18. package/dist/{OpenApiTsGenerator-BgSX_Z-e.cjs.map → OpenApiTsGenerator-BD6ZOQ51.cjs.map} +1 -1
  19. package/dist/{OpenApiTsGenerator-C8aTX--y.mjs → OpenApiTsGenerator-DXXFXSbO.mjs} +2 -2
  20. package/dist/{OpenApiTsGenerator-C8aTX--y.mjs.map → OpenApiTsGenerator-DXXFXSbO.mjs.map} +1 -1
  21. package/dist/{S3StateStore-DIJ6CCv_.cjs → S3StateStore-D8z0z8P2.cjs} +2 -2
  22. package/dist/{S3StateStore-DIJ6CCv_.cjs.map → S3StateStore-D8z0z8P2.cjs.map} +1 -1
  23. package/dist/{S3StateStore-B0Vy19db.mjs → S3StateStore-DIyP76Kb.mjs} +2 -2
  24. package/dist/{S3StateStore-B0Vy19db.mjs.map → S3StateStore-DIyP76Kb.mjs.map} +1 -1
  25. package/dist/{SSMStateStore-DgBlEqYO.mjs → SSMStateStore-B7J_fv0d.mjs} +2 -2
  26. package/dist/{SSMStateStore-DgBlEqYO.mjs.map → SSMStateStore-B7J_fv0d.mjs.map} +1 -1
  27. package/dist/{SSMStateStore-D577um0e.cjs → SSMStateStore-CIOsbEcQ.cjs} +2 -2
  28. package/dist/{SSMStateStore-D577um0e.cjs.map → SSMStateStore-CIOsbEcQ.cjs.map} +1 -1
  29. package/dist/{SubscriberGenerator-DmPM_3c5.cjs → SubscriberGenerator-CeH7wbYt.cjs} +3 -3
  30. package/dist/{SubscriberGenerator-DmPM_3c5.cjs.map → SubscriberGenerator-CeH7wbYt.cjs.map} +1 -1
  31. package/dist/{SubscriberGenerator-YK-7ewmi.mjs → SubscriberGenerator-DHnIYwUU.mjs} +3 -3
  32. package/dist/{SubscriberGenerator-YK-7ewmi.mjs.map → SubscriberGenerator-DHnIYwUU.mjs.map} +1 -1
  33. package/dist/{add-BJJKhUnO.mjs → add-CC69Yf5t.mjs} +8 -9
  34. package/dist/add-CC69Yf5t.mjs.map +1 -0
  35. package/dist/{add-D97HfZ7z.cjs → add-DWj9Kccz.cjs} +8 -9
  36. package/dist/add-DWj9Kccz.cjs.map +1 -0
  37. package/dist/{bundler-CzbrMpDf.mjs → bundler-BpYpp1Hf.mjs} +5 -5
  38. package/dist/{bundler-CzbrMpDf.mjs.map → bundler-BpYpp1Hf.mjs.map} +1 -1
  39. package/dist/{bundler-CtEQAnym.cjs → bundler-TZ72P7LF.cjs} +5 -5
  40. package/dist/{bundler-CtEQAnym.cjs.map → bundler-TZ72P7LF.cjs.map} +1 -1
  41. package/dist/{cli-D_zrFs9-.mjs → cli-BZ_9cc0O.mjs} +3 -3
  42. package/dist/{cli-D_zrFs9-.mjs.map → cli-BZ_9cc0O.mjs.map} +1 -1
  43. package/dist/{cli-CIv8PA-v.cjs → cli-iqNUZ9Va.cjs} +3 -3
  44. package/dist/{cli-CIv8PA-v.cjs.map → cli-iqNUZ9Va.cjs.map} +1 -1
  45. package/dist/{compose-BviikvXq.cjs → compose-5b4lzIyr.cjs} +14 -11
  46. package/dist/compose-5b4lzIyr.cjs.map +1 -0
  47. package/dist/{compose-DtPhKs0u.mjs → compose-BXUDOrte.mjs} +14 -11
  48. package/dist/{compose-DtPhKs0u.mjs.map → compose-BXUDOrte.mjs.map} +1 -1
  49. package/dist/config.cjs +1 -1
  50. package/dist/config.mjs +1 -1
  51. package/dist/{credentialSchemas-DvitraL-.mjs → credentialSchemas-Cf5Pf8VE.mjs} +2 -2
  52. package/dist/{credentialSchemas-DvitraL-.mjs.map → credentialSchemas-Cf5Pf8VE.mjs.map} +1 -1
  53. package/dist/{credentialSchemas-DDda4Mmm.cjs → credentialSchemas-D_VUCDUh.cjs} +2 -2
  54. package/dist/{credentialSchemas-DDda4Mmm.cjs.map → credentialSchemas-D_VUCDUh.cjs.map} +1 -1
  55. package/dist/deploy/public.cjs +7 -7
  56. package/dist/deploy/public.mjs +7 -7
  57. package/dist/{deploy-DyPt41Oq.mjs → deploy-BXx5PHR8.mjs} +8 -8
  58. package/dist/{deploy-DyPt41Oq.mjs.map → deploy-BXx5PHR8.mjs.map} +1 -1
  59. package/dist/{deploy-cv0i1yFo.cjs → deploy-rdTC6BqI.cjs} +8 -8
  60. package/dist/{deploy-cv0i1yFo.cjs.map → deploy-rdTC6BqI.cjs.map} +1 -1
  61. package/dist/{discover-BfhVW_kT.cjs → discover-Bsr7HjqJ.cjs} +18 -2
  62. package/dist/{discover-BfhVW_kT.cjs.map → discover-Bsr7HjqJ.cjs.map} +1 -1
  63. package/dist/{discover-kziEht4W.mjs → discover-Ca8U75dl.mjs} +13 -3
  64. package/dist/{discover-kziEht4W.mjs.map → discover-Ca8U75dl.mjs.map} +1 -1
  65. package/dist/{dns-B-wqZiyQ.mjs → dns-CRungu5C.mjs} +2 -2
  66. package/dist/{dns-B-wqZiyQ.mjs.map → dns-CRungu5C.mjs.map} +1 -1
  67. package/dist/{dns-_rxfINeq.cjs → dns-FMg7REGo.cjs} +2 -2
  68. package/dist/{dns-_rxfINeq.cjs.map → dns-FMg7REGo.cjs.map} +1 -1
  69. package/dist/{dokploy-BJQ9HjVv.mjs → dokploy-CuluaeVl.mjs} +2 -2
  70. package/dist/{dokploy-BJQ9HjVv.mjs.map → dokploy-CuluaeVl.mjs.map} +1 -1
  71. package/dist/{dokploy-DSvw-l5b.cjs → dokploy-U_yXwsT7.cjs} +2 -2
  72. package/dist/{dokploy-DSvw-l5b.cjs.map → dokploy-U_yXwsT7.cjs.map} +1 -1
  73. package/dist/{drivers-OXhPkaNB.mjs → drivers-D11JHxrD.mjs} +2 -2
  74. package/dist/{drivers-OXhPkaNB.mjs.map → drivers-D11JHxrD.mjs.map} +1 -1
  75. package/dist/{drivers-DEDL8vPE.cjs → drivers-GKaA6ITM.cjs} +2 -2
  76. package/dist/{drivers-DEDL8vPE.cjs.map → drivers-GKaA6ITM.cjs.map} +1 -1
  77. package/dist/{encryption-UgYs2YYM.cjs → encryption-D-louLFQ.cjs} +2 -2
  78. package/dist/{encryption-UgYs2YYM.cjs.map → encryption-D-louLFQ.cjs.map} +1 -1
  79. package/dist/{encryption-BUAZ3OEJ.mjs → encryption-XqokmrEn.mjs} +2 -2
  80. package/dist/{encryption-BUAZ3OEJ.mjs.map → encryption-XqokmrEn.mjs.map} +1 -1
  81. package/dist/{engine-Blx6G12-.cjs → engine-BdpcrYWi.cjs} +6 -5
  82. package/dist/engine-BdpcrYWi.cjs.map +1 -0
  83. package/dist/{engine-VnbN4VnX.mjs → engine-DqNljyye.mjs} +6 -5
  84. package/dist/engine-DqNljyye.mjs.map +1 -0
  85. package/dist/{github-C-L3qfYZ.cjs → github-CA33zfqv.cjs} +5 -5
  86. package/dist/{github-C-L3qfYZ.cjs.map → github-CA33zfqv.cjs.map} +1 -1
  87. package/dist/{github-D2uJ32Af.mjs → github-b_kS4jvw.mjs} +5 -5
  88. package/dist/{github-D2uJ32Af.mjs.map → github-b_kS4jvw.mjs.map} +1 -1
  89. package/dist/index.cjs +180 -101
  90. package/dist/index.cjs.map +1 -1
  91. package/dist/index.mjs +181 -102
  92. package/dist/index.mjs.map +1 -1
  93. package/dist/{migrate-DdociPvx.cjs → migrate-BVMk0jtV.cjs} +3 -3
  94. package/dist/{migrate-DdociPvx.cjs.map → migrate-BVMk0jtV.cjs.map} +1 -1
  95. package/dist/{migrate-BFH52jlU.mjs → migrate-DBp_H1fe.mjs} +3 -3
  96. package/dist/{migrate-BFH52jlU.mjs.map → migrate-DBp_H1fe.mjs.map} +1 -1
  97. package/dist/{migrate-Dqjr7rfs.mjs → migrate-DStsGGqC.mjs} +2 -2
  98. package/dist/{migrate-Dqjr7rfs.mjs.map → migrate-DStsGGqC.mjs.map} +1 -1
  99. package/dist/{migrate-DxAFe2EV.cjs → migrate-Ln16jIxy.cjs} +2 -2
  100. package/dist/{migrate-DxAFe2EV.cjs.map → migrate-Ln16jIxy.cjs.map} +1 -1
  101. package/dist/openapi.cjs +2 -2
  102. package/dist/openapi.mjs +2 -2
  103. package/dist/{ready-D38XpZ0L.cjs → ready-BMFjxBYA.cjs} +8 -7
  104. package/dist/ready-BMFjxBYA.cjs.map +1 -0
  105. package/dist/{ready-CuSU8Ap0.mjs → ready-CIt5SOtg.mjs} +8 -7
  106. package/dist/ready-CIt5SOtg.mjs.map +1 -0
  107. package/dist/reconcile/public.cjs +1 -1
  108. package/dist/reconcile/public.mjs +1 -1
  109. package/dist/{resolve-aqhkZfDI.cjs → resolve-CJ91HNQB.cjs} +3 -3
  110. package/dist/{resolve-aqhkZfDI.cjs.map → resolve-CJ91HNQB.cjs.map} +1 -1
  111. package/dist/{resolve-BGgwxfCz.mjs → resolve-DCdFajey.mjs} +3 -3
  112. package/dist/{resolve-BGgwxfCz.mjs.map → resolve-DCdFajey.mjs.map} +1 -1
  113. package/dist/{rollback-DUbUQeoz.mjs → rollback-CNS-52X9.mjs} +4 -4
  114. package/dist/{rollback-DUbUQeoz.mjs.map → rollback-CNS-52X9.mjs.map} +1 -1
  115. package/dist/{rollback-qk3-knJ7.cjs → rollback-UFitatDM.cjs} +4 -4
  116. package/dist/{rollback-qk3-knJ7.cjs.map → rollback-UFitatDM.cjs.map} +1 -1
  117. package/dist/sandbox/credentials-worker.cjs +2 -2
  118. package/dist/sandbox/credentials-worker.mjs +2 -2
  119. package/dist/sandbox/discover-worker.cjs +1 -1
  120. package/dist/sandbox/discover-worker.mjs +1 -1
  121. package/dist/sandbox/migrate-worker.cjs +1 -1
  122. package/dist/sandbox/migrate-worker.mjs +1 -1
  123. package/dist/{seeds-Cx8NmuQj.mjs → seeds-BfzwCdYv.mjs} +62 -53
  124. package/dist/seeds-BfzwCdYv.mjs.map +1 -0
  125. package/dist/{seeds-a1H3kuqu.cjs → seeds-DkcKQ_F8.cjs} +66 -51
  126. package/dist/seeds-DkcKQ_F8.cjs.map +1 -0
  127. package/dist/{sniffer-Bt2H-BZ_.mjs → sniffer-B1neuJz2.mjs} +7 -7
  128. package/dist/{sniffer-Bt2H-BZ_.mjs.map → sniffer-B1neuJz2.mjs.map} +1 -1
  129. package/dist/{sniffer-DxYAi7bz.cjs → sniffer-DgfzmvB7.cjs} +7 -7
  130. package/dist/{sniffer-DxYAi7bz.cjs.map → sniffer-DgfzmvB7.cjs.map} +1 -1
  131. package/dist/target/public.cjs +1 -1
  132. package/dist/target/public.mjs +1 -1
  133. package/dist/{terminal-Bs_lNQhL.mjs → terminal-CvRLxz6g.mjs} +2 -2
  134. package/dist/{terminal-Bs_lNQhL.mjs.map → terminal-CvRLxz6g.mjs.map} +1 -1
  135. package/dist/{terminal-CsQz4oT0.cjs → terminal-D_NRPW4W.cjs} +2 -2
  136. package/dist/{terminal-CsQz4oT0.cjs.map → terminal-D_NRPW4W.cjs.map} +1 -1
  137. package/dist/vitest.cjs +1 -1
  138. package/dist/vitest.mjs +1 -1
  139. package/package.json +15 -15
  140. package/dist/add-BJJKhUnO.mjs.map +0 -1
  141. package/dist/add-D97HfZ7z.cjs.map +0 -1
  142. package/dist/compose-BviikvXq.cjs.map +0 -1
  143. package/dist/engine-Blx6G12-.cjs.map +0 -1
  144. package/dist/engine-VnbN4VnX.mjs.map +0 -1
  145. package/dist/ready-CuSU8Ap0.mjs.map +0 -1
  146. package/dist/ready-D38XpZ0L.cjs.map +0 -1
  147. package/dist/seeds-Cx8NmuQj.mjs.map +0 -1
  148. package/dist/seeds-a1H3kuqu.cjs.map +0 -1
@@ -2,14 +2,14 @@ import { t as __exportAll } from "./rolldown-runtime-BhDjJH2R.mjs";
2
2
  import { t as GkmError } from "./errors-D8Gwp5kU.mjs";
3
3
  import { a as runOutput, i as run } from "./run-BJLIerMM.mjs";
4
4
  import { B as LOGS_PORT, I as otlpTelemetryEnv, L as resolveStageTelemetry, at as certificateFor, ft as SERVER_IPV4_KEY, ht as isReservedStageKey, it as ComposeTlsFileMissing, ot as proxyFor, z as telemetryEnv } from "./workspace-D1QbNd55.mjs";
5
- import { a as serverAddressHint, h as stackBackups, i as requiredServerAddress, l as systemLookup, m as backupsService, o as stackHosts, p as backupsRoleStatements, r as isLocalHost, s as stageDns, t as HostNotPointingAtServer, u as BACKUPS_SERVICE, x as stageBackups } from "./dns-B-wqZiyQ.mjs";
5
+ import { a as serverAddressHint, h as stackBackups, i as requiredServerAddress, l as systemLookup, m as backupsService, o as stackHosts, p as backupsRoleStatements, r as isLocalHost, s as stageDns, t as HostNotPointingAtServer, u as BACKUPS_SERVICE, x as stageBackups } from "./dns-CRungu5C.mjs";
6
6
  import { t as defineTarget } from "./define-6poNqm5O.mjs";
7
- import { $ as devServicesUsed, $t as applyBuckets, An as scopeTelemetryEnv, Cn as envFor, En as planFor, Fn as hostFor, Gn as logsAccess, Gt as imageLayout, Hn as primaryPortKey, I as appDockerfile, In as DEFAULT_IMAGES, Jn as withLogsPassword, K as validateImageRef, Kn as logsService, Kt as TURBO_VERSION, M as stageProviderNotes, Mn as telemetryOf, Nn as usesTelemetry, Pn as EMULATOR_ACCESS_KEY_ID, Qt as workerUnits, R as ensureDockerignore, Sn as withRedisPassword, St as composeFor, Wn as LOGS_SERVICE, Wt as composeBuildPaths, Xn as isMainFrontendApp, Yn as NoDomainForStage, Yt as findBuildRoot, Zn as resolveHost, _ as createComposeState, _n as REDIS_SERVICE, _t as LEGACY_LOCAL_LOGIN, at as appEnvKeys, bn as runsRedis, bt as pgClient, ct as workerEnvKeys, dt as constructGlobs, en as applyPolicies, et as externalServices, gn as withGeneratedSecrets, in as postgresStatements, it as suppliedOnly, kn as isTelemetryKey, ln as postgresSuperuser, n as reportDatabaseRuns, nn as bucketPolicies, o as recordDnsChanges, on as LOCAL_RABBITMQ_USER, qn as stackLogs, qt as WORKER_PORT, r as reportPlannedSeeds, rt as stageServiceDeclarations, s as currentActor, sn as loadLocalCredentials, st as networkEnv, t as DeploySeedsFailed, tn as applyPostgres, u as DeployJournal, vn as STACK_CACHE, vt as ensurePostgresLogin, wn as localRolePassword, x as recordRelease, xn as stackRedis, yn as redisService, yt as bucketClient, z as workerDockerfile, zn as portKeys, zt as initStageSecrets } from "./seeds-Cx8NmuQj.mjs";
7
+ import { $ as devServicesUsed, $t as workerUnits, An as isTelemetryKey, Bn as portKeys, Cn as withRedisPassword, Dn as planFor, Fn as EMULATOR_ACCESS_KEY_ID, Gn as LOGS_SERVICE, Gt as imageLayout, I as appDockerfile, In as hostFor, Jn as stackLogs, K as validateImageRef, Kn as logsAccess, Kt as TURBO_VERSION, Ln as DEFAULT_IMAGES, M as stageProviderNotes, Nn as telemetryOf, Pn as usesTelemetry, Qn as resolveHost, R as ensureDockerignore, Sn as stackRedis, St as composeFor, Tn as localRolePassword, Un as primaryPortKey, Wt as composeBuildPaths, Xn as NoDomainForStage, Yn as withLogsPassword, Yt as findBuildRoot, Zn as isMainFrontendApp, _ as createComposeState, _n as withGeneratedSecrets, _t as LEGACY_LOCAL_LOGIN, an as postgresStatements, at as appEnvKeys, bn as redisService, bt as pgClient, cn as loadLocalCredentials, ct as workerEnvKeys, dt as constructGlobs, en as applyBuckets, et as externalServices, it as suppliedOnly, jn as scopeTelemetryEnv, n as reportDatabaseRuns, nn as applyPostgres, o as recordDnsChanges, qn as logsService, qt as WORKER_PORT, r as reportPlannedSeeds, rn as bucketPolicies, rt as stageServiceDeclarations, s as currentActor, sn as LOCAL_RABBITMQ_USER, st as networkEnv, t as DeploySeedsFailed, tn as applyPolicies, u as DeployJournal, un as postgresSuperuser, vn as REDIS_SERVICE, vt as ensurePostgresLogin, wn as envFor, x as recordRelease, xn as runsRedis, yn as STACK_CACHE, yt as bucketClient, z as workerDockerfile, zt as initStageSecrets } from "./seeds-BfzwCdYv.mjs";
8
8
  import { t as appKey } from "./derive-B4vDpzgP.mjs";
9
- import { o as DEFAULT_EVENTS } from "./SubscriberGenerator-YK-7ewmi.mjs";
9
+ import { o as DEFAULT_EVENTS } from "./SubscriberGenerator-DHnIYwUU.mjs";
10
10
  import { a as imageRef } from "./identity-CBXr4wNi.mjs";
11
- import { r as discover } from "./discover-kziEht4W.mjs";
12
- import { i as installedFrom } from "./drivers-OXhPkaNB.mjs";
11
+ import { i as discover } from "./discover-Ca8U75dl.mjs";
12
+ import { i as installedFrom } from "./drivers-D11JHxrD.mjs";
13
13
  import { f as plannedSeeds, o as SeedFailed, p as seedDatabases, u as migrateDatabases } from "./databases-BeGP5eDh.mjs";
14
14
  import { dirname, join } from "node:path";
15
15
  import { existsSync } from "node:fs";
@@ -2289,7 +2289,7 @@ async function validateCompose(ctx, deps, options = {}) {
2289
2289
  ...layout ? { layout } : {},
2290
2290
  ...push ? { buildOnly: true } : {}
2291
2291
  });
2292
- if (mode === "build") assertRedisClient(workspace, composed);
2292
+ if (mode === "build") assertRedisClient(workspace, composed, manifest, runnables);
2293
2293
  const stack = options.pin ? withPinnedImages(composed, options.pin.file, options.pin.digests) : composed;
2294
2294
  if (mode === "pull" && !ctx.dryRun) await assertImagesExist(deps.docker, tag, [...stack.apps, ...stack.workers]);
2295
2295
  if (stack.redis && !stack.local) ctx.secrets.mask(stack.redis.password);
@@ -2366,13 +2366,16 @@ var RedisClientMissing = class extends GkmError {
2366
2366
  }
2367
2367
  };
2368
2368
  /**
2369
- * Every backend and worker image built for a stack with a cache can resolve
2369
+ * Every backend and worker image whose process reaches a cache can resolve
2370
2370
  * `ioredis` — listed by its app or a directory above it, the way Node and
2371
- * the image's install find it.
2371
+ * the image's install find it. A process that reaches no cache registers no
2372
+ * cache driver, so it needs no client.
2372
2373
  */
2373
- function assertRedisClient(workspace, stack) {
2374
+ function assertRedisClient(workspace, stack, manifest, runnables) {
2374
2375
  if (!stack.plan.resources.some((r) => r.kind === "cache")) return;
2375
- const missing = [.../* @__PURE__ */ new Set([...stack.apps.filter((app) => app.kind === "rest-api").map((a) => a.name), ...stack.workers.map((worker) => worker.host)])].filter((name) => {
2376
+ const cacheKeys = Object.values(manifest).filter((d) => d.kind === "cache").flatMap((d) => d.provides ?? []);
2377
+ const reachesCache = (keys) => cacheKeys.some((key) => keys?.has(key));
2378
+ const missing = [.../* @__PURE__ */ new Set([...stack.apps.filter((app) => app.kind === "rest-api" && reachesCache(appEnvKeys(manifest, app.name, runnables))).map((a) => a.name), ...stack.workers.filter((worker) => reachesCache(workerEnvKeys(manifest, worker.id, runnables))).map((worker) => worker.host)])].filter((name) => {
2376
2379
  const app = workspace.apps[name];
2377
2380
  return app && !installedFrom(join(workspace.root, app.path), "ioredis");
2378
2381
  }).sort();
@@ -3151,4 +3154,4 @@ function composeTarget(options = {}) {
3151
3154
  //#endregion
3152
3155
  export { sshTarget as _, stackOverrideFile as a, composeProject as c, stackPlan as d, EDGE_PROJECT as f, dockerHost as g, composeServer as h, ComposePushNeedsBuild as i, derivedCredentials as l, pinnedRef as m, compose_exports as n, edgeRef as o, parseDigests as p, ComposePinNeedsPull as r, removeEdgeRoutes as s, composeTarget as t, stackDir as u, dockerCompose as v, projectNetwork as y };
3153
3156
 
3154
- //# sourceMappingURL=compose-DtPhKs0u.mjs.map
3157
+ //# sourceMappingURL=compose-BXUDOrte.mjs.map