alchemy 2.0.0-beta.76 → 2.0.0-beta.77

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 (1418) hide show
  1. package/README.md +1 -1
  2. package/THIRD_PARTY_LICENSES.md +11 -11
  3. package/bin/cli.js +88 -11
  4. package/bin/exec.js +11828 -5720
  5. package/bin/exec.js.map +1 -1
  6. package/bin/register-oxc.js +27 -0
  7. package/lib/AWS/AMP/Scraper.js +1 -1
  8. package/lib/AWS/AMP/Scraper.js.map +1 -1
  9. package/lib/AWS/AppRunner/Service.d.ts +11 -27
  10. package/lib/AWS/AppRunner/Service.d.ts.map +1 -1
  11. package/lib/AWS/AppRunner/Service.js +7 -21
  12. package/lib/AWS/AppRunner/Service.js.map +1 -1
  13. package/lib/AWS/Assets.d.ts +1 -1
  14. package/lib/AWS/Assets.js +2 -2
  15. package/lib/AWS/Assets.js.map +1 -1
  16. package/lib/AWS/AuthProvider.d.ts +40 -53
  17. package/lib/AWS/AuthProvider.d.ts.map +1 -1
  18. package/lib/AWS/AuthProvider.js +480 -215
  19. package/lib/AWS/AuthProvider.js.map +1 -1
  20. package/lib/AWS/Batch/JobDefinition.d.ts +11 -27
  21. package/lib/AWS/Batch/JobDefinition.d.ts.map +1 -1
  22. package/lib/AWS/Batch/JobDefinition.js +7 -21
  23. package/lib/AWS/Batch/JobDefinition.js.map +1 -1
  24. package/lib/AWS/EC2/GetAmi.d.ts +2 -0
  25. package/lib/AWS/EC2/GetAmi.d.ts.map +1 -1
  26. package/lib/AWS/EC2/Instance.d.ts +11 -27
  27. package/lib/AWS/EC2/Instance.d.ts.map +1 -1
  28. package/lib/AWS/EC2/Instance.js +7 -21
  29. package/lib/AWS/EC2/Instance.js.map +1 -1
  30. package/lib/AWS/EC2/hosted.d.ts +5 -6
  31. package/lib/AWS/EC2/hosted.d.ts.map +1 -1
  32. package/lib/AWS/EC2/hosted.js.map +1 -1
  33. package/lib/AWS/ECR/Image.d.ts +1 -1
  34. package/lib/AWS/ECR/ImageSource.d.ts +4 -5
  35. package/lib/AWS/ECR/ImageSource.d.ts.map +1 -1
  36. package/lib/AWS/ECR/ImageSource.js.map +1 -1
  37. package/lib/AWS/ECS/Service.d.ts +7 -21
  38. package/lib/AWS/ECS/Service.d.ts.map +1 -1
  39. package/lib/AWS/ECS/Service.js +7 -21
  40. package/lib/AWS/ECS/Service.js.map +1 -1
  41. package/lib/AWS/ECS/Task.d.ts +7 -21
  42. package/lib/AWS/ECS/Task.d.ts.map +1 -1
  43. package/lib/AWS/ECS/Task.js +7 -21
  44. package/lib/AWS/ECS/Task.js.map +1 -1
  45. package/lib/AWS/ElastiCache/CacheCluster.d.ts +60 -0
  46. package/lib/AWS/ElastiCache/CacheCluster.d.ts.map +1 -0
  47. package/lib/AWS/ElastiCache/CacheCluster.js +199 -0
  48. package/lib/AWS/ElastiCache/CacheCluster.js.map +1 -0
  49. package/lib/AWS/ElastiCache/ConnectCacheCluster.d.ts +46 -0
  50. package/lib/AWS/ElastiCache/ConnectCacheCluster.d.ts.map +1 -0
  51. package/lib/AWS/ElastiCache/ConnectCacheCluster.js +5 -0
  52. package/lib/AWS/ElastiCache/ConnectCacheCluster.js.map +1 -0
  53. package/lib/AWS/ElastiCache/ConnectCacheClusterHttp.d.ts +4 -0
  54. package/lib/AWS/ElastiCache/ConnectCacheClusterHttp.d.ts.map +1 -0
  55. package/lib/AWS/ElastiCache/ConnectCacheClusterHttp.js +52 -0
  56. package/lib/AWS/ElastiCache/ConnectCacheClusterHttp.js.map +1 -0
  57. package/lib/AWS/ElastiCache/ConnectReplicationGroup.d.ts +47 -0
  58. package/lib/AWS/ElastiCache/ConnectReplicationGroup.d.ts.map +1 -0
  59. package/lib/AWS/ElastiCache/ConnectReplicationGroup.js +5 -0
  60. package/lib/AWS/ElastiCache/ConnectReplicationGroup.js.map +1 -0
  61. package/lib/AWS/ElastiCache/ConnectReplicationGroupHttp.d.ts +4 -0
  62. package/lib/AWS/ElastiCache/ConnectReplicationGroupHttp.d.ts.map +1 -0
  63. package/lib/AWS/ElastiCache/ConnectReplicationGroupHttp.js +77 -0
  64. package/lib/AWS/ElastiCache/ConnectReplicationGroupHttp.js.map +1 -0
  65. package/lib/AWS/ElastiCache/ReplicationGroup.d.ts +95 -0
  66. package/lib/AWS/ElastiCache/ReplicationGroup.d.ts.map +1 -0
  67. package/lib/AWS/ElastiCache/ReplicationGroup.js +383 -0
  68. package/lib/AWS/ElastiCache/ReplicationGroup.js.map +1 -0
  69. package/lib/AWS/ElastiCache/SubnetGroup.d.ts +39 -0
  70. package/lib/AWS/ElastiCache/SubnetGroup.d.ts.map +1 -0
  71. package/lib/AWS/ElastiCache/SubnetGroup.js +136 -0
  72. package/lib/AWS/ElastiCache/SubnetGroup.js.map +1 -0
  73. package/lib/AWS/ElastiCache/index.d.ts +7 -0
  74. package/lib/AWS/ElastiCache/index.d.ts.map +1 -1
  75. package/lib/AWS/ElastiCache/index.js +7 -0
  76. package/lib/AWS/ElastiCache/index.js.map +1 -1
  77. package/lib/AWS/ElastiCache/internal.d.ts +13 -0
  78. package/lib/AWS/ElastiCache/internal.d.ts.map +1 -0
  79. package/lib/AWS/ElastiCache/internal.js +19 -0
  80. package/lib/AWS/ElastiCache/internal.js.map +1 -0
  81. package/lib/AWS/Environment.d.ts +2 -3
  82. package/lib/AWS/Environment.d.ts.map +1 -1
  83. package/lib/AWS/Environment.js +11 -41
  84. package/lib/AWS/Environment.js.map +1 -1
  85. package/lib/AWS/IAM/actions.generated.js +1 -1
  86. package/lib/AWS/IAM/actions.generated.js.map +1 -1
  87. package/lib/AWS/IdentityCenter/AccountAssignment.js +6 -0
  88. package/lib/AWS/IdentityCenter/AccountAssignment.js.map +1 -1
  89. package/lib/AWS/Lambda/Function.d.ts +14 -23
  90. package/lib/AWS/Lambda/Function.d.ts.map +1 -1
  91. package/lib/AWS/Lambda/Function.js +15 -20
  92. package/lib/AWS/Lambda/Function.js.map +1 -1
  93. package/lib/AWS/Lambda/MicrovmImage.d.ts +12 -28
  94. package/lib/AWS/Lambda/MicrovmImage.d.ts.map +1 -1
  95. package/lib/AWS/Lambda/MicrovmImage.js +8 -22
  96. package/lib/AWS/Lambda/MicrovmImage.js.map +1 -1
  97. package/lib/AWS/Local/DevWatchProvider.d.ts.map +1 -1
  98. package/lib/AWS/Local/DevWatchProvider.js +10 -1
  99. package/lib/AWS/Local/DevWatchProvider.js.map +1 -1
  100. package/lib/AWS/Organizations/Account.d.ts +2 -2
  101. package/lib/AWS/Organizations/Account.d.ts.map +1 -1
  102. package/lib/AWS/Organizations/Account.js +16 -8
  103. package/lib/AWS/Organizations/Account.js.map +1 -1
  104. package/lib/AWS/Organizations/DelegatedAdministrator.d.ts +2 -3
  105. package/lib/AWS/Organizations/DelegatedAdministrator.d.ts.map +1 -1
  106. package/lib/AWS/Organizations/DelegatedAdministrator.js +5 -5
  107. package/lib/AWS/Organizations/DelegatedAdministrator.js.map +1 -1
  108. package/lib/AWS/Organizations/Organization.d.ts +1 -1
  109. package/lib/AWS/Organizations/Organization.d.ts.map +1 -1
  110. package/lib/AWS/Organizations/Organization.js +2 -2
  111. package/lib/AWS/Organizations/Organization.js.map +1 -1
  112. package/lib/AWS/Organizations/common.d.ts +9 -0
  113. package/lib/AWS/Organizations/common.d.ts.map +1 -1
  114. package/lib/AWS/Organizations/common.js +13 -0
  115. package/lib/AWS/Organizations/common.js.map +1 -1
  116. package/lib/AWS/Providers.d.ts.map +1 -1
  117. package/lib/AWS/Providers.js +4 -1
  118. package/lib/AWS/Providers.js.map +1 -1
  119. package/lib/AWS/StateStore/State.d.ts +1 -1
  120. package/lib/AWS/StateStore/State.d.ts.map +1 -1
  121. package/lib/Alchemist/Errors.d.ts +31 -0
  122. package/lib/Alchemist/Errors.d.ts.map +1 -0
  123. package/lib/Alchemist/Errors.js +19 -0
  124. package/lib/Alchemist/Errors.js.map +1 -0
  125. package/lib/Alchemist/Progress.d.ts +16 -0
  126. package/lib/Alchemist/Progress.d.ts.map +1 -0
  127. package/lib/Alchemist/Progress.js +129 -0
  128. package/lib/Alchemist/Progress.js.map +1 -0
  129. package/lib/Alchemist/Runtime.d.ts +22 -0
  130. package/lib/Alchemist/Runtime.d.ts.map +1 -0
  131. package/lib/Alchemist/Runtime.js +28 -0
  132. package/lib/Alchemist/Runtime.js.map +1 -0
  133. package/lib/Alchemist/Session.d.ts +124 -0
  134. package/lib/Alchemist/Session.d.ts.map +1 -0
  135. package/lib/Alchemist/Session.js +223 -0
  136. package/lib/Alchemist/Session.js.map +1 -0
  137. package/lib/Alchemist/index.d.ts +15 -0
  138. package/lib/Alchemist/index.d.ts.map +1 -0
  139. package/lib/Alchemist/index.js +15 -0
  140. package/lib/Alchemist/index.js.map +1 -0
  141. package/lib/Alchemist/routes/aws.d.ts +21 -0
  142. package/lib/Alchemist/routes/aws.d.ts.map +1 -0
  143. package/lib/Alchemist/routes/aws.js +54 -0
  144. package/lib/Alchemist/routes/aws.js.map +1 -0
  145. package/lib/Alchemist/routes/cloudflare.d.ts +63 -0
  146. package/lib/Alchemist/routes/cloudflare.d.ts.map +1 -0
  147. package/lib/Alchemist/routes/cloudflare.js +113 -0
  148. package/lib/Alchemist/routes/cloudflare.js.map +1 -0
  149. package/lib/Alchemist/routes/cloudflareToken.d.ts +93 -0
  150. package/lib/Alchemist/routes/cloudflareToken.d.ts.map +1 -0
  151. package/lib/Alchemist/routes/cloudflareToken.js +111 -0
  152. package/lib/Alchemist/routes/cloudflareToken.js.map +1 -0
  153. package/lib/Alchemist/routes/drift.d.ts +55 -0
  154. package/lib/Alchemist/routes/drift.d.ts.map +1 -0
  155. package/lib/Alchemist/routes/drift.js +52 -0
  156. package/lib/Alchemist/routes/drift.js.map +1 -0
  157. package/lib/Alchemist/routes/logs.d.ts +41 -0
  158. package/lib/Alchemist/routes/logs.d.ts.map +1 -0
  159. package/lib/Alchemist/routes/logs.js +112 -0
  160. package/lib/Alchemist/routes/logs.js.map +1 -0
  161. package/lib/Alchemist/routes/nuke.d.ts +46 -0
  162. package/lib/Alchemist/routes/nuke.d.ts.map +1 -0
  163. package/lib/Alchemist/routes/nuke.js +80 -0
  164. package/lib/Alchemist/routes/nuke.js.map +1 -0
  165. package/lib/Alchemist/routes/profile.d.ts +133 -0
  166. package/lib/Alchemist/routes/profile.d.ts.map +1 -0
  167. package/lib/Alchemist/routes/profile.js +257 -0
  168. package/lib/Alchemist/routes/profile.js.map +1 -0
  169. package/lib/Alchemist/routes/provider.d.ts +33 -0
  170. package/lib/Alchemist/routes/provider.d.ts.map +1 -0
  171. package/lib/Alchemist/routes/provider.js +65 -0
  172. package/lib/Alchemist/routes/provider.js.map +1 -0
  173. package/lib/Alchemist/routes/stack.d.ts +78 -0
  174. package/lib/Alchemist/routes/stack.d.ts.map +1 -0
  175. package/lib/Alchemist/routes/stack.js +67 -0
  176. package/lib/Alchemist/routes/stack.js.map +1 -0
  177. package/lib/Alchemist/routes/state.d.ts +35 -0
  178. package/lib/Alchemist/routes/state.d.ts.map +1 -0
  179. package/lib/Alchemist/routes/state.js +42 -0
  180. package/lib/Alchemist/routes/state.js.map +1 -0
  181. package/lib/Apply.d.ts +8 -6
  182. package/lib/Apply.d.ts.map +1 -1
  183. package/lib/Apply.js +209 -103
  184. package/lib/Apply.js.map +1 -1
  185. package/lib/Auth/AuthProvider.d.ts +201 -25
  186. package/lib/Auth/AuthProvider.d.ts.map +1 -1
  187. package/lib/Auth/AuthProvider.js +180 -40
  188. package/lib/Auth/AuthProvider.js.map +1 -1
  189. package/lib/Auth/BrowserOAuth.d.ts +27 -0
  190. package/lib/Auth/BrowserOAuth.d.ts.map +1 -0
  191. package/lib/Auth/BrowserOAuth.js +41 -0
  192. package/lib/Auth/BrowserOAuth.js.map +1 -0
  193. package/lib/Auth/Credentials.d.ts +11 -6
  194. package/lib/Auth/Credentials.d.ts.map +1 -1
  195. package/lib/Auth/Credentials.js +62 -23
  196. package/lib/Auth/Credentials.js.map +1 -1
  197. package/lib/Auth/CredentialsCache.d.ts +15 -0
  198. package/lib/Auth/CredentialsCache.d.ts.map +1 -0
  199. package/lib/Auth/CredentialsCache.js +34 -0
  200. package/lib/Auth/CredentialsCache.js.map +1 -0
  201. package/lib/Auth/Demand.d.ts +59 -34
  202. package/lib/Auth/Demand.d.ts.map +1 -1
  203. package/lib/Auth/Demand.js +150 -60
  204. package/lib/Auth/Demand.js.map +1 -1
  205. package/lib/Auth/Env.d.ts +4 -4
  206. package/lib/Auth/Env.d.ts.map +1 -1
  207. package/lib/Auth/Env.js +18 -9
  208. package/lib/Auth/Env.js.map +1 -1
  209. package/lib/Auth/Inspect.d.ts +33 -0
  210. package/lib/Auth/Inspect.d.ts.map +1 -0
  211. package/lib/Auth/Inspect.js +67 -0
  212. package/lib/Auth/Inspect.js.map +1 -0
  213. package/lib/Auth/Lock.d.ts +6 -0
  214. package/lib/Auth/Lock.d.ts.map +1 -1
  215. package/lib/Auth/Lock.js +22 -11
  216. package/lib/Auth/Lock.js.map +1 -1
  217. package/lib/Auth/OAuthFlow.d.ts +119 -0
  218. package/lib/Auth/OAuthFlow.d.ts.map +1 -0
  219. package/lib/Auth/OAuthFlow.js +314 -0
  220. package/lib/Auth/OAuthFlow.js.map +1 -0
  221. package/lib/Auth/Paths.d.ts +18 -0
  222. package/lib/Auth/Paths.d.ts.map +1 -0
  223. package/lib/Auth/Paths.js +20 -0
  224. package/lib/Auth/Paths.js.map +1 -0
  225. package/lib/Auth/Profile.d.ts +91 -67
  226. package/lib/Auth/Profile.d.ts.map +1 -1
  227. package/lib/Auth/Profile.js +449 -92
  228. package/lib/Auth/Profile.js.map +1 -1
  229. package/lib/Auth/Resolve.d.ts +42 -0
  230. package/lib/Auth/Resolve.d.ts.map +1 -0
  231. package/lib/Auth/Resolve.js +90 -0
  232. package/lib/Auth/Resolve.js.map +1 -0
  233. package/lib/Auth/StoredAuthProvider.d.ts +84 -0
  234. package/lib/Auth/StoredAuthProvider.d.ts.map +1 -0
  235. package/lib/Auth/StoredAuthProvider.js +179 -0
  236. package/lib/Auth/StoredAuthProvider.js.map +1 -0
  237. package/lib/Auth/index.d.ts +1 -0
  238. package/lib/Auth/index.d.ts.map +1 -1
  239. package/lib/Auth/index.js +1 -0
  240. package/lib/Auth/index.js.map +1 -1
  241. package/lib/Axiom/AuthProvider.d.ts +17 -26
  242. package/lib/Axiom/AuthProvider.d.ts.map +1 -1
  243. package/lib/Axiom/AuthProvider.js +89 -172
  244. package/lib/Axiom/AuthProvider.js.map +1 -1
  245. package/lib/Axiom/Credentials.d.ts +2 -4
  246. package/lib/Axiom/Credentials.d.ts.map +1 -1
  247. package/lib/Axiom/Credentials.js +5 -10
  248. package/lib/Axiom/Credentials.js.map +1 -1
  249. package/lib/Axiom/Providers.d.ts +2 -2
  250. package/lib/Axiom/Providers.d.ts.map +1 -1
  251. package/lib/Axiom/Providers.js +3 -3
  252. package/lib/Axiom/Providers.js.map +1 -1
  253. package/lib/Bundle/Bundle.d.ts +3 -5
  254. package/lib/Bundle/Bundle.d.ts.map +1 -1
  255. package/lib/Bundle/Bundle.js.map +1 -1
  256. package/lib/Cli/CliKit/CliKit.d.ts +92 -0
  257. package/lib/Cli/CliKit/CliKit.d.ts.map +1 -0
  258. package/lib/Cli/CliKit/CliKit.js +27 -0
  259. package/lib/Cli/CliKit/CliKit.js.map +1 -0
  260. package/lib/Cli/CliKit/index.d.ts +9 -0
  261. package/lib/Cli/CliKit/index.d.ts.map +1 -0
  262. package/lib/Cli/CliKit/index.js +9 -0
  263. package/lib/Cli/CliKit/index.js.map +1 -0
  264. package/lib/Cli/CliKit/interaction.d.ts +13 -0
  265. package/lib/Cli/CliKit/interaction.d.ts.map +1 -0
  266. package/lib/Cli/CliKit/interaction.js +17 -0
  267. package/lib/Cli/CliKit/interaction.js.map +1 -0
  268. package/lib/Cli/CliKit/layer.d.ts +7 -0
  269. package/lib/Cli/CliKit/layer.d.ts.map +1 -0
  270. package/lib/Cli/CliKit/layer.js +34 -0
  271. package/lib/Cli/CliKit/layer.js.map +1 -0
  272. package/lib/Cli/DevOptions.d.ts +17 -0
  273. package/lib/Cli/DevOptions.d.ts.map +1 -0
  274. package/lib/Cli/DevOptions.js +16 -0
  275. package/lib/Cli/DevOptions.js.map +1 -0
  276. package/lib/Cli/Format.d.ts +5 -0
  277. package/lib/Cli/Format.d.ts.map +1 -0
  278. package/lib/Cli/Format.js +27 -0
  279. package/lib/Cli/Format.js.map +1 -0
  280. package/lib/Cli/GlobalLog.d.ts +41 -0
  281. package/lib/Cli/GlobalLog.d.ts.map +1 -0
  282. package/lib/Cli/GlobalLog.js +112 -0
  283. package/lib/Cli/GlobalLog.js.map +1 -0
  284. package/lib/Cli/LoggingCli.d.ts +4 -3
  285. package/lib/Cli/LoggingCli.d.ts.map +1 -1
  286. package/lib/Cli/LoggingCli.js +240 -100
  287. package/lib/Cli/LoggingCli.js.map +1 -1
  288. package/lib/Cli/ModeTag.d.ts +1 -1
  289. package/lib/Cli/ModeTag.js +1 -1
  290. package/lib/Cli/NamespaceTree.d.ts +18 -8
  291. package/lib/Cli/NamespaceTree.d.ts.map +1 -1
  292. package/lib/Cli/NamespaceTree.js +52 -11
  293. package/lib/Cli/NamespaceTree.js.map +1 -1
  294. package/lib/Cli/PlainCliFormatter.d.ts +11 -0
  295. package/lib/Cli/PlainCliFormatter.d.ts.map +1 -0
  296. package/lib/Cli/PlainCliFormatter.js +70 -0
  297. package/lib/Cli/PlainCliFormatter.js.map +1 -0
  298. package/lib/Cli/PropertyDiff.d.ts +37 -0
  299. package/lib/Cli/PropertyDiff.d.ts.map +1 -0
  300. package/lib/Cli/PropertyDiff.js +162 -0
  301. package/lib/Cli/PropertyDiff.js.map +1 -0
  302. package/lib/Cli/checkVersion.d.ts.map +1 -1
  303. package/lib/Cli/checkVersion.js +10 -6
  304. package/lib/Cli/checkVersion.js.map +1 -1
  305. package/lib/Cli/commands/aws.d.ts +2 -4
  306. package/lib/Cli/commands/aws.d.ts.map +1 -1
  307. package/lib/Cli/commands/aws.js +43 -55
  308. package/lib/Cli/commands/aws.js.map +1 -1
  309. package/lib/Cli/commands/cloudflare.d.ts +6 -7
  310. package/lib/Cli/commands/cloudflare.d.ts.map +1 -1
  311. package/lib/Cli/commands/cloudflare.js +149 -307
  312. package/lib/Cli/commands/cloudflare.js.map +1 -1
  313. package/lib/Cli/commands/compat.d.ts +11 -0
  314. package/lib/Cli/commands/compat.d.ts.map +1 -0
  315. package/lib/Cli/commands/compat.js +19 -0
  316. package/lib/Cli/commands/compat.js.map +1 -0
  317. package/lib/Cli/commands/confirm.d.ts +33 -0
  318. package/lib/Cli/commands/confirm.d.ts.map +1 -0
  319. package/lib/Cli/commands/confirm.js +39 -0
  320. package/lib/Cli/commands/confirm.js.map +1 -0
  321. package/lib/Cli/commands/deploy.d.ts +20 -32
  322. package/lib/Cli/commands/deploy.d.ts.map +1 -1
  323. package/lib/Cli/commands/deploy.js +140 -140
  324. package/lib/Cli/commands/deploy.js.map +1 -1
  325. package/lib/Cli/commands/dev.d.ts +5 -4
  326. package/lib/Cli/commands/dev.d.ts.map +1 -1
  327. package/lib/Cli/commands/dev.js +52 -26
  328. package/lib/Cli/commands/dev.js.map +1 -1
  329. package/lib/Cli/commands/drift.d.ts +12 -0
  330. package/lib/Cli/commands/drift.d.ts.map +1 -0
  331. package/lib/Cli/commands/drift.js +68 -0
  332. package/lib/Cli/commands/drift.js.map +1 -0
  333. package/lib/Cli/commands/errors.d.ts +35 -0
  334. package/lib/Cli/commands/errors.d.ts.map +1 -0
  335. package/lib/Cli/commands/errors.js +106 -0
  336. package/lib/Cli/commands/errors.js.map +1 -0
  337. package/lib/Cli/commands/flags.d.ts +46 -0
  338. package/lib/Cli/commands/flags.d.ts.map +1 -0
  339. package/lib/Cli/commands/flags.js +98 -0
  340. package/lib/Cli/commands/flags.js.map +1 -0
  341. package/lib/Cli/commands/instrument.d.ts +3 -0
  342. package/lib/Cli/commands/instrument.d.ts.map +1 -0
  343. package/lib/Cli/commands/instrument.js +6 -0
  344. package/lib/Cli/commands/instrument.js.map +1 -0
  345. package/lib/Cli/commands/logs.d.ts +5 -4
  346. package/lib/Cli/commands/logs.d.ts.map +1 -1
  347. package/lib/Cli/commands/logs.js +63 -88
  348. package/lib/Cli/commands/logs.js.map +1 -1
  349. package/lib/Cli/commands/nuke.d.ts +3 -2
  350. package/lib/Cli/commands/nuke.d.ts.map +1 -1
  351. package/lib/Cli/commands/nuke.js +89 -588
  352. package/lib/Cli/commands/nuke.js.map +1 -1
  353. package/lib/Cli/commands/profile/commands.d.ts +9 -0
  354. package/lib/Cli/commands/profile/commands.d.ts.map +1 -0
  355. package/lib/Cli/commands/profile/commands.js +276 -0
  356. package/lib/Cli/commands/profile/commands.js.map +1 -0
  357. package/lib/Cli/commands/profile/flows.d.ts +36 -0
  358. package/lib/Cli/commands/profile/flows.d.ts.map +1 -0
  359. package/lib/Cli/commands/profile/flows.js +155 -0
  360. package/lib/Cli/commands/profile/flows.js.map +1 -0
  361. package/lib/Cli/commands/profile/hub.d.ts +8 -0
  362. package/lib/Cli/commands/profile/hub.d.ts.map +1 -0
  363. package/lib/Cli/commands/profile/hub.js +154 -0
  364. package/lib/Cli/commands/profile/hub.js.map +1 -0
  365. package/lib/Cli/commands/profile/index.d.ts +2 -0
  366. package/lib/Cli/commands/profile/index.d.ts.map +1 -0
  367. package/lib/Cli/commands/profile/index.js +2 -0
  368. package/lib/Cli/commands/profile/index.js.map +1 -0
  369. package/lib/Cli/commands/provider.d.ts +17 -0
  370. package/lib/Cli/commands/provider.d.ts.map +1 -0
  371. package/lib/Cli/commands/provider.js +44 -0
  372. package/lib/Cli/commands/provider.js.map +1 -0
  373. package/lib/Cli/commands/render.d.ts +12 -0
  374. package/lib/Cli/commands/render.d.ts.map +1 -0
  375. package/lib/Cli/commands/render.js +82 -0
  376. package/lib/Cli/commands/render.js.map +1 -0
  377. package/lib/Cli/commands/state.d.ts +8 -1
  378. package/lib/Cli/commands/state.d.ts.map +1 -1
  379. package/lib/Cli/commands/state.js +125 -248
  380. package/lib/Cli/commands/state.js.map +1 -1
  381. package/lib/Cli/components/types.d.ts +104 -0
  382. package/lib/Cli/components/types.d.ts.map +1 -0
  383. package/lib/Cli/components/types.js +4 -0
  384. package/lib/Cli/components/types.js.map +1 -0
  385. package/lib/Cli/components/ui/Data.d.ts +15 -0
  386. package/lib/Cli/components/ui/Data.d.ts.map +1 -0
  387. package/lib/Cli/components/ui/Data.js +8 -0
  388. package/lib/Cli/components/ui/Data.js.map +1 -0
  389. package/lib/Cli/components/ui/Environment.d.ts +45 -0
  390. package/lib/Cli/components/ui/Environment.d.ts.map +1 -0
  391. package/lib/Cli/components/ui/Environment.js +38 -0
  392. package/lib/Cli/components/ui/Environment.js.map +1 -0
  393. package/lib/Cli/components/ui/Feedback.d.ts +57 -0
  394. package/lib/Cli/components/ui/Feedback.d.ts.map +1 -0
  395. package/lib/Cli/components/ui/Feedback.js +83 -0
  396. package/lib/Cli/components/ui/Feedback.js.map +1 -0
  397. package/lib/Cli/components/ui/Interactive.d.ts +157 -0
  398. package/lib/Cli/components/ui/Interactive.d.ts.map +1 -0
  399. package/lib/Cli/components/ui/Interactive.js +527 -0
  400. package/lib/Cli/components/ui/Interactive.js.map +1 -0
  401. package/lib/Cli/components/ui/Layout.d.ts +74 -0
  402. package/lib/Cli/components/ui/Layout.d.ts.map +1 -0
  403. package/lib/Cli/components/ui/Layout.js +91 -0
  404. package/lib/Cli/components/ui/Layout.js.map +1 -0
  405. package/lib/Cli/components/ui/Live.d.ts +49 -0
  406. package/lib/Cli/components/ui/Live.d.ts.map +1 -0
  407. package/lib/Cli/components/ui/Live.js +43 -0
  408. package/lib/Cli/components/ui/Live.js.map +1 -0
  409. package/lib/Cli/components/ui/ProgressBar.d.ts +16 -0
  410. package/lib/Cli/components/ui/ProgressBar.d.ts.map +1 -0
  411. package/lib/Cli/components/ui/ProgressBar.js +17 -0
  412. package/lib/Cli/components/ui/ProgressBar.js.map +1 -0
  413. package/lib/Cli/components/ui/Transcript.d.ts +12 -0
  414. package/lib/Cli/components/ui/Transcript.d.ts.map +1 -0
  415. package/lib/Cli/components/ui/Transcript.js +14 -0
  416. package/lib/Cli/components/ui/Transcript.js.map +1 -0
  417. package/lib/Cli/components/ui/Typography.d.ts +17 -0
  418. package/lib/Cli/components/ui/Typography.d.ts.map +1 -0
  419. package/lib/Cli/components/ui/Typography.js +21 -0
  420. package/lib/Cli/components/ui/Typography.js.map +1 -0
  421. package/lib/Cli/components/ui/index.d.ts +16 -0
  422. package/lib/Cli/components/ui/index.d.ts.map +1 -0
  423. package/lib/Cli/components/ui/index.js +16 -0
  424. package/lib/Cli/components/ui/index.js.map +1 -0
  425. package/lib/Cli/components/view/ApprovePlan.d.ts +17 -0
  426. package/lib/Cli/components/view/ApprovePlan.d.ts.map +1 -0
  427. package/lib/Cli/components/view/ApprovePlan.js +59 -0
  428. package/lib/Cli/components/view/ApprovePlan.js.map +1 -0
  429. package/lib/Cli/components/view/Help.d.ts +4 -0
  430. package/lib/Cli/components/view/Help.d.ts.map +1 -0
  431. package/lib/Cli/components/view/Help.js +116 -0
  432. package/lib/Cli/components/view/Help.js.map +1 -0
  433. package/lib/Cli/components/view/Logo.d.ts +7 -0
  434. package/lib/Cli/components/view/Logo.d.ts.map +1 -0
  435. package/lib/Cli/components/view/Logo.js +118 -0
  436. package/lib/Cli/components/view/Logo.js.map +1 -0
  437. package/lib/Cli/components/view/Nuke.d.ts +36 -0
  438. package/lib/Cli/components/view/Nuke.d.ts.map +1 -0
  439. package/lib/Cli/components/view/Nuke.js +148 -0
  440. package/lib/Cli/components/view/Nuke.js.map +1 -0
  441. package/lib/Cli/components/view/PlanDecision.d.ts +15 -0
  442. package/lib/Cli/components/view/PlanDecision.d.ts.map +1 -0
  443. package/lib/Cli/components/view/PlanDecision.js +26 -0
  444. package/lib/Cli/components/view/PlanDecision.js.map +1 -0
  445. package/lib/Cli/components/view/PlanRow.d.ts +17 -0
  446. package/lib/Cli/components/view/PlanRow.d.ts.map +1 -0
  447. package/lib/Cli/components/view/PlanRow.js +14 -0
  448. package/lib/Cli/components/view/PlanRow.js.map +1 -0
  449. package/lib/Cli/components/view/PlanTree.d.ts +116 -0
  450. package/lib/Cli/components/view/PlanTree.d.ts.map +1 -0
  451. package/lib/Cli/components/view/PlanTree.js +207 -0
  452. package/lib/Cli/components/view/PlanTree.js.map +1 -0
  453. package/lib/Cli/components/view/PlanView.d.ts +42 -0
  454. package/lib/Cli/components/view/PlanView.d.ts.map +1 -0
  455. package/lib/Cli/components/view/PlanView.js +310 -0
  456. package/lib/Cli/components/view/PlanView.js.map +1 -0
  457. package/lib/Cli/components/view/Profile.d.ts +130 -0
  458. package/lib/Cli/components/view/Profile.d.ts.map +1 -0
  459. package/lib/Cli/components/view/Profile.js +147 -0
  460. package/lib/Cli/components/view/Profile.js.map +1 -0
  461. package/lib/Cli/components/view/ProfileDashboard.d.ts +152 -0
  462. package/lib/Cli/components/view/ProfileDashboard.d.ts.map +1 -0
  463. package/lib/Cli/components/view/ProfileDashboard.js +485 -0
  464. package/lib/Cli/components/view/ProfileDashboard.js.map +1 -0
  465. package/lib/Cli/components/view/Prompts.d.ts +10 -0
  466. package/lib/Cli/components/view/Prompts.d.ts.map +1 -0
  467. package/lib/Cli/components/view/Prompts.js +440 -0
  468. package/lib/Cli/components/view/Prompts.js.map +1 -0
  469. package/lib/Cli/components/view/Runtime.d.ts +8 -0
  470. package/lib/Cli/components/view/Runtime.d.ts.map +1 -0
  471. package/lib/Cli/components/view/Runtime.js +670 -0
  472. package/lib/Cli/components/view/Runtime.js.map +1 -0
  473. package/lib/Cli/components/view/SigilCli.d.ts +5 -0
  474. package/lib/Cli/components/view/SigilCli.d.ts.map +1 -0
  475. package/lib/Cli/components/view/SigilCli.js +134 -0
  476. package/lib/Cli/components/view/SigilCli.js.map +1 -0
  477. package/lib/Cli/components/view/StackOutputs.d.ts +10 -0
  478. package/lib/Cli/components/view/StackOutputs.d.ts.map +1 -0
  479. package/lib/Cli/components/view/StackOutputs.js +14 -0
  480. package/lib/Cli/components/view/StackOutputs.js.map +1 -0
  481. package/lib/Cli/components/view/StateExplorer.d.ts +118 -0
  482. package/lib/Cli/components/view/StateExplorer.d.ts.map +1 -0
  483. package/lib/Cli/components/view/StateExplorer.js +664 -0
  484. package/lib/Cli/components/view/StateExplorer.js.map +1 -0
  485. package/lib/Cli/components/view/statusStyle.d.ts +18 -0
  486. package/lib/Cli/components/view/statusStyle.d.ts.map +1 -0
  487. package/lib/Cli/components/view/statusStyle.js +69 -0
  488. package/lib/Cli/components/view/statusStyle.js.map +1 -0
  489. package/lib/Cli/components/view/usePlanPresentation.d.ts +25 -0
  490. package/lib/Cli/components/view/usePlanPresentation.d.ts.map +1 -0
  491. package/lib/Cli/components/view/usePlanPresentation.js +54 -0
  492. package/lib/Cli/components/view/usePlanPresentation.js.map +1 -0
  493. package/lib/Cli/components/view/usePlanViewport.d.ts +31 -0
  494. package/lib/Cli/components/view/usePlanViewport.d.ts.map +1 -0
  495. package/lib/Cli/components/view/usePlanViewport.js +113 -0
  496. package/lib/Cli/components/view/usePlanViewport.js.map +1 -0
  497. package/lib/Cli/exec.d.ts +5 -1
  498. package/lib/Cli/exec.d.ts.map +1 -1
  499. package/lib/Cli/exec.js +173 -19
  500. package/lib/Cli/exec.js.map +1 -1
  501. package/lib/Cli/main.d.ts +4 -1
  502. package/lib/Cli/main.d.ts.map +1 -1
  503. package/lib/Cli/main.js +129 -38
  504. package/lib/Cli/main.js.map +1 -1
  505. package/lib/Cli/selectCli.d.ts +5 -3
  506. package/lib/Cli/selectCli.d.ts.map +1 -1
  507. package/lib/Cli/selectCli.js +16 -9
  508. package/lib/Cli/selectCli.js.map +1 -1
  509. package/lib/Cloudflare/ApiToken/UserApiToken.d.ts +1 -1
  510. package/lib/Cloudflare/ApiToken/UserApiToken.js +1 -1
  511. package/lib/Cloudflare/Auth/AuthConfig.d.ts +60 -0
  512. package/lib/Cloudflare/Auth/AuthConfig.d.ts.map +1 -0
  513. package/lib/Cloudflare/Auth/AuthConfig.js +68 -0
  514. package/lib/Cloudflare/Auth/AuthConfig.js.map +1 -0
  515. package/lib/Cloudflare/Auth/AuthProvider.d.ts +2 -142
  516. package/lib/Cloudflare/Auth/AuthProvider.d.ts.map +1 -1
  517. package/lib/Cloudflare/Auth/AuthProvider.js +473 -327
  518. package/lib/Cloudflare/Auth/AuthProvider.js.map +1 -1
  519. package/lib/Cloudflare/Auth/OAuthClient.d.ts +16 -48
  520. package/lib/Cloudflare/Auth/OAuthClient.d.ts.map +1 -1
  521. package/lib/Cloudflare/Auth/OAuthClient.js +25 -260
  522. package/lib/Cloudflare/Auth/OAuthClient.js.map +1 -1
  523. package/lib/Cloudflare/Auth/OAuthScopes.d.ts +88 -0
  524. package/lib/Cloudflare/Auth/OAuthScopes.d.ts.map +1 -0
  525. package/lib/Cloudflare/Auth/OAuthScopes.js +887 -0
  526. package/lib/Cloudflare/Auth/OAuthScopes.js.map +1 -0
  527. package/lib/Cloudflare/Auth/TokenPolicy.d.ts +34 -0
  528. package/lib/Cloudflare/Auth/TokenPolicy.d.ts.map +1 -0
  529. package/lib/Cloudflare/Auth/TokenPolicy.js +51 -0
  530. package/lib/Cloudflare/Auth/TokenPolicy.js.map +1 -0
  531. package/lib/Cloudflare/CloudflareEnvironment.d.ts +2 -3
  532. package/lib/Cloudflare/CloudflareEnvironment.d.ts.map +1 -1
  533. package/lib/Cloudflare/CloudflareEnvironment.js +7 -11
  534. package/lib/Cloudflare/CloudflareEnvironment.js.map +1 -1
  535. package/lib/Cloudflare/Containers/Container.d.ts +10 -25
  536. package/lib/Cloudflare/Containers/Container.d.ts.map +1 -1
  537. package/lib/Cloudflare/Containers/Container.js +9 -23
  538. package/lib/Cloudflare/Containers/Container.js.map +1 -1
  539. package/lib/Cloudflare/Containers/ContainerApplication.d.ts +12 -27
  540. package/lib/Cloudflare/Containers/ContainerApplication.d.ts.map +1 -1
  541. package/lib/Cloudflare/Containers/ContainerApplication.js.map +1 -1
  542. package/lib/Cloudflare/Containers/StartContainer.d.ts +1 -1
  543. package/lib/Cloudflare/Containers/StartContainer.d.ts.map +1 -1
  544. package/lib/Cloudflare/Credentials.d.ts +6 -20
  545. package/lib/Cloudflare/Credentials.d.ts.map +1 -1
  546. package/lib/Cloudflare/Credentials.js +12 -54
  547. package/lib/Cloudflare/Credentials.js.map +1 -1
  548. package/lib/Cloudflare/D1/ImportDatabase.d.ts +1 -1
  549. package/lib/Cloudflare/D1/ImportDatabase.d.ts.map +1 -1
  550. package/lib/Cloudflare/EdgeSession.d.ts +1 -1
  551. package/lib/Cloudflare/EdgeSession.d.ts.map +1 -1
  552. package/lib/Cloudflare/EdgeSession.js +1 -1
  553. package/lib/Cloudflare/EdgeSession.js.map +1 -1
  554. package/lib/Cloudflare/Logs.d.ts.map +1 -1
  555. package/lib/Cloudflare/Logs.js +10 -6
  556. package/lib/Cloudflare/Logs.js.map +1 -1
  557. package/lib/Cloudflare/Pages/Project.d.ts +1 -1
  558. package/lib/Cloudflare/Pages/Project.js +1 -1
  559. package/lib/Cloudflare/Providers.d.ts +2 -2
  560. package/lib/Cloudflare/Providers.d.ts.map +1 -1
  561. package/lib/Cloudflare/Providers.js +2 -2
  562. package/lib/Cloudflare/Providers.js.map +1 -1
  563. package/lib/Cloudflare/StateStore/Api.d.ts +3 -0
  564. package/lib/Cloudflare/StateStore/Api.d.ts.map +1 -1
  565. package/lib/Cloudflare/StateStore/Api.js +2 -2
  566. package/lib/Cloudflare/StateStore/Api.js.map +1 -1
  567. package/lib/Cloudflare/StateStore/CredentialsFile.d.ts +10 -6
  568. package/lib/Cloudflare/StateStore/CredentialsFile.d.ts.map +1 -1
  569. package/lib/Cloudflare/StateStore/CredentialsFile.js +23 -1
  570. package/lib/Cloudflare/StateStore/CredentialsFile.js.map +1 -1
  571. package/lib/Cloudflare/StateStore/State.d.ts +9 -5
  572. package/lib/Cloudflare/StateStore/State.d.ts.map +1 -1
  573. package/lib/Cloudflare/StateStore/State.js +132 -99
  574. package/lib/Cloudflare/StateStore/State.js.map +1 -1
  575. package/lib/Cloudflare/Vectorize/SearchIndexHttpClient.js +1 -1
  576. package/lib/Cloudflare/Vectorize/SearchIndexHttpClient.js.map +1 -1
  577. package/lib/Cloudflare/Website/Nextjs.d.ts.map +1 -1
  578. package/lib/Cloudflare/Website/Nextjs.js +4 -12
  579. package/lib/Cloudflare/Website/Nextjs.js.map +1 -1
  580. package/lib/Cloudflare/Website/Vocs.d.ts +1 -1
  581. package/lib/Cloudflare/Website/Vocs.d.ts.map +1 -1
  582. package/lib/Cloudflare/Website/Vocs.js +3 -7
  583. package/lib/Cloudflare/Website/Vocs.js.map +1 -1
  584. package/lib/Cloudflare/Workers/Assets.d.ts +2 -2
  585. package/lib/Cloudflare/Workers/Assets.d.ts.map +1 -1
  586. package/lib/Cloudflare/Workers/Assets.js +74 -26
  587. package/lib/Cloudflare/Workers/Assets.js.map +1 -1
  588. package/lib/Cloudflare/Workers/BrowserHttpClient.d.ts +2 -2
  589. package/lib/Cloudflare/Workers/BrowserHttpClient.d.ts.map +1 -1
  590. package/lib/Cloudflare/Workers/BrowserHttpClient.js +10 -3
  591. package/lib/Cloudflare/Workers/BrowserHttpClient.js.map +1 -1
  592. package/lib/Cloudflare/Workers/CloudflareTracer.d.ts +9 -0
  593. package/lib/Cloudflare/Workers/CloudflareTracer.d.ts.map +1 -0
  594. package/lib/Cloudflare/Workers/CloudflareTracer.js +87 -0
  595. package/lib/Cloudflare/Workers/CloudflareTracer.js.map +1 -0
  596. package/lib/Cloudflare/Workers/Compatibility.d.ts +13 -0
  597. package/lib/Cloudflare/Workers/Compatibility.d.ts.map +1 -1
  598. package/lib/Cloudflare/Workers/Compatibility.js +31 -6
  599. package/lib/Cloudflare/Workers/Compatibility.js.map +1 -1
  600. package/lib/Cloudflare/Workers/DurableObject.d.ts +50 -4
  601. package/lib/Cloudflare/Workers/DurableObject.d.ts.map +1 -1
  602. package/lib/Cloudflare/Workers/DurableObject.js +44 -3
  603. package/lib/Cloudflare/Workers/DurableObject.js.map +1 -1
  604. package/lib/Cloudflare/Workers/DurableObjectBridge.d.ts.map +1 -1
  605. package/lib/Cloudflare/Workers/DurableObjectBridge.js +4 -0
  606. package/lib/Cloudflare/Workers/DurableObjectBridge.js.map +1 -1
  607. package/lib/Cloudflare/Workers/DurableObjectState.d.ts +25 -2
  608. package/lib/Cloudflare/Workers/DurableObjectState.d.ts.map +1 -1
  609. package/lib/Cloudflare/Workers/DurableObjectState.js +7 -2
  610. package/lib/Cloudflare/Workers/DurableObjectState.js.map +1 -1
  611. package/lib/Cloudflare/Workers/DurableObjectStorage.d.ts +7 -1
  612. package/lib/Cloudflare/Workers/DurableObjectStorage.d.ts.map +1 -1
  613. package/lib/Cloudflare/Workers/DurableObjectStorage.js +6 -1
  614. package/lib/Cloudflare/Workers/DurableObjectStorage.js.map +1 -1
  615. package/lib/Cloudflare/Workers/LocalWorkerProvider.d.ts.map +1 -1
  616. package/lib/Cloudflare/Workers/LocalWorkerProvider.js +125 -58
  617. package/lib/Cloudflare/Workers/LocalWorkerProvider.js.map +1 -1
  618. package/lib/Cloudflare/Workers/RpcWorker.d.ts +12 -5
  619. package/lib/Cloudflare/Workers/RpcWorker.d.ts.map +1 -1
  620. package/lib/Cloudflare/Workers/RpcWorker.js +8 -2
  621. package/lib/Cloudflare/Workers/RpcWorker.js.map +1 -1
  622. package/lib/Cloudflare/Workers/Source.d.ts +3 -0
  623. package/lib/Cloudflare/Workers/Source.d.ts.map +1 -1
  624. package/lib/Cloudflare/Workers/Source.js +3 -1
  625. package/lib/Cloudflare/Workers/Source.js.map +1 -1
  626. package/lib/Cloudflare/Workers/Sources/Python.d.ts +2 -0
  627. package/lib/Cloudflare/Workers/Sources/Python.d.ts.map +1 -1
  628. package/lib/Cloudflare/Workers/Sources/Python.js +16 -12
  629. package/lib/Cloudflare/Workers/Sources/Python.js.map +1 -1
  630. package/lib/Cloudflare/Workers/Sources/Rolldown.js +1 -1
  631. package/lib/Cloudflare/Workers/Sources/Rolldown.js.map +1 -1
  632. package/lib/Cloudflare/Workers/Sources/Vite.d.ts +1 -1
  633. package/lib/Cloudflare/Workers/Sources/Vite.d.ts.map +1 -1
  634. package/lib/Cloudflare/Workers/Sources/Vite.js +6 -4
  635. package/lib/Cloudflare/Workers/Sources/Vite.js.map +1 -1
  636. package/lib/Cloudflare/Workers/Telemetry.d.ts +113 -0
  637. package/lib/Cloudflare/Workers/Telemetry.d.ts.map +1 -0
  638. package/lib/Cloudflare/Workers/Telemetry.js +129 -0
  639. package/lib/Cloudflare/Workers/Telemetry.js.map +1 -0
  640. package/lib/Cloudflare/Workers/ViteBuildChildRunner.js +6 -1
  641. package/lib/Cloudflare/Workers/ViteBuildChildRunner.js.map +1 -1
  642. package/lib/Cloudflare/Workers/ViteChild.d.ts +2 -2
  643. package/lib/Cloudflare/Workers/ViteChild.d.ts.map +1 -1
  644. package/lib/Cloudflare/Workers/ViteChild.js +19 -17
  645. package/lib/Cloudflare/Workers/ViteChild.js.map +1 -1
  646. package/lib/Cloudflare/Workers/ViteChild.shared.d.ts +1 -0
  647. package/lib/Cloudflare/Workers/ViteChild.shared.d.ts.map +1 -1
  648. package/lib/Cloudflare/Workers/ViteChild.shared.js.map +1 -1
  649. package/lib/Cloudflare/Workers/ViteChildRunner.js +2 -1
  650. package/lib/Cloudflare/Workers/ViteChildRunner.js.map +1 -1
  651. package/lib/Cloudflare/Workers/Worker.d.ts +101 -52
  652. package/lib/Cloudflare/Workers/Worker.d.ts.map +1 -1
  653. package/lib/Cloudflare/Workers/Worker.js +91 -50
  654. package/lib/Cloudflare/Workers/Worker.js.map +1 -1
  655. package/lib/Cloudflare/Workers/WorkerAsyncBindings.d.ts +9 -1
  656. package/lib/Cloudflare/Workers/WorkerAsyncBindings.d.ts.map +1 -1
  657. package/lib/Cloudflare/Workers/WorkerAsyncBindings.js +23 -0
  658. package/lib/Cloudflare/Workers/WorkerAsyncBindings.js.map +1 -1
  659. package/lib/Cloudflare/Workers/WorkerBinding.d.ts +6 -0
  660. package/lib/Cloudflare/Workers/WorkerBinding.d.ts.map +1 -1
  661. package/lib/Cloudflare/Workers/WorkerLoader.d.ts +30 -4
  662. package/lib/Cloudflare/Workers/WorkerLoader.d.ts.map +1 -1
  663. package/lib/Cloudflare/Workers/WorkerLoader.js +36 -5
  664. package/lib/Cloudflare/Workers/WorkerLoader.js.map +1 -1
  665. package/lib/Cloudflare/Workers/WorkerProvider.d.ts.map +1 -1
  666. package/lib/Cloudflare/Workers/WorkerProvider.js +52 -45
  667. package/lib/Cloudflare/Workers/WorkerProvider.js.map +1 -1
  668. package/lib/Cloudflare/Workers/cloudflare_workers.d.ts.map +1 -1
  669. package/lib/Cloudflare/Workers/cloudflare_workers.js +4 -1
  670. package/lib/Cloudflare/Workers/cloudflare_workers.js.map +1 -1
  671. package/lib/Cloudflare/Workers/index.d.ts +1 -0
  672. package/lib/Cloudflare/Workers/index.d.ts.map +1 -1
  673. package/lib/Cloudflare/Workers/index.js +1 -0
  674. package/lib/Cloudflare/Workers/index.js.map +1 -1
  675. package/lib/Cloudflare/Workflows/Workflow.d.ts +84 -0
  676. package/lib/Cloudflare/Workflows/Workflow.d.ts.map +1 -1
  677. package/lib/Cloudflare/Workflows/Workflow.js +47 -0
  678. package/lib/Cloudflare/Workflows/Workflow.js.map +1 -1
  679. package/lib/Cloudflare/Workflows/WorkflowBridge.js +7 -4
  680. package/lib/Cloudflare/Workflows/WorkflowBridge.js.map +1 -1
  681. package/lib/Command/Command.d.ts +1 -1
  682. package/lib/Command/Command.d.ts.map +1 -1
  683. package/lib/Command/Command.js +2 -2
  684. package/lib/Command/Command.js.map +1 -1
  685. package/lib/Command/Dev.d.ts +5 -2
  686. package/lib/Command/Dev.d.ts.map +1 -1
  687. package/lib/Command/Dev.js +31 -7
  688. package/lib/Command/Dev.js.map +1 -1
  689. package/lib/Command/Providers.d.ts +1 -1
  690. package/lib/Command/Providers.d.ts.map +1 -1
  691. package/lib/Deploy.d.ts +1 -1
  692. package/lib/Deploy.d.ts.map +1 -1
  693. package/lib/Destroy.d.ts +1 -1
  694. package/lib/Destroy.d.ts.map +1 -1
  695. package/lib/Docker/BuildHash.d.ts +13 -0
  696. package/lib/Docker/BuildHash.d.ts.map +1 -1
  697. package/lib/Docker/BuildHash.js +53 -3
  698. package/lib/Docker/BuildHash.js.map +1 -1
  699. package/lib/Docker/Docker.d.ts +1 -1
  700. package/lib/Docker/Docker.d.ts.map +1 -1
  701. package/lib/Docker/Docker.js +1 -1
  702. package/lib/Docker/Docker.js.map +1 -1
  703. package/lib/Docker/Service.d.ts +7 -21
  704. package/lib/Docker/Service.d.ts.map +1 -1
  705. package/lib/Docker/Service.js +7 -21
  706. package/lib/Docker/Service.js.map +1 -1
  707. package/lib/Docker/ServiceImage.d.ts +4 -5
  708. package/lib/Docker/ServiceImage.d.ts.map +1 -1
  709. package/lib/Docker/ServiceImage.js.map +1 -1
  710. package/lib/Drift.d.ts +91 -0
  711. package/lib/Drift.d.ts.map +1 -0
  712. package/lib/{Sync.js → Drift.js} +98 -29
  713. package/lib/Drift.js.map +1 -0
  714. package/lib/Drizzle/Schema.d.ts.map +1 -1
  715. package/lib/Drizzle/Schema.js +5 -5
  716. package/lib/Drizzle/Schema.js.map +1 -1
  717. package/lib/Fly/App.d.ts +1 -1
  718. package/lib/Fly/App.d.ts.map +1 -1
  719. package/lib/Fly/AuthProvider.d.ts +6 -20
  720. package/lib/Fly/AuthProvider.d.ts.map +1 -1
  721. package/lib/Fly/AuthProvider.js +32 -124
  722. package/lib/Fly/AuthProvider.js.map +1 -1
  723. package/lib/Fly/Bucket.d.ts +1 -1
  724. package/lib/Fly/Bucket.d.ts.map +1 -1
  725. package/lib/Fly/Catalog.d.ts +1 -1
  726. package/lib/Fly/Catalog.d.ts.map +1 -1
  727. package/lib/Fly/CheckpointHttp.d.ts.map +1 -1
  728. package/lib/Fly/CheckpointHttp.js +2 -2
  729. package/lib/Fly/CheckpointHttp.js.map +1 -1
  730. package/lib/Fly/Credentials.d.ts +15 -6
  731. package/lib/Fly/Credentials.d.ts.map +1 -1
  732. package/lib/Fly/Credentials.js +25 -13
  733. package/lib/Fly/Credentials.js.map +1 -1
  734. package/lib/Fly/DecryptHttp.d.ts.map +1 -1
  735. package/lib/Fly/DecryptHttp.js +2 -2
  736. package/lib/Fly/DecryptHttp.js.map +1 -1
  737. package/lib/Fly/EncryptHttp.d.ts.map +1 -1
  738. package/lib/Fly/EncryptHttp.js +2 -2
  739. package/lib/Fly/EncryptHttp.js.map +1 -1
  740. package/lib/Fly/Environment.d.ts +1 -1
  741. package/lib/Fly/Environment.d.ts.map +1 -1
  742. package/lib/Fly/ExecHttp.d.ts.map +1 -1
  743. package/lib/Fly/ExecHttp.js +2 -2
  744. package/lib/Fly/ExecHttp.js.map +1 -1
  745. package/lib/Fly/GetSecretHttp.d.ts.map +1 -1
  746. package/lib/Fly/GetSecretHttp.js +2 -2
  747. package/lib/Fly/GetSecretHttp.js.map +1 -1
  748. package/lib/Fly/ListSecretsHttp.d.ts.map +1 -1
  749. package/lib/Fly/ListSecretsHttp.js +2 -2
  750. package/lib/Fly/ListSecretsHttp.js.map +1 -1
  751. package/lib/Fly/Machine.d.ts +65 -0
  752. package/lib/Fly/Machine.d.ts.map +1 -1
  753. package/lib/Fly/Machine.js +34 -19
  754. package/lib/Fly/Machine.js.map +1 -1
  755. package/lib/Fly/Postgres.d.ts +1 -1
  756. package/lib/Fly/Postgres.d.ts.map +1 -1
  757. package/lib/Fly/Providers.d.ts +1 -1
  758. package/lib/Fly/Providers.d.ts.map +1 -1
  759. package/lib/Fly/Providers.js +2 -2
  760. package/lib/Fly/Providers.js.map +1 -1
  761. package/lib/Fly/Redis.d.ts +1 -1
  762. package/lib/Fly/Redis.d.ts.map +1 -1
  763. package/lib/Fly/Service.d.ts +43 -0
  764. package/lib/Fly/Service.d.ts.map +1 -1
  765. package/lib/Fly/Service.js +44 -19
  766. package/lib/Fly/Service.js.map +1 -1
  767. package/lib/Fly/SignHttp.d.ts.map +1 -1
  768. package/lib/Fly/SignHttp.js +2 -2
  769. package/lib/Fly/SignHttp.js.map +1 -1
  770. package/lib/Fly/VerifyHttp.d.ts.map +1 -1
  771. package/lib/Fly/VerifyHttp.js +2 -2
  772. package/lib/Fly/VerifyHttp.js.map +1 -1
  773. package/lib/Fly/Volume.d.ts +8 -8
  774. package/lib/Fly/Volume.d.ts.map +1 -1
  775. package/lib/Fly/WriteSecretHttp.d.ts.map +1 -1
  776. package/lib/Fly/WriteSecretHttp.js +2 -2
  777. package/lib/Fly/WriteSecretHttp.js.map +1 -1
  778. package/lib/Fly/replicas.d.ts +12 -10
  779. package/lib/Fly/replicas.d.ts.map +1 -1
  780. package/lib/Fly/replicas.js +35 -0
  781. package/lib/Fly/replicas.js.map +1 -1
  782. package/lib/GitHub/AuthProvider.d.ts +20 -29
  783. package/lib/GitHub/AuthProvider.d.ts.map +1 -1
  784. package/lib/GitHub/AuthProvider.js +141 -75
  785. package/lib/GitHub/AuthProvider.js.map +1 -1
  786. package/lib/GitHub/Credentials.d.ts +2 -3
  787. package/lib/GitHub/Credentials.d.ts.map +1 -1
  788. package/lib/GitHub/Credentials.js +6 -10
  789. package/lib/GitHub/Credentials.js.map +1 -1
  790. package/lib/GitHub/Providers.d.ts +3 -3
  791. package/lib/GitHub/Providers.d.ts.map +1 -1
  792. package/lib/GitHub/Providers.js +4 -4
  793. package/lib/GitHub/Providers.js.map +1 -1
  794. package/lib/Hetzner/AuthProvider.d.ts +7 -20
  795. package/lib/Hetzner/AuthProvider.d.ts.map +1 -1
  796. package/lib/Hetzner/AuthProvider.js +42 -130
  797. package/lib/Hetzner/AuthProvider.js.map +1 -1
  798. package/lib/Hetzner/Catalog.d.ts +5 -5
  799. package/lib/Hetzner/Catalog.d.ts.map +1 -1
  800. package/lib/Hetzner/Credentials.d.ts +1 -3
  801. package/lib/Hetzner/Credentials.d.ts.map +1 -1
  802. package/lib/Hetzner/Credentials.js +4 -9
  803. package/lib/Hetzner/Credentials.js.map +1 -1
  804. package/lib/Hetzner/PlacementGroup.d.ts +1 -1
  805. package/lib/Hetzner/PlacementGroup.d.ts.map +1 -1
  806. package/lib/Hetzner/Providers.d.ts +1 -1
  807. package/lib/Hetzner/Providers.d.ts.map +1 -1
  808. package/lib/Hetzner/Providers.js +2 -2
  809. package/lib/Hetzner/Providers.js.map +1 -1
  810. package/lib/Hetzner/hosted.d.ts +1 -1
  811. package/lib/Interaction.d.ts +186 -0
  812. package/lib/Interaction.d.ts.map +1 -0
  813. package/lib/Interaction.js +149 -0
  814. package/lib/Interaction.js.map +1 -0
  815. package/lib/Kubernetes/ClusterAdapter.d.ts +4 -5
  816. package/lib/Kubernetes/ClusterAdapter.d.ts.map +1 -1
  817. package/lib/Kubernetes/ClusterAdapter.js.map +1 -1
  818. package/lib/Kubernetes/Deployment.d.ts +7 -21
  819. package/lib/Kubernetes/Deployment.d.ts.map +1 -1
  820. package/lib/Kubernetes/Deployment.js +7 -21
  821. package/lib/Kubernetes/Deployment.js.map +1 -1
  822. package/lib/Kubernetes/Job.d.ts +7 -21
  823. package/lib/Kubernetes/Job.d.ts.map +1 -1
  824. package/lib/Kubernetes/Job.js +7 -21
  825. package/lib/Kubernetes/Job.js.map +1 -1
  826. package/lib/Local/DevLog.d.ts +32 -0
  827. package/lib/Local/DevLog.d.ts.map +1 -0
  828. package/lib/Local/DevLog.js +114 -0
  829. package/lib/Local/DevLog.js.map +1 -0
  830. package/lib/Local/LocalProvider.d.ts +1 -1
  831. package/lib/Local/LocalProvider.d.ts.map +1 -1
  832. package/lib/Local/LocalProvider.js +2 -2
  833. package/lib/Local/LocalProvider.js.map +1 -1
  834. package/lib/Local/RpcServer.d.ts.map +1 -1
  835. package/lib/Local/RpcServer.js +10 -1
  836. package/lib/Local/RpcServer.js.map +1 -1
  837. package/lib/Local/RpcServerEnvironment.d.ts +2 -2
  838. package/lib/Local/RpcServerEnvironment.d.ts.map +1 -1
  839. package/lib/Local/RpcServerEnvironment.js +3 -2
  840. package/lib/Local/RpcServerEnvironment.js.map +1 -1
  841. package/lib/Local/RpcSpawner.d.ts +14 -5
  842. package/lib/Local/RpcSpawner.d.ts.map +1 -1
  843. package/lib/Local/RpcSpawner.js +105 -38
  844. package/lib/Local/RpcSpawner.js.map +1 -1
  845. package/lib/Neon/AuthProvider.d.ts +4 -13
  846. package/lib/Neon/AuthProvider.d.ts.map +1 -1
  847. package/lib/Neon/AuthProvider.js +24 -107
  848. package/lib/Neon/AuthProvider.js.map +1 -1
  849. package/lib/Neon/Credentials.d.ts +1 -3
  850. package/lib/Neon/Credentials.d.ts.map +1 -1
  851. package/lib/Neon/Credentials.js +4 -9
  852. package/lib/Neon/Credentials.js.map +1 -1
  853. package/lib/Neon/Providers.d.ts +1 -1
  854. package/lib/Neon/Providers.d.ts.map +1 -1
  855. package/lib/Neon/Providers.js +2 -2
  856. package/lib/Neon/Providers.js.map +1 -1
  857. package/lib/Nuke.d.ts +89 -0
  858. package/lib/Nuke.d.ts.map +1 -0
  859. package/lib/Nuke.js +265 -0
  860. package/lib/Nuke.js.map +1 -0
  861. package/lib/Plan.d.ts +27 -5
  862. package/lib/Plan.d.ts.map +1 -1
  863. package/lib/Plan.js +167 -21
  864. package/lib/Plan.js.map +1 -1
  865. package/lib/Planetscale/AuthProvider.d.ts +25 -37
  866. package/lib/Planetscale/AuthProvider.d.ts.map +1 -1
  867. package/lib/Planetscale/AuthProvider.js +267 -150
  868. package/lib/Planetscale/AuthProvider.js.map +1 -1
  869. package/lib/Planetscale/Credentials.d.ts +2 -3
  870. package/lib/Planetscale/Credentials.d.ts.map +1 -1
  871. package/lib/Planetscale/Credentials.js +16 -13
  872. package/lib/Planetscale/Credentials.js.map +1 -1
  873. package/lib/Planetscale/OAuthClient.d.ts +8 -52
  874. package/lib/Planetscale/OAuthClient.d.ts.map +1 -1
  875. package/lib/Planetscale/OAuthClient.js +18 -240
  876. package/lib/Planetscale/OAuthClient.js.map +1 -1
  877. package/lib/Planetscale/Providers.d.ts +1 -1
  878. package/lib/Planetscale/Providers.d.ts.map +1 -1
  879. package/lib/Planetscale/Providers.js +2 -2
  880. package/lib/Planetscale/Providers.js.map +1 -1
  881. package/lib/Planetscale/Util.d.ts +1 -1
  882. package/lib/Planetscale/Util.d.ts.map +1 -1
  883. package/lib/Prisma/AuthProvider.d.ts +7 -15
  884. package/lib/Prisma/AuthProvider.d.ts.map +1 -1
  885. package/lib/Prisma/AuthProvider.js +54 -121
  886. package/lib/Prisma/AuthProvider.js.map +1 -1
  887. package/lib/Prisma/Compute.d.ts +7 -21
  888. package/lib/Prisma/Compute.d.ts.map +1 -1
  889. package/lib/Prisma/Compute.js +7 -21
  890. package/lib/Prisma/Compute.js.map +1 -1
  891. package/lib/Prisma/PrismaEnvironment.d.ts +1 -2
  892. package/lib/Prisma/PrismaEnvironment.d.ts.map +1 -1
  893. package/lib/Prisma/PrismaEnvironment.js +3 -8
  894. package/lib/Prisma/PrismaEnvironment.js.map +1 -1
  895. package/lib/Prisma/Providers.d.ts +3 -3
  896. package/lib/Prisma/Providers.d.ts.map +1 -1
  897. package/lib/Prisma/Providers.js +7 -7
  898. package/lib/Prisma/Providers.js.map +1 -1
  899. package/lib/Provider.d.ts +10 -2
  900. package/lib/Provider.d.ts.map +1 -1
  901. package/lib/Provider.js +9 -10
  902. package/lib/Provider.js.map +1 -1
  903. package/lib/Railway/AuditLog.d.ts +2 -2
  904. package/lib/Railway/AuditLog.d.ts.map +1 -1
  905. package/lib/Railway/AuthProvider.d.ts +19 -19
  906. package/lib/Railway/AuthProvider.d.ts.map +1 -1
  907. package/lib/Railway/AuthProvider.js +193 -127
  908. package/lib/Railway/AuthProvider.js.map +1 -1
  909. package/lib/Railway/Bucket.js +2 -2
  910. package/lib/Railway/CloudAgent.js +2 -2
  911. package/lib/Railway/Credentials.d.ts +2 -5
  912. package/lib/Railway/Credentials.d.ts.map +1 -1
  913. package/lib/Railway/Credentials.js +5 -11
  914. package/lib/Railway/Credentials.js.map +1 -1
  915. package/lib/Railway/CustomDomain.js +3 -3
  916. package/lib/Railway/Function.js +6 -6
  917. package/lib/Railway/Group.js +2 -2
  918. package/lib/Railway/LoginSession.d.ts +3 -3
  919. package/lib/Railway/LoginSession.js +5 -5
  920. package/lib/Railway/Mongo.js +13 -13
  921. package/lib/Railway/MySQL.js +13 -13
  922. package/lib/Railway/Postgres.js +13 -13
  923. package/lib/Railway/PrivateNetwork.js +2 -2
  924. package/lib/Railway/Project.d.ts +3 -3
  925. package/lib/Railway/Project.d.ts.map +1 -1
  926. package/lib/Railway/Project.js +3 -3
  927. package/lib/Railway/ProjectEnvironment.js +3 -3
  928. package/lib/Railway/Providers.d.ts +1 -1
  929. package/lib/Railway/Providers.d.ts.map +1 -1
  930. package/lib/Railway/Providers.js +2 -2
  931. package/lib/Railway/Providers.js.map +1 -1
  932. package/lib/Railway/Redis.js +5 -5
  933. package/lib/Railway/Sandbox.d.ts +6 -6
  934. package/lib/Railway/Sandbox.js +5 -5
  935. package/lib/Railway/Service.d.ts +72 -1
  936. package/lib/Railway/Service.d.ts.map +1 -1
  937. package/lib/Railway/Service.js +42 -0
  938. package/lib/Railway/Service.js.map +1 -1
  939. package/lib/Railway/ServiceDomain.d.ts +28 -2
  940. package/lib/Railway/ServiceDomain.d.ts.map +1 -1
  941. package/lib/Railway/ServiceDomain.js +134 -17
  942. package/lib/Railway/ServiceDomain.js.map +1 -1
  943. package/lib/Railway/ServiceProvider.d.ts +2 -10
  944. package/lib/Railway/ServiceProvider.d.ts.map +1 -1
  945. package/lib/Railway/ServiceProvider.js +170 -64
  946. package/lib/Railway/ServiceProvider.js.map +1 -1
  947. package/lib/Railway/TcpProxy.js +2 -2
  948. package/lib/Railway/Template.js +2 -2
  949. package/lib/Railway/Usage.js +2 -2
  950. package/lib/Railway/Variable.js +2 -2
  951. package/lib/Railway/Volume.d.ts +1 -1
  952. package/lib/Railway/Volume.d.ts.map +1 -1
  953. package/lib/Railway/Volume.js +4 -4
  954. package/lib/Railway/VolumeBackup.d.ts +2 -2
  955. package/lib/Railway/VolumeBackup.js +8 -8
  956. package/lib/Railway/local-context.d.ts +125 -0
  957. package/lib/Railway/local-context.d.ts.map +1 -0
  958. package/lib/Railway/local-context.js +254 -0
  959. package/lib/Railway/local-context.js.map +1 -0
  960. package/lib/Report.d.ts +248 -0
  961. package/lib/Report.d.ts.map +1 -0
  962. package/lib/Report.js +18 -0
  963. package/lib/Report.js.map +1 -0
  964. package/lib/Stack.d.ts +7 -6
  965. package/lib/Stack.d.ts.map +1 -1
  966. package/lib/Stack.js +2 -4
  967. package/lib/Stack.js.map +1 -1
  968. package/lib/State/Export.d.ts +6 -4
  969. package/lib/State/Export.d.ts.map +1 -1
  970. package/lib/State/Export.js +13 -18
  971. package/lib/State/Export.js.map +1 -1
  972. package/lib/State/HttpStateStore.d.ts +1 -1
  973. package/lib/State/HttpStateStore.d.ts.map +1 -1
  974. package/lib/State/HttpStateStore.js +10 -6
  975. package/lib/State/HttpStateStore.js.map +1 -1
  976. package/lib/State/LocalState.d.ts.map +1 -1
  977. package/lib/State/LocalState.js +6 -13
  978. package/lib/State/LocalState.js.map +1 -1
  979. package/lib/State/Tree.d.ts +62 -0
  980. package/lib/State/Tree.d.ts.map +1 -0
  981. package/lib/State/Tree.js +166 -0
  982. package/lib/State/Tree.js.map +1 -0
  983. package/lib/State/index.d.ts +1 -0
  984. package/lib/State/index.d.ts.map +1 -1
  985. package/lib/State/index.js +1 -0
  986. package/lib/State/index.js.map +1 -1
  987. package/lib/Telemetry/Layer.d.ts +6 -0
  988. package/lib/Telemetry/Layer.d.ts.map +1 -1
  989. package/lib/Telemetry/Layer.js +16 -5
  990. package/lib/Telemetry/Layer.js.map +1 -1
  991. package/lib/Telemetry.d.ts +5 -0
  992. package/lib/Telemetry.d.ts.map +1 -1
  993. package/lib/Telemetry.js +6 -1
  994. package/lib/Telemetry.js.map +1 -1
  995. package/lib/Test/Core.d.ts +4 -3
  996. package/lib/Test/Core.d.ts.map +1 -1
  997. package/lib/Test/Core.js +5 -3
  998. package/lib/Test/Core.js.map +1 -1
  999. package/lib/UserFacingError.d.ts +26 -0
  1000. package/lib/UserFacingError.d.ts.map +1 -0
  1001. package/lib/UserFacingError.js +25 -0
  1002. package/lib/UserFacingError.js.map +1 -0
  1003. package/lib/Util/AtomicFile.d.ts +19 -0
  1004. package/lib/Util/AtomicFile.d.ts.map +1 -0
  1005. package/lib/Util/AtomicFile.js +22 -0
  1006. package/lib/Util/AtomicFile.js.map +1 -0
  1007. package/lib/Util/ConsoleSink.d.ts +4 -0
  1008. package/lib/Util/ConsoleSink.d.ts.map +1 -0
  1009. package/lib/Util/ConsoleSink.js +24 -0
  1010. package/lib/Util/ConsoleSink.js.map +1 -0
  1011. package/lib/Util/LineBuffer.d.ts +9 -0
  1012. package/lib/Util/LineBuffer.d.ts.map +1 -0
  1013. package/lib/Util/LineBuffer.js +23 -0
  1014. package/lib/Util/LineBuffer.js.map +1 -0
  1015. package/lib/Util/Memoize.d.ts +20 -0
  1016. package/lib/Util/Memoize.d.ts.map +1 -0
  1017. package/lib/Util/Memoize.js +38 -0
  1018. package/lib/Util/Memoize.js.map +1 -0
  1019. package/lib/Util/Node.d.ts +22 -5
  1020. package/lib/Util/Node.d.ts.map +1 -1
  1021. package/lib/Util/Node.js +30 -10
  1022. package/lib/Util/Node.js.map +1 -1
  1023. package/lib/Util/PlatformServices.d.ts +6 -2
  1024. package/lib/Util/PlatformServices.d.ts.map +1 -1
  1025. package/lib/Util/PlatformServices.js +6 -2
  1026. package/lib/Util/PlatformServices.js.map +1 -1
  1027. package/lib/Util/ResourceOutput.d.ts +30 -0
  1028. package/lib/Util/ResourceOutput.d.ts.map +1 -0
  1029. package/lib/Util/ResourceOutput.js +60 -0
  1030. package/lib/Util/ResourceOutput.js.map +1 -0
  1031. package/lib/Util/Terminal.d.ts +23 -0
  1032. package/lib/Util/Terminal.d.ts.map +1 -0
  1033. package/lib/Util/Terminal.js +57 -0
  1034. package/lib/Util/Terminal.js.map +1 -0
  1035. package/lib/Util/Theme.d.ts +123 -0
  1036. package/lib/Util/Theme.d.ts.map +1 -0
  1037. package/lib/Util/Theme.js +133 -0
  1038. package/lib/Util/Theme.js.map +1 -0
  1039. package/lib/Util/interactive.d.ts +17 -12
  1040. package/lib/Util/interactive.d.ts.map +1 -1
  1041. package/lib/Util/interactive.js +81 -13
  1042. package/lib/Util/interactive.js.map +1 -1
  1043. package/lib/Util/scc.d.ts +11 -3
  1044. package/lib/Util/scc.d.ts.map +1 -1
  1045. package/lib/Util/scc.js +35 -22
  1046. package/lib/Util/scc.js.map +1 -1
  1047. package/lib/Util/tarGzip.d.ts +3 -1
  1048. package/lib/Util/tarGzip.d.ts.map +1 -1
  1049. package/lib/Util/tarGzip.js +15 -5
  1050. package/lib/Util/tarGzip.js.map +1 -1
  1051. package/lib/index.d.ts +4 -2
  1052. package/lib/index.d.ts.map +1 -1
  1053. package/lib/index.js +4 -2
  1054. package/lib/index.js.map +1 -1
  1055. package/package.json +40 -38
  1056. package/src/AWS/AGENTS.md +1 -1
  1057. package/src/AWS/AMP/Scraper.ts +1 -1
  1058. package/src/AWS/AppRunner/Service.ts +11 -27
  1059. package/src/AWS/Assets.ts +2 -2
  1060. package/src/AWS/AuthProvider.ts +748 -429
  1061. package/src/AWS/Batch/JobDefinition.ts +11 -27
  1062. package/src/AWS/EC2/Instance.ts +12 -28
  1063. package/src/AWS/EC2/InternetGateway.ts +1 -1
  1064. package/src/AWS/EC2/NatGateway.ts +1 -1
  1065. package/src/AWS/EC2/NetworkInterface.ts +1 -1
  1066. package/src/AWS/EC2/NetworkInterfaceAttachment.ts +1 -1
  1067. package/src/AWS/EC2/RouteTable.ts +1 -1
  1068. package/src/AWS/EC2/RouteTableAssociation.ts +1 -1
  1069. package/src/AWS/EC2/Snapshot.ts +1 -1
  1070. package/src/AWS/EC2/Subnet.ts +1 -1
  1071. package/src/AWS/EC2/Volume.ts +1 -1
  1072. package/src/AWS/EC2/VolumeAttachment.ts +1 -1
  1073. package/src/AWS/EC2/Vpc.ts +1 -1
  1074. package/src/AWS/EC2/VpcEndpoint.ts +1 -1
  1075. package/src/AWS/EC2/hosted.ts +5 -6
  1076. package/src/AWS/ECR/ImageSource.ts +4 -5
  1077. package/src/AWS/ECS/Service.ts +7 -21
  1078. package/src/AWS/ECS/Task.ts +7 -21
  1079. package/src/AWS/ElastiCache/CacheCluster.ts +323 -0
  1080. package/src/AWS/ElastiCache/ConnectCacheCluster.ts +58 -0
  1081. package/src/AWS/ElastiCache/ConnectCacheClusterHttp.ts +77 -0
  1082. package/src/AWS/ElastiCache/ConnectReplicationGroup.ts +62 -0
  1083. package/src/AWS/ElastiCache/ConnectReplicationGroupHttp.ts +110 -0
  1084. package/src/AWS/ElastiCache/ReplicationGroup.ts +594 -0
  1085. package/src/AWS/ElastiCache/SubnetGroup.ts +208 -0
  1086. package/src/AWS/ElastiCache/index.ts +7 -0
  1087. package/src/AWS/ElastiCache/internal.ts +36 -0
  1088. package/src/AWS/Environment.ts +15 -48
  1089. package/src/AWS/IAM/actions.generated.ts +1 -1
  1090. package/src/AWS/IdentityCenter/AccountAssignment.ts +7 -0
  1091. package/src/AWS/Lambda/Function.ts +26 -28
  1092. package/src/AWS/Lambda/MicrovmImage.ts +12 -28
  1093. package/src/AWS/Lambda/MicrovmProvider.ts +1 -1
  1094. package/src/AWS/Lambda/NetworkConnector.ts +1 -1
  1095. package/src/AWS/Local/DevWatchProvider.ts +10 -1
  1096. package/src/AWS/Organizations/Account.ts +18 -10
  1097. package/src/AWS/Organizations/DelegatedAdministrator.ts +7 -7
  1098. package/src/AWS/Organizations/Organization.ts +3 -5
  1099. package/src/AWS/Organizations/common.ts +17 -0
  1100. package/src/AWS/Providers.ts +12 -0
  1101. package/src/AWS/S3/Bucket.ts +1 -1
  1102. package/src/Alchemist/Errors.ts +36 -0
  1103. package/src/Alchemist/Progress.ts +175 -0
  1104. package/src/Alchemist/Runtime.ts +40 -0
  1105. package/src/Alchemist/Session.ts +460 -0
  1106. package/src/Alchemist/index.ts +24 -0
  1107. package/src/Alchemist/routes/aws.ts +88 -0
  1108. package/src/Alchemist/routes/cloudflare.ts +188 -0
  1109. package/src/Alchemist/routes/cloudflareToken.ts +215 -0
  1110. package/src/Alchemist/routes/drift.ts +94 -0
  1111. package/src/Alchemist/routes/logs.ts +185 -0
  1112. package/src/Alchemist/routes/nuke.ts +146 -0
  1113. package/src/Alchemist/routes/profile.ts +427 -0
  1114. package/src/Alchemist/routes/provider.ts +107 -0
  1115. package/src/Alchemist/routes/stack.ts +137 -0
  1116. package/src/Alchemist/routes/state.ts +77 -0
  1117. package/src/Apply.ts +312 -173
  1118. package/src/Auth/AuthProvider.ts +416 -158
  1119. package/src/Auth/BrowserOAuth.ts +68 -0
  1120. package/src/Auth/Credentials.ts +155 -46
  1121. package/src/Auth/CredentialsCache.ts +57 -0
  1122. package/src/Auth/Demand.ts +208 -83
  1123. package/src/Auth/Env.ts +38 -14
  1124. package/src/Auth/Inspect.ts +129 -0
  1125. package/src/Auth/Lock.ts +26 -11
  1126. package/src/Auth/OAuthFlow.ts +551 -0
  1127. package/src/Auth/Paths.ts +30 -0
  1128. package/src/Auth/Profile.ts +768 -164
  1129. package/src/Auth/Resolve.ts +136 -0
  1130. package/src/Auth/StoredAuthProvider.ts +291 -0
  1131. package/src/Auth/index.ts +1 -0
  1132. package/src/Axiom/AuthProvider.ts +112 -314
  1133. package/src/Axiom/Credentials.ts +5 -13
  1134. package/src/Axiom/Providers.ts +3 -3
  1135. package/src/Bundle/Bundle.ts +3 -5
  1136. package/src/Cli/CliKit/CliKit.ts +183 -0
  1137. package/src/Cli/CliKit/index.ts +50 -0
  1138. package/src/Cli/CliKit/interaction.ts +19 -0
  1139. package/src/Cli/CliKit/layer.ts +50 -0
  1140. package/src/Cli/DevOptions.ts +19 -0
  1141. package/src/Cli/Format.ts +31 -0
  1142. package/src/Cli/GlobalLog.ts +147 -0
  1143. package/src/Cli/LoggingCli.ts +312 -108
  1144. package/src/Cli/ModeTag.ts +1 -1
  1145. package/src/Cli/NamespaceTree.ts +94 -21
  1146. package/src/Cli/PlainCliFormatter.ts +75 -0
  1147. package/src/Cli/PropertyDiff.ts +229 -0
  1148. package/src/Cli/checkVersion.ts +19 -6
  1149. package/src/Cli/commands/aws.ts +67 -100
  1150. package/src/Cli/commands/cloudflare.ts +195 -435
  1151. package/src/Cli/commands/compat.ts +25 -0
  1152. package/src/Cli/commands/confirm.ts +46 -0
  1153. package/src/Cli/commands/deploy.ts +225 -212
  1154. package/src/Cli/commands/dev.ts +72 -34
  1155. package/src/Cli/commands/drift.ts +107 -0
  1156. package/src/Cli/commands/errors.ts +162 -0
  1157. package/src/Cli/commands/flags.ts +199 -0
  1158. package/src/Cli/commands/instrument.ts +18 -0
  1159. package/src/Cli/commands/logs.ts +125 -143
  1160. package/src/Cli/commands/nuke.ts +138 -811
  1161. package/src/Cli/commands/profile/commands.ts +482 -0
  1162. package/src/Cli/commands/profile/flows.ts +218 -0
  1163. package/src/Cli/commands/profile/hub.ts +191 -0
  1164. package/src/Cli/commands/profile/index.ts +1 -0
  1165. package/src/Cli/commands/provider.ts +63 -0
  1166. package/src/Cli/commands/render.ts +121 -0
  1167. package/src/Cli/commands/state.ts +250 -387
  1168. package/src/Cli/components/types.ts +141 -0
  1169. package/src/Cli/components/ui/Data.tsx +44 -0
  1170. package/src/Cli/components/ui/Environment.tsx +86 -0
  1171. package/src/Cli/components/ui/Feedback.tsx +269 -0
  1172. package/src/Cli/components/ui/Interactive.tsx +1062 -0
  1173. package/src/Cli/components/ui/Layout.tsx +252 -0
  1174. package/src/Cli/components/ui/Live.tsx +131 -0
  1175. package/src/Cli/components/ui/ProgressBar.tsx +57 -0
  1176. package/src/Cli/components/ui/Transcript.tsx +42 -0
  1177. package/src/Cli/components/ui/Typography.tsx +83 -0
  1178. package/src/Cli/components/ui/index.ts +68 -0
  1179. package/src/Cli/components/view/ApprovePlan.tsx +101 -0
  1180. package/src/Cli/components/view/Help.tsx +381 -0
  1181. package/src/Cli/components/view/Logo.tsx +168 -0
  1182. package/src/Cli/components/view/Nuke.tsx +258 -0
  1183. package/src/Cli/components/view/PlanDecision.tsx +80 -0
  1184. package/src/Cli/components/view/PlanRow.tsx +39 -0
  1185. package/src/Cli/components/view/PlanTree.ts +354 -0
  1186. package/src/Cli/components/view/PlanView.tsx +825 -0
  1187. package/src/Cli/components/view/Profile.tsx +446 -0
  1188. package/src/Cli/components/view/ProfileDashboard.tsx +929 -0
  1189. package/src/Cli/components/view/Prompts.tsx +793 -0
  1190. package/src/Cli/components/view/Runtime.tsx +975 -0
  1191. package/src/Cli/components/view/SigilCli.tsx +186 -0
  1192. package/src/Cli/components/view/StackOutputs.tsx +38 -0
  1193. package/src/Cli/components/view/StateExplorer.tsx +1179 -0
  1194. package/src/Cli/components/view/statusStyle.ts +97 -0
  1195. package/src/Cli/components/view/usePlanPresentation.ts +82 -0
  1196. package/src/Cli/components/view/usePlanViewport.ts +172 -0
  1197. package/src/Cli/exec.ts +278 -32
  1198. package/src/Cli/main.ts +189 -42
  1199. package/src/Cli/selectCli.ts +30 -15
  1200. package/src/Cloudflare/ApiToken/UserApiToken.ts +1 -1
  1201. package/src/Cloudflare/Auth/AuthConfig.ts +117 -0
  1202. package/src/Cloudflare/Auth/AuthProvider.ts +712 -608
  1203. package/src/Cloudflare/Auth/OAuthClient.ts +40 -366
  1204. package/src/Cloudflare/Auth/OAuthScopes.ts +921 -0
  1205. package/src/Cloudflare/Auth/TokenPolicy.ts +79 -0
  1206. package/src/Cloudflare/CloudflareEnvironment.ts +7 -17
  1207. package/src/Cloudflare/Containers/Container.ts +12 -24
  1208. package/src/Cloudflare/Containers/ContainerApplication.ts +12 -27
  1209. package/src/Cloudflare/Credentials.ts +18 -72
  1210. package/src/Cloudflare/EdgeSession.ts +2 -3
  1211. package/src/Cloudflare/Logs.ts +16 -10
  1212. package/src/Cloudflare/Pages/Project.ts +1 -1
  1213. package/src/Cloudflare/Providers.ts +2 -2
  1214. package/src/Cloudflare/StateStore/Api.ts +2 -2
  1215. package/src/Cloudflare/StateStore/CredentialsFile.ts +11 -6
  1216. package/src/Cloudflare/StateStore/State.ts +247 -194
  1217. package/src/Cloudflare/Vectorize/SearchIndexHttpClient.ts +2 -2
  1218. package/src/Cloudflare/Website/Nextjs.ts +4 -15
  1219. package/src/Cloudflare/Website/Vocs.ts +3 -7
  1220. package/src/Cloudflare/Workers/Assets.ts +106 -38
  1221. package/src/Cloudflare/Workers/BrowserHttpClient.ts +10 -3
  1222. package/src/Cloudflare/Workers/CloudflareTracer.ts +113 -0
  1223. package/src/Cloudflare/Workers/Compatibility.ts +37 -7
  1224. package/src/Cloudflare/Workers/DurableObject.ts +50 -4
  1225. package/src/Cloudflare/Workers/DurableObjectBridge.ts +8 -0
  1226. package/src/Cloudflare/Workers/DurableObjectState.ts +46 -9
  1227. package/src/Cloudflare/Workers/DurableObjectStorage.ts +25 -12
  1228. package/src/Cloudflare/Workers/LocalWorkerProvider.ts +172 -58
  1229. package/src/Cloudflare/Workers/RpcWorker.ts +44 -18
  1230. package/src/Cloudflare/Workers/Source.ts +9 -1
  1231. package/src/Cloudflare/Workers/Sources/Python.ts +18 -12
  1232. package/src/Cloudflare/Workers/Sources/Rolldown.ts +1 -1
  1233. package/src/Cloudflare/Workers/Sources/Vite.ts +42 -34
  1234. package/src/Cloudflare/Workers/Telemetry.ts +170 -0
  1235. package/src/Cloudflare/Workers/ViteBuildChildRunner.ts +6 -1
  1236. package/src/Cloudflare/Workers/ViteChild.shared.ts +1 -0
  1237. package/src/Cloudflare/Workers/ViteChild.ts +21 -19
  1238. package/src/Cloudflare/Workers/ViteChildRunner.ts +2 -1
  1239. package/src/Cloudflare/Workers/Worker.ts +101 -50
  1240. package/src/Cloudflare/Workers/WorkerAsyncBindings.ts +29 -0
  1241. package/src/Cloudflare/Workers/WorkerLoader.ts +40 -8
  1242. package/src/Cloudflare/Workers/WorkerProvider.ts +64 -29
  1243. package/src/Cloudflare/Workers/cloudflare_workers.ts +5 -1
  1244. package/src/Cloudflare/Workers/index.ts +1 -0
  1245. package/src/Cloudflare/Workflows/Workflow.ts +105 -0
  1246. package/src/Cloudflare/Workflows/WorkflowBridge.ts +5 -3
  1247. package/src/Command/Command.ts +11 -3
  1248. package/src/Command/Dev.ts +33 -8
  1249. package/src/Docker/BuildHash.ts +75 -8
  1250. package/src/Docker/Docker.ts +7 -2
  1251. package/src/Docker/Service.ts +7 -21
  1252. package/src/Docker/ServiceImage.ts +4 -5
  1253. package/src/{Sync.ts → Drift.ts} +161 -59
  1254. package/src/Drizzle/Schema.ts +5 -7
  1255. package/src/Fly/AuthProvider.ts +44 -232
  1256. package/src/Fly/CheckpointHttp.ts +5 -2
  1257. package/src/Fly/Credentials.ts +29 -16
  1258. package/src/Fly/DecryptHttp.ts +5 -2
  1259. package/src/Fly/EncryptHttp.ts +5 -2
  1260. package/src/Fly/ExecHttp.ts +5 -2
  1261. package/src/Fly/GetSecretHttp.ts +5 -2
  1262. package/src/Fly/ListSecretsHttp.ts +5 -2
  1263. package/src/Fly/Machine.ts +67 -20
  1264. package/src/Fly/Providers.ts +2 -2
  1265. package/src/Fly/Service.ts +44 -20
  1266. package/src/Fly/SignHttp.ts +5 -2
  1267. package/src/Fly/VerifyHttp.ts +5 -2
  1268. package/src/Fly/WriteSecretHttp.ts +5 -2
  1269. package/src/Fly/replicas.ts +47 -1
  1270. package/src/GitHub/AuthProvider.ts +225 -143
  1271. package/src/GitHub/Credentials.ts +6 -13
  1272. package/src/GitHub/Providers.ts +4 -4
  1273. package/src/Hetzner/AuthProvider.ts +50 -238
  1274. package/src/Hetzner/Credentials.ts +4 -12
  1275. package/src/Hetzner/Providers.ts +2 -2
  1276. package/src/Interaction.ts +354 -0
  1277. package/src/Kubernetes/ClusterAdapter.ts +4 -5
  1278. package/src/Kubernetes/Deployment.ts +7 -21
  1279. package/src/Kubernetes/Job.ts +7 -21
  1280. package/src/Local/DevLog.ts +135 -0
  1281. package/src/Local/LocalProvider.ts +3 -3
  1282. package/src/Local/RpcServer.ts +11 -0
  1283. package/src/Local/RpcServerEnvironment.ts +3 -2
  1284. package/src/Local/RpcSpawner.ts +161 -78
  1285. package/src/Neon/AuthProvider.ts +31 -203
  1286. package/src/Neon/Credentials.ts +4 -12
  1287. package/src/Neon/Providers.ts +2 -2
  1288. package/src/Nuke.ts +463 -0
  1289. package/src/Plan.ts +920 -708
  1290. package/src/Planetscale/AuthProvider.ts +397 -324
  1291. package/src/Planetscale/Credentials.ts +21 -19
  1292. package/src/Planetscale/OAuthClient.ts +34 -328
  1293. package/src/Planetscale/Providers.ts +2 -2
  1294. package/src/Planetscale/Util.ts +1 -1
  1295. package/src/Prisma/AuthProvider.ts +62 -240
  1296. package/src/Prisma/Compute.ts +7 -21
  1297. package/src/Prisma/PrismaEnvironment.ts +6 -14
  1298. package/src/Prisma/Providers.ts +7 -7
  1299. package/src/Provider.ts +12 -13
  1300. package/src/Railway/AuthProvider.ts +291 -235
  1301. package/src/Railway/Bucket.ts +6 -6
  1302. package/src/Railway/CloudAgent.ts +4 -4
  1303. package/src/Railway/Credentials.ts +5 -14
  1304. package/src/Railway/CustomDomain.ts +5 -5
  1305. package/src/Railway/Function.ts +10 -10
  1306. package/src/Railway/Group.ts +2 -2
  1307. package/src/Railway/LoginSession.ts +5 -5
  1308. package/src/Railway/Mongo.ts +19 -19
  1309. package/src/Railway/MySQL.ts +19 -19
  1310. package/src/Railway/Postgres.ts +19 -19
  1311. package/src/Railway/PrivateNetwork.ts +2 -2
  1312. package/src/Railway/Project.ts +7 -7
  1313. package/src/Railway/ProjectEnvironment.ts +7 -7
  1314. package/src/Railway/Providers.ts +2 -2
  1315. package/src/Railway/Redis.ts +9 -9
  1316. package/src/Railway/Sandbox.ts +10 -10
  1317. package/src/Railway/Service.ts +72 -1
  1318. package/src/Railway/ServiceDomain.ts +253 -27
  1319. package/src/Railway/ServiceProvider.ts +234 -87
  1320. package/src/Railway/TcpProxy.ts +4 -4
  1321. package/src/Railway/Template.ts +12 -12
  1322. package/src/Railway/Usage.ts +2 -2
  1323. package/src/Railway/Variable.ts +2 -2
  1324. package/src/Railway/Volume.ts +4 -4
  1325. package/src/Railway/VolumeBackup.ts +11 -11
  1326. package/src/Railway/local-context.ts +333 -0
  1327. package/src/Report.ts +365 -0
  1328. package/src/Stack.ts +12 -8
  1329. package/src/State/Export.ts +28 -47
  1330. package/src/State/HttpStateStore.ts +15 -8
  1331. package/src/State/LocalState.ts +6 -16
  1332. package/src/State/Tree.ts +277 -0
  1333. package/src/State/index.ts +1 -0
  1334. package/src/Telemetry/Layer.ts +16 -5
  1335. package/src/Telemetry.ts +6 -1
  1336. package/src/Test/Core.ts +10 -4
  1337. package/src/UserFacingError.ts +35 -0
  1338. package/src/Util/AtomicFile.ts +36 -0
  1339. package/src/Util/ConsoleSink.ts +23 -0
  1340. package/src/Util/LineBuffer.ts +20 -0
  1341. package/src/Util/Memoize.ts +48 -0
  1342. package/src/Util/Node.ts +35 -14
  1343. package/src/Util/PlatformServices.ts +11 -1
  1344. package/src/Util/ResourceOutput.ts +77 -0
  1345. package/src/Util/Terminal.ts +81 -0
  1346. package/src/Util/Theme.ts +150 -0
  1347. package/src/Util/interactive.ts +103 -16
  1348. package/src/Util/scc.ts +43 -23
  1349. package/src/Util/tarGzip.ts +33 -5
  1350. package/src/index.ts +4 -2
  1351. package/lib/Cli/Cli.d.ts +0 -21
  1352. package/lib/Cli/Cli.d.ts.map +0 -1
  1353. package/lib/Cli/Cli.js +0 -5
  1354. package/lib/Cli/Cli.js.map +0 -1
  1355. package/lib/Cli/Event.d.ts +0 -29
  1356. package/lib/Cli/Event.d.ts.map +0 -1
  1357. package/lib/Cli/Event.js +0 -1
  1358. package/lib/Cli/Event.js.map +0 -1
  1359. package/lib/Cli/commands/_shared.d.ts +0 -138
  1360. package/lib/Cli/commands/_shared.d.ts.map +0 -1
  1361. package/lib/Cli/commands/_shared.js +0 -298
  1362. package/lib/Cli/commands/_shared.js.map +0 -1
  1363. package/lib/Cli/commands/login.d.ts +0 -14
  1364. package/lib/Cli/commands/login.d.ts.map +0 -1
  1365. package/lib/Cli/commands/login.js +0 -115
  1366. package/lib/Cli/commands/login.js.map +0 -1
  1367. package/lib/Cli/commands/profile.d.ts +0 -25
  1368. package/lib/Cli/commands/profile.d.ts.map +0 -1
  1369. package/lib/Cli/commands/profile.js +0 -83
  1370. package/lib/Cli/commands/profile.js.map +0 -1
  1371. package/lib/Cli/commands/sync.d.ts +0 -22
  1372. package/lib/Cli/commands/sync.d.ts.map +0 -1
  1373. package/lib/Cli/commands/sync.js +0 -64
  1374. package/lib/Cli/commands/sync.js.map +0 -1
  1375. package/lib/Cli/commands/tail.d.ts +0 -9
  1376. package/lib/Cli/commands/tail.d.ts.map +0 -1
  1377. package/lib/Cli/commands/tail.js +0 -97
  1378. package/lib/Cli/commands/tail.js.map +0 -1
  1379. package/lib/Cli/tui/InkCLI.d.ts +0 -4
  1380. package/lib/Cli/tui/InkCLI.d.ts.map +0 -1
  1381. package/lib/Cli/tui/InkCLI.js +0 -53
  1382. package/lib/Cli/tui/InkCLI.js.map +0 -1
  1383. package/lib/Cli/tui/components/ApprovePlan.d.ts +0 -9
  1384. package/lib/Cli/tui/components/ApprovePlan.d.ts.map +0 -1
  1385. package/lib/Cli/tui/components/ApprovePlan.js +0 -21
  1386. package/lib/Cli/tui/components/ApprovePlan.js.map +0 -1
  1387. package/lib/Cli/tui/components/Nuke.d.ts +0 -36
  1388. package/lib/Cli/tui/components/Nuke.d.ts.map +0 -1
  1389. package/lib/Cli/tui/components/Nuke.js +0 -132
  1390. package/lib/Cli/tui/components/Nuke.js.map +0 -1
  1391. package/lib/Cli/tui/components/Plan.d.ts +0 -8
  1392. package/lib/Cli/tui/components/Plan.d.ts.map +0 -1
  1393. package/lib/Cli/tui/components/Plan.js +0 -87
  1394. package/lib/Cli/tui/components/Plan.js.map +0 -1
  1395. package/lib/Cli/tui/components/PlanProgress.d.ts +0 -55
  1396. package/lib/Cli/tui/components/PlanProgress.d.ts.map +0 -1
  1397. package/lib/Cli/tui/components/PlanProgress.js +0 -292
  1398. package/lib/Cli/tui/components/PlanProgress.js.map +0 -1
  1399. package/lib/Sync.d.ts +0 -109
  1400. package/lib/Sync.d.ts.map +0 -1
  1401. package/lib/Sync.js.map +0 -1
  1402. package/lib/Util/Clank.d.ts +0 -45
  1403. package/lib/Util/Clank.d.ts.map +0 -1
  1404. package/lib/Util/Clank.js +0 -79
  1405. package/lib/Util/Clank.js.map +0 -1
  1406. package/src/Cli/Cli.ts +0 -23
  1407. package/src/Cli/Event.ts +0 -51
  1408. package/src/Cli/commands/_shared.ts +0 -498
  1409. package/src/Cli/commands/login.ts +0 -169
  1410. package/src/Cli/commands/profile.ts +0 -132
  1411. package/src/Cli/commands/sync.ts +0 -123
  1412. package/src/Cli/commands/tail.ts +0 -155
  1413. package/src/Cli/tui/InkCLI.tsx +0 -69
  1414. package/src/Cli/tui/components/ApprovePlan.tsx +0 -44
  1415. package/src/Cli/tui/components/Nuke.tsx +0 -273
  1416. package/src/Cli/tui/components/Plan.tsx +0 -211
  1417. package/src/Cli/tui/components/PlanProgress.tsx +0 -455
  1418. package/src/Util/Clank.ts +0 -103
