alchemy 2.0.0-beta.46 → 2.0.0-beta.47

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 (91) hide show
  1. package/bin/exec.js +18 -10
  2. package/bin/exec.js.map +1 -1
  3. package/lib/Apply.js +2 -2
  4. package/lib/Apply.js.map +1 -1
  5. package/lib/Cli/commands/_shared.d.ts +7 -1
  6. package/lib/Cli/commands/_shared.d.ts.map +1 -1
  7. package/lib/Cli/commands/_shared.js +1 -0
  8. package/lib/Cli/commands/_shared.js.map +1 -1
  9. package/lib/Cli/commands/login.d.ts +1 -1
  10. package/lib/Cli/commands/login.d.ts.map +1 -1
  11. package/lib/Cli/commands/login.js +45 -42
  12. package/lib/Cli/commands/login.js.map +1 -1
  13. package/lib/Cli/commands/logs.js +1 -1
  14. package/lib/Cli/commands/logs.js.map +1 -1
  15. package/lib/Cli/commands/state.js +1 -1
  16. package/lib/Cli/commands/state.js.map +1 -1
  17. package/lib/Cli/commands/tail.js +1 -1
  18. package/lib/Cli/commands/tail.js.map +1 -1
  19. package/lib/Cloudflare/AiGateway/AiGateway.d.ts +112 -1
  20. package/lib/Cloudflare/AiGateway/AiGateway.d.ts.map +1 -1
  21. package/lib/Cloudflare/AiGateway/AiGateway.js +112 -1
  22. package/lib/Cloudflare/AiGateway/AiGateway.js.map +1 -1
  23. package/lib/Cloudflare/AiGateway/AiGatewayBinding.d.ts +43 -10
  24. package/lib/Cloudflare/AiGateway/AiGatewayBinding.d.ts.map +1 -1
  25. package/lib/Cloudflare/AiGateway/AiGatewayBinding.js +38 -10
  26. package/lib/Cloudflare/AiGateway/AiGatewayBinding.js.map +1 -1
  27. package/lib/Cloudflare/AiGateway/LanguageModel.d.ts +35 -0
  28. package/lib/Cloudflare/AiGateway/LanguageModel.d.ts.map +1 -0
  29. package/lib/Cloudflare/AiGateway/LanguageModel.js +576 -0
  30. package/lib/Cloudflare/AiGateway/LanguageModel.js.map +1 -0
  31. package/lib/Cloudflare/AiGateway/index.d.ts +1 -0
  32. package/lib/Cloudflare/AiGateway/index.d.ts.map +1 -1
  33. package/lib/Cloudflare/AiGateway/index.js +1 -0
  34. package/lib/Cloudflare/AiGateway/index.js.map +1 -1
  35. package/lib/Cloudflare/StateStore/State.d.ts.map +1 -1
  36. package/lib/Cloudflare/StateStore/State.js +82 -78
  37. package/lib/Cloudflare/StateStore/State.js.map +1 -1
  38. package/lib/Cloudflare/Workers/DurableObjectBridge.d.ts.map +1 -1
  39. package/lib/Cloudflare/Workers/DurableObjectBridge.js +10 -1
  40. package/lib/Cloudflare/Workers/DurableObjectBridge.js.map +1 -1
  41. package/lib/Cloudflare/Workers/LocalWorkerProvider.d.ts.map +1 -1
  42. package/lib/Cloudflare/Workers/LocalWorkerProvider.js +13 -1
  43. package/lib/Cloudflare/Workers/LocalWorkerProvider.js.map +1 -1
  44. package/lib/Cloudflare/Workers/Rpc.d.ts.map +1 -1
  45. package/lib/Cloudflare/Workers/Rpc.js +20 -2
  46. package/lib/Cloudflare/Workers/Rpc.js.map +1 -1
  47. package/lib/Cloudflare/Workers/WorkerBridge.d.ts.map +1 -1
  48. package/lib/Cloudflare/Workers/WorkerBridge.js +20 -2
  49. package/lib/Cloudflare/Workers/WorkerBridge.js.map +1 -1
  50. package/lib/Output.js +2 -2
  51. package/lib/Output.js.map +1 -1
  52. package/lib/Plan.d.ts +2 -2
  53. package/lib/Plan.d.ts.map +1 -1
  54. package/lib/Plan.js +3 -3
  55. package/lib/Plan.js.map +1 -1
  56. package/lib/Stack.d.ts.map +1 -1
  57. package/lib/Stack.js +6 -0
  58. package/lib/Stack.js.map +1 -1
  59. package/lib/State/InMemoryState.d.ts +2 -1
  60. package/lib/State/InMemoryState.d.ts.map +1 -1
  61. package/lib/State/InMemoryState.js +3 -3
  62. package/lib/State/InMemoryState.js.map +1 -1
  63. package/lib/State/LocalState.d.ts.map +1 -1
  64. package/lib/State/LocalState.js +5 -1
  65. package/lib/State/LocalState.js.map +1 -1
  66. package/lib/State/State.d.ts +2 -2
  67. package/lib/State/State.d.ts.map +1 -1
  68. package/lib/State/State.js.map +1 -1
  69. package/lib/tsconfig.test.tsbuildinfo +1 -1
  70. package/package.json +1 -1
  71. package/src/Apply.ts +2 -2
  72. package/src/Cli/commands/_shared.ts +7 -1
  73. package/src/Cli/commands/login.ts +69 -60
  74. package/src/Cli/commands/logs.ts +1 -1
  75. package/src/Cli/commands/state.ts +1 -1
  76. package/src/Cli/commands/tail.ts +1 -1
  77. package/src/Cloudflare/AiGateway/AiGateway.ts +112 -1
  78. package/src/Cloudflare/AiGateway/AiGatewayBinding.ts +52 -10
  79. package/src/Cloudflare/AiGateway/LanguageModel.ts +907 -0
  80. package/src/Cloudflare/AiGateway/index.ts +1 -0
  81. package/src/Cloudflare/StateStore/State.ts +113 -107
  82. package/src/Cloudflare/Workers/DurableObjectBridge.ts +10 -1
  83. package/src/Cloudflare/Workers/LocalWorkerProvider.ts +13 -1
  84. package/src/Cloudflare/Workers/Rpc.ts +38 -9
  85. package/src/Cloudflare/Workers/WorkerBridge.ts +20 -2
  86. package/src/Output.ts +2 -2
  87. package/src/Plan.ts +4 -4
  88. package/src/Stack.ts +6 -0
  89. package/src/State/InMemoryState.ts +87 -85
  90. package/src/State/LocalState.ts +15 -1
  91. package/src/State/State.ts +5 -4
