alchemy 2.0.0-beta.84 → 2.0.0-beta.85

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 (758) hide show
  1. package/THIRD_PARTY_LICENSES.md +2 -2
  2. package/bin/cli.js +14 -6
  3. package/bin/register-oxc.js +16 -12
  4. package/lib/AdoptPolicy.d.ts +73 -0
  5. package/lib/AdoptPolicy.d.ts.map +1 -1
  6. package/lib/AdoptPolicy.js +54 -0
  7. package/lib/AdoptPolicy.js.map +1 -1
  8. package/lib/Alchemist/AuthRegistry.d.ts +31 -0
  9. package/lib/Alchemist/AuthRegistry.d.ts.map +1 -0
  10. package/lib/Alchemist/AuthRegistry.js +95 -0
  11. package/lib/Alchemist/AuthRegistry.js.map +1 -0
  12. package/lib/Alchemist/Drift.d.ts +70 -0
  13. package/lib/Alchemist/Drift.d.ts.map +1 -0
  14. package/lib/Alchemist/Drift.js +54 -0
  15. package/lib/Alchemist/Drift.js.map +1 -0
  16. package/lib/Alchemist/Entrypoint.d.ts +27 -3
  17. package/lib/Alchemist/Entrypoint.d.ts.map +1 -1
  18. package/lib/Alchemist/Entrypoint.js +34 -3
  19. package/lib/Alchemist/Entrypoint.js.map +1 -1
  20. package/lib/Alchemist/Errors.d.ts +1 -1
  21. package/lib/Alchemist/Errors.d.ts.map +1 -1
  22. package/lib/Alchemist/Errors.js +1 -1
  23. package/lib/Alchemist/Errors.js.map +1 -1
  24. package/lib/Alchemist/Logs.d.ts +46 -0
  25. package/lib/Alchemist/Logs.d.ts.map +1 -0
  26. package/lib/Alchemist/{routes/logs.js → Logs.js} +21 -26
  27. package/lib/Alchemist/Logs.js.map +1 -0
  28. package/lib/Alchemist/Nuke.d.ts +69 -0
  29. package/lib/Alchemist/Nuke.d.ts.map +1 -0
  30. package/lib/Alchemist/Nuke.js +35 -0
  31. package/lib/Alchemist/Nuke.js.map +1 -0
  32. package/lib/Alchemist/Operations.d.ts +168 -0
  33. package/lib/Alchemist/Operations.d.ts.map +1 -0
  34. package/lib/Alchemist/Operations.js +165 -0
  35. package/lib/Alchemist/Operations.js.map +1 -0
  36. package/lib/Alchemist/Profile.d.ts +132 -0
  37. package/lib/Alchemist/Profile.d.ts.map +1 -0
  38. package/lib/Alchemist/{routes/profile.js → Profile.js} +20 -21
  39. package/lib/Alchemist/Profile.js.map +1 -0
  40. package/lib/Alchemist/{routes/provider.d.ts → Provider.d.ts} +4 -4
  41. package/lib/Alchemist/Provider.d.ts.map +1 -0
  42. package/lib/Alchemist/{routes/provider.js → Provider.js} +7 -6
  43. package/lib/Alchemist/Provider.js.map +1 -0
  44. package/lib/Alchemist/Runtime.d.ts +10 -6
  45. package/lib/Alchemist/Runtime.d.ts.map +1 -1
  46. package/lib/Alchemist/Runtime.js +38 -2
  47. package/lib/Alchemist/Runtime.js.map +1 -1
  48. package/lib/Alchemist/{routes/state.d.ts → State.d.ts} +36 -16
  49. package/lib/Alchemist/State.d.ts.map +1 -0
  50. package/lib/Alchemist/{routes/state.js → State.js} +50 -15
  51. package/lib/Alchemist/State.js.map +1 -0
  52. package/lib/Alchemist/index.d.ts +11 -10
  53. package/lib/Alchemist/index.d.ts.map +1 -1
  54. package/lib/Alchemist/index.js +10 -9
  55. package/lib/Alchemist/index.js.map +1 -1
  56. package/lib/Apply.d.ts +2 -8
  57. package/lib/Apply.d.ts.map +1 -1
  58. package/lib/Apply.js +364 -184
  59. package/lib/Apply.js.map +1 -1
  60. package/lib/Auth/AuthProvider.d.ts +24 -11
  61. package/lib/Auth/AuthProvider.d.ts.map +1 -1
  62. package/lib/Auth/AuthProvider.js +28 -12
  63. package/lib/Auth/AuthProvider.js.map +1 -1
  64. package/lib/Auth/BrowserOAuth.d.ts +6 -8
  65. package/lib/Auth/BrowserOAuth.d.ts.map +1 -1
  66. package/lib/Auth/BrowserOAuth.js +25 -41
  67. package/lib/Auth/BrowserOAuth.js.map +1 -1
  68. package/lib/Auth/Credentials.d.ts.map +1 -1
  69. package/lib/Auth/Credentials.js +2 -2
  70. package/lib/Auth/Credentials.js.map +1 -1
  71. package/lib/Auth/Demand.d.ts +4 -4
  72. package/lib/Auth/Demand.d.ts.map +1 -1
  73. package/lib/Auth/Demand.js +16 -10
  74. package/lib/Auth/Demand.js.map +1 -1
  75. package/lib/Auth/Env.d.ts +2 -1
  76. package/lib/Auth/Env.d.ts.map +1 -1
  77. package/lib/Auth/Env.js +4 -2
  78. package/lib/Auth/Env.js.map +1 -1
  79. package/lib/Auth/Inspect.d.ts +2 -2
  80. package/lib/Auth/Inspect.d.ts.map +1 -1
  81. package/lib/Auth/Inspect.js +3 -1
  82. package/lib/Auth/Inspect.js.map +1 -1
  83. package/lib/Auth/Lock.d.ts.map +1 -1
  84. package/lib/Auth/Lock.js +4 -8
  85. package/lib/Auth/Lock.js.map +1 -1
  86. package/lib/Auth/OAuthFlow.d.ts +3 -12
  87. package/lib/Auth/OAuthFlow.d.ts.map +1 -1
  88. package/lib/Auth/OAuthFlow.js +7 -17
  89. package/lib/Auth/OAuthFlow.js.map +1 -1
  90. package/lib/Auth/Paths.d.ts +2 -1
  91. package/lib/Auth/Paths.d.ts.map +1 -1
  92. package/lib/Auth/Paths.js +3 -2
  93. package/lib/Auth/Paths.js.map +1 -1
  94. package/lib/Auth/Profile.d.ts +10 -0
  95. package/lib/Auth/Profile.d.ts.map +1 -1
  96. package/lib/Auth/Profile.js +19 -2
  97. package/lib/Auth/Profile.js.map +1 -1
  98. package/lib/Auth/Registry.d.ts +20 -0
  99. package/lib/Auth/Registry.d.ts.map +1 -0
  100. package/lib/Auth/Registry.js +17 -0
  101. package/lib/Auth/Registry.js.map +1 -0
  102. package/lib/Auth/Resolve.d.ts +34 -2
  103. package/lib/Auth/Resolve.d.ts.map +1 -1
  104. package/lib/Auth/Resolve.js +51 -3
  105. package/lib/Auth/Resolve.js.map +1 -1
  106. package/lib/Auth/StoredAuthProvider.d.ts +1 -1
  107. package/lib/Auth/StoredAuthProvider.d.ts.map +1 -1
  108. package/lib/Auth/StoredAuthProvider.js +1 -2
  109. package/lib/Auth/StoredAuthProvider.js.map +1 -1
  110. package/lib/Binding.d.ts.map +1 -1
  111. package/lib/Binding.js +3 -1
  112. package/lib/Binding.js.map +1 -1
  113. package/lib/Bundle/Bundle.d.ts +5 -0
  114. package/lib/Bundle/Bundle.d.ts.map +1 -1
  115. package/lib/Bundle/Bundle.js +36 -6
  116. package/lib/Bundle/Bundle.js.map +1 -1
  117. package/lib/Bundle/NamespaceImportPlugin.d.ts +55 -0
  118. package/lib/Bundle/NamespaceImportPlugin.d.ts.map +1 -0
  119. package/lib/Bundle/NamespaceImportPlugin.js +226 -0
  120. package/lib/Bundle/NamespaceImportPlugin.js.map +1 -0
  121. package/lib/Bundle/index.d.ts +1 -0
  122. package/lib/Bundle/index.d.ts.map +1 -1
  123. package/lib/Bundle/index.js +1 -0
  124. package/lib/Bundle/index.js.map +1 -1
  125. package/lib/Cli/Format.d.ts.map +1 -1
  126. package/lib/Cli/Format.js +2 -1
  127. package/lib/Cli/Format.js.map +1 -1
  128. package/lib/Cli/GlobalLog.d.ts +72 -26
  129. package/lib/Cli/GlobalLog.d.ts.map +1 -1
  130. package/lib/Cli/GlobalLog.js +151 -59
  131. package/lib/Cli/GlobalLog.js.map +1 -1
  132. package/lib/Cli/LoggingCli.d.ts.map +1 -1
  133. package/lib/Cli/LoggingCli.js +24 -18
  134. package/lib/Cli/LoggingCli.js.map +1 -1
  135. package/lib/Cli/PlainCliFormatter.d.ts.map +1 -1
  136. package/lib/Cli/PlainCliFormatter.js +4 -1
  137. package/lib/Cli/PlainCliFormatter.js.map +1 -1
  138. package/lib/Cli/Present.d.ts +14 -0
  139. package/lib/Cli/Present.d.ts.map +1 -0
  140. package/lib/Cli/Present.js +22 -0
  141. package/lib/Cli/Present.js.map +1 -0
  142. package/lib/Cli/SigilRenderer.d.ts +58 -0
  143. package/lib/Cli/SigilRenderer.d.ts.map +1 -0
  144. package/lib/Cli/SigilRenderer.js +39 -0
  145. package/lib/Cli/SigilRenderer.js.map +1 -0
  146. package/lib/Cli/checkVersion.d.ts +11 -14
  147. package/lib/Cli/checkVersion.d.ts.map +1 -1
  148. package/lib/Cli/checkVersion.js +19 -77
  149. package/lib/Cli/checkVersion.js.map +1 -1
  150. package/lib/Cli/commands/confirm.d.ts +2 -2
  151. package/lib/Cli/commands/confirm.d.ts.map +1 -1
  152. package/lib/Cli/commands/confirm.js +3 -3
  153. package/lib/Cli/commands/confirm.js.map +1 -1
  154. package/lib/Cli/commands/deploy.d.ts +4 -4
  155. package/lib/Cli/commands/deploy.d.ts.map +1 -1
  156. package/lib/Cli/commands/deploy.js +40 -39
  157. package/lib/Cli/commands/deploy.js.map +1 -1
  158. package/lib/Cli/commands/dev.d.ts.map +1 -1
  159. package/lib/Cli/commands/dev.js +41 -3
  160. package/lib/Cli/commands/dev.js.map +1 -1
  161. package/lib/Cli/commands/drift.d.ts +2 -2
  162. package/lib/Cli/commands/drift.d.ts.map +1 -1
  163. package/lib/Cli/commands/drift.js +14 -13
  164. package/lib/Cli/commands/drift.js.map +1 -1
  165. package/lib/Cli/commands/errors.d.ts.map +1 -1
  166. package/lib/Cli/commands/errors.js +2 -1
  167. package/lib/Cli/commands/errors.js.map +1 -1
  168. package/lib/Cli/commands/instrument.d.ts +15 -5
  169. package/lib/Cli/commands/instrument.d.ts.map +1 -1
  170. package/lib/Cli/commands/instrument.js +33 -8
  171. package/lib/Cli/commands/instrument.js.map +1 -1
  172. package/lib/Cli/commands/logs.d.ts +1 -1
  173. package/lib/Cli/commands/logs.d.ts.map +1 -1
  174. package/lib/Cli/commands/logs.js +22 -22
  175. package/lib/Cli/commands/logs.js.map +1 -1
  176. package/lib/Cli/commands/nuke.d.ts +3 -2
  177. package/lib/Cli/commands/nuke.d.ts.map +1 -1
  178. package/lib/Cli/commands/nuke.js +19 -17
  179. package/lib/Cli/commands/nuke.js.map +1 -1
  180. package/lib/Cli/commands/profile/commands.d.ts +3 -2
  181. package/lib/Cli/commands/profile/commands.d.ts.map +1 -1
  182. package/lib/Cli/commands/profile/commands.js +26 -27
  183. package/lib/Cli/commands/profile/commands.js.map +1 -1
  184. package/lib/Cli/commands/profile/flows.d.ts +6 -5
  185. package/lib/Cli/commands/profile/flows.d.ts.map +1 -1
  186. package/lib/Cli/commands/profile/flows.js +19 -17
  187. package/lib/Cli/commands/profile/flows.js.map +1 -1
  188. package/lib/Cli/commands/profile/hub.d.ts +1 -2
  189. package/lib/Cli/commands/profile/hub.d.ts.map +1 -1
  190. package/lib/Cli/commands/profile/hub.js +15 -17
  191. package/lib/Cli/commands/profile/hub.js.map +1 -1
  192. package/lib/Cli/commands/provider.d.ts +3 -1
  193. package/lib/Cli/commands/provider.d.ts.map +1 -1
  194. package/lib/Cli/commands/provider.js +4 -4
  195. package/lib/Cli/commands/provider.js.map +1 -1
  196. package/lib/Cli/commands/render.d.ts +2 -4
  197. package/lib/Cli/commands/render.d.ts.map +1 -1
  198. package/lib/Cli/commands/render.js +33 -56
  199. package/lib/Cli/commands/render.js.map +1 -1
  200. package/lib/Cli/commands/state.d.ts +1 -2
  201. package/lib/Cli/commands/state.d.ts.map +1 -1
  202. package/lib/Cli/commands/state.js +74 -27
  203. package/lib/Cli/commands/state.js.map +1 -1
  204. package/lib/Cli/components/capabilities.d.ts +4 -0
  205. package/lib/Cli/components/capabilities.d.ts.map +1 -0
  206. package/lib/Cli/components/capabilities.js +18 -0
  207. package/lib/Cli/components/capabilities.js.map +1 -0
  208. package/lib/Cli/components/types.d.ts +2 -81
  209. package/lib/Cli/components/types.d.ts.map +1 -1
  210. package/lib/Cli/components/types.js +1 -3
  211. package/lib/Cli/components/types.js.map +1 -1
  212. package/lib/Cli/components/ui/Environment.d.ts +3 -3
  213. package/lib/Cli/components/ui/Environment.d.ts.map +1 -1
  214. package/lib/Cli/components/ui/Environment.js.map +1 -1
  215. package/lib/Cli/components/ui/Interactive.d.ts +17 -4
  216. package/lib/Cli/components/ui/Interactive.d.ts.map +1 -1
  217. package/lib/Cli/components/ui/Interactive.js +7 -11
  218. package/lib/Cli/components/ui/Interactive.js.map +1 -1
  219. package/lib/Cli/components/ui/Layout.d.ts +1 -1
  220. package/lib/Cli/components/ui/Layout.d.ts.map +1 -1
  221. package/lib/Cli/components/ui/Layout.js +1 -1
  222. package/lib/Cli/components/ui/Layout.js.map +1 -1
  223. package/lib/Cli/components/ui/Typography.d.ts +1 -1
  224. package/lib/Cli/components/ui/Typography.d.ts.map +1 -1
  225. package/lib/Cli/components/ui/Typography.js +1 -1
  226. package/lib/Cli/components/ui/Typography.js.map +1 -1
  227. package/lib/Cli/components/ui/index.d.ts +2 -2
  228. package/lib/Cli/components/ui/index.js +2 -2
  229. package/lib/Cli/components/view/ApprovePlan.d.ts +1 -1
  230. package/lib/Cli/components/view/ApprovePlan.d.ts.map +1 -1
  231. package/lib/Cli/components/view/ApprovePlan.js +2 -1
  232. package/lib/Cli/components/view/ApprovePlan.js.map +1 -1
  233. package/lib/Cli/components/view/Format.d.ts +5 -0
  234. package/lib/Cli/components/view/Format.d.ts.map +1 -0
  235. package/lib/Cli/components/view/Format.js +39 -0
  236. package/lib/Cli/components/view/Format.js.map +1 -0
  237. package/lib/Cli/components/view/Help.d.ts +2 -2
  238. package/lib/Cli/components/view/Help.d.ts.map +1 -1
  239. package/lib/Cli/components/view/Help.js +7 -5
  240. package/lib/Cli/components/view/Help.js.map +1 -1
  241. package/lib/Cli/components/view/Logo.js +1 -1
  242. package/lib/Cli/components/view/Logo.js.map +1 -1
  243. package/lib/Cli/components/view/Nuke.d.ts +8 -9
  244. package/lib/Cli/components/view/Nuke.d.ts.map +1 -1
  245. package/lib/Cli/components/view/Nuke.js +49 -52
  246. package/lib/Cli/components/view/Nuke.js.map +1 -1
  247. package/lib/Cli/components/view/PlanDecision.d.ts +1 -1
  248. package/lib/Cli/components/view/PlanDecision.d.ts.map +1 -1
  249. package/lib/Cli/components/view/PlanDecision.js +1 -1
  250. package/lib/Cli/components/view/PlanDecision.js.map +1 -1
  251. package/lib/Cli/components/view/PlanRow.js +1 -1
  252. package/lib/Cli/components/view/PlanRow.js.map +1 -1
  253. package/lib/Cli/components/view/PlanTree.d.ts +1 -1
  254. package/lib/Cli/components/view/PlanTree.d.ts.map +1 -1
  255. package/lib/Cli/components/view/PlanTree.js +1 -1
  256. package/lib/Cli/components/view/PlanView.js +1 -1
  257. package/lib/Cli/components/view/PlanView.js.map +1 -1
  258. package/lib/Cli/components/view/Profile.d.ts +1 -1
  259. package/lib/Cli/components/view/Profile.js +2 -2
  260. package/lib/Cli/components/view/Profile.js.map +1 -1
  261. package/lib/Cli/components/view/ProfileDashboard.d.ts +4 -4
  262. package/lib/Cli/components/view/ProfileDashboard.d.ts.map +1 -1
  263. package/lib/Cli/components/view/ProfileDashboard.js +9 -8
  264. package/lib/Cli/components/view/ProfileDashboard.js.map +1 -1
  265. package/lib/Cli/components/view/Prompts.d.ts +3 -3
  266. package/lib/Cli/components/view/Prompts.d.ts.map +1 -1
  267. package/lib/Cli/components/view/Prompts.js +11 -18
  268. package/lib/Cli/components/view/Prompts.js.map +1 -1
  269. package/lib/Cli/components/view/Runtime.d.ts +5 -5
  270. package/lib/Cli/components/view/Runtime.d.ts.map +1 -1
  271. package/lib/Cli/components/view/Runtime.js +136 -219
  272. package/lib/Cli/components/view/Runtime.js.map +1 -1
  273. package/lib/Cli/components/view/SigilCli.d.ts +2 -2
  274. package/lib/Cli/components/view/SigilCli.d.ts.map +1 -1
  275. package/lib/Cli/components/view/SigilCli.js +7 -7
  276. package/lib/Cli/components/view/SigilCli.js.map +1 -1
  277. package/lib/Cli/components/view/StateExplorer.d.ts +1 -1
  278. package/lib/Cli/components/view/StateExplorer.d.ts.map +1 -1
  279. package/lib/Cli/components/view/StateExplorer.js +2 -1
  280. package/lib/Cli/components/view/StateExplorer.js.map +1 -1
  281. package/lib/Cli/components/view/statusStyle.d.ts +2 -2
  282. package/lib/Cli/components/view/statusStyle.d.ts.map +1 -1
  283. package/lib/Cli/components/view/statusStyle.js +1 -1
  284. package/lib/Cli/components/view/statusStyle.js.map +1 -1
  285. package/lib/Cli/exec.d.ts +6 -1
  286. package/lib/Cli/exec.d.ts.map +1 -1
  287. package/lib/Cli/exec.js +29 -34
  288. package/lib/Cli/exec.js.map +1 -1
  289. package/lib/Cli/main.d.ts.map +1 -1
  290. package/lib/Cli/main.js +35 -26
  291. package/lib/Cli/main.js.map +1 -1
  292. package/lib/Cli/selectCli.d.ts +2 -2
  293. package/lib/Cli/selectCli.d.ts.map +1 -1
  294. package/lib/Cli/selectCli.js +2 -2
  295. package/lib/Cli/selectCli.js.map +1 -1
  296. package/lib/Command/Command.js +1 -1
  297. package/lib/Command/Command.js.map +1 -1
  298. package/lib/Command/Dev.d.ts +58 -4
  299. package/lib/Command/Dev.d.ts.map +1 -1
  300. package/lib/Command/Dev.js +87 -30
  301. package/lib/Command/Dev.js.map +1 -1
  302. package/lib/Command/Local.d.ts +1 -1
  303. package/lib/Command/Memo.js +1 -1
  304. package/lib/Command/Memo.js.map +1 -1
  305. package/lib/Command/Providers.d.ts +1 -1
  306. package/lib/Command/Providers.d.ts.map +1 -1
  307. package/lib/Contributions.d.ts +2 -3
  308. package/lib/Contributions.d.ts.map +1 -1
  309. package/lib/Contributions.js +38 -6
  310. package/lib/Contributions.js.map +1 -1
  311. package/lib/DNS/Adapter.d.ts +204 -0
  312. package/lib/DNS/Adapter.d.ts.map +1 -0
  313. package/lib/DNS/Adapter.js +112 -0
  314. package/lib/DNS/Adapter.js.map +1 -0
  315. package/lib/DNS/index.d.ts +2 -0
  316. package/lib/DNS/index.d.ts.map +1 -0
  317. package/lib/DNS/index.js +2 -0
  318. package/lib/DNS/index.js.map +1 -0
  319. package/lib/Deploy.d.ts +7 -2
  320. package/lib/Deploy.d.ts.map +1 -1
  321. package/lib/Deploy.js +8 -3
  322. package/lib/Deploy.js.map +1 -1
  323. package/lib/Destroy.d.ts +5 -8
  324. package/lib/Destroy.d.ts.map +1 -1
  325. package/lib/Destroy.js +10 -7
  326. package/lib/Destroy.js.map +1 -1
  327. package/lib/Diff.d.ts.map +1 -1
  328. package/lib/Diff.js +14 -4
  329. package/lib/Diff.js.map +1 -1
  330. package/lib/Drift.d.ts +7 -7
  331. package/lib/Drift.d.ts.map +1 -1
  332. package/lib/Drift.js +184 -101
  333. package/lib/Drift.js.map +1 -1
  334. package/lib/EvalStack.d.ts +23 -0
  335. package/lib/EvalStack.d.ts.map +1 -0
  336. package/lib/EvalStack.js +47 -0
  337. package/lib/EvalStack.js.map +1 -0
  338. package/lib/Events.d.ts +210 -0
  339. package/lib/Events.d.ts.map +1 -0
  340. package/lib/Events.js +244 -0
  341. package/lib/Events.js.map +1 -0
  342. package/lib/Interaction.d.ts +159 -48
  343. package/lib/Interaction.d.ts.map +1 -1
  344. package/lib/Interaction.js +139 -58
  345. package/lib/Interaction.js.map +1 -1
  346. package/lib/Local/LocalProvider.d.ts.map +1 -1
  347. package/lib/Local/LocalProvider.js +31 -9
  348. package/lib/Local/LocalProvider.js.map +1 -1
  349. package/lib/Local/RpcProvider.d.ts.map +1 -1
  350. package/lib/Local/RpcProvider.js +10 -1
  351. package/lib/Local/RpcProvider.js.map +1 -1
  352. package/lib/Local/RpcProviderProxy.d.ts +16 -0
  353. package/lib/Local/RpcProviderProxy.d.ts.map +1 -1
  354. package/lib/Local/RpcProviderProxy.js +19 -10
  355. package/lib/Local/RpcProviderProxy.js.map +1 -1
  356. package/lib/Local/RpcSerialization.d.ts +3 -2
  357. package/lib/Local/RpcSerialization.d.ts.map +1 -1
  358. package/lib/Local/RpcSerialization.js +13 -10
  359. package/lib/Local/RpcSerialization.js.map +1 -1
  360. package/lib/Local/RpcServer.d.ts +2 -1
  361. package/lib/Local/RpcServer.d.ts.map +1 -1
  362. package/lib/Local/RpcServer.js +19 -14
  363. package/lib/Local/RpcServer.js.map +1 -1
  364. package/lib/Local/RpcServerBun.d.ts.map +1 -1
  365. package/lib/Local/RpcServerBun.js +8 -4
  366. package/lib/Local/RpcServerBun.js.map +1 -1
  367. package/lib/Local/RpcServerEnvironment.d.ts +2 -3
  368. package/lib/Local/RpcServerEnvironment.d.ts.map +1 -1
  369. package/lib/Local/RpcServerEnvironment.js +2 -2
  370. package/lib/Local/RpcServerEnvironment.js.map +1 -1
  371. package/lib/Local/RpcServerNode.d.ts.map +1 -1
  372. package/lib/Local/RpcServerNode.js +5 -1
  373. package/lib/Local/RpcServerNode.js.map +1 -1
  374. package/lib/Local/RpcServerSession.d.ts +1 -1
  375. package/lib/Local/RpcServerSession.d.ts.map +1 -1
  376. package/lib/Local/RpcServerSession.js.map +1 -1
  377. package/lib/Local/RpcSpawner.d.ts +6 -8
  378. package/lib/Local/RpcSpawner.d.ts.map +1 -1
  379. package/lib/Local/RpcSpawner.js +45 -36
  380. package/lib/Local/RpcSpawner.js.map +1 -1
  381. package/lib/Local/Sidecar.d.ts +23 -0
  382. package/lib/Local/Sidecar.d.ts.map +1 -1
  383. package/lib/Local/Sidecar.js +14 -9
  384. package/lib/Local/Sidecar.js.map +1 -1
  385. package/lib/Nuke.d.ts +5 -23
  386. package/lib/Nuke.d.ts.map +1 -1
  387. package/lib/Nuke.js +48 -13
  388. package/lib/Nuke.js.map +1 -1
  389. package/lib/Output.d.ts +19 -1
  390. package/lib/Output.d.ts.map +1 -1
  391. package/lib/Output.js +96 -3
  392. package/lib/Output.js.map +1 -1
  393. package/lib/Plan.d.ts +5 -1
  394. package/lib/Plan.d.ts.map +1 -1
  395. package/lib/Plan.js +111 -33
  396. package/lib/Plan.js.map +1 -1
  397. package/lib/Platform.d.ts.map +1 -1
  398. package/lib/Platform.js +31 -7
  399. package/lib/Platform.js.map +1 -1
  400. package/lib/Provider.d.ts +45 -0
  401. package/lib/Provider.d.ts.map +1 -1
  402. package/lib/Provider.js +2 -2
  403. package/lib/Provider.js.map +1 -1
  404. package/lib/Report.d.ts +17 -195
  405. package/lib/Report.d.ts.map +1 -1
  406. package/lib/Report.js +39 -12
  407. package/lib/Report.js.map +1 -1
  408. package/lib/Runtime/ManagedHttpShutdown.d.ts +17 -0
  409. package/lib/Runtime/ManagedHttpShutdown.d.ts.map +1 -1
  410. package/lib/Runtime/ManagedHttpShutdown.js +11 -2
  411. package/lib/Runtime/ManagedHttpShutdown.js.map +1 -1
  412. package/lib/RuntimeContext.js +1 -1
  413. package/lib/RuntimeContext.js.map +1 -1
  414. package/lib/Stack.d.ts +49 -29
  415. package/lib/Stack.d.ts.map +1 -1
  416. package/lib/Stack.js +25 -31
  417. package/lib/Stack.js.map +1 -1
  418. package/lib/State/BucketState.d.ts.map +1 -1
  419. package/lib/State/BucketState.js +43 -14
  420. package/lib/State/BucketState.js.map +1 -1
  421. package/lib/State/LocalState.d.ts.map +1 -1
  422. package/lib/State/LocalState.js +3 -3
  423. package/lib/State/LocalState.js.map +1 -1
  424. package/lib/State/Provisioning.d.ts +5 -0
  425. package/lib/State/Provisioning.d.ts.map +1 -1
  426. package/lib/State/Provisioning.js +3 -1
  427. package/lib/State/Provisioning.js.map +1 -1
  428. package/lib/State/ResourceState.d.ts +2 -0
  429. package/lib/State/ResourceState.d.ts.map +1 -1
  430. package/lib/State/State.d.ts +26 -0
  431. package/lib/State/State.d.ts.map +1 -1
  432. package/lib/State/StateEncoding.d.ts +7 -0
  433. package/lib/State/StateEncoding.d.ts.map +1 -1
  434. package/lib/State/StateEncoding.js +19 -0
  435. package/lib/State/StateEncoding.js.map +1 -1
  436. package/lib/State/index.js +2 -2
  437. package/lib/State/index.js.map +1 -1
  438. package/lib/Telemetry/Layer.d.ts +2 -5
  439. package/lib/Telemetry/Layer.d.ts.map +1 -1
  440. package/lib/Telemetry/Layer.js +3 -23
  441. package/lib/Telemetry/Layer.js.map +1 -1
  442. package/lib/Telemetry/Metrics.d.ts +1 -1
  443. package/lib/Telemetry/Metrics.d.ts.map +1 -1
  444. package/lib/TelemetryRelay.js +1 -1
  445. package/lib/TelemetryRelay.js.map +1 -1
  446. package/lib/TelemetryRuntime.d.ts +1 -1
  447. package/lib/TelemetryRuntime.d.ts.map +1 -1
  448. package/lib/TelemetryRuntime.js +4 -3
  449. package/lib/TelemetryRuntime.js.map +1 -1
  450. package/lib/Util/ConsoleSink.d.ts +23 -2
  451. package/lib/Util/ConsoleSink.d.ts.map +1 -1
  452. package/lib/Util/ConsoleSink.js +54 -14
  453. package/lib/Util/ConsoleSink.js.map +1 -1
  454. package/lib/Util/LogAnnotation.d.ts +19 -0
  455. package/lib/Util/LogAnnotation.d.ts.map +1 -0
  456. package/lib/Util/LogAnnotation.js +19 -0
  457. package/lib/Util/LogAnnotation.js.map +1 -0
  458. package/lib/Util/LogRecord.d.ts +281 -0
  459. package/lib/Util/LogRecord.d.ts.map +1 -0
  460. package/lib/Util/LogRecord.js +267 -0
  461. package/lib/Util/LogRecord.js.map +1 -0
  462. package/lib/Util/Node.d.ts +9 -0
  463. package/lib/Util/Node.d.ts.map +1 -1
  464. package/lib/Util/Node.js +10 -6
  465. package/lib/Util/Node.js.map +1 -1
  466. package/lib/Util/PlatformServices.d.ts +3 -2
  467. package/lib/Util/PlatformServices.d.ts.map +1 -1
  468. package/lib/Util/PlatformServices.js +6 -2
  469. package/lib/Util/PlatformServices.js.map +1 -1
  470. package/lib/Util/ResourceOutput.d.ts +18 -10
  471. package/lib/Util/ResourceOutput.d.ts.map +1 -1
  472. package/lib/Util/ResourceOutput.js +22 -23
  473. package/lib/Util/ResourceOutput.js.map +1 -1
  474. package/lib/Util/Shutdown.d.ts +10 -0
  475. package/lib/Util/Shutdown.d.ts.map +1 -0
  476. package/lib/Util/Shutdown.js +32 -0
  477. package/lib/Util/Shutdown.js.map +1 -0
  478. package/lib/Util/Terminal.d.ts +2 -4
  479. package/lib/Util/Terminal.d.ts.map +1 -1
  480. package/lib/Util/Terminal.js +3 -11
  481. package/lib/Util/Terminal.js.map +1 -1
  482. package/lib/Util/TraceParent.d.ts +32 -0
  483. package/lib/Util/TraceParent.d.ts.map +1 -0
  484. package/lib/Util/TraceParent.js +42 -0
  485. package/lib/Util/TraceParent.js.map +1 -0
  486. package/lib/Util/base64.d.ts +7 -0
  487. package/lib/Util/base64.d.ts.map +1 -0
  488. package/lib/Util/base64.js +24 -0
  489. package/lib/Util/base64.js.map +1 -0
  490. package/lib/Util/cached-function.d.ts +5 -0
  491. package/lib/Util/cached-function.d.ts.map +1 -1
  492. package/lib/Util/cached-function.js +13 -8
  493. package/lib/Util/cached-function.js.map +1 -1
  494. package/lib/Util/data.d.ts +1 -1
  495. package/lib/Util/data.d.ts.map +1 -1
  496. package/lib/Util/data.js +1 -1
  497. package/lib/Util/data.js.map +1 -1
  498. package/lib/Util/equal.d.ts.map +1 -1
  499. package/lib/Util/equal.js +3 -2
  500. package/lib/Util/equal.js.map +1 -1
  501. package/lib/Util/extraFiles.d.ts.map +1 -1
  502. package/lib/Util/extraFiles.js +5 -5
  503. package/lib/Util/extraFiles.js.map +1 -1
  504. package/lib/Util/interactive.js +1 -1
  505. package/lib/Website/AstroOutput.d.ts +42 -0
  506. package/lib/Website/AstroOutput.d.ts.map +1 -0
  507. package/lib/Website/AstroOutput.js +34 -0
  508. package/lib/Website/AstroOutput.js.map +1 -0
  509. package/lib/Website/FrontendCore.d.ts +1 -1
  510. package/lib/Workflows.d.ts +9 -0
  511. package/lib/Workflows.d.ts.map +1 -1
  512. package/lib/Workflows.js +8 -0
  513. package/lib/Workflows.js.map +1 -1
  514. package/lib/index.d.ts +1 -0
  515. package/lib/index.d.ts.map +1 -1
  516. package/lib/index.js +1 -0
  517. package/lib/index.js.map +1 -1
  518. package/package.json +21 -28
  519. package/src/AdoptPolicy.ts +76 -0
  520. package/src/Alchemist/AuthRegistry.ts +164 -0
  521. package/src/Alchemist/Drift.ts +103 -0
  522. package/src/Alchemist/Entrypoint.ts +51 -3
  523. package/src/Alchemist/Errors.ts +1 -1
  524. package/src/Alchemist/{routes/logs.ts → Logs.ts} +28 -30
  525. package/src/Alchemist/Nuke.ts +90 -0
  526. package/src/Alchemist/Operations.ts +309 -0
  527. package/src/Alchemist/{routes/profile.ts → Profile.ts} +22 -22
  528. package/src/Alchemist/{routes/provider.ts → Provider.ts} +7 -6
  529. package/src/Alchemist/Runtime.ts +46 -12
  530. package/src/Alchemist/{routes/state.ts → State.ts} +78 -21
  531. package/src/Alchemist/index.ts +32 -15
  532. package/src/Apply.ts +513 -274
  533. package/src/Auth/AuthProvider.ts +76 -23
  534. package/src/Auth/BrowserOAuth.ts +37 -60
  535. package/src/Auth/Credentials.ts +2 -4
  536. package/src/Auth/Demand.ts +27 -18
  537. package/src/Auth/Env.ts +13 -8
  538. package/src/Auth/Inspect.ts +5 -2
  539. package/src/Auth/Lock.ts +4 -8
  540. package/src/Auth/OAuthFlow.ts +12 -26
  541. package/src/Auth/Paths.ts +3 -2
  542. package/src/Auth/Profile.ts +30 -2
  543. package/src/Auth/Registry.ts +27 -0
  544. package/src/Auth/Resolve.ts +75 -3
  545. package/src/Auth/StoredAuthProvider.ts +1 -2
  546. package/src/Binding.ts +3 -4
  547. package/src/Bundle/Bundle.ts +58 -7
  548. package/src/Bundle/NamespaceImportPlugin.ts +259 -0
  549. package/src/Bundle/index.ts +1 -0
  550. package/src/Cli/Format.ts +2 -1
  551. package/src/Cli/GlobalLog.ts +206 -68
  552. package/src/Cli/LoggingCli.ts +33 -20
  553. package/src/Cli/PlainCliFormatter.ts +4 -1
  554. package/src/Cli/Present.ts +34 -0
  555. package/src/Cli/SigilRenderer.ts +75 -0
  556. package/src/Cli/checkVersion.ts +25 -78
  557. package/src/Cli/commands/confirm.ts +3 -3
  558. package/src/Cli/commands/deploy.ts +53 -44
  559. package/src/Cli/commands/dev.ts +65 -7
  560. package/src/Cli/commands/drift.ts +20 -16
  561. package/src/Cli/commands/errors.ts +2 -3
  562. package/src/Cli/commands/instrument.ts +39 -8
  563. package/src/Cli/commands/logs.ts +22 -30
  564. package/src/Cli/commands/nuke.ts +25 -26
  565. package/src/Cli/commands/profile/commands.ts +34 -34
  566. package/src/Cli/commands/profile/flows.ts +26 -20
  567. package/src/Cli/commands/profile/hub.ts +16 -18
  568. package/src/Cli/commands/provider.ts +4 -4
  569. package/src/Cli/commands/render.ts +43 -71
  570. package/src/Cli/commands/state.ts +113 -33
  571. package/src/Cli/components/capabilities.ts +20 -0
  572. package/src/Cli/components/types.ts +13 -99
  573. package/src/Cli/components/ui/Environment.tsx +5 -5
  574. package/src/Cli/components/ui/Interactive.tsx +24 -15
  575. package/src/Cli/components/ui/Layout.tsx +1 -1
  576. package/src/Cli/components/ui/Typography.tsx +1 -1
  577. package/src/Cli/components/ui/index.ts +2 -2
  578. package/src/Cli/components/view/ApprovePlan.tsx +2 -1
  579. package/src/Cli/components/view/Format.tsx +58 -0
  580. package/src/Cli/components/view/Help.tsx +14 -17
  581. package/src/Cli/components/view/Logo.tsx +1 -1
  582. package/src/Cli/components/view/Nuke.tsx +74 -49
  583. package/src/Cli/components/view/PlanDecision.tsx +1 -1
  584. package/src/Cli/components/view/PlanRow.tsx +1 -1
  585. package/src/Cli/components/view/PlanTree.ts +2 -2
  586. package/src/Cli/components/view/PlanView.tsx +2 -2
  587. package/src/Cli/components/view/Profile.tsx +2 -2
  588. package/src/Cli/components/view/ProfileDashboard.tsx +12 -11
  589. package/src/Cli/components/view/Prompts.tsx +37 -75
  590. package/src/Cli/components/view/Runtime.tsx +132 -238
  591. package/src/Cli/components/view/SigilCli.tsx +12 -12
  592. package/src/Cli/components/view/StateExplorer.tsx +2 -1
  593. package/src/Cli/components/view/statusStyle.ts +2 -2
  594. package/src/Cli/exec.ts +48 -41
  595. package/src/Cli/main.ts +52 -33
  596. package/src/Cli/selectCli.ts +3 -3
  597. package/src/Command/Command.ts +1 -1
  598. package/src/Command/Dev.ts +129 -36
  599. package/src/Command/Memo.ts +1 -1
  600. package/src/Contributions.ts +42 -8
  601. package/src/DNS/Adapter.ts +289 -0
  602. package/src/DNS/index.ts +1 -0
  603. package/src/Deploy.ts +11 -3
  604. package/src/Destroy.ts +19 -13
  605. package/src/Diff.ts +17 -4
  606. package/src/Drift.ts +256 -127
  607. package/src/EvalStack.ts +97 -0
  608. package/src/Events.ts +296 -0
  609. package/src/Interaction.ts +332 -97
  610. package/src/Local/LocalProvider.ts +40 -9
  611. package/src/Local/RpcProvider.ts +11 -1
  612. package/src/Local/RpcProviderProxy.ts +29 -21
  613. package/src/Local/RpcSerialization.ts +32 -17
  614. package/src/Local/RpcServer.ts +25 -17
  615. package/src/Local/RpcServerBun.ts +10 -6
  616. package/src/Local/RpcServerEnvironment.ts +2 -2
  617. package/src/Local/RpcServerNode.ts +8 -1
  618. package/src/Local/RpcServerSession.ts +2 -2
  619. package/src/Local/RpcSpawner.ts +61 -37
  620. package/src/Local/Sidecar.ts +10 -1
  621. package/src/Nuke.ts +66 -43
  622. package/src/Output.ts +120 -7
  623. package/src/Plan.ts +140 -52
  624. package/src/Platform.ts +47 -18
  625. package/src/Provider.ts +48 -3
  626. package/src/Report.ts +77 -275
  627. package/src/Runtime/ManagedHttpShutdown.ts +21 -4
  628. package/src/RuntimeContext.ts +1 -1
  629. package/src/Stack.ts +113 -135
  630. package/src/State/BucketState.ts +53 -21
  631. package/src/State/LocalState.ts +7 -9
  632. package/src/State/Provisioning.ts +8 -1
  633. package/src/State/ResourceState.ts +2 -0
  634. package/src/State/State.ts +30 -0
  635. package/src/State/StateEncoding.ts +22 -0
  636. package/src/State/index.ts +2 -2
  637. package/src/Telemetry/Layer.ts +3 -24
  638. package/src/Telemetry/Metrics.ts +1 -1
  639. package/src/TelemetryRelay.ts +1 -1
  640. package/src/TelemetryRuntime.ts +8 -8
  641. package/src/Util/ConsoleSink.ts +76 -13
  642. package/src/Util/LogAnnotation.ts +18 -0
  643. package/src/Util/LogRecord.ts +386 -0
  644. package/src/Util/Node.ts +20 -6
  645. package/src/Util/PlatformServices.ts +17 -4
  646. package/src/Util/ResourceOutput.ts +26 -25
  647. package/src/Util/Shutdown.ts +52 -0
  648. package/src/Util/Terminal.ts +3 -20
  649. package/src/Util/TraceParent.ts +70 -0
  650. package/src/Util/base64.ts +22 -0
  651. package/src/Util/cached-function.ts +30 -19
  652. package/src/Util/data.ts +2 -2
  653. package/src/Util/equal.ts +3 -2
  654. package/src/Util/extraFiles.ts +9 -8
  655. package/src/Util/interactive.ts +1 -1
  656. package/src/Website/AstroOutput.ts +83 -0
  657. package/src/Workflows.ts +11 -0
  658. package/src/index.ts +1 -0
  659. package/lib/Alchemist/Progress.d.ts +0 -16
  660. package/lib/Alchemist/Progress.d.ts.map +0 -1
  661. package/lib/Alchemist/Progress.js +0 -123
  662. package/lib/Alchemist/Progress.js.map +0 -1
  663. package/lib/Alchemist/Session.d.ts +0 -116
  664. package/lib/Alchemist/Session.d.ts.map +0 -1
  665. package/lib/Alchemist/Session.js +0 -212
  666. package/lib/Alchemist/Session.js.map +0 -1
  667. package/lib/Alchemist/routes/drift.d.ts +0 -55
  668. package/lib/Alchemist/routes/drift.d.ts.map +0 -1
  669. package/lib/Alchemist/routes/drift.js +0 -52
  670. package/lib/Alchemist/routes/drift.js.map +0 -1
  671. package/lib/Alchemist/routes/logs.d.ts +0 -41
  672. package/lib/Alchemist/routes/logs.d.ts.map +0 -1
  673. package/lib/Alchemist/routes/logs.js.map +0 -1
  674. package/lib/Alchemist/routes/nuke.d.ts +0 -46
  675. package/lib/Alchemist/routes/nuke.d.ts.map +0 -1
  676. package/lib/Alchemist/routes/nuke.js +0 -80
  677. package/lib/Alchemist/routes/nuke.js.map +0 -1
  678. package/lib/Alchemist/routes/profile.d.ts +0 -133
  679. package/lib/Alchemist/routes/profile.d.ts.map +0 -1
  680. package/lib/Alchemist/routes/profile.js.map +0 -1
  681. package/lib/Alchemist/routes/provider.d.ts.map +0 -1
  682. package/lib/Alchemist/routes/provider.js.map +0 -1
  683. package/lib/Alchemist/routes/stack.d.ts +0 -95
  684. package/lib/Alchemist/routes/stack.d.ts.map +0 -1
  685. package/lib/Alchemist/routes/stack.js +0 -73
  686. package/lib/Alchemist/routes/stack.js.map +0 -1
  687. package/lib/Alchemist/routes/state.d.ts.map +0 -1
  688. package/lib/Alchemist/routes/state.js.map +0 -1
  689. package/lib/Cli/CliKit/CliKit.d.ts +0 -92
  690. package/lib/Cli/CliKit/CliKit.d.ts.map +0 -1
  691. package/lib/Cli/CliKit/CliKit.js +0 -27
  692. package/lib/Cli/CliKit/CliKit.js.map +0 -1
  693. package/lib/Cli/CliKit/index.d.ts +0 -9
  694. package/lib/Cli/CliKit/index.d.ts.map +0 -1
  695. package/lib/Cli/CliKit/index.js +0 -9
  696. package/lib/Cli/CliKit/index.js.map +0 -1
  697. package/lib/Cli/CliKit/interaction.d.ts +0 -13
  698. package/lib/Cli/CliKit/interaction.d.ts.map +0 -1
  699. package/lib/Cli/CliKit/interaction.js +0 -17
  700. package/lib/Cli/CliKit/interaction.js.map +0 -1
  701. package/lib/Cli/CliKit/layer.d.ts +0 -7
  702. package/lib/Cli/CliKit/layer.d.ts.map +0 -1
  703. package/lib/Cli/CliKit/layer.js +0 -33
  704. package/lib/Cli/CliKit/layer.js.map +0 -1
  705. package/lib/Local/DevLog.d.ts +0 -32
  706. package/lib/Local/DevLog.d.ts.map +0 -1
  707. package/lib/Local/DevLog.js +0 -112
  708. package/lib/Local/DevLog.js.map +0 -1
  709. package/lib/Test/Alchemy.d.ts +0 -79
  710. package/lib/Test/Alchemy.d.ts.map +0 -1
  711. package/lib/Test/Alchemy.js +0 -193
  712. package/lib/Test/Alchemy.js.map +0 -1
  713. package/lib/Test/Bun.d.ts +0 -69
  714. package/lib/Test/Bun.d.ts.map +0 -1
  715. package/lib/Test/Bun.js +0 -126
  716. package/lib/Test/Bun.js.map +0 -1
  717. package/lib/Test/Core.d.ts +0 -277
  718. package/lib/Test/Core.d.ts.map +0 -1
  719. package/lib/Test/Core.js +0 -362
  720. package/lib/Test/Core.js.map +0 -1
  721. package/lib/Test/Http.d.ts +0 -109
  722. package/lib/Test/Http.d.ts.map +0 -1
  723. package/lib/Test/Http.js +0 -123
  724. package/lib/Test/Http.js.map +0 -1
  725. package/lib/Test/TestState.d.ts +0 -12
  726. package/lib/Test/TestState.d.ts.map +0 -1
  727. package/lib/Test/TestState.js +0 -15
  728. package/lib/Test/TestState.js.map +0 -1
  729. package/lib/Test/Vitest.d.ts +0 -60
  730. package/lib/Test/Vitest.d.ts.map +0 -1
  731. package/lib/Test/Vitest.js +0 -132
  732. package/lib/Test/Vitest.js.map +0 -1
  733. package/lib/Test/index.d.ts +0 -3
  734. package/lib/Test/index.d.ts.map +0 -1
  735. package/lib/Test/index.js +0 -3
  736. package/lib/Test/index.js.map +0 -1
  737. package/lib/Util/FileLogger.d.ts +0 -7
  738. package/lib/Util/FileLogger.d.ts.map +0 -1
  739. package/lib/Util/FileLogger.js +0 -16
  740. package/lib/Util/FileLogger.js.map +0 -1
  741. package/src/Alchemist/Progress.ts +0 -167
  742. package/src/Alchemist/Session.ts +0 -415
  743. package/src/Alchemist/routes/drift.ts +0 -87
  744. package/src/Alchemist/routes/nuke.ts +0 -131
  745. package/src/Alchemist/routes/stack.ts +0 -173
  746. package/src/Cli/CliKit/CliKit.ts +0 -159
  747. package/src/Cli/CliKit/index.ts +0 -41
  748. package/src/Cli/CliKit/interaction.ts +0 -19
  749. package/src/Cli/CliKit/layer.ts +0 -44
  750. package/src/Local/DevLog.ts +0 -122
  751. package/src/Test/Alchemy.ts +0 -334
  752. package/src/Test/Bun.ts +0 -230
  753. package/src/Test/Core.ts +0 -785
  754. package/src/Test/Http.ts +0 -201
  755. package/src/Test/TestState.ts +0 -35
  756. package/src/Test/Vitest.ts +0 -239
  757. package/src/Test/index.ts +0 -2
  758. package/src/Util/FileLogger.ts +0 -20