@@ -1,9 +1,16 @@
1
+ import { cachedFunction } from "../Util/cached-function.js";
2
+ import * as Config from "effect/Config";
1
3
  import * as Context from "effect/Context";
2
4
  import * as Effect from "effect/Effect";
5
+ import * as FileSystem from "effect/FileSystem";
3
6
  import * as Layer from "effect/Layer";
7
+ import * as Option from "effect/Option";
8
+ import * as Path from "effect/Path";
4
9
  import * as Schema from "effect/Schema";
5
10
  import * as Semaphore from "effect/Semaphore";
6
- import { withLock } from "./Lock.js";
11
+ import { Interaction } from "../Interaction.js";
12
+ import { UserFacingError } from "../UserFacingError.js";
13
+ import { withProfileCredentialsLock } from "./Lock.js";
7
14
  /**
8
15
  * Canonical web host for OAuth provider-agnostic landing pages
9
16
  * (`/auth/success`, `/auth/error`). The CLI's loopback server 302s the
@@ -14,15 +21,6 @@ import { withLock } from "./Lock.js";
14
21
  export const AUTH_LANDING_HOST = "https://alchemy.run";
15
22
  export const AUTH_SUCCESS_URL = `${AUTH_LANDING_HOST}/auth/success`;
16
23
  export const AUTH_ERROR_URL = `${AUTH_LANDING_HOST}/auth/error`;
17
- /**
18
- * Methods on an {@link AuthProviderImpl} that mutate (or could trigger
19
- * mutation of) on-disk credentials. The factory wraps these in a
20
- * cross-process file lock keyed by `(profileName, providerName)` so that
21
- * concurrent processes never refresh / write credentials simultaneously.
22
- *
23
- * `prettyPrint` is intentionally excluded: it's read-only display.
24
- */
25
- const LOCKED_METHODS = new Set(["read", "login", "logout", "configure"]);
26
24
  /**
27
25
  * Methods that may drive an interactive flow (prompts, browser-based
28
26
  * OAuth, etc.). A process-wide mutex serializes these across providers
@@ -30,55 +28,194 @@ const LOCKED_METHODS = new Set(["read", "login", "logout", "configure"]);
30
28
  * before Planetscale's begins — even when the two auth provider Layers
31
29
  * are built in parallel as part of a single `providers()` Layer.
32
30
  *
33
- * The clack prompt wrapper in `Util/Clank.ts` enforces per-prompt
34
- * serialization; this mutex enforces per-flow serialization so the user
35
- * sees one provider's prompts grouped together rather than interleaved.
31
+ * The interactive renderer enforces per-prompt serialization; this mutex
32
+ * enforces per-flow serialization so the user sees one provider's prompts
33
+ * grouped together rather than interleaved.
36
34
  */