package/bin/exec.js CHANGED
@@ -594,7 +594,7 @@ const evaluate = (expr, upstream$1) => Effect.gen(function* () {
594
594
  else if (isPropExpr(expr)) return (yield* evaluate(expr.expr, upstream$1))?.[expr.identifier];
595
595
  else if (isNamedExpr(expr)) return yield* evaluate(expr.expr, upstream$1);
596
596
  else if (isRefExpr(expr)) {
597
- const state = yield* State;
597
+ const state = yield* yield* State;
598
598
  const stack = expr.stack ?? (yield* Stack).name;
599
599
  const stage$1 = expr.stage ?? (yield* Stage);
600
600
  const resource = yield* state.get({
@@ -610,7 +610,7 @@ const evaluate = (expr, upstream$1) => Effect.gen(function* () {
610
610
  }));
611
611
  return resource.attr ?? resource.output;
612
612
  } else if (isStackRefExpr(expr)) {
613
- const state = yield* State;
613
+ const state = yield* yield* State;
614
614
  const stack = expr.stack;
615
615
  const stage$1 = expr.stage ?? (yield* Stage);
616
616
  const output = yield* state.getOutput({
@@ -739,13 +739,21 @@ const runMain = (effect, options) => {
739
739
  //#region lib/Stack.js
740
740
  const Stack = Object.assign(taggedFunction(EffectContext.Service()("Stack"), (stackName, options, eff) => {
741
741
  if (!stackName) return (stackName$1) => Object.assign(stackRef(stackName$1).pipe(effectClass), {
742
+ stackName: stackName$1,
742
743
  stage: createStageProxy(stackName$1),
744
+ state: options?.state,
745
+ providers: options?.providers,
743
746
  make: (options$1, eff$1) => Stack(stackName$1, options$1, eff$1)
744
747
  });
745
748
  return eff.pipe(make$2({
746
749
  name: stackName,
747
750
  ...options
748
- }), (eff$1) => Object.assign(eff$1, { stage: createStageProxy(stackName) }));
751
+ }), (eff$1) => Object.assign(eff$1, {
752
+ stackName,
753
+ stage: createStageProxy(stackName),
754
+ state: options?.state,
755
+ providers: options?.providers
756
+ }));
749
757
  }));
750
758
  const createStageProxy = (stackName) => new Proxy({}, { get: (_, stage$1) => stackRef(stackName, { stage: stage$1 }) });
751
759
  const StackName = Stack.use((stack) => Effect.succeed(stack.name));
@@ -1001,6 +1009,10 @@ const generateInstanceId = () => Effect.sync(() => {
1001
1009
  //#region lib/Util/types.js
1002
1010
  const asEffect = (effect) => typeof effect?.asEffect === "function" ? effect.asEffect() : Effect.isEffect(effect) ? effect : Effect.succeed(effect);
1003
1011
 
1012
+ //#endregion
1013
+ //#region lib/Action.js
1014
+ const isAction = (value) => typeof value === "object" && value !== null && value?.Kind === "action";
1015
+
1004
1016
  //#endregion
1005
1017
  //#region lib/Telemetry/Metrics.js
1006
1018
  /**
@@ -1079,10 +1091,6 @@ const recordOutcome = (baseAttrs, status, duration) => {
1079
1091
  return Effect.all([Metric.update(Metric.withAttributes(resourceCounter, attrs), 1), Metric.update(Metric.withAttributes(resourceDuration, attrs), duration)], { discard: true });
1080
1092
  };
1081
1093
 
1082
- //#endregion
1083
- //#region lib/Action.js
1084
- const isAction = (value) => typeof value === "object" && value !== null && value?.Kind === "action";
1085
-
1086
1094
  //#endregion
1087
1095
  //#region lib/Util/hash.js
1088
1096
  /**
@@ -1168,7 +1176,7 @@ const findCycleMembers = (edges) => {
1168
1176
  //#endregion
1169
1177
  //#region lib/Plan.js
1170
1178
  const make = (stack, options = {}) => Effect.gen(function* () {
1171
- const state = yield* State;
1179
+ const state = yield* yield* State;
1172
1180
  const resources = Object.values(stack.resources);
1173
1181
  const actions = Object.values(stack.actions ?? {});
1174
1182
  const stackName = stack.name;
@@ -1696,7 +1704,7 @@ const instrumentLifecycle = (op, fqn, resourceType, logicalId, instanceId) => (e
1696
1704
  } }));
1697
1705
  const apply = (plan) => Effect.gen(function* () {
1698
1706
  const session = yield* (yield* Cli).startApplySession(plan);
1699
- const state = yield* State;
1707
+ const state = yield* yield* State;
1700
1708
  const stack = yield* Stack;
1701
1709
  const stage$1 = yield* Stage;
1702
1710
  const stackName = stack.name;
@@ -2355,7 +2363,7 @@ const converge = Effect.fnUntraced(function* (plan, tracker, terminalStatuses, s
2355
2363
  }
2356
2364
  });
2357
2365
  const collectGarbage = Effect.fnUntraced(function* (plan, session) {
2358
- const state = yield* State;
2366
+ const state = yield* yield* State;
2359
2367
  const stackName = (yield* Stack).name;
2360
2368
  const stage$1 = yield* Stage;
2361
2369
  yield* Effect.all(Object.entries(plan.actionDeletions ?? {}).map(([fqn, node]) => node === void 0 ? Effect.void : Effect.gen(function* () {