alchemy 2.0.0-beta.35 → 2.0.0-beta.37

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 (222) hide show
  1. package/bin/exec.js +176 -26
  2. package/bin/exec.js.map +1 -1
  3. package/lib/AWS/Lambda/Function.d.ts.map +1 -1
  4. package/lib/AWS/Lambda/Function.js +22 -2
  5. package/lib/AWS/Lambda/Function.js.map +1 -1
  6. package/lib/Apply.d.ts.map +1 -1
  7. package/lib/Apply.js +6 -1
  8. package/lib/Apply.js.map +1 -1
  9. package/lib/Cli/main.d.ts.map +1 -1
  10. package/lib/Cli/main.js +2 -0
  11. package/lib/Cli/main.js.map +1 -1
  12. package/lib/Cloudflare/AnalyticsEngine/AnalyticsEngineDataset.d.ts +54 -0
  13. package/lib/Cloudflare/AnalyticsEngine/AnalyticsEngineDataset.d.ts.map +1 -0
  14. package/lib/Cloudflare/AnalyticsEngine/AnalyticsEngineDataset.js +17 -0
  15. package/lib/Cloudflare/AnalyticsEngine/AnalyticsEngineDataset.js.map +1 -0
  16. package/lib/Cloudflare/AnalyticsEngine/AnalyticsEngineDatasetBinding.d.ts +37 -0
  17. package/lib/Cloudflare/AnalyticsEngine/AnalyticsEngineDatasetBinding.d.ts.map +1 -0
  18. package/lib/Cloudflare/AnalyticsEngine/AnalyticsEngineDatasetBinding.js +45 -0
  19. package/lib/Cloudflare/AnalyticsEngine/AnalyticsEngineDatasetBinding.js.map +1 -0
  20. package/lib/Cloudflare/AnalyticsEngine/index.d.ts +3 -0
  21. package/lib/Cloudflare/AnalyticsEngine/index.d.ts.map +1 -0
  22. package/lib/Cloudflare/AnalyticsEngine/index.js +3 -0
  23. package/lib/Cloudflare/AnalyticsEngine/index.js.map +1 -0
  24. package/lib/Cloudflare/D1/D1Connection.d.ts +47 -3
  25. package/lib/Cloudflare/D1/D1Connection.d.ts.map +1 -1
  26. package/lib/Cloudflare/D1/D1Connection.js +62 -5
  27. package/lib/Cloudflare/D1/D1Connection.js.map +1 -1
  28. package/lib/Cloudflare/Images/Images.d.ts +103 -0
  29. package/lib/Cloudflare/Images/Images.d.ts.map +1 -0
  30. package/lib/Cloudflare/Images/Images.js +82 -0
  31. package/lib/Cloudflare/Images/Images.js.map +1 -0
  32. package/lib/Cloudflare/Images/ImagesBinding.d.ts +73 -0
  33. package/lib/Cloudflare/Images/ImagesBinding.d.ts.map +1 -0
  34. package/lib/Cloudflare/Images/ImagesBinding.js +83 -0
  35. package/lib/Cloudflare/Images/ImagesBinding.js.map +1 -0
  36. package/lib/Cloudflare/Images/index.d.ts +3 -0
  37. package/lib/Cloudflare/Images/index.d.ts.map +1 -0
  38. package/lib/Cloudflare/Images/index.js +3 -0
  39. package/lib/Cloudflare/Images/index.js.map +1 -0
  40. package/lib/Cloudflare/Local/SidecarHandlers.js +9 -1
  41. package/lib/Cloudflare/Local/SidecarHandlers.js.map +1 -1
  42. package/lib/Cloudflare/Providers.d.ts.map +1 -1
  43. package/lib/Cloudflare/Providers.js +6 -1
  44. package/lib/Cloudflare/Providers.js.map +1 -1
  45. package/lib/Cloudflare/R2/R2Bucket.d.ts +135 -0
  46. package/lib/Cloudflare/R2/R2Bucket.d.ts.map +1 -1
  47. package/lib/Cloudflare/R2/R2Bucket.js +146 -7
  48. package/lib/Cloudflare/R2/R2Bucket.js.map +1 -1
  49. package/lib/Cloudflare/StateStore/Api.d.ts +6 -1
  50. package/lib/Cloudflare/StateStore/Api.d.ts.map +1 -1
  51. package/lib/Cloudflare/StateStore/Api.js +23 -1
  52. package/lib/Cloudflare/StateStore/Api.js.map +1 -1
  53. package/lib/Cloudflare/StateStore/Store.d.ts +16 -1
  54. package/lib/Cloudflare/StateStore/Store.d.ts.map +1 -1
  55. package/lib/Cloudflare/StateStore/Store.js +22 -5
  56. package/lib/Cloudflare/StateStore/Store.js.map +1 -1
  57. package/lib/Cloudflare/Workers/CronEventSource.d.ts +35 -0
  58. package/lib/Cloudflare/Workers/CronEventSource.d.ts.map +1 -0
  59. package/lib/Cloudflare/Workers/CronEventSource.js +55 -0
  60. package/lib/Cloudflare/Workers/CronEventSource.js.map +1 -0
  61. package/lib/Cloudflare/Workers/InferEnv.d.ts +37 -2
  62. package/lib/Cloudflare/Workers/InferEnv.d.ts.map +1 -1
  63. package/lib/Cloudflare/Workers/LocalWorkerProvider.d.ts.map +1 -1
  64. package/lib/Cloudflare/Workers/LocalWorkerProvider.js +2 -1
  65. package/lib/Cloudflare/Workers/LocalWorkerProvider.js.map +1 -1
  66. package/lib/Cloudflare/Workers/Rpc.d.ts +76 -3
  67. package/lib/Cloudflare/Workers/Rpc.d.ts.map +1 -1
  68. package/lib/Cloudflare/Workers/Rpc.js +197 -13
  69. package/lib/Cloudflare/Workers/Rpc.js.map +1 -1
  70. package/lib/Cloudflare/Workers/Worker.d.ts +26 -6
  71. package/lib/Cloudflare/Workers/Worker.d.ts.map +1 -1
  72. package/lib/Cloudflare/Workers/Worker.js +183 -41
  73. package/lib/Cloudflare/Workers/Worker.js.map +1 -1
  74. package/lib/Cloudflare/Workers/WorkerBundle.d.ts.map +1 -1
  75. package/lib/Cloudflare/Workers/WorkerBundle.js +15 -5
  76. package/lib/Cloudflare/Workers/WorkerBundle.js.map +1 -1
  77. package/lib/Cloudflare/Workers/Workflow.d.ts +50 -47
  78. package/lib/Cloudflare/Workers/Workflow.d.ts.map +1 -1
  79. package/lib/Cloudflare/Workers/Workflow.js +41 -35
  80. package/lib/Cloudflare/Workers/Workflow.js.map +1 -1
  81. package/lib/Cloudflare/Workers/index.d.ts +1 -0
  82. package/lib/Cloudflare/Workers/index.d.ts.map +1 -1
  83. package/lib/Cloudflare/Workers/index.js +1 -0
  84. package/lib/Cloudflare/Workers/index.js.map +1 -1
  85. package/lib/Cloudflare/index.d.ts +2 -0
  86. package/lib/Cloudflare/index.d.ts.map +1 -1
  87. package/lib/Cloudflare/index.js +2 -0
  88. package/lib/Cloudflare/index.js.map +1 -1
  89. package/lib/Deploy.d.ts +4 -1
  90. package/lib/Deploy.d.ts.map +1 -1
  91. package/lib/Deploy.js +2 -2
  92. package/lib/Deploy.js.map +1 -1
  93. package/lib/Destroy.d.ts +4 -1
  94. package/lib/Destroy.d.ts.map +1 -1
  95. package/lib/Destroy.js +2 -2
  96. package/lib/Destroy.js.map +1 -1
  97. package/lib/Output.d.ts +45 -5
  98. package/lib/Output.d.ts.map +1 -1
  99. package/lib/Output.js +100 -4
  100. package/lib/Output.js.map +1 -1
  101. package/lib/Plan.d.ts.map +1 -1
  102. package/lib/Plan.js +93 -12
  103. package/lib/Plan.js.map +1 -1
  104. package/lib/Platform.d.ts.map +1 -1
  105. package/lib/Platform.js +16 -3
  106. package/lib/Platform.js.map +1 -1
  107. package/lib/Ref.d.ts +4 -1
  108. package/lib/Ref.d.ts.map +1 -1
  109. package/lib/Ref.js +1 -1
  110. package/lib/Ref.js.map +1 -1
  111. package/lib/Resource.d.ts +8 -0
  112. package/lib/Resource.d.ts.map +1 -1
  113. package/lib/Resource.js +10 -0
  114. package/lib/Resource.js.map +1 -1
  115. package/lib/RuntimeContext.d.ts +3 -1
  116. package/lib/RuntimeContext.d.ts.map +1 -1
  117. package/lib/RuntimeContext.js.map +1 -1
  118. package/lib/Secret.d.ts +50 -0
  119. package/lib/Secret.d.ts.map +1 -0
  120. package/lib/Secret.js +23 -0
  121. package/lib/Secret.js.map +1 -0
  122. package/lib/Serverless/Function.d.ts +9 -1
  123. package/lib/Serverless/Function.d.ts.map +1 -1
  124. package/lib/Stack.d.ts +14 -5
  125. package/lib/Stack.d.ts.map +1 -1
  126. package/lib/Stack.js +31 -19
  127. package/lib/Stack.js.map +1 -1
  128. package/lib/State/HttpStateApi.d.ts +15 -1
  129. package/lib/State/HttpStateApi.d.ts.map +1 -1
  130. package/lib/State/HttpStateApi.js +11 -0
  131. package/lib/State/HttpStateApi.js.map +1 -1
  132. package/lib/State/HttpStateStore.d.ts.map +1 -1
  133. package/lib/State/HttpStateStore.js +11 -0
  134. package/lib/State/HttpStateStore.js.map +1 -1
  135. package/lib/State/InMemoryState.d.ts +2 -2
  136. package/lib/State/InMemoryState.d.ts.map +1 -1
  137. package/lib/State/InMemoryState.js +12 -6
  138. package/lib/State/InMemoryState.js.map +1 -1
  139. package/lib/State/LocalState.d.ts.map +1 -1
  140. package/lib/State/LocalState.js +11 -2
  141. package/lib/State/LocalState.js.map +1 -1
  142. package/lib/State/State.d.ts +21 -0
  143. package/lib/State/State.d.ts.map +1 -1
  144. package/lib/Test/Bun.d.ts.map +1 -1
  145. package/lib/Test/Bun.js +30 -7
  146. package/lib/Test/Bun.js.map +1 -1
  147. package/lib/Test/Core.d.ts +17 -2
  148. package/lib/Test/Core.d.ts.map +1 -1
  149. package/lib/Test/Core.js +29 -11
  150. package/lib/Test/Core.js.map +1 -1
  151. package/lib/Test/Vitest.d.ts.map +1 -1
  152. package/lib/Test/Vitest.js +26 -5
  153. package/lib/Test/Vitest.js.map +1 -1
  154. package/lib/Util/LocalhostDns.d.ts +23 -0
  155. package/lib/Util/LocalhostDns.d.ts.map +1 -0
  156. package/lib/Util/LocalhostDns.js +46 -0
  157. package/lib/Util/LocalhostDns.js.map +1 -0
  158. package/lib/Util/PlatformServices.d.ts.map +1 -1
  159. package/lib/Util/PlatformServices.js +2 -0
  160. package/lib/Util/PlatformServices.js.map +1 -1
  161. package/lib/Util/effect.d.ts +7 -0
  162. package/lib/Util/effect.d.ts.map +1 -1
  163. package/lib/Util/effect.js +6 -0
  164. package/lib/Util/effect.js.map +1 -1
  165. package/lib/Variable.d.ts +29 -0
  166. package/lib/Variable.d.ts.map +1 -0
  167. package/lib/Variable.js +9 -0
  168. package/lib/Variable.js.map +1 -0
  169. package/lib/index.d.ts +3 -0
  170. package/lib/index.d.ts.map +1 -1
  171. package/lib/index.js +3 -0
  172. package/lib/index.js.map +1 -1
  173. package/lib/tsconfig.test.tsbuildinfo +1 -1
  174. package/package.json +7 -7
  175. package/src/AWS/Lambda/Function.ts +30 -2
  176. package/src/Apply.ts +8 -1
  177. package/src/Cli/main.ts +3 -0
  178. package/src/Cloudflare/AnalyticsEngine/AnalyticsEngineDataset.ts +82 -0
  179. package/src/Cloudflare/AnalyticsEngine/AnalyticsEngineDatasetBinding.ts +106 -0
  180. package/src/Cloudflare/AnalyticsEngine/index.ts +2 -0
  181. package/src/Cloudflare/D1/D1Connection.ts +95 -12
  182. package/src/Cloudflare/Images/Images.ts +121 -0
  183. package/src/Cloudflare/Images/ImagesBinding.ts +192 -0
  184. package/src/Cloudflare/Images/index.ts +2 -0
  185. package/src/Cloudflare/Local/SidecarHandlers.ts +9 -1
  186. package/src/Cloudflare/Providers.ts +8 -0
  187. package/src/Cloudflare/R2/R2Bucket.ts +271 -7
  188. package/src/Cloudflare/StateStore/Api.ts +34 -1
  189. package/src/Cloudflare/StateStore/Store.ts +40 -10
  190. package/src/Cloudflare/Workers/CronEventSource.ts +89 -0
  191. package/src/Cloudflare/Workers/InferEnv.ts +94 -16
  192. package/src/Cloudflare/Workers/LocalWorkerProvider.ts +9 -1
  193. package/src/Cloudflare/Workers/Rpc.ts +227 -18
  194. package/src/Cloudflare/Workers/Worker.ts +295 -62
  195. package/src/Cloudflare/Workers/WorkerBundle.ts +15 -5
  196. package/src/Cloudflare/Workers/Workflow.ts +74 -70
  197. package/src/Cloudflare/Workers/index.ts +1 -0
  198. package/src/Cloudflare/index.ts +2 -0
  199. package/src/Deploy.ts +5 -1
  200. package/src/Destroy.ts +5 -1
  201. package/src/Output.ts +121 -12
  202. package/src/Plan.ts +101 -12
  203. package/src/Platform.ts +19 -4
  204. package/src/Ref.ts +10 -5
  205. package/src/Resource.ts +22 -0
  206. package/src/RuntimeContext.ts +1 -0
  207. package/src/Secret.ts +87 -0
  208. package/src/Serverless/Function.ts +10 -1
  209. package/src/Stack.ts +52 -29
  210. package/src/State/HttpStateApi.ts +21 -0
  211. package/src/State/HttpStateStore.ts +21 -0
  212. package/src/State/InMemoryState.ts +29 -8
  213. package/src/State/LocalState.ts +28 -4
  214. package/src/State/State.ts +21 -0
  215. package/src/Test/Bun.ts +43 -7
  216. package/src/Test/Core.ts +29 -8
  217. package/src/Test/Vitest.ts +36 -4
  218. package/src/Util/LocalhostDns.ts +52 -0
  219. package/src/Util/PlatformServices.ts +2 -0
  220. package/src/Util/effect.ts +25 -0
  221. package/src/Variable.ts +44 -0
  222. package/src/index.ts +3 -0
