@homeflare/alchemy 0.46.1 → 0.47.1

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 (742) hide show
  1. package/README.md +6 -32
  2. package/dist/argocd/cluster.d.ts +5 -5
  3. package/dist/argocd/cluster.d.ts.map +1 -1
  4. package/dist/argocd/fake-argocd.d.ts +1 -1
  5. package/dist/argocd/fake-argocd.d.ts.map +1 -1
  6. package/dist/argocd/index.js.map +1 -1
  7. package/dist/argocd/providers.d.ts +1 -1
  8. package/dist/argocd/providers.d.ts.map +1 -1
  9. package/dist/argocd/repo-creds.d.ts +5 -5
  10. package/dist/argocd/repo-creds.d.ts.map +1 -1
  11. package/dist/argocd/repository.d.ts +5 -5
  12. package/dist/argocd/repository.d.ts.map +1 -1
  13. package/dist/argocd/resource.d.ts +1 -1
  14. package/dist/argocd/resource.d.ts.map +1 -1
  15. package/dist/caddy/admin.d.ts +1 -1
  16. package/dist/caddy/admin.d.ts.map +1 -1
  17. package/dist/caddy/caddy-http-client.d.ts +2 -2
  18. package/dist/caddy/caddy-http-client.d.ts.map +1 -1
  19. package/dist/caddy/format.d.ts +1 -1
  20. package/dist/caddy/format.d.ts.map +1 -1
  21. package/dist/caddy/index.js +6 -6
  22. package/dist/caddy/index.js.map +4 -4
  23. package/dist/ceph/auth-entity.d.ts +1 -1
  24. package/dist/ceph/auth-entity.d.ts.map +1 -1
  25. package/dist/ceph/ceph-auth-reconcile.d.ts +1 -1
  26. package/dist/ceph/ceph-auth-reconcile.d.ts.map +1 -1
  27. package/dist/ceph/index.js +5 -5
  28. package/dist/ceph/index.js.map +4 -4
  29. package/dist/cloudflare/fake-mesh.d.ts +2 -2
  30. package/dist/cloudflare/fake-mesh.d.ts.map +1 -1
  31. package/dist/cloudflare/fake-r2-lock.d.ts +1 -1
  32. package/dist/cloudflare/fake-r2-lock.d.ts.map +1 -1
  33. package/dist/cloudflare/index.js +3 -3
  34. package/dist/cloudflare/index.js.map +3 -3
  35. package/dist/cloudflare/mesh-node-token.d.ts +1 -1
  36. package/dist/cloudflare/mesh-node-token.d.ts.map +1 -1
  37. package/dist/cloudflare/mesh-node.d.ts +1 -1
  38. package/dist/cloudflare/mesh-node.d.ts.map +1 -1
  39. package/dist/cloudflare/providers.d.ts +1 -1
  40. package/dist/cloudflare/providers.d.ts.map +1 -1
  41. package/dist/cloudflare/r2-bucket-lock.d.ts +1 -1
  42. package/dist/cloudflare/r2-bucket-lock.d.ts.map +1 -1
  43. package/dist/discord/application-command.d.ts +6 -6
  44. package/dist/discord/application-command.d.ts.map +1 -1
  45. package/dist/discord/fake-discord.d.ts +1 -1
  46. package/dist/discord/fake-discord.d.ts.map +1 -1
  47. package/dist/discord/guild-application-command.d.ts +6 -6
  48. package/dist/discord/guild-application-command.d.ts.map +1 -1
  49. package/dist/discord/index.js.map +1 -1
  50. package/dist/discord/providers.d.ts +1 -1
  51. package/dist/discord/providers.d.ts.map +1 -1
  52. package/dist/discord/resource.d.ts +1 -1
  53. package/dist/discord/resource.d.ts.map +1 -1
  54. package/dist/forgejo/branch-protection.d.ts +5 -5
  55. package/dist/forgejo/branch-protection.d.ts.map +1 -1
  56. package/dist/forgejo/fake-forgejo.d.ts +1 -1
  57. package/dist/forgejo/fake-forgejo.d.ts.map +1 -1
  58. package/dist/forgejo/index.js.map +1 -1
  59. package/dist/forgejo/org-actions-secrets.d.ts +5 -5
  60. package/dist/forgejo/org-actions-secrets.d.ts.map +1 -1
  61. package/dist/forgejo/org-label.d.ts +5 -5
  62. package/dist/forgejo/org-label.d.ts.map +1 -1
  63. package/dist/forgejo/org-team.d.ts +5 -5
  64. package/dist/forgejo/org-team.d.ts.map +1 -1
  65. package/dist/forgejo/repo-webhook.d.ts +5 -5
  66. package/dist/forgejo/repo-webhook.d.ts.map +1 -1
  67. package/dist/forgejo/repository.d.ts +5 -5
  68. package/dist/forgejo/repository.d.ts.map +1 -1
  69. package/dist/forgejo/resource.d.ts +1 -1
  70. package/dist/forgejo/resource.d.ts.map +1 -1
  71. package/dist/forgejo/team-member.d.ts +5 -5
  72. package/dist/forgejo/team-member.d.ts.map +1 -1
  73. package/dist/github/repository-ruleset-providers.d.ts +1 -1
  74. package/dist/github/repository-ruleset-providers.d.ts.map +1 -1
  75. package/dist/google-workspace/domain-alias.d.ts +5 -5
  76. package/dist/google-workspace/domain-alias.d.ts.map +1 -1
  77. package/dist/google-workspace/fake-google-workspace.d.ts +1 -1
  78. package/dist/google-workspace/fake-google-workspace.d.ts.map +1 -1
  79. package/dist/google-workspace/group-member.d.ts +5 -5
  80. package/dist/google-workspace/group-member.d.ts.map +1 -1
  81. package/dist/google-workspace/group.d.ts +5 -5
  82. package/dist/google-workspace/group.d.ts.map +1 -1
  83. package/dist/google-workspace/index.js.map +1 -1
  84. package/dist/google-workspace/org-unit.d.ts +5 -5
  85. package/dist/google-workspace/org-unit.d.ts.map +1 -1
  86. package/dist/google-workspace/providers.d.ts +1 -1
  87. package/dist/google-workspace/providers.d.ts.map +1 -1
  88. package/dist/google-workspace/resource.d.ts +1 -1
  89. package/dist/google-workspace/resource.d.ts.map +1 -1
  90. package/dist/grafana/alert-rule-group.d.ts +4 -4
  91. package/dist/grafana/alert-rule-group.d.ts.map +1 -1
  92. package/dist/grafana/contact-point.d.ts +4 -4
  93. package/dist/grafana/dashboard.d.ts +4 -4
  94. package/dist/grafana/datasource.d.ts +4 -4
  95. package/dist/grafana/fake-grafana.d.ts +1 -1
  96. package/dist/grafana/fake-grafana.d.ts.map +1 -1
  97. package/dist/grafana/folder.d.ts +4 -4
  98. package/dist/grafana/message-template.d.ts +4 -4
  99. package/dist/grafana/mute-timing.d.ts +4 -4
  100. package/dist/grafana/notification-policy.d.ts +4 -4
  101. package/dist/grafana/notification-policy.d.ts.map +1 -1
  102. package/dist/grafana/providers.d.ts +1 -1
  103. package/dist/grafana/providers.d.ts.map +1 -1
  104. package/dist/litellm/access-group.d.ts +1 -1
  105. package/dist/litellm/budget-operations.d.ts +1 -1
  106. package/dist/litellm/budget-operations.d.ts.map +1 -1
  107. package/dist/litellm/budget.d.ts +2 -2
  108. package/dist/litellm/credential-errors.d.ts +1 -1
  109. package/dist/litellm/credential-errors.d.ts.map +1 -1
  110. package/dist/litellm/credential.d.ts +1 -1
  111. package/dist/litellm/index.js +26 -5
  112. package/dist/litellm/index.js.map +8 -8
  113. package/dist/litellm/key-errors.d.ts +1 -1
  114. package/dist/litellm/key-errors.d.ts.map +1 -1
  115. package/dist/litellm/key.d.ts +2 -2
  116. package/dist/litellm/mcp-server-locate.d.ts +1 -1
  117. package/dist/litellm/mcp-server-locate.d.ts.map +1 -1
  118. package/dist/litellm/mcp-server.d.ts +2 -2
  119. package/dist/litellm/model-operations.d.ts +1 -1
  120. package/dist/litellm/model-operations.d.ts.map +1 -1
  121. package/dist/litellm/model.d.ts +2 -2
  122. package/dist/litellm/operations.d.ts +1 -1
  123. package/dist/litellm/operations.d.ts.map +1 -1
  124. package/dist/litellm/policy-attachment.d.ts +1 -1
  125. package/dist/litellm/policy.d.ts +1 -1
  126. package/dist/litellm/providers.d.ts +1 -1
  127. package/dist/litellm/providers.d.ts.map +1 -1
  128. package/dist/litellm/team-operations.d.ts +1 -1
  129. package/dist/litellm/team-operations.d.ts.map +1 -1
  130. package/dist/litellm/team.d.ts +1 -1
  131. package/dist/litellm/tool-policy-operations.d.ts +1 -1
  132. package/dist/litellm/tool-policy-operations.d.ts.map +1 -1
  133. package/dist/litellm/tool-policy.d.ts +1 -1
  134. package/dist/litellm/toolset.d.ts +1 -1
  135. package/dist/netbox/fake-netbox.d.ts +1 -1
  136. package/dist/netbox/fake-netbox.d.ts.map +1 -1
  137. package/dist/netbox/index.js.map +1 -1
  138. package/dist/netbox/prefix.d.ts +5 -5
  139. package/dist/netbox/prefix.d.ts.map +1 -1
  140. package/dist/netbox/resource.d.ts +1 -1
  141. package/dist/netbox/resource.d.ts.map +1 -1
  142. package/dist/openbao/approle-login.d.ts +1 -1
  143. package/dist/openbao/approle-login.d.ts.map +1 -1
  144. package/dist/openbao/auth-method-reconcile.d.ts +1 -1
  145. package/dist/openbao/auth-method-reconcile.d.ts.map +1 -1
  146. package/dist/openbao/auth-method-wire.d.ts +4 -4
  147. package/dist/openbao/auth-method-wire.d.ts.map +1 -1
  148. package/dist/openbao/auth-method.d.ts +1 -1
  149. package/dist/openbao/auth-method.d.ts.map +1 -1
  150. package/dist/openbao/auth-role-identity.d.ts +1 -1
  151. package/dist/openbao/auth-role-identity.d.ts.map +1 -1
  152. package/dist/openbao/auth-role-wire.d.ts +4 -4
  153. package/dist/openbao/auth-role-wire.d.ts.map +1 -1
  154. package/dist/openbao/auth-role.d.ts +1 -1
  155. package/dist/openbao/auth-role.d.ts.map +1 -1
  156. package/dist/openbao/bao-http.d.ts +1 -1
  157. package/dist/openbao/bao-http.d.ts.map +1 -1
  158. package/dist/openbao/bao-identity.d.ts +1 -1
  159. package/dist/openbao/bao-identity.d.ts.map +1 -1
  160. package/dist/openbao/cloudflare-permission-groups.d.ts +1 -1
  161. package/dist/openbao/cloudflare-permission-groups.d.ts.map +1 -1
  162. package/dist/openbao/cloudflare-role-wire.d.ts +1 -1
  163. package/dist/openbao/cloudflare-role-wire.d.ts.map +1 -1
  164. package/dist/openbao/cloudflare-role.d.ts +1 -1
  165. package/dist/openbao/cloudflare-role.d.ts.map +1 -1
  166. package/dist/openbao/distilled.d.ts +1 -1
  167. package/dist/openbao/distilled.d.ts.map +1 -1
  168. package/dist/openbao/fake-bao.d.ts +1 -1
  169. package/dist/openbao/fake-bao.d.ts.map +1 -1
  170. package/dist/openbao/fake-core.d.ts +1 -1
  171. package/dist/openbao/fake-core.d.ts.map +1 -1
  172. package/dist/openbao/fake-engines.d.ts +1 -1
  173. package/dist/openbao/fake-engines.d.ts.map +1 -1
  174. package/dist/openbao/fake-families.d.ts +2 -2
  175. package/dist/openbao/fake-families.d.ts.map +1 -1
  176. package/dist/openbao/fake-stack.d.ts +5 -0
  177. package/dist/openbao/fake-stack.d.ts.map +1 -1
  178. package/dist/openbao/forgejo-bootstrap.d.ts +1 -1
  179. package/dist/openbao/forgejo-bootstrap.d.ts.map +1 -1
  180. package/dist/openbao/index.js +31 -10
  181. package/dist/openbao/index.js.map +31 -31
  182. package/dist/openbao/jwt-config.d.ts +1 -1
  183. package/dist/openbao/jwt-config.d.ts.map +1 -1
  184. package/dist/openbao/jwt-role.d.ts +1 -1
  185. package/dist/openbao/jwt-role.d.ts.map +1 -1
  186. package/dist/openbao/kubernetes-role.d.ts +1 -1
  187. package/dist/openbao/kubernetes-role.d.ts.map +1 -1
  188. package/dist/openbao/mfa-enforcement.d.ts +1 -1
  189. package/dist/openbao/mfa-enforcement.d.ts.map +1 -1
  190. package/dist/openbao/mfa-totp.d.ts +1 -1
  191. package/dist/openbao/mfa-totp.d.ts.map +1 -1
  192. package/dist/openbao/mfa-wire.d.ts +1 -1
  193. package/dist/openbao/mfa-wire.d.ts.map +1 -1
  194. package/dist/openbao/mount-move.d.ts +1 -1
  195. package/dist/openbao/mount-move.d.ts.map +1 -1
  196. package/dist/openbao/mount-reconcile.d.ts +1 -1
  197. package/dist/openbao/mount-reconcile.d.ts.map +1 -1
  198. package/dist/openbao/mount-wire.d.ts +4 -4
  199. package/dist/openbao/mount-wire.d.ts.map +1 -1
  200. package/dist/openbao/mount.d.ts +1 -1
  201. package/dist/openbao/mount.d.ts.map +1 -1
  202. package/dist/openbao/pki-role.d.ts +1 -1
  203. package/dist/openbao/pki-role.d.ts.map +1 -1
  204. package/dist/openbao/plugin-reconcile.d.ts +1 -1
  205. package/dist/openbao/plugin-reconcile.d.ts.map +1 -1
  206. package/dist/openbao/plugin-wire.d.ts +1 -1
  207. package/dist/openbao/plugin-wire.d.ts.map +1 -1
  208. package/dist/openbao/plugin.d.ts +1 -1
  209. package/dist/openbao/plugin.d.ts.map +1 -1
  210. package/dist/openbao/policy-identity.d.ts +1 -1
  211. package/dist/openbao/policy-identity.d.ts.map +1 -1
  212. package/dist/openbao/policy-wire.d.ts +4 -4
  213. package/dist/openbao/policy-wire.d.ts.map +1 -1
  214. package/dist/openbao/policy.d.ts +1 -1
  215. package/dist/openbao/policy.d.ts.map +1 -1
  216. package/dist/openbao/proxmox-role-wire.d.ts +1 -1
  217. package/dist/openbao/proxmox-role-wire.d.ts.map +1 -1
  218. package/dist/openbao/proxmox-role.d.ts +1 -1
  219. package/dist/openbao/proxmox-role.d.ts.map +1 -1
  220. package/dist/openbao/remount-wire.d.ts +1 -1
  221. package/dist/openbao/remount-wire.d.ts.map +1 -1
  222. package/dist/openbao/rename-identity.d.ts +1 -1
  223. package/dist/openbao/rename-identity.d.ts.map +1 -1
  224. package/dist/openbao/rename.d.ts +1 -1
  225. package/dist/openbao/rename.d.ts.map +1 -1
  226. package/dist/openbao/role-reconcile.d.ts +1 -1
  227. package/dist/openbao/role-reconcile.d.ts.map +1 -1
  228. package/dist/openbao/ssh-role.d.ts +1 -1
  229. package/dist/openbao/ssh-role.d.ts.map +1 -1
  230. package/dist/opnsense/alias.d.ts +5 -5
  231. package/dist/opnsense/alias.d.ts.map +1 -1
  232. package/dist/opnsense/category.d.ts +5 -5
  233. package/dist/opnsense/category.d.ts.map +1 -1
  234. package/dist/opnsense/fake-opnsense.d.ts +1 -1
  235. package/dist/opnsense/fake-opnsense.d.ts.map +1 -1
  236. package/dist/opnsense/group.d.ts +5 -5
  237. package/dist/opnsense/group.d.ts.map +1 -1
  238. package/dist/opnsense/index.js.map +1 -1
  239. package/dist/opnsense/providers.d.ts +1 -1
  240. package/dist/opnsense/providers.d.ts.map +1 -1
  241. package/dist/opnsense/resource.d.ts +1 -1
  242. package/dist/opnsense/resource.d.ts.map +1 -1
  243. package/dist/ownership/probe.d.ts.map +1 -1
  244. package/dist/paperless/custom-field.d.ts +5 -5
  245. package/dist/paperless/custom-field.d.ts.map +1 -1
  246. package/dist/paperless/document-type.d.ts +5 -5
  247. package/dist/paperless/document-type.d.ts.map +1 -1
  248. package/dist/paperless/fake-paperless.d.ts +1 -1
  249. package/dist/paperless/fake-paperless.d.ts.map +1 -1
  250. package/dist/paperless/matching-types.d.ts +1 -1
  251. package/dist/paperless/matching-types.d.ts.map +1 -1
  252. package/dist/paperless/matching.d.ts +4 -4
  253. package/dist/paperless/providers.d.ts +1 -1
  254. package/dist/paperless/providers.d.ts.map +1 -1
  255. package/dist/paperless/storage-path.d.ts +5 -5
  256. package/dist/paperless/storage-path.d.ts.map +1 -1
  257. package/dist/paperless/tag.d.ts +5 -5
  258. package/dist/paperless/tag.d.ts.map +1 -1
  259. package/dist/postgres/connection.d.ts +2 -2
  260. package/dist/postgres/connection.d.ts.map +1 -1
  261. package/dist/postgres/database-sql.d.ts +1 -1
  262. package/dist/postgres/database-sql.d.ts.map +1 -1
  263. package/dist/postgres/database.d.ts +1 -1
  264. package/dist/postgres/database.d.ts.map +1 -1
  265. package/dist/postgres/fake-grants-read.d.ts +1 -1
  266. package/dist/postgres/fake-grants-read.d.ts.map +1 -1
  267. package/dist/postgres/fake-grants-write.d.ts +1 -1
  268. package/dist/postgres/fake-grants-write.d.ts.map +1 -1
  269. package/dist/postgres/fake-role-sql.d.ts +1 -1
  270. package/dist/postgres/fake-role-sql.d.ts.map +1 -1
  271. package/dist/postgres/fake-schema-drop.d.ts +1 -1
  272. package/dist/postgres/fake-schema-drop.d.ts.map +1 -1
  273. package/dist/postgres/fake-schema-sql.d.ts +1 -1
  274. package/dist/postgres/fake-schema-sql.d.ts.map +1 -1
  275. package/dist/postgres/grants-existence.d.ts +1 -1
  276. package/dist/postgres/grants-existence.d.ts.map +1 -1
  277. package/dist/postgres/grants-ops.d.ts +1 -1
  278. package/dist/postgres/grants-ops.d.ts.map +1 -1
  279. package/dist/postgres/grants-ownership.d.ts +1 -1
  280. package/dist/postgres/grants-ownership.d.ts.map +1 -1
  281. package/dist/postgres/grants-read-defaults.d.ts +1 -1
  282. package/dist/postgres/grants-read-defaults.d.ts.map +1 -1
  283. package/dist/postgres/grants-read.d.ts +1 -1
  284. package/dist/postgres/grants-read.d.ts.map +1 -1
  285. package/dist/postgres/index.js +93 -77
  286. package/dist/postgres/index.js.map +23 -23
  287. package/dist/postgres/installed-classifier.d.ts +1 -1
  288. package/dist/postgres/installed-classifier.d.ts.map +1 -1
  289. package/dist/postgres/psql-executor.d.ts.map +1 -1
  290. package/dist/postgres/role-membership-sql.d.ts +1 -1
  291. package/dist/postgres/role-membership-sql.d.ts.map +1 -1
  292. package/dist/postgres/role-sql.d.ts +1 -1
  293. package/dist/postgres/role-sql.d.ts.map +1 -1
  294. package/dist/postgres/role.d.ts +1 -1
  295. package/dist/postgres/role.d.ts.map +1 -1
  296. package/dist/postgres/schema-assert.d.ts +1 -1
  297. package/dist/postgres/schema-assert.d.ts.map +1 -1
  298. package/dist/postgres/schema-delete.d.ts +1 -1
  299. package/dist/postgres/schema-delete.d.ts.map +1 -1
  300. package/dist/postgres/schema-drop-sql.d.ts +1 -1
  301. package/dist/postgres/schema-drop-sql.d.ts.map +1 -1
  302. package/dist/postgres/schema-reconcile.d.ts +1 -1
  303. package/dist/postgres/schema-reconcile.d.ts.map +1 -1
  304. package/dist/postgres/schema-sql.d.ts +1 -1
  305. package/dist/postgres/schema-sql.d.ts.map +1 -1
  306. package/dist/postgres/schema.d.ts +1 -1
  307. package/dist/postgres/schema.d.ts.map +1 -1
  308. package/dist/postgres/search-path.d.ts +1 -1
  309. package/dist/postgres/search-path.d.ts.map +1 -1
  310. package/dist/proxmox/acl.d.ts +1 -1
  311. package/dist/proxmox/acl.d.ts.map +1 -1
  312. package/dist/proxmox/api-token.d.ts +1 -1
  313. package/dist/proxmox/api-token.d.ts.map +1 -1
  314. package/dist/proxmox/backup-job-distilled.d.ts +2 -2
  315. package/dist/proxmox/backup-job-distilled.d.ts.map +1 -1
  316. package/dist/proxmox/backup-job.d.ts +1 -1
  317. package/dist/proxmox/backup-job.d.ts.map +1 -1
  318. package/dist/proxmox/ceph-daemon-wire.d.ts +3 -3
  319. package/dist/proxmox/ceph-daemon-wire.d.ts.map +1 -1
  320. package/dist/proxmox/ceph-daemon.d.ts +2 -2
  321. package/dist/proxmox/ceph-daemon.d.ts.map +1 -1
  322. package/dist/proxmox/ceph-flag-wire.d.ts +3 -3
  323. package/dist/proxmox/ceph-flag-wire.d.ts.map +1 -1
  324. package/dist/proxmox/ceph-flag.d.ts +1 -1
  325. package/dist/proxmox/ceph-flag.d.ts.map +1 -1
  326. package/dist/proxmox/ceph-fs-distilled.d.ts +3 -3
  327. package/dist/proxmox/ceph-fs-distilled.d.ts.map +1 -1
  328. package/dist/proxmox/ceph-fs.d.ts +1 -1
  329. package/dist/proxmox/ceph-fs.d.ts.map +1 -1
  330. package/dist/proxmox/ceph-osd-tree.d.ts +1 -1
  331. package/dist/proxmox/ceph-osd-tree.d.ts.map +1 -1
  332. package/dist/proxmox/ceph-osd-write.d.ts +2 -2
  333. package/dist/proxmox/ceph-osd-write.d.ts.map +1 -1
  334. package/dist/proxmox/ceph-osd.d.ts +1 -1
  335. package/dist/proxmox/ceph-osd.d.ts.map +1 -1
  336. package/dist/proxmox/ceph-pool-settle.d.ts +2 -2
  337. package/dist/proxmox/ceph-pool-settle.d.ts.map +1 -1
  338. package/dist/proxmox/ceph-pool-wire.d.ts +1 -1
  339. package/dist/proxmox/ceph-pool-wire.d.ts.map +1 -1
  340. package/dist/proxmox/ceph-pool.d.ts +1 -1
  341. package/dist/proxmox/ceph-pool.d.ts.map +1 -1
  342. package/dist/proxmox/client.d.ts +1 -1
  343. package/dist/proxmox/client.d.ts.map +1 -1
  344. package/dist/proxmox/distilled-pbs.d.ts +1 -1
  345. package/dist/proxmox/distilled-pbs.d.ts.map +1 -1
  346. package/dist/proxmox/distilled-pve.d.ts +1 -1
  347. package/dist/proxmox/distilled-pve.d.ts.map +1 -1
  348. package/dist/proxmox/fake-pbs-jobs.d.ts +1 -1
  349. package/dist/proxmox/fake-pve.d.ts +1 -1
  350. package/dist/proxmox/fake-pve.d.ts.map +1 -1
  351. package/dist/proxmox/firewall-alias-lifecycle.d.ts +6 -6
  352. package/dist/proxmox/firewall-alias-lifecycle.d.ts.map +1 -1
  353. package/dist/proxmox/firewall-alias.d.ts +1 -1
  354. package/dist/proxmox/firewall-alias.d.ts.map +1 -1
  355. package/dist/proxmox/group-wire.d.ts +2 -2
  356. package/dist/proxmox/group-wire.d.ts.map +1 -1
  357. package/dist/proxmox/group.d.ts +1 -1
  358. package/dist/proxmox/group.d.ts.map +1 -1
  359. package/dist/proxmox/ha-resource.d.ts +1 -1
  360. package/dist/proxmox/ha-resource.d.ts.map +1 -1
  361. package/dist/proxmox/ha-rule.d.ts +1 -1
  362. package/dist/proxmox/ha-rule.d.ts.map +1 -1
  363. package/dist/proxmox/index.js +38 -17
  364. package/dist/proxmox/index.js.map +9 -9
  365. package/dist/proxmox/lease-cache.d.ts +2 -2
  366. package/dist/proxmox/lease-cache.d.ts.map +1 -1
  367. package/dist/proxmox/live-core-fixtures.d.ts +1 -1
  368. package/dist/proxmox/live-core-fixtures.d.ts.map +1 -1
  369. package/dist/proxmox/lxc-lifecycle.d.ts +3 -3
  370. package/dist/proxmox/lxc-lifecycle.d.ts.map +1 -1
  371. package/dist/proxmox/lxc-read.d.ts +1 -1
  372. package/dist/proxmox/lxc-read.d.ts.map +1 -1
  373. package/dist/proxmox/lxc-task.d.ts +1 -1
  374. package/dist/proxmox/lxc-task.d.ts.map +1 -1
  375. package/dist/proxmox/lxc.d.ts +1 -1
  376. package/dist/proxmox/lxc.d.ts.map +1 -1
  377. package/dist/proxmox/members.d.ts +3 -3
  378. package/dist/proxmox/members.d.ts.map +1 -1
  379. package/dist/proxmox/metric-server-distilled.d.ts +3 -3
  380. package/dist/proxmox/metric-server-distilled.d.ts.map +1 -1
  381. package/dist/proxmox/metric-server.d.ts +1 -1
  382. package/dist/proxmox/metric-server.d.ts.map +1 -1
  383. package/dist/proxmox/mint.d.ts +1 -1
  384. package/dist/proxmox/mint.d.ts.map +1 -1
  385. package/dist/proxmox/network-apply-read.d.ts +3 -3
  386. package/dist/proxmox/network-apply-read.d.ts.map +1 -1
  387. package/dist/proxmox/network-apply-run.d.ts +1 -1
  388. package/dist/proxmox/network-apply-run.d.ts.map +1 -1
  389. package/dist/proxmox/network-apply.d.ts +1 -1
  390. package/dist/proxmox/network-apply.d.ts.map +1 -1
  391. package/dist/proxmox/node-network-wire.d.ts +2 -2
  392. package/dist/proxmox/node-network-wire.d.ts.map +1 -1
  393. package/dist/proxmox/node-network.d.ts +1 -1
  394. package/dist/proxmox/node-network.d.ts.map +1 -1
  395. package/dist/proxmox/notification-matcher-distilled.d.ts +4 -4
  396. package/dist/proxmox/notification-matcher-distilled.d.ts.map +1 -1
  397. package/dist/proxmox/notification-matcher-lifecycle.d.ts +4 -4
  398. package/dist/proxmox/notification-matcher.d.ts +1 -1
  399. package/dist/proxmox/notification-matcher.d.ts.map +1 -1
  400. package/dist/proxmox/notification-target-distilled.d.ts +4 -4
  401. package/dist/proxmox/notification-target-distilled.d.ts.map +1 -1
  402. package/dist/proxmox/notification-target-lifecycle.d.ts +4 -4
  403. package/dist/proxmox/notification-target.d.ts +1 -1
  404. package/dist/proxmox/notification-target.d.ts.map +1 -1
  405. package/dist/proxmox/pbs-datastore-lifecycle.d.ts +4 -4
  406. package/dist/proxmox/pbs-datastore-wire.d.ts +4 -4
  407. package/dist/proxmox/pbs-datastore-wire.d.ts.map +1 -1
  408. package/dist/proxmox/pbs-datastore.d.ts +1 -1
  409. package/dist/proxmox/pbs-datastore.d.ts.map +1 -1
  410. package/dist/proxmox/pbs-notification-matcher-distilled.d.ts +4 -4
  411. package/dist/proxmox/pbs-notification-matcher-distilled.d.ts.map +1 -1
  412. package/dist/proxmox/pbs-notification-matcher.d.ts +1 -1
  413. package/dist/proxmox/pbs-notification-matcher.d.ts.map +1 -1
  414. package/dist/proxmox/pbs-notification-target-distilled.d.ts +4 -4
  415. package/dist/proxmox/pbs-notification-target-distilled.d.ts.map +1 -1
  416. package/dist/proxmox/pbs-notification-target-lifecycle.d.ts +4 -4
  417. package/dist/proxmox/pbs-notification-target.d.ts +1 -1
  418. package/dist/proxmox/pbs-notification-target.d.ts.map +1 -1
  419. package/dist/proxmox/pbs-prune-job-lifecycle.d.ts +4 -4
  420. package/dist/proxmox/pbs-prune-job-wire.d.ts +4 -4
  421. package/dist/proxmox/pbs-prune-job-wire.d.ts.map +1 -1
  422. package/dist/proxmox/pbs-prune-job.d.ts +1 -1
  423. package/dist/proxmox/pbs-prune-job.d.ts.map +1 -1
  424. package/dist/proxmox/pbs-sync-job-lifecycle.d.ts +4 -4
  425. package/dist/proxmox/pbs-sync-job-wire.d.ts +4 -4
  426. package/dist/proxmox/pbs-sync-job-wire.d.ts.map +1 -1
  427. package/dist/proxmox/pbs-sync-job.d.ts +1 -1
  428. package/dist/proxmox/pbs-sync-job.d.ts.map +1 -1
  429. package/dist/proxmox/pbs-verify-job-lifecycle.d.ts +4 -4
  430. package/dist/proxmox/pbs-verify-job-wire.d.ts +4 -4
  431. package/dist/proxmox/pbs-verify-job-wire.d.ts.map +1 -1
  432. package/dist/proxmox/pbs-verify-job.d.ts +1 -1
  433. package/dist/proxmox/pbs-verify-job.d.ts.map +1 -1
  434. package/dist/proxmox/pool.d.ts +3 -3
  435. package/dist/proxmox/pool.d.ts.map +1 -1
  436. package/dist/proxmox/provision-declare.d.ts +1 -1
  437. package/dist/proxmox/provision-declare.d.ts.map +1 -1
  438. package/dist/proxmox/qemu-lifecycle.d.ts +3 -3
  439. package/dist/proxmox/qemu-lifecycle.d.ts.map +1 -1
  440. package/dist/proxmox/qemu-read.d.ts +1 -1
  441. package/dist/proxmox/qemu-read.d.ts.map +1 -1
  442. package/dist/proxmox/qemu-resize.d.ts +1 -1
  443. package/dist/proxmox/qemu-resize.d.ts.map +1 -1
  444. package/dist/proxmox/qemu-task.d.ts +1 -1
  445. package/dist/proxmox/qemu-task.d.ts.map +1 -1
  446. package/dist/proxmox/qemu.d.ts +1 -1
  447. package/dist/proxmox/qemu.d.ts.map +1 -1
  448. package/dist/proxmox/replication-job-lifecycle.d.ts +6 -6
  449. package/dist/proxmox/replication-job-lifecycle.d.ts.map +1 -1
  450. package/dist/proxmox/replication-job.d.ts +1 -1
  451. package/dist/proxmox/replication-job.d.ts.map +1 -1
  452. package/dist/proxmox/resource-spec.d.ts +1 -1
  453. package/dist/proxmox/resource-spec.d.ts.map +1 -1
  454. package/dist/proxmox/resource.d.ts +8 -8
  455. package/dist/proxmox/role.d.ts +1 -1
  456. package/dist/proxmox/role.d.ts.map +1 -1
  457. package/dist/proxmox/sdn-apply-read.d.ts +1 -1
  458. package/dist/proxmox/sdn-apply-read.d.ts.map +1 -1
  459. package/dist/proxmox/sdn-apply.d.ts +1 -1
  460. package/dist/proxmox/sdn-apply.d.ts.map +1 -1
  461. package/dist/proxmox/sdn-subnet.d.ts +1 -1
  462. package/dist/proxmox/sdn-subnet.d.ts.map +1 -1
  463. package/dist/proxmox/sdn-vnet.d.ts +1 -1
  464. package/dist/proxmox/sdn-vnet.d.ts.map +1 -1
  465. package/dist/proxmox/sdn-zone.d.ts +1 -1
  466. package/dist/proxmox/sdn-zone.d.ts.map +1 -1
  467. package/dist/proxmox/storage-download-lifecycle.d.ts +6 -6
  468. package/dist/proxmox/storage-download-lifecycle.d.ts.map +1 -1
  469. package/dist/proxmox/storage-download-task.d.ts +1 -1
  470. package/dist/proxmox/storage-download-task.d.ts.map +1 -1
  471. package/dist/proxmox/storage-download.d.ts +1 -1
  472. package/dist/proxmox/storage-download.d.ts.map +1 -1
  473. package/dist/proxmox/storage-wire.d.ts +2 -2
  474. package/dist/proxmox/storage-wire.d.ts.map +1 -1
  475. package/dist/proxmox/storage.d.ts +1 -1
  476. package/dist/proxmox/storage.d.ts.map +1 -1
  477. package/dist/proxmox/user-wire.d.ts +2 -2
  478. package/dist/proxmox/user-wire.d.ts.map +1 -1
  479. package/dist/proxmox/user.d.ts +1 -1
  480. package/dist/proxmox/user.d.ts.map +1 -1
  481. package/dist/proxmox/zfs-pool-form.d.ts +2 -2
  482. package/dist/proxmox/zfs-pool-form.d.ts.map +1 -1
  483. package/dist/proxmox/zfs-pool-wire.d.ts +2 -2
  484. package/dist/proxmox/zfs-pool-wire.d.ts.map +1 -1
  485. package/dist/proxmox/zfs-pool.d.ts +1 -1
  486. package/dist/proxmox/zfs-pool.d.ts.map +1 -1
  487. package/dist/release/binary.d.ts +1 -1
  488. package/dist/release/binary.d.ts.map +1 -1
  489. package/dist/release/download.d.ts +1 -1
  490. package/dist/release/download.d.ts.map +1 -1
  491. package/dist/release/index.js +6 -5
  492. package/dist/release/index.js.map +5 -5
  493. package/dist/talos/credentials-write.d.ts +1 -1
  494. package/dist/talos/credentials-write.d.ts.map +1 -1
  495. package/dist/talos/credentials.d.ts +1 -1
  496. package/dist/talos/credentials.d.ts.map +1 -1
  497. package/dist/talos/fake-process.d.ts +2 -2
  498. package/dist/talos/fake-process.d.ts.map +1 -1
  499. package/dist/talos/index.js +7 -7
  500. package/dist/talos/index.js.map +4 -4
  501. package/dist/talos/kubeconfig.d.ts +4 -4
  502. package/dist/talos/kubeconfig.d.ts.map +1 -1
  503. package/dist/talos/machine-config-fixtures.d.ts +1 -1
  504. package/dist/talos/machine-config-fixtures.d.ts.map +1 -1
  505. package/dist/talos/machine-config-read.d.ts +3 -3
  506. package/dist/talos/machine-config-read.d.ts.map +1 -1
  507. package/dist/talos/resource.d.ts +1 -1
  508. package/dist/talos/resource.d.ts.map +1 -1
  509. package/dist/talos/talos-bootstrap-etcd.d.ts +2 -2
  510. package/dist/talos/talos-bootstrap-etcd.d.ts.map +1 -1
  511. package/dist/talos/talos-bootstrap.d.ts +4 -4
  512. package/dist/talos/talos-bootstrap.d.ts.map +1 -1
  513. package/dist/talos/talos-cluster-health.d.ts +4 -4
  514. package/dist/talos/talos-cluster-health.d.ts.map +1 -1
  515. package/dist/talos/talos-machine-config.d.ts +2 -2
  516. package/dist/talos/talos-machine-config.d.ts.map +1 -1
  517. package/dist/talos/talosctl.d.ts +1 -1
  518. package/dist/talos/talosctl.d.ts.map +1 -1
  519. package/dist/telemetry/index.js +4 -4
  520. package/dist/telemetry/index.js.map +3 -3
  521. package/dist/telemetry/redact-serialization.d.ts +2 -2
  522. package/dist/telemetry/redact-serialization.d.ts.map +1 -1
  523. package/dist/unifi/acl-rule-ordering.d.ts +6 -6
  524. package/dist/unifi/acl-rule-ordering.d.ts.map +1 -1
  525. package/dist/unifi/acl-rule.d.ts +6 -6
  526. package/dist/unifi/acl-rule.d.ts.map +1 -1
  527. package/dist/unifi/dns-policy.d.ts +6 -6
  528. package/dist/unifi/dns-policy.d.ts.map +1 -1
  529. package/dist/unifi/fake-unifi.d.ts +1 -1
  530. package/dist/unifi/fake-unifi.d.ts.map +1 -1
  531. package/dist/unifi/firewall-policy-ordering.d.ts +6 -6
  532. package/dist/unifi/firewall-policy-ordering.d.ts.map +1 -1
  533. package/dist/unifi/firewall-policy.d.ts +6 -6
  534. package/dist/unifi/firewall-policy.d.ts.map +1 -1
  535. package/dist/unifi/firewall-zone.d.ts +6 -6
  536. package/dist/unifi/firewall-zone.d.ts.map +1 -1
  537. package/dist/unifi/index.js +2 -2
  538. package/dist/unifi/index.js.map +2 -2
  539. package/dist/unifi/network.d.ts +6 -6
  540. package/dist/unifi/network.d.ts.map +1 -1
  541. package/dist/unifi/providers.d.ts +1 -1
  542. package/dist/unifi/providers.d.ts.map +1 -1
  543. package/dist/unifi/resource.d.ts +1 -1
  544. package/dist/unifi/resource.d.ts.map +1 -1
  545. package/dist/unifi/traffic-matching-list.d.ts +6 -6
  546. package/dist/unifi/traffic-matching-list.d.ts.map +1 -1
  547. package/dist/unifi/wifi-broadcast.d.ts +6 -6
  548. package/dist/unifi/wifi-broadcast.d.ts.map +1 -1
  549. package/dist/verify/cli.js.map +1 -1
  550. package/dist/verify/index.js.map +1 -1
  551. package/docs/distilled-interim.md +1 -1
  552. package/docs/mesh-node.md +1 -1
  553. package/docs/paperless.md +1 -1
  554. package/docs/peers.md +40 -13
  555. package/docs/telemetry.md +1 -1
  556. package/package.json +130 -20
  557. package/src/argocd/fake-argocd.ts +1 -1
  558. package/src/argocd/resource.ts +1 -1
  559. package/src/caddy/admin-transport-scope.test.ts +2 -2
  560. package/src/caddy/admin.ts +1 -1
  561. package/src/caddy/caddy-http-client.ts +5 -5
  562. package/src/caddy/config-adopt.test.ts +2 -2
  563. package/src/caddy/format.ts +2 -2
  564. package/src/caddy/local-admin.test.ts +1 -1
  565. package/src/ceph/auth-entity.ts +1 -1
  566. package/src/ceph/ceph-auth-reconcile.ts +1 -1
  567. package/src/cloudflare/fake-mesh.ts +1 -1
  568. package/src/cloudflare/fake-r2-lock.ts +1 -1
  569. package/src/cloudflare/mesh-node-harness.ts +1 -1
  570. package/src/cloudflare/mesh-node.ts +1 -1
  571. package/src/cloudflare/r2-bucket-lock.ts +1 -1
  572. package/src/discord/fake-discord.ts +1 -1
  573. package/src/discord/resource.ts +1 -1
  574. package/src/forgejo/fake-forgejo.ts +1 -1
  575. package/src/forgejo/resource.ts +1 -1
  576. package/src/google-workspace/fake-google-workspace.ts +1 -1
  577. package/src/google-workspace/resource.ts +1 -1
  578. package/src/grafana/fake-grafana.ts +1 -1
  579. package/src/litellm/access-group.test.ts +1 -1
  580. package/src/litellm/credential-errors.ts +1 -1
  581. package/src/litellm/credential-guards.test.ts +1 -1
  582. package/src/litellm/credential-operations.ts +1 -1
  583. package/src/litellm/credential-rewrite.test.ts +1 -1
  584. package/src/litellm/fake-stack.ts +1 -1
  585. package/src/litellm/key-errors.ts +1 -1
  586. package/src/litellm/key-harness.ts +1 -1
  587. package/src/litellm/key-operations.ts +1 -1
  588. package/src/litellm/key.test.ts +2 -1
  589. package/src/litellm/mcp-server-handlers.test.ts +1 -1
  590. package/src/litellm/mcp-server-registry.test.ts +1 -1
  591. package/src/litellm/model-operations.test.ts +1 -1
  592. package/src/litellm/operations.ts +1 -1
  593. package/src/litellm/pass-through-endpoint-delete-swallow.test.ts +1 -1
  594. package/src/litellm/pass-through-endpoint.test.ts +1 -1
  595. package/src/litellm/pass-through-fetch-client.test.ts +2 -2
  596. package/src/litellm/policy-attachment.test.ts +1 -1
  597. package/src/litellm/policy.test.ts +1 -1
  598. package/src/litellm/team-members.test.ts +1 -1
  599. package/src/litellm/team-read.test.ts +1 -1
  600. package/src/litellm/tool-policy.test.ts +1 -1
  601. package/src/litellm/toolset.test.ts +1 -1
  602. package/src/netbox/fake-netbox.ts +1 -1
  603. package/src/netbox/resource.ts +1 -1
  604. package/src/openbao/adopt-core.test.ts +4 -1
  605. package/src/openbao/adopt-families.test.ts +4 -1
  606. package/src/openbao/adopt-holes.test.ts +1 -1
  607. package/src/openbao/adopt-recovery.test.ts +24 -0
  608. package/src/openbao/approle-login.ts +2 -2
  609. package/src/openbao/auth-method-reconcile.ts +1 -1
  610. package/src/openbao/auth-method.ts +1 -1
  611. package/src/openbao/auth-role-sdk.test.ts +1 -1
  612. package/src/openbao/auth-role.ts +1 -1
  613. package/src/openbao/bao-http.test.ts +3 -3
  614. package/src/openbao/bao-http.ts +4 -4
  615. package/src/openbao/bao-identity.ts +2 -2
  616. package/src/openbao/cloudflare-permission-groups.ts +1 -1
  617. package/src/openbao/cloudflare-role-wire.ts +1 -1
  618. package/src/openbao/cloudflare-role.ts +1 -1
  619. package/src/openbao/distilled-retry.test.ts +3 -3
  620. package/src/openbao/distilled.test.ts +3 -3
  621. package/src/openbao/distilled.ts +2 -2
  622. package/src/openbao/fake-bao.ts +2 -2
  623. package/src/openbao/fake-core.ts +1 -1
  624. package/src/openbao/fake-engines.ts +1 -1
  625. package/src/openbao/fake-families.ts +1 -1
  626. package/src/openbao/fake-stack.ts +13 -3
  627. package/src/openbao/jwt-config.ts +1 -1
  628. package/src/openbao/jwt-role.ts +1 -1
  629. package/src/openbao/kubernetes-role.ts +1 -1
  630. package/src/openbao/mfa-enforcement.ts +1 -1
  631. package/src/openbao/mfa-totp.ts +1 -1
  632. package/src/openbao/mfa-wire.ts +1 -1
  633. package/src/openbao/mount-move.ts +1 -1
  634. package/src/openbao/mount-reconcile.ts +1 -1
  635. package/src/openbao/mount.ts +1 -1
  636. package/src/openbao/pki-role.ts +1 -1
  637. package/src/openbao/plugin-reconcile.ts +1 -1
  638. package/src/openbao/plugin-wire.ts +1 -1
  639. package/src/openbao/plugin.ts +1 -1
  640. package/src/openbao/policy.ts +1 -1
  641. package/src/openbao/proxmox-role.ts +1 -1
  642. package/src/openbao/remount-wire.ts +1 -1
  643. package/src/openbao/rename-occupied.test.ts +1 -1
  644. package/src/openbao/role-reconcile.ts +1 -1
  645. package/src/openbao/role-rename.test.ts +1 -1
  646. package/src/openbao/ssh-role.ts +1 -1
  647. package/src/opnsense/fake-opnsense.ts +1 -1
  648. package/src/opnsense/resource.ts +1 -1
  649. package/src/ownership/probe.ts +51 -2
  650. package/src/paperless/fake-paperless.ts +1 -1
  651. package/src/paperless/matching-types.ts +1 -1
  652. package/src/postgres/connection.ts +1 -1
  653. package/src/postgres/database-bigint-serialization.test.ts +1 -1
  654. package/src/postgres/database-sql.ts +1 -1
  655. package/src/postgres/database.ts +1 -1
  656. package/src/postgres/fake-grants-read.ts +1 -1
  657. package/src/postgres/fake-grants-sql.ts +1 -1
  658. package/src/postgres/fake-grants-write.ts +1 -1
  659. package/src/postgres/fake-role-sql.ts +1 -1
  660. package/src/postgres/fake-schema-drop.ts +1 -1
  661. package/src/postgres/fake-schema-sql.ts +1 -1
  662. package/src/postgres/fake-sql.ts +1 -1
  663. package/src/postgres/grants-existence.ts +1 -1
  664. package/src/postgres/grants-ops.ts +1 -1
  665. package/src/postgres/grants-ownership.ts +1 -1
  666. package/src/postgres/grants-read-defaults.ts +1 -1
  667. package/src/postgres/grants-read.ts +1 -1
  668. package/src/postgres/grants-relkind-wire.test.ts +6 -4
  669. package/src/postgres/installed-classifier.ts +1 -1
  670. package/src/postgres/psql-executor.ts +1 -6
  671. package/src/postgres/role-membership-sql.ts +1 -1
  672. package/src/postgres/role-password-transports.test.ts +2 -2
  673. package/src/postgres/role-sql.ts +1 -1
  674. package/src/postgres/role.ts +1 -1
  675. package/src/postgres/schema-assert.ts +1 -1
  676. package/src/postgres/schema-delete.ts +1 -1
  677. package/src/postgres/schema-drop-2bp01.test.ts +1 -1
  678. package/src/postgres/schema-drop-sql.ts +1 -1
  679. package/src/postgres/schema-drop.test.ts +1 -1
  680. package/src/postgres/schema-reconcile.ts +1 -1
  681. package/src/postgres/schema-socket.test.ts +1 -1
  682. package/src/postgres/schema-sql.ts +1 -1
  683. package/src/postgres/search-path.ts +1 -1
  684. package/src/proxmox/ceph-flag-wire.test.ts +1 -1
  685. package/src/proxmox/ceph-fs-destroy-sdk.test.ts +1 -1
  686. package/src/proxmox/ceph-pool-write.test.ts +1 -1
  687. package/src/proxmox/client.test.ts +2 -2
  688. package/src/proxmox/client.ts +2 -2
  689. package/src/proxmox/credentials.test.ts +1 -1
  690. package/src/proxmox/distilled-pbs.test.ts +1 -1
  691. package/src/proxmox/distilled-pbs.ts +1 -1
  692. package/src/proxmox/distilled-pve.test.ts +2 -2
  693. package/src/proxmox/distilled-pve.ts +1 -1
  694. package/src/proxmox/fake-pbs-jobs.ts +1 -1
  695. package/src/proxmox/fake-pve.ts +1 -1
  696. package/src/proxmox/lease-cache-mint.test.ts +1 -1
  697. package/src/proxmox/live-core-fixtures.ts +1 -1
  698. package/src/proxmox/lxc-distilled.test.ts +1 -1
  699. package/src/proxmox/lxc-harness.ts +1 -1
  700. package/src/proxmox/members-timeout.test.ts +3 -3
  701. package/src/proxmox/members.test.ts +1 -1
  702. package/src/proxmox/members.ts +4 -4
  703. package/src/proxmox/mint.ts +4 -4
  704. package/src/proxmox/node-network-read-failure.test.ts +1 -1
  705. package/src/proxmox/qemu-lifecycle.ts +1 -1
  706. package/src/proxmox/read-failure-propagation.test.ts +1 -1
  707. package/src/proxmox/resource-spec.ts +1 -1
  708. package/src/proxmox/storage-read-failure.test.ts +1 -1
  709. package/src/proxmox/typed-absence.test.ts +2 -2
  710. package/src/proxmox/unreadable-read.test.ts +1 -1
  711. package/src/proxmox/user.test.ts +1 -1
  712. package/src/proxmox/zfs-pool-read-failure.test.ts +1 -1
  713. package/src/release/adopt-parity.test.ts +3 -1
  714. package/src/release/apply-pins.test.ts +2 -2
  715. package/src/release/binary-root.test.ts +2 -2
  716. package/src/release/binary.ts +9 -2
  717. package/src/release/download.test.ts +3 -3
  718. package/src/release/download.ts +1 -1
  719. package/src/release/fake-deploy.ts +2 -2
  720. package/src/release/fake-engine.ts +2 -2
  721. package/src/release/fake-provider.ts +2 -2
  722. package/src/release/plan.test.ts +2 -2
  723. package/src/release/providers.ts +1 -1
  724. package/src/talos/credentials-write.test.ts +1 -1
  725. package/src/talos/credentials-write.ts +2 -2
  726. package/src/talos/credentials.test.ts +1 -1
  727. package/src/talos/credentials.ts +2 -2
  728. package/src/talos/fake-process.ts +2 -2
  729. package/src/talos/kubeconfig.test.ts +1 -1
  730. package/src/talos/machine-config-fixtures.ts +1 -1
  731. package/src/talos/resource.ts +1 -1
  732. package/src/talos/talos-bootstrap.test.ts +1 -1
  733. package/src/talos/talos-cluster-health.test.ts +1 -1
  734. package/src/talos/talosctl.ts +2 -2
  735. package/src/telemetry/http-client-sealing.test.ts +2 -2
  736. package/src/telemetry/layer.test.ts +3 -3
  737. package/src/telemetry/layer.ts +2 -2
  738. package/src/telemetry/redact-serialization.ts +2 -2
  739. package/src/unifi/fake-unifi.ts +1 -1
  740. package/src/unifi/get-only-guard.test.ts +3 -3
  741. package/src/unifi/resource.ts +1 -1
  742. package/src/verify/args.ts +1 -1
