alchemy 2.0.0-beta.10 → 2.0.0-beta.13

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 (420) hide show
  1. package/bin/alchemy.js +1122 -450
  2. package/bin/alchemy.js.map +1 -1
  3. package/bin/alchemy.sh +15 -0
  4. package/bin/alchemy.ts +22 -727
  5. package/bin/commands/_shared.ts +237 -0
  6. package/bin/commands/bootstrap.ts +117 -0
  7. package/bin/commands/deploy.ts +144 -0
  8. package/bin/commands/login.ts +93 -0
  9. package/bin/commands/logs.ts +157 -0
  10. package/bin/commands/tail.ts +138 -0
  11. package/lib/AWS/AuthProvider.d.ts +7 -71
  12. package/lib/AWS/AuthProvider.d.ts.map +1 -1
  13. package/lib/AWS/AuthProvider.js +27 -22
  14. package/lib/AWS/AuthProvider.js.map +1 -1
  15. package/lib/AWS/AutoScaling/LaunchTemplate.d.ts +3 -3
  16. package/lib/AWS/AutoScaling/LaunchTemplate.d.ts.map +1 -1
  17. package/lib/AWS/AutoScaling/LaunchTemplate.js +2 -2
  18. package/lib/AWS/AutoScaling/LaunchTemplate.js.map +1 -1
  19. package/lib/AWS/Bootstrap.d.ts +2 -1
  20. package/lib/AWS/Bootstrap.d.ts.map +1 -1
  21. package/lib/AWS/Bootstrap.js +27 -29
  22. package/lib/AWS/Bootstrap.js.map +1 -1
  23. package/lib/AWS/CloudWatch/Alarm.d.ts +2 -2
  24. package/lib/AWS/CloudWatch/Alarm.d.ts.map +1 -1
  25. package/lib/AWS/CloudWatch/Alarm.js +2 -2
  26. package/lib/AWS/CloudWatch/Alarm.js.map +1 -1
  27. package/lib/AWS/CloudWatch/AlarmMuteRule.d.ts +2 -2
  28. package/lib/AWS/CloudWatch/AlarmMuteRule.d.ts.map +1 -1
  29. package/lib/AWS/CloudWatch/AlarmMuteRule.js +2 -2
  30. package/lib/AWS/CloudWatch/AlarmMuteRule.js.map +1 -1
  31. package/lib/AWS/CloudWatch/CompositeAlarm.d.ts +2 -2
  32. package/lib/AWS/CloudWatch/CompositeAlarm.d.ts.map +1 -1
  33. package/lib/AWS/CloudWatch/CompositeAlarm.js +2 -2
  34. package/lib/AWS/CloudWatch/CompositeAlarm.js.map +1 -1
  35. package/lib/AWS/CloudWatch/Dashboard.d.ts +2 -2
  36. package/lib/AWS/CloudWatch/Dashboard.d.ts.map +1 -1
  37. package/lib/AWS/CloudWatch/Dashboard.js +2 -2
  38. package/lib/AWS/CloudWatch/Dashboard.js.map +1 -1
  39. package/lib/AWS/CloudWatch/InsightRule.d.ts +2 -2
  40. package/lib/AWS/CloudWatch/InsightRule.d.ts.map +1 -1
  41. package/lib/AWS/CloudWatch/InsightRule.js +2 -2
  42. package/lib/AWS/CloudWatch/InsightRule.js.map +1 -1
  43. package/lib/AWS/CloudWatch/MetricStream.d.ts +2 -2
  44. package/lib/AWS/CloudWatch/MetricStream.d.ts.map +1 -1
  45. package/lib/AWS/CloudWatch/MetricStream.js +2 -2
  46. package/lib/AWS/CloudWatch/MetricStream.js.map +1 -1
  47. package/lib/AWS/Credentials.d.ts +5 -10
  48. package/lib/AWS/Credentials.d.ts.map +1 -1
  49. package/lib/AWS/Credentials.js +6 -30
  50. package/lib/AWS/Credentials.js.map +1 -1
  51. package/lib/AWS/DynamoDB/Table.d.ts +1 -1
  52. package/lib/AWS/DynamoDB/Table.d.ts.map +1 -1
  53. package/lib/AWS/EC2/EIP.d.ts +3 -3
  54. package/lib/AWS/EC2/EIP.d.ts.map +1 -1
  55. package/lib/AWS/EC2/EIP.js +2 -2
  56. package/lib/AWS/EC2/EIP.js.map +1 -1
  57. package/lib/AWS/EC2/EgressOnlyInternetGateway.d.ts +3 -3
  58. package/lib/AWS/EC2/EgressOnlyInternetGateway.d.ts.map +1 -1
  59. package/lib/AWS/EC2/EgressOnlyInternetGateway.js +2 -2
  60. package/lib/AWS/EC2/EgressOnlyInternetGateway.js.map +1 -1
  61. package/lib/AWS/EC2/Instance.d.ts +3 -3
  62. package/lib/AWS/EC2/Instance.d.ts.map +1 -1
  63. package/lib/AWS/EC2/Instance.js +2 -2
  64. package/lib/AWS/EC2/Instance.js.map +1 -1
  65. package/lib/AWS/EC2/InternetGateway.d.ts +3 -3
  66. package/lib/AWS/EC2/InternetGateway.d.ts.map +1 -1
  67. package/lib/AWS/EC2/InternetGateway.js +2 -2
  68. package/lib/AWS/EC2/InternetGateway.js.map +1 -1
  69. package/lib/AWS/EC2/NatGateway.d.ts +3 -3
  70. package/lib/AWS/EC2/NatGateway.d.ts.map +1 -1
  71. package/lib/AWS/EC2/NatGateway.js +2 -2
  72. package/lib/AWS/EC2/NatGateway.js.map +1 -1
  73. package/lib/AWS/EC2/Network.d.ts +1 -1
  74. package/lib/AWS/EC2/NetworkAcl.d.ts +3 -3
  75. package/lib/AWS/EC2/NetworkAcl.d.ts.map +1 -1
  76. package/lib/AWS/EC2/NetworkAcl.js +2 -2
  77. package/lib/AWS/EC2/NetworkAcl.js.map +1 -1
  78. package/lib/AWS/EC2/RouteTable.d.ts +3 -3
  79. package/lib/AWS/EC2/RouteTable.d.ts.map +1 -1
  80. package/lib/AWS/EC2/RouteTable.js +2 -2
  81. package/lib/AWS/EC2/RouteTable.js.map +1 -1
  82. package/lib/AWS/EC2/SecurityGroup.d.ts +3 -3
  83. package/lib/AWS/EC2/SecurityGroup.d.ts.map +1 -1
  84. package/lib/AWS/EC2/SecurityGroup.js +2 -2
  85. package/lib/AWS/EC2/SecurityGroup.js.map +1 -1
  86. package/lib/AWS/EC2/Subnet.d.ts +1 -1
  87. package/lib/AWS/EC2/Subnet.d.ts.map +1 -1
  88. package/lib/AWS/EC2/Vpc.d.ts +3 -3
  89. package/lib/AWS/EC2/Vpc.d.ts.map +1 -1
  90. package/lib/AWS/EC2/Vpc.js +2 -2
  91. package/lib/AWS/EC2/Vpc.js.map +1 -1
  92. package/lib/AWS/EC2/VpcEndpoint.d.ts +3 -3
  93. package/lib/AWS/EC2/VpcEndpoint.d.ts.map +1 -1
  94. package/lib/AWS/EC2/VpcEndpoint.js +2 -2
  95. package/lib/AWS/EC2/VpcEndpoint.js.map +1 -1
  96. package/lib/AWS/ECR/Repository.d.ts +1 -1
  97. package/lib/AWS/ECR/Repository.d.ts.map +1 -1
  98. package/lib/AWS/ECR/Repository.js +0 -1
  99. package/lib/AWS/ECR/Repository.js.map +1 -1
  100. package/lib/AWS/ECS/Cluster.d.ts +2 -2
  101. package/lib/AWS/ECS/Cluster.d.ts.map +1 -1
  102. package/lib/AWS/ECS/Cluster.js +2 -2
  103. package/lib/AWS/ECS/Cluster.js.map +1 -1
  104. package/lib/AWS/ECS/Service.d.ts +1 -1
  105. package/lib/AWS/ECS/Service.d.ts.map +1 -1
  106. package/lib/AWS/ECS/Task.d.ts +2 -2
  107. package/lib/AWS/ECS/Task.d.ts.map +1 -1
  108. package/lib/AWS/ECS/Task.js +2 -2
  109. package/lib/AWS/ECS/Task.js.map +1 -1
  110. package/lib/AWS/EKS/Cluster.d.ts +1 -1
  111. package/lib/AWS/EKS/Cluster.d.ts.map +1 -1
  112. package/lib/AWS/ELBv2/Listener.d.ts +1 -1
  113. package/lib/AWS/ELBv2/Listener.d.ts.map +1 -1
  114. package/lib/AWS/ELBv2/LoadBalancer.d.ts +1 -1
  115. package/lib/AWS/ELBv2/LoadBalancer.d.ts.map +1 -1
  116. package/lib/AWS/ELBv2/TargetGroup.d.ts +1 -1
  117. package/lib/AWS/ELBv2/TargetGroup.d.ts.map +1 -1
  118. package/lib/AWS/Endpoint.d.ts +7 -2
  119. package/lib/AWS/Endpoint.d.ts.map +1 -1
  120. package/lib/AWS/Endpoint.js +7 -2
  121. package/lib/AWS/Endpoint.js.map +1 -1
  122. package/lib/AWS/Environment.d.ts +68 -0
  123. package/lib/AWS/Environment.d.ts.map +1 -0
  124. package/lib/AWS/Environment.js +53 -0
  125. package/lib/AWS/Environment.js.map +1 -0
  126. package/lib/AWS/EventBridge/EventBus.d.ts +2 -2
  127. package/lib/AWS/EventBridge/EventBus.d.ts.map +1 -1
  128. package/lib/AWS/EventBridge/EventBus.js +2 -2
  129. package/lib/AWS/EventBridge/EventBus.js.map +1 -1
  130. package/lib/AWS/EventBridge/ListRules.d.ts +2 -2
  131. package/lib/AWS/EventBridge/ListRules.d.ts.map +1 -1
  132. package/lib/AWS/EventBridge/ListRules.js +2 -2
  133. package/lib/AWS/EventBridge/ListRules.js.map +1 -1
  134. package/lib/AWS/EventBridge/PutEvents.d.ts +2 -2
  135. package/lib/AWS/EventBridge/PutEvents.d.ts.map +1 -1
  136. package/lib/AWS/EventBridge/PutEvents.js +2 -2
  137. package/lib/AWS/EventBridge/PutEvents.js.map +1 -1
  138. package/lib/AWS/EventBridge/Rule.d.ts +2 -2
  139. package/lib/AWS/EventBridge/Rule.d.ts.map +1 -1
  140. package/lib/AWS/EventBridge/Rule.js +2 -2
  141. package/lib/AWS/EventBridge/Rule.js.map +1 -1
  142. package/lib/AWS/IAM/OpenIDConnectProvider.d.ts +2 -2
  143. package/lib/AWS/IAM/OpenIDConnectProvider.d.ts.map +1 -1
  144. package/lib/AWS/IAM/OpenIDConnectProvider.js +2 -2
  145. package/lib/AWS/IAM/OpenIDConnectProvider.js.map +1 -1
  146. package/lib/AWS/IAM/Policy.d.ts +3 -3
  147. package/lib/AWS/IAM/Policy.d.ts.map +1 -1
  148. package/lib/AWS/IAM/Policy.js +2 -2
  149. package/lib/AWS/IAM/Policy.js.map +1 -1
  150. package/lib/AWS/IAM/Role.d.ts +3 -3
  151. package/lib/AWS/IAM/Role.d.ts.map +1 -1
  152. package/lib/AWS/IAM/Role.js +3 -3
  153. package/lib/AWS/IAM/Role.js.map +1 -1
  154. package/lib/AWS/Kinesis/Stream.d.ts +2 -2
  155. package/lib/AWS/Kinesis/Stream.d.ts.map +1 -1
  156. package/lib/AWS/Kinesis/Stream.js +2 -2
  157. package/lib/AWS/Kinesis/Stream.js.map +1 -1
  158. package/lib/AWS/Lambda/BucketEventSource.d.ts +1 -1
  159. package/lib/AWS/Lambda/BucketEventSource.d.ts.map +1 -1
  160. package/lib/AWS/Lambda/EventBridgeEventSource.d.ts +1 -1
  161. package/lib/AWS/Lambda/EventBridgeEventSource.d.ts.map +1 -1
  162. package/lib/AWS/Lambda/EventSourceMapping.d.ts +2 -2
  163. package/lib/AWS/Lambda/EventSourceMapping.d.ts.map +1 -1
  164. package/lib/AWS/Lambda/EventSourceMapping.js +2 -2
  165. package/lib/AWS/Lambda/EventSourceMapping.js.map +1 -1
  166. package/lib/AWS/Lambda/Function.d.ts +2 -2
  167. package/lib/AWS/Lambda/Function.d.ts.map +1 -1
  168. package/lib/AWS/Lambda/Function.js +2 -2
  169. package/lib/AWS/Lambda/Function.js.map +1 -1
  170. package/lib/AWS/Lambda/Permission.d.ts +1 -1
  171. package/lib/AWS/Lambda/Permission.js +1 -1
  172. package/lib/AWS/Lambda/QueueEventSource.d.ts +1 -1
  173. package/lib/AWS/Lambda/QueueEventSource.d.ts.map +1 -1
  174. package/lib/AWS/Lambda/StreamEventSource.d.ts +1 -1
  175. package/lib/AWS/Lambda/StreamEventSource.d.ts.map +1 -1
  176. package/lib/AWS/Lambda/TableEventSource.d.ts +1 -1
  177. package/lib/AWS/Lambda/TableEventSource.d.ts.map +1 -1
  178. package/lib/AWS/Lambda/TopicEventSource.d.ts +1 -1
  179. package/lib/AWS/Lambda/TopicEventSource.d.ts.map +1 -1
  180. package/lib/AWS/Logs/LogGroup.d.ts +3 -3
  181. package/lib/AWS/Logs/LogGroup.d.ts.map +1 -1
  182. package/lib/AWS/Logs/LogGroup.js +2 -2
  183. package/lib/AWS/Logs/LogGroup.js.map +1 -1
  184. package/lib/AWS/Providers.d.ts +1 -2
  185. package/lib/AWS/Providers.d.ts.map +1 -1
  186. package/lib/AWS/Providers.js +3 -3
  187. package/lib/AWS/Providers.js.map +1 -1
  188. package/lib/AWS/Region.d.ts +6 -22
  189. package/lib/AWS/Region.d.ts.map +1 -1
  190. package/lib/AWS/Region.js +6 -39
  191. package/lib/AWS/Region.js.map +1 -1
  192. package/lib/AWS/S3/Bucket.d.ts +2 -2
  193. package/lib/AWS/S3/Bucket.d.ts.map +1 -1
  194. package/lib/AWS/S3/Bucket.js +2 -2
  195. package/lib/AWS/S3/Bucket.js.map +1 -1
  196. package/lib/AWS/SNS/Topic.d.ts +1 -1
  197. package/lib/AWS/SNS/Topic.d.ts.map +1 -1
  198. package/lib/AWS/SQS/Queue.d.ts +3 -3
  199. package/lib/AWS/SQS/Queue.d.ts.map +1 -1
  200. package/lib/AWS/SQS/Queue.js +2 -2
  201. package/lib/AWS/SQS/Queue.js.map +1 -1
  202. package/lib/AWS/index.d.ts +1 -3
  203. package/lib/AWS/index.d.ts.map +1 -1
  204. package/lib/AWS/index.js +1 -3
  205. package/lib/AWS/index.js.map +1 -1
  206. package/lib/Apply.d.ts.map +1 -1
  207. package/lib/Apply.js +2 -2
  208. package/lib/Apply.js.map +1 -1
  209. package/lib/Auth/AuthProvider.d.ts +51 -7
  210. package/lib/Auth/AuthProvider.d.ts.map +1 -1
  211. package/lib/Auth/AuthProvider.js +37 -0
  212. package/lib/Auth/AuthProvider.js.map +1 -1
  213. package/lib/Auth/Profile.d.ts +71 -10
  214. package/lib/Auth/Profile.d.ts.map +1 -1
  215. package/lib/Auth/Profile.js +47 -30
  216. package/lib/Auth/Profile.js.map +1 -1
  217. package/lib/Auth/index.d.ts +1 -1
  218. package/lib/Auth/index.d.ts.map +1 -1
  219. package/lib/Cloudflare/Auth/AuthProvider.d.ts +14 -31
  220. package/lib/Cloudflare/Auth/AuthProvider.d.ts.map +1 -1
  221. package/lib/Cloudflare/Auth/AuthProvider.js +59 -38
  222. package/lib/Cloudflare/Auth/AuthProvider.js.map +1 -1
  223. package/lib/Cloudflare/CloudflareEnvironment.d.ts +11 -0
  224. package/lib/Cloudflare/CloudflareEnvironment.d.ts.map +1 -0
  225. package/lib/Cloudflare/CloudflareEnvironment.js +26 -0
  226. package/lib/Cloudflare/CloudflareEnvironment.js.map +1 -0
  227. package/lib/Cloudflare/Container/ContainerApplication.d.ts +70 -42
  228. package/lib/Cloudflare/Container/ContainerApplication.d.ts.map +1 -1
  229. package/lib/Cloudflare/Container/ContainerApplication.js +49 -24
  230. package/lib/Cloudflare/Container/ContainerApplication.js.map +1 -1
  231. package/lib/Cloudflare/Credentials.d.ts +11 -0
  232. package/lib/Cloudflare/Credentials.d.ts.map +1 -0
  233. package/lib/Cloudflare/Credentials.js +34 -0
  234. package/lib/Cloudflare/Credentials.js.map +1 -0
  235. package/lib/Cloudflare/D1/D1Database.d.ts +2 -2
  236. package/lib/Cloudflare/D1/D1Database.d.ts.map +1 -1
  237. package/lib/Cloudflare/D1/D1Database.js +2 -2
  238. package/lib/Cloudflare/D1/D1Database.js.map +1 -1
  239. package/lib/Cloudflare/KV/KVNamespace.d.ts +2 -2
  240. package/lib/Cloudflare/KV/KVNamespace.d.ts.map +1 -1
  241. package/lib/Cloudflare/KV/KVNamespace.js +2 -2
  242. package/lib/Cloudflare/KV/KVNamespace.js.map +1 -1
  243. package/lib/Cloudflare/Providers.d.ts +2 -3
  244. package/lib/Cloudflare/Providers.d.ts.map +1 -1
  245. package/lib/Cloudflare/Providers.js +12 -4
  246. package/lib/Cloudflare/Providers.js.map +1 -1
  247. package/lib/Cloudflare/Queue/Queue.d.ts +52 -0
  248. package/lib/Cloudflare/Queue/Queue.d.ts.map +1 -0
  249. package/lib/Cloudflare/Queue/Queue.js +136 -0
  250. package/lib/Cloudflare/Queue/Queue.js.map +1 -0
  251. package/lib/Cloudflare/Queue/QueueBinding.d.ts +35 -0
  252. package/lib/Cloudflare/Queue/QueueBinding.d.ts.map +1 -0
  253. package/lib/Cloudflare/Queue/QueueBinding.js +51 -0
  254. package/lib/Cloudflare/Queue/QueueBinding.js.map +1 -0
  255. package/lib/Cloudflare/Queue/QueueConsumer.d.ts +86 -0
  256. package/lib/Cloudflare/Queue/QueueConsumer.d.ts.map +1 -0
  257. package/lib/Cloudflare/Queue/QueueConsumer.js +138 -0
  258. package/lib/Cloudflare/Queue/QueueConsumer.js.map +1 -0
  259. package/lib/Cloudflare/Queue/index.d.ts +4 -0
  260. package/lib/Cloudflare/Queue/index.d.ts.map +1 -0
  261. package/lib/Cloudflare/Queue/index.js +4 -0
  262. package/lib/Cloudflare/Queue/index.js.map +1 -0
  263. package/lib/Cloudflare/R2/R2Bucket.d.ts +2 -2
  264. package/lib/Cloudflare/R2/R2Bucket.d.ts.map +1 -1
  265. package/lib/Cloudflare/R2/R2Bucket.js +2 -2
  266. package/lib/Cloudflare/R2/R2Bucket.js.map +1 -1
  267. package/lib/Cloudflare/SecretsStore/Secret.d.ts +74 -0
  268. package/lib/Cloudflare/SecretsStore/Secret.d.ts.map +1 -0
  269. package/lib/Cloudflare/SecretsStore/Secret.js +161 -0
  270. package/lib/Cloudflare/SecretsStore/Secret.js.map +1 -0
  271. package/lib/Cloudflare/SecretsStore/SecretBinding.d.ts +42 -0
  272. package/lib/Cloudflare/SecretsStore/SecretBinding.d.ts.map +1 -0
  273. package/lib/Cloudflare/SecretsStore/SecretBinding.js +49 -0
  274. package/lib/Cloudflare/SecretsStore/SecretBinding.js.map +1 -0
  275. package/lib/Cloudflare/SecretsStore/SecretsStore.d.ts +37 -0
  276. package/lib/Cloudflare/SecretsStore/SecretsStore.d.ts.map +1 -0
  277. package/lib/Cloudflare/SecretsStore/SecretsStore.js +88 -0
  278. package/lib/Cloudflare/SecretsStore/SecretsStore.js.map +1 -0
  279. package/lib/Cloudflare/SecretsStore/index.d.ts +4 -0
  280. package/lib/Cloudflare/SecretsStore/index.d.ts.map +1 -0
  281. package/lib/Cloudflare/SecretsStore/index.js +4 -0
  282. package/lib/Cloudflare/SecretsStore/index.js.map +1 -0
  283. package/lib/Cloudflare/Workers/InferEnv.d.ts +1 -1
  284. package/lib/Cloudflare/Workers/InferEnv.d.ts.map +1 -1
  285. package/lib/Cloudflare/Workers/Worker.d.ts +5 -3
  286. package/lib/Cloudflare/Workers/Worker.d.ts.map +1 -1
  287. package/lib/Cloudflare/Workers/Worker.js +61 -7
  288. package/lib/Cloudflare/Workers/Worker.js.map +1 -1
  289. package/lib/Cloudflare/Workers/Workflow.d.ts +10 -4
  290. package/lib/Cloudflare/Workers/Workflow.d.ts.map +1 -1
  291. package/lib/Cloudflare/Workers/Workflow.js +3 -3
  292. package/lib/Cloudflare/Workers/Workflow.js.map +1 -1
  293. package/lib/Cloudflare/index.d.ts +3 -1
  294. package/lib/Cloudflare/index.d.ts.map +1 -1
  295. package/lib/Cloudflare/index.js +3 -1
  296. package/lib/Cloudflare/index.js.map +1 -1
  297. package/lib/Stack.d.ts +3 -2
  298. package/lib/Stack.d.ts.map +1 -1
  299. package/lib/Stack.js +10 -7
  300. package/lib/Stack.js.map +1 -1
  301. package/lib/State/LocalState.d.ts.map +1 -1
  302. package/lib/State/LocalState.js +40 -12
  303. package/lib/State/LocalState.js.map +1 -1
  304. package/lib/Test/Bun.d.ts.map +1 -1
  305. package/lib/Test/Bun.js +3 -2
  306. package/lib/Test/Bun.js.map +1 -1
  307. package/lib/Test/Vitest.d.ts +3 -1
  308. package/lib/Test/Vitest.d.ts.map +1 -1
  309. package/lib/Test/Vitest.js +19 -16
  310. package/lib/Test/Vitest.js.map +1 -1
  311. package/lib/Util/PlatformServices.d.ts +14 -3
  312. package/lib/Util/PlatformServices.d.ts.map +1 -1
  313. package/lib/Util/PlatformServices.js +21 -3
  314. package/lib/Util/PlatformServices.js.map +1 -1
  315. package/package.json +5 -5
  316. package/src/AWS/AuthProvider.ts +67 -67
  317. package/src/AWS/AutoScaling/LaunchTemplate.ts +3 -3
  318. package/src/AWS/Bootstrap.ts +32 -37
  319. package/src/AWS/CloudWatch/Alarm.ts +2 -2
  320. package/src/AWS/CloudWatch/AlarmMuteRule.ts +2 -2
  321. package/src/AWS/CloudWatch/CompositeAlarm.ts +2 -2
  322. package/src/AWS/CloudWatch/Dashboard.ts +2 -2
  323. package/src/AWS/CloudWatch/InsightRule.ts +2 -2
  324. package/src/AWS/CloudWatch/MetricStream.ts +2 -2
  325. package/src/AWS/Credentials.ts +9 -44
  326. package/src/AWS/DynamoDB/Table.ts +1 -1
  327. package/src/AWS/EC2/EIP.ts +3 -3
  328. package/src/AWS/EC2/EgressOnlyInternetGateway.ts +3 -3
  329. package/src/AWS/EC2/Instance.ts +3 -3
  330. package/src/AWS/EC2/InternetGateway.ts +3 -3
  331. package/src/AWS/EC2/NatGateway.ts +3 -3
  332. package/src/AWS/EC2/NetworkAcl.ts +3 -3
  333. package/src/AWS/EC2/RouteTable.ts +3 -3
  334. package/src/AWS/EC2/SecurityGroup.ts +3 -3
  335. package/src/AWS/EC2/Subnet.ts +1 -1
  336. package/src/AWS/EC2/Vpc.ts +3 -3
  337. package/src/AWS/EC2/VpcEndpoint.ts +3 -3
  338. package/src/AWS/ECR/Repository.ts +1 -1
  339. package/src/AWS/ECS/Cluster.ts +2 -2
  340. package/src/AWS/ECS/Service.ts +1 -1
  341. package/src/AWS/ECS/Task.ts +2 -2
  342. package/src/AWS/EKS/Cluster.ts +1 -1
  343. package/src/AWS/ELBv2/Listener.ts +1 -1
  344. package/src/AWS/ELBv2/LoadBalancer.ts +1 -1
  345. package/src/AWS/ELBv2/TargetGroup.ts +1 -1
  346. package/src/AWS/Endpoint.ts +12 -8
  347. package/src/AWS/Environment.ts +123 -0
  348. package/src/AWS/EventBridge/EventBus.ts +2 -2
  349. package/src/AWS/EventBridge/ListRules.ts +2 -2
  350. package/src/AWS/EventBridge/PutEvents.ts +2 -2
  351. package/src/AWS/EventBridge/Rule.ts +2 -2
  352. package/src/AWS/IAM/OpenIDConnectProvider.ts +2 -2
  353. package/src/AWS/IAM/Policy.ts +3 -3
  354. package/src/AWS/IAM/Role.ts +4 -4
  355. package/src/AWS/Kinesis/Stream.ts +2 -2
  356. package/src/AWS/Lambda/EventSourceMapping.ts +2 -2
  357. package/src/AWS/Lambda/Function.ts +2 -2
  358. package/src/AWS/Lambda/Permission.ts +1 -1
  359. package/src/AWS/Logs/LogGroup.ts +3 -3
  360. package/src/AWS/Providers.ts +7 -7
  361. package/src/AWS/Region.ts +9 -66
  362. package/src/AWS/S3/Bucket.ts +2 -2
  363. package/src/AWS/SNS/Topic.ts +1 -1
  364. package/src/AWS/SQS/Queue.ts +3 -3
  365. package/src/AWS/index.ts +1 -3
  366. package/src/Apply.ts +55 -57
  367. package/src/Auth/AuthProvider.ts +188 -8
  368. package/src/Auth/Profile.ts +117 -54
  369. package/src/Auth/index.ts +1 -1
  370. package/src/Cloudflare/Auth/AuthProvider.ts +127 -98
  371. package/src/Cloudflare/CloudflareEnvironment.ts +49 -0
  372. package/src/Cloudflare/Container/ContainerApplication.ts +172 -94
  373. package/src/Cloudflare/Credentials.ts +75 -0
  374. package/src/Cloudflare/D1/D1Database.ts +2 -2
  375. package/src/Cloudflare/KV/KVNamespace.ts +2 -2
  376. package/src/Cloudflare/Providers.ts +20 -10
  377. package/src/Cloudflare/Queue/Queue.ts +174 -0
  378. package/src/Cloudflare/Queue/QueueBinding.ts +110 -0
  379. package/src/Cloudflare/Queue/QueueConsumer.ts +219 -0
  380. package/src/Cloudflare/Queue/index.ts +3 -0
  381. package/src/Cloudflare/R2/R2Bucket.ts +2 -2
  382. package/src/Cloudflare/SecretsStore/Secret.ts +229 -0
  383. package/src/Cloudflare/SecretsStore/SecretBinding.ts +107 -0
  384. package/src/Cloudflare/SecretsStore/SecretsStore.ts +106 -0
  385. package/src/Cloudflare/SecretsStore/index.ts +3 -0
  386. package/src/Cloudflare/Workers/InferEnv.ts +5 -3
  387. package/src/Cloudflare/Workers/Worker.ts +63 -7
  388. package/src/Cloudflare/Workers/Workflow.ts +19 -9
  389. package/src/Cloudflare/index.ts +3 -1
  390. package/src/Stack.ts +40 -29
  391. package/src/State/LocalState.ts +43 -16
  392. package/src/Test/Bun.ts +3 -0
  393. package/src/Test/Vitest.ts +31 -23
  394. package/src/Util/PlatformServices.ts +54 -13
  395. package/bin/process-manager.ts +0 -10
  396. package/lib/AWS/Account.d.ts +0 -26
  397. package/lib/AWS/Account.d.ts.map +0 -1
  398. package/lib/AWS/Account.js +0 -32
  399. package/lib/AWS/Account.js.map +0 -1
  400. package/lib/AWS/Profile.d.ts +0 -6
  401. package/lib/AWS/Profile.d.ts.map +0 -1
  402. package/lib/AWS/Profile.js +0 -4
  403. package/lib/AWS/Profile.js.map +0 -1
  404. package/lib/AWS/StageConfig.d.ts +0 -25
  405. package/lib/AWS/StageConfig.d.ts.map +0 -1
  406. package/lib/AWS/StageConfig.js +0 -23
  407. package/lib/AWS/StageConfig.js.map +0 -1
  408. package/lib/Cloudflare/Account.d.ts +0 -10
  409. package/lib/Cloudflare/Account.d.ts.map +0 -1
  410. package/lib/Cloudflare/Account.js +0 -24
  411. package/lib/Cloudflare/Account.js.map +0 -1
  412. package/lib/Cloudflare/StageConfig.d.ts +0 -8
  413. package/lib/Cloudflare/StageConfig.d.ts.map +0 -1
  414. package/lib/Cloudflare/StageConfig.js +0 -4
  415. package/lib/Cloudflare/StageConfig.js.map +0 -1
  416. package/src/AWS/Account.ts +0 -56
  417. package/src/AWS/Profile.ts +0 -5
  418. package/src/AWS/StageConfig.ts +0 -44
  419. package/src/Cloudflare/Account.ts +0 -38
  420. package/src/Cloudflare/StageConfig.ts +0 -8