37
- const INTERACTIVE_METHODS = new Set(["login", "configure"]);
38
35
  const interactiveMutex = Semaphore.makeUnsafe(1);
39
36
  export class AuthError extends Schema.TaggedError()("AuthError", {
40
37
  message: Schema.String,
41
38
  cause: Schema.optional(Schema.Defect()),
42
39
  }) {
40
+ [UserFacingError] = true;
41
+ }
42
+ /**
43
+ * Stored credentials exist (or are expected) but cannot be used until the
44
+ * user re-authenticates: missing values, an expired/rotated
45
+ * token, or a session the provider can no longer refresh silently. The
46
+ * profile UI renders this as "needs re-login" instead of a generic error,
47
+ * and callers match it with `Effect.catchTag("NeedsReauth", ...)` — never
48
+ * by inspecting the message.
49
+ */
50
+ export class NeedsReauth extends Schema.TaggedError()("NeedsReauth", {
51
+ provider: Schema.String,
52
+ profile: Schema.String,
53
+ message: Schema.String,
54
+ cause: Schema.optional(Schema.Defect()),
55
+ }) {
56
+ [UserFacingError] = true;
43
57
  }
58
+ /**
59
+ * Standard remediation hint appended to stored-credential errors
60
+ * ("credentials not found", "refresh failed", ...). Deliberately generic —
61
+ * the explicit command is correct from any surface, including inside the
62
+ * profile dashboard (where `r` is merely the shortcut for it). Centralized
63
+ * so the phrasing lives in one place; surface-aware wording can layer on
64
+ * top later without touching call sites.
65
+ */
66
+ export const refreshHint = (provider, profileName) => `Run \`alchemy profile refresh --profile ${profileName} --provider ${provider}\`.`;
67
+ /** {@link refreshHint}'s sibling for reconfiguration. */
68
+ export const reconfigureHint = (provider, profileName) => `Run \`alchemy profile edit --profile ${profileName} --reconfigure ${provider}\` to reconfigure.`;
44
69
  export class AuthProviders extends Context.Service()("AuthProviders") {
45
70
  }