@@ -9,7 +9,7 @@ import { expect, test } from 'bun:test';
9
9
  import { credentials } from '@distilled.cloud/litellm/Credentials';
10
10
  import * as Effect from 'effect/Effect';
11
11
  import * as Layer from 'effect/Layer';
12
- import * as FetchHttpClient from 'effect/unstable/http/FetchHttpClient';
12
+ import * as FetchHttpClient from 'effect/http/FetchHttpClient';
13
13
  import { FAKE_BASE } from './fake-litellm.ts';
14
14
  import { FAKE_KEY } from './fake-registry-base.ts';
15
15
  import {
@@ -9,7 +9,7 @@ import { expect, test } from 'bun:test';
9
9
  import { credentials } from '@distilled.cloud/litellm/Credentials';
10
10
  import * as Effect from 'effect/Effect';
11
11
  import * as Layer from 'effect/Layer';
12
- import * as FetchHttpClient from 'effect/unstable/http/FetchHttpClient';
12
+ import * as FetchHttpClient from 'effect/http/FetchHttpClient';
13
13
  import { FAKE_BASE } from './fake-litellm.ts';
14
14
  import { FAKE_KEY } from './fake-registry-base.ts';
15
15
  import { type FakeTeamLitellm, startFakeTeamLitellm, teamRow } from './fake-team-litellm.ts';
@@ -9,7 +9,7 @@ import { expect, test } from 'bun:test';
9
9
  import { credentials } from '@distilled.cloud/litellm/Credentials';
10
10
  import * as Effect from 'effect/Effect';
11
11
  import * as Layer from 'effect/Layer';
12
- import * as FetchHttpClient from 'effect/unstable/http/FetchHttpClient';
12
+ import * as FetchHttpClient from 'effect/http/FetchHttpClient';
13
13
  import { FAKE_BASE } from './fake-litellm.ts';
14
14
  import { FAKE_KEY } from './fake-registry-base.ts';
15
15
  import { type FakeTeamLitellm, startFakeTeamLitellm, teamRow } from './fake-team-litellm.ts';
@@ -9,7 +9,7 @@ import { expect, test } from 'bun:test';
9
9
  import { credentials } from '@distilled.cloud/litellm/Credentials';
10
10
  import * as Effect from 'effect/Effect';
11
11
  import * as Layer from 'effect/Layer';
12
- import * as FetchHttpClient from 'effect/unstable/http/FetchHttpClient';
12
+ import * as FetchHttpClient from 'effect/http/FetchHttpClient';
13
13
  import { FAKE_BASE } from './fake-litellm.ts';
14
14
  import { FAKE_KEY } from './fake-registry-base.ts';
15
15
  import { type FakeToolLitellm, startFakeToolLitellm, toolRow } from './fake-tool-litellm.ts';
@@ -9,7 +9,7 @@ import { expect, test } from 'bun:test';
9
9
  import { credentials } from '@distilled.cloud/litellm/Credentials';
10
10
  import * as Effect from 'effect/Effect';
11
11
  import * as Layer from 'effect/Layer';
12
- import * as FetchHttpClient from 'effect/unstable/http/FetchHttpClient';
12
+ import * as FetchHttpClient from 'effect/http/FetchHttpClient';
13
13
  import { FAKE_BASE } from './fake-litellm.ts';
14
14
  import { FAKE_KEY } from './fake-registry-base.ts';
15
15
  import {
@@ -11,7 +11,7 @@
11
11
  */
12
12
  import { type Credentials, credentials } from '@distilled.cloud/netbox/Credentials';
13
13
  import * as Layer from 'effect/Layer';
14
- import * as FetchHttpClient from 'effect/unstable/http/FetchHttpClient';
14
+ import * as FetchHttpClient from 'effect/http/FetchHttpClient';
15
15
 
16
16
  export const FAKE_BASE = 'https://netbox.example.com';
17
17
  export const FAKE_TOKEN = 'placeholder-netbox-token';
@@ -36,7 +36,7 @@ import type { Input } from 'alchemy/Input';
36
36
  import { CredentialsFromEnv } from '@distilled.cloud/netbox/Credentials';
37
37
  import type { NetboxOpContext } from '@distilled.cloud/netbox/Protocol';
38
38
  import * as Effect from 'effect/Effect';
39
- import type * as HttpClient from 'effect/unstable/http/HttpClient';
39
+ import type * as HttpClient from 'effect/http/HttpClient';
40
40
  import { guardBody } from './constraint-guard.ts';
41
41
  import type { EndpointKey, NetboxBody } from './constraints.ts';
42
42
 
@@ -15,7 +15,10 @@ import { writesOf } from './fake-stack.ts';
15
15
  import { BaoMount } from './mount.ts';
16
16
 
17
17
  const NOT_OWNED = /Cannot adopt resource 'Z'.*not owned by this stack.*--adopt/s;
18
- const TAKEOVER = /: already exists, and this stack holds no state for it.*Nothing was written/s;
18
+ // ★ beta.81 probes a create with an Output prop at apply itself, so ITS refusal fires first; the
19
+ // kit's refuseTakeover is the backstop. Either way each test asserts nothing was written.
20
+ const TAKEOVER =
21
+ /Cannot adopt resource 'Z'.*--adopt|: already exists, and this stack holds no state for it.*Nothing was written/s;
19
22
 
20
23
  /** `Z`, with its knob an Output until apply: an upstream AppRole's `tokenTtl`, created with it. */
21
24
  const pending = (row: CoreRow) =>
@@ -19,7 +19,10 @@ import { FAMILIES, type Family, upstream, withEstate } from './fake-families.ts'
19
19
  import { writesOf } from './fake-stack.ts';
20
20
 
21
21
  const NOT_OWNED = /Cannot adopt resource 'Z'.*not owned by this stack.*--adopt/s;
22
- const TAKEOVER = /: already exists, and this stack holds no state for it.*Nothing was written/s;
22
+ // ★ beta.81 probes a create with an Output prop at apply itself, so ITS refusal fires first; the
23
+ // kit's refuseTakeover is the backstop. Either way each test asserts nothing was written.
24
+ const TAKEOVER =
25
+ /Cannot adopt resource 'Z'.*--adopt|: already exists, and this stack holds no state for it.*Nothing was written/s;
23
26
  const STILL_REFUSED = /Cannot adopt resource 'Z'.*--adopt/s;
24
27
 
25
28
  /** `Z` names `a`, with its knob an Output until apply: the upstream AppRole is created with it. */
@@ -26,7 +26,7 @@ import { BaoMount } from './mount.ts';
26
26
  import { BaoPkiRole } from './pki-role.ts';
27
27
 
28
28
  const REFUSED =
29
- /Cannot resume creating resource 'Z'|: already exists, and this stack holds no state/s;
29
+ /Cannot resume creating resource 'Z'|Cannot adopt resource 'Z'|: already exists, and this stack holds no state/s;
30
30
  const RESUME_REFUSED = /already exists, and this stack holds no state.*Deploy with --adopt/s;
31
31
 
32
32
  /** Writes other than the upstream's. */
@@ -69,3 +69,27 @@ for (const row of FAMILIES.filter((each) => each.family !== 'Bao.MfaTotpMethod')
69
69
  });
70
70
  });