@@ -0,0 +1,74 @@
1
+ import * as Effect from "effect/Effect";
2
+ import * as Redacted from "effect/Redacted";
3
+ import * as Provider from "../../Provider.ts";
4
+ import { Resource } from "../../Resource.ts";
5
+ import type { Providers } from "../Providers.ts";
6
+ import { SecretBinding } from "./SecretBinding.ts";
7
+ export type StoreSecretProps = {
8
+ /**
9
+ * The Secrets Store that owns this secret.
10
+ */
11
+ store: {
12
+ storeId: string;
13
+ accountId: string;
14
+ };
15
+ /**
16
+ * The name of the secret within the store.
17
+ * If omitted, the resource's logical ID is used.
18
+ */
19
+ name?: string;
20
+ /**
21
+ * The secret value. Treated as redacted and never logged.
22
+ */
23
+ value: Redacted.Redacted<string>;
24
+ /**
25
+ * Services allowed to reference this secret.
26
+ * @default ["workers"]
27
+ */
28
+ scopes?: string[];
29
+ /**
30
+ * Optional free-form description.
31
+ */
32
+ comment?: string;
33
+ };
34
+ export type Secret = Resource<"Cloudflare.SecretsStore.Secret", StoreSecretProps, {
35
+ secretId: string;
36
+ secretName: string;
37
+ storeId: string;
38
+ accountId: string;
39
+ status: "pending" | "active" | "deleted";
40
+ scopes: string[];
41
+ comment: string | undefined;
42
+ }, never, Providers>;
43
+ /**
44
+ * A single secret stored inside a Cloudflare Secrets Store.
45
+ *
46
+ * The secret value is treated as redacted and is only ever sent to
47
+ * Cloudflare at create time. Updating `scopes` or `comment` issues a
48
+ * PATCH; changing `value` or `name` replaces the secret.
49
+ *
50
+ * @section Creating a Secret
51
+ * @example Basic Secret
52
+ * ```typescript
53
+ * const store = yield* Cloudflare.SecretsStore("MyStore");
54
+ * const apiKey = yield* Cloudflare.StoreSecret("ApiKey", {
55
+ * store,
56
+ * value: Redacted.make(process.env.API_KEY!),
57
+ * });
58
+ * ```
59
+ *
60
+ * @section Binding to a Worker
61
+ * @example Reading a secret at runtime
62
+ * ```typescript
63
+ * const apiKey = yield* Cloudflare.StoreSecret.bind(ApiKey);
64
+ * // `apiKey` is itself an Effect that resolves to the secret value:
65
+ * const value = yield* apiKey;
66
+ * // Or call `.get()` explicitly:
67
+ * const value = yield* apiKey.get();
68
+ * ```
69
+ */
70
+ export declare const Secret: import("../../Resource.ts").ResourceClassWithMethods<Secret, {
71
+ readonly bind: (<Req = never>(args_0: Secret | Effect.Effect<Secret, never, Req>) => Effect.Effect<import("./SecretBinding.ts").SecretClient, never, SecretBinding | Req>) & ((secret: Secret) => Effect.Effect<any, any, any>);
72
+ }>;
73
+ export declare const StoreSecretProvider: () => import("effect/Layer").Layer<Provider.Provider<Secret>, never, import("effect/unstable/http/HttpClient").HttpClient | import("@distilled.cloud/cloudflare").Credentials>;
74
+ //# sourceMappingURL=Secret.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Secret.d.ts","sourceRoot":"","sources":["../../../src/Cloudflare/SecretsStore/Secret.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAG5C,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;OAEG;IACH,KAAK,EAAE;QACL,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjC;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG,QAAQ,CAC3B,gCAAgC,EAChC,gBAAgB,EAChB;IACE,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;IACzC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B,EACD,KAAK,EACL,SAAS,CACV,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,MAAM;;EAEjB,CAAC;AAQH,eAAO,MAAM,mBAAmB,gLAyI7B,CAAC"}
@@ -0,0 +1,161 @@
1
+ import * as secretsStore from "@distilled.cloud/cloudflare/secrets-store";
2
+ import * as Effect from "effect/Effect";
3
+ import * as Option from "effect/Option";
4
+ import * as Redacted from "effect/Redacted";
5
+ import * as Stream from "effect/Stream";
6
+ import { isResolved } from "../../Diff.js";
7
+ import * as Provider from "../../Provider.js";
8
+ import { Resource } from "../../Resource.js";
9
+ import { SecretBinding } from "./SecretBinding.js";
10
+ /**
11
+ * A single secret stored inside a Cloudflare Secrets Store.
12
+ *
13
+ * The secret value is treated as redacted and is only ever sent to
14
+ * Cloudflare at create time. Updating `scopes` or `comment` issues a
15
+ * PATCH; changing `value` or `name` replaces the secret.
16
+ *
17
+ * @section Creating a Secret
18
+ * @example Basic Secret
19
+ * ```typescript
20
+ * const store = yield* Cloudflare.SecretsStore("MyStore");
21
+ * const apiKey = yield* Cloudflare.StoreSecret("ApiKey", {
22
+ * store,
23
+ * value: Redacted.make(process.env.API_KEY!),
24
+ * });
25
+ * ```
26
+ *
27
+ * @section Binding to a Worker
28
+ * @example Reading a secret at runtime
29
+ * ```typescript
30
+ * const apiKey = yield* Cloudflare.StoreSecret.bind(ApiKey);
31
+ * // `apiKey` is itself an Effect that resolves to the secret value:
32
+ * const value = yield* apiKey;
33
+ * // Or call `.get()` explicitly:
34
+ * const value = yield* apiKey.get();
35
+ * ```
36
+ */
37
+ export const Secret = Resource("Cloudflare.SecretsStore.Secret")({
38
+ bind: SecretBinding.bind,
39
+ });
40
+ const resolveScopes = (scopes) => scopes && scopes.length > 0 ? scopes : ["workers"];
41
+ const resolveName = (id, name) => name ?? id;
42
+ export const StoreSecretProvider = () => Provider.effect(Secret, Effect.gen(function* () {
43
+ const createStoreSecret = yield* secretsStore.createStoreSecret;
44
+ const patchStoreSecret = yield* secretsStore.patchStoreSecret;
45
+ const deleteStoreSecret = yield* secretsStore.deleteStoreSecret;
46
+ const getStoreSecret = yield* secretsStore.getStoreSecret;
47
+ const listStoreSecrets = secretsStore.listStoreSecrets;
48
+ const arraysEqual = (a, b) => a.length === b.length && a.every((v, i) => v === b[i]);
49
+ return {
50
+ stables: ["secretId", "secretName", "storeId", "accountId"],
51
+ diff: Effect.fn(function* ({ id, olds = {}, news, output }) {
52
+ if (!isResolved(news))
53
+ return undefined;
54
+ const oldStoreId = output?.storeId ?? olds.store?.storeId;
55
+ const newStoreId = news.store.storeId;
56
+ const oldName = output?.secretName ?? resolveName(id, olds.name);
57
+ const newName = resolveName(id, news.name);
58
+ if (oldStoreId !== newStoreId || oldName !== newName) {
59
+ return { action: "replace" };
60
+ }
61
+ const oldValue = olds.value ? Redacted.value(olds.value) : undefined;
62
+ const newValue = Redacted.value(news.value);
63
+ if (oldValue !== newValue) {
64
+ return { action: "replace" };
65
+ }
66
+ }),
67
+ create: Effect.fn(function* ({ id, news }) {
68
+ const name = resolveName(id, news.name);
69
+ const scopes = resolveScopes(news.scopes);
70
+ const response = yield* createStoreSecret({
71
+ accountId: news.store.accountId,
72
+ storeId: news.store.storeId,
73
+ body: [
74
+ {
75
+ name,
76
+ scopes,
77
+ value: Redacted.value(news.value),
78
+ comment: news.comment,
79
+ },
80
+ ],
81
+ });
82
+ const secret = response.result[0];
83
+ return {
84
+ secretId: secret.id,
85
+ secretName: secret.name,
86
+ storeId: secret.storeId,
87
+ accountId: news.store.accountId,
88
+ status: secret.status,
89
+ scopes,
90
+ comment: secret.comment ?? undefined,
91
+ };
92
+ }),
93
+ update: Effect.fn(function* ({ news, olds = {}, output }) {
94
+ const newScopes = resolveScopes(news.scopes);
95
+ const oldScopes = resolveScopes(olds.scopes);
96
+ const scopesChanged = !arraysEqual(newScopes, oldScopes);
97
+ const commentChanged = (olds.comment ?? undefined) !== news.comment;
98
+ if (!scopesChanged && !commentChanged) {
99
+ return output;
100
+ }
101
+ const patched = yield* patchStoreSecret({
102
+ accountId: output.accountId,
103
+ storeId: output.storeId,
104
+ secretId: output.secretId,
105
+ scopes: scopesChanged ? newScopes : undefined,
106
+ comment: commentChanged ? news.comment : undefined,
107
+ });
108
+ return {
109
+ ...output,
110
+ status: patched.status,
111
+ scopes: newScopes,
112
+ comment: patched.comment ?? undefined,
113
+ };
114
+ }),
115
+ delete: Effect.fn(function* ({ output }) {
116
+ yield* deleteStoreSecret({
117
+ accountId: output.accountId,
118
+ storeId: output.storeId,
119
+ secretId: output.secretId,
120
+ }).pipe(Effect.catchTag("SecretNotFound", () => Effect.void), Effect.catchTag("StoreNotFound", () => Effect.void), Effect.catchTag("NotFound", () => Effect.void));
121
+ }),
122
+ read: Effect.fn(function* ({ id, olds, output }) {
123
+ if (output?.secretId) {
124
+ return yield* getStoreSecret({
125
+ accountId: output.accountId,
126
+ storeId: output.storeId,
127
+ secretId: output.secretId,
128
+ }).pipe(Effect.map((secret) => ({
129
+ secretId: secret.id,
130
+ secretName: secret.name,
131
+ storeId: secret.storeId,
132
+ accountId: output.accountId,
133
+ status: secret.status,
134
+ scopes: output.scopes,
135
+ comment: secret.comment ?? undefined,
136
+ })), Effect.catchTag("SecretNotFound", () => Effect.succeed(undefined)), Effect.catchTag("StoreNotFound", () => Effect.succeed(undefined)));
137
+ }
138
+ if (!olds?.store)
139
+ return undefined;
140
+ const name = resolveName(id, olds.name);
141
+ const match = yield* listStoreSecrets
142
+ .items({
143
+ accountId: olds.store.accountId,
144
+ storeId: olds.store.storeId,
145
+ })
146
+ .pipe(Stream.filter((s) => s.name === name), Stream.runHead, Effect.catchTag("StoreNotFound", () => Effect.succeedNone), Effect.map(Option.getOrUndefined));
147
+ if (!match)
148
+ return undefined;
149
+ return {
150
+ secretId: match.id,
151
+ secretName: match.name,
152
+ storeId: match.storeId,
153
+ accountId: olds.store.accountId,
154
+ status: match.status,
155
+ scopes: resolveScopes(olds.scopes),
156
+ comment: match.comment ?? undefined,
157
+ };
158
+ }),
159
+ };
160
+ }));
161
+ //# sourceMappingURL=Secret.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Secret.js","sourceRoot":"","sources":["../../../src/Cloudflare/SecretsStore/Secret.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import type * as runtime from "@cloudflare/workers-types";
2
+ import * as Effect from "effect/Effect";
3
+ import * as Layer from "effect/Layer";
4
+ import * as Binding from "../../Binding.ts";
5
+ import { WorkerEnvironment } from "../Workers/Worker.ts";
6
+ import type { Secret } from "./Secret.ts";
7
+ declare const SecretError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
8
+ readonly _tag: "SecretError";
9
+ } & Readonly<A>;
10
+ export declare class SecretError extends SecretError_base<{
11
+ message: string;
12
+ cause: Error;
13
+ }> {
14
+ }
15
+ /**
16
+ * A bound secret. The client itself is an `Effect` that resolves to the
17
+ * secret's current value, so you can `yield* apiKey` directly. Use `.get()`
18
+ * for the same thing as a callable, or `.raw` for the underlying
19
+ * `SecretsStoreSecret` binding.
20
+ */
21
+ export interface SecretClient extends Effect.Effect<string, SecretError, WorkerEnvironment> {
22
+ /**
23
+ * Effect that resolves to the raw Cloudflare `SecretsStoreSecret` binding.
24
+ */
25
+ raw: Effect.Effect<runtime.SecretsStoreSecret, never, WorkerEnvironment>;
26
+ /**
27
+ * Read the current value of the secret.
28
+ */
29
+ get(): Effect.Effect<string, SecretError, WorkerEnvironment>;
30
+ }
31
+ declare const SecretBinding_base: Binding.Service<SecretBinding, "Cloudflare.SecretsStore.Secret", (secret: Secret) => Effect.Effect<SecretClient>> & {
32
+ bind: (secret: Secret) => Effect.Effect<any, any, any>;
33
+ };
34
+ export declare class SecretBinding extends SecretBinding_base {
35
+ }
36
+ export declare const SecretBindingLive: Layer.Layer<SecretBinding, never, import("../../ExecutionContext.ts").ExecutionContext<import("../../ExecutionContext.ts").BaseExecutionContext> | SecretBindingPolicy>;
37
+ declare const SecretBindingPolicy_base: Binding.Policy<SecretBindingPolicy, "Policy<Cloudflare.SecretsStore.Secret>", (secret: Secret) => Effect.Effect<void>>;
38
+ export declare class SecretBindingPolicy extends SecretBindingPolicy_base {
39
+ }
40
+ export declare const SecretBindingPolicyLive: Layer.Layer<SecretBindingPolicy, never, never>;
41
+ export {};
42
+ //# sourceMappingURL=SecretBinding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SecretBinding.d.ts","sourceRoot":"","sources":["../../../src/Cloudflare/SecretsStore/SecretBinding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,OAAO,MAAM,2BAA2B,CAAC;AAE1D,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAY,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;;;;AAE1C,qBAAa,WAAY,SAAQ,iBAAgC;IAC/D,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;CAAG;AAEL;;;;;GAKG;AACH,MAAM,WAAW,YAAa,SAAQ,MAAM,CAAC,MAAM,CACjD,MAAM,EACN,WAAW,EACX,iBAAiB,CAClB;IACC;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC;IACzE;;OAEG;IACH,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;CAC9D;4GAIU,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC;;;AAFjD,qBAAa,aAAc,SAAQ,kBAGE;CAAG;AAExC,eAAO,MAAM,iBAAiB,yKAwC7B,CAAC;+HAIS,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;AAFzC,qBAAa,mBAAoB,SAAQ,wBAGJ;CAAG;AAExC,eAAO,MAAM,uBAAuB,gDAmBnC,CAAC"}
@@ -0,0 +1,49 @@
1
+ import * as Data from "effect/Data";
2
+ import * as Effect from "effect/Effect";
3
+ import * as Layer from "effect/Layer";
4
+ import * as Binding from "../../Binding.js";
5
+ import { isWorker, WorkerEnvironment } from "../Workers/Worker.js";
6
+ export class SecretError extends Data.TaggedError("SecretError") {
7
+ }
8
+ export class SecretBinding extends Binding.Service()("Cloudflare.SecretsStore.Secret") {
9
+ }
10
+ export const SecretBindingLive = Layer.effect(SecretBinding, Effect.gen(function* () {
11
+ const bind = yield* SecretBindingPolicy;
12
+ return Effect.fn(function* (secret) {
13
+ yield* bind(secret);
14
+ const env = WorkerEnvironment.asEffect();
15
+ const raw = env.pipe(Effect.map((env) => env[secret.LogicalId]));
16
+ const tryPromise = (fn) => Effect.tryPromise({
17
+ try: fn,
18
+ catch: (error) => new SecretError({
19
+ message: error.message ?? "Unknown error",
20
+ cause: error,
21
+ }),
22
+ });
23
+ const getEffect = raw.pipe(Effect.flatMap((raw) => tryPromise(() => raw.get())));
24
+ return Object.assign(Effect.suspend(() => getEffect), {
25
+ raw,
26
+ get: () => getEffect,
27
+ });
28
+ });
29
+ }));
30
+ export class SecretBindingPolicy extends Binding.Policy()("Cloudflare.SecretsStore.Secret") {
31
+ }
32
+ export const SecretBindingPolicyLive = SecretBindingPolicy.layer.succeed(Effect.fn(function* (host, secret) {
33
+ if (isWorker(host)) {
34
+ yield* host.bind `${secret}`({
35
+ bindings: [
36
+ {
37
+ type: "secrets_store_secret",
38
+ name: secret.LogicalId,
39
+ secretName: secret.secretName,
40
+ storeId: secret.storeId,
41
+ },
42
+ ],
43
+ });
44
+ }
45
+ else {
46
+ return yield* Effect.die(new Error(`SecretBinding does not support runtime '${host.Type}'`));
47
+ }
48
+ }));
49
+ //# sourceMappingURL=SecretBinding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SecretBinding.js","sourceRoot":"","sources":["../../../src/Cloudflare/SecretsStore/SecretBinding.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AACpC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGnE,MAAM,OAAO,WAAY,SAAQ,IAAI,CAAC,WAAW,CAAC,aAAa,CAG7D;CAAG;AAuBL,MAAM,OAAO,aAAc,SAAQ,OAAO,CAAC,OAAO,EAG/C,CAAC,gCAAgC,CAAC;CAAG;AAExC,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAC,MAAM,CAC3C,aAAa,EACb,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,mBAAmB,CAAC;IAExC,OAAO,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAc;QACxC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpB,MAAM,GAAG,GAAG,iBAAiB,CAAC,QAAQ,EAAE,CAAC;QACzC,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAClB,MAAM,CAAC,GAAG,CACR,CAAC,GAAG,EAAE,EAAE,CACL,GAAkD,CACjD,MAAM,CAAC,SAAS,CACjB,CACJ,CACF,CAAC;QACF,MAAM,UAAU,GAAG,CACjB,EAAoB,EACW,EAAE,CACjC,MAAM,CAAC,UAAU,CAAC;YAChB,GAAG,EAAE,EAAE;YACP,KAAK,EAAE,CAAC,KAAU,EAAE,EAAE,CACpB,IAAI,WAAW,CAAC;gBACd,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,eAAe;gBACzC,KAAK,EAAE,KAAK;aACb,CAAC;SACL,CAAC,CAAC;QAEL,MAAM,SAAS,GACb,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;QAEjE,OAAO,MAAM,CAAC,MAAM,CAClB,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,EAC/B;YACE,GAAG;YACH,GAAG,EAAE,GAAG,EAAE,CAAC,SAAS;SACrB,CACc,CAAC;IACpB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CACH,CAAC;AAEF,MAAM,OAAO,mBAAoB,SAAQ,OAAO,CAAC,MAAM,EAGpD,CAAC,gCAAgC,CAAC;CAAG;AAExC,MAAM,CAAC,MAAM,uBAAuB,GAAG,mBAAmB,CAAC,KAAK,CAAC,OAAO,CACtE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAkB,EAAE,MAAc;IACrD,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACnB,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAA,GAAG,MAAM,EAAE,CAAC;YAC1B,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,sBAAsB;oBAC5B,IAAI,EAAE,MAAM,CAAC,SAAS;oBACtB,UAAU,EAAE,MAAM,CAAC,UAAU;oBAC7B,OAAO,EAAE,MAAM,CAAC,OAAO;iBACxB;aACF;SACF,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CACtB,IAAI,KAAK,CAAC,2CAA2C,IAAI,CAAC,IAAI,GAAG,CAAC,CACnE,CAAC;IACJ,CAAC;AACH,CAAC,CAAC,CACH,CAAC"}
@@ -0,0 +1,37 @@
1
+ import * as Provider from "../../Provider.ts";
2
+ import { Resource } from "../../Resource.ts";
3
+ import { CloudflareEnvironment } from "../CloudflareEnvironment.ts";
4
+ import type { Providers } from "../Providers.ts";
5
+ export type SecretsStore = Resource<"Cloudflare.SecretsStore", {}, {
6
+ storeId: string;
7
+ storeName: string;
8
+ accountId: string;
9
+ }, never, Providers>;
10
+ /**
11
+ * A Cloudflare Secrets Store, a per-account container for secrets that
12
+ * can be bound into Workers with full redaction and audit support.
13
+ *
14
+ * Cloudflare enforces a limit of **one Secrets Store per account**.
15
+ * Deleting a store changes its ID and permanently destroys all secrets
16
+ * inside it. Because of this, the provider always **adopts** an existing
17
+ * store rather than creating a new one, and **never deletes** the store
18
+ * on teardown. If no store exists yet, one is created, but once it
19
+ * exists it is treated as account-level infrastructure that outlives
20
+ * any single stack.
21
+ *
22
+ * @section Creating a Store
23
+ * @example Basic Secrets Store (adopts existing or creates one)
24
+ * ```typescript
25
+ * const store = yield* Cloudflare.SecretsStore("MyStore");
26
+ * ```
27
+ *
28
+ * @example Adopt a specific named store
29
+ * ```typescript
30
+ * const store = yield* Cloudflare.SecretsStore("MyStore", {
31
+ * name: "production-secrets",
32
+ * });
33
+ * ```
34
+ */
35
+ export declare const SecretsStore: import("../../Resource.ts").ResourceClass<SecretsStore>;
36
+ export declare const SecretsStoreProvider: () => import("effect/Layer").Layer<Provider.Provider<SecretsStore>, never, import("effect/unstable/http/HttpClient").HttpClient | import("@distilled.cloud/cloudflare").Credentials | CloudflareEnvironment>;
37
+ //# sourceMappingURL=SecretsStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SecretsStore.d.ts","sourceRoot":"","sources":["../../../src/Cloudflare/SecretsStore/SecretsStore.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,MAAM,MAAM,YAAY,GAAG,QAAQ,CACjC,yBAAyB,EACzB,EAAE,EACF;IACE,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,EACD,KAAK,EACL,SAAS,CACV,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,YAAY,yDAAoD,CAAC;AAE9E,eAAO,MAAM,oBAAoB,8MA2D9B,CAAC"}
@@ -0,0 +1,88 @@
1
+ import * as secretsStore from "@distilled.cloud/cloudflare/secrets-store";
2
+ import * as Effect from "effect/Effect";
3
+ import * as Provider from "../../Provider.js";
4
+ import { Resource } from "../../Resource.js";
5
+ import { CloudflareEnvironment } from "../CloudflareEnvironment.js";
6
+ /**
7
+ * A Cloudflare Secrets Store, a per-account container for secrets that
8
+ * can be bound into Workers with full redaction and audit support.
9
+ *
10
+ * Cloudflare enforces a limit of **one Secrets Store per account**.
11
+ * Deleting a store changes its ID and permanently destroys all secrets
12
+ * inside it. Because of this, the provider always **adopts** an existing
13
+ * store rather than creating a new one, and **never deletes** the store
14
+ * on teardown. If no store exists yet, one is created, but once it
15
+ * exists it is treated as account-level infrastructure that outlives
16
+ * any single stack.
17
+ *
18
+ * @section Creating a Store
19
+ * @example Basic Secrets Store (adopts existing or creates one)
20
+ * ```typescript
21
+ * const store = yield* Cloudflare.SecretsStore("MyStore");
22
+ * ```
23
+ *
24
+ * @example Adopt a specific named store
25
+ * ```typescript
26
+ * const store = yield* Cloudflare.SecretsStore("MyStore", {
27
+ * name: "production-secrets",
28
+ * });
29
+ * ```
30
+ */
31
+ export const SecretsStore = Resource("Cloudflare.SecretsStore");
32
+ export const SecretsStoreProvider = () => Provider.effect(SecretsStore, Effect.gen(function* () {
33
+ const { accountId } = yield* CloudflareEnvironment;
34
+ const createStore = yield* secretsStore.createStore;
35
+ const listStores = yield* secretsStore.listStores;
36
+ return {
37
+ stables: ["storeId", "storeName", "accountId"],
38
+ create: Effect.fn(function* () {
39
+ const stores = yield* listStores({ accountId });
40
+ if (stores.result.length > 0) {
41
+ // No name specified — adopt the first (and likely only) store.
42
+ const first = stores.result[0];
43
+ return {
44
+ storeId: first.id,
45
+ storeName: first.name,
46
+ accountId,
47
+ };
48
+ }
49
+ // No store exists yet — create one.
50
+ const response = yield* createStore({
51
+ accountId,
52
+ //`default_secrets_store` is the name cloudflare uses to create a secret store
53
+ body: [{ name: "default_secrets_store" }],
54
+ });
55
+ const store = response.result[0];
56
+ return {
57
+ storeId: store.id,
58
+ storeName: store.name,
59
+ accountId,
60
+ };
61
+ }),
62
+ update: Effect.fn(function* ({ output }) {
63
+ return output;
64
+ }),
65
+ delete: Effect.fn(function* () {
66
+ // Intentional no-op. Cloudflare only allows one Secrets Store per
67
+ // account and deleting it permanently destroys all secrets inside.
68
+ // The store is treated as shared, account-level infrastructure that
69
+ // should never be torn down by a single stack.
70
+ }),
71
+ read: Effect.fn(function* ({ output }) {
72
+ if (!output?.storeId)
73
+ return undefined;
74
+ const stores = yield* listStores({
75
+ accountId: output.accountId,
76
+ });
77
+ const match = stores.result.find((s) => s.id === output.storeId);
78
+ if (!match)
79
+ return undefined;
80
+ return {
81
+ storeId: match.id,
82
+ storeName: match.name,
83
+ accountId: output.accountId,
84
+ };
85
+ }),
86
+ };
87
+ }));
88
+ //# sourceMappingURL=SecretsStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SecretsStore.js","sourceRoot":"","sources":["../../../src/Cloudflare/SecretsStore/SecretsStore.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export * from "./Secret.ts";
2
+ export * from "./SecretBinding.ts";
3
+ export * from "./SecretsStore.ts";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Cloudflare/SecretsStore/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from "./Secret.js";
2
+ export * from "./SecretBinding.js";
3
+ export * from "./SecretsStore.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Cloudflare/SecretsStore/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC"}
@@ -5,6 +5,6 @@ import type { Worker } from "./Worker.ts";
5
5
  export type InferEnv<W> = W extends Worker<infer Bindings> | Effect.Effect<Worker<infer Bindings>, any, any> ? {
6
6
  [K in keyof Bindings]: GetBindingType<UnwrapEffect<Bindings[K]>>;
7
7
  } : never;