71
+ /**
72
+ * Declares one environment variable a provider's {@link AuthProviderImpl.readEnvironment}
73
+ * consumes. Profiles are not available in CI — environment variables are the
74
+ * only CI credential source — so this metadata is the machine-readable
75
+ * contract for "what must CI set": rendered in docs, surfaced by the CLI,
76
+ * and available to tooling through the {@link AuthProviders} registry.
77
+ */
78
+ export const EnvironmentVariable = Schema.Struct({
79
+ /** Environment variable name, e.g. `CLOUDFLARE_API_TOKEN`. */
80
+ name: Schema.String,
81
+ /** What the variable configures and when it applies. */
82
+ description: Schema.optional(Schema.String),
83
+ /**
84
+ * Whether credential resolution fails when neither this variable nor one
85
+ * of its {@link alternatives} is set. Use `description` to explain
86
+ * conditional requirements (e.g. "required unless X is set").
87
+ */
88
+ required: Schema.Boolean,
89
+ /** Holds a secret — display surfaces must redact its value. */
90
+ secret: Schema.optional(Schema.Boolean),
91
+ /**
92
+ * Alternative variable names that satisfy the same requirement, in
93
+ * precedence order after {@link name} (e.g. `AWS_DEFAULT_REGION` for
94
+ * `AWS_REGION`).
95
+ */
96
+ alternatives: Schema.optional(Schema.Array(Schema.String)),
97
+ });
98
+ const EnvironmentVariables = Schema.Array(EnvironmentVariable);
99
+ /** Render a one-line summary of a provider's environment contract. */
100
+ export const describeEnvironment = (environment) => environment
101
+ .map((v) => {
102
+ const names = [v.name, ...(v.alternatives ?? [])].join(" | ");
103
+ return v.required ? names : `[${names}]`;
104
+ })
105
+ .join(", ");
106
+ /**
107
+ * The variable names a provider's environment resolution would consume, or
108
+ * `undefined` when the declared contract is not fully satisfied (some
109
+ * required variable has no non-empty value). Reads through the ambient
110
+ * `ConfigProvider` — the process environment plus `.env` / `--env-file` —
111
+ * so it sees exactly what `readEnvironment` will. Environment credentials
112
+ * take precedence over any profile, CI or not; the returned names tell the
113
+ * user exactly which keys won.
114
+ */
115
+ export const presentEnvironment = (environment) => Effect.gen(function* () {
116
+ const used = [];
117
+ for (const variable of environment) {
118
+ let found;
119
+ for (const name of [variable.name, ...(variable.alternatives ?? [])]) {
120
+ const value = yield* Config.option(Config.string(name));
121
+ if (Option.isSome(value) && value.value !== "") {
122
+ found = name;
123
+ break;
124
+ }
125
+ }
126
+ if (found !== undefined)
127
+ used.push(found);
128
+ else if (variable.required)
129
+ return undefined;
130
+ }
131
+ return used.length > 0 ? used : undefined;
132
+ });
46
133
  export const AuthProvider = () => (name, impl) => Effect.gen(function* () {
47
- const ctx = yield* Effect.context();
134
+ // FileSystem/Path back the cross-process credentials lock that wraps
135
+ // `logout`/`read` below, so capture them with the impl's own services.
136
+ //
137
+ // `Effect.context()` snapshots the ENTIRE fiber context (the type
138
+ // parameter only narrows the type), and `Effect.provideContext` makes
139
+ // the provided side win — so an Interaction that happens to be
140
+ // ambient at REGISTRATION would silently shadow whatever the caller
141
+ // provides at call time, making the interactive methods' declared
142
+ // `Interaction` requirement a dead letter. Omit it from the snapshot:
143
+ // interactive flows resolve Interaction from the caller, exactly as
144
+ // their signatures promise (a scripted test Interaction, a
145
+ // browser-driven Alchemist login).
146
+ // SAFETY: the assertion restores the pre-omit type — tsc cannot reduce
147
+ // `Exclude<R, … Exclude<R, Interaction>>` over the generic R. It only
148
+ // over-promises Interaction, which every registered method signature
149
+ // re-declares as a requirement anyway, so no call site can rely on the
150
+ // capture satisfying it.
151
+ const ctx = Context.omit(Interaction)(yield* Effect.context());
48
152
  const providers = yield* AuthProviders;
49
153
  const service = yield* Effect.isEffect(impl)
50
154
  ? impl
51
155
  : Effect.succeed(impl);
52
- return yield* Effect.sync(() => (providers[name] = {
156
+ // Validate the declared environment contract at registration so a
157
+ // malformed declaration fails at layer build (programmer error), not
158
+ // when a CI run tries to render it.
159
+ const environment = service.environment === undefined
160
+ ? []
161
+ : Schema.decodeUnknownSync(EnvironmentVariables)(service.environment);
162
+ if (service.readEnvironment !== undefined && environment.length === 0) {
163
+ return yield* Effect.die(`AuthProvider '${name}' implements readEnvironment but does not ` +
164
+ "declare its `environment` variables. Declare every variable " +
165
+ "readEnvironment consumes so CI requirements are discoverable.");
166
+ }
167
+ if (service.configureWith !== undefined &&
168
+ (service.configureMethods === undefined ||
169
+ service.configureMethods.length === 0)) {
170
+ return yield* Effect.die(`AuthProvider '${name}' implements configureWith but does not ` +
171
+ "declare `configureMethods`. Declare each accepted --method and " +
172
+ "its --set fields so the CLI can validate and document them.");
173
+ }
174
+ const provider = {
175
+ logEnvironmentCredentials: yield* cachedFunction((used) => Effect.logInfo(`${name}: using environment variables (${used.join(", ")}) instead of the profile.`), { key: ([used]) => JSON.stringify(used.toSorted()) }),
53
176
  kind: "AuthProvider",
54
177
  name,
55
- ...Object.fromEntries(Object.entries(service).map(([methodName, fn]) => [
56
- methodName,
57
- (...args) => {
58
- let eff = fn(...args).pipe(Effect.provideContext(ctx));
59
- if (LOCKED_METHODS.has(methodName)) {
60
- // First positional arg is always `profileName`.
61
- const profileName = args[0];
62
- eff = withLock(`${profileName}-${name}`, eff, {
63
- label: `${name}.${methodName} (profile '${profileName}')`,
64
- // `login`/`configure` legitimately block on the user
65
- // (browser OAuth, `aws sso login`), and a periodic
66
- // notice would trample the prompt they are answering.
67
- watchdog: !INTERACTIVE_METHODS.has(methodName),
68
- });
69
- }
70
- if (INTERACTIVE_METHODS.has(methodName)) {
71
- eff = Semaphore.withPermits(interactiveMutex, 1)(eff);
72
- }
73
- return eff;
74
- },
75
- ])),
76
- }));
178
+ // configure/login can wait minutes on a browser grant, so they hold
179
+ // only the process-level interactive mutex — never the per-profile
180
+ // credentials lock, which would starve every concurrent `read` (its
181
+ // waiters time out at ~120s). Providers whose login path performs a
182
+ // rotate-on-use silent refresh wrap that read-refresh-persist
183
+ // section (and only it) in `withProfileCredentialsLock` themselves;
184
+ // a post-browser persist is a benign whole-file swap where the last
185
+ // grant wins.
186
+ configure: (profileName, currentConfig) => Semaphore.withPermits(interactiveMutex, 1)(service
187
+ .configure(profileName, currentConfig)
188
+ .pipe(Effect.provideContext(ctx))),
189
+ login: (profileName, config, updateConfig) => Semaphore.withPermits(interactiveMutex, 1)(service
190
+ .login(profileName, config, updateConfig)
191
+ .pipe(Effect.provideContext(ctx))),
192
+ logout: (profileName, config) => withProfileCredentialsLock(profileName, service.logout(profileName, config)).pipe(Effect.provideContext(ctx)),
193
+ details: (profileName, config, updateConfig) => withProfileCredentialsLock(profileName, service.details(profileName, config, updateConfig)).pipe(Effect.provideContext(ctx)),
194
+ ...(service.configureWith === undefined
195
+ ? {}
196
+ : {
197
+ configureWith: (profileName, input) => service.configureWith(profileName, input).pipe(Effect.provideContext(ctx)),
198
+ configureMethods: service.configureMethods,
199
+ }),
200
+ read: (profileName, config, updateConfig) => withProfileCredentialsLock(profileName, service.read(profileName, config, updateConfig)).pipe(Effect.provideContext(ctx)),
201
+ readEnvironment: service.readEnvironment?.pipe(Effect.provideContext(ctx)),
202
+ environment,
203
+ configSchema: service.configSchema,
204
+ decodeConfig: (profileName, config) => Effect.gen(function* () {
205
+ return yield* Schema.decodeUnknownEffect(service.configSchema)(config).pipe(Effect.mapError((cause) => new AuthError({
206
+ message: `Stored ${name} configuration in profile '${profileName}' is not valid ` +
207
+ `for this version of alchemy. ` +
208
+ `${reconfigureHint(name, profileName)}`,
209
+ cause,
210
+ })));
211
+ }),
212
+ };
213
+ providers[name] = provider;
77
214
  });