71
71
  }
72
+
73
+ /**
74
+ * 🔴 A DESTROY AFTER A CRASHED CREATE MUST STILL DELETE (red team, kit PR 359, 2026-10-06). The
75
+ * engine's deletion-recovery read (Apply.ts, a row with no attributes) shares alchemy beta.81's
76
+ * `provider.read` span with the create-time deferred-adoption read. Answering `Unowned` to both
77
+ * made the engine skip `provider.delete` and erase the row: a live object nothing tracked.
78
+ */
79
+ /** Bao.JwtAuthConfig's delete writes nothing and Bao.MfaLoginEnforcement's refuses: no object goes. */
80
+ const DELETES_NOTHING = ['Bao.JwtAuthConfig', 'Bao.MfaLoginEnforcement'];
81
+ for (const row of FAMILIES.filter((each) => !DELETES_NOTHING.includes(each.family))) {
82
+ describe(`${row.family}: a destroy after an interrupted create`, () => {
83
+ it('deletes the object the crashed create wrote', async () => {
84
+ await withCrashes((crashNext) => async (stack, estate) => {
85
+ crashNext();
86
+ const destroy = RemovalPolicy.destroy;
87
+ await assert.rejects(stack.deploy(row.declare('X', 'a', '15m', destroy)), /injected/);
88
+ assert.ok(row.has(estate, 'a'));
89
+ const declared = row.declare('X', 'a', '15m', destroy);
90
+ assert.deepEqual(await stack.destroy(declared), { X: 'delete' });
91
+ assert.ok(!row.has(estate, 'a'), 'the destroy left the object it was asked to delete');
92
+ });
93
+ });
94
+ });
95
+ }
@@ -18,8 +18,8 @@
18
18
  * consolidation plan; not re-measured here). Give each host its own secret_id.