8
- type GetBindingType<T> = T extends Cloudflare.Assets ? Service : T extends Cloudflare.D1Database ? D1Database : T extends Cloudflare.R2Bucket ? R2Bucket : T extends Cloudflare.KVNamespace ? KVNamespace : T extends Cloudflare.DurableObjectNamespaceLike ? DurableObjectNamespace<Exclude<T["Shape"], undefined>> : never;
8
+ type GetBindingType<T> = T extends Cloudflare.Assets ? Service : T extends Cloudflare.D1Database ? D1Database : T extends Cloudflare.R2Bucket ? R2Bucket : T extends Cloudflare.KVNamespace ? KVNamespace : T extends Cloudflare.Queue ? Queue<unknown> : T extends Cloudflare.DurableObjectNamespaceLike ? DurableObjectNamespace<Exclude<T["Shape"], undefined>> : never;
9
9
  export {};
10
10
  //# sourceMappingURL=InferEnv.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"InferEnv.d.ts","sourceRoot":"","sources":["../../../src/Cloudflare/Workers/InferEnv.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,KAAK,UAAU,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,SACvB,MAAM,CAAC,MAAM,QAAQ,CAAC,GACtB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,QAAQ,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAC/C;KACG,CAAC,IAAI,MAAM,QAAQ,GAAG,cAAc,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;CACjE,GACD,KAAK,CAAC;AAEV,KAAK,cAAc,CAAC,CAAC,IAAI,CAAC,SAAS,UAAU,CAAC,MAAM,GAChD,OAAO,GACP,CAAC,SAAS,UAAU,CAAC,UAAU,GAC7B,UAAU,GACV,CAAC,SAAS,UAAU,CAAC,QAAQ,GAC3B,QAAQ,GACR,CAAC,SAAS,UAAU,CAAC,WAAW,GAC9B,WAAW,GACX,CAAC,SAAS,UAAU,CAAC,0BAA0B,GAC7C,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC,GACtD,KAAK,CAAC"}
