@caelo-cms/provisioning 0.10.55 → 0.10.58

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (221) hide show
  1. package/dist/agent-db.js +97 -24
  2. package/dist/cli-routing.js +1 -1
  3. package/dist/cli-routing.js.map +1 -1
  4. package/dist/cli.js +4 -1
  5. package/dist/cli.js.map +1 -1
  6. package/dist/compose.js +5 -0
  7. package/dist/compose.js.map +1 -1
  8. package/dist/converge-checkpoint.d.ts +66 -0
  9. package/dist/converge-checkpoint.d.ts.map +1 -0
  10. package/dist/converge-checkpoint.js +61 -0
  11. package/dist/converge-checkpoint.js.map +1 -0
  12. package/dist/converge-job-gcp.d.ts +46 -0
  13. package/dist/converge-job-gcp.d.ts.map +1 -0
  14. package/dist/converge-job-gcp.js +368 -0
  15. package/dist/converge-job-gcp.js.map +1 -0
  16. package/dist/converge-job-setup.d.ts +62 -0
  17. package/dist/converge-job-setup.d.ts.map +1 -0
  18. package/dist/converge-job-setup.js +228 -0
  19. package/dist/converge-job-setup.js.map +1 -0
  20. package/dist/converge-job.d.ts +141 -0
  21. package/dist/converge-job.d.ts.map +1 -0
  22. package/dist/converge-job.js +325 -0
  23. package/dist/converge-job.js.map +1 -0
  24. package/dist/gcp-names.d.ts +9 -0
  25. package/dist/gcp-names.d.ts.map +1 -1
  26. package/dist/gcp-names.js +13 -0
  27. package/dist/gcp-names.js.map +1 -1
  28. package/dist/index.d.ts +2 -0
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +2 -0
  31. package/dist/index.js.map +1 -1
  32. package/dist/infra-contract.d.ts +1 -1
  33. package/dist/infra-contract.d.ts.map +1 -1
  34. package/dist/infra-contract.js +33 -1
  35. package/dist/infra-contract.js.map +1 -1
  36. package/dist/install-job.d.ts +11 -3
  37. package/dist/install-job.d.ts.map +1 -1
  38. package/dist/install-job.js +22 -12
  39. package/dist/install-job.js.map +1 -1
  40. package/dist/lifecycle.d.ts +13 -1
  41. package/dist/lifecycle.d.ts.map +1 -1
  42. package/dist/lifecycle.js +115 -58
  43. package/dist/lifecycle.js.map +1 -1
  44. package/dist/operator-access.d.ts +4 -0
  45. package/dist/operator-access.d.ts.map +1 -1
  46. package/dist/operator-access.js +43 -7
  47. package/dist/operator-access.js.map +1 -1
  48. package/dist/release-contract.d.ts +3 -2
  49. package/dist/release-contract.d.ts.map +1 -1
  50. package/dist/release-contract.js +5 -2
  51. package/dist/release-contract.js.map +1 -1
  52. package/dist/release-manifest.d.ts +2 -0
  53. package/dist/release-manifest.d.ts.map +1 -1
  54. package/dist/release-manifest.js.map +1 -1
  55. package/dist/remote-mcp-edge.d.ts +114 -0
  56. package/dist/remote-mcp-edge.d.ts.map +1 -0
  57. package/dist/remote-mcp-edge.js +116 -0
  58. package/dist/remote-mcp-edge.js.map +1 -0
  59. package/dist/remote-mcp.d.ts +139 -0
  60. package/dist/remote-mcp.d.ts.map +1 -0
  61. package/dist/remote-mcp.js +434 -0
  62. package/dist/remote-mcp.js.map +1 -0
  63. package/dist/runtime-secrets.d.ts +12 -0
  64. package/dist/runtime-secrets.d.ts.map +1 -1
  65. package/dist/runtime-secrets.js +32 -4
  66. package/dist/runtime-secrets.js.map +1 -1
  67. package/dist/seal-key-rotation.d.ts +38 -0
  68. package/dist/seal-key-rotation.d.ts.map +1 -0
  69. package/dist/seal-key-rotation.js +206 -0
  70. package/dist/seal-key-rotation.js.map +1 -0
  71. package/dist/stack-contract.d.ts +206 -3
  72. package/dist/stack-contract.d.ts.map +1 -1
  73. package/dist/stack-contract.js +219 -4
  74. package/dist/stack-contract.js.map +1 -1
  75. package/dist/stack-converge.d.ts +53 -1
  76. package/dist/stack-converge.d.ts.map +1 -1
  77. package/dist/stack-converge.js +124 -4
  78. package/dist/stack-converge.js.map +1 -1
  79. package/dist/state-lock-lease.d.ts +142 -0
  80. package/dist/state-lock-lease.d.ts.map +1 -0
  81. package/dist/state-lock-lease.js +347 -0
  82. package/dist/state-lock-lease.js.map +1 -0
  83. package/dist/state-store.d.ts +66 -9
  84. package/dist/state-store.d.ts.map +1 -1
  85. package/dist/state-store.js +249 -30
  86. package/dist/state-store.js.map +1 -1
  87. package/dist/upgrade/app-roll.d.ts +36 -7
  88. package/dist/upgrade/app-roll.d.ts.map +1 -1
  89. package/dist/upgrade/app-roll.js +53 -19
  90. package/dist/upgrade/app-roll.js.map +1 -1
  91. package/dist/upgrade/audit-job-roll.d.ts.map +1 -1
  92. package/dist/upgrade/audit-job-roll.js +3 -1
  93. package/dist/upgrade/audit-job-roll.js.map +1 -1
  94. package/dist/upgrade/converge.d.ts.map +1 -1
  95. package/dist/upgrade/converge.js +125 -12
  96. package/dist/upgrade/converge.js.map +1 -1
  97. package/dist/upgrade/gcp-lookup.d.ts +27 -10
  98. package/dist/upgrade/gcp-lookup.d.ts.map +1 -1
  99. package/dist/upgrade/gcp-lookup.js +46 -7
  100. package/dist/upgrade/gcp-lookup.js.map +1 -1
  101. package/dist/upgrade/record-rolled.d.ts +40 -0
  102. package/dist/upgrade/record-rolled.d.ts.map +1 -0
  103. package/dist/upgrade/record-rolled.js +46 -0
  104. package/dist/upgrade/record-rolled.js.map +1 -0
  105. package/dist/upgrade/upgrade.d.ts +45 -1
  106. package/dist/upgrade/upgrade.d.ts.map +1 -1
  107. package/dist/upgrade/upgrade.js +60 -17
  108. package/dist/upgrade/upgrade.js.map +1 -1
  109. package/dist/upgrader-assess.d.ts +15 -1
  110. package/dist/upgrader-assess.d.ts.map +1 -1
  111. package/dist/upgrader-assess.js +36 -6
  112. package/dist/upgrader-assess.js.map +1 -1
  113. package/dist/upgrader-gcp.d.ts +15 -0
  114. package/dist/upgrader-gcp.d.ts.map +1 -1
  115. package/dist/upgrader-gcp.js +42 -7
  116. package/dist/upgrader-gcp.js.map +1 -1
  117. package/dist/upgrader-iam-preflight.d.ts +123 -0
  118. package/dist/upgrader-iam-preflight.d.ts.map +1 -0
  119. package/dist/upgrader-iam-preflight.js +414 -0
  120. package/dist/upgrader-iam-preflight.js.map +1 -0
  121. package/dist/upgrader-job.d.ts +33 -9
  122. package/dist/upgrader-job.d.ts.map +1 -1
  123. package/dist/upgrader-job.js +169 -27
  124. package/dist/upgrader-job.js.map +1 -1
  125. package/dist/upgrader-records.d.ts +58 -0
  126. package/dist/upgrader-records.d.ts.map +1 -0
  127. package/dist/upgrader-records.js +87 -0
  128. package/dist/upgrader-records.js.map +1 -0
  129. package/dist/upgrader-reporter.d.ts +3 -2
  130. package/dist/upgrader-reporter.d.ts.map +1 -1
  131. package/dist/upgrader-reporter.js +10 -2
  132. package/dist/upgrader-reporter.js.map +1 -1
  133. package/dist/upgrader-setup.d.ts +25 -3
  134. package/dist/upgrader-setup.d.ts.map +1 -1
  135. package/dist/upgrader-setup.js +123 -11
  136. package/dist/upgrader-setup.js.map +1 -1
  137. package/dist/wizards/gcp-cost.d.ts.map +1 -1
  138. package/dist/wizards/gcp-cost.js +11 -3
  139. package/dist/wizards/gcp-cost.js.map +1 -1
  140. package/dist/wizards/gcp-pulumi.d.ts +6 -0
  141. package/dist/wizards/gcp-pulumi.d.ts.map +1 -1
  142. package/dist/wizards/gcp-pulumi.js +14 -2
  143. package/dist/wizards/gcp-pulumi.js.map +1 -1
  144. package/dist/wizards/gcp.d.ts.map +1 -1
  145. package/dist/wizards/gcp.js +106 -4
  146. package/dist/wizards/gcp.js.map +1 -1
  147. package/package.json +2 -2
  148. package/src/agent/run.test.ts +14 -1
  149. package/src/audit-job-setup.test.ts +7 -1
  150. package/src/cli-routing.ts +1 -1
  151. package/src/cli.ts +4 -1
  152. package/src/compose.ts +5 -0
  153. package/src/converge-checkpoint.ts +75 -0
  154. package/src/converge-entrypoint.test.ts +213 -0
  155. package/src/converge-job-gcp.test.ts +222 -0
  156. package/src/converge-job-gcp.ts +443 -0
  157. package/src/converge-job-setup.test.ts +152 -0
  158. package/src/converge-job-setup.ts +268 -0
  159. package/src/converge-job.test.ts +486 -0
  160. package/src/converge-job.ts +542 -0
  161. package/src/gateway-env-isolation.test.ts +8 -1
  162. package/src/gcp-names.ts +15 -0
  163. package/src/gcp-url-map.test.ts +9 -1
  164. package/src/index.ts +8 -0
  165. package/src/infra-contract.test.ts +8 -4
  166. package/src/infra-contract.ts +33 -1
  167. package/src/install-job.test.ts +3 -1
  168. package/src/install-job.ts +31 -14
  169. package/src/lifecycle.ts +137 -71
  170. package/src/operator-access.test.ts +24 -1
  171. package/src/operator-access.ts +44 -6
  172. package/src/release-contract.ts +5 -2
  173. package/src/release-manifest.test.ts +42 -0
  174. package/src/release-manifest.ts +2 -0
  175. package/src/remote-mcp-edge.ts +137 -0
  176. package/src/remote-mcp.test.ts +690 -0
  177. package/src/remote-mcp.ts +524 -0
  178. package/src/runtime-secrets.test.ts +31 -6
  179. package/src/runtime-secrets.ts +41 -3
  180. package/src/seal-key-rotation.test.ts +131 -0
  181. package/src/seal-key-rotation.ts +258 -0
  182. package/src/stack-contract-parity.test.ts +20 -3
  183. package/src/stack-contract.test.ts +32 -2
  184. package/src/stack-contract.ts +363 -4
  185. package/src/stack-converge-secrets.test.ts +4 -0
  186. package/src/stack-converge.test.ts +21 -5
  187. package/src/stack-converge.ts +162 -7
  188. package/src/state-attach.test.ts +7 -1
  189. package/src/state-lock-lease.test.ts +302 -0
  190. package/src/state-lock-lease.ts +423 -0
  191. package/src/state-lock.test.ts +568 -0
  192. package/src/state-store.ts +347 -27
  193. package/src/upgrade/app-roll.ts +102 -21
  194. package/src/upgrade/audit-job-roll.ts +3 -1
  195. package/src/upgrade/converge.ts +148 -10
  196. package/src/upgrade/gcp-lookup.test.ts +80 -0
  197. package/src/upgrade/gcp-lookup.ts +65 -8
  198. package/src/upgrade/record-rolled.test.ts +105 -0
  199. package/src/upgrade/record-rolled.ts +91 -0
  200. package/src/upgrade/upgrade.test.ts +203 -3
  201. package/src/upgrade/upgrade.ts +120 -24
  202. package/src/upgrader-assess.test.ts +92 -3
  203. package/src/upgrader-assess.ts +58 -9
  204. package/src/upgrader-gcp.ts +47 -8
  205. package/src/upgrader-iam-preflight.test.ts +393 -0
  206. package/src/upgrader-iam-preflight.ts +510 -0
  207. package/src/upgrader-job.test.ts +586 -15
  208. package/src/upgrader-job.ts +237 -53
  209. package/src/upgrader-records.ts +151 -0
  210. package/src/upgrader-reporter.test.ts +6 -0
  211. package/src/upgrader-reporter.ts +7 -2
  212. package/src/upgrader-setup.test.ts +3 -3
  213. package/src/upgrader-setup.ts +128 -11
  214. package/src/wizards/gcp-cost.ts +12 -3
  215. package/src/wizards/gcp-pulumi.test.ts +15 -0
  216. package/src/wizards/gcp-pulumi.ts +18 -2
  217. package/src/wizards/gcp.ts +134 -4
  218. package/stacks/aws/index.ts +10 -0
  219. package/stacks/azure/index.ts +9 -0
  220. package/stacks/gcp/index.ts +47 -7
  221. package/stacks/gcp-firebase/index.ts +38 -6