78
215
  /**
79
216
  * Build a Layer that registers an AuthProvider into the {@link AuthProviders}
80
217
  * registry when its parent layer is built. Use this from a provider's
81
- * top-level `providers()` Layer so that `alchemy login` can discover the
218
+ * top-level `providers()` Layer so that the alchemy CLI can discover the
82
219
  * provider via the registry without forcing credential resolution.
83
220
  */
84
221
  export const AuthProviderLayer = () => (name, impl) => Layer.effectDiscard(AuthProvider()(name, impl));
@@ -91,5 +228,8 @@ export const getAuthProvider = (name) => AuthProviders.use((registry) => registr
91
228
  ? Effect.fail(new AuthError({
92
229
  message: `AuthProvider '${name}' is not registered. Make sure its layer has been provided.`,
93
230
  }))
94
- : Effect.succeed(registry[name]));
231
+ : Effect.succeed(
232
+ // SAFETY: registration erases provider-specific generic parameters;
233
+ // callers restore the contract associated with the requested name.
234
+ registry[name]));
95
235
  //# sourceMappingURL=AuthProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AuthProvider.js","sourceRoot":"","sources":["../../src/Auth/AuthProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AuthProvider.js","sourceRoot":"","sources":["../../src/Auth/AuthProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AACpC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,SAAS,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAC;AAEvD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,qBAAqB,CAAC;AACvD,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,iBAAiB,eAAe,CAAC;AACpE,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,iBAAiB,aAAa,CAAC;AAEhE;;;;;;;;;;GAUG;AACH,MAAM,gBAAgB,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AAEjD,MAAM,OAAO,SAAU,SAAQ,MAAM,CAAC,WAAW,EAAa,CAAC,WAAW,EAAE;IAC1E,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;CACxC,CAAC;IACS,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC;CACnC;AAED;;;;;;;GAOG;AACH,MAAM,OAAO,WAAY,SAAQ,MAAM,CAAC,WAAW,EAAe,CAChE,aAAa,EACb;IACE,QAAQ,EAAE,MAAM,CAAC,MAAM;IACvB,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;CACxC,CACF;IACU,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC;CACnC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,QAAgB,EAAE,WAAmB,EAAU,EAAE,CAC3E,2CAA2C,WAAW,eAAe,QAAQ,KAAK,CAAC;AAErF,yDAAyD;AACzD,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,QAAgB,EAChB,WAAmB,EACX,EAAE,CACV,wCAAwC,WAAW,kBAAkB,QAAQ,oBAAoB,CAAC;AAEpG,MAAM,OAAO,aAAc,SAAQ,OAAO,CAAC,OAAO,EAK/C,CAAC,eAAe,CAAC;CAAG;AAEvB;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC/C,8DAA8D;IAC9D,IAAI,EAAE,MAAM,CAAC,MAAM;IACnB,wDAAwD;IACxD,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;IAC3C;;;;OAIG;IACH,QAAQ,EAAE,MAAM,CAAC,OAAO;IACxB,+DAA+D;IAC/D,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;IACvC;;;;OAIG;IACH,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;CAC3D,CAAC,CAAC;AAIH,MAAM,oBAAoB,GAAG,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;AAE/D,sEAAsE;AACtE,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,WAA+C,EACvC,EAAE,CACV,WAAW;KACR,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;IACT,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9D,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC;AAC3C,CAAC,CAAC;KACD,IAAI,CAAC,IAAI,CAAC,CAAC;AAEhB;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,WAA+C,EAC/C,EAAE,CACF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,KAAK,MAAM,QAAQ,IAAI,WAAW,EAAE,CAAC;QACnC,IAAI,KAAyB,CAAC;QAC9B,KAAK,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;YACrE,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YACxD,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,KAAK,EAAE,EAAE,CAAC;gBAC/C,KAAK,GAAG,IAAI,CAAC;gBACb,MAAM;YACR,CAAC;QACH,CAAC;QACD,IAAI,KAAK,KAAK,SAAS;YAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACrC,IAAI,QAAQ,CAAC,QAAQ;YAAE,OAAO,SAAS,CAAC;IAC/C,CAAC;IACD,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5C,CAAC,CAAC,CAAC;AA+KL,MAAM,CAAC,MAAM,YAAY,GACvB,GAAmD,EAAE,CACrD,CACE,IAAY,EACZ,IAE2E,EAC3E,EAAE,CACF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,qEAAqE;IACrE,uEAAuE;IACvE,EAAE;IACF,kEAAkE;IAClE,sEAAsE;IACtE,+DAA+D;IAC/D,oEAAoE;IACpE,kEAAkE;IAClE,sEAAsE;IACtE,oEAAoE;IACpE,2DAA2D;IAC3D,mCAAmC;IACnC,uEAAuE;IACvE,sEAAsE;IACtE,qEAAqE;IACrE,uEAAuE;IACvE,yBAAyB;IACzB,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CACnC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,EAElB,CACgE,CAAC;IACtE,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,aAAa,CAAC;IACvC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC1C,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,kEAAkE;IAClE,qEAAqE;IACrE,oCAAoC;IACpC,MAAM,WAAW,GACf,OAAO,CAAC,WAAW,KAAK,SAAS;QAC/B,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC1E,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtE,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CACtB,iBAAiB,IAAI,4CAA4C;YAC/D,8DAA8D;YAC9D,+DAA+D,CAClE,CAAC;IACJ,CAAC;IACD,IACE,OAAO,CAAC,aAAa,KAAK,SAAS;QACnC,CAAC,OAAO,CAAC,gBAAgB,KAAK,SAAS;YACrC,OAAO,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,CAAC,EACxC,CAAC;QACD,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CACtB,iBAAiB,IAAI,0CAA0C;YAC7D,iEAAiE;YACjE,6DAA6D,CAChE,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAsC;QAClD,yBAAyB,EAAE,KAAK,CAAC,CAAC,cAAc,CAC9C,CAAC,IAA2B,EAAE,EAAE,CAC9B,MAAM,CAAC,OAAO,CACZ,GAAG,IAAI,kCAAkC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,2BAA2B,CACpF,EACH,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,CACrD;QACD,IAAI,EAAE,cAAc;QACpB,IAAI;QACJ,oEAAoE;QACpE,mEAAmE;QACnE,oEAAoE;QACpE,oEAAoE;QACpE,8DAA8D;QAC9D,oEAAoE;QACpE,oEAAoE;QACpE,cAAc;QACd,SAAS,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,EAAE,CACxC,SAAS,CAAC,WAAW,CACnB,gBAAgB,EAChB,CAAC,CACF,CACC,OAAO;aACJ,SAAS,CAAC,WAAW,EAAE,aAAa,CAAC;aACrC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CACpC;QACH,KAAK,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,CAC3C,SAAS,CAAC,WAAW,CACnB,gBAAgB,EAChB,CAAC,CACF,CACC,OAAO;aACJ,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,CAAC;aACxC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CACpC;QACH,MAAM,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,CAC9B,0BAA0B,CACxB,WAAW,EACX,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CACpC,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QACpC,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,CAC7C,0BAA0B,CACxB,WAAW,EACX,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,CAAC,CACnD,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QACpC,GAAG,CAAC,OAAO,CAAC,aAAa,KAAK,SAAS;YACrC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;gBACE,aAAa,EAAE,CACb,WAAmB,EACnB,KAGC,EACD,EAAE,CACF,OAAO,CAAC,aAAc,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,IAAI,CAC7C,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAC3B;gBACH,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;aAC3C,CAAC;QACN,IAAI,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,CAC1C,0BAA0B,CACxB,WAAW,EACX,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,CAAC,CAChD,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QACpC,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,IAAI,CAC5C,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAC3B;QACD,WAAW;QACX,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,YAAY,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,CACpC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,CAAC,YAAY,CAAC,CAC5D,MAAM,CACP,CAAC,IAAI,CACJ,MAAM,CAAC,QAAQ,CACb,CAAC,KAAK,EAAE,EAAE,CACR,IAAI,SAAS,CAAC;gBACZ,OAAO,EACL,UAAU,IAAI,8BAA8B,WAAW,iBAAiB;oBACxE,+BAA+B;oBAC/B,GAAG,eAAe,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE;gBACzC,KAAK;aACN,CAAC,CACL,CACF,CAAC;QACJ,CAAC,CAAC;KACL,CAAC;IAEF,SAAS,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;AAC7B,CAAC,CAAC,CAAC;AAEP;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAC5B,GAAmD,EAAE,CACrD,CACE,IAAY,EACZ,IAE2E,EAC3E,EAAE,CACF,KAAK,CAAC,aAAa,CACjB,YAAY,EAAuB,CAAa,IAAI,EAAE,IAAI,CAAC,CAC5D,CAAC;AAEN;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAI7B,IAAY,EACgE,EAAE,CAC9E,aAAa,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAC7B,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI;IACpB,CAAC,CAAC,MAAM,CAAC,IAAI,CACT,IAAI,SAAS,CAAC;QACZ,OAAO,EAAE,iBAAiB,IAAI,6DAA6D;KAC5F,CAAC,CACH;IACH,CAAC,CAAC,MAAM,CAAC,OAAO;IACZ,oEAAoE;IACpE,mEAAmE;IACnE,QAAQ,CAAC,IAAI,CAAsC,CACpD,CACN,CAAC"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Shared browser-OAuth ceremony for auth providers: open the authorization