1
+ {"version":3,"file":"InferEnv.d.ts","sourceRoot":"","sources":["../../../src/Cloudflare/Workers/InferEnv.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,KAAK,UAAU,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,SACvB,MAAM,CAAC,MAAM,QAAQ,CAAC,GACtB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,QAAQ,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAC/C;KACG,CAAC,IAAI,MAAM,QAAQ,GAAG,cAAc,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;CACjE,GACD,KAAK,CAAC;AAEV,KAAK,cAAc,CAAC,CAAC,IAAI,CAAC,SAAS,UAAU,CAAC,MAAM,GAChD,OAAO,GACP,CAAC,SAAS,UAAU,CAAC,UAAU,GAC7B,UAAU,GACV,CAAC,SAAS,UAAU,CAAC,QAAQ,GAC3B,QAAQ,GACR,CAAC,SAAS,UAAU,CAAC,WAAW,GAC9B,WAAW,GACX,CAAC,SAAS,UAAU,CAAC,KAAK,GACxB,KAAK,CAAC,OAAO,CAAC,GACd,CAAC,SAAS,UAAU,CAAC,0BAA0B,GAC7C,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC,GACtD,KAAK,CAAC"}
@@ -15,10 +15,12 @@ import * as Provider from "../../Provider.ts";
15
15
  import { Resource } from "../../Resource.ts";
16
16
  import * as Serverless from "../../Serverless/index.ts";
17
17
  import { Stack } from "../../Stack.ts";
18
- import { Account } from "../Account.ts";
18
+ import { CloudflareEnvironment } from "../CloudflareEnvironment.ts";
19
19
  import { D1Database } from "../D1/D1Database.ts";
20
20
  import type { Providers } from "../Providers.ts";
21
21
  import type { R2Bucket } from "../R2/R2Bucket.ts";
22
+ import type { KVNamespace } from "../KV/KVNamespace.ts";
23
+ import type { Queue as CloudflareQueue } from "../Queue/Queue.ts";
22
24
  import { type Assets, type AssetsConfig, type AssetsProps } from "./Assets.ts";
23
25
  import { type DurableObjectNamespaceLike } from "./DurableObjectNamespace.ts";
24
26
  import { Request } from "./Request.ts";
@@ -74,7 +76,7 @@ export interface WorkerExecutionContext extends Serverless.FunctionContext {
74
76
  }
75
77
  export type WorkerServices = Worker | WorkerEnvironment | Request;
76
78
  export type WorkerShape = Main<WorkerServices>;
77
- export type WorkerBindingResource = Assets | R2Bucket | D1Database | DurableObjectNamespaceLike<any>;
79
+ export type WorkerBindingResource = Assets | R2Bucket | D1Database | KVNamespace | CloudflareQueue | DurableObjectNamespaceLike<any>;
78
80
  export type WorkerBindings = {
79
81
  [bindingName in string]: WorkerBindingResource;
80
82
  };
@@ -608,6 +610,6 @@ declare const BindWorkerPolicy_base: Binding.Policy<BindWorkerPolicy, "Policy<Cl
608
610
  export declare class BindWorkerPolicy extends BindWorkerPolicy_base {
609
611
  }
610
612
  export declare const BindWorkerPolicyLive: Layer.Layer<BindWorkerPolicy, never, never>;
611
- export declare const WorkerProvider: () => Layer.Layer<Provider.Provider<Worker<any>>, never, FileSystem.FileSystem | Path.Path | import("effect/unstable/http/HttpClient").HttpClient | import("../../Stage.ts").Stage | Stack | Account | import("@distilled.cloud/cloudflare").Credentials>;
613
+ export declare const WorkerProvider: () => Layer.Layer<Provider.Provider<Worker<any>>, never, FileSystem.FileSystem | Path.Path | import("effect/unstable/http/HttpClient").HttpClient | import("../../Stage.ts").Stage | Stack | import("@distilled.cloud/cloudflare").Credentials | CloudflareEnvironment>;
612
614
  export {};
613
615
  //# sourceMappingURL=Worker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Worker.d.ts","sourceRoot":"","sources":["../../../src/Cloudflare/Workers/Worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Worker.d.ts","sourceRoot":"","sources":["../../../src/Cloudflare/Workers/Worker.ts"],"names":[],"mappings":"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"}