@@ -0,0 +1,50 @@
1
+ import * as Config from "effect/Config";
2
+ import * as Effect from "effect/Effect";
3
+ import * as Redacted from "effect/Redacted";
4
+ import * as Output from "./Output.ts";
5
+ /**
6
+ * The shapes a {@link secret} can be derived from.
7
+ *
8
+ * - `string` — wrapped in `Redacted.make` and bound as a literal.
9
+ * - `Redacted<string>` — bound as-is.
10
+ * - `Effect<string | Redacted<string>>` — resolved at deploy time.
11
+ * - `Config<string | Redacted<string>>` — resolved against the active
12
+ * `ConfigProvider` at deploy time.
13
+ */
14
+ export type SecretInput<R = never> = string | Redacted.Redacted<string> | Effect.Effect<string | Redacted.Redacted<string>, any, R> | Config.Config<string | Redacted.Redacted<string>>;
15
+ /**
16
+ * Bind a secret value into the active {@link RuntimeContext} (e.g. a
17
+ * Cloudflare Worker's `env`) under the given `name` so the resource
18
+ * provider deploys it as a secret (e.g. `secret_text` for Cloudflare).
19
+ *
20
+ * The result is an `Output<Redacted<string>>` — `yield*`-ing it returns
21
+ * an `Accessor<Redacted<string>>` that resolves the value at runtime.
22
+ *
23
+ * @example One-arg shortcut — reads `Config.redacted("API_KEY")`
24
+ * ```ts
25
+ * const apiKey = yield* Alchemy.Secret("API_KEY");
26
+ * ```
27
+ *
28
+ * @example From a literal
29
+ * ```ts
30
+ * const apiKey = yield* Alchemy.Secret("API_KEY", "sk-123");
31
+ * ```
32
+ *
33
+ * @example From an Effect
34
+ * ```ts
35
+ * const apiKey = yield* Alchemy.Secret(
36
+ * "API_KEY",
37
+ * Effect.succeed(Redacted.make("sk-123")),
38
+ * );
39
+ * ```
40
+ *
41
+ * @example From a Config
42
+ * ```ts
43
+ * const apiKey = yield* Alchemy.Secret("API_KEY", Config.redacted("API_KEY"));
44
+ * ```
45
+ */
46
+ export declare function Secret(name: string): Output.Output<Redacted.Redacted<string>, never>;
47
+ export declare function Secret<R = never>(name: string, value: SecretInput<R>): Output.Output<Redacted.Redacted<string>, R>;
48
+ /** @internal */
49
+ export declare const toOutput: <T, R = never>(source: T | Effect.Effect<T, any, R> | Config.Config<T> | Output.Output<T, R>) => Output.Output<T, R>;
50
+ //# sourceMappingURL=Secret.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Secret.d.ts","sourceRoot":"","sources":["../src/Secret.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AAEtC;;;;;;;;GAQG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,KAAK,IAC7B,MAAM,GACN,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,GACzB,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GACzD,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,MAAM,CACpB,IAAI,EAAE,MAAM,GACX,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;AACnD,wBAAgB,MAAM,CAAC,CAAC,GAAG,KAAK,EAC9B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,GACpB,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;AAe/C,gBAAgB;AAChB,eAAO,MAAM,QAAQ,GAAI,CAAC,EAAE,CAAC,GAAG,KAAK,EACnC,QAAQ,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAC5E,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAWpB,CAAC"}
package/lib/Secret.js ADDED
@@ -0,0 +1,23 @@
1
+ import * as Config from "effect/Config";
2
+ import * as Effect from "effect/Effect";
3
+ import * as Redacted from "effect/Redacted";
4
+ import * as Output from "./Output.js";
5
+ export function Secret(name, value) {
6
+ const source = value ?? Config.redacted(name);
7
+ const base = toOutput(source);
8
+ return Output.named(base.pipe(Output.map((v) => (Redacted.isRedacted(v) ? v : Redacted.make(v)))), name);
9
+ }
10
+ /** @internal */
11
+ export const toOutput = (source) => {
12
+ if (Output.isOutput(source)) {
13
+ return source;
14
+ }
15
+ if (Config.isConfig(source)) {
16
+ return Output.asOutput(source.asEffect());
17
+ }
18
+ if (Effect.isEffect(source)) {
19
+ return Output.asOutput(source);
20
+ }
21
+ return Output.asOutput(source);
22
+ };
23
+ //# sourceMappingURL=Secret.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Secret.js","sourceRoot":"","sources":["../src/Secret.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AAuDtC,MAAM,UAAU,MAAM,CACpB,IAAY,EACZ,KAAsB;IAEtB,MAAM,MAAM,GAAG,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAG,QAAQ,CAAwC,MAAM,CAAC,CAAC;IACrE,OAAO,MAAM,CAAC,KAAK,CACjB,IAAI,CAAC,IAAI,CACP,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CACpB,EAChD,IAAI,CACL,CAAC;AACJ,CAAC;AAED,gBAAgB;AAChB,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,MAA6E,EACxD,EAAE;IACvB,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5B,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5B,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAS,CAAwB,CAAC;IAC1E,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5B,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAa,CAAwB,CAAC;IAC/D,CAAC;IACD,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAW,CAAwB,CAAC;AAC7D,CAAC,CAAC"}
@@ -2,7 +2,15 @@ import * as Effect from "effect/Effect";
2
2
  import type { HttpEffect } from "../Http.ts";