@@ -1,6 +1,6 @@
1
1
  import { type GcloudResult } from "./gcloud.js";
2
2
  import { type GcloudRunner, type Sleep } from "./gcloud-retry.js";
3
- import { type CloudRunEnvVar, type CloudRunSlug, type GcpProvider, type MediaVolumeContract, type RetiredIamBinding, type ServiceEnvInputs } from "./stack-contract.js";
3
+ import { type CloudRunEnvVar, type CloudRunSlug, type GcpProvider, type MediaVolumeContract, type RetiredIamBinding, type RetiredSecretFile, type SecretFileContract, type ServiceEnvInputs } from "./stack-contract.js";
4
4
  /** An env var as a deployed Cloud Run service carries it. */
5
5
  export type LiveEnvValue = {
6
6
  readonly kind: "value";
@@ -80,6 +80,12 @@ export declare function liveDatabaseHost(liveEnv: ReadonlyMap<string, LiveEnvVal
80
80
  export declare function planContractEnv(install: ServiceEnvInputs, services: Readonly<Record<CloudRunSlug, DeployedService>>, opts?: {
81
81
  /** Contract vars to leave exactly as the services have them. */
82
82
  readonly leaveUntouched?: readonly string[];
83
+ /**
84
+ * Vars beyond the contract to set as well (#806: the remote-MCP identity
85
+ * env, resolved by the converge). A name the contract also sets is
86
+ * refused rather than silently doubled.
87
+ */
88
+ readonly extraEnv?: Readonly<Partial<Record<CloudRunSlug, readonly CloudRunEnvVar[]>>>;
83
89
  }): {
84
90
  readonly ok: true;
85
91
  readonly services: Record<CloudRunSlug, {
@@ -148,6 +154,21 @@ export declare function removeRetiredIamBindings(install: InstallTarget, deps?:
148
154
  sleep?: Sleep;
149
155
  retired?: readonly RetiredIamBinding[];
150
156
  }): Promise<RetiredBindingOutcome[]>;
157
+ /**
158
+ * Delete the secrets older contracts created and nothing reads any more
159
+ * ({@link RETIRED_RUNTIME_SECRETS}) — run by upgrade AFTER both services
160
+ * rolled onto revisions that no longer reference them (Cloud Run would
161
+ * refuse a revision whose secret is gone). Deleting a secret drops its IAM
162
+ * bindings with it. An absent secret is `absent`; never throws for a
163
+ * gcloud failure.
164
+ */
165
+ export declare function deleteRetiredSecrets(install: Pick<InstallTarget, "projectId" | "env">, deps?: {
166
+ run?: GcloudRunner;
167
+ retired?: readonly {
168
+ readonly name: string;
169
+ readonly why: string;
170
+ }[];
171
+ }): Promise<RetiredBindingOutcome[]>;
151
172
  /** The memory limit of the service's container (`512Mi`, `2Gi`), or null
152
173
  * when the service declares none (Cloud Run then runs it with 512Mi). */
153
174
  export declare function liveContainerMemory(serviceJson: string): string | null;
@@ -167,6 +188,14 @@ export declare function planAdminMemory(live: string | null, desired?: string):
167
188
  };
168
189
  interface KnativeVolume {
169
190
  readonly name: string;
191
+ /** A Secret Manager volume (#806 secret files). */
192
+ readonly secret?: {
193
+ readonly secretName?: string;
194
+ readonly items?: readonly {
195
+ readonly key?: string;
196
+ readonly path?: string;
197
+ }[];
198
+ };
170
199
  readonly csi?: {
171
200
  readonly driver?: string;
172
201
  readonly readOnly?: boolean;
@@ -217,6 +246,29 @@ export type MediaVolumePlan = {
217
246
  * the admin at different media than it has been serving.
218
247
  */
219
248
  export declare function planMediaVolume(live: LiveVolumes, desired: MediaVolumeContract): MediaVolumePlan;
249
+ export type RollAdditionsPlan = {
250
+ readonly ok: true;
251
+ readonly flags: string[];
252
+ readonly changes: string[];
253
+ } | {
254
+ readonly ok: false;
255
+ readonly error: string;
256
+ };
257
+ /**
258
+ * The flags that mount each of `files` (stack-contract.ts
259
+ * SERVICE_SECRET_FILES) where the stacks mount it, adding only what is
260
+ * missing — `--update-secrets=<dir>/<file>=<secret>:latest`, the form
261
+ * cloud.google.com/run/docs/configuring/services/secrets documents (gcloud
262
+ * names the volume itself). A file already mounted from the same secret at
263
+ * `latest` is converged whatever its volume is called. Anything else at that
264
+ * directory is refused with what was found: replacing it could feed the
265
+ * gateway a different credential.
266
+ */
267
+ export declare function planSecretFiles(live: LiveVolumes, files: readonly SecretFileContract[], env: string, retired?: readonly RetiredSecretFile[]): RollAdditionsPlan;
268
+ /** The request timeout of a described service, in seconds (null: Cloud Run's default, 300). */
269
+ export declare function liveTimeoutSeconds(serviceJson: string): number | null;
270
+ /** `--timeout=<desired>` when the live timeout differs; nothing when it matches. */
271
+ export declare function planRequestTimeout(live: number | null, desired: number): RollAdditionsPlan;
220
272
  /**
221
273
  * The single `gcloud run services update` that rolls a service to a new
222
274
  * image, its run SA and its env changes, so all land in one new revision.
@@ -1 +1 @@
1
- {"version":3,"file":"stack-converge.d.ts","sourceRoot":"","sources":["../src/stack-converge.ts"],"names":[],"mappings":"AAuBA,OAAO,EAA2B,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,KAAK,YAAY,EAA2B,KAAK,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAG3F,OAAO,EAIL,KAAK,cAAc,EACnB,KAAK,YAAY,EAEjB,KAAK,WAAW,EAKhB,KAAK,mBAAmB,EAIxB,KAAK,iBAAiB,EAEtB,KAAK,gBAAgB,EAItB,MAAM,qBAAqB,CAAC;AAM7B,6DAA6D;AAC7D,MAAM,MAAM,YAAY,GACpB;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAClD;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnF;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CA4B/E;AAOD,gGAAgG;AAChG,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAK1E;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,8DAA8D;IAC9D,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC;AAED,MAAM,MAAM,aAAa,GACrB;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,GAC9E;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAUnD;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,OAAO,CAI5F;AA0BD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,EACvC,OAAO,EAAE,SAAS,cAAc,EAAE,EAClC,OAAO,GAAE,SAAS,MAAM,EAAO,GAC9B,aAAa,CAiEf;AAED,wDAAwD;AACxD,MAAM,WAAW,eAAe;IAC9B,oCAAoC;IACpC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;CACrD;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,GACzC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAY3D;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,gBAAgB,EACzB,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC,EACzD,IAAI,GAAE;IACJ,gEAAgE;IAChE,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACxC,GAEJ;IACE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,YAAY,EAAE;QAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,EAAE,SAAS,EAAE,CAAA;KAAE,CAAC,CAAC;CACpF,GACD;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAiDjD;AAMD,6DAA6D;AAC7D,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,wCAAwC;IACxC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,0DAA0D;IAC1D,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;CAC3D;AAED,MAAM,WAAW,gBAAgB;IAC/B,sFAAsF;IACtF,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;IAClD,iEAAiE;IACjE,QAAQ,CAAC,SAAS,EAAE,OAAO,GAAG,MAAM,CAAC;IACrC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IACtC,2EAA2E;IAC3E,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AA+CD,8EAA8E;AAC9E,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAOtF;AAkID;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,aAAa,EACtB,IAAI,GAAE;IAAE,GAAG,CAAC,EAAE,YAAY,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAA;CAAO,GAC/C,OAAO,CAAC,gBAAgB,CAAC,CAwC3B;AAED,4CAA4C;AAC5C,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,mCAAmC;IACnC,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;IACjD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;GAMG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,aAAa,EACtB,IAAI,GAAE;IAAE,GAAG,CAAC,EAAE,YAAY,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IAAC,OAAO,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAA;CAAO,GACvF,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAgClC;AAED;0EAC0E;AAC1E,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAStE;AAKD;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,OAAO,GAAE,MAA6B,GAEpC;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GACtF;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAYjD;AAUD,UAAU,aAAa;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,CAAC,EAAE;QACb,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;QAC5B,QAAQ,CAAC,gBAAgB,CAAC,EAAE;YAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KAC9F,CAAC;CACH;AAED,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,0FAA0F;AAC1F,MAAM,WAAW,WAAW;IAC1B,uEAAuE;IACvE,QAAQ,CAAC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7C,QAAQ,CAAC,OAAO,EAAE,SAAS,aAAa,EAAE,CAAC;IAC3C,qCAAqC;IACrC,QAAQ,CAAC,MAAM,EAAE,SAAS,kBAAkB,EAAE,CAAC;CAChD;AAED,iFAAiF;AACjF,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,WAAW,CAmB5D;AAED,MAAM,MAAM,eAAe,GACvB;IACE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,oEAAoE;IACpE,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IACzB,gDAAgD;IAChD,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;CAC5B,GACD;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AASnD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,mBAAmB,GAAG,eAAe,CAoDhG;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE;IACpC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,2EAA2E;IAC3E,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,mEAAmE;IACnE,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,gFAAgF;IAChF,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1C,GAAG,MAAM,EAAE,CAkBX;AAWD;;;;GAIG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,GAAE;IAAE,GAAG,CAAC,EAAE,YAAY,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAA;CAAO,GAC/C,OAAO,CAAC,YAAY,CAAC,CAUvB"}
1
+ {"version":3,"file":"stack-converge.d.ts","sourceRoot":"","sources":["../src/stack-converge.ts"],"names":[],"mappings":"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"}
@@ -17,13 +17,16 @@
17
17
  * - {@link planMediaVolume}: the admin's media bucket volume (gen2 + Cloud
18
18
  * Storage volume + mount), added in the same `services update` when
19
19
  * missing.
20
+ * - {@link planSecretFiles} / {@link planRequestTimeout} (#806): the
21
+ * gateway's secret file (the remote-MCP OAuth client) and its request
22
+ * timeout, in the same `services update`.
20
23
  */
21
24
  import { removeDefaultFirewallRules } from "./default-firewall.js";
22
25
  import { gcloud as defaultGcloud } from "./gcloud.js";
23
26
  import { realSleep, runWithRetry } from "./gcloud-retry.js";
24
27
  import { gcpBucketName, gcpSecretId } from "./gcp-names.js";
25
28
  import { selfCommand } from "./self-command.js";
26
- import { ADMIN_MEMORY_DEFAULT, adminEnvContract, databaseUrls, gatewayEnvContract, iamMember, memoryQuantityMiB, RETIRED_IAM_BINDINGS, RETIRED_SERVICE_ENV, STATIC_CDN_POLICY, stackIamInvariants, staticBackendBucketPrefix, } from "./stack-contract.js";
29
+ import { ADMIN_MEMORY_DEFAULT, adminEnvContract, databaseUrls, gatewayEnvContract, iamMember, memoryQuantityMiB, RETIRED_IAM_BINDINGS, RETIRED_RUNTIME_SECRETS, RETIRED_SERVICE_ENV, STATIC_CDN_POLICY, secretFilePath, stackIamInvariants, staticBackendBucketPrefix, } from "./stack-contract.js";
27
30
  /**
28
31
  * Env vars of the first container in `gcloud run services describe
29
32
  * --format=json` output (Knative `serving.knative.dev/v1` Service).
@@ -230,11 +233,26 @@ export function planContractEnv(install, services, opts = {}) {
230
233
  inputs = { ...runtime, provider: "gcp" };
231
234
  }
232
235
  const skip = new Set(opts.leaveUntouched ?? []);
233
- const owned = (contract) => contract.filter((e) => !skip.has(e.name));
234
- const admin = planEnvUpdate(services.admin.liveEnv, owned(adminEnvContract(inputs)), RETIRED_SERVICE_ENV.admin);
236
+ const desired = (slug, contract) => {
237
+ const extra = opts.extraEnv?.[slug] ?? [];
238
+ const clash = extra.find((e) => contract.some((c) => c.name === e.name));
239
+ if (clash)
240
+ throw new Error(`${slug}: ${clash.name} is both in the contract and extra env`);
241
+ return [...contract, ...extra].filter((e) => !skip.has(e.name));
242
+ };
243
+ let adminDesired;
244
+ let gatewayDesired;
245
+ try {
246
+ adminDesired = desired("admin", adminEnvContract(inputs));
247
+ gatewayDesired = desired("gateway", gatewayEnvContract(runtime));
248
+ }
249
+ catch (e) {
250
+ return { ok: false, error: e instanceof Error ? e.message : String(e) };
251
+ }
252
+ const admin = planEnvUpdate(services.admin.liveEnv, adminDesired, RETIRED_SERVICE_ENV.admin);
235
253
  if (!admin.ok)
236
254
  return { ok: false, error: `admin: ${admin.error}` };
237
- const gateway = planEnvUpdate(services.gateway.liveEnv, owned(gatewayEnvContract(runtime)), RETIRED_SERVICE_ENV.gateway);
255
+ const gateway = planEnvUpdate(services.gateway.liveEnv, gatewayDesired, RETIRED_SERVICE_ENV.gateway);
238
256
  if (!gateway.ok)
239
257
  return { ok: false, error: `gateway: ${gateway.error}` };
240
258
  return {
@@ -483,6 +501,44 @@ export async function removeRetiredIamBindings(install, deps = {}) {
483
501
  }
484
502
  return outcomes;
485
503
  }
504
+ /**
505
+ * Delete the secrets older contracts created and nothing reads any more
506
+ * ({@link RETIRED_RUNTIME_SECRETS}) — run by upgrade AFTER both services
507
+ * rolled onto revisions that no longer reference them (Cloud Run would
508
+ * refuse a revision whose secret is gone). Deleting a secret drops its IAM
509
+ * bindings with it. An absent secret is `absent`; never throws for a
510
+ * gcloud failure.
511
+ */
512
+ export async function deleteRetiredSecrets(install, deps = {}) {
513
+ const run = deps.run ?? defaultGcloud;
514
+ const outcomes = [];
515
+ for (const s of deps.retired ?? RETIRED_RUNTIME_SECRETS) {
516
+ const id = `secret ${gcpSecretId(install.env, s.name)}`;
517
+ const project = `--project=${install.projectId}`;
518
+ const describe = await run([
519
+ "secrets",
520
+ "describe",
521
+ gcpSecretId(install.env, s.name),
522
+ project,
523
+ "--format=value(name)",
524
+ ]);
525
+ if (!describe.ok && RESOURCE_MISSING.test(describe.stderr)) {
526
+ outcomes.push({ id, status: "absent", why: s.why });
527
+ continue;
528
+ }
529
+ const del = await run([
530
+ "secrets",
531
+ "delete",
532
+ gcpSecretId(install.env, s.name),
533
+ project,
534
+ "--quiet",
535
+ ]);
536
+ outcomes.push(del.ok || RESOURCE_MISSING.test(del.stderr)
537
+ ? { id, status: del.ok ? "removed" : "absent", why: s.why }
538
+ : { id, status: "failed", why: s.why, error: del.stderr.trim() });
539
+ }
540
+ return outcomes;
541
+ }
486
542
  /** The memory limit of the service's container (`512Mi`, `2Gi`), or null
487
543
  * when the service declares none (Cloud Run then runs it with 512Mi). */
488
544
  export function liveContainerMemory(serviceJson) {
@@ -594,6 +650,70 @@ export function planMediaVolume(live, desired) {
594
650
  }
595
651
  return { ok: true, flags, changes };
596
652
  }
653
+ /** `projects/<p>/secrets/<id>` or `<id>` → `<id>`. */
654
+ function bareSecretId(name) {
655
+ return (name ?? "").slice((name ?? "").lastIndexOf("/") + 1);
656
+ }
657
+ /**
658
+ * The flags that mount each of `files` (stack-contract.ts
659
+ * SERVICE_SECRET_FILES) where the stacks mount it, adding only what is
660
+ * missing — `--update-secrets=<dir>/<file>=<secret>:latest`, the form
661
+ * cloud.google.com/run/docs/configuring/services/secrets documents (gcloud
662
+ * names the volume itself). A file already mounted from the same secret at
663
+ * `latest` is converged whatever its volume is called. Anything else at that
664
+ * directory is refused with what was found: replacing it could feed the
665
+ * gateway a different credential.
666
+ */
667
+ export function planSecretFiles(live, files, env, retired = []) {
668
+ const flags = [];
669
+ const changes = [];
670
+ // #914 — mounts an older contract made and nothing reads any more
671
+ // (RETIRED_SECRET_FILES) go in the same revision that mounts their
672
+ // replacement. `--remove-secrets=<dir>/<file>` drops the file, and the
673
+ // mount with it when it was the volume's only file (gcloud
674
+ // `_PruneManagedVolumeMapping`). Repeated `--remove-secrets` /
675
+ // `--update-secrets` flags merge (gcloud map flags use UpdateAction).
676
+ for (const old of retired) {
677
+ if (!live.mounts.some((m) => m.mountPath === old.mountDir))
678
+ continue;
679
+ flags.push(`--remove-secrets=${old.mountDir}/${old.fileName}`);
680
+ changes.push(`secret file ${old.mountDir}/${old.fileName}: removed (${old.why})`);
681
+ }
682
+ for (const file of files) {
683
+ const secretId = gcpSecretId(env, file.secret);
684
+ const mount = live.mounts.find((m) => m.mountPath === file.mountDir);
685
+ if (mount) {
686
+ const volume = live.volumes.find((v) => v.name === mount.name);
687
+ const item = volume?.secret?.items?.find((i) => i.path === file.fileName);
688
+ const inShape = bareSecretId(volume?.secret?.secretName) === secretId && item?.key === file.version;
689
+ if (inShape)
690
+ continue;
691
+ return {
692
+ ok: false,
693
+ error: `the service mounts volume "${mount.name}" at ${file.mountDir}, where ${secretId}:${file.version} belongs as ${file.fileName}. Remove it (gcloud run services update <service> --remove-volume-mount=${file.mountDir}) only if nothing else needs it, then re-run upgrade.`,
694
+ };
695
+ }
696
+ flags.push(`--update-secrets=${secretFilePath(file)}=${secretId}:${file.version}`);
697
+ changes.push(`secret file ${secretFilePath(file)}: (none) → ${secretId}:${file.version}`);
698
+ }
699
+ return { ok: true, flags, changes };
700
+ }
701
+ /** The request timeout of a described service, in seconds (null: Cloud Run's default, 300). */
702
+ export function liveTimeoutSeconds(serviceJson) {
703
+ const svc = JSON.parse(serviceJson);
704
+ const t = svc.spec?.template?.spec?.timeoutSeconds;
705
+ return t === undefined ? null : Number(t);
706
+ }
707
+ /** `--timeout=<desired>` when the live timeout differs; nothing when it matches. */
708
+ export function planRequestTimeout(live, desired) {
709
+ if (live === desired)
710
+ return { ok: true, flags: [], changes: [] };
711
+ return {
712
+ ok: true,
713
+ flags: [`--timeout=${desired}`],
714
+ changes: [`request timeout: ${live === null ? "(default 300)" : live}s → ${desired}s`],
715
+ };
716
+ }
597
717
  /**
598
718
  * The single `gcloud run services update` that rolls a service to a new
599
719
  * image, its run SA and its env changes, so all land in one new revision.
@@ -1 +1 @@
1
- {"version":3,"file":"stack-converge.js","sourceRoot":"","sources":["../src/stack-converge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stack-converge.js","sourceRoot":"","sources":["../src/stack-converge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,142 @@
1
+ import { z } from "zod";
2
+ import type { GcloudResult } from "./gcloud.js";
3
+ /** A Cloud Run job execution, fully addressed. */
4
+ export interface CloudRunExecutionRef {
5
+ readonly projectId: string;
6
+ readonly region: string;
7
+ /** The execution's short name (`CLOUD_RUN_EXECUTION`). */
8
+ readonly name: string;
9
+ }
10
+ /**
11
+ * A lock holder that Cloud Run can vouch for: the execution and the
12
+ * longest it can run (its task timeout).
13
+ */
14
+ export interface ExecutionLockHolder {
15
+ readonly execution: CloudRunExecutionRef;
16
+ readonly maxRuntimeMs: number;
17
+ }
18
+ /**
19
+ * A lock holder outside Cloud Run (a CLI process): its lease is short and
20
+ * renewed by a heartbeat while it runs, so a holder that dies stops
21
+ * renewing and its lock expires on its own (#815).
22
+ */
23
+ export interface ProcessLockHolder {
24
+ readonly leaseMs: number;
25
+ }
26
+ /** Who takes a lock: a Cloud Run execution, or a renewing process. */
27
+ export type LockHolder = ExecutionLockHolder | ProcessLockHolder;
28
+ /** The lease of a CLI process's lock; renewed every third of it. */
29
+ export declare const PROCESS_LEASE_MS: number;
30
+ /**
31
+ * Margin added to a lease for clock skew between the holder and the run
32
+ * judging it (both read their own clock; Cloud Run's are NTP-synced, a
33
+ * developer laptop's may not be).
34
+ */
35
+ export declare const LEASE_SKEW_MS: number;
36
+ /** The lock object's body. `execution` + `leaseUntil` appear together (#815). */
37
+ declare const lockBodySchema: z.ZodObject<{
38
+ purpose: z.ZodString;
39
+ id: z.ZodOptional<z.ZodString>;
40
+ host: z.ZodOptional<z.ZodString>;
41
+ machine: z.ZodOptional<z.ZodNullable<z.ZodString>>;
42
+ pid: z.ZodOptional<z.ZodNumber>;
43
+ startedAt: z.ZodOptional<z.ZodString>;
44
+ execution: z.ZodOptional<z.ZodObject<{
45
+ projectId: z.ZodString;
46
+ region: z.ZodString;
47
+ name: z.ZodString;
48
+ }, z.core.$strip>>;
49
+ leaseUntil: z.ZodOptional<z.ZodString>;
50
+ }, z.core.$strip>;
51
+ /** The lock body as written by {@link lockBody}. */
52
+ export type LockBody = z.infer<typeof lockBodySchema>;
53
+ /**
54
+ * The body a new lock is written with.
55
+ *
56
+ * @param holder a Cloud Run execution (lease: `now + maxRuntimeMs +
57
+ * LEASE_SKEW_MS`) or a renewing process (lease: `now + leaseMs +
58
+ * LEASE_SKEW_MS`); none only for the machine-local lock file, which is
59
+ * judged by its pid alone
60
+ * @param id the acquisition's id; a fresh one when omitted
61
+ */
62
+ export declare function lockBody(purpose: string, now: Date, holder?: LockHolder, id?: string): string;
63
+ /**
64
+ * The same lock body with its lease moved to `now + leaseMs + skew` — the
65
+ * heartbeat of a process holder. Everything else (id, start) is kept.
66
+ */
67
+ export declare function renewedLockBody(body: LockBody, now: Date, leaseMs: number): string;
68
+ /** Whether process `pid` exists on this host (signal 0 checks without signalling). */
69
+ export declare function processAlive(pid: number): boolean;
70
+ /**
71
+ * An id for this machine AND pid namespace, so a pid is only ever checked
72
+ * where it was taken: the host name, the network cards' MAC addresses and
73
+ * (on Linux) the pid namespace. Null inside Cloud Run, where every
74
+ * container is called `localhost`, has its own pid space and no stable
75
+ * hardware to tell it apart — a lock from there is judged by its lease
76
+ * alone. Null too when the machine shows no network card. An id that
77
+ * changes while a lock is held (a new network card) only makes a later
78
+ * judge wait for the lease: a mismatch is always the safe direction.
79
+ */
80
+ export declare function machineId(env?: NodeJS.ProcessEnv): string | null;
81
+ /** The judging run's own host and how it checks a local pid. */
82
+ export interface LocalHost {
83
+ readonly host: string;
84
+ /**
85
+ * {@link machineId}; a lock that names another (or none) is never judged
86
+ * by its pid. Left out only by a lock from before the machine id, which
87
+ * falls back to comparing host names (state-lock-lease tests).
88
+ */
89
+ readonly machine?: string | null;
90
+ readonly alive: (pid: number) => boolean;
91
+ }
92
+ /** Parse a lock body; null when it is not one this code wrote. */
93
+ export declare function parseLockBody(text: string): LockBody | null;
94
+ /** What Cloud Run says about the holder's execution. */
95
+ export type ExecutionState = {
96
+ readonly kind: "running";
97
+ } | {
98
+ readonly kind: "finished";
99
+ readonly how: string;
100
+ } | {
101
+ readonly kind: "not-found";
102
+ }
103
+ /** Cloud Run could not be asked; `error` says why. */
104
+ | {
105
+ readonly kind: "unknown";
106
+ readonly error: string;
107
+ };
108
+ /**
109
+ * Read an execution's state from `gcloud run jobs executions describe
110
+ * --format=json`. An execution has finished once Cloud Run stamped its
111
+ * completion time or decided its `Completed` condition (True: succeeded;
112
+ * False: failed or cancelled). Anything else is still running — including
113
+ * an execution Cloud Run has not started yet.
114
+ */
115
+ export declare function parseExecutionState(result: GcloudResult): ExecutionState;
116
+ /** `gcloud run jobs executions describe`, for {@link judgeHeldLock}. */
117
+ export declare function describeExecutionArgs(ref: CloudRunExecutionRef): string[];
118
+ /** Whether a held lock may be broken, and the words for either outcome. */
119
+ export type LockVerdict = {
120
+ readonly kind: "break";
121
+ readonly why: string;
122
+ } | {
123
+ readonly kind: "held";
124
+ readonly why: string;
125
+ readonly manualRemoval: boolean;
126
+ }
127
+ /** The holder could not be checked; never treated as "dead". */
128
+ | {
129
+ readonly kind: "unknown";
130
+ readonly why: string;
131
+ };
132
+ /**
133
+ * Decide whether the lock with body `text` may be broken.
134
+ *
135
+ * @param describe looks the holder's execution up in Cloud Run; called only
136
+ * when the body names one
137
+ * @param now the judging run's clock, compared against the lease
138
+ * @param here this host's name and pid check, for a process holder's lock
139
+ */
140
+ export declare function judgeHeldLock(text: string, describe: (ref: CloudRunExecutionRef) => ExecutionState, now: Date, here?: LocalHost): LockVerdict;
141
+ export {};
142
+ //# sourceMappingURL=state-lock-lease.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state-lock-lease.d.ts","sourceRoot":"","sources":["../src/state-lock-lease.ts"],"names":[],"mappings":"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"}