3
+ * URL, then race the provider's local callback listener against the branded
4
+ * "waiting for browser" prompt (spinner + compact URL; Enter switches to
5
+ * manual code entry, `o` opens the browser again, and `c` copies the URL).
6
+ *
7
+ * Built-in providers (Cloudflare, Planetscale) and custom stack-provided
8
+ * auth providers should all route their browser flows through this so the
9
+ * login UX stays uniform.
10
+ */
11
+ import * as Effect from "effect/Effect";
12
+ import type { ChildProcessSpawner } from "effect/unstable/process/ChildProcessSpawner";
13
+ import * as Interaction from "../Interaction.ts";
14
+ export interface BrowserOAuthOptions<A, E1, R1, E2, R2> {
15
+ /** Display name, e.g. "Cloudflare" — used in the prompt title. */
16
+ provider: string;
17
+ /** The authorization URL the browser was pointed at. */
18
+ url: string;
19
+ /** Resolves when the local callback listener receives the redirect. */
20
+ callback: Effect.Effect<A, E1, R1>;
21
+ /** Exchanges a manually pasted code / callback URL for credentials. */
22
+ exchange: (input: string) => Effect.Effect<A, E2, R2>;
23
+ /** Spinner label. @default "waiting for browser authorization (up to 5 minutes)…" */
24
+ waitingLabel?: string;
25
+ }
26
+ export declare const browserOAuth: <A, E1, R1, E2, R2>(options: BrowserOAuthOptions<A, E1, R1, E2, R2>) => Effect.Effect<A, E1 | E2 | Interaction.InteractionError, R1 | R2 | ChildProcessSpawner | Interaction.Interaction>;
27
+ //# sourceMappingURL=BrowserOAuth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BrowserOAuth.d.ts","sourceRoot":"","sources":["../../src/Auth/BrowserOAuth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AACvF,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAC;AAGjD,MAAM,WAAW,mBAAmB,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;IACpD,kEAAkE;IAClE,QAAQ,EAAE,MAAM,CAAC;IACjB,wDAAwD;IACxD,GAAG,EAAE,MAAM,CAAC;IACZ,uEAAuE;IACvE,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACnC,uEAAuE;IACvE,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACtD,qFAAqF;IACrF,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,YAAY,GAAwB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,uKAuChE,CAAC"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Shared browser-OAuth ceremony for auth providers: open the authorization
3
+ * URL, then race the provider's local callback listener against the branded
4
+ * "waiting for browser" prompt (spinner + compact URL; Enter switches to
5
+ * manual code entry, `o` opens the browser again, and `c` copies the URL).
6
+ *
7
+ * Built-in providers (Cloudflare, Planetscale) and custom stack-provided
8
+ * auth providers should all route their browser flows through this so the
9
+ * login UX stays uniform.
10
+ */
11
+ import * as Effect from "effect/Effect";
12
+ import * as Interaction from "../Interaction.js";
13
+ import { CallbackServerStartError } from "./OAuthFlow.js";
14
+ export const browserOAuth = Effect.fn(function* (options) {
15
+ const services = yield* Effect.context();
16
+ // This runner is invoked later by React's keyboard event boundary, not
17
+ // while the surrounding Effect is executing.
18
+ const openUrl = Effect.runPromiseWith(services);
19
+ const openFailed = yield* Interaction.openUrl(options.url).pipe(Effect.as(false), Effect.catch(() => Effect.succeed(true)));
20
+ return yield* Effect.raceFirst(
21
+ // A callback server that cannot start (e.g. the port is taken) must not
22
+ // fail the race — warn and hang so manual code entry stays available.
23
+ // Genuine OAuth failures delivered via the callback still fail fast.
24
+ options.callback.pipe(Effect.catch((e) => e instanceof CallbackServerStartError
25
+ ? Interaction.accessors.output
26
+ .warning(`${e.message} — paste the authorization code instead.`)
27
+ .pipe(Effect.andThen(Effect.never))
28
+ : Effect.fail(e))), (yield* Interaction.Interaction).prompt
29
+ .awaitExternal({
30
+ message: `${options.provider} authorization`,
31
+ waitingLabel: options.waitingLabel ??
32
+ "waiting for browser authorization (up to 5 minutes)…",
33
+ url: options.url,
34
+ openFailed,
35
+ onOpen: () => openUrl(Interaction.openUrl(options.url)),
36
+ inputLabel: "Paste the authorization code or callback URL",
37
+ validate: (value) => value.trim().length > 0 ? undefined : "Paste a code or URL",
38
+ })
39
+ .pipe(Effect.flatMap(options.exchange)));
40
+ });
41
+ //# sourceMappingURL=BrowserOAuth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BrowserOAuth.js","sourceRoot":"","sources":["../../src/Auth/BrowserOAuth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAe1D,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAC7C,OAA+C;IAE/C,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,EAAuB,CAAC;IAC9D,uEAAuE;IACvE,6CAA6C;IAC7C,MAAM,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAC7D,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,EAChB,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CACzC,CAAC;IACF,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS;IAC5B,wEAAwE;IACxE,sEAAsE;IACtE,qEAAqE;IACrE,OAAO,CAAC,QAAQ,CAAC,IAAI,CACnB,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CACjB,CAAC,YAAY,wBAAwB;QACnC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM;aACzB,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,0CAA0C,CAAC;aAC/D,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CACnB,CACF,EACD,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,MAAM;SACpC,aAAa,CAAC;QACb,OAAO,EAAE,GAAG,OAAO,CAAC,QAAQ,gBAAgB;QAC5C,YAAY,EACV,OAAO,CAAC,YAAY;YACpB,sDAAsD;QACxD,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,UAAU;QACV,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACvD,UAAU,EAAE,8CAA8C;QAC1D,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAClB,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,qBAAqB;KAC9D,CAAC;SACD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAC1C,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -2,24 +2,29 @@ import * as Context from "effect/Context";
2
2
  import * as Effect from "effect/Effect";