@@ -1 +1 @@
1
- {"version":3,"file":"Node.js","sourceRoot":"","sources":["../../src/Util/Node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Node.js","sourceRoot":"","sources":["../../src/Util/Node.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import type { Crypto } from "effect/Crypto";
1
+ import * as Digest from "effect/crypto/Digest";
2
+ import * as SecureRandom from "effect/crypto/SecureRandom";
2
3
  import type { Input as DurationInput } from "effect/Duration";
3
4
  import * as Effect from "effect/Effect";
4
5
  import type { FileSystem } from "effect/FileSystem";
@@ -18,7 +19,7 @@ export declare const platformLayer: <A, E, R>(constructors: {
18
19
  bun: () => Promise<Layer.Layer<A, E, R>>;
19
20
  node: () => Promise<Layer.Layer<A, E, R>>;
20
21
  }) => Layer.Layer<A, E, R>;
21
- export type PlatformServices = ChildProcessSpawner | Crypto | FileSystem | Path | Stdio | Terminal | WebSocketConstructor;
22
+ export type PlatformServices = ChildProcessSpawner | Digest.Digest | SecureRandom.SecureRandom | FileSystem | Path | Stdio | Terminal | WebSocketConstructor;
22
23
  export declare const PlatformServices: Layer.Layer<PlatformServices>;
23
24
  export declare const runMain: <E, A>(effect: Effect.Effect<A, E>, options?: {
24
25
  readonly disableErrorReporting?: boolean | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"PlatformServices.d.ts","sourceRoot":"","sources":["../../src/Util/PlatformServices.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,EAAE,KAAK,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAC9E,OAAO,EAAmB,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAoBhD;;GAEG;AACH,eAAO,MAAM,aAAa,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,gBAAgB;IACnD,GAAG,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACzC,IAAI,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;CAC3C,yBASE,CAAC;AAEJ,MAAM,MAAM,gBAAgB,GACxB,mBAAmB,GACnB,MAAM,GACN,UAAU,GACV,IAAI,GACJ,KAAK,GACL,QAAQ,GAER,oBAAoB,CAAC;AAEzB,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAkBzD,CAAC;AAmBH,eAAO,MAAM,OAAO,GAAI,CAAC,EAAE,CAAC,UAClB,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,YACjB;IACR,QAAQ,CAAC,qBAAqB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACrD,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;CAC1C,KACA,IAoBF,CAAC;AAEF,eAAO,MAAM,UAAU,UACf,MAAM,SACN,MAAM,YACF;IACR,QAAQ,CAAC,uBAAuB,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;CAC9D,KACA,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,UAAU,CA2BjC,CAAC"}
1
+ {"version":3,"file":"PlatformServices.d.ts","sourceRoot":"","sources":["../../src/Util/PlatformServices.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAC;AAC/C,OAAO,KAAK,YAAY,MAAM,4BAA4B,CAAC;AAC3D,OAAO,KAAK,EAAE,KAAK,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAC9E,OAAO,EAAmB,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAoBhD;;GAEG;AACH,eAAO,MAAM,aAAa,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,gBAAgB;IACnD,GAAG,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACzC,IAAI,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;CAC3C,yBASE,CAAC;AAKJ,MAAM,MAAM,gBAAgB,GACxB,mBAAmB,GACnB,MAAM,CAAC,MAAM,GACb,YAAY,CAAC,YAAY,GACzB,UAAU,GACV,IAAI,GACJ,KAAK,GACL,QAAQ,GAER,oBAAoB,CAAC;AAEzB,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,KAAK,CAAC,gBAAgB,CA0BzD,CAAC;AAmBH,eAAO,MAAM,OAAO,GAAI,CAAC,EAAE,CAAC,UAClB,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,YACjB;IACR,QAAQ,CAAC,qBAAqB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACrD,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;CAC1C,KACA,IAoBF,CAAC;AAEF,eAAO,MAAM,UAAU,UACf,MAAM,SACN,MAAM,YACF;IACR,QAAQ,CAAC,uBAAuB,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;CAC9D,KACA,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,UAAU,CA2BjC,CAAC"}
@@ -1,3 +1,5 @@
1
+ import * as Digest from "effect/crypto/Digest";
2
+ import * as SecureRandom from "effect/crypto/SecureRandom";
1
3
  import * as Effect from "effect/Effect";
2
4
  import * as Layer from "effect/Layer";
3
5
  import { defaultTeardown } from "effect/Runtime";
@@ -22,20 +24,22 @@ export const platformLayer = (constructors) => Layer.unwrap(Effect.promise(async
22
24
  return await constructors.node();
23
25
  }
24
26
  }));
27
+ // effect 4.1 dropped crypto from the platform `*Services` bundles.
28
+ const WebCryptoServices = Layer.mergeAll(SecureRandom.layerWebCrypto, Digest.layerWebCrypto);
25
29
  export const PlatformServices = platformLayer({
26
30
  bun: async () => {
27
31
  const [BunServices, BunSocket] = await Promise.all([
28
32
  importPlatformPeer("@effect/platform-bun", () => import("@effect/platform-bun/BunServices")),
29
33
  importPlatformPeer("@effect/platform-bun", () => import("@effect/platform-bun/BunSocket")),
30
34
  ]);
31
- return Layer.merge(BunServices.layer, BunSocket.layerWebSocketConstructor);
35
+ return Layer.mergeAll(BunServices.layer, BunSocket.layerWebSocketConstructor, WebCryptoServices);
32
36
  },
33
37
  node: async () => {
34
38
  const [NodeServices, NodeSocket] = await Promise.all([
35
39
  importPlatformPeer("@effect/platform-node", () => import("@effect/platform-node/NodeServices")),
36
40
  importPlatformPeer("@effect/platform-node", () => import("@effect/platform-node/NodeSocket")),
37
41
  ]);
38
- return Layer.merge(NodeServices.layer, NodeSocket.layerWebSocketConstructor);
42
+ return Layer.mergeAll(NodeServices.layer, NodeSocket.layerWebSocketConstructor, WebCryptoServices);
39
43
  },
40
44
  });
41
45
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"PlatformServices.js","sourceRoot":"","sources":["../../src/Util/PlatformServices.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PlatformServices.js","sourceRoot":"","sources":["../../src/Util/PlatformServices.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- import type * as ConsoleService from "effect/Console";
2
1
  import * as Effect from "effect/Effect";
3
2
  export type OutputChannel = "stdout" | "stderr";
4
3
  /** Sigil-themed resource attribution shared by every append-only log path. */
@@ -6,11 +5,22 @@ export declare const formatResourceTag: (id: string, colors?: boolean) => string
6
5
  /** Remove a pretty Effect prefix already rendered by a child process. */
7
6
  export declare const stripChildEffectPrefix: (line: string) => string;
8
7
  /**
9
- * The single terminal-output pipeline for resource-owned processes. Dev
10
- * servers, local workers, and deploy-time builders all use the same line
11
- * splitting, resource prefix, color policy, and stdout/stderr severity.
8
+ * Log one line a resource-owned process wrote, as a structured record: the
9
+ * child's text (with any pretty Effect prefix removed) plus the resource and
10
+ * stream it came from. The record keeps the text as written; the renderer
11
+ * draws the resource tag and strips styling when colors are off. A JSON line from an alchemy child is replayed as-is.
12
+ *
13
+ * stderr is a process transport, not a semantic failure: Vite and many other
14
+ * tools write warnings, progress, and ordinary diagnostics there, so both
15
+ * streams log at Info and carry the stream as data.
12
16
  */
13
- export declare const makeResourceOutput: (id: string, console: Pick<ConsoleService.Console, "log">) => {
17
+ export declare const logResourceLine: (id: string, channel: OutputChannel, line: string) => Effect.Effect<void, never, never>;
18
+ /**
19
+ * Line-buffered output for resource-owned child processes whose streams
20
+ * arrive as chunks outside an Effect (workerd output pumps, stream mirrors).
21
+ * Captures the caller's services so each line goes through its loggers.
22
+ */
23
+ export declare const makeResourceOutput: (id: string) => Effect.Effect<{
14
24
  stdout: {
15
25
  push(chunk: string): void;
16
26
  flush(): void;
@@ -19,12 +29,10 @@ export declare const makeResourceOutput: (id: string, console: Pick<ConsoleServi
19
29
  push(chunk: string): void;
20
30
  flush(): void;
21
31
  };
22
- };
32
+ }, never, never>;
23
33
  /**
24
34
  * Effect-native output for resource-owned child processes whose streams are
25
- * already consumed inside an Effect. Both process channels are transport
26
- * details, not semantic severity, so they enter the configured logger at the
27
- * info level. The logger remains responsible for terminal and file sinks.
35
+ * already consumed inside an Effect.
28
36
  */
29
- export declare const makeResourceLogger: (id: string) => (_channel: OutputChannel, line: string) => Effect.Effect<void, never, never>;
37
+ export declare const makeResourceLogger: (id: string) => (channel: OutputChannel, line: string) => Effect.Effect<void, never, never>;
30
38
  //# sourceMappingURL=ResourceOutput.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ResourceOutput.d.ts","sourceRoot":"","sources":["../../src/Util/ResourceOutput.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,cAAc,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAKxC,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEhD,8EAA8E;AAC9E,eAAO,MAAM,iBAAiB,OAAQ,MAAM,uBAA6B,MACD,CAAC;AAKzE,yEAAyE;AACzE,eAAO,MAAM,sBAAsB,SAAU,MAAM,KAAG,MAsBrD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,OAAQ,MAAM,WAAW,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC;IASvF,MAAM;;;;IACN,MAAM;;;;CAET,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,OAAQ,MAAM,gBAEzB,aAAa,QAAQ,MAAM,sCAE9C,CAAC"}
1
+ {"version":3,"file":"ResourceOutput.d.ts","sourceRoot":"","sources":["../../src/Util/ResourceOutput.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAMxC,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEhD,8EAA8E;AAC9E,eAAO,MAAM,iBAAiB,OAAQ,MAAM,uBAA6B,MACD,CAAC;AAKzE,yEAAyE;AACzE,eAAO,MAAM,sBAAsB,SAAU,MAAM,KAAG,MAsBrD,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,OAAQ,MAAM,WAAW,aAAa,QAAQ,MAAM,sCACD,CAAC;AAEhF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;gBAK7B,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,kBAAkB,OAAQ,MAAM,eAAe,aAAa,QAAQ,MAAM,sCACnD,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { stripVTControlCharacters } from "node:util";
2
2
  import * as Effect from "effect/Effect";
3
3
  import { makeLineBuffer } from "./LineBuffer.js";
4
+ import { logChildLine } from "./LogRecord.js";
4
5
  import { ANSI_RESET, ansiFg, colorsEnabled } from "./Terminal.js";
5
6
  import { theme } from "./Theme.js";
6
7
  /** Sigil-themed resource attribution shared by every append-only log path. */
@@ -31,31 +32,29 @@ export const stripChildEffectPrefix = (line) => {
31
32
  return line.slice(offset);
32
33
  };
33
34
  /**
34
- * The single terminal-output pipeline for resource-owned processes. Dev
35
- * servers, local workers, and deploy-time builders all use the same line
36
- * splitting, resource prefix, color policy, and stdout/stderr severity.
35
+ * Log one line a resource-owned process wrote, as a structured record: the
36
+ * child's text (with any pretty Effect prefix removed) plus the resource and
37
+ * stream it came from. The record keeps the text as written; the renderer
38
+ * draws the resource tag and strips styling when colors are off. A JSON line from an alchemy child is replayed as-is.
39
+ *
40
+ * stderr is a process transport, not a semantic failure: Vite and many other
41
+ * tools write warnings, progress, and ordinary diagnostics there, so both
42
+ * streams log at Info and carry the stream as data.
37
43
  */
38
- export const makeResourceOutput = (id, console) => {
39
- const prefix = formatResourceTag(id);
40
- // stderr is a process transport, not a semantic failure: Vite and many
41
- // other tools write warnings, progress, and ordinary diagnostics there.
42
- // Sending it through Console.error makes CLIKit prepend an error glyph to
43
- // every line. Both streams therefore enter the renderer as plain resource
44
- // output; the child text retains its own ANSI severity styling.
45
- const writeLine = (line) => console.log(`${prefix} ${stripChildEffectPrefix(line)}`);
46
- return {
47
- stdout: makeLineBuffer(writeLine),
48
- stderr: makeLineBuffer(writeLine),
49
- };
50
- };
44
+ export const logResourceLine = (id, channel, line) => logChildLine(stripChildEffectPrefix(line), { stream: channel, resource: id });
45
+ /**
46
+ * Line-buffered output for resource-owned child processes whose streams
47
+ * arrive as chunks outside an Effect (workerd output pumps, stream mirrors).
48
+ * Captures the caller's services so each line goes through its loggers.
49
+ */
50
+ export const makeResourceOutput = Effect.fn(function* (id) {
51
+ const context = yield* Effect.context();
52
+ const writer = (channel) => makeLineBuffer((line) => Effect.runSyncWith(context)(logResourceLine(id, channel, line)));
53
+ return { stdout: writer("stdout"), stderr: writer("stderr") };
54
+ });
51
55
  /**
52
56
  * Effect-native output for resource-owned child processes whose streams are
53
- * already consumed inside an Effect. Both process channels are transport
54
- * details, not semantic severity, so they enter the configured logger at the
55
- * info level. The logger remains responsible for terminal and file sinks.
57
+ * already consumed inside an Effect.
56
58
  */
57
- export const makeResourceLogger = (id) => {
58
- const prefix = formatResourceTag(id);
59
- return (_channel, line) => Effect.logInfo(`${prefix} ${stripChildEffectPrefix(line)}`);
60
- };
59
+ export const makeResourceLogger = (id) => (channel, line) => logResourceLine(id, channel, line);
61
60
  //# sourceMappingURL=ResourceOutput.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ResourceOutput.js","sourceRoot":"","sources":["../../src/Util/ResourceOutput.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAErD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAInC,8EAA8E;AAC9E,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAAU,EAAE,MAAM,GAAG,aAAa,EAAE,EAAU,EAAE,CAChF,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC;AAEzE,MAAM,iBAAiB,GACrB,oGAAoG,CAAC;AAEvG,yEAAyE;AACzE,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,IAAY,EAAU,EAAE;IAC7D,MAAM,KAAK,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACtE,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAEhC,wEAAwE;IACxE,yEAAyE;IACzE,oCAAoC;IACpC,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,OAAO,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QACzD,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,MAAM,EAAE,CAAC;YAC5B,4CAA4C;YAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAClE,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAClB,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBACzB,SAAS;YACX,CAAC;QACH,CAAC;QACD,MAAM,EAAE,CAAC;QACT,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAC5B,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,EAAU,EAAE,OAA4C,EAAE,EAAE;IAC7F,MAAM,MAAM,GAAG,iBAAiB,CAAC,EAAE,CAAC,CAAC;IACrC,uEAAuE;IACvE,wEAAwE;IACxE,0EAA0E;IAC1E,0EAA0E;IAC1E,gEAAgE;IAChE,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7F,OAAO;QACL,MAAM,EAAE,cAAc,CAAC,SAAS,CAAC;QACjC,MAAM,EAAE,cAAc,CAAC,SAAS,CAAC;KAClC,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,EAAU,EAAE,EAAE;IAC/C,MAAM,MAAM,GAAG,iBAAiB,CAAC,EAAE,CAAC,CAAC;IACrC,OAAO,CAAC,QAAuB,EAAE,IAAY,EAAE,EAAE,CAC/C,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,IAAI,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAChE,CAAC,CAAC"}
1
+ {"version":3,"file":"ResourceOutput.js","sourceRoot":"","sources":["../../src/Util/ResourceOutput.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import * as Effect from "effect/Effect";
2
+ /**
3
+ * Time this process's shutdown in the run log: a Debug record when SIGINT or
4
+ * SIGTERM arrives, and one when `effect` has finished (finalizers included),
5
+ * with the time since the signal. Silent when the process ends on its own.
6
+ */
7
+ export declare const logShutdown: (name: string) => <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>;
8
+ /** Run `effect` and log how long it took, as a step of a shutdown. */
9
+ export declare const timedShutdownStep: (step: string) => <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>;
10
+ //# sourceMappingURL=Shutdown.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Shutdown.d.ts","sourceRoot":"","sources":["../../src/Util/Shutdown.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC;;;;GAIG;AACH,eAAO,MAAM,WAAW,SACf,MAAM,MACZ,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CA2B5D,CAAC;AAEP,sEAAsE;AACtE,eAAO,MAAM,iBAAiB,SACrB,MAAM,MACZ,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAS7D,CAAC"}
@@ -0,0 +1,32 @@
1
+ import * as Clock from "effect/Clock";
2
+ import * as Effect from "effect/Effect";
3
+ /**
4
+ * Time this process's shutdown in the run log: a Debug record when SIGINT or
5
+ * SIGTERM arrives, and one when `effect` has finished (finalizers included),
6
+ * with the time since the signal. Silent when the process ends on its own.
7
+ */
8
+ export const logShutdown = (name) => (effect) => Effect.gen(function* () {
9
+ const context = yield* Effect.context();
10
+ const clock = yield* Clock.Clock;
11
+ let signalled;
12
+ const onSignal = (signal) => {
13
+ if (signalled !== undefined)
14
+ return;
15
+ signalled = { signal, at: clock.currentTimeMillisUnsafe() };
16
+ Effect.runForkWith(context)(Effect.logDebug(`shutdown: ${name} received ${signal}`));
17
+ };
18
+ // Ahead of the runtime's own handler, which interrupts this fiber and
19
+ // can run its whole teardown synchronously before later listeners.
20
+ process.prependListener("SIGINT", onSignal);
21
+ process.prependListener("SIGTERM", onSignal);
22
+ return yield* effect.pipe(Effect.onExit(() => Effect.flatMap(Clock.currentTimeMillis, (now) => {
23
+ process.off("SIGINT", onSignal);
24
+ process.off("SIGTERM", onSignal);
25
+ return signalled === undefined
26
+ ? Effect.void
27
+ : Effect.logDebug(`shutdown: ${name} finished ${now - signalled.at}ms after ${signalled.signal}`);
28
+ })));
29
+ });
30
+ /** Run `effect` and log how long it took, as a step of a shutdown. */
31
+ export const timedShutdownStep = (step) => (effect) => Effect.flatMap(Clock.currentTimeMillis, (start) => effect.pipe(Effect.onExit(() => Effect.flatMap(Clock.currentTimeMillis, (end) => Effect.logDebug(`shutdown: ${step} in ${end - start}ms`)))));
32
+ //# sourceMappingURL=Shutdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Shutdown.js","sourceRoot":"","sources":["../../src/Util/Shutdown.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GACtB,CAAC,IAAY,EAAE,EAAE,CACjB,CAAU,MAA8B,EAA0B,EAAE,CAClE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,EAAS,CAAC;IAC/C,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;IACjC,IAAI,SAAuE,CAAC;IAC5E,MAAM,QAAQ,GAAG,CAAC,MAAsB,EAAE,EAAE;QAC1C,IAAI,SAAS,KAAK,SAAS;YAAE,OAAO;QACpC,SAAS,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,CAAC,uBAAuB,EAAE,EAAE,CAAC;QAC5D,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,IAAI,aAAa,MAAM,EAAE,CAAC,CAAC,CAAC;IACvF,CAAC,CAAC;IACF,sEAAsE;IACtE,mEAAmE;IACnE,OAAO,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC5C,OAAO,CAAC,eAAe,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC7C,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CACvB,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CACjB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC,GAAG,EAAE,EAAE;QAC9C,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACjC,OAAO,SAAS,KAAK,SAAS;YAC5B,CAAC,CAAC,MAAM,CAAC,IAAI;YACb,CAAC,CAAC,MAAM,CAAC,QAAQ,CACb,aAAa,IAAI,aAAa,GAAG,GAAG,SAAS,CAAC,EAAE,YAAY,SAAS,CAAC,MAAM,EAAE,CAC/E,CAAC;IACR,CAAC,CAAC,CACH,CACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEP,sEAAsE;AACtE,MAAM,CAAC,MAAM,iBAAiB,GAC5B,CAAC,IAAY,EAAE,EAAE,CACjB,CAAU,MAA8B,EAA0B,EAAE,CAClE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,EAAE,CAChD,MAAM,CAAC,IAAI,CACT,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CACjB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC,GAAG,EAAE,EAAE,CAC9C,MAAM,CAAC,QAAQ,CAAC,aAAa,IAAI,OAAO,GAAG,GAAG,KAAK,IAAI,CAAC,CACzD,CACF,CACF,CACF,CAAC"}
@@ -1,5 +1,4 @@
1
- import { type TerminalProgressState } from "@alchemy.run/sigil/ansi";
2
- /** Terminal-emulator features shared by CliKit components. */
1
+ /** Terminal-emulator features shared by CLI components. */
3
2
  import { detectUnicodeSupport } from "@alchemy.run/sigil/capabilities";
4
3
  export declare const ANSI_RESET = "\u001B[0m";
5
4
  export declare const ANSI_BOLD = "\u001B[1m";
@@ -8,7 +7,7 @@ export declare const ANSI_DIM = "\u001B[2m";
8
7
  export declare const ansiFg: (hex: string) => string;
9
8
  /**
10
9
  * The canonical color-support decision, shared by raw terminal strings and
11
- * CliKit capability detection so the two can never disagree.
10
+ * terminal capability detection so the two can never disagree.
12
11
  */
13
12
  export declare const colorsEnabled: (stream?: Pick<NodeJS.WriteStream, "isTTY">) => boolean;
14
13
  /** The canonical Unicode-support decision for raw terminal strings. */
@@ -17,7 +16,6 @@ export declare const unicodeEnabled: typeof detectUnicodeSupport;
17
16
  export declare const pipedColorEnv: () => Record<string, string>;
18
17
  export declare const paint: (code: string, value: string) => string;
19
18
  export declare const copyToClipboard: (text: string, stdout?: Pick<NodeJS.WriteStream, "write">) => void;
20
- export declare const setNativeProgress: (state: TerminalProgressState, value?: number, stdout?: Pick<NodeJS.WriteStream, "write" | "isTTY">) => void;
21
19
  /** Display-width-aware truncation (wide CJK/emoji count by rendered cells). */
22
20
  export declare const truncate: (value: string, width: number) => string;
23
21
  //# sourceMappingURL=Terminal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Terminal.d.ts","sourceRoot":"","sources":["../../src/Util/Terminal.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,qBAAqB,EAC3B,MAAM,yBAAyB,CAAC;AACjC,8DAA8D;AAC9D,OAAO,EAAoB,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAEzF,eAAO,MAAM,UAAU,cAAc,CAAC;AACtC,eAAO,MAAM,SAAS,cAAc,CAAC;AACrC,eAAO,MAAM,QAAQ,cAAc,CAAC;AAEpC,8DAA8D;AAC9D,eAAO,MAAM,MAAM,QAAS,MAAM,WAKjC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,YAChB,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,KACxC,OAAuC,CAAC;AAE3C,uEAAuE;AACvE,eAAO,MAAM,cAAc,6BAAuB,CAAC;AAEnD,gFAAgF;AAChF,eAAO,MAAM,aAAa,QAAO,MAAM,CAAC,MAAM,EAAE,MAAM,CACkB,CAAC;AAEzE,eAAO,MAAM,KAAK,SAAU,MAAM,SAAS,MAAM,KAAG,MACM,CAAC;AAE3D,eAAO,MAAM,eAAe,SACpB,MAAM,WACJ,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,KACxC,IAMF,CAAC;AAEF,eAAO,MAAM,iBAAiB,UACrB,qBAAqB,UACpB,MAAM,WACN,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,GAAG,OAAO,CAAC,KAClD,IAKF,CAAC;AAIF,+EAA+E;AAC/E,eAAO,MAAM,QAAQ,UAAW,MAAM,SAAS,MAAM,KAAG,MAYvD,CAAC"}
1
+ {"version":3,"file":"Terminal.d.ts","sourceRoot":"","sources":["../../src/Util/Terminal.ts"],"names":[],"mappings":"AACA,2DAA2D;AAC3D,OAAO,EAAoB,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAEzF,eAAO,MAAM,UAAU,cAAc,CAAC;AACtC,eAAO,MAAM,SAAS,cAAc,CAAC;AACrC,eAAO,MAAM,QAAQ,cAAc,CAAC;AAEpC,8DAA8D;AAC9D,eAAO,MAAM,MAAM,QAAS,MAAM,WAKjC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,YAChB,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,KACxC,OAAuC,CAAC;AAE3C,uEAAuE;AACvE,eAAO,MAAM,cAAc,6BAAuB,CAAC;AAEnD,gFAAgF;AAChF,eAAO,MAAM,aAAa,QAAO,MAAM,CAAC,MAAM,EAAE,MAAM,CACkB,CAAC;AAEzE,eAAO,MAAM,KAAK,SAAU,MAAM,SAAS,MAAM,KAAG,MACM,CAAC;AAE3D,eAAO,MAAM,eAAe,SACpB,MAAM,WACJ,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,KACxC,IAMF,CAAC;AAIF,+EAA+E;AAC/E,eAAO,MAAM,QAAQ,UAAW,MAAM,SAAS,MAAM,KAAG,MAYvD,CAAC"}
@@ -1,5 +1,5 @@
1
- import { setClipboard, setTerminalProgress, stringWidth, tmuxPassthrough, } from "@alchemy.run/sigil/ansi";
2
- /** Terminal-emulator features shared by CliKit components. */
1
+ import { setClipboard, stringWidth, tmuxPassthrough } from "@alchemy.run/sigil/ansi";
2
+ /** Terminal-emulator features shared by CLI components. */
3
3
  import { detectColorLevel, detectUnicodeSupport } from "@alchemy.run/sigil/capabilities";
4
4
  export const ANSI_RESET = "\u001B[0m";
5
5
  export const ANSI_BOLD = "\u001B[1m";
@@ -13,7 +13,7 @@ export const ansiFg = (hex) => {
13
13
  };
14
14
  /**
15
15
  * The canonical color-support decision, shared by raw terminal strings and
16
- * CliKit capability detection so the two can never disagree.
16
+ * terminal capability detection so the two can never disagree.
17
17
  */
18
18
  export const colorsEnabled = (stream = process.stdout) => detectColorLevel(stream) > 0;
19
19
  /** The canonical Unicode-support decision for raw terminal strings. */
@@ -28,14 +28,6 @@ export const copyToClipboard = (text, stdout = process.stdout) => {
28
28
  }
29
29
  stdout.write(sequence);
30
30
  };
31
- export const setNativeProgress = (state, value, stdout = process.stdout) => {
32
- if (stdout.isTTY !== true)
33
- return;
34
- let sequence = setTerminalProgress(state, value);
35
- if (process.env.TMUX !== undefined)
36
- sequence = tmuxPassthrough(sequence);
37
- stdout.write(sequence);
38
- };
39
31
  const truncateSegmenter = new Intl.Segmenter();
40
32
  /** Display-width-aware truncation (wide CJK/emoji count by rendered cells). */
41
33
  export const truncate = (value, width) => {
@@ -1 +1 @@
1
- {"version":3,"file":"Terminal.js","sourceRoot":"","sources":["../../src/Util/Terminal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Terminal.js","sourceRoot":"","sources":["../../src/Util/Terminal.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import * as Effect from "effect/Effect";
2
+ import * as Stream from "effect/Stream";
3
+ /**
4
+ * The span a child process or RPC call runs under, so its records and spans
5
+ * join the caller's trace instead of starting their own.
6
+ */
7
+ export interface TraceParent {
8
+ readonly traceId: string;
9
+ readonly spanId: string;
10
+ }
11
+ /** Set on alchemy child processes to the trace they report under. */
12
+ export declare const TRACE_PARENT_ENV = "ALCHEMY_TRACE_PARENT";
13
+ /**
14
+ * This process's trace, for records logged outside any span (startup,
15
+ * shutdown, finalizers): the parent's when it passed one in
16
+ * {@link TRACE_PARENT_ENV}, otherwise a new one. It ties a process's
17
+ * untraced records together and to its parent's, without a span that would
18
+ * stay open for the life of the process.
19
+ */
20
+ export declare const processTrace: TraceParent;
21
+ /** The caller's current span, if it is in one. */
22
+ export declare const currentTraceParent: Effect.Effect<TraceParent | undefined>;
23
+ /**
24
+ * {@link TRACE_PARENT_ENV} for a child process: the current span, or this
25
+ * process's trace outside one.
26
+ */
27
+ export declare const traceParentEnv: Effect.Effect<Record<string, string>>;
28
+ /** Run `effect` as a child of `parent`, when there is one. */
29
+ export declare const withTraceParent: (parent: TraceParent | undefined) => <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>;
30
+ /** Run `stream` (its whole execution, not just its construction) as a child of `parent`. */
31
+ export declare const withStreamTraceParent: (parent: TraceParent | undefined) => <A, E, R>(stream: Stream.Stream<A, E, R>) => Stream.Stream<A, E, R>;
32
+ //# sourceMappingURL=TraceParent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TraceParent.d.ts","sourceRoot":"","sources":["../../src/Util/TraceParent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,qEAAqE;AACrE,eAAO,MAAM,gBAAgB,yBAAyB,CAAC;AAOvD;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,EAAE,WAG1B,CAAC;AAEF,kDAAkD;AAClD,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,GAAG,SAAS,CAMrE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAKhE,CAAC;AAIF,8DAA8D;AAC9D,eAAO,MAAM,eAAe,WACjB,WAAW,GAAG,SAAS,MAC/B,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CACe,CAAC;AAElF,4FAA4F;AAC5F,eAAO,MAAM,qBAAqB,WACvB,WAAW,GAAG,SAAS,MAC/B,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAGM,CAAC"}
@@ -0,0 +1,42 @@
1
+ import * as Effect from "effect/Effect";
2
+ import * as Hex from "effect/encoding/Hex";
3
+ import * as Option from "effect/Option";
4
+ import * as Stream from "effect/Stream";
5
+ import * as Tracer from "effect/Tracer";
6
+ /** Set on alchemy child processes to the trace they report under. */
7
+ export const TRACE_PARENT_ENV = "ALCHEMY_TRACE_PARENT";
8
+ const fromEnv = () => {
9
+ const [traceId, spanId] = (process.env[TRACE_PARENT_ENV] ?? "").split("-");
10
+ return traceId && spanId ? { traceId, spanId } : undefined;
11
+ };
12
+ /**
13
+ * This process's trace, for records logged outside any span (startup,
14
+ * shutdown, finalizers): the parent's when it passed one in
15
+ * {@link TRACE_PARENT_ENV}, otherwise a new one. It ties a process's
16
+ * untraced records together and to its parent's, without a span that would
17
+ * stay open for the life of the process.
18
+ */
19
+ export const processTrace = fromEnv() ?? {
20
+ traceId: Hex.random(32),
21
+ spanId: Hex.random(16),
22
+ };
23
+ /** The caller's current span, if it is in one. */
24
+ export const currentTraceParent = Effect.map(Effect.option(Effect.currentParentSpan), Option.match({
25
+ onNone: () => undefined,
26
+ onSome: (span) => ({ traceId: span.traceId, spanId: span.spanId }),
27
+ }));
28
+ /**
29
+ * {@link TRACE_PARENT_ENV} for a child process: the current span, or this
30
+ * process's trace outside one.
31
+ */
32
+ export const traceParentEnv = Effect.map(currentTraceParent, (parent = processTrace) => ({
33
+ [TRACE_PARENT_ENV]: `${parent.traceId}-${parent.spanId}`,
34
+ }));
35
+ const spanOf = (parent) => Tracer.externalSpan({ ...parent, sampled: true });
36
+ /** Run `effect` as a child of `parent`, when there is one. */
37
+ export const withTraceParent = (parent) => (effect) => parent === undefined ? effect : Effect.withParentSpan(effect, spanOf(parent));
38
+ /** Run `stream` (its whole execution, not just its construction) as a child of `parent`. */
39
+ export const withStreamTraceParent = (parent) => (stream) => parent === undefined
40
+ ? stream
41
+ : Stream.provideService(stream, Tracer.ParentSpan, spanOf(parent));
42
+ //# sourceMappingURL=TraceParent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TraceParent.js","sourceRoot":"","sources":["../../src/Util/TraceParent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAC3C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAWxC,qEAAqE;AACrE,MAAM,CAAC,MAAM,gBAAgB,GAAG,sBAAsB,CAAC;AAEvD,MAAM,OAAO,GAAG,GAA4B,EAAE;IAC5C,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3E,OAAO,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7D,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,YAAY,GAAgB,OAAO,EAAE,IAAI;IACpD,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;IACvB,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;CACvB,CAAC;AAEF,kDAAkD;AAClD,MAAM,CAAC,MAAM,kBAAkB,GAA2C,MAAM,CAAC,GAAG,CAClF,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,EACvC,MAAM,CAAC,KAAK,CAAC;IACX,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS;IACvB,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;CACnE,CAAC,CACH,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAA0C,MAAM,CAAC,GAAG,CAC7E,kBAAkB,EAClB,CAAC,MAAM,GAAG,YAAY,EAA0B,EAAE,CAAC,CAAC;IAClD,CAAC,gBAAgB,CAAC,EAAE,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE;CACzD,CAAC,CACH,CAAC;AAEF,MAAM,MAAM,GAAG,CAAC,MAAmB,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AAE1F,8DAA8D;AAC9D,MAAM,CAAC,MAAM,eAAe,GAC1B,CAAC,MAA+B,EAAE,EAAE,CACpC,CAAU,MAA8B,EAA0B,EAAE,CAClE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;AAElF,4FAA4F;AAC5F,MAAM,CAAC,MAAM,qBAAqB,GAChC,CAAC,MAA+B,EAAE,EAAE,CACpC,CAAU,MAA8B,EAA0B,EAAE,CAClE,MAAM,KAAK,SAAS;IAClB,CAAC,CAAC,MAAM;IACR,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Base64 for byte arrays, on the native `toBase64`/`fromBase64` when the
3
+ * runtime has them and `btoa`/`atob` otherwise.
4
+ */
5
+ export declare const bytesToBase64: (bytes: Uint8Array) => string;
6
+ export declare const base64ToBytes: (b64: string) => Uint8Array;
7
+ //# sourceMappingURL=base64.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base64.d.ts","sourceRoot":"","sources":["../../src/Util/base64.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,aAAa,UAAW,UAAU,KAAG,MAMjD,CAAC;AAEF,eAAO,MAAM,aAAa,QAAS,MAAM,KAAG,UAS3C,CAAC"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Base64 for byte arrays, on the native `toBase64`/`fromBase64` when the
3
+ * runtime has them and `btoa`/`atob` otherwise.
4
+ */
5
+ export const bytesToBase64 = (bytes) => {
6
+ const encode = bytes.toBase64;
7
+ if (typeof encode === "function")
8
+ return encode.call(bytes);
9
+ let binary = "";
10
+ for (const byte of bytes)
11
+ binary += String.fromCharCode(byte);
12
+ return btoa(binary);
13
+ };
14
+ export const base64ToBytes = (b64) => {
15
+ const decode = Uint8Array.fromBase64;
16
+ if (typeof decode === "function")
17
+ return decode.call(Uint8Array, b64);
18
+ const binary = atob(b64);
19
+ const out = new Uint8Array(binary.length);
20
+ for (let i = 0; i < binary.length; i++)
21
+ out[i] = binary.charCodeAt(i);
22
+ return out;
23
+ };
24
+ //# sourceMappingURL=base64.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base64.js","sourceRoot":"","sources":["../../src/Util/base64.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAiB,EAAU,EAAE;IACzD,MAAM,MAAM,GAAI,KAAkD,CAAC,QAAQ,CAAC;IAC5E,IAAI,OAAO,MAAM,KAAK,UAAU;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5D,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,MAAM,IAAI,IAAI,KAAK;QAAE,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAC9D,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,GAAW,EAAc,EAAE;IACvD,MAAM,MAAM,GACV,UACD,CAAC,UAAU,CAAC;IACb,IAAI,OAAO,MAAM,KAAK,UAAU;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IACtE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IACzB,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACtE,OAAO,GAAG,CAAC;AACb,CAAC,CAAC"}
@@ -35,4 +35,9 @@ export interface CachedFunctionOptions<A> {
35
35
  * ```
36
36
  */
37
37
  export declare const cachedFunction: <A extends Array<any>, B, E, R>(fn: (...args: A) => Effect.Effect<B, E, R>, options?: CachedFunctionOptions<A>) => Effect.Effect<(...args: A) => Effect.Effect<B, E, R>>;
38
+ /**
39
+ * {@link cachedFunction} for callers that own the cache's lifetime outside an
40
+ * Effect, such as a `Context.Reference` default.
41
+ */
42
+ export declare const makeCachedFunction: <A extends Array<any>, B, E, R>(fn: (...args: A) => Effect.Effect<B, E, R>, options?: CachedFunctionOptions<A>) => ((...args: A) => Effect.Effect<B, E, R>);
38
43
  //# sourceMappingURL=cached-function.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cached-function.d.ts","sourceRoot":"","sources":["../../src/Util/cached-function.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC;;GAEG;AACH,MAAM,WAAW,qBAAqB,CAAC,CAAC;IACtC;;;OAGG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;CACpC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,MACtD,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,YAChC,qBAAqB,CAAC,CAAC,CAAC,KACjC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAgCnD,CAAC"}
1
+ {"version":3,"file":"cached-function.d.ts","sourceRoot":"","sources":["../../src/Util/cached-function.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC;;GAEG;AACH,MAAM,WAAW,qBAAqB,CAAC,CAAC;IACtC;;;OAGG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;CACpC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,MACtD,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,YAChC,qBAAqB,CAAC,CAAC,CAAC,KACjC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CACH,CAAC;AAErD;;;GAGG;AACH,eAAO,MAAM,kBAAkB,GAAI,CAAC,SAAS,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,MAC1D,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,YAChC,qBAAqB,CAAC,CAAC,CAAC,KACjC,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAiCzC,CAAC"}
@@ -25,7 +25,12 @@ import * as Effect from "effect/Effect";
25
25
  * });
26
26
  * ```
27
27
  */
28
- export const cachedFunction = (fn, options) => Effect.sync(() => {
28
+ export const cachedFunction = (fn, options) => Effect.sync(() => makeCachedFunction(fn, options));
29
+ /**
30
+ * {@link cachedFunction} for callers that own the cache's lifetime outside an
31
+ * Effect, such as a `Context.Reference` default.
32
+ */
33
+ export const makeCachedFunction = (fn, options) => {
29
34
  const keyFn = options?.key ?? JSON.stringify;
30
35
  const cache = new Map();
31
36
  return (...args) => Effect.suspend(() => {
@@ -35,19 +40,19 @@ export const cachedFunction = (fn, options) => Effect.sync(() => {
35
40
  if (existing) {
36
41
  return Deferred.await(existing);
37
42
  }
38
- // Create a new deferred and store it
39
- return Effect.gen(function* () {
43
+ // Create a new deferred and store it. Only the call itself is
44
+ // interruptible, so an interrupted first caller still settles its
45
+ // waiters and evicts the key instead of leaving it pending forever.
46
+ return Effect.uninterruptibleMask((restore) => Effect.gen(function* () {
40
47
  const deferred = yield* Deferred.make();
41
48
  cache.set(cacheKey, deferred);
42
- // Execute the effect and complete the deferred
43
- const exit = yield* Effect.exit(fn(...args));
49
+ const exit = yield* Effect.exit(restore(fn(...args)));
44
50
  yield* Deferred.done(deferred, exit);
45
51
  if (exit._tag === "Failure") {
46
52
  cache.delete(cacheKey);
47
53
  }
48
- // Return the result
49
54
  return yield* exit;
50
- });
55
+ }));
51
56
  });
52
- });
57
+ };
53
58
  //# sourceMappingURL=cached-function.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cached-function.js","sourceRoot":"","sources":["../../src/Util/cached-function.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAaxC;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,EAA0C,EAC1C,OAAkC,EACqB,EAAE,CACzD,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;IACf,MAAM,KAAK,GAAG,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC;IAC7C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAmC,CAAC;IAEzD,OAAO,CAAC,GAAG,IAAO,EAA0B,EAAE,CAC5C,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE;QAClB,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7B,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAErC,yDAAyD;QACzD,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC;QAED,qCAAqC;QACrC,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YACzB,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAQ,CAAC;YAC9C,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAE9B,+CAA+C;YAC/C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;YAC7C,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAErC,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC5B,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACzB,CAAC;YAED,oBAAoB;YACpB,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"cached-function.js","sourceRoot":"","sources":["../../src/Util/cached-function.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAaxC;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,EAA0C,EAC1C,OAAkC,EACqB,EAAE,CACzD,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;AAErD;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,EAA0C,EAC1C,OAAkC,EACQ,EAAE;IAC5C,MAAM,KAAK,GAAG,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC;IAC7C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAmC,CAAC;IAEzD,OAAO,CAAC,GAAG,IAAO,EAA0B,EAAE,CAC5C,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE;QAClB,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7B,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAErC,yDAAyD;QACzD,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC;QAED,8DAA8D;QAC9D,kEAAkE;QAClE,oEAAoE;QACpE,OAAO,MAAM,CAAC,mBAAmB,CAAC,CAAC,OAAO,EAAE,EAAE,CAC5C,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAQ,CAAC;YAC9C,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAE9B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACtD,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAErC,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC5B,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACzB,CAAC;YAED,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC;QACrB,CAAC,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import * as Redacted from "effect/Redacted";
2
- export type Primitive = never | undefined | null | boolean | number | string | bigint | symbol;
2
+ export type Primitive = undefined | null | boolean | number | string | bigint | symbol;
3
3
  export declare const isPrimitive: (value: any) => value is Primitive;
4
4
  export declare const isPlainObject: (value: unknown) => value is Record<string, unknown>;
5
5
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../src/Util/data.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAE5C,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAE/F,eAAO,MAAM,WAAW,UAAW,GAAG,KAAG,KAAK,IAAI,SAOvB,CAAC;AAE5B,eAAO,MAAM,aAAa,UAAW,OAAO,KAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAG7E,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,WAAW,UAAW,OAAO,KAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,EAKtF,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,YAAY,UAChB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,EAAE,aAC/B,OAAO,CAAC,MAAM,CAAC,QACpB,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,KAChC,OAUF,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,CAAC,SAAS,IAAI,GAAG,SAAS,KAAG,CASlE,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,CAAC,SAAS,CAAC,KAAG,CAA6B,CAAC;AAE5E,eAAO,MAAM,oBAAoB,GAAI,CAAC,SAAS,CAAC,KAAG,CAAkC,CAAC;AAEtF,KAAK,cAAc,CAAC,CAAC,IACnB,CAAC,SAAS,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAChC,cAAc,CAAC,CAAC,CAAC,GACjB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC3B;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GACxC,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GACtB,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GACxB,CAAC,CAAC;AAEZ,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,CAAC,KAAG,cAAc,CAAC,CAAC,CAS5D,CAAC"}
1
+ {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../src/Util/data.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAE5C,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAEvF,eAAO,MAAM,WAAW,UAAW,GAAG,KAAG,KAAK,IAAI,SAOvB,CAAC;AAE5B,eAAO,MAAM,aAAa,UAAW,OAAO,KAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAG7E,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,WAAW,UAAW,OAAO,KAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,EAKtF,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,YAAY,UAChB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,EAAE,aAC/B,OAAO,CAAC,MAAM,CAAC,QACpB,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,KAChC,OAUF,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,CAAC,SAAS,IAAI,GAAG,SAAS,KAAG,CASlE,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,CAAC,SAAS,CAAC,KAAG,CAA6B,CAAC;AAE5E,eAAO,MAAM,oBAAoB,GAAI,CAAC,SAAS,CAAC,KAAG,CAAkC,CAAC;AAEtF,KAAK,cAAc,CAAC,CAAC,IACnB,CAAC,SAAS,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAChC,cAAc,CAAC,CAAC,CAAC,GACjB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC3B;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GACxC,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GACtB,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GACxB,CAAC,CAAC;AAEZ,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,CAAC,KAAG,cAAc,CAAC,CAAC,CAS5D,CAAC"}
package/lib/Util/data.js CHANGED
@@ -71,7 +71,7 @@ export const stripNullFields = (value) => stripFields(value, null);
71
71
  export const stripUndefinedFields = (value) => stripFields(value, undefined);
72
72
  export const unwrapRedacted = (value) => {
73
73
  if (Redacted.isRedacted(value)) {
74
- return unwrapRedacted(Redacted.value(value));
74
+ return value.pipe(Redacted.value, unwrapRedacted);
75
75
  }
76
76
  if (Array.isArray(value)) {
77
77
  return value.map(unwrapRedacted);