19
19
  */
20
20
  import * as Effect from 'effect/Effect';
21
- import * as FetchHttpClient from 'effect/unstable/http/FetchHttpClient';
22
- import type * as HttpClient from 'effect/unstable/http/HttpClient';
21
+ import * as FetchHttpClient from 'effect/http/FetchHttpClient';
22
+ import type * as HttpClient from 'effect/http/HttpClient';
23
23
  import type { BaoEnvironment } from './bao-address.ts';
24
24
  import { BaoEnv, baoCall } from './bao-http.ts';
25
25
  import type { BaoError } from './bao-status.ts';
@@ -5,7 +5,7 @@
5
5
  * to a non-auth path, and `token/` cannot move at all).
6
6
  */
7
7
  import * as Effect from 'effect/Effect';
8
- import type * as HttpClient from 'effect/unstable/http/HttpClient';
8
+ import type * as HttpClient from 'effect/http/HttpClient';
9
9
  import type { Claim } from '../ownership/adopt.ts';
10
10
  import {
11
11
  type BaoAuthMethodAttributes,
@@ -18,7 +18,7 @@ import { Resource } from 'alchemy';
18
18
  import { isResolved } from 'alchemy/Diff';
19
19
  import * as Provider from 'alchemy/Provider';
20
20
  import * as Effect from 'effect/Effect';
21
- import type * as HttpClient from 'effect/unstable/http/HttpClient';
21
+ import type * as HttpClient from 'effect/http/HttpClient';
22
22
  import { claimFor } from '../ownership/adopt.ts';
23
23
  import { ownedRead } from '../ownership/probe.ts';
24
24
  import { provingResumes } from '../ownership/resume.ts';
@@ -5,7 +5,7 @@ import * as RemovalPolicy from 'alchemy/RemovalPolicy';
5
5
  import * as Test from 'alchemy/Test/Bun';
6
6
  import * as Effect from 'effect/Effect';
7
7
  import * as Layer from 'effect/Layer';
8
- import * as FetchHttpClient from 'effect/unstable/http/FetchHttpClient';
8
+ import * as FetchHttpClient from 'effect/http/FetchHttpClient';
9
9
  import { BaoAuthRole, BaoAuthRoleProvider } from './auth-role.ts';
10
10
  import { BaoEnv } from './bao-http.ts';
11
11
  import { type Reply, fakeBao } from './fake-bao.ts';
@@ -13,7 +13,7 @@ import { Resource } from 'alchemy';
13
13
  import { isResolved } from 'alchemy/Diff';
14
14
  import * as Provider from 'alchemy/Provider';
15
15
  import * as Effect from 'effect/Effect';
16
- import type * as HttpClient from 'effect/unstable/http/HttpClient';
16
+ import type * as HttpClient from 'effect/http/HttpClient';
17
17
  import { refuseTakeover } from '../ownership/adopt.ts';
18
18
  import { ownedRead } from '../ownership/probe.ts';
19
19
  import { provingResumes } from '../ownership/resume.ts';
@@ -6,9 +6,9 @@
6
6
  import assert from 'node:assert/strict';
7
7
  import { describe, it } from 'node:test';
8
8
  import * as Effect from 'effect/Effect';
9
- import * as Headers from 'effect/unstable/http/Headers';
10
- import * as HttpClient from 'effect/unstable/http/HttpClient';
11
- import * as HttpClientResponse from 'effect/unstable/http/HttpClientResponse';
9
+ import * as Headers from 'effect/http/Headers';
10
+ import * as HttpClient from 'effect/http/HttpClient';
11
+ import * as HttpClientResponse from 'effect/http/HttpClientResponse';
12
12
  import { BaoEnv, baoDelete, baoRead, baoWrite } from './bao-http.ts';
13
13
  import { BaoError } from './bao-status.ts';
14
14
  import { fakeBao, run, runFailure, withFake } from './fake-bao.ts';
@@ -17,10 +17,10 @@ import * as Effect from 'effect/Effect';
17
17
  import * as Option from 'effect/Option';
18
18
  import * as Schedule from 'effect/Schedule';
19
19
  import * as Semaphore from 'effect/Semaphore';
20
- import * as FetchHttpClient from 'effect/unstable/http/FetchHttpClient';
21
- import * as Headers from 'effect/unstable/http/Headers';
22
- import * as HttpClient from 'effect/unstable/http/HttpClient';
23
- import * as HttpClientRequest from 'effect/unstable/http/HttpClientRequest';
20
+ import * as FetchHttpClient from 'effect/http/FetchHttpClient';
21
+ import * as Headers from 'effect/http/Headers';
22
+ import * as HttpClient from 'effect/http/HttpClient';
23
+ import * as HttpClientRequest from 'effect/http/HttpClientRequest';
24
24
  import { type BaoEnvironment, headersFor, resolveAddress } from './bao-address.ts';
25
25
  import { BaoError, type BaoIntent, settle } from './bao-status.ts';
26
26
 
@@ -32,8 +32,8 @@
32
32
  * point: a standby forwards to the same vault.
33
33
  */
34
34
  import * as Effect from 'effect/Effect';
35
- import * as FetchHttpClient from 'effect/unstable/http/FetchHttpClient';
36
- import type * as HttpClient from 'effect/unstable/http/HttpClient';
35
+ import * as FetchHttpClient from 'effect/http/FetchHttpClient';
36
+ import type * as HttpClient from 'effect/http/HttpClient';
37
37
  import { type BaoEnvironment, resolveAddress } from './bao-address.ts';
38
38
  import { BaoEnv, baoCall } from './bao-http.ts';
39
39
  import { canonicalNamespace, envNamespace, namespaceLabel } from './bao-namespace.ts';
@@ -32,7 +32,7 @@
32
32
  */
33
33
  import * as Context from 'effect/Context';
34
34
  import * as Effect from 'effect/Effect';
35
- import type * as HttpClient from 'effect/unstable/http/HttpClient';
35
+ import type * as HttpClient from 'effect/http/HttpClient';
36
36
  import { baoRead } from './bao-http.ts';
37
37
  import type { BaoError } from './bao-status.ts';
38
38
  import { groupKey } from './cloudflare-group-scope.ts';
@@ -3,7 +3,7 @@
3
3
  * of `<mount>/roles/<name>`. Split out so each can be tested against fake-bao.
4
4
  */
5
5
  import * as Effect from 'effect/Effect';
6
- import type * as HttpClient from 'effect/unstable/http/HttpClient';
6
+ import type * as HttpClient from 'effect/http/HttpClient';
7
7
  import { baoDelete, baoRead, baoWrite } from './bao-http.ts';
8
8
  import type { BaoError } from './bao-status.ts';
9
9
  import { type LiveCloudflareRole, liveRoleOf, rolePath } from './cloudflare-role-form.ts';
@@ -20,7 +20,7 @@ import { Resource } from 'alchemy';
20
20
  import { isResolved } from 'alchemy/Diff';
21
21
  import * as Provider from 'alchemy/Provider';
22
22
  import * as Effect from 'effect/Effect';
23
- import type * as HttpClient from 'effect/unstable/http/HttpClient';
23
+ import type * as HttpClient from 'effect/http/HttpClient';
24
24
  import { refuseTakeover } from '../ownership/adopt.ts';
25
25
  import { ownedRead } from '../ownership/probe.ts';
26
26
  import { provingResumes } from '../ownership/resume.ts';
@@ -1,9 +1,9 @@
1
1
  import { expect, test } from 'bun:test';
2
2
  import { policiesReadAclPolicy } from '@distilled.cloud/openbao/policies';
3
3
  import * as Effect from 'effect/Effect';
4
- import * as HttpClient from 'effect/unstable/http/HttpClient';
5
- import { HttpClientError, TransportError } from 'effect/unstable/http/HttpClientError';
6
- import * as HttpClientResponse from 'effect/unstable/http/HttpClientResponse';
4
+ import * as HttpClient from 'effect/http/HttpClient';
5
+ import { HttpClientError, TransportError } from 'effect/http/HttpClientError';
6
+ import * as HttpClientResponse from 'effect/http/HttpClientResponse';
7
7
  import { readAuthRole, writeAuthRole } from './auth-role-wire.ts';
8
8
  import { BaoEnv } from './bao-http.ts';
9
9
  import { BaoError } from './bao-status.ts';
@@ -5,9 +5,9 @@ import { join } from 'node:path';
5
5
  import { policiesReadAclPolicy, policiesWriteAclPolicy } from '@distilled.cloud/openbao/policies';
6
6
  import * as Effect from 'effect/Effect';
7
7
  import * as Semaphore from 'effect/Semaphore';
8
- import * as Headers from 'effect/unstable/http/Headers';
9
- import * as HttpClient from 'effect/unstable/http/HttpClient';
10
- import * as HttpClientResponse from 'effect/unstable/http/HttpClientResponse';
8
+ import * as Headers from 'effect/http/Headers';
9
+ import * as HttpClient from 'effect/http/HttpClient';
10
+ import * as HttpClientResponse from 'effect/http/HttpClientResponse';
11
11
  import { BaoEnv, BaoGate, MAX_IN_FLIGHT, baoRead } from './bao-http.ts';
12
12
  import { runBao } from './distilled.ts';
13
13
  import { fakeBao, run, runFailure, withFake } from './fake-bao.ts';
@@ -14,8 +14,8 @@ import type * as Duration from 'effect/Duration';
14
14
  import * as Effect from 'effect/Effect';
15
15
  import * as Redacted from 'effect/Redacted';
16
16
  import * as Semaphore from 'effect/Semaphore';
17
- import type * as HttpClient from 'effect/unstable/http/HttpClient';
18
- import { isHttpClientError } from 'effect/unstable/http/HttpClientError';
17
+ import type * as HttpClient from 'effect/http/HttpClient';
18
+ import { isHttpClientError } from 'effect/http/HttpClientError';
19
19
  import { readBaoVariable, resolveAddress } from './bao-address.ts';
20
20
  import {
21
21
  BAO_TIMEOUT,
@@ -7,8 +7,8 @@
7
7
  * BAO_TOKEN in the shell running the tests can never be read or contacted.
8
8
  */
9
9
  import * as Effect from 'effect/Effect';
10
- import * as FetchHttpClient from 'effect/unstable/http/FetchHttpClient';
11
- import type * as HttpClient from 'effect/unstable/http/HttpClient';
10
+ import * as FetchHttpClient from 'effect/http/FetchHttpClient';
11
+ import type * as HttpClient from 'effect/http/HttpClient';
12
12
  import type { BaoEnvironment } from './bao-address.ts';
13
13
  import { BaoEnv } from './bao-http.ts';
14
14
 
@@ -9,7 +9,7 @@
9
9
  */
10
10
  import * as Effect from 'effect/Effect';
11
11
  import * as Layer from 'effect/Layer';
12
- import * as FetchHttpClient from 'effect/unstable/http/FetchHttpClient';
12
+ import * as FetchHttpClient from 'effect/http/FetchHttpClient';
13
13
  import type * as Output from 'alchemy/Output';
14
14
  import { BaoAuthMethod, BaoAuthMethodProvider } from './auth-method.ts';
15
15
  import { BaoAuthRoleProvider } from './auth-role.ts';
@@ -10,7 +10,7 @@ import * as Effect from 'effect/Effect';
10
10
  import * as FileSystem from 'effect/FileSystem';
11
11
  import * as Layer from 'effect/Layer';
12
12
  import * as Path from 'effect/Path';
13
- import * as FetchHttpClient from 'effect/unstable/http/FetchHttpClient';
13
+ import * as FetchHttpClient from 'effect/http/FetchHttpClient';
14
14
  import type { Reply, Seen } from './fake-bao.ts';
15
15
  import { parseDuration } from './mount-form.ts';
16
16
  import { trimTrailing } from './mount-path.ts';
@@ -11,7 +11,7 @@ import * as RemovalPolicy from 'alchemy/RemovalPolicy';
11
11
  import type * as Output from 'alchemy/Output';
12
12
  import * as Effect from 'effect/Effect';
13
13
  import * as Layer from 'effect/Layer';
14
- import * as FetchHttpClient from 'effect/unstable/http/FetchHttpClient';
14
+ import * as FetchHttpClient from 'effect/http/FetchHttpClient';
15
15
  import { BaoAuthRole, BaoAuthRoleProvider } from './auth-role.ts';
16
16
  import type { Reply, Seen } from './fake-bao.ts';
17
17
  import { type Estate, fakeEstate } from './fake-engines-roles.ts';
@@ -36,6 +36,11 @@ export type DeployOptions = { readonly adopt?: boolean };
36
36
  export interface FakeStack {
37
37
  /** Plan, then apply, `body`. Resolves to the plan; rejects with the apply's failure. */
38
38
  readonly deploy: (body: StackBody, options?: DeployOptions) => Promise<Planned>;
39
+ /**
40
+ * `alchemy destroy` of `body`: the body is still evaluated (its declarations stay in the Stack
41
+ * service), and the plan is Alchemy's own `Plan.destroy`. Resolves to the plan's actions.
42
+ */
43
+ readonly destroy: (body: StackBody) => Promise<Planned>;
39
44
  }
40
45
 
41
46
  type Node = { readonly action: string };
@@ -82,11 +87,14 @@ export const fakeStack = <ROut, E, RIn>(
82
87
  * diff uses to tell reconcile it resumes an interrupted create (ownership/resume.ts).
83
88
  * ★ `--adopt` reaches registration, plan and apply alike, as the Alchemist session provides it.
84
89
  */
85
- const deploy = (body: StackBody, options: DeployOptions = {}) =>
90
+ const destroying = Alchemy.Plan.destroy as unknown as (
91
+ compiled: unknown,
92
+ ) => Effect.Effect<PlanView, unknown, never>;
93
+ const run = (body: StackBody, options: DeployOptions, planner: typeof plan) =>
86
94
  Effect.gen(function* () {
87
95
  const compiled = yield* stack(name, { providers, state }, body);
88
96
  return yield* Effect.gen(function* () {
89
- const planned = yield* plan(compiled);
97
+ const planned = yield* planner(compiled);
90
98
  yield* apply(planned);
91
99
  return actionsOf(planned);
92
100
  }).pipe(provideFreshArtifactStore, Effect.provide(Layer.succeedContext(compiled.services)));
@@ -99,7 +107,9 @@ export const fakeStack = <ROut, E, RIn>(
99
107
  );
100
108
 
101
109
  return {
102
- deploy: (body, options) => Effect.runPromise(deploy(body, options) as Effect.Effect<Planned>),
110
+ deploy: (body, options) =>
111
+ Effect.runPromise(run(body, options ?? {}, plan) as Effect.Effect<Planned>),
112
+ destroy: (body) => Effect.runPromise(run(body, {}, destroying) as Effect.Effect<Planned>),
103
113
  };
104
114
  };
105
115
 
@@ -20,7 +20,7 @@ import { Resource } from 'alchemy';
20
20
  import { isResolved } from 'alchemy/Diff';
21
21
  import * as Provider from 'alchemy/Provider';
22
22
  import * as Effect from 'effect/Effect';
23
- import type * as HttpClient from 'effect/unstable/http/HttpClient';
23
+ import type * as HttpClient from 'effect/http/HttpClient';
24
24
  import { claimFor } from '../ownership/adopt.ts';
25
25
  import { provingResumes } from '../ownership/resume.ts';
26
26
  import {
@@ -22,7 +22,7 @@ import { Resource } from 'alchemy';
22
22
  import { isResolved } from 'alchemy/Diff';
23
23
  import * as Provider from 'alchemy/Provider';
24
24
  import * as Effect from 'effect/Effect';
25
- import type * as HttpClient from 'effect/unstable/http/HttpClient';
25
+ import type * as HttpClient from 'effect/http/HttpClient';
26
26
  import { claimFor } from '../ownership/adopt.ts';
27
27
  import { provingResumes } from '../ownership/resume.ts';
28
28
  import { baoDelete } from './bao-http.ts';
@@ -16,7 +16,7 @@ import { Resource } from 'alchemy';
16
16
  import { isResolved } from 'alchemy/Diff';
17
17
  import * as Provider from 'alchemy/Provider';
18
18
  import * as Effect from 'effect/Effect';
19
- import type * as HttpClient from 'effect/unstable/http/HttpClient';
19
+ import type * as HttpClient from 'effect/http/HttpClient';
20
20
  import { claimFor } from '../ownership/adopt.ts';
21
21
  import { provingResumes } from '../ownership/resume.ts';
22
22
  import { baoDelete } from './bao-http.ts';
@@ -30,7 +30,7 @@ import { Resource } from 'alchemy';
30
30
  import { isResolved } from 'alchemy/Diff';
31
31
  import * as Provider from 'alchemy/Provider';
32
32
  import * as Effect from 'effect/Effect';
33
- import type * as HttpClient from 'effect/unstable/http/HttpClient';
33
+ import type * as HttpClient from 'effect/http/HttpClient';
34
34
  import { type Claim, claimFor } from '../ownership/adopt.ts';
35
35
  import { ownedRead } from '../ownership/probe.ts';
36
36
  import { provingResumes } from '../ownership/resume.ts';
@@ -19,7 +19,7 @@ import { Resource } from 'alchemy';
19
19
  import { isResolved } from 'alchemy/Diff';
20
20
  import * as Provider from 'alchemy/Provider';
21
21
  import * as Effect from 'effect/Effect';
22
- import type * as HttpClient from 'effect/unstable/http/HttpClient';
22
+ import type * as HttpClient from 'effect/http/HttpClient';
23
23
  import { type Claim, claimFor } from '../ownership/adopt.ts';
24
24
  import { ownedRead } from '../ownership/probe.ts';
25
25
  import { provingResumes } from '../ownership/resume.ts';
@@ -25,7 +25,7 @@
25
25
  * (identity/mfa.go:172-183), which HTTP answers 204. So this never writes by id.
26
26
  */
27
27
  import * as Effect from 'effect/Effect';
28
- import type * as HttpClient from 'effect/unstable/http/HttpClient';
28
+ import type * as HttpClient from 'effect/http/HttpClient';
29
29
  import { BaoEnv, baoCall, baoDelete, baoRead } from './bao-http.ts';
30
30
  import { envNamespace, namespacePath } from './bao-namespace.ts';
31
31
  import type { BaoError } from './bao-status.ts';
@@ -13,7 +13,7 @@
13
13
  * neither, is a refusal — "neither" in particular is exactly the empty-mount failure above.
14
14
  */
15
15
  import * as Effect from 'effect/Effect';
16
- import type * as HttpClient from 'effect/unstable/http/HttpClient';
16
+ import type * as HttpClient from 'effect/http/HttpClient';
17
17
  import type { BaoError } from './bao-status.ts';
18
18
  import { mountPath } from './mount-form.ts';
19
19
  import { type RemountError, type RemountOptions, remountAndWait } from './remount-wire.ts';
@@ -3,7 +3,7 @@
3
3
  * refusals) run against a fake server, not only in a reviewer's head.
4
4
  */
5
5
  import * as Effect from 'effect/Effect';
6
- import type * as HttpClient from 'effect/unstable/http/HttpClient';
6
+ import type * as HttpClient from 'effect/http/HttpClient';
7
7
  import type { Claim } from '../ownership/adopt.ts';
8
8
  import type { BaoError } from './bao-status.ts';
9
9
  import {
@@ -21,7 +21,7 @@ import { Resource } from 'alchemy';
21
21
  import { isResolved } from 'alchemy/Diff';
22
22
  import * as Provider from 'alchemy/Provider';
23
23
  import * as Effect from 'effect/Effect';
24
- import type * as HttpClient from 'effect/unstable/http/HttpClient';
24
+ import type * as HttpClient from 'effect/http/HttpClient';
25
25
  import { claimFor } from '../ownership/adopt.ts';
26
26
  import { ownedRead } from '../ownership/probe.ts';
27
27
  import { provingResumes } from '../ownership/resume.ts';
@@ -42,7 +42,7 @@ import { Resource } from 'alchemy';
42
42
  import { isResolved } from 'alchemy/Diff';
43
43
  import * as Provider from 'alchemy/Provider';
44
44
  import * as Effect from 'effect/Effect';
45
- import type * as HttpClient from 'effect/unstable/http/HttpClient';
45
+ import type * as HttpClient from 'effect/http/HttpClient';
46
46
  import { refuseTakeover } from '../ownership/adopt.ts';
47
47
  import { ownedRead } from '../ownership/probe.ts';
48
48
  import { provingResumes } from '../ownership/resume.ts';
@@ -3,7 +3,7 @@
3
3
  * be run against a fake server rather than only reasoned about.
4
4
  */
5
5
  import * as Effect from 'effect/Effect';
6
- import type * as HttpClient from 'effect/unstable/http/HttpClient';
6
+ import type * as HttpClient from 'effect/http/HttpClient';
7
7
  import type { Claim } from '../ownership/adopt.ts';
8
8
  import type { BaoError } from './bao-status.ts';
9
9
  import {
@@ -12,7 +12,7 @@
12
12
  * token without it reads as 403, which is an error here, never "absent".
13
13
  */
14
14
  import type * as Effect from 'effect/Effect';
15
- import type * as HttpClient from 'effect/unstable/http/HttpClient';
15
+ import type * as HttpClient from 'effect/http/HttpClient';
16
16
  import { baoDelete, baoRead, baoWrite } from './bao-http.ts';
17
17
  import type { BaoError } from './bao-status.ts';
18
18
  import {
@@ -23,7 +23,7 @@ import { Resource } from 'alchemy';
23
23
  import { isResolved } from 'alchemy/Diff';
24
24
  import * as Provider from 'alchemy/Provider';
25
25
  import * as Effect from 'effect/Effect';
26
- import type * as HttpClient from 'effect/unstable/http/HttpClient';
26
+ import type * as HttpClient from 'effect/http/HttpClient';
27
27
  import { claimFor } from '../ownership/adopt.ts';
28
28
  import { ownedRead } from '../ownership/probe.ts';
29
29
  import { provingResumes } from '../ownership/resume.ts';
@@ -4,7 +4,7 @@ import * as Provider from 'alchemy/Provider';
4
4
  import * as Effect from 'effect/Effect';
5
5
  import * as FileSystem from 'effect/FileSystem';
6
6
  import * as Path from 'effect/Path';
7
- import type * as HttpClient from 'effect/unstable/http/HttpClient';
7
+ import type * as HttpClient from 'effect/http/HttpClient';
8
8
  import { refuseTakeover } from '../ownership/adopt.ts';
9
9
  import { ownedRead } from '../ownership/probe.ts';
10
10
  import { provingResumes } from '../ownership/resume.ts';
@@ -39,7 +39,7 @@ import { Resource } from 'alchemy';
39
39
  import { isResolved } from 'alchemy/Diff';
40
40
  import * as Provider from 'alchemy/Provider';
41
41
  import * as Effect from 'effect/Effect';
42
- import type * as HttpClient from 'effect/unstable/http/HttpClient';
42
+ import type * as HttpClient from 'effect/http/HttpClient';
43
43
  import { refuseTakeover } from '../ownership/adopt.ts';
44
44
  import { ownedRead } from '../ownership/probe.ts';
45
45
  import { provingResumes } from '../ownership/resume.ts';
@@ -18,7 +18,7 @@
18
18
  * ⛔ POLICIES ARE NOT REWRITTEN. Every ACL path naming the old mount keeps naming it.
19
19
  */
20
20
  import * as Effect from 'effect/Effect';
21
- import type * as HttpClient from 'effect/unstable/http/HttpClient';
21
+ import type * as HttpClient from 'effect/http/HttpClient';
22
22
  import { baoCall, baoRead } from './bao-http.ts';
23
23
  import type { BaoError } from './bao-status.ts';
24
24
 
@@ -10,7 +10,7 @@ import * as Output from 'alchemy/Output';
10
10
  import * as RemovalPolicy from 'alchemy/RemovalPolicy';
11
11
  import * as Effect from 'effect/Effect';
12
12
  import * as Layer from 'effect/Layer';
13
- import * as FetchHttpClient from 'effect/unstable/http/FetchHttpClient';
13
+ import * as FetchHttpClient from 'effect/http/FetchHttpClient';
14
14
  import { groupKey } from './cloudflare-group-scope.ts';
15
15
  import { CloudflarePermissionGroups } from './cloudflare-permission-groups.ts';
16
16
  import { BaoCloudflareRole, BaoCloudflareRoleProvider } from './cloudflare-role.ts';
@@ -14,7 +14,7 @@
14
14
  * so the refusal is seen at the next deploy instead of hiding behind a clean plan.
15
15
  */
16
16
  import * as Effect from 'effect/Effect';
17
- import type * as HttpClient from 'effect/unstable/http/HttpClient';
17
+ import type * as HttpClient from 'effect/http/HttpClient';
18
18
  import type { Claim, Owner } from '../ownership/adopt.ts';
19
19
  import { ownedRead } from '../ownership/probe.ts';
20
20
  import { baoRead, baoWrite } from './bao-http.ts';
@@ -9,7 +9,7 @@ import * as Output from 'alchemy/Output';
9
9
  import * as RemovalPolicy from 'alchemy/RemovalPolicy';
10
10
  import * as Effect from 'effect/Effect';
11
11
  import * as Layer from 'effect/Layer';
12
- import * as FetchHttpClient from 'effect/unstable/http/FetchHttpClient';
12
+ import * as FetchHttpClient from 'effect/http/FetchHttpClient';
13
13
  import { groupKey } from './cloudflare-group-scope.ts';
14
14
  import { CloudflarePermissionGroups } from './cloudflare-permission-groups.ts';
15
15
  import { BaoCloudflareRole, BaoCloudflareRoleProvider } from './cloudflare-role.ts';
@@ -35,7 +35,7 @@ import { Resource } from 'alchemy';
35
35
  import { isResolved } from 'alchemy/Diff';
36
36
  import * as Provider from 'alchemy/Provider';
37
37
  import * as Effect from 'effect/Effect';
38
- import type * as HttpClient from 'effect/unstable/http/HttpClient';
38
+ import type * as HttpClient from 'effect/http/HttpClient';
39
39
  import { refuseTakeover } from '../ownership/adopt.ts';
40
40
  import { ownedRead } from '../ownership/probe.ts';
41
41
  import { provingResumes } from '../ownership/resume.ts';
@@ -11,7 +11,7 @@
11
11
  */
12
12
  import { type Credentials, credentials } from '@distilled.cloud/opnsense/Credentials';
13
13
  import * as Layer from 'effect/Layer';
14
- import * as FetchHttpClient from 'effect/unstable/http/FetchHttpClient';
14
+ import * as FetchHttpClient from 'effect/http/FetchHttpClient';
15
15
 
16
16
  export const FAKE_BASE = 'https://opnsense.example.com';
17
17
  export const FAKE_KEY = 'placeholder-opnsense-key';