3
3
  import * as FileSystem from "effect/FileSystem";
4
4
  import * as Layer from "effect/Layer";
5
- import type { PlatformError } from "effect/PlatformError";
6
5
  import * as Redacted from "effect/Redacted";
7
- export declare const profileCredentialsDirPath: (profile: string) => string;
6
+ import * as Schema from "effect/Schema";
7
+ import { AuthError } from "./AuthProvider.ts";
8
8
  export declare const credentialsFilePath: (profile: string, provider: string) => string;
9
9
  /**
10
10
  * Service exposing per-profile credential file helpers. All methods have
11
11
  * `R = never` — the {@link FileSystem.FileSystem} requirement is captured
12
12
  * by {@link CredentialsStoreLive} when the layer is built.
13
+ *
14
+ * Reads and writes go through the provider's declared credential schema, so
15
+ * a hand-edited or corrupted secrets file surfaces as a typed `AuthError`
16
+ * (with a reconfigure hint) instead of propagating malformed data into API
17
+ * calls.
13
18
  */
14
19
  export interface CredentialsStoreService {
15
- readonly read: <T>(profile: string, provider: string) => Effect.Effect<T | undefined>;
16
- readonly write: <T>(profile: string, provider: string, credentials: T) => Effect.Effect<void, PlatformError>;
17
- readonly delete: (profile: string, provider: string) => Effect.Effect<void>;
20
+ readonly read: <A, E>(profile: string, provider: string, schema: Schema.Codec<A, E>) => Effect.Effect<A | undefined, AuthError>;
21
+ readonly write: <A, E>(profile: string, provider: string, schema: Schema.Codec<A, E>, credentials: A) => Effect.Effect<void, AuthError>;
22
+ readonly delete: (profile: string, provider: string) => Effect.Effect<void, AuthError>;
18
23
  /**
19
24
  * Recursively remove the `~/.alchemy/credentials/{profile}` directory
20
25
  * containing all per-provider secrets for `profile`. No-op if it doesn't exist.
21
26
  */
22
- readonly deleteProfile: (profile: string) => Effect.Effect<void>;
27
+ readonly deleteProfile: (profile: string) => Effect.Effect<void, AuthError>;
23
28
  }
24
29
  declare const CredentialsStore_base: Context.ServiceClass<CredentialsStore, "Alchemy::CredentialsStore", CredentialsStoreService>;
25
30
  export declare class CredentialsStore extends CredentialsStore_base {
@@ -1 +1 @@
1
- {"version":3,"file":"Credentials.d.ts","sourceRoot":"","sources":["../../src/Auth/Credentials.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAM5C,eAAO,MAAM,yBAAyB,YAAa,MAAM,WACjB,CAAC;AAEzC,eAAO,MAAM,mBAAmB,YAAa,MAAM,YAAY,MAAM,WACF,CAAC;AAEpE;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,EACf,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,KACb,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,EAChB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,CAAC,KACX,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5E;;;OAGG;IACH,QAAQ,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;CAClE;;AAED,qBAAa,gBAAiB,SAAQ,qBAGN;CAAG;AAEnC,eAAO,MAAM,oBAAoB,6DAsDhC,CAAC;AAEF,wBAAgB,eAAe,CAC7B,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAC5B,YAAY,SAAI,GACf,MAAM,CAIR"}
1
+ {"version":3,"file":"Credentials.d.ts","sourceRoot":"","sources":["../../src/Auth/Credentials.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAI9C,eAAO,MAAM,mBAAmB,YAAa,MAAM,YAAY,MAAM,WACF,CAAC;AAEpE;;;;;;;;;GASG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAClB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KACvB,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,EAAE,SAAS,CAAC,CAAC;IAC7C,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EACnB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAC1B,WAAW,EAAE,CAAC,KACX,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,CACf,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,KACb,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACpC;;;OAGG;IACH,QAAQ,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;CAC7E;;AAED,qBAAa,gBAAiB,SAAQ,qBAGN;CAAG;AAEnC,eAAO,MAAM,oBAAoB,6DAyIhC,CAAC;AAmBF,wBAAgB,eAAe,CAC7B,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAC5B,YAAY,SAAI,GACf,MAAM,CAIR"}
@@ -3,37 +3,66 @@ import * as Effect from "effect/Effect";
3
3
  import * as FileSystem from "effect/FileSystem";
4
4
  import * as Layer from "effect/Layer";
5
5
  import * as Redacted from "effect/Redacted";
6
+ import * as Schema from "effect/Schema";
6
7
  import path from "pathe";
7
- import { rootDir } from "./Profile.js";
8
- const credentialsDirPath = path.join(rootDir, "credentials");
9
- export const profileCredentialsDirPath = (profile) => path.join(credentialsDirPath, profile);
8
+ import { writeFileAtomic } from "../Util/AtomicFile.js";
9
+ import { profileCommandHint } from "../Util/interactive.js";
10
+ import { AuthError } from "./AuthProvider.js";
11
+ import { profileCredentialsDirPath } from "./Paths.js";
12
+ import { validateProfileName } from "./Profile.js";
10
13
  export const credentialsFilePath = (profile, provider) => path.join(profileCredentialsDirPath(profile), `${provider}.json`);
11
14
  export class CredentialsStore extends Context.Service()("Alchemy::CredentialsStore") {
12
15
  }
13
16
  export const CredentialsStoreLive = Layer.effect(CredentialsStore, Effect.gen(function* () {
14
17
  const fs = yield* FileSystem.FileSystem;
15
- const read = (profile, provider) => fs.readFileString(credentialsFilePath(profile, provider)).pipe(Effect.catch(() => Effect.succeed(undefined)), Effect.map((data) => {
18
+ const read = (profile, provider, schema) => Effect.gen(function* () {
19
+ const filePath = yield* validateCredentialPath(profile, provider);
20
+ const data = yield* fs.readFileString(filePath).pipe(Effect.catchReason("PlatformError", "NotFound", () => Effect.succeed(undefined)), Effect.mapError((cause) => new AuthError({
21
+ message: `Could not read credentials at '${filePath}'.`,
22
+ cause,
23
+ })));
16
24
  if (data === undefined)
17
25
  return undefined;
18
- try {
19
- return JSON.parse(data);
20
- }
21
- catch {
22
- return undefined;
23
- }
24
- }));
25
- const write = (profile, provider, credentials) => {
26
- const filePath = credentialsFilePath(profile, provider);
27
- return fs.makeDirectory(path.dirname(filePath), { recursive: true }).pipe(Effect.flatMap(() => {
28
- return fs.writeFileString(filePath, JSON.stringify(credentials, null, 2));
29
- }));
30
- };
31
- const remove_ = (profile, provider) => fs
32
- .remove(credentialsFilePath(profile, provider))
33
- .pipe(Effect.catch(() => Effect.void));
34
- const deleteProfile = (profile) => fs
35
- .remove(profileCredentialsDirPath(profile), { recursive: true })
36
- .pipe(Effect.catch(() => Effect.void));
26
+ const json = yield* Schema.decodeUnknownEffect(Schema.fromJsonString(Schema.Unknown))(data).pipe(Effect.mapError((cause) => new AuthError({
27
+ message: `Stored credentials at '${filePath}' contain invalid JSON.`,
28
+ cause,
29
+ })));
30
+ const command = yield* profileCommandHint(`alchemy profile edit --profile ${profile} --reconfigure ${provider}`);
31
+ return yield* Schema.decodeUnknownEffect(schema)(json).pipe(Effect.mapError((cause) => new AuthError({
32
+ message: `Stored credentials at '${filePath}' do not match the expected shape. ` +
33
+ `Run \`${command}\` to replace them.`,
34
+ cause,
35
+ })));
36
+ });
37
+ const write = (profile, provider, schema, credentials) => Effect.gen(function* () {
38
+ const filePath = yield* validateCredentialPath(profile, provider);
39
+ const encoded = yield* Schema.encodeEffect(schema)(credentials).pipe(Effect.mapError((cause) => new AuthError({
40
+ message: `Credentials for '${provider}' do not match the declared schema.`,
41
+ cause,
42
+ })));
43
+ yield* Effect.gen(function* () {
44
+ const directory = path.dirname(filePath);
45
+ yield* fs.makeDirectory(directory, { recursive: true });
46
+ yield* fs.chmod(directory, 0o700);
47
+ yield* writeFileAtomic(fs, filePath, JSON.stringify(encoded, null, 2), 0o600);
48
+ }).pipe(Effect.mapError((cause) => new AuthError({
49
+ message: `Could not write credentials at '${filePath}'.`,
50
+ cause,
51
+ })));
52
+ });
53
+ const remove_ = (profile, provider) => validateCredentialPath(profile, provider).pipe(Effect.flatMap((filePath) => fs.remove(filePath).pipe(Effect.catchReason("PlatformError", "NotFound", () => Effect.void), Effect.mapError((cause) => new AuthError({
54
+ message: `Could not delete credentials at '${filePath}'.`,
55
+ cause,
56
+ })))));
57
+ const deleteProfile = (profile) => Effect.gen(function* () {
58
+ yield* validateProfileName(profile).pipe(Effect.mapError((cause) => new AuthError({ message: cause.message, cause })));
59
+ yield* fs
60
+ .remove(profileCredentialsDirPath(profile), { recursive: true })
61
+ .pipe(Effect.catchReason("PlatformError", "NotFound", () => Effect.void), Effect.mapError((cause) => new AuthError({
62
+ message: `Could not delete credentials for profile '${profile}'.`,
63
+ cause,
64
+ })));
65
+ });
37
66
  return {
38
67
  read,
39
68
  write,
@@ -41,6 +70,16 @@ export const CredentialsStoreLive = Layer.effect(CredentialsStore, Effect.gen(fu
41
70
  deleteProfile,
42
71
  };
43
72
  }));
73
+ const CREDENTIAL_KEY_PATTERN = /^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/;
74
+ const validateCredentialPath = (profile, provider) => Effect.gen(function* () {
75
+ yield* validateProfileName(profile).pipe(Effect.mapError((cause) => new AuthError({ message: cause.message, cause })));
76
+ if (!CREDENTIAL_KEY_PATTERN.test(provider)) {
77
+ return yield* new AuthError({
78
+ message: `Invalid credential key '${provider}'.`,
79
+ });
80
+ }
81
+ return credentialsFilePath(profile, provider);
82
+ });
44
83
  export function displayRedacted(r, visibleChars = 4) {
45
84
  const raw = Redacted.value(r);
46
85
  if (raw.length <= visibleChars)
@@ -1 +1 @@
1
- {"version":3,"file":"Credentials.js","sourceRoot":"","sources":["../../src/Auth/Credentials.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAC5C,OAAO,IAAI,MAAM,OAAO,CAAC;AACzB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;AAE7D,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,OAAe,EAAE,EAAE,CAC3D,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;AAEzC,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,OAAe,EAAE,QAAgB,EAAE,EAAE,CACvE,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,EAAE,GAAG,QAAQ,OAAO,CAAC,CAAC;AAyBpE,MAAM,OAAO,gBAAiB,SAAQ,OAAO,CAAC,OAAO,EAGlD,CAAC,2BAA2B,CAAC;CAAG;AAEnC,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,CAAC,MAAM,CAC9C,gBAAgB,EAChB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC;IAExC,MAAM,IAAI,GAAG,CACX,OAAe,EACf,QAAgB,EACc,EAAE,CAChC,EAAE,CAAC,cAAc,CAAC,mBAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAC5D,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,SAA+B,CAAC,CAAC,EACnE,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAClB,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,SAA0B,CAAC;QAC1D,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAM,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAA0B,CAAC;QACpC,CAAC;IACH,CAAC,CAAC,CACH,CAAC;IAEJ,MAAM,KAAK,GAAG,CACZ,OAAe,EACf,QAAgB,EAChB,WAAc,EACsB,EAAE;QACtC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACxD,OAAO,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CACvE,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE;YAClB,OAAO,EAAE,CAAC,eAAe,CACvB,QAAQ,EACR,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CACrC,CAAC;QACJ,CAAC,CAAC,CACH,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,CAAC,OAAe,EAAE,QAAgB,EAAuB,EAAE,CACzE,EAAE;SACC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;SAC9C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAE3C,MAAM,aAAa,GAAG,CAAC,OAAe,EAAuB,EAAE,CAC7D,EAAE;SACC,MAAM,CAAC,yBAAyB,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;SAC/D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAE3C,OAAO;QACL,IAAI;QACJ,KAAK;QACL,MAAM,EAAE,OAAO;QACf,aAAa;KACoB,CAAC;AACtC,CAAC,CAAC,CACH,CAAC;AAEF,MAAM,UAAU,eAAe,CAC7B,CAA4B,EAC5B,YAAY,GAAG,CAAC;IAEhB,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9B,IAAI,GAAG,CAAC,MAAM,IAAI,YAAY;QAAE,OAAO,MAAM,CAAC;IAC9C,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC;AAC7C,CAAC"}
1
+ {"version":3,"file":"Credentials.js","sourceRoot":"","sources":["../../src/Auth/Credentials.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import * as Duration from "effect/Duration";
2
+ import * as Effect from "effect/Effect";
3
+ /**
4
+ * Refresh expiring credentials this long before they actually expire so that
5
+ * in-flight requests never race the expiry deadline.
6
+ */
7
+ export declare const CREDENTIAL_REFRESH_WINDOW: Duration.Duration;
8
+ /** Compute how long credentials may remain cached. */
9
+ export declare const credentialTimeToLive: (expiresAt: number | undefined, resolvedAt: number) => Duration.Duration;
10
+ /**
11
+ * Build a single-entry Effect cache whose TTL is derived from each resolved
12
+ * credential's expiry. Concurrent cache misses share one resolution.
13
+ */
14
+ export declare const cacheUntilExpiry: <A, E>(resolve: Effect.Effect<A, E>, expiresAt: (credentials: A) => number | undefined) => Effect.Effect<Effect.Effect<A, E, never>, never, never>;
15
+ //# sourceMappingURL=CredentialsCache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CredentialsCache.d.ts","sourceRoot":"","sources":["../../src/Auth/CredentialsCache.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC;;;GAGG;AACH,eAAO,MAAM,yBAAyB,mBAAsB,CAAC;AAE7D,sDAAsD;AACtD,eAAO,MAAM,oBAAoB,cACpB,MAAM,GAAG,SAAS,cACjB,MAAM,KACjB,QAAQ,CAAC,QAQX,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,GAAI,CAAC,EAAE,CAAC,WAC1B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,aACjB,CAAC,WAAW,EAAE,CAAC,KAAK,MAAM,GAAG,SAAS,4DAwB/C,CAAC"}
@@ -0,0 +1,34 @@
1
+ import * as Cache from "effect/Cache";
2
+ import * as Clock from "effect/Clock";
3
+ import * as Duration from "effect/Duration";
4
+ import * as Effect from "effect/Effect";
5
+ import * as Exit from "effect/Exit";
6
+ /**
7
+ * Refresh expiring credentials this long before they actually expire so that
8
+ * in-flight requests never race the expiry deadline.
9
+ */
10
+ export const CREDENTIAL_REFRESH_WINDOW = Duration.minutes(5);
11
+ /** Compute how long credentials may remain cached. */
12
+ export const credentialTimeToLive = (expiresAt, resolvedAt) => {
13
+ if (expiresAt === undefined)
14
+ return Duration.infinity;
15
+ return Duration.millis(Math.max(0, expiresAt - resolvedAt - Duration.toMillis(CREDENTIAL_REFRESH_WINDOW)));
16
+ };
17
+ /**
18
+ * Build a single-entry Effect cache whose TTL is derived from each resolved
19
+ * credential's expiry. Concurrent cache misses share one resolution.
20
+ */
21
+ export const cacheUntilExpiry = (resolve, expiresAt) => Effect.gen(function* () {
22
+ const cache = yield* Cache.makeWith((_) => Effect.gen(function* () {
23
+ const resolvedAt = yield* Clock.currentTimeMillis;
24
+ const credentials = yield* resolve;
25
+ return { credentials, resolvedAt };
26
+ }), {
27
+ capacity: 1,
28
+ timeToLive: (exit) => Exit.isSuccess(exit)
29
+ ? credentialTimeToLive(expiresAt(exit.value.credentials), exit.value.resolvedAt)
30
+ : Duration.zero,
31
+ });
32
+ return Cache.get(cache, undefined).pipe(Effect.map(({ credentials }) => credentials));
33
+ });
34
+ //# sourceMappingURL=CredentialsCache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CredentialsCache.js","sourceRoot":"","sources":["../../src/Auth/CredentialsCache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AAEpC;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAE7D,sDAAsD;AACtD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,SAA6B,EAC7B,UAAkB,EACC,EAAE;IACrB,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC,QAAQ,CAAC;IACtD,OAAO,QAAQ,CAAC,MAAM,CACpB,IAAI,CAAC,GAAG,CACN,CAAC,EACD,SAAS,GAAG,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CACtE,CACF,CAAC;AACJ,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,OAA4B,EAC5B,SAAiD,EACjD,EAAE,CACF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,QAAQ,CACjC,CAAC,CAAO,EAAE,EAAE,CACV,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC;QAClD,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC;QACnC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;IACrC,CAAC,CAAC,EACJ;QACE,QAAQ,EAAE,CAAC;QACX,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CACnB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAClB,CAAC,CAAC,oBAAoB,CAClB,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EACjC,IAAI,CAAC,KAAK,CAAC,UAAU,CACtB;YACH,CAAC,CAAC,QAAQ,CAAC,IAAI;KACpB,CACF,CAAC;IACF,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,IAAI,CACrC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC,CAC7C,CAAC;AACJ,CAAC,CAAC,CAAC"}