3
3
  import type { BaseRuntimeContext } from "../RuntimeContext.ts";
4
4
  export interface FunctionContext extends BaseRuntimeContext {
5
- serve<Req = never>(handler: HttpEffect<Req>): Effect.Effect<void, never, Req>;
5
+ /**
6
+ * Register an HTTP handler. The optional `shape` payload is the user's
7
+ * full default-export shape — Cloudflare Workers use it to expose
8
+ * non-handler methods (e.g. `greet`) as RPC methods on the deployed
9
+ * `WorkerEntrypoint`. Other platforms (Lambda, etc.) ignore it.
10
+ */
11
+ serve<Req = never>(handler: HttpEffect<Req>, options?: {
12
+ shape?: Record<string, unknown>;
13
+ }): Effect.Effect<void, never, Req>;
6
14
  listen<A, Req = never>(handler: FunctionListener<A, Req>): Effect.Effect<void, never, Req>;
7
15
  listen<A, Req = never, InitReq = never>(effect: Effect.Effect<FunctionListener<A, Req>, never, InitReq>): Effect.Effect<void, never, Req | InitReq>;
8
16
  exports: Effect.Effect<Record<string, any>, never, never>;
@@ -1 +1 @@
1
- {"version":3,"file":"Function.d.ts","sourceRoot":"","sources":["../../src/Serverless/Function.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,MAAM,WAAW,eAAgB,SAAQ,kBAAkB;IACzD,KAAK,CAAC,GAAG,GAAG,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IAC9E,MAAM,CAAC,CAAC,EAAE,GAAG,GAAG,KAAK,EACnB,OAAO,EAAE,gBAAgB,CAAC,CAAC,EAAE,GAAG,CAAC,GAChC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IACnC,MAAM,CAAC,CAAC,EAAE,GAAG,GAAG,KAAK,EAAE,OAAO,GAAG,KAAK,EACpC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,GAC9D,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC;IAC7C,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;CAC3D;AAED,MAAM,MAAM,gBAAgB,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,GAAG,KAAK,IAAI,CACnD,KAAK,EAAE,GAAG,KACP,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC"}
1
+ {"version":3,"file":"Function.d.ts","sourceRoot":"","sources":["../../src/Serverless/Function.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,MAAM,WAAW,eAAgB,SAAQ,kBAAkB;IACzD;;;;;OAKG;IACH,KAAK,CAAC,GAAG,GAAG,KAAK,EACf,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,EACxB,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GAC5C,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IACnC,MAAM,CAAC,CAAC,EAAE,GAAG,GAAG,KAAK,EACnB,OAAO,EAAE,gBAAgB,CAAC,CAAC,EAAE,GAAG,CAAC,GAChC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IACnC,MAAM,CAAC,CAAC,EAAE,GAAG,GAAG,KAAK,EAAE,OAAO,GAAG,KAAK,EACpC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,GAC9D,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC;IAC7C,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;CAC3D;AAED,MAAM,MAAM,gBAAgB,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,GAAG,KAAK,IAAI,CACnD,KAAK,EAAE,GAAG,KACP,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC"}
package/lib/Stack.d.ts CHANGED
@@ -3,7 +3,7 @@ import * as Effect from "effect/Effect";
3
3
  import { FileSystem } from "effect/FileSystem";
4
4
  import * as Layer from "effect/Layer";
5
5
  import { Path } from "effect/Path";
6
- import type { Scope } from "effect/Scope";
6
+ import * as Scope from "effect/Scope";
7
7
  import type { HttpClient } from "effect/unstable/http/HttpClient";
8
8
  import type { ChildProcessSpawner } from "effect/unstable/process/ChildProcessSpawner";
9
9
  import { AlchemyContext } from "./AlchemyContext.ts";
@@ -17,8 +17,8 @@ import type { ResourceBinding, ResourceLike } from "./Resource.ts";
17
17
  import { Stage } from "./Stage.ts";
18
18
  import type { State } from "./State/State.ts";
19
19
  import { PlatformServices } from "./Util/PlatformServices.ts";
20
- export type StackServices = Stack | Stage | Scope | FileSystem | Path | AlchemyContext | HttpClient | ChildProcessSpawner | AuthProviders | Profile | CredentialsStore | Cli;
21
- export type StackEffect<A, Err = never, Req = never> = Effect.Effect<A, Err, PlatformServices | HttpClient | Scope | AuthProviders | AlchemyContext | Cli | Profile | CredentialsStore | State | Req>;
20
+ export type StackServices = Stack | Stage | Scope.Scope | FileSystem | Path | AlchemyContext | HttpClient | ChildProcessSpawner | AuthProviders | Profile | CredentialsStore | Cli;
21
+ export type StackEffect<A, Err = never, Req = never> = Effect.Effect<A, Err, PlatformServices | HttpClient | Scope.Scope | AuthProviders | AlchemyContext | Cli | Profile | CredentialsStore | State | Req>;
22
22
  export type Stack = Context.ServiceClass.Shape<"Stack", Omit<StackSpec, "output">>;
23
23
  export interface StackProps<Req> {
24
24
  providers: Layer.Layer<NoInfer<Req>, never, StackServices>;
@@ -40,7 +40,7 @@ export declare const Stack: Context.ServiceClass<Stack, "Stack", Omit<StackSpec,
40
40
  Shape: Shape;
41
41
  (stackName: string): Effect.Effect<Self> & {
42
42
  new (_: never): Output.ToOutput<Shape>;
43
- make: <A, Req>(effect: Effect.Effect<A, never, Req>) => Effect.Effect<CompiledStack<A>>;
43
+ make: <A, Req>(options: StackProps<NoInfer<Req>>, effect: Effect.Effect<A, never, Req>) => Effect.Effect<CompiledStack<A>>;
44
44
  stage: {
45
45
  [stage: string]: Effect.Effect<Self>;
46
46
  };
@@ -70,10 +70,19 @@ export interface MakeStackProps<ROut = never> {
70
70
  /** @internal */
71
71
  stack?: StackSpec;
72
72
  }
73
- export declare const make: <ROut = never>(options: MakeStackProps<ROut>) => <A, Err = never, Req extends ROut | StackServices = never>(effect: Effect.Effect<A, Err, Req>) => Effect.Effect<CompiledStack<A, StackServices | ROut>, Err, AlchemyContext | Path | FileSystem | Scope | ChildProcessSpawner | HttpClient | Profile | AuthProviders | CredentialsStore | Stage | Cli | Exclude<AlchemyContext, State | Stack | ROut> | Exclude<Path, State | Stack | ROut> | Exclude<FileSystem, State | Stack | ROut> | Exclude<Scope, State | Stack | ROut> | Exclude<ChildProcessSpawner, State | Stack | ROut> | Exclude<HttpClient, State | Stack | ROut> | Exclude<Profile, State | Stack | ROut> | Exclude<AuthProviders, State | Stack | ROut> | Exclude<CredentialsStore, State | Stack | ROut> | Exclude<Stage, State | Stack | ROut> | Exclude<Stack, State | Stack | ROut> | Exclude<Cli, State | Stack | ROut> | Exclude<ROut, State | Stack | ROut> | Exclude<Req, State | Stack | ROut>>;
73
+ export declare const make: <ROut = never>(options: MakeStackProps<ROut>) => <A, Err = never, Req extends ROut | StackServices = never>(effect: Effect.Effect<A, Err, Req>) => Effect.Effect<CompiledStack<A, StackServices | ROut>, Err, AlchemyContext | Path | FileSystem | Scope.Scope | ChildProcessSpawner | HttpClient | Profile | AuthProviders | CredentialsStore | Stage | Cli | Exclude<AlchemyContext, State | Stack | ROut> | Exclude<Path, State | Stack | ROut> | Exclude<FileSystem, State | Stack | ROut> | Exclude<Scope.Scope, State | Stack | ROut> | Exclude<ChildProcessSpawner, State | Stack | ROut> | Exclude<HttpClient, State | Stack | ROut> | Exclude<Profile, State | Stack | ROut> | Exclude<AuthProviders, State | Stack | ROut> | Exclude<CredentialsStore, State | Stack | ROut> | Exclude<Stage, State | Stack | ROut> | Exclude<Stack, State | Stack | ROut> | Exclude<Cli, State | Stack | ROut> | Exclude<ROut, State | Stack | ROut> | Exclude<Req, State | Stack | ROut>>;
74
74
  export declare const CurrentStack: Effect.Effect<Omit<StackSpec<any>, "output"> | undefined, never, never>;
75
75
  export declare const evalStack: <A, B, Err, Req>(effect: StackEffect<CompiledStack<A>, Stage | AlchemyContext>, fn: (stack: CompiledStack<A>) => Effect.Effect<B, Err, Req>, options: {
76
76
  stage: string;
77
77
  dev?: boolean;
78
+ /**
79
+ * Optional caller-supplied scope. When provided, scoped resources
80
+ * (e.g. the dev sidecar process) live until the caller closes this
81
+ * scope instead of being torn down when `evalStack` resolves. Used
82
+ * by the test harness so the sidecar survives across `beforeAll`,
83
+ * tests, and `afterAll`. When omitted, behaves as before with a
84
+ * private scope closed on completion.
85
+ */
86
+ scope?: Scope.Scope;
78
87
  }) => Effect.Effect<B, AlchemyContext | import("effect/PlatformError").PlatformError | Stage | Err, AlchemyContext | Path | FileSystem | State | Cli>;
79
88
  //# sourceMappingURL=Stack.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Stack.d.ts","sourceRoot":"","sources":["../src/Stack.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Stack.d.ts","sourceRoot":"","sources":["../src/Stack.ts"],"names":[],"mappings":"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"}
package/lib/Stack.js CHANGED
@@ -6,6 +6,7 @@ import * as Layer from "effect/Layer";
6
6
  import * as Logger from "effect/Logger";
7
7
  import * as Option from "effect/Option";
8
8
  import { Path } from "effect/Path";
9
+ import * as Scope from "effect/Scope";
9
10
  import * as FetchHttpClient from "effect/unstable/http/FetchHttpClient";
10
11
  import { AlchemyContext, AlchemyContextLive } from "./AlchemyContext.js";
11
12
  import { provideFreshArtifactStore } from "./Artifacts.js";
@@ -14,24 +15,30 @@ import { CredentialsStore, CredentialsStoreLive } from "./Auth/Credentials.js";
14
15
  import { Profile, ProfileLive } from "./Auth/Profile.js";
15
16
  import { Cli } from "./Cli/Cli.js";
16
17
  import * as Output from "./Output.js";
17
- import { ref } from "./Ref.js";
18
18
  import { Stage } from "./Stage.js";
19
19
  import { loadConfigProvider } from "./Util/ConfigProvider.js";
20
- import { taggedFunction } from "./Util/effect.js";
20
+ import { effectClass, taggedFunction } from "./Util/effect.js";
21
21
  import { fileLogger } from "./Util/FileLogger.js";
22
22
  import { PlatformServices } from "./Util/PlatformServices.js";
23
- export const Stack = Object.assign(taggedFunction(Context.Service()("Stack"), (stackName, options, eff) => eff.pipe(make({
24
- name: stackName,
25
- ...options,
26
- }), (eff) => Object.assign(eff, {
27
- stage: new Proxy({}, {
28
- get: (_, stage) => ref({
29
- stack: stackName,
30
- stage,
31
- id: stackName,
32
- }),
33
- }),
34
- }))));
23
+ export const Stack = Object.assign(taggedFunction(Context.Service()("Stack"), (stackName, options, eff) => {
24
+ if (!stackName) {
25
+ return (stackName) => Object.assign(
26
+ // by default, reference the stack at the "current" stage of the importer
27
+ Output.stackRef(stackName).pipe(effectClass), {
28
+ stage: createStageProxy(stackName),
29
+ make: (options, eff) => Stack(stackName, options, eff),
30
+ });
31
+ }
32
+ return eff.pipe(make({
33
+ name: stackName,
34
+ ...options,
35
+ }), (eff) => Object.assign(eff, {
36
+ stage: createStageProxy(stackName),
37
+ }));
38
+ }));
39
+ const createStageProxy = (stackName) => new Proxy({}, {
40
+ get: (_, stage) => Output.stackRef(stackName, { stage }),
41
+ });
35
42
  export const StackName = Stack.use((stack) => Effect.succeed(stack.name));
36
43
  export const make = (options) => (effect) => Effect.scope.pipe(Effect.flatMap((scope) => {
37
44
  if (options.state == null) {
@@ -77,9 +84,14 @@ const alchemy = (overrides) => Layer.mergeAll(
77
84
  overrides?.dev
78
85
  ? Layer.provide(Layer.effect(AlchemyContext, AlchemyContext.asEffect().pipe(Effect.map((ctx) => ({ ...ctx, dev: overrides.dev })))), AlchemyContextLive)
79
86
  : AlchemyContextLive);
80
- export const evalStack = (effect, fn, options) => Effect.gen(function* () {
81
- const stack = yield* effect;
82
- const configProvider = yield* loadConfigProvider(Option.none());
83
- return yield* fn(stack).pipe(provideFreshArtifactStore, Effect.provide(stack.services), Effect.provide(Layer.succeed(ConfigProvider, configProvider)));
84
- }).pipe(Effect.provide(Layer.effect(AuthProviders, Effect.serviceOption(AuthProviders).pipe(Effect.map(Option.getOrElse(() => ({})))))), Effect.provide(Layer.succeed(Stage, options.stage)), Effect.provide(Layer.provideMerge(alchemy({ dev: options.dev }), platform)), Effect.scoped);
87
+ export const evalStack = (effect, fn, options) => {
88
+ const body = Effect.gen(function* () {
89
+ const stack = yield* effect;
90
+ const configProvider = yield* loadConfigProvider(Option.none());
91
+ return yield* fn(stack).pipe(provideFreshArtifactStore, Effect.provide(stack.services), Effect.provide(Layer.succeed(ConfigProvider, configProvider)));
92
+ }).pipe(Effect.provide(Layer.effect(AuthProviders, Effect.serviceOption(AuthProviders).pipe(Effect.map(Option.getOrElse(() => ({})))))), Effect.provide(Layer.succeed(Stage, options.stage)), Effect.provide(Layer.provideMerge(alchemy({ dev: options.dev }), platform)));
93
+ return options.scope === undefined
94
+ ? Effect.scoped(body)
95
+ : Scope.provide(body, options.scope);
96
+ };
85
97
  //# sourceMappingURL=Stack.js.map
package/lib/Stack.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Stack.js","sourceRoot":"","sources":["../src/Stack.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Stack.js","sourceRoot":"","sources":["../src/Stack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,eAAe,MAAM,sCAAsC,CAAC;AAGxE,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAEnC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AAEtC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAyC9D,MAAM,CAAC,MAAM,KAAK,GA6Cd,MAAM,CAAC,MAAM,CACf,cAAc,CACZ,OAAO,CAAC,OAAO,EAAoC,CAAC,OAAO,CAAC,EAC5D,CACE,SAAkB,EAClB,OAAkC,EAClC,GAAkC,EAClC,EAAE;IACF,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CAAC,SAAiB,EAAE,EAAE,CAC3B,MAAM,CAAC,MAAM;QACX,yEAAyE;QACzE,MAAM,CAAC,QAAQ,CAAI,SAAS,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,EAC/C;YACE,KAAK,EAAE,gBAAgB,CAAC,SAAS,CAAC;YAClC,IAAI,EAAE,CACJ,OAAiC,EACjC,GAAiC,EACjC,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,CAAC;SACpC,CACF,CAAC;IACN,CAAC;IACD,OAAO,GAAI,CAAC,IAAI,CACd,IAAI,CAAC;QACH,IAAI,EAAE,SAAS;QACf,GAAG,OAAQ;KACZ,CAAC,EACF,CAAC,GAAG,EAAE,EAAE,CACN,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE;QACjB,KAAK,EAAE,gBAAgB,CAAC,SAAS,CAAC;KACnC,CAAC,CACL,CAAC;AACJ,CAAC,CACF,CACK,CAAC;AAET,MAAM,gBAAgB,GAAG,CAAC,SAAiB,EAAE,EAAE,CAC7C,IAAI,KAAK,CACP,EAAE,EACF;IACE,GAAG,EAAE,CAAC,CAAC,EAAE,KAAa,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC;CACjE,CACF,CAAC;AAsBJ,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AAU1E,MAAM,CAAC,MAAM,IAAI,GACf,CAAe,OAA6B,EAAE,EAAE,CAChD,CACE,MAAkC,EAClC,EAAE,CACF,MAAM,CAAC,KAAK,CAAC,IAAI,CACf,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;IACvB,IAAI,OAAO,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;QAC1B,OAAO,MAAM,CAAC,GAAG,CACf,IAAI,KAAK,CACP,UAAU,OAAO,CAAC,IAAI,8BAA8B;YAClD,qDAAqD;YACrD,oBAAoB,OAAO,CAAC,IAAI,QAAQ;YACxC,0CAA0C;YAC1C,kDAAkD;YAClD,aAAa;YACb,6EAA6E,CAChF,CACF,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;QAC9B,OAAO,MAAM,CAAC,GAAG,CACf,IAAI,KAAK,CACP,UAAU,OAAO,CAAC,IAAI,kCAAkC;YACtD,yDAAyD;YACzD,oBAAoB,OAAO,CAAC,IAAI,QAAQ;YACxC,0DAA0D;YAC1D,kCAAkC;YAClC,WAAW,CACd,CACF,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC,SAAS,CAAC,IAAI,CAC3B,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,EACjC,KAAK,CAAC,YAAY,CAChB,KAAK,CAAC,MAAM,CACV,KAAK,EACL,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,CACnB,MAAM,CAAC,GAAG,CACR,CAAC,KAAK,EAAE,EAAE,CACR,OAAO,CAAC,KAAK,IAAI;QACf,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,KAAK;QACL,SAAS,EAAE,EAAE;QACb,QAAQ,EAAE,EAAE;KACb,CACJ,CACF,CACF,CACF,EACD,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAC5B,CAAC;AACJ,CAAC,CAAC,EACF,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CACzB,MAAM,CAAC,GAAG,CAAC;IACT,MAAM;IACN,KAAK,CAAC,QAAQ,EAAE;IAChB,MAAM,CAAC,OAAO,EAAwB;CACvC,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,GAAG,CACR,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,EAGxB,EAAE,CAAC,CAAC;IACJ,GAAG,KAAK;IACR,MAAM;IACN,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC3C,CAAC,CACH,EACD,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAC/B,CACF,CACF,CAAC;AAEN,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC;KACpD,QAAQ,EAAE;KACV,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;AAE3C,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAC7B,gBAAgB,EAChB,eAAe,CAAC,KAAK,EACrB,MAAM,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,EAC9D,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,gBAAgB,CAAC,EAC5C,KAAK,CAAC,OAAO,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,CACtD,CAAC;AACF,iEAAiE;AACjE,MAAM,OAAO,GAAG,CAAC,SAA6B,EAAE,EAAE,CAChD,KAAK,CAAC,QAAQ;AACZ,gBAAgB;AAChB,WAAW;AACX,SAAS,EAAE,GAAG;IACZ,CAAC,CAAC,KAAK,CAAC,OAAO,CACX,KAAK,CAAC,MAAM,CACV,cAAc,EACd,cAAc,CAAC,QAAQ,EAAE,CAAC,IAAI,CAC5B,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC,GAAI,EAAE,CAAC,CAAC,CACvD,CACF,EACD,kBAAkB,CACnB;IACH,CAAC,CAAC,kBAAkB,CACvB,CAAC;AAEJ,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,MAA6D,EAC7D,EAA2D,EAC3D,OAYC,EACD,EAAE;IACF,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC/B,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC;QAC5B,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAEhE,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAC1B,yBAAyB,EACzB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAC9B,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC,CAC9D,CAAC;IACJ,CAAC,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,OAAO,CACZ,KAAK,CAAC,MAAM,CACV,aAAa,EACb,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,IAAI,CACtC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CACzC,CACF,CACF,EACD,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EACnD,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,CAC5E,CAAC;IAEF,OAAO,OAAO,CAAC,KAAK,KAAK,SAAS;QAChC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;QACrB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;AACzC,CAAC,CAAC"}
@@ -76,6 +76,14 @@ export declare const GetReplacedResources: HttpApiEndpoint.HttpApiEndpoint<"getR
76
76
  readonly stack: Schema.String;
77
77
  readonly stage: Schema.String;
78
78
  }>>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.Json<Schema.$Array<Schema.Any>>, HttpApiEndpoint.Json<never>, never, never>;
79
+ export declare const GetStackOutput: HttpApiEndpoint.HttpApiEndpoint<"getStackOutput", "GET", "/state/stacks/:stack/stages/:stage/output", HttpApiEndpoint.StringTree<Schema.Struct<{
80
+ readonly stack: Schema.String;
81
+ readonly stage: Schema.String;
82
+ }>>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.Json<Schema.UndefinedOr<Schema.Any>>, HttpApiEndpoint.Json<never>, never, never>;
83
+ export declare const SetStackOutput: HttpApiEndpoint.HttpApiEndpoint<"setStackOutput", "PUT", "/state/stacks/:stack/stages/:stage/output", HttpApiEndpoint.StringTree<Schema.Struct<{
84
+ readonly stack: Schema.String;
85
+ readonly stage: Schema.String;
86
+ }>>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.Json<Schema.Any>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.Json<Schema.Any>, HttpApiEndpoint.Json<never>, never, never>;
79
87
  /** Response shape for the unauthenticated `/version` probe. */
80
88
  export declare const VersionResponse: Schema.Struct<{
81
89
  readonly version: Schema.Number;
@@ -113,7 +121,13 @@ declare const StateGroup_base: HttpApiGroup.HttpApiGroup<"state", HttpApiEndpoin
113
121
  }>>, HttpApiEndpoint.Json<never>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.Json<HttpApiSchema.NoContent>, HttpApiEndpoint.Json<never>, StateAuth, BearerTokenValidator> | HttpApiEndpoint.HttpApiEndpoint<"getReplacedResources", "GET", "/state/stacks/:stack/stages/:stage/replaced-resources", HttpApiEndpoint.StringTree<Schema.Struct<{
114
122
  readonly stack: Schema.String;
115
123
  readonly stage: Schema.String;
116
- }>>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.Json<Schema.$Array<Schema.Any>>, HttpApiEndpoint.Json<never>, StateAuth, BearerTokenValidator>, false>;
124
+ }>>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.Json<Schema.$Array<Schema.Any>>, HttpApiEndpoint.Json<never>, StateAuth, BearerTokenValidator> | HttpApiEndpoint.HttpApiEndpoint<"getStackOutput", "GET", "/state/stacks/:stack/stages/:stage/output", HttpApiEndpoint.StringTree<Schema.Struct<{
125
+ readonly stack: Schema.String;
126
+ readonly stage: Schema.String;
127
+ }>>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.Json<Schema.UndefinedOr<Schema.Any>>, HttpApiEndpoint.Json<never>, StateAuth, BearerTokenValidator> | HttpApiEndpoint.HttpApiEndpoint<"setStackOutput", "PUT", "/state/stacks/:stack/stages/:stage/output", HttpApiEndpoint.StringTree<Schema.Struct<{
128
+ readonly stack: Schema.String;
129
+ readonly stage: Schema.String;
130
+ }>>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.Json<Schema.Any>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.Json<Schema.Any>, HttpApiEndpoint.Json<never>, StateAuth, BearerTokenValidator>, false>;
117
131
  export declare class StateGroup extends StateGroup_base {
118
132
  }
119
133
  declare const VersionGroup_base: HttpApiGroup.HttpApiGroup<"version", HttpApiEndpoint.HttpApiEndpoint<"getVersion", "GET", "/version", HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.Json<Schema.Struct<{
@@ -1 +1 @@
1
- {"version":3,"file":"HttpStateApi.d.ts","sourceRoot":"","sources":["../../src/State/HttpStateApi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,OAAO,MAAM,iCAAiC,CAAC;AAC3D,OAAO,KAAK,eAAe,MAAM,yCAAyC,CAAC;AAC3E,OAAO,KAAK,YAAY,MAAM,sCAAsC,CAAC;AACrE,OAAO,KAAK,YAAY,MAAM,sCAAsC,CAAC;AACrE,OAAO,KAAK,iBAAiB,MAAM,2CAA2C,CAAC;AAC/E,OAAO,KAAK,aAAa,MAAM,uCAAuC,CAAC;AACvE,OAAO,KAAK,eAAe,MAAM,yCAAyC,CAAC;AAE3E;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,mBAAmB,YAA0C,CAAC;;uBAKpD,CACjB,KAAK,EAAE,MAAM,KACV,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,YAAY,CAAC;;AALvD,qBAAa,oBAAqB,SAAQ,yBAOD;CAAG;;;;;;;;;;;;;AAE5C,qBAAa,SAAU,SAAQ,cAQ7B;CAAG;AAEL,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,KAAK,CACrC,SAAS,EACT,KAAK,EACL,oBAAoB,CAYrB,CAAC;AAyBF,eAAO,MAAM,UAAU,kTAErB,CAAC;AAEH,eAAO,MAAM,UAAU;;4MAOtB,CAAC;AAEF,eAAO,MAAM,aAAa;;;4MAOzB,CAAC;AAEF,eAAO,MAAM,QAAQ;;;;8MAOpB,CAAC;AAEF,eAAO,MAAM,QAAQ;;;;yLAQpB,CAAC;AAEF,eAAO,MAAM,WAAW;;;;iMAOvB,CAAC;AAEF,eAAO,MAAM,WAAW;;;;8JAQvB,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;yMAOhC,CAAC;AAEF,+DAA+D;AAC/D,eAAO,MAAM,eAAe;;EAE1B,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,UAAU;;+CAErB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,qBAAa,UAAW,SAAQ,eASR;CAAG;;;;AAE3B,qBAAa,YAAa,SAAQ,iBAEjC;CAAG;;AAEJ,qBAAa,QAAS,SAAQ,aAEV;CAAG"}
1
+ {"version":3,"file":"HttpStateApi.d.ts","sourceRoot":"","sources":["../../src/State/HttpStateApi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,OAAO,MAAM,iCAAiC,CAAC;AAC3D,OAAO,KAAK,eAAe,MAAM,yCAAyC,CAAC;AAC3E,OAAO,KAAK,YAAY,MAAM,sCAAsC,CAAC;AACrE,OAAO,KAAK,YAAY,MAAM,sCAAsC,CAAC;AACrE,OAAO,KAAK,iBAAiB,MAAM,2CAA2C,CAAC;AAC/E,OAAO,KAAK,aAAa,MAAM,uCAAuC,CAAC;AACvE,OAAO,KAAK,eAAe,MAAM,yCAAyC,CAAC;AAE3E;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,mBAAmB,YAA0C,CAAC;;uBAKpD,CACjB,KAAK,EAAE,MAAM,KACV,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,YAAY,CAAC;;AALvD,qBAAa,oBAAqB,SAAQ,yBAOD;CAAG;;;;;;;;;;;;;AAE5C,qBAAa,SAAU,SAAQ,cAQ7B;CAAG;AAEL,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,KAAK,CACrC,SAAS,EACT,KAAK,EACL,oBAAoB,CAYrB,CAAC;AAyBF,eAAO,MAAM,UAAU,kTAErB,CAAC;AAEH,eAAO,MAAM,UAAU;;4MAOtB,CAAC;AAEF,eAAO,MAAM,aAAa;;;4MAOzB,CAAC;AAEF,eAAO,MAAM,QAAQ;;;;8MAOpB,CAAC;AAEF,eAAO,MAAM,QAAQ;;;;yLAQpB,CAAC;AAEF,eAAO,MAAM,WAAW;;;;iMAOvB,CAAC;AAEF,eAAO,MAAM,WAAW;;;;8JAQvB,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;yMAOhC,CAAC;AAEF,eAAO,MAAM,cAAc;;;8MAO1B,CAAC;AAEF,eAAO,MAAM,cAAc;;;yLAQ1B,CAAC;AAEF,+DAA+D;AAC/D,eAAO,MAAM,eAAe;;EAE1B,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,UAAU;;+CAErB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,qBAAa,UAAW,SAAQ,eAWR;CAAG;;;;AAE3B,qBAAa,YAAa,SAAQ,iBAEjC;CAAG;;AAEJ,qBAAa,QAAS,SAAQ,aAEV;CAAG"}
@@ -94,6 +94,15 @@ export const GetReplacedResources = HttpApiEndpoint.get("getReplacedResources",
94
94
  params: StackStage,
95
95
  success: Schema.Array(ResourceStateSchema),
96
96
  });
97
+ export const GetStackOutput = HttpApiEndpoint.get("getStackOutput", "/state/stacks/:stack/stages/:stage/output", {
98
+ params: StackStage,
99
+ success: Schema.UndefinedOr(ResourceStateSchema),
100
+ });
101
+ export const SetStackOutput = HttpApiEndpoint.put("setStackOutput", "/state/stacks/:stack/stages/:stage/output", {
102
+ params: StackStage,
103
+ payload: ResourceStateSchema,
104
+ success: ResourceStateSchema,
105
+ });
97
106
  /** Response shape for the unauthenticated `/version` probe. */
98
107
  export const VersionResponse = Schema.Struct({
99
108
  version: Schema.Number,
@@ -116,6 +125,8 @@ export class StateGroup extends HttpApiGroup.make("state")
116
125
  .add(DeleteState)
117
126
  .add(GetReplacedResources)
118
127
  .add(DeleteStack)
128
+ .add(GetStackOutput)
129
+ .add(SetStackOutput)
119
130
  .middleware(StateAuth) {
120
131
  }
121
132
  export class VersionGroup extends HttpApiGroup.make("version").add(GetVersion) {
@@ -1 +1 @@
1
- {"version":3,"file":"HttpStateApi.js","sourceRoot":"","sources":["../../src/State/HttpStateApi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HttpStateApi.js","sourceRoot":"","sources":["../../src/State/HttpStateApi.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"HttpStateStore.d.ts","sourceRoot":"","sources":["../../src/State/HttpStateStore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,KAAK,UAAU,MAAM,iCAAiC,CAAC;AAC9D,OAAO,KAAK,iBAAiB,MAAM,wCAAwC,CAAC;AAK5E,OAAO,EAAmB,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAGhE;;;;;GAKG;AACH,MAAM,WAAW,yBAAyB;IACxC,GAAG,EAAE,MAAM,CAAC;IACZ,uDAAuD;IACvD,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAoB,SAAQ,yBAAyB;IACpE;;;;;OAKG;IACH,EAAE,EAAE,MAAM,CAAC;IACX,eAAe,CAAC,EAAE,CAChB,MAAM,EAAE,iBAAiB,CAAC,iBAAiB,KACxC,iBAAiB,CAAC,iBAAiB,CAAC;CAC1C;AAED,eAAO,MAAM,kBAAkB,GAAI,0CAKhC,mBAAmB,8DA2FlB,CAAC"}
1
+ {"version":3,"file":"HttpStateStore.d.ts","sourceRoot":"","sources":["../../src/State/HttpStateStore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,KAAK,UAAU,MAAM,iCAAiC,CAAC;AAC9D,OAAO,KAAK,iBAAiB,MAAM,wCAAwC,CAAC;AAK5E,OAAO,EAAmB,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAGhE;;;;;GAKG;AACH,MAAM,WAAW,yBAAyB;IACxC,GAAG,EAAE,MAAM,CAAC;IACZ,uDAAuD;IACvD,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAoB,SAAQ,yBAAyB;IACpE;;;;;OAKG;IACH,EAAE,EAAE,MAAM,CAAC;IACX,eAAe,CAAC,EAAE,CAChB,MAAM,EAAE,iBAAiB,CAAC,iBAAiB,KACxC,iBAAiB,CAAC,iBAAiB,CAAC;CAC1C;AAED,eAAO,MAAM,kBAAkB,GAAI,0CAKhC,mBAAmB,8DAgHlB,CAAC"}
@@ -59,6 +59,17 @@ export const makeHttpStateStore = ({ url, authToken, transformClient, id, }) =>
59
59
  query: request.stage === undefined ? {} : { stage: request.stage },
60
60
  })
61
61
  .pipe(Effect.asVoid, mapStateStoreError),
62
+ getOutput: (request) => state
63
+ .getStackOutput({
64
+ params: { stack: request.stack, stage: request.stage },
65
+ })
66
+ .pipe(Effect.map((s) => s == null ? undefined : reviveStateRecursive(s)), mapStateStoreError),
67
+ setOutput: (request) => state
68
+ .setStackOutput({
69
+ params: { stack: request.stack, stage: request.stage },
70
+ payload: encodeState(request.value),
71
+ })
72
+ .pipe(Effect.map(() => request.value), mapStateStoreError),
62
73
  };
63
74
  return service;
64
75
  });
@@ -1 +1 @@
1
- {"version":3,"file":"HttpStateStore.js","sourceRoot":"","sources":["../../src/State/HttpStateStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HttpStateStore.js","sourceRoot":"","sources":["../../src/State/HttpStateStore.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import { State } from "./State.ts";
4
4
  type StackId = string;
5
5
  type StageId = string;
6
6
  type Fqn = string;
7
- export declare const inMemoryState: (initialState?: Record<StackId, Record<StageId, Record<Fqn, ResourceState>>>) => Layer.Layer<State, never, never>;
8
- export declare const InMemoryService: (state?: Record<StackId, Record<StageId, Record<Fqn, ResourceState>>>) => import("./State.ts").StateService;
7
+ export declare const inMemoryState: (initialState?: Record<StackId, Record<StageId, Record<Fqn, ResourceState>>>, initialOutputs?: Record<StackId, Record<StageId, unknown>>) => Layer.Layer<State, never, never>;
8
+ export declare const InMemoryService: (state?: Record<StackId, Record<StageId, Record<Fqn, ResourceState>>>, outputs?: Record<StackId, Record<StageId, unknown>>) => import("./State.ts").StateService;
9
9
  export {};
10
10
  //# sourceMappingURL=InMemoryState.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"InMemoryState.d.ts","sourceRoot":"","sources":["../../src/State/InMemoryState.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,KAAK,OAAO,GAAG,MAAM,CAAC;AACtB,KAAK,OAAO,GAAG,MAAM,CAAC;AACtB,KAAK,GAAG,GAAG,MAAM,CAAC;AAElB,eAAO,MAAM,aAAa,GACxB,eAAc,MAAM,CAClB,OAAO,EACP,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CACvC,qCAKL,CAAC;AAEJ,eAAO,MAAM,eAAe,GAC1B,QAAO,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAM,sCAmEtE,CAAC"}
1
+ {"version":3,"file":"InMemoryState.d.ts","sourceRoot":"","sources":["../../src/State/InMemoryState.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,KAAK,OAAO,GAAG,MAAM,CAAC;AACtB,KAAK,OAAO,GAAG,MAAM,CAAC;AACtB,KAAK,GAAG,GAAG,MAAM,CAAC;AAElB,eAAO,MAAM,aAAa,GACxB,eAAc,MAAM,CAClB,OAAO,EACP,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CACvC,EACN,iBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAM,qCAO7D,CAAC;AAEJ,eAAO,MAAM,eAAe,GAC1B,QAAO,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAM,EACxE,UAAS,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAM,sCAoFrD,CAAC"}
@@ -2,20 +2,20 @@ import * as Effect from "effect/Effect";
2
2
  import * as Layer from "effect/Layer";
3
3
  import { recordStateStoreInit } from "../Telemetry/Metrics.js";
4
4
  import { State } from "./State.js";
5
- export const inMemoryState = (initialState = {}) => Layer.effect(State, Effect.succeed(InMemoryService(initialState)).pipe(recordStateStoreInit));
6
- export const InMemoryService = (state = {}) => State.of({
5
+ export const inMemoryState = (initialState = {}, initialOutputs = {}) => Layer.effect(State, Effect.succeed(InMemoryService(initialState, initialOutputs)).pipe(recordStateStoreInit));
6
+ export const InMemoryService = (state = {}, outputs = {}) => State.of({
7
7
  id: "inmemory",
8
8
  listStacks: () => Effect.succeed(Array.from(Object.keys(state))),
9
9
  listStages: (stack) => Effect.succeed(Array.from(stack in state ? Object.keys(state[stack]) : [])),
10
10
  get: ({ stack, stage, fqn, }) => Effect.succeed(state[stack]?.[stage]?.[fqn]),
11
11
  getReplacedResources: ({ stack, stage, }) => Effect.succeed(Array.from(Object.values(state[stack]?.[stage] ?? {}) ?? []).filter((s) => s.status === "replaced")),
12
- set: ({ stack, stage, fqn, value, }) => {
12
+ set: ({ stack, stage, fqn, value, }) => Effect.sync(() => {
13
13
  const stackState = (state[stack] ??= {});
14
14
  const stageState = (stackState[stage] ??= {});
15
15
  stageState[fqn] = value;
16
- return Effect.succeed(value);
17
- },
18
- delete: ({ stack, stage, fqn, }) => Effect.succeed(delete state[stack]?.[stage]?.[fqn]),
16
+ return value;
17
+ }),
18
+ delete: ({ stack, stage, fqn, }) => Effect.sync(() => delete state[stack]?.[stage]?.[fqn]),
19
19
  deleteStack: ({ stack, stage }) => Effect.sync(() => {
20
20
  if (stage === undefined) {
21
21
  delete state[stack];
@@ -25,5 +25,11 @@ export const InMemoryService = (state = {}) => State.of({
25
25
  }
26
26
  }),
27
27
  list: ({ stack, stage }) => Effect.succeed(Array.from(Object.keys(state[stack]?.[stage] ?? {}) ?? [])),
28
+ getOutput: ({ stack, stage }) => Effect.succeed(outputs[stack]?.[stage]),
29
+ setOutput: ({ stack, stage, value, }) => Effect.sync(() => {
30
+ const stackOutputs = (outputs[stack] ??= {});
31
+ stackOutputs[stage] = value;
32
+ return value;
33
+ }),
28
34
  });
29
35
  //# sourceMappingURL=InMemoryState.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InMemoryState.js","sourceRoot":"","sources":["../../src/State/InMemoryState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InMemoryState.js","sourceRoot":"","sources":["../../src/State/InMemoryState.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"LocalState.d.ts","sourceRoot":"","sources":["../../src/State/LocalState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AAIpC,OAAO,EAAE,KAAK,EAAmB,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAGvE,eAAO,MAAM,UAAU,oEAC2C,CAAC;AAEnE,eAAO,MAAM,cAAc,6EAwGvB,CAAC"}
1
+ {"version":3,"file":"LocalState.d.ts","sourceRoot":"","sources":["../../src/State/LocalState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AAIpC,OAAO,EAAE,KAAK,EAAmB,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAGvE,eAAO,MAAM,UAAU,oEAC2C,CAAC;AAEnE,eAAO,MAAM,cAAc,6EAgIvB,CAAC"}
@@ -19,6 +19,7 @@ export const makeLocalState = () => Effect.gen(function* () {
19
19
  const recover = (effect) => effect.pipe(Effect.catchTag("PlatformError", (e) => e.reason._tag === "NotFound" ? Effect.void : fail(e)));
20
20
  const stageDir = ({ stack, stage }) => path.join(stateDir, stack, stage);
21
21
  const resource = ({ stack, stage, fqn, }) => path.join(stateDir, stack, stage, `${encodeFqn(fqn)}.json`);
22
+ const outputFile = ({ stack, stage }) => path.join(stateDir, stack, stage, `__stack_output__.json`);
22
23
  const created = new Set();
23
24
  const ensure = (dir) => created.has(dir)
24
25
  ? Effect.succeed(void 0)
@@ -44,8 +45,16 @@ export const makeLocalState = () => Effect.gen(function* () {
44
45
  ? path.join(stateDir, stack)
45
46
  : stageDir({ stack, stage }), { recursive: true })
46
47
  .pipe(recover),
47
- list: (request) => fs.readDirectory(stageDir(request)).pipe(recover, Effect.map((files) => files?.map((file) => decodeFqn(file.replace(/\.json$/, ""))) ??
48
- [])),
48
+ list: (request) => fs.readDirectory(stageDir(request)).pipe(recover, Effect.map((files) => (files ?? [])
49
+ // Filter the bookkeeping file before decoding — `decodeFqn`
50
+ // replaces `__` with `/`, which would turn the literal name
51
+ // `__stack_output__` into `/stack_output/` and slip past the
52
+ // filter, leaving the engine to look up a non-existent
53
+ // resource.
54
+ .filter((file) => file !== "__stack_output__.json")
55
+ .map((file) => decodeFqn(file.replace(/\.json$/, ""))))),
56
+ getOutput: (request) => fs.readFile(outputFile(request)).pipe(Effect.map((file) => JSON.parse(file.toString(), reviveState)), recover),
57
+ setOutput: (request) => ensure(stageDir(request)).pipe(Effect.flatMap(() => fs.writeFileString(outputFile(request), JSON.stringify(encodeState(request.value), null, 2))), recover, Effect.map(() => request.value)),
49
58
  };
50
59
  return state;
51
60
  });
@@ -1 +1 @@
1
- {"version":3,"file":"LocalState.js","sourceRoot":"","sources":["../../src/State/LocalState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LocalState.js","sourceRoot":"","sources":["../../src/State/LocalState.ts"],"names":[],"mappings":"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"}
@@ -81,6 +81,27 @@ export interface StateService {
81
81
  stack: string;
82
82
  stage: string;
83
83
  }): Effect.Effect<readonly string[], StateStoreError, never>;
84
+ /**
85
+ * Read the persisted stack output for `(stack, stage)`. Returns
86
+ * `undefined` when the stack has not been deployed (or has been
87
+ * destroyed) at this stage.
88
+ *
89
+ * Stack outputs are written by `apply` once the deploy succeeds and
90
+ * read by cross-stack references (`yield* OtherStack` /
91
+ * `OtherStack.stage.<name>` / `Output.stackRef(...)`).
92
+ */
93
+ getOutput(request: {
94
+ stack: string;
95
+ stage: string;
96
+ }): Effect.Effect<unknown, StateStoreError, never>;
97
+ /**
98
+ * Persist the resolved stack output for `(stack, stage)`.
99
+ */
100
+ setOutput(request: {
101
+ stack: string;
102
+ stage: string;
103
+ value: unknown;
104
+ }): Effect.Effect<unknown, StateStoreError, never>;
84
105
  }
85
106
  export {};
86
107
  //# sourceMappingURL=State.d.ts.map