@homeflare/alchemy 0.46.0 → 0.47.0

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 (773) hide show
  1. package/README.md +10 -10
  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 +13 -0
  272. package/dist/postgres/fake-schema-drop.d.ts.map +1 -0
  273. package/dist/postgres/fake-schema-sql.d.ts +6 -1
  274. package/dist/postgres/fake-schema-sql.d.ts.map +1 -1
  275. package/dist/postgres/fake-sql.d.ts +4 -0
  276. package/dist/postgres/fake-sql.d.ts.map +1 -1
  277. package/dist/postgres/grants-existence.d.ts +1 -1
  278. package/dist/postgres/grants-existence.d.ts.map +1 -1
  279. package/dist/postgres/grants-ops.d.ts +1 -1
  280. package/dist/postgres/grants-ops.d.ts.map +1 -1
  281. package/dist/postgres/grants-ownership.d.ts +1 -1
  282. package/dist/postgres/grants-ownership.d.ts.map +1 -1
  283. package/dist/postgres/grants-read-defaults.d.ts +1 -1
  284. package/dist/postgres/grants-read-defaults.d.ts.map +1 -1
  285. package/dist/postgres/grants-read.d.ts +1 -1
  286. package/dist/postgres/grants-read.d.ts.map +1 -1
  287. package/dist/postgres/index.d.ts +2 -1
  288. package/dist/postgres/index.d.ts.map +1 -1
  289. package/dist/postgres/index.js +523 -324
  290. package/dist/postgres/index.js.map +26 -22
  291. package/dist/postgres/installed-classifier.d.ts +1 -1
  292. package/dist/postgres/installed-classifier.d.ts.map +1 -1
  293. package/dist/postgres/psql-executor.d.ts.map +1 -1
  294. package/dist/postgres/role-membership-sql.d.ts +1 -1
  295. package/dist/postgres/role-membership-sql.d.ts.map +1 -1
  296. package/dist/postgres/role-sql.d.ts +1 -1
  297. package/dist/postgres/role-sql.d.ts.map +1 -1
  298. package/dist/postgres/role.d.ts +1 -1
  299. package/dist/postgres/role.d.ts.map +1 -1
  300. package/dist/postgres/schema-assert.d.ts +1 -1
  301. package/dist/postgres/schema-assert.d.ts.map +1 -1
  302. package/dist/postgres/schema-closure-sql.d.ts +45 -0
  303. package/dist/postgres/schema-closure-sql.d.ts.map +1 -0
  304. package/dist/postgres/schema-delete.d.ts +18 -9
  305. package/dist/postgres/schema-delete.d.ts.map +1 -1
  306. package/dist/postgres/schema-drop-sql.d.ts +66 -0
  307. package/dist/postgres/schema-drop-sql.d.ts.map +1 -0
  308. package/dist/postgres/schema-errors.d.ts +19 -1
  309. package/dist/postgres/schema-errors.d.ts.map +1 -1
  310. package/dist/postgres/schema-reconcile.d.ts +1 -1
  311. package/dist/postgres/schema-reconcile.d.ts.map +1 -1
  312. package/dist/postgres/schema-sequence-error.d.ts +29 -0
  313. package/dist/postgres/schema-sequence-error.d.ts.map +1 -0
  314. package/dist/postgres/schema-sql.d.ts +17 -1
  315. package/dist/postgres/schema-sql.d.ts.map +1 -1
  316. package/dist/postgres/schema-test-kit.d.ts +3 -1
  317. package/dist/postgres/schema-test-kit.d.ts.map +1 -1
  318. package/dist/postgres/schema.d.ts +1 -1
  319. package/dist/postgres/schema.d.ts.map +1 -1
  320. package/dist/postgres/search-path.d.ts +38 -0
  321. package/dist/postgres/search-path.d.ts.map +1 -0
  322. package/dist/proxmox/acl.d.ts +1 -1
  323. package/dist/proxmox/acl.d.ts.map +1 -1
  324. package/dist/proxmox/api-token.d.ts +1 -1
  325. package/dist/proxmox/api-token.d.ts.map +1 -1
  326. package/dist/proxmox/backup-job-distilled.d.ts +2 -2
  327. package/dist/proxmox/backup-job-distilled.d.ts.map +1 -1
  328. package/dist/proxmox/backup-job.d.ts +1 -1
  329. package/dist/proxmox/backup-job.d.ts.map +1 -1
  330. package/dist/proxmox/ceph-daemon-wire.d.ts +3 -3
  331. package/dist/proxmox/ceph-daemon-wire.d.ts.map +1 -1
  332. package/dist/proxmox/ceph-daemon.d.ts +2 -2
  333. package/dist/proxmox/ceph-daemon.d.ts.map +1 -1
  334. package/dist/proxmox/ceph-flag-wire.d.ts +3 -3
  335. package/dist/proxmox/ceph-flag-wire.d.ts.map +1 -1
  336. package/dist/proxmox/ceph-flag.d.ts +1 -1
  337. package/dist/proxmox/ceph-flag.d.ts.map +1 -1
  338. package/dist/proxmox/ceph-fs-distilled.d.ts +3 -3
  339. package/dist/proxmox/ceph-fs-distilled.d.ts.map +1 -1
  340. package/dist/proxmox/ceph-fs.d.ts +1 -1
  341. package/dist/proxmox/ceph-fs.d.ts.map +1 -1
  342. package/dist/proxmox/ceph-osd-tree.d.ts +1 -1
  343. package/dist/proxmox/ceph-osd-tree.d.ts.map +1 -1
  344. package/dist/proxmox/ceph-osd-write.d.ts +2 -2
  345. package/dist/proxmox/ceph-osd-write.d.ts.map +1 -1
  346. package/dist/proxmox/ceph-osd.d.ts +1 -1
  347. package/dist/proxmox/ceph-osd.d.ts.map +1 -1
  348. package/dist/proxmox/ceph-pool-settle.d.ts +2 -2
  349. package/dist/proxmox/ceph-pool-settle.d.ts.map +1 -1
  350. package/dist/proxmox/ceph-pool-wire.d.ts +1 -1
  351. package/dist/proxmox/ceph-pool-wire.d.ts.map +1 -1
  352. package/dist/proxmox/ceph-pool.d.ts +1 -1
  353. package/dist/proxmox/ceph-pool.d.ts.map +1 -1
  354. package/dist/proxmox/client.d.ts +1 -1
  355. package/dist/proxmox/client.d.ts.map +1 -1
  356. package/dist/proxmox/distilled-pbs.d.ts +1 -1
  357. package/dist/proxmox/distilled-pbs.d.ts.map +1 -1
  358. package/dist/proxmox/distilled-pve.d.ts +1 -1
  359. package/dist/proxmox/distilled-pve.d.ts.map +1 -1
  360. package/dist/proxmox/fake-pbs-jobs.d.ts +1 -1
  361. package/dist/proxmox/fake-pve.d.ts +1 -1
  362. package/dist/proxmox/fake-pve.d.ts.map +1 -1
  363. package/dist/proxmox/firewall-alias-lifecycle.d.ts +6 -6
  364. package/dist/proxmox/firewall-alias-lifecycle.d.ts.map +1 -1
  365. package/dist/proxmox/firewall-alias.d.ts +1 -1
  366. package/dist/proxmox/firewall-alias.d.ts.map +1 -1
  367. package/dist/proxmox/group-wire.d.ts +2 -2
  368. package/dist/proxmox/group-wire.d.ts.map +1 -1
  369. package/dist/proxmox/group.d.ts +1 -1
  370. package/dist/proxmox/group.d.ts.map +1 -1
  371. package/dist/proxmox/ha-resource.d.ts +1 -1
  372. package/dist/proxmox/ha-resource.d.ts.map +1 -1
  373. package/dist/proxmox/ha-rule.d.ts +1 -1
  374. package/dist/proxmox/ha-rule.d.ts.map +1 -1
  375. package/dist/proxmox/index.js +38 -17
  376. package/dist/proxmox/index.js.map +9 -9
  377. package/dist/proxmox/lease-cache.d.ts +2 -2
  378. package/dist/proxmox/lease-cache.d.ts.map +1 -1
  379. package/dist/proxmox/live-core-fixtures.d.ts +1 -1
  380. package/dist/proxmox/live-core-fixtures.d.ts.map +1 -1
  381. package/dist/proxmox/lxc-lifecycle.d.ts +3 -3
  382. package/dist/proxmox/lxc-lifecycle.d.ts.map +1 -1
  383. package/dist/proxmox/lxc-read.d.ts +1 -1
  384. package/dist/proxmox/lxc-read.d.ts.map +1 -1
  385. package/dist/proxmox/lxc-task.d.ts +1 -1
  386. package/dist/proxmox/lxc-task.d.ts.map +1 -1
  387. package/dist/proxmox/lxc.d.ts +1 -1
  388. package/dist/proxmox/lxc.d.ts.map +1 -1
  389. package/dist/proxmox/members.d.ts +3 -3
  390. package/dist/proxmox/members.d.ts.map +1 -1
  391. package/dist/proxmox/metric-server-distilled.d.ts +3 -3
  392. package/dist/proxmox/metric-server-distilled.d.ts.map +1 -1
  393. package/dist/proxmox/metric-server.d.ts +1 -1
  394. package/dist/proxmox/metric-server.d.ts.map +1 -1
  395. package/dist/proxmox/mint.d.ts +1 -1
  396. package/dist/proxmox/mint.d.ts.map +1 -1
  397. package/dist/proxmox/network-apply-read.d.ts +3 -3
  398. package/dist/proxmox/network-apply-read.d.ts.map +1 -1
  399. package/dist/proxmox/network-apply-run.d.ts +1 -1
  400. package/dist/proxmox/network-apply-run.d.ts.map +1 -1
  401. package/dist/proxmox/network-apply.d.ts +1 -1
  402. package/dist/proxmox/network-apply.d.ts.map +1 -1
  403. package/dist/proxmox/node-network-wire.d.ts +2 -2
  404. package/dist/proxmox/node-network-wire.d.ts.map +1 -1
  405. package/dist/proxmox/node-network.d.ts +1 -1
  406. package/dist/proxmox/node-network.d.ts.map +1 -1
  407. package/dist/proxmox/notification-matcher-distilled.d.ts +4 -4
  408. package/dist/proxmox/notification-matcher-distilled.d.ts.map +1 -1
  409. package/dist/proxmox/notification-matcher-lifecycle.d.ts +4 -4
  410. package/dist/proxmox/notification-matcher.d.ts +1 -1
  411. package/dist/proxmox/notification-matcher.d.ts.map +1 -1
  412. package/dist/proxmox/notification-target-distilled.d.ts +4 -4
  413. package/dist/proxmox/notification-target-distilled.d.ts.map +1 -1
  414. package/dist/proxmox/notification-target-lifecycle.d.ts +4 -4
  415. package/dist/proxmox/notification-target.d.ts +1 -1
  416. package/dist/proxmox/notification-target.d.ts.map +1 -1
  417. package/dist/proxmox/pbs-datastore-lifecycle.d.ts +4 -4
  418. package/dist/proxmox/pbs-datastore-wire.d.ts +4 -4
  419. package/dist/proxmox/pbs-datastore-wire.d.ts.map +1 -1
  420. package/dist/proxmox/pbs-datastore.d.ts +1 -1
  421. package/dist/proxmox/pbs-datastore.d.ts.map +1 -1
  422. package/dist/proxmox/pbs-notification-matcher-distilled.d.ts +4 -4
  423. package/dist/proxmox/pbs-notification-matcher-distilled.d.ts.map +1 -1
  424. package/dist/proxmox/pbs-notification-matcher.d.ts +1 -1
  425. package/dist/proxmox/pbs-notification-matcher.d.ts.map +1 -1
  426. package/dist/proxmox/pbs-notification-target-distilled.d.ts +4 -4
  427. package/dist/proxmox/pbs-notification-target-distilled.d.ts.map +1 -1
  428. package/dist/proxmox/pbs-notification-target-lifecycle.d.ts +4 -4
  429. package/dist/proxmox/pbs-notification-target.d.ts +1 -1
  430. package/dist/proxmox/pbs-notification-target.d.ts.map +1 -1
  431. package/dist/proxmox/pbs-prune-job-lifecycle.d.ts +4 -4
  432. package/dist/proxmox/pbs-prune-job-wire.d.ts +4 -4
  433. package/dist/proxmox/pbs-prune-job-wire.d.ts.map +1 -1
  434. package/dist/proxmox/pbs-prune-job.d.ts +1 -1
  435. package/dist/proxmox/pbs-prune-job.d.ts.map +1 -1
  436. package/dist/proxmox/pbs-sync-job-lifecycle.d.ts +4 -4
  437. package/dist/proxmox/pbs-sync-job-wire.d.ts +4 -4
  438. package/dist/proxmox/pbs-sync-job-wire.d.ts.map +1 -1
  439. package/dist/proxmox/pbs-sync-job.d.ts +1 -1
  440. package/dist/proxmox/pbs-sync-job.d.ts.map +1 -1
  441. package/dist/proxmox/pbs-verify-job-lifecycle.d.ts +4 -4
  442. package/dist/proxmox/pbs-verify-job-wire.d.ts +4 -4
  443. package/dist/proxmox/pbs-verify-job-wire.d.ts.map +1 -1
  444. package/dist/proxmox/pbs-verify-job.d.ts +1 -1
  445. package/dist/proxmox/pbs-verify-job.d.ts.map +1 -1
  446. package/dist/proxmox/pool.d.ts +3 -3
  447. package/dist/proxmox/pool.d.ts.map +1 -1
  448. package/dist/proxmox/provision-declare.d.ts +1 -1
  449. package/dist/proxmox/provision-declare.d.ts.map +1 -1
  450. package/dist/proxmox/qemu-lifecycle.d.ts +3 -3
  451. package/dist/proxmox/qemu-lifecycle.d.ts.map +1 -1
  452. package/dist/proxmox/qemu-read.d.ts +1 -1
  453. package/dist/proxmox/qemu-read.d.ts.map +1 -1
  454. package/dist/proxmox/qemu-resize.d.ts +1 -1
  455. package/dist/proxmox/qemu-resize.d.ts.map +1 -1
  456. package/dist/proxmox/qemu-task.d.ts +1 -1
  457. package/dist/proxmox/qemu-task.d.ts.map +1 -1
  458. package/dist/proxmox/qemu.d.ts +1 -1
  459. package/dist/proxmox/qemu.d.ts.map +1 -1
  460. package/dist/proxmox/replication-job-lifecycle.d.ts +6 -6
  461. package/dist/proxmox/replication-job-lifecycle.d.ts.map +1 -1
  462. package/dist/proxmox/replication-job.d.ts +1 -1
  463. package/dist/proxmox/replication-job.d.ts.map +1 -1
  464. package/dist/proxmox/resource-spec.d.ts +1 -1
  465. package/dist/proxmox/resource-spec.d.ts.map +1 -1
  466. package/dist/proxmox/resource.d.ts +8 -8
  467. package/dist/proxmox/role.d.ts +1 -1
  468. package/dist/proxmox/role.d.ts.map +1 -1
  469. package/dist/proxmox/sdn-apply-read.d.ts +1 -1
  470. package/dist/proxmox/sdn-apply-read.d.ts.map +1 -1
  471. package/dist/proxmox/sdn-apply.d.ts +1 -1
  472. package/dist/proxmox/sdn-apply.d.ts.map +1 -1
  473. package/dist/proxmox/sdn-subnet.d.ts +1 -1
  474. package/dist/proxmox/sdn-subnet.d.ts.map +1 -1
  475. package/dist/proxmox/sdn-vnet.d.ts +1 -1
  476. package/dist/proxmox/sdn-vnet.d.ts.map +1 -1
  477. package/dist/proxmox/sdn-zone.d.ts +1 -1
  478. package/dist/proxmox/sdn-zone.d.ts.map +1 -1
  479. package/dist/proxmox/storage-download-lifecycle.d.ts +6 -6
  480. package/dist/proxmox/storage-download-lifecycle.d.ts.map +1 -1
  481. package/dist/proxmox/storage-download-task.d.ts +1 -1
  482. package/dist/proxmox/storage-download-task.d.ts.map +1 -1
  483. package/dist/proxmox/storage-download.d.ts +1 -1
  484. package/dist/proxmox/storage-download.d.ts.map +1 -1
  485. package/dist/proxmox/storage-wire.d.ts +2 -2
  486. package/dist/proxmox/storage-wire.d.ts.map +1 -1
  487. package/dist/proxmox/storage.d.ts +1 -1
  488. package/dist/proxmox/storage.d.ts.map +1 -1
  489. package/dist/proxmox/user-wire.d.ts +2 -2
  490. package/dist/proxmox/user-wire.d.ts.map +1 -1
  491. package/dist/proxmox/user.d.ts +1 -1
  492. package/dist/proxmox/user.d.ts.map +1 -1
  493. package/dist/proxmox/zfs-pool-form.d.ts +2 -2
  494. package/dist/proxmox/zfs-pool-form.d.ts.map +1 -1
  495. package/dist/proxmox/zfs-pool-wire.d.ts +2 -2
  496. package/dist/proxmox/zfs-pool-wire.d.ts.map +1 -1
  497. package/dist/proxmox/zfs-pool.d.ts +1 -1
  498. package/dist/proxmox/zfs-pool.d.ts.map +1 -1
  499. package/dist/release/binary.d.ts +1 -1
  500. package/dist/release/binary.d.ts.map +1 -1
  501. package/dist/release/download.d.ts +1 -1
  502. package/dist/release/download.d.ts.map +1 -1
  503. package/dist/release/index.js +6 -5
  504. package/dist/release/index.js.map +5 -5
  505. package/dist/talos/credentials-write.d.ts +1 -1
  506. package/dist/talos/credentials-write.d.ts.map +1 -1
  507. package/dist/talos/credentials.d.ts +1 -1
  508. package/dist/talos/credentials.d.ts.map +1 -1
  509. package/dist/talos/fake-process.d.ts +2 -2
  510. package/dist/talos/fake-process.d.ts.map +1 -1
  511. package/dist/talos/index.js +7 -7
  512. package/dist/talos/index.js.map +4 -4
  513. package/dist/talos/kubeconfig.d.ts +4 -4
  514. package/dist/talos/kubeconfig.d.ts.map +1 -1
  515. package/dist/talos/machine-config-fixtures.d.ts +1 -1
  516. package/dist/talos/machine-config-fixtures.d.ts.map +1 -1
  517. package/dist/talos/machine-config-read.d.ts +3 -3
  518. package/dist/talos/machine-config-read.d.ts.map +1 -1
  519. package/dist/talos/resource.d.ts +1 -1
  520. package/dist/talos/resource.d.ts.map +1 -1
  521. package/dist/talos/talos-bootstrap-etcd.d.ts +2 -2
  522. package/dist/talos/talos-bootstrap-etcd.d.ts.map +1 -1
  523. package/dist/talos/talos-bootstrap.d.ts +4 -4
  524. package/dist/talos/talos-bootstrap.d.ts.map +1 -1
  525. package/dist/talos/talos-cluster-health.d.ts +4 -4
  526. package/dist/talos/talos-cluster-health.d.ts.map +1 -1
  527. package/dist/talos/talos-machine-config.d.ts +2 -2
  528. package/dist/talos/talos-machine-config.d.ts.map +1 -1
  529. package/dist/talos/talosctl.d.ts +1 -1
  530. package/dist/talos/talosctl.d.ts.map +1 -1
  531. package/dist/telemetry/index.js +4 -4
  532. package/dist/telemetry/index.js.map +3 -3
  533. package/dist/telemetry/redact-serialization.d.ts +2 -2
  534. package/dist/telemetry/redact-serialization.d.ts.map +1 -1
  535. package/dist/unifi/acl-rule-ordering.d.ts +6 -6
  536. package/dist/unifi/acl-rule-ordering.d.ts.map +1 -1
  537. package/dist/unifi/acl-rule.d.ts +6 -6
  538. package/dist/unifi/acl-rule.d.ts.map +1 -1
  539. package/dist/unifi/dns-policy.d.ts +6 -6
  540. package/dist/unifi/dns-policy.d.ts.map +1 -1
  541. package/dist/unifi/fake-unifi.d.ts +1 -1
  542. package/dist/unifi/fake-unifi.d.ts.map +1 -1
  543. package/dist/unifi/firewall-policy-ordering.d.ts +6 -6
  544. package/dist/unifi/firewall-policy-ordering.d.ts.map +1 -1
  545. package/dist/unifi/firewall-policy.d.ts +6 -6
  546. package/dist/unifi/firewall-policy.d.ts.map +1 -1
  547. package/dist/unifi/firewall-zone.d.ts +6 -6
  548. package/dist/unifi/firewall-zone.d.ts.map +1 -1
  549. package/dist/unifi/index.js +2 -2
  550. package/dist/unifi/index.js.map +2 -2
  551. package/dist/unifi/network.d.ts +6 -6
  552. package/dist/unifi/network.d.ts.map +1 -1
  553. package/dist/unifi/providers.d.ts +1 -1
  554. package/dist/unifi/providers.d.ts.map +1 -1
  555. package/dist/unifi/resource.d.ts +1 -1
  556. package/dist/unifi/resource.d.ts.map +1 -1
  557. package/dist/unifi/traffic-matching-list.d.ts +6 -6
  558. package/dist/unifi/traffic-matching-list.d.ts.map +1 -1
  559. package/dist/unifi/wifi-broadcast.d.ts +6 -6
  560. package/dist/unifi/wifi-broadcast.d.ts.map +1 -1
  561. package/dist/verify/cli.js.map +1 -1
  562. package/dist/verify/index.js.map +1 -1
  563. package/docs/distilled-interim.md +1 -1
  564. package/docs/mesh-node.md +1 -1
  565. package/docs/paperless.md +1 -1
  566. package/docs/peers.md +8 -8
  567. package/docs/postgres-schema.md +22 -1
  568. package/docs/telemetry.md +1 -1
  569. package/package.json +20 -20
  570. package/src/argocd/fake-argocd.ts +1 -1
  571. package/src/argocd/resource.ts +1 -1
  572. package/src/caddy/admin-transport-scope.test.ts +2 -2
  573. package/src/caddy/admin.ts +1 -1
  574. package/src/caddy/caddy-http-client.ts +5 -5
  575. package/src/caddy/config-adopt.test.ts +2 -2
  576. package/src/caddy/format.ts +2 -2
  577. package/src/caddy/local-admin.test.ts +1 -1
  578. package/src/ceph/auth-entity.ts +1 -1
  579. package/src/ceph/ceph-auth-reconcile.ts +1 -1
  580. package/src/cloudflare/fake-mesh.ts +1 -1
  581. package/src/cloudflare/fake-r2-lock.ts +1 -1
  582. package/src/cloudflare/mesh-node-harness.ts +1 -1
  583. package/src/cloudflare/mesh-node.ts +1 -1
  584. package/src/cloudflare/r2-bucket-lock.ts +1 -1
  585. package/src/discord/fake-discord.ts +1 -1
  586. package/src/discord/resource.ts +1 -1
  587. package/src/forgejo/fake-forgejo.ts +1 -1
  588. package/src/forgejo/resource.ts +1 -1
  589. package/src/google-workspace/fake-google-workspace.ts +1 -1
  590. package/src/google-workspace/resource.ts +1 -1
  591. package/src/grafana/fake-grafana.ts +1 -1
  592. package/src/litellm/access-group.test.ts +1 -1
  593. package/src/litellm/credential-errors.ts +1 -1
  594. package/src/litellm/credential-guards.test.ts +1 -1
  595. package/src/litellm/credential-operations.ts +1 -1
  596. package/src/litellm/credential-rewrite.test.ts +1 -1
  597. package/src/litellm/fake-stack.ts +1 -1
  598. package/src/litellm/key-errors.ts +1 -1
  599. package/src/litellm/key-harness.ts +1 -1
  600. package/src/litellm/key-operations.ts +1 -1
  601. package/src/litellm/key.test.ts +2 -1
  602. package/src/litellm/mcp-server-handlers.test.ts +1 -1
  603. package/src/litellm/mcp-server-registry.test.ts +1 -1
  604. package/src/litellm/model-operations.test.ts +1 -1
  605. package/src/litellm/operations.ts +1 -1
  606. package/src/litellm/pass-through-endpoint-delete-swallow.test.ts +1 -1
  607. package/src/litellm/pass-through-endpoint.test.ts +1 -1
  608. package/src/litellm/pass-through-fetch-client.test.ts +2 -2
  609. package/src/litellm/policy-attachment.test.ts +1 -1
  610. package/src/litellm/policy.test.ts +1 -1
  611. package/src/litellm/team-members.test.ts +1 -1
  612. package/src/litellm/team-read.test.ts +1 -1
  613. package/src/litellm/tool-policy.test.ts +1 -1
  614. package/src/litellm/toolset.test.ts +1 -1
  615. package/src/netbox/fake-netbox.ts +1 -1
  616. package/src/netbox/resource.ts +1 -1
  617. package/src/openbao/adopt-core.test.ts +4 -1
  618. package/src/openbao/adopt-families.test.ts +4 -1
  619. package/src/openbao/adopt-holes.test.ts +1 -1
  620. package/src/openbao/adopt-recovery.test.ts +24 -0
  621. package/src/openbao/approle-login.ts +2 -2
  622. package/src/openbao/auth-method-reconcile.ts +1 -1
  623. package/src/openbao/auth-method.ts +1 -1
  624. package/src/openbao/auth-role-sdk.test.ts +1 -1
  625. package/src/openbao/auth-role.ts +1 -1
  626. package/src/openbao/bao-http.test.ts +3 -3
  627. package/src/openbao/bao-http.ts +4 -4
  628. package/src/openbao/bao-identity.ts +2 -2
  629. package/src/openbao/cloudflare-permission-groups.ts +1 -1
  630. package/src/openbao/cloudflare-role-wire.ts +1 -1
  631. package/src/openbao/cloudflare-role.ts +1 -1
  632. package/src/openbao/distilled-retry.test.ts +3 -3
  633. package/src/openbao/distilled.test.ts +3 -3
  634. package/src/openbao/distilled.ts +2 -2
  635. package/src/openbao/fake-bao.ts +2 -2
  636. package/src/openbao/fake-core.ts +1 -1
  637. package/src/openbao/fake-engines.ts +1 -1
  638. package/src/openbao/fake-families.ts +1 -1
  639. package/src/openbao/fake-stack.ts +13 -3
  640. package/src/openbao/jwt-config.ts +1 -1
  641. package/src/openbao/jwt-role.ts +1 -1
  642. package/src/openbao/kubernetes-role.ts +1 -1
  643. package/src/openbao/mfa-enforcement.ts +1 -1
  644. package/src/openbao/mfa-totp.ts +1 -1
  645. package/src/openbao/mfa-wire.ts +1 -1
  646. package/src/openbao/mount-move.ts +1 -1
  647. package/src/openbao/mount-reconcile.ts +1 -1
  648. package/src/openbao/mount.ts +1 -1
  649. package/src/openbao/pki-role.ts +1 -1
  650. package/src/openbao/plugin-reconcile.ts +1 -1
  651. package/src/openbao/plugin-wire.ts +1 -1
  652. package/src/openbao/plugin.ts +1 -1
  653. package/src/openbao/policy.ts +1 -1
  654. package/src/openbao/proxmox-role.ts +1 -1
  655. package/src/openbao/remount-wire.ts +1 -1
  656. package/src/openbao/rename-occupied.test.ts +1 -1
  657. package/src/openbao/role-reconcile.ts +1 -1
  658. package/src/openbao/role-rename.test.ts +1 -1
  659. package/src/openbao/ssh-role.ts +1 -1
  660. package/src/opnsense/fake-opnsense.ts +1 -1
  661. package/src/opnsense/resource.ts +1 -1
  662. package/src/ownership/probe.ts +51 -2
  663. package/src/paperless/fake-paperless.ts +1 -1
  664. package/src/paperless/matching-types.ts +1 -1
  665. package/src/postgres/connection.ts +11 -15
  666. package/src/postgres/database-bigint-serialization.test.ts +3 -3
  667. package/src/postgres/database-sql.ts +7 -7
  668. package/src/postgres/database.ts +1 -1
  669. package/src/postgres/fake-grants-read.ts +4 -4
  670. package/src/postgres/fake-grants-sql.ts +1 -1
  671. package/src/postgres/fake-grants-write.ts +1 -1
  672. package/src/postgres/fake-role-sql.ts +3 -3
  673. package/src/postgres/fake-schema-drop.ts +75 -0
  674. package/src/postgres/fake-schema-sql.ts +11 -2
  675. package/src/postgres/fake-sql.ts +11 -4
  676. package/src/postgres/grants-database.test.ts +5 -5
  677. package/src/postgres/grants-existence.ts +8 -8
  678. package/src/postgres/grants-ops.ts +1 -1
  679. package/src/postgres/grants-ownership.ts +6 -6
  680. package/src/postgres/grants-psql-lifecycle.test.ts +7 -3
  681. package/src/postgres/grants-read-defaults.ts +6 -6
  682. package/src/postgres/grants-read.ts +17 -17
  683. package/src/postgres/grants-relkind-wire.test.ts +6 -4
  684. package/src/postgres/index.ts +2 -0
  685. package/src/postgres/installed-classifier.ts +1 -1
  686. package/src/postgres/psql-executor-escaping.test.ts +3 -1
  687. package/src/postgres/psql-executor.test.ts +11 -5
  688. package/src/postgres/psql-executor.ts +5 -7
  689. package/src/postgres/role-adopt.test.ts +3 -1
  690. package/src/postgres/role-membership-options.test.ts +3 -1
  691. package/src/postgres/role-membership-repair.test.ts +3 -3
  692. package/src/postgres/role-membership-sql.ts +5 -5
  693. package/src/postgres/role-password-transports.test.ts +6 -4
  694. package/src/postgres/role-sql.ts +2 -2
  695. package/src/postgres/role.ts +1 -1
  696. package/src/postgres/schema-assert.ts +1 -1
  697. package/src/postgres/schema-closure-sql.ts +108 -0
  698. package/src/postgres/schema-delete-proofs.test.ts +7 -7
  699. package/src/postgres/schema-delete.ts +89 -47
  700. package/src/postgres/schema-drop-2bp01.test.ts +30 -18
  701. package/src/postgres/schema-drop-real.test.ts +190 -0
  702. package/src/postgres/schema-drop-sql.ts +135 -0
  703. package/src/postgres/schema-drop.test.ts +241 -0
  704. package/src/postgres/schema-errors.ts +26 -0
  705. package/src/postgres/schema-handlers.test.ts +21 -14
  706. package/src/postgres/schema-lifecycle.test.ts +6 -60
  707. package/src/postgres/schema-reconcile.ts +1 -1
  708. package/src/postgres/schema-sequence-error.ts +38 -0
  709. package/src/postgres/schema-socket.test.ts +20 -6
  710. package/src/postgres/schema-sql.ts +17 -12
  711. package/src/postgres/schema-takeover.test.ts +7 -4
  712. package/src/postgres/schema-test-kit.ts +18 -4
  713. package/src/postgres/search-path.test.ts +100 -0
  714. package/src/postgres/search-path.ts +62 -0
  715. package/src/proxmox/ceph-flag-wire.test.ts +1 -1
  716. package/src/proxmox/ceph-fs-destroy-sdk.test.ts +1 -1
  717. package/src/proxmox/ceph-pool-write.test.ts +1 -1
  718. package/src/proxmox/client.test.ts +2 -2
  719. package/src/proxmox/client.ts +2 -2
  720. package/src/proxmox/credentials.test.ts +1 -1
  721. package/src/proxmox/distilled-pbs.test.ts +1 -1
  722. package/src/proxmox/distilled-pbs.ts +1 -1
  723. package/src/proxmox/distilled-pve.test.ts +2 -2
  724. package/src/proxmox/distilled-pve.ts +1 -1
  725. package/src/proxmox/fake-pbs-jobs.ts +1 -1
  726. package/src/proxmox/fake-pve.ts +1 -1
  727. package/src/proxmox/lease-cache-mint.test.ts +1 -1
  728. package/src/proxmox/live-core-fixtures.ts +1 -1
  729. package/src/proxmox/lxc-distilled.test.ts +1 -1
  730. package/src/proxmox/lxc-harness.ts +1 -1
  731. package/src/proxmox/members-timeout.test.ts +3 -3
  732. package/src/proxmox/members.test.ts +1 -1
  733. package/src/proxmox/members.ts +4 -4
  734. package/src/proxmox/mint.ts +4 -4
  735. package/src/proxmox/node-network-read-failure.test.ts +1 -1
  736. package/src/proxmox/qemu-lifecycle.ts +1 -1
  737. package/src/proxmox/read-failure-propagation.test.ts +1 -1
  738. package/src/proxmox/resource-spec.ts +1 -1
  739. package/src/proxmox/storage-read-failure.test.ts +1 -1
  740. package/src/proxmox/typed-absence.test.ts +2 -2
  741. package/src/proxmox/unreadable-read.test.ts +1 -1
  742. package/src/proxmox/user.test.ts +1 -1
  743. package/src/proxmox/zfs-pool-read-failure.test.ts +1 -1
  744. package/src/release/adopt-parity.test.ts +3 -1
  745. package/src/release/apply-pins.test.ts +2 -2
  746. package/src/release/binary-root.test.ts +2 -2
  747. package/src/release/binary.ts +9 -2
  748. package/src/release/download.test.ts +3 -3
  749. package/src/release/download.ts +1 -1
  750. package/src/release/fake-deploy.ts +2 -2
  751. package/src/release/fake-engine.ts +2 -2
  752. package/src/release/fake-provider.ts +2 -2
  753. package/src/release/plan.test.ts +2 -2
  754. package/src/release/providers.ts +1 -1
  755. package/src/talos/credentials-write.test.ts +1 -1
  756. package/src/talos/credentials-write.ts +2 -2
  757. package/src/talos/credentials.test.ts +1 -1
  758. package/src/talos/credentials.ts +2 -2
  759. package/src/talos/fake-process.ts +2 -2
  760. package/src/talos/kubeconfig.test.ts +1 -1
  761. package/src/talos/machine-config-fixtures.ts +1 -1
  762. package/src/talos/resource.ts +1 -1
  763. package/src/talos/talos-bootstrap.test.ts +1 -1
  764. package/src/talos/talos-cluster-health.test.ts +1 -1
  765. package/src/talos/talosctl.ts +2 -2
  766. package/src/telemetry/http-client-sealing.test.ts +2 -2
  767. package/src/telemetry/layer.test.ts +3 -3
  768. package/src/telemetry/layer.ts +2 -2
  769. package/src/telemetry/redact-serialization.ts +2 -2
  770. package/src/unifi/fake-unifi.ts +1 -1
  771. package/src/unifi/get-only-guard.test.ts +3 -3
  772. package/src/unifi/resource.ts +1 -1
  773. package/src/verify/args.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"org-label.d.ts","sourceRoot":"","sources":["../../src/forgejo/org-label.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,YAAY,MAAM,uCAAuC,CAAC;AACtE,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,WAAW,EAAmB,MAAM,eAAe,CAAC;AAG5F,MAAM,WAAW,aAAa;IAC5B,8EAA8E;IAC9E,GAAG,EAAE,MAAM,CAAC;IACZ,gEAAgE;IAChE,IAAI,EAAE,MAAM,CAAC;IACb,0CAA0C;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,eAAgB,SAAQ,QAAQ,CAC/C,kBAAkB,EAClB,aAAa,EACb,kBAAkB,EAClB,KAAK,EACL,mBAAmB,CACpB;CAAG;AAEJ,eAAO,MAAM,eAAe,kDAE1B,CAAC;AAEH,mGAAmG;AACnG,eAAO,MAAM,IAAI,EAAE,WAAW,CAC5B,aAAa,EACb,YAAY,CAAC,KAAK,EAClB,kBAAkB,EAChB,YAAY,CAAC,mBAAmB,GAChC,YAAY,CAAC,iBAAiB,GAC9B,YAAY,CAAC,mBAAmB,GAChC,YAAY,CAAC,kBAAkB,CAoClC,CAAC;AAEF,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;CAAwB,CAAC;AAE9C,eAAO,MAAM,uBAAuB,qIACqD,CAAC"}
1
+ {"version":3,"file":"org-label.d.ts","sourceRoot":"","sources":["../../src/forgejo/org-label.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,YAAY,MAAM,uCAAuC,CAAC;AACtE,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,WAAW,EAAmB,MAAM,eAAe,CAAC;AAG5F,MAAM,WAAW,aAAa;IAC5B,8EAA8E;IAC9E,GAAG,EAAE,MAAM,CAAC;IACZ,gEAAgE;IAChE,IAAI,EAAE,MAAM,CAAC;IACb,0CAA0C;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,eAAgB,SAAQ,QAAQ,CAC/C,kBAAkB,EAClB,aAAa,EACb,kBAAkB,EAClB,KAAK,EACL,mBAAmB,CACpB;CAAG;AAEJ,eAAO,MAAM,eAAe,kDAE1B,CAAC;AAEH,mGAAmG;AACnG,eAAO,MAAM,IAAI,EAAE,WAAW,CAC5B,aAAa,EACb,YAAY,CAAC,KAAK,EAClB,kBAAkB,EAChB,YAAY,CAAC,mBAAmB,GAChC,YAAY,CAAC,iBAAiB,GAC9B,YAAY,CAAC,mBAAmB,GAChC,YAAY,CAAC,kBAAkB,CAoClC,CAAC;AAEF,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;CAAwB,CAAC;AAE9C,eAAO,MAAM,uBAAuB,4HACqD,CAAC"}
@@ -53,7 +53,7 @@ export declare const handlers: {
53
53
  list: () => Effect.Effect<never[], never, never>;
54
54
  read: ({ olds }: {
55
55
  olds: OrgTeamProps;
56
- }) => Effect.Effect<OrgTeamAttributes | undefined, import("@distilled.cloud/caddy").BadGateway | import("@distilled.cloud/caddy").ConfigError | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | organization.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError | organization.UnprocessableEntity, import("effect/unstable/http/HttpClient").HttpClient>;
56
+ }) => Effect.Effect<OrgTeamAttributes | undefined, import("@distilled.cloud/caddy").BadGateway | import("@distilled.cloud/caddy").ConfigError | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | organization.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError | organization.UnprocessableEntity, import("effect/http/HttpClient").HttpClient>;
57
57
  diff: ({ news, output }: {
58
58
  news: import("alchemy").Input<OrgTeamProps>;
59
59
  output: OrgTeamAttributes | undefined;
@@ -63,13 +63,13 @@ export declare const handlers: {
63
63
  readonly action: 'noop';
64
64
  } | {
65
65
  readonly action: 'replace';
66
- } | undefined, import("@distilled.cloud/caddy").BadGateway | import("@distilled.cloud/caddy").ConfigError | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | organization.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError | organization.UnprocessableEntity, import("effect/unstable/http/HttpClient").HttpClient>;
66
+ } | undefined, import("@distilled.cloud/caddy").BadGateway | import("@distilled.cloud/caddy").ConfigError | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | organization.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError | organization.UnprocessableEntity, import("effect/http/HttpClient").HttpClient>;
67
67
  reconcile: ({ news }: {
68
68
  news: OrgTeamProps;
69
- }) => Effect.Effect<OrgTeamAttributes, import("@distilled.cloud/caddy").BadGateway | import("@distilled.cloud/caddy").ConfigError | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | organization.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError | organization.UnprocessableEntity, import("effect/unstable/http/HttpClient").HttpClient>;
69
+ }) => Effect.Effect<OrgTeamAttributes, import("@distilled.cloud/caddy").BadGateway | import("@distilled.cloud/caddy").ConfigError | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | organization.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError | organization.UnprocessableEntity, import("effect/http/HttpClient").HttpClient>;
70
70
  delete: ({ olds }: {
71
71
  olds: OrgTeamProps;
72
- }) => Effect.Effect<void, import("@distilled.cloud/caddy").BadGateway | import("@distilled.cloud/caddy").ConfigError | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | organization.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError | organization.UnprocessableEntity, import("effect/unstable/http/HttpClient").HttpClient>;
72
+ }) => Effect.Effect<void, import("@distilled.cloud/caddy").BadGateway | import("@distilled.cloud/caddy").ConfigError | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | organization.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError | organization.UnprocessableEntity, import("effect/http/HttpClient").HttpClient>;
73
73
  };
74
- export declare const ForgejoOrgTeamProvider: () => import("effect/Layer").Layer<Provider.Provider<ForgejoOrgTeam>, never, import("effect/unstable/http/HttpClient").HttpClient>;
74
+ export declare const ForgejoOrgTeamProvider: () => import("effect/Layer").Layer<Provider.Provider<ForgejoOrgTeam>, never, import("effect/http/HttpClient").HttpClient>;
75
75
  //# sourceMappingURL=org-team.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"org-team.d.ts","sourceRoot":"","sources":["../../src/forgejo/org-team.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,YAAY,MAAM,uCAAuC,CAAC;AACtE,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,WAAW,EAAmB,MAAM,eAAe,CAAC;AAG5F,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAExD,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,+DAA+D;IAC/D,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,cAAc,CAAC;IAC3B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,uBAAuB,EAAE,OAAO,CAAC;IACjC,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,cAAe,SAAQ,QAAQ,CAC9C,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,KAAK,EACL,mBAAmB,CACpB;CAAG;AAEJ,eAAO,MAAM,cAAc,iDAA8C,CAAC;AAY1E,mGAAmG;AACnG,eAAO,MAAM,IAAI,EAAE,WAAW,CAC5B,YAAY,EACZ,YAAY,CAAC,IAAI,EACjB,iBAAiB,EACf,YAAY,CAAC,kBAAkB,GAC/B,YAAY,CAAC,gBAAgB,GAC7B,YAAY,CAAC,kBAAkB,GAC/B,YAAY,CAAC,iBAAiB,CAiCjC,CAAC;AAEF,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;CAAwB,CAAC;AAE9C,eAAO,MAAM,sBAAsB,oIACoD,CAAC"}
1
+ {"version":3,"file":"org-team.d.ts","sourceRoot":"","sources":["../../src/forgejo/org-team.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,YAAY,MAAM,uCAAuC,CAAC;AACtE,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,WAAW,EAAmB,MAAM,eAAe,CAAC;AAG5F,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAExD,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,+DAA+D;IAC/D,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,cAAc,CAAC;IAC3B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,uBAAuB,EAAE,OAAO,CAAC;IACjC,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,cAAe,SAAQ,QAAQ,CAC9C,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,KAAK,EACL,mBAAmB,CACpB;CAAG;AAEJ,eAAO,MAAM,cAAc,iDAA8C,CAAC;AAY1E,mGAAmG;AACnG,eAAO,MAAM,IAAI,EAAE,WAAW,CAC5B,YAAY,EACZ,YAAY,CAAC,IAAI,EACjB,iBAAiB,EACf,YAAY,CAAC,kBAAkB,GAC/B,YAAY,CAAC,gBAAgB,GAC7B,YAAY,CAAC,kBAAkB,GAC/B,YAAY,CAAC,iBAAiB,CAiCjC,CAAC;AAEF,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;CAAwB,CAAC;AAE9C,eAAO,MAAM,sBAAsB,2HACoD,CAAC"}
@@ -56,7 +56,7 @@ export declare const handlers: {
56
56
  list: () => Effect.Effect<never[], never, never>;
57
57
  read: ({ olds }: {
58
58
  olds: RepoWebhookProps;
59
- }) => Effect.Effect<RepoWebhookAttributes | undefined, import("@distilled.cloud/caddy").BadGateway | import("@distilled.cloud/caddy").ConfigError | repository.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | repository.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError, import("effect/unstable/http/HttpClient").HttpClient>;
59
+ }) => Effect.Effect<RepoWebhookAttributes | undefined, import("@distilled.cloud/caddy").BadGateway | import("@distilled.cloud/caddy").ConfigError | repository.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | repository.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError, import("effect/http/HttpClient").HttpClient>;
60
60
  diff: ({ news, output }: {
61
61
  news: import("alchemy").Input<RepoWebhookProps>;
62
62
  output: RepoWebhookAttributes | undefined;
@@ -66,13 +66,13 @@ export declare const handlers: {
66
66
  readonly action: 'noop';
67
67
  } | {
68
68
  readonly action: 'replace';
69
- } | undefined, import("@distilled.cloud/caddy").BadGateway | import("@distilled.cloud/caddy").ConfigError | repository.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | repository.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError, import("effect/unstable/http/HttpClient").HttpClient>;
69
+ } | undefined, import("@distilled.cloud/caddy").BadGateway | import("@distilled.cloud/caddy").ConfigError | repository.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | repository.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError, import("effect/http/HttpClient").HttpClient>;
70
70
  reconcile: ({ news }: {
71
71
  news: RepoWebhookProps;
72
- }) => Effect.Effect<RepoWebhookAttributes, import("@distilled.cloud/caddy").BadGateway | import("@distilled.cloud/caddy").ConfigError | repository.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | repository.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError, import("effect/unstable/http/HttpClient").HttpClient>;
72
+ }) => Effect.Effect<RepoWebhookAttributes, import("@distilled.cloud/caddy").BadGateway | import("@distilled.cloud/caddy").ConfigError | repository.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | repository.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError, import("effect/http/HttpClient").HttpClient>;
73
73
  delete: ({ olds }: {
74
74
  olds: RepoWebhookProps;
75
- }) => Effect.Effect<void, import("@distilled.cloud/caddy").BadGateway | import("@distilled.cloud/caddy").ConfigError | repository.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | repository.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError, import("effect/unstable/http/HttpClient").HttpClient>;
75
+ }) => Effect.Effect<void, import("@distilled.cloud/caddy").BadGateway | import("@distilled.cloud/caddy").ConfigError | repository.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | repository.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError, import("effect/http/HttpClient").HttpClient>;
76
76
  };
77
- export declare const ForgejoRepoWebhookProvider: () => import("effect/Layer").Layer<Provider.Provider<ForgejoRepoWebhook>, never, import("effect/unstable/http/HttpClient").HttpClient>;
77
+ export declare const ForgejoRepoWebhookProvider: () => import("effect/Layer").Layer<Provider.Provider<ForgejoRepoWebhook>, never, import("effect/http/HttpClient").HttpClient>;
78
78
  //# sourceMappingURL=repo-webhook.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"repo-webhook.d.ts","sourceRoot":"","sources":["../../src/forgejo/repo-webhook.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,UAAU,MAAM,qCAAqC,CAAC;AAClE,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,WAAW,EAAmB,MAAM,eAAe,CAAC;AAG5F,MAAM,MAAM,eAAe,GACvB,UAAU,GACV,SAAS,GACT,QAAQ,GACR,SAAS,GACT,OAAO,GACP,MAAM,GACN,SAAS,GACT,WAAW,GACX,OAAO,GACP,UAAU,GACV,YAAY,CAAC;AAEjB,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,oGAAoG;IACpG,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,eAAe,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,eAAe,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,kBAAmB,SAAQ,QAAQ,CAClD,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,EACrB,KAAK,EACL,mBAAmB,CACpB;CAAG;AAEJ,eAAO,MAAM,kBAAkB,qDAAsD,CAAC;AAEtF,mGAAmG;AACnG,eAAO,MAAM,IAAI,EAAE,WAAW,CAC5B,gBAAgB,EAChB,UAAU,CAAC,IAAI,EACf,qBAAqB,EACnB,UAAU,CAAC,mBAAmB,GAC9B,UAAU,CAAC,iBAAiB,GAC5B,UAAU,CAAC,mBAAmB,GAC9B,UAAU,CAAC,kBAAkB,CA2DhC,CAAC;AAEF,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;CAAwB,CAAC;AAE9C,eAAO,MAAM,0BAA0B,wIACwD,CAAC"}
1
+ {"version":3,"file":"repo-webhook.d.ts","sourceRoot":"","sources":["../../src/forgejo/repo-webhook.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,UAAU,MAAM,qCAAqC,CAAC;AAClE,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,WAAW,EAAmB,MAAM,eAAe,CAAC;AAG5F,MAAM,MAAM,eAAe,GACvB,UAAU,GACV,SAAS,GACT,QAAQ,GACR,SAAS,GACT,OAAO,GACP,MAAM,GACN,SAAS,GACT,WAAW,GACX,OAAO,GACP,UAAU,GACV,YAAY,CAAC;AAEjB,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,oGAAoG;IACpG,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,eAAe,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,eAAe,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,kBAAmB,SAAQ,QAAQ,CAClD,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,EACrB,KAAK,EACL,mBAAmB,CACpB;CAAG;AAEJ,eAAO,MAAM,kBAAkB,qDAAsD,CAAC;AAEtF,mGAAmG;AACnG,eAAO,MAAM,IAAI,EAAE,WAAW,CAC5B,gBAAgB,EAChB,UAAU,CAAC,IAAI,EACf,qBAAqB,EACnB,UAAU,CAAC,mBAAmB,GAC9B,UAAU,CAAC,iBAAiB,GAC5B,UAAU,CAAC,mBAAmB,GAC9B,UAAU,CAAC,kBAAkB,CA2DhC,CAAC;AAEF,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;CAAwB,CAAC;AAE9C,eAAO,MAAM,0BAA0B,+HACwD,CAAC"}
@@ -68,7 +68,7 @@ export declare const handlers: {
68
68
  list: () => Effect.Effect<never[], never, never>;
69
69
  read: ({ olds }: {
70
70
  olds: RepositoryProps;
71
- }) => Effect.Effect<RepositoryAttributes | undefined, import("@distilled.cloud/caddy").BadGateway | organization.BadRequest | import("@distilled.cloud/caddy").ConfigError | organization.Conflict | repository.Forbidden | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | repository.NotFound | organization.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError | repository.UnprocessableEntity, import("effect/unstable/http/HttpClient").HttpClient>;
71
+ }) => Effect.Effect<RepositoryAttributes | undefined, import("@distilled.cloud/caddy").BadGateway | organization.BadRequest | import("@distilled.cloud/caddy").ConfigError | organization.Conflict | repository.Forbidden | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | repository.NotFound | organization.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError | repository.UnprocessableEntity, import("effect/http/HttpClient").HttpClient>;
72
72
  diff: ({ news, output }: {
73
73
  news: import("alchemy").Input<RepositoryProps>;
74
74
  output: RepositoryAttributes | undefined;
@@ -78,13 +78,13 @@ export declare const handlers: {
78
78
  readonly action: 'noop';
79
79
  } | {
80
80
  readonly action: 'replace';
81
- } | undefined, import("@distilled.cloud/caddy").BadGateway | organization.BadRequest | import("@distilled.cloud/caddy").ConfigError | organization.Conflict | repository.Forbidden | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | repository.NotFound | organization.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError | repository.UnprocessableEntity, import("effect/unstable/http/HttpClient").HttpClient>;
81
+ } | undefined, import("@distilled.cloud/caddy").BadGateway | organization.BadRequest | import("@distilled.cloud/caddy").ConfigError | organization.Conflict | repository.Forbidden | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | repository.NotFound | organization.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError | repository.UnprocessableEntity, import("effect/http/HttpClient").HttpClient>;
82
82
  reconcile: ({ news }: {
83
83
  news: RepositoryProps;
84
- }) => Effect.Effect<RepositoryAttributes, import("@distilled.cloud/caddy").BadGateway | organization.BadRequest | import("@distilled.cloud/caddy").ConfigError | organization.Conflict | repository.Forbidden | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | repository.NotFound | organization.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError | repository.UnprocessableEntity, import("effect/unstable/http/HttpClient").HttpClient>;
84
+ }) => Effect.Effect<RepositoryAttributes, import("@distilled.cloud/caddy").BadGateway | organization.BadRequest | import("@distilled.cloud/caddy").ConfigError | organization.Conflict | repository.Forbidden | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | repository.NotFound | organization.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError | repository.UnprocessableEntity, import("effect/http/HttpClient").HttpClient>;
85
85
  delete: ({ olds }: {
86
86
  olds: RepositoryProps;
87
- }) => Effect.Effect<void, import("@distilled.cloud/caddy").BadGateway | organization.BadRequest | import("@distilled.cloud/caddy").ConfigError | organization.Conflict | repository.Forbidden | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | repository.NotFound | organization.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError | repository.UnprocessableEntity, import("effect/unstable/http/HttpClient").HttpClient>;
87
+ }) => Effect.Effect<void, import("@distilled.cloud/caddy").BadGateway | organization.BadRequest | import("@distilled.cloud/caddy").ConfigError | organization.Conflict | repository.Forbidden | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | repository.NotFound | organization.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError | repository.UnprocessableEntity, import("effect/http/HttpClient").HttpClient>;
88
88
  };
89
- export declare const ForgejoRepositoryProvider: () => import("effect/Layer").Layer<Provider.Provider<ForgejoRepository>, never, import("effect/unstable/http/HttpClient").HttpClient>;
89
+ export declare const ForgejoRepositoryProvider: () => import("effect/Layer").Layer<Provider.Provider<ForgejoRepository>, never, import("effect/http/HttpClient").HttpClient>;
90
90
  //# sourceMappingURL=repository.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../../src/forgejo/repository.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,YAAY,MAAM,uCAAuC,CAAC;AACtE,OAAO,KAAK,UAAU,MAAM,qCAAqC,CAAC;AAClE,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,WAAW,EAAmB,MAAM,eAAe,CAAC;AAE5F,MAAM,WAAW,eAAe;IAC9B,gEAAgE;IAChE,GAAG,EAAE,MAAM,CAAC;IACZ,gEAAgE;IAChE,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,wEAAwE;IACxE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,iBAAkB,SAAQ,QAAQ,CACjD,oBAAoB,EACpB,eAAe,EACf,oBAAoB,EACpB,KAAK,EACL,mBAAmB,CACpB;CAAG;AAEJ,eAAO,MAAM,iBAAiB,oDAE5B,CAAC;AAWH;;;;;;;;GAQG;AACH,eAAO,MAAM,IAAI,EAAE,WAAW,CAC5B,eAAe,EACf,UAAU,CAAC,UAAU,EACrB,oBAAoB,EAClB,YAAY,CAAC,kBAAkB,GAC/B,UAAU,CAAC,YAAY,GACvB,UAAU,CAAC,aAAa,GACxB,UAAU,CAAC,eAAe,CA+C7B,CAAC;AAEF,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;CAAwB,CAAC;AAE9C,eAAO,MAAM,yBAAyB,uIACuD,CAAC"}
1
+ {"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../../src/forgejo/repository.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,YAAY,MAAM,uCAAuC,CAAC;AACtE,OAAO,KAAK,UAAU,MAAM,qCAAqC,CAAC;AAClE,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,WAAW,EAAmB,MAAM,eAAe,CAAC;AAE5F,MAAM,WAAW,eAAe;IAC9B,gEAAgE;IAChE,GAAG,EAAE,MAAM,CAAC;IACZ,gEAAgE;IAChE,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,wEAAwE;IACxE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,iBAAkB,SAAQ,QAAQ,CACjD,oBAAoB,EACpB,eAAe,EACf,oBAAoB,EACpB,KAAK,EACL,mBAAmB,CACpB;CAAG;AAEJ,eAAO,MAAM,iBAAiB,oDAE5B,CAAC;AAWH;;;;;;;;GAQG;AACH,eAAO,MAAM,IAAI,EAAE,WAAW,CAC5B,eAAe,EACf,UAAU,CAAC,UAAU,EACrB,oBAAoB,EAClB,YAAY,CAAC,kBAAkB,GAC/B,UAAU,CAAC,YAAY,GACvB,UAAU,CAAC,aAAa,GACxB,UAAU,CAAC,eAAe,CA+C7B,CAAC;AAEF,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;CAAwB,CAAC;AAE9C,eAAO,MAAM,yBAAyB,8HACuD,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import type { Input } from 'alchemy/Input';
2
2
  import type { ForgejoOpContext } from '@distilled.cloud/forgejo/Protocol';
3
3
  import * as Effect from 'effect/Effect';
4
- import type * as HttpClient from 'effect/unstable/http/HttpClient';
4
+ import type * as HttpClient from 'effect/http/HttpClient';
5
5
  /**
6
6
  * ★ WHAT EVERY HANDLER NEEDS FROM THE CALLER'S RUNTIME, after Credentials are provided below.
7
7
  * `Forgejo.ForgejoOpContext` is `Credentials | HttpClient.HttpClient`; `forgejoHandlers` closes
@@ -1 +1 @@
1
- {"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../src/forgejo/resource.ts"],"names":[],"mappings":"AAuCA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,UAAU,MAAM,iCAAiC,CAAC;AAEnE;;;;;;GAMG;AACH,MAAM,MAAM,mBAAmB,GAAG,UAAU,CAAC,UAAU,CAAC;AAExD;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW,CAAC,KAAK,SAAS,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,IAAI;IACnE,qGAAqG;IACrG,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,SAAS,EAAE,CAAC,EAAE,gBAAgB,CAAC,CAAC;IAC3F,QAAQ,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,KAAK,UAAU,GAAG,SAAS,CAAC;IAC1E,QAAQ,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC;IACpE,0GAA0G;IAC1G,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,gBAAgB,CAAC,CAAC;IAChF,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,gBAAgB,CAAC,CAAC;IAC5F;;;;OAIG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,CAChB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,IAAI,GAAG,SAAS,KACrB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,gBAAgB,CAAC,CAAC;IAC9C,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,gBAAgB,CAAC,CAAC;CAC7F,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,KAAK,SAAS,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,QACnE,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;kBAExB,KAAK;iBAQX,KAAK,CAAC,KAAK,CAAC,UAAU,UAAU,GAAG,SAAS;yBAIZ,QAAQ;;yBACF,MAAM;;yBAEtC,SAAS;;sBAIV,KAAK;oBAgCP,KAAK;CAOxB,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,eAAe,GAAI,KAAK,SAAS,MAAM,EAAE,IAAI,EAAE,UAAU,SAAS,MAAM,EAAE,CAAC,QAChF,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;IAM3C,IAAI;IACJ,IAAI,aAAa;QAAE,IAAI,EAAE,KAAK,CAAA;KAAE;IAChC,IAAI,qBAAqB;QAAE,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAAC,MAAM,EAAE,UAAU,GAAG,SAAS,CAAA;KAAE;yBArElC,QAAQ;;yBACF,MAAM;;yBAEtC,SAAS;;IAoE5B,SAAS,aAAa;QAAE,IAAI,EAAE,KAAK,CAAA;KAAE;IACrC,MAAM,aAAa;QAAE,IAAI,EAAE,KAAK,CAAA;KAAE;CAErC,CAAC"}
1
+ {"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../src/forgejo/resource.ts"],"names":[],"mappings":"AAuCA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,UAAU,MAAM,wBAAwB,CAAC;AAE1D;;;;;;GAMG;AACH,MAAM,MAAM,mBAAmB,GAAG,UAAU,CAAC,UAAU,CAAC;AAExD;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW,CAAC,KAAK,SAAS,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,IAAI;IACnE,qGAAqG;IACrG,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,SAAS,EAAE,CAAC,EAAE,gBAAgB,CAAC,CAAC;IAC3F,QAAQ,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,KAAK,UAAU,GAAG,SAAS,CAAC;IAC1E,QAAQ,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC;IACpE,0GAA0G;IAC1G,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,gBAAgB,CAAC,CAAC;IAChF,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,gBAAgB,CAAC,CAAC;IAC5F;;;;OAIG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,CAChB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,IAAI,GAAG,SAAS,KACrB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,gBAAgB,CAAC,CAAC;IAC9C,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,gBAAgB,CAAC,CAAC;CAC7F,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,KAAK,SAAS,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,QACnE,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;kBAExB,KAAK;iBAQX,KAAK,CAAC,KAAK,CAAC,UAAU,UAAU,GAAG,SAAS;yBAIZ,QAAQ;;yBACF,MAAM;;yBAEtC,SAAS;;sBAIV,KAAK;oBAgCP,KAAK;CAOxB,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,eAAe,GAAI,KAAK,SAAS,MAAM,EAAE,IAAI,EAAE,UAAU,SAAS,MAAM,EAAE,CAAC,QAChF,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;IAM3C,IAAI;IACJ,IAAI,aAAa;QAAE,IAAI,EAAE,KAAK,CAAA;KAAE;IAChC,IAAI,qBAAqB;QAAE,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAAC,MAAM,EAAE,UAAU,GAAG,SAAS,CAAA;KAAE;yBArElC,QAAQ;;yBACF,MAAM;;yBAEtC,SAAS;;IAoE5B,SAAS,aAAa;QAAE,IAAI,EAAE,KAAK,CAAA;KAAE;IACrC,MAAM,aAAa;QAAE,IAAI,EAAE,KAAK,CAAA;KAAE;CAErC,CAAC"}
@@ -85,7 +85,7 @@ export declare const handlers: {
85
85
  list: () => Effect.Effect<never[], never, never>;
86
86
  read: ({ olds }: {
87
87
  olds: TeamMemberProps;
88
- }) => Effect.Effect<TeamMemberAttributes | undefined, import("@distilled.cloud/caddy").BadGateway | import("@distilled.cloud/caddy").ConfigError | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | ForgejoTeamNotFoundError | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | organization.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError, import("effect/unstable/http/HttpClient").HttpClient>;
88
+ }) => Effect.Effect<TeamMemberAttributes | undefined, import("@distilled.cloud/caddy").BadGateway | import("@distilled.cloud/caddy").ConfigError | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | ForgejoTeamNotFoundError | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | organization.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError, import("effect/http/HttpClient").HttpClient>;
89
89
  diff: ({ news, output }: {
90
90
  news: import("alchemy").Input<TeamMemberProps>;
91
91
  output: TeamMemberAttributes | undefined;
@@ -95,14 +95,14 @@ export declare const handlers: {
95
95
  readonly action: 'noop';
96
96
  } | {
97
97
  readonly action: 'replace';
98
- } | undefined, import("@distilled.cloud/caddy").BadGateway | import("@distilled.cloud/caddy").ConfigError | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | ForgejoTeamNotFoundError | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | organization.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError, import("effect/unstable/http/HttpClient").HttpClient>;
98
+ } | undefined, import("@distilled.cloud/caddy").BadGateway | import("@distilled.cloud/caddy").ConfigError | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | ForgejoTeamNotFoundError | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | organization.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError, import("effect/http/HttpClient").HttpClient>;
99
99
  reconcile: ({ news }: {
100
100
  news: TeamMemberProps;
101
- }) => Effect.Effect<TeamMemberAttributes, import("@distilled.cloud/caddy").BadGateway | import("@distilled.cloud/caddy").ConfigError | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | ForgejoTeamNotFoundError | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | organization.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError, import("effect/unstable/http/HttpClient").HttpClient>;
101
+ }) => Effect.Effect<TeamMemberAttributes, import("@distilled.cloud/caddy").BadGateway | import("@distilled.cloud/caddy").ConfigError | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | ForgejoTeamNotFoundError | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | organization.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError, import("effect/http/HttpClient").HttpClient>;
102
102
  delete: ({ olds }: {
103
103
  olds: TeamMemberProps;
104
- }) => Effect.Effect<void, import("@distilled.cloud/caddy").BadGateway | import("@distilled.cloud/caddy").ConfigError | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | ForgejoTeamNotFoundError | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | organization.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError, import("effect/unstable/http/HttpClient").HttpClient>;
104
+ }) => Effect.Effect<void, import("@distilled.cloud/caddy").BadGateway | import("@distilled.cloud/caddy").ConfigError | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | ForgejoTeamNotFoundError | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | organization.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError, import("effect/http/HttpClient").HttpClient>;
105
105
  };
106
- export declare const ForgejoTeamMemberProvider: () => import("effect/Layer").Layer<Provider.Provider<ForgejoTeamMember>, never, import("effect/unstable/http/HttpClient").HttpClient>;
106
+ export declare const ForgejoTeamMemberProvider: () => import("effect/Layer").Layer<Provider.Provider<ForgejoTeamMember>, never, import("effect/http/HttpClient").HttpClient>;
107
107
  export {};
108
108
  //# sourceMappingURL=team-member.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"team-member.d.ts","sourceRoot":"","sources":["../../src/forgejo/team-member.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,YAAY,MAAM,uCAAuC,CAAC;AAEtE,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,WAAW,EAAmB,MAAM,eAAe,CAAC;AAE5F,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,oDAAoD;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAkB,SAAQ,QAAQ,CACjD,oBAAoB,EACpB,eAAe,EACf,oBAAoB,EACpB,KAAK,EACL,mBAAmB,CACpB;CAAG;AAEJ,eAAO,MAAM,iBAAiB,oDAE5B,CAAC;;;;AAEH,qBAAa,wBAAyB,SAAQ,8BAA6C;IACzF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B,CAAC;CAAG;AAEL,UAAU,cAAc;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAgBD,mGAAmG;AACnG,eAAO,MAAM,IAAI,EAAE,WAAW,CAC5B,eAAe,EACf,cAAc,EACd,oBAAoB,EAClB,YAAY,CAAC,qBAAqB,GAClC,YAAY,CAAC,wBAAwB,GACrC,YAAY,CAAC,sBAAsB,GACnC,YAAY,CAAC,iBAAiB,GAC9B,wBAAwB,CAqB3B,CAAC;AAEF,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;CAAwB,CAAC;AAE9C,eAAO,MAAM,yBAAyB,uIACuD,CAAC"}
1
+ {"version":3,"file":"team-member.d.ts","sourceRoot":"","sources":["../../src/forgejo/team-member.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,YAAY,MAAM,uCAAuC,CAAC;AAEtE,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,WAAW,EAAmB,MAAM,eAAe,CAAC;AAE5F,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,oDAAoD;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAkB,SAAQ,QAAQ,CACjD,oBAAoB,EACpB,eAAe,EACf,oBAAoB,EACpB,KAAK,EACL,mBAAmB,CACpB;CAAG;AAEJ,eAAO,MAAM,iBAAiB,oDAE5B,CAAC;;;;AAEH,qBAAa,wBAAyB,SAAQ,8BAA6C;IACzF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B,CAAC;CAAG;AAEL,UAAU,cAAc;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAgBD,mGAAmG;AACnG,eAAO,MAAM,IAAI,EAAE,WAAW,CAC5B,eAAe,EACf,cAAc,EACd,oBAAoB,EAClB,YAAY,CAAC,qBAAqB,GAClC,YAAY,CAAC,wBAAwB,GACrC,YAAY,CAAC,sBAAsB,GACnC,YAAY,CAAC,iBAAiB,GAC9B,wBAAwB,CAqB3B,CAAC;AAEF,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;CAAwB,CAAC;AAE9C,eAAO,MAAM,yBAAyB,8HACuD,CAAC"}
@@ -38,5 +38,5 @@
38
38
  */
39
39
  import * as GitHub from 'alchemy/GitHub';
40
40
  import * as Layer from 'effect/Layer';
41
- export declare const repoPolicyProviders: (options?: GitHub.ProvidersOptions) => Layer.Layer<import("alchemy/Auth/Credentials").CredentialsStore | GitHub.GitHubCredentials | import("alchemy/Auth/Profile").ProfileStore | import("alchemy").Provider<import("./repository-ruleset.ts").RepositoryRuleset> | GitHub.Providers, never, import("alchemy").AuthProviders | import("effect/unstable/process/ChildProcessSpawner").ChildProcessSpawner | import("effect/FileSystem").FileSystem | import("effect/Path").Path>;
41
+ export declare const repoPolicyProviders: (options?: GitHub.ProvidersOptions) => Layer.Layer<import("alchemy/Auth/Credentials").CredentialsStore | GitHub.GitHubCredentials | import("alchemy/Auth/Profile").ProfileStore | import("alchemy").Provider<import("./repository-ruleset.ts").RepositoryRuleset> | GitHub.Providers, never, import("alchemy").AuthProviders | import("effect/process/ChildProcessSpawner").ChildProcessSpawner | import("effect/FileSystem").FileSystem | import("effect/Path").Path>;
42
42
  //# sourceMappingURL=repository-ruleset-providers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"repository-ruleset-providers.d.ts","sourceRoot":"","sources":["../../src/github/repository-ruleset-providers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AACzC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAGtC,eAAO,MAAM,mBAAmB,aAAc,MAAM,CAAC,gBAAgB,6aAGpE,CAAC"}
1
+ {"version":3,"file":"repository-ruleset-providers.d.ts","sourceRoot":"","sources":["../../src/github/repository-ruleset-providers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AACzC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAGtC,eAAO,MAAM,mBAAmB,aAAc,MAAM,CAAC,gBAAgB,oaAGpE,CAAC"}
@@ -52,7 +52,7 @@ export declare const handlers: {
52
52
  list: () => Effect.Effect<never[], never, never>;
53
53
  read: ({ olds }: {
54
54
  olds: DomainAliasProps;
55
- }) => Effect.Effect<DomainAliasAttributes | undefined, import("@distilled.cloud/caddy").BadGateway | directory.BadRequest | directory.Conflict | directory.Forbidden | import("@distilled.cloud/caddy").GatewayTimeout | import("@distilled.cloud/google-workspace/Errors").GoogleWorkspaceParseError | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | directory.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/google-workspace/Errors").UnknownGoogleWorkspaceError, import("effect/unstable/http/HttpClient").HttpClient>;
55
+ }) => Effect.Effect<DomainAliasAttributes | undefined, import("@distilled.cloud/caddy").BadGateway | directory.BadRequest | directory.Conflict | directory.Forbidden | import("@distilled.cloud/caddy").GatewayTimeout | import("@distilled.cloud/google-workspace/Errors").GoogleWorkspaceParseError | import("effect/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | directory.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/google-workspace/Errors").UnknownGoogleWorkspaceError, import("effect/http/HttpClient").HttpClient>;
56
56
  diff: ({ news, output }: {
57
57
  news: import("alchemy").Input<DomainAliasProps>;
58
58
  output: DomainAliasAttributes | undefined;
@@ -62,13 +62,13 @@ export declare const handlers: {
62
62
  readonly action: 'noop';
63
63
  } | {
64
64
  readonly action: 'replace';
65
- } | undefined, import("@distilled.cloud/caddy").BadGateway | directory.BadRequest | directory.Conflict | directory.Forbidden | import("@distilled.cloud/caddy").GatewayTimeout | import("@distilled.cloud/google-workspace/Errors").GoogleWorkspaceParseError | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | directory.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/google-workspace/Errors").UnknownGoogleWorkspaceError, import("effect/unstable/http/HttpClient").HttpClient>;
65
+ } | undefined, import("@distilled.cloud/caddy").BadGateway | directory.BadRequest | directory.Conflict | directory.Forbidden | import("@distilled.cloud/caddy").GatewayTimeout | import("@distilled.cloud/google-workspace/Errors").GoogleWorkspaceParseError | import("effect/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | directory.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/google-workspace/Errors").UnknownGoogleWorkspaceError, import("effect/http/HttpClient").HttpClient>;
66
66
  reconcile: ({ news }: {
67
67
  news: DomainAliasProps;
68
- }) => Effect.Effect<DomainAliasAttributes, import("@distilled.cloud/caddy").BadGateway | directory.BadRequest | directory.Conflict | directory.Forbidden | import("@distilled.cloud/caddy").GatewayTimeout | import("@distilled.cloud/google-workspace/Errors").GoogleWorkspaceParseError | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | directory.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/google-workspace/Errors").UnknownGoogleWorkspaceError, import("effect/unstable/http/HttpClient").HttpClient>;
68
+ }) => Effect.Effect<DomainAliasAttributes, import("@distilled.cloud/caddy").BadGateway | directory.BadRequest | directory.Conflict | directory.Forbidden | import("@distilled.cloud/caddy").GatewayTimeout | import("@distilled.cloud/google-workspace/Errors").GoogleWorkspaceParseError | import("effect/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | directory.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/google-workspace/Errors").UnknownGoogleWorkspaceError, import("effect/http/HttpClient").HttpClient>;
69
69
  delete: ({ olds }: {
70
70
  olds: DomainAliasProps;
71
- }) => Effect.Effect<void, import("@distilled.cloud/caddy").BadGateway | directory.BadRequest | directory.Conflict | directory.Forbidden | import("@distilled.cloud/caddy").GatewayTimeout | import("@distilled.cloud/google-workspace/Errors").GoogleWorkspaceParseError | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | directory.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/google-workspace/Errors").UnknownGoogleWorkspaceError, import("effect/unstable/http/HttpClient").HttpClient>;
71
+ }) => Effect.Effect<void, import("@distilled.cloud/caddy").BadGateway | directory.BadRequest | directory.Conflict | directory.Forbidden | import("@distilled.cloud/caddy").GatewayTimeout | import("@distilled.cloud/google-workspace/Errors").GoogleWorkspaceParseError | import("effect/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | directory.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/google-workspace/Errors").UnknownGoogleWorkspaceError, import("effect/http/HttpClient").HttpClient>;
72
72
  };
73
- export declare const GoogleWorkspaceDomainAliasProvider: () => import("effect/Layer").Layer<Provider.Provider<GoogleWorkspaceDomainAlias>, never, import("effect/unstable/http/HttpClient").HttpClient>;
73
+ export declare const GoogleWorkspaceDomainAliasProvider: () => import("effect/Layer").Layer<Provider.Provider<GoogleWorkspaceDomainAlias>, never, import("effect/http/HttpClient").HttpClient>;
74
74
  //# sourceMappingURL=domain-alias.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"domain-alias.d.ts","sourceRoot":"","sources":["../../src/google-workspace/domain-alias.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,SAAS,MAAM,+DAA+D,CAAC;AAC3F,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAItF,MAAM,WAAW,gBAAgB;IAC/B,8FAA8F;IAC9F,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sDAAsD;IACtD,eAAe,EAAE,MAAM,CAAC;IACxB,6FAA6F;IAC7F,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,+DAA+D;IAC/D,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,0BAA2B,SAAQ,QAAQ,CAC1D,6BAA6B,EAC7B,gBAAgB,EAChB,qBAAqB,EACrB,KAAK,EACL,2BAA2B,CAC5B;CAAG;AAEJ,eAAO,MAAM,0BAA0B,6DAGtC,CAAC;AAoBF,gEAAgE;AAChE,eAAO,MAAM,IAAI,EAAE,mBAAmB,CACpC,gBAAgB,EAChB,SAAS,CAAC,WAAW,EACrB,qBAAqB,EACnB,SAAS,CAAC,qBAAqB,GAC/B,SAAS,CAAC,wBAAwB,GAClC,SAAS,CAAC,wBAAwB,CAmBrC,CAAC;AAEF,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;CAAgC,CAAC;AAEtD,eAAO,MAAM,kCAAkC,gJAI5C,CAAC"}
1
+ {"version":3,"file":"domain-alias.d.ts","sourceRoot":"","sources":["../../src/google-workspace/domain-alias.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,SAAS,MAAM,+DAA+D,CAAC;AAC3F,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAItF,MAAM,WAAW,gBAAgB;IAC/B,8FAA8F;IAC9F,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sDAAsD;IACtD,eAAe,EAAE,MAAM,CAAC;IACxB,6FAA6F;IAC7F,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,+DAA+D;IAC/D,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,0BAA2B,SAAQ,QAAQ,CAC1D,6BAA6B,EAC7B,gBAAgB,EAChB,qBAAqB,EACrB,KAAK,EACL,2BAA2B,CAC5B;CAAG;AAEJ,eAAO,MAAM,0BAA0B,6DAGtC,CAAC;AAoBF,gEAAgE;AAChE,eAAO,MAAM,IAAI,EAAE,mBAAmB,CACpC,gBAAgB,EAChB,SAAS,CAAC,WAAW,EACrB,qBAAqB,EACnB,SAAS,CAAC,qBAAqB,GAC/B,SAAS,CAAC,wBAAwB,GAClC,SAAS,CAAC,wBAAwB,CAmBrC,CAAC;AAEF,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;CAAgC,CAAC;AAEtD,eAAO,MAAM,kCAAkC,uIAI5C,CAAC"}
@@ -37,5 +37,5 @@ export declare const fakeGoogleWorkspace: (route: (method: string, url: URL) =>
37
37
  * server; it calls `spec.fetchLive`/`spec.attributes` directly instead, with this explicit
38
38
  * layer, exercising exactly the same production code without that env seam.
39
39
  */
40
- export declare const fakeGoogleWorkspaceLayer: (fetchFn: typeof globalThis.fetch, creds?: Layer.Layer<Credentials>) => Layer.Layer<Credentials | import("effect/unstable/http/HttpClient").HttpClient, never, never>;
40
+ export declare const fakeGoogleWorkspaceLayer: (fetchFn: typeof globalThis.fetch, creds?: Layer.Layer<Credentials>) => Layer.Layer<Credentials | import("effect/http/HttpClient").HttpClient, never, never>;
41
41
  //# sourceMappingURL=fake-google-workspace.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fake-google-workspace.d.ts","sourceRoot":"","sources":["../../src/google-workspace/fake-google-workspace.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,KAAK,WAAW,EAAmB,MAAM,+CAA+C,CAAC;AAClG,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAGtC,eAAO,MAAM,UAAU,uCAAuC,CAAC;AAE/D,MAAM,MAAM,IAAI,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtE,mGAAmG;AACnG,eAAO,MAAM,WAAW,WAAY,MAAM,WAAW,MAAM,gBAAgB,MAAM,aACM,CAAC;AAExF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,UAAW,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK,QAAQ;;;CAUhF,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,wBAAwB,YAC1B,OAAO,UAAU,CAAC,KAAK,UACzB,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,kGAC+D,CAAC"}
1
+ {"version":3,"file":"fake-google-workspace.d.ts","sourceRoot":"","sources":["../../src/google-workspace/fake-google-workspace.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,KAAK,WAAW,EAAmB,MAAM,+CAA+C,CAAC;AAClG,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAGtC,eAAO,MAAM,UAAU,uCAAuC,CAAC;AAE/D,MAAM,MAAM,IAAI,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtE,mGAAmG;AACnG,eAAO,MAAM,WAAW,WAAY,MAAM,WAAW,MAAM,gBAAgB,MAAM,aACM,CAAC;AAExF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,UAAW,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK,QAAQ;;;CAUhF,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,wBAAwB,YAC1B,OAAO,UAAU,CAAC,KAAK,UACzB,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,yFAC+D,CAAC"}
@@ -51,7 +51,7 @@ export declare const handlers: {
51
51
  list: () => Effect.Effect<never[], never, never>;
52
52
  read: ({ olds }: {
53
53
  olds: GroupMemberProps;
54
- }) => Effect.Effect<GroupMemberAttributes | undefined, import("@distilled.cloud/caddy").BadGateway | directory.BadRequest | directory.Conflict | directory.Forbidden | import("@distilled.cloud/caddy").GatewayTimeout | import("@distilled.cloud/google-workspace/Errors").GoogleWorkspaceParseError | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | directory.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/google-workspace/Errors").UnknownGoogleWorkspaceError, import("effect/unstable/http/HttpClient").HttpClient>;
54
+ }) => Effect.Effect<GroupMemberAttributes | undefined, import("@distilled.cloud/caddy").BadGateway | directory.BadRequest | directory.Conflict | directory.Forbidden | import("@distilled.cloud/caddy").GatewayTimeout | import("@distilled.cloud/google-workspace/Errors").GoogleWorkspaceParseError | import("effect/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | directory.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/google-workspace/Errors").UnknownGoogleWorkspaceError, import("effect/http/HttpClient").HttpClient>;
55
55
  diff: ({ news, output }: {
56
56
  news: import("alchemy").Input<GroupMemberProps>;
57
57
  output: GroupMemberAttributes | undefined;
@@ -61,13 +61,13 @@ export declare const handlers: {
61
61
  readonly action: 'noop';
62
62
  } | {
63
63
  readonly action: 'replace';
64
- } | undefined, import("@distilled.cloud/caddy").BadGateway | directory.BadRequest | directory.Conflict | directory.Forbidden | import("@distilled.cloud/caddy").GatewayTimeout | import("@distilled.cloud/google-workspace/Errors").GoogleWorkspaceParseError | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | directory.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/google-workspace/Errors").UnknownGoogleWorkspaceError, import("effect/unstable/http/HttpClient").HttpClient>;
64
+ } | undefined, import("@distilled.cloud/caddy").BadGateway | directory.BadRequest | directory.Conflict | directory.Forbidden | import("@distilled.cloud/caddy").GatewayTimeout | import("@distilled.cloud/google-workspace/Errors").GoogleWorkspaceParseError | import("effect/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | directory.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/google-workspace/Errors").UnknownGoogleWorkspaceError, import("effect/http/HttpClient").HttpClient>;
65
65
  reconcile: ({ news }: {
66
66
  news: GroupMemberProps;
67
- }) => Effect.Effect<GroupMemberAttributes, import("@distilled.cloud/caddy").BadGateway | directory.BadRequest | directory.Conflict | directory.Forbidden | import("@distilled.cloud/caddy").GatewayTimeout | import("@distilled.cloud/google-workspace/Errors").GoogleWorkspaceParseError | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | directory.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/google-workspace/Errors").UnknownGoogleWorkspaceError, import("effect/unstable/http/HttpClient").HttpClient>;
67
+ }) => Effect.Effect<GroupMemberAttributes, import("@distilled.cloud/caddy").BadGateway | directory.BadRequest | directory.Conflict | directory.Forbidden | import("@distilled.cloud/caddy").GatewayTimeout | import("@distilled.cloud/google-workspace/Errors").GoogleWorkspaceParseError | import("effect/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | directory.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/google-workspace/Errors").UnknownGoogleWorkspaceError, import("effect/http/HttpClient").HttpClient>;
68
68
  delete: ({ olds }: {
69
69
  olds: GroupMemberProps;
70
- }) => Effect.Effect<void, import("@distilled.cloud/caddy").BadGateway | directory.BadRequest | directory.Conflict | directory.Forbidden | import("@distilled.cloud/caddy").GatewayTimeout | import("@distilled.cloud/google-workspace/Errors").GoogleWorkspaceParseError | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | directory.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/google-workspace/Errors").UnknownGoogleWorkspaceError, import("effect/unstable/http/HttpClient").HttpClient>;
70
+ }) => Effect.Effect<void, import("@distilled.cloud/caddy").BadGateway | directory.BadRequest | directory.Conflict | directory.Forbidden | import("@distilled.cloud/caddy").GatewayTimeout | import("@distilled.cloud/google-workspace/Errors").GoogleWorkspaceParseError | import("effect/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | directory.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/google-workspace/Errors").UnknownGoogleWorkspaceError, import("effect/http/HttpClient").HttpClient>;
71
71
  };
72
- export declare const GoogleWorkspaceGroupMemberProvider: () => import("effect/Layer").Layer<Provider.Provider<GoogleWorkspaceGroupMember>, never, import("effect/unstable/http/HttpClient").HttpClient>;
72
+ export declare const GoogleWorkspaceGroupMemberProvider: () => import("effect/Layer").Layer<Provider.Provider<GoogleWorkspaceGroupMember>, never, import("effect/http/HttpClient").HttpClient>;
73
73
  //# sourceMappingURL=group-member.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"group-member.d.ts","sourceRoot":"","sources":["../../src/google-workspace/group-member.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,SAAS,MAAM,+DAA+D,CAAC;AAC3F,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAItF,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAC;AACxD,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,UAAU,CAAC;AAErF,MAAM,WAAW,gBAAgB;IAC/B,wEAAwE;IACxE,KAAK,EAAE,MAAM,CAAC;IACd,mFAAmF;IACnF,KAAK,EAAE,MAAM,CAAC;IACd,wBAAwB;IACxB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,0BAA0B;IAC1B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,MAAM,CAAC;IACzB,0FAA0F;IAC1F,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,0BAA2B,SAAQ,QAAQ,CAC1D,6BAA6B,EAC7B,gBAAgB,EAChB,qBAAqB,EACrB,KAAK,EACL,2BAA2B,CAC5B;CAAG;AAEJ,eAAO,MAAM,0BAA0B,6DAEtC,CAAC;AAqBF,gEAAgE;AAChE,eAAO,MAAM,IAAI,EAAE,mBAAmB,CACpC,gBAAgB,EAChB,SAAS,CAAC,MAAM,EAChB,qBAAqB,EACnB,SAAS,CAAC,eAAe,GACzB,SAAS,CAAC,kBAAkB,GAC5B,SAAS,CAAC,iBAAiB,GAC3B,SAAS,CAAC,kBAAkB,CA4B/B,CAAC;AAEF,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;CAAgC,CAAC;AAEtD,eAAO,MAAM,kCAAkC,gJAI5C,CAAC"}
1
+ {"version":3,"file":"group-member.d.ts","sourceRoot":"","sources":["../../src/google-workspace/group-member.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,SAAS,MAAM,+DAA+D,CAAC;AAC3F,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAItF,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAC;AACxD,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,UAAU,CAAC;AAErF,MAAM,WAAW,gBAAgB;IAC/B,wEAAwE;IACxE,KAAK,EAAE,MAAM,CAAC;IACd,mFAAmF;IACnF,KAAK,EAAE,MAAM,CAAC;IACd,wBAAwB;IACxB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,0BAA0B;IAC1B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,MAAM,CAAC;IACzB,0FAA0F;IAC1F,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,0BAA2B,SAAQ,QAAQ,CAC1D,6BAA6B,EAC7B,gBAAgB,EAChB,qBAAqB,EACrB,KAAK,EACL,2BAA2B,CAC5B;CAAG;AAEJ,eAAO,MAAM,0BAA0B,6DAEtC,CAAC;AAqBF,gEAAgE;AAChE,eAAO,MAAM,IAAI,EAAE,mBAAmB,CACpC,gBAAgB,EAChB,SAAS,CAAC,MAAM,EAChB,qBAAqB,EACnB,SAAS,CAAC,eAAe,GACzB,SAAS,CAAC,kBAAkB,GAC5B,SAAS,CAAC,iBAAiB,GAC3B,SAAS,CAAC,kBAAkB,CA4B/B,CAAC;AAEF,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;CAAgC,CAAC;AAEtD,eAAO,MAAM,kCAAkC,uIAI5C,CAAC"}
@@ -65,7 +65,7 @@ export declare const handlers: {
65
65
  list: () => Effect.Effect<never[], never, never>;
66
66
  read: ({ olds }: {
67
67
  olds: GroupProps;
68
- }) => Effect.Effect<GroupAttributes | undefined, import("@distilled.cloud/caddy").BadGateway | directory.BadRequest | directory.Conflict | directory.Forbidden | import("@distilled.cloud/caddy").GatewayTimeout | import("@distilled.cloud/google-workspace/Errors").GoogleWorkspaceParseError | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | directory.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/google-workspace/Errors").UnknownGoogleWorkspaceError, import("effect/unstable/http/HttpClient").HttpClient>;
68
+ }) => Effect.Effect<GroupAttributes | undefined, import("@distilled.cloud/caddy").BadGateway | directory.BadRequest | directory.Conflict | directory.Forbidden | import("@distilled.cloud/caddy").GatewayTimeout | import("@distilled.cloud/google-workspace/Errors").GoogleWorkspaceParseError | import("effect/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | directory.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/google-workspace/Errors").UnknownGoogleWorkspaceError, import("effect/http/HttpClient").HttpClient>;
69
69
  diff: ({ news, output }: {
70
70
  news: import("alchemy").Input<GroupProps>;
71
71
  output: GroupAttributes | undefined;
@@ -75,13 +75,13 @@ export declare const handlers: {
75
75
  readonly action: 'noop';
76
76
  } | {
77
77
  readonly action: 'replace';
78
- } | undefined, import("@distilled.cloud/caddy").BadGateway | directory.BadRequest | directory.Conflict | directory.Forbidden | import("@distilled.cloud/caddy").GatewayTimeout | import("@distilled.cloud/google-workspace/Errors").GoogleWorkspaceParseError | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | directory.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/google-workspace/Errors").UnknownGoogleWorkspaceError, import("effect/unstable/http/HttpClient").HttpClient>;
78
+ } | undefined, import("@distilled.cloud/caddy").BadGateway | directory.BadRequest | directory.Conflict | directory.Forbidden | import("@distilled.cloud/caddy").GatewayTimeout | import("@distilled.cloud/google-workspace/Errors").GoogleWorkspaceParseError | import("effect/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | directory.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/google-workspace/Errors").UnknownGoogleWorkspaceError, import("effect/http/HttpClient").HttpClient>;
79
79
  reconcile: ({ news }: {
80
80
  news: GroupProps;
81
- }) => Effect.Effect<GroupAttributes, import("@distilled.cloud/caddy").BadGateway | directory.BadRequest | directory.Conflict | directory.Forbidden | import("@distilled.cloud/caddy").GatewayTimeout | import("@distilled.cloud/google-workspace/Errors").GoogleWorkspaceParseError | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | directory.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/google-workspace/Errors").UnknownGoogleWorkspaceError, import("effect/unstable/http/HttpClient").HttpClient>;
81
+ }) => Effect.Effect<GroupAttributes, import("@distilled.cloud/caddy").BadGateway | directory.BadRequest | directory.Conflict | directory.Forbidden | import("@distilled.cloud/caddy").GatewayTimeout | import("@distilled.cloud/google-workspace/Errors").GoogleWorkspaceParseError | import("effect/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | directory.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/google-workspace/Errors").UnknownGoogleWorkspaceError, import("effect/http/HttpClient").HttpClient>;
82
82
  delete: ({ olds }: {
83
83
  olds: GroupProps;
84
- }) => Effect.Effect<void, import("@distilled.cloud/caddy").BadGateway | directory.BadRequest | directory.Conflict | directory.Forbidden | import("@distilled.cloud/caddy").GatewayTimeout | import("@distilled.cloud/google-workspace/Errors").GoogleWorkspaceParseError | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | directory.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/google-workspace/Errors").UnknownGoogleWorkspaceError, import("effect/unstable/http/HttpClient").HttpClient>;
84
+ }) => Effect.Effect<void, import("@distilled.cloud/caddy").BadGateway | directory.BadRequest | directory.Conflict | directory.Forbidden | import("@distilled.cloud/caddy").GatewayTimeout | import("@distilled.cloud/google-workspace/Errors").GoogleWorkspaceParseError | import("effect/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | directory.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/google-workspace/Errors").UnknownGoogleWorkspaceError, import("effect/http/HttpClient").HttpClient>;
85
85
  };
86
- export declare const GoogleWorkspaceGroupProvider: () => import("effect/Layer").Layer<Provider.Provider<GoogleWorkspaceGroup>, never, import("effect/unstable/http/HttpClient").HttpClient>;
86
+ export declare const GoogleWorkspaceGroupProvider: () => import("effect/Layer").Layer<Provider.Provider<GoogleWorkspaceGroup>, never, import("effect/http/HttpClient").HttpClient>;
87
87
  //# sourceMappingURL=group.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"group.d.ts","sourceRoot":"","sources":["../../src/google-workspace/group.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,SAAS,MAAM,+DAA+D,CAAC;AAC3F,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAItF,MAAM,WAAW,UAAU;IACzB,uFAAuF;IACvF,KAAK,EAAE,MAAM,CAAC;IACd,uDAAuD;IACvD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,4FAA4F;IAC5F,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iGAAiG;IACjG,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,wFAAwF;IACxF,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,oBAAqB,SAAQ,QAAQ,CACpD,uBAAuB,EACvB,UAAU,EACV,eAAe,EACf,KAAK,EACL,2BAA2B,CAC5B;CAAG;AAEJ,eAAO,MAAM,oBAAoB,uDAE/B,CAAC;AAoBH,mGAAmG;AACnG,eAAO,MAAM,IAAI,EAAE,mBAAmB,CACpC,UAAU,EACV,SAAS,CAAC,KAAK,EACf,eAAe,EACb,SAAS,CAAC,cAAc,GACxB,SAAS,CAAC,iBAAiB,GAC3B,SAAS,CAAC,gBAAgB,GAC1B,SAAS,CAAC,iBAAiB,CAqB9B,CAAC;AAEF,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;CAAgC,CAAC;AAEtD,eAAO,MAAM,4BAA4B,0IAC0D,CAAC"}
1
+ {"version":3,"file":"group.d.ts","sourceRoot":"","sources":["../../src/google-workspace/group.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,SAAS,MAAM,+DAA+D,CAAC;AAC3F,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAItF,MAAM,WAAW,UAAU;IACzB,uFAAuF;IACvF,KAAK,EAAE,MAAM,CAAC;IACd,uDAAuD;IACvD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,4FAA4F;IAC5F,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iGAAiG;IACjG,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,wFAAwF;IACxF,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,oBAAqB,SAAQ,QAAQ,CACpD,uBAAuB,EACvB,UAAU,EACV,eAAe,EACf,KAAK,EACL,2BAA2B,CAC5B;CAAG;AAEJ,eAAO,MAAM,oBAAoB,uDAE/B,CAAC;AAoBH,mGAAmG;AACnG,eAAO,MAAM,IAAI,EAAE,mBAAmB,CACpC,UAAU,EACV,SAAS,CAAC,KAAK,EACf,eAAe,EACb,SAAS,CAAC,cAAc,GACxB,SAAS,CAAC,iBAAiB,GAC3B,SAAS,CAAC,gBAAgB,GAC1B,SAAS,CAAC,iBAAiB,CAqB9B,CAAC;AAEF,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;CAAgC,CAAC;AAEtD,eAAO,MAAM,4BAA4B,iIAC0D,CAAC"}
@@ -4,7 +4,7 @@
4
4
  "sourcesContent": [
5
5
  "/**\n * Google Workspace credentials for the house — a lazy reference, never the key.\n *\n * ⛔ THE DISTILLED SDK'S OWN `Credentials` SERVICE TAKES ONE THING: an already-minted OAuth2\n * bearer access token (`@distilled.cloud/google-workspace/Credentials` — read at\n * `node_modules/@distilled.cloud/google-workspace/src/credentials.ts`, 2026-09-24: \"API-compatible\n * port of the distilled gcp credentials module … no ADC, no service-account signing, no refresh\n * flow\"). It has no service-account JSON shape and no domain-wide-delegation JWT exchange built\n * in — minting the token is entirely outside the SDK's surface.\n *\n * ★ SO THE HOUSE PATTERN IS H8'S, UNCHANGED: a short-lived credential is minted from OpenBao and\n * exported into the DEPLOY PROCESS's environment only, by a Bun wrapper the operator runs — the\n * same shape the kit's Proxmox subpath already uses for its own OpenBao-sourced token. This\n * family adds nothing that signs a JWT or talks to Google's token endpoint; that stays Tim's\n * wrapper script, documented in the README, because building it here would be a second,\n * hand-rolled auth flow next to the one the SDK already exposes (S23).\n *\n * ⛔ NEVER THE KEY. `GoogleWorkspaceKeyRef` below is a REFERENCE to where a service-account key\n * lives — an OpenBao path, a delegated admin subject and the scopes the wrapper requests — not\n * the key itself. Nothing in this family reads, parses or holds private key material; `describeKeyRef`\n * is pure string formatting for docs and the census handoff header, and it is tested (below) to\n * never accept or echo anything shaped like a key.\n *\n * Re-exported so a consumer imports one module for both the distilled service and the house\n * reference type: `import { CredentialsFromEnv, fromAccessToken, type GoogleWorkspaceKeyRef } from\n * '@homeflare/alchemy/google-workspace'`.\n */\nexport {\n type Config as GoogleWorkspaceConfig,\n Credentials,\n CredentialsFromEnv,\n fromAccessToken,\n} from '@distilled.cloud/google-workspace/Credentials';\n\n/** Env var the SDK's `CredentialsFromEnv` reads — the wrapper mints into THIS var, nothing else. */\nexport const GOOGLE_ACCESS_TOKEN_ENV = 'GOOGLE_ACCESS_TOKEN';\n/** Optional — only meaningful if a resource ever needs to scope a call to a GCP project. */\nexport const GOOGLE_PROJECT_ID_ENV = 'GOOGLE_PROJECT_ID';\n\n/**\n * Where the service-account key that a wrapper exchanges for `GOOGLE_ACCESS_TOKEN` lives —\n * documentation and typing only. A stack file may keep one of these next to its declarations so\n * the OpenBao path, delegated admin and scopes are reviewable in the same diff as the resources\n * they authorize — nothing here reads OpenBao or Google, and no field may hold a key, a token or\n * a private key fragment.\n */\nexport interface GoogleWorkspaceKeyRef {\n /** OpenBao KV path, e.g. `kv/google-workspace/service-accounts/directory-admin`. */\n readonly openBaoPath: string;\n /** The Workspace admin the service account impersonates via domain-wide delegation. */\n readonly delegatedAdmin: string;\n /** OAuth scopes the wrapper requests — keep this the least the declared resources need. */\n readonly scopes: readonly string[];\n}\n\n/** Substrings that must never appear in a `GoogleWorkspaceKeyRef` field — this is a reference. */\nconst KEY_SHAPED = /-----BEGIN|private_key|\"type\":\\s*\"service_account\"/i;\n\n/**\n * A one-line, key-free description for docs and the census handoff header. Throws rather than\n * formatting a ref whose fields look like they hold key material — a `GoogleWorkspaceKeyRef` is\n * a pointer, and this is the one place that assumption is checked instead of assumed.\n */\nexport const describeKeyRef = (ref: GoogleWorkspaceKeyRef): string => {\n for (const [field, value] of Object.entries(ref)) {\n const text = Array.isArray(value) ? value.join(',') : String(value);\n if (KEY_SHAPED.test(text)) {\n throw new Error(`GoogleWorkspaceKeyRef.${field} looks like key material, not a reference`);\n }\n }\n return (\n `service account at OpenBao:${ref.openBaoPath}, delegating as ${ref.delegatedAdmin}, ` +\n `scopes: ${ref.scopes.join(' ')}`\n );\n};\n",
6
6
  "/**\n * `GoogleWorkspace.DomainAlias` — one secondary-domain alias on the Workspace account\n * (`admin/directory/v1/customer/{customer}/domainaliases`).\n *\n * ⛔ NO `update` OPERATION EXISTS. The Directory API ships `get`/`insert`/`delete`/`list` for\n * domain aliases and nothing else — measured against `admin_directory_v1.ts`: there is no\n * `patchDomainAliases` or `updateDomainAliases`. `spec.update` is intentionally absent, so\n * `resource.ts`'s `diff` reports `replace` for any drift rather than an unsendable PATCH — the\n * same fallback NetBox's `netboxOperations` and Forgejo's `forgejoOperations` give a spec with\n * no `update`.\n *\n * ★ `domainAliasName` IS THE WHOLE IDENTITY. `parentDomainName` only matters at create time —\n * Google refuses reparenting an alias in place, so a declared `parentDomainName` that no longer\n * matches the live row is exactly the identity change `replace` exists for.\n *\n * ⚠️ THE HOUSE'S CLOUDFLARE ZONES (`homeflare.dev`, `aimto.app`, `schenanigans.com`, `taslabs.net`\n * — `site/live.site.json` in homeflare-landscape) are DNS zones, not Workspace domains by\n * themselves; a zone only becomes a valid `parentDomainName` once it is added and verified as a\n * primary or secondary domain in the Workspace admin console. This family does not verify a\n * domain — Google's verification is a TXT/CNAME challenge outside the Directory API's write\n * surface — so `create` will fail with `BadRequest` against an unverified domain, which is\n * correct: nothing here should silently paper over a step the account owner has to do by hand.\n */\nimport { Resource } from 'alchemy';\nimport * as Provider from 'alchemy/Provider';\nimport * as directory from '@distilled.cloud/google-workspace/unstable/admin_directory_v1';\nimport * as Effect from 'effect/Effect';\nimport type { GoogleWorkspaceRequirements, GoogleWorkspaceSpec } from './resource.ts';\nimport { googleWorkspaceHandlers } from './resource.ts';\nimport { bool, ciEqual, text } from './values.ts';\n\nexport interface DomainAliasProps {\n /** The unique id for the Workspace account, or `my_customer` for the caller's own account. */\n customer?: string;\n /** The alias domain name — primary key for locate. */\n domainAliasName: string;\n /** The primary or secondary domain this alias resolves to. Immutable — a change replaces. */\n parentDomainName: string;\n}\n\nexport interface DomainAliasAttributes {\n customer: string;\n domainAliasName: string;\n parentDomainName: string;\n /** Read-only. */\n verified: boolean;\n /** Read-only, ISO-ish epoch-ms string as Google returns it. */\n creationTime: string;\n}\n\nexport interface GoogleWorkspaceDomainAlias extends Resource<\n 'GoogleWorkspace.DomainAlias',\n DomainAliasProps,\n DomainAliasAttributes,\n never,\n GoogleWorkspaceRequirements\n> {}\n\nexport const GoogleWorkspaceDomainAlias = Resource<GoogleWorkspaceDomainAlias>(\n 'GoogleWorkspace.DomainAlias',\n { defaultRemovalPolicy: 'retain' },\n);\n\nconst customerOf = (props: DomainAliasProps): string => props.customer ?? 'my_customer';\n\nconst attributesOf = (\n live: directory.DomainAlias,\n props: DomainAliasProps,\n): DomainAliasAttributes | undefined => {\n if (live.domainAliasName === undefined || !ciEqual(live.domainAliasName, props.domainAliasName)) {\n return undefined;\n }\n return {\n creationTime: text(live.creationTime),\n customer: customerOf(props),\n domainAliasName: live.domainAliasName,\n parentDomainName: text(live.parentDomainName),\n verified: bool(live.verified),\n };\n};\n\n/** ★ EXPORTED for direct testing — see domain-alias.test.ts. */\nexport const spec: GoogleWorkspaceSpec<\n DomainAliasProps,\n directory.DomainAlias,\n DomainAliasAttributes,\n | directory.GetDomainAliasesError\n | directory.InsertDomainAliasesError\n | directory.DeleteDomainAliasesError\n> = {\n attributes: attributesOf,\n create: (props) =>\n directory.insertDomainAliases({\n body: { domainAliasName: props.domainAliasName, parentDomainName: props.parentDomainName },\n customer: customerOf(props),\n }),\n describe: (props) => `customer/${customerOf(props)}/domainaliases/${props.domainAliasName}`,\n destroy: (props, live) =>\n directory.deleteDomainAliases({\n customer: customerOf(props),\n domainAliasName: text(live.domainAliasName) || props.domainAliasName,\n }),\n fetchLive: (props) =>\n directory\n .getDomainAliases({ customer: customerOf(props), domainAliasName: props.domainAliasName })\n .pipe(Effect.catchTag('NotFound', () => Effect.succeed(undefined))),\n matches: (attributes, props) => attributes.parentDomainName === props.parentDomainName,\n};\n\nexport const handlers = googleWorkspaceHandlers(spec);\n\nexport const GoogleWorkspaceDomainAliasProvider = () =>\n Provider.effect(\n GoogleWorkspaceDomainAlias,\n Effect.succeed(GoogleWorkspaceDomainAlias.Provider.of(handlers)),\n );\n",
7
- "/**\n * One shape for every Google Workspace Directory object — the same four operations, different\n * distilled call.\n *\n * ⛔ THE ALTERNATIVE IS COPYING THE SAME HANDLERS PER RESOURCE. Groups, group members, domain\n * aliases and org units are all create / read / update / delete against\n * `@distilled.cloud/google-workspace`'s typed `admin_directory_v1` operations. Hand-rolling the\n * fourth copy is where someone drops the read-back or the `isResolved` guard and the plan lies.\n *\n * ★ SO THE FOUR OPERATIONS LIVE HERE, ONCE — mirroring `../forgejo/resource.ts`'s engine exactly.\n * The Directory API addresses every object this family models by a stable key (an email, a\n * domain alias name, an org unit path), so — unlike NetBox's page-then-disambiguate `locateOne`\n * — `fetchLive` is always a plain get-by-key.\n *\n * ⚠️ `NotFound` IS FOLDED TO \"ABSENT\" INSIDE EACH RESOURCE FILE'S OWN `fetchLive`, NOT HERE — the\n * same split forgejo's and netbox's engines use. `Effect.catchTag`'s tag-literal inference needs\n * a concrete error union to resolve `\"NotFound\"` against; a spec's `E` is only concrete at each\n * resource file's own call site.\n *\n * ★ ADOPT IS THE DEFAULT POSTURE, NOT A FLAG. `reconcile` LOCATES before it writes: a group or org\n * unit the Workspace already has is bound, not duplicated — Tim's own domain (schenanigans.com)\n * predates this code. `spec.attributes` always maps the FULL live object, so a bound row reads\n * back byte-identical to what Workspace actually holds — the exact-as-live half of `adopt(true)`;\n * the other half (refusing to bind without it) is upstream's `AdoptPolicy`, unchanged here.\n *\n * ⛔ CREDENTIALS ARE NEVER A PROP (S24/S25). See `credentials.ts` for what a stack passes instead.\n */\nimport { isResolved } from 'alchemy/Diff';\nimport type { Input } from 'alchemy/Input';\nimport { CredentialsFromEnv } from '@distilled.cloud/google-workspace/Credentials';\nimport type { GoogleWorkspaceOpContext } from '@distilled.cloud/google-workspace/Protocol';\nimport * as Effect from 'effect/Effect';\nimport type * as HttpClient from 'effect/unstable/http/HttpClient';\n\n/**\n * ★ WHAT EVERY HANDLER NEEDS FROM THE CALLER'S RUNTIME, after Credentials are provided below.\n * `GoogleWorkspaceOpContext` is `Credentials | HttpClient.HttpClient`; `googleWorkspaceHandlers`\n * closes over `CredentialsFromEnv` itself (`GOOGLE_ACCESS_TOKEN` / `GOOGLE_PROJECT_ID` — see\n * credentials.ts), so a consuming stack only has to provide `HttpClient.HttpClient`, the same\n * shape every other distilled-backed family in this kit asks for.\n */\nexport type GoogleWorkspaceRequirements = HttpClient.HttpClient;\n\n/**\n * One Directory object's distilled calls. `Live` is whatever the SDK decodes (a `Group`, a\n * `Member`, a `DomainAlias`, an `OrgUnit`) — never an untyped response body.\n *\n * `E` is left to each resource file to declare (the union of the distilled operations it\n * actually calls), so a call site's precise per-operation error union flows straight through\n * instead of being widened by hand here.\n */\nexport type GoogleWorkspaceSpec<Props extends object, Live, Attributes, E> = {\n /** Already folds a real \"absent\" outcome — a `catchTag('NotFound', ...)` at the call site. */\n readonly fetchLive: (\n props: Props,\n ) => Effect.Effect<Live | undefined, E, GoogleWorkspaceOpContext>;\n readonly attributes: (live: Live, props: Props) => Attributes | undefined;\n readonly matches: (attributes: Attributes, props: Props) => boolean;\n /** Absent for an existence-only family (none here yet, but `GroupMember` could become one). */\n readonly create?: (props: Props) => Effect.Effect<unknown, E, GoogleWorkspaceOpContext>;\n readonly update?: (\n props: Props,\n live: Live,\n ) => Effect.Effect<unknown, E, GoogleWorkspaceOpContext>;\n readonly destroy: (\n props: Props,\n live: Live,\n ) => Effect.Effect<unknown, E, GoogleWorkspaceOpContext>;\n /** For the read-back-failure message. */\n readonly describe: (props: Props) => string;\n};\n\nexport const googleWorkspaceOperations = <Props extends object, Live, Attributes, E>(\n spec: GoogleWorkspaceSpec<Props, Live, Attributes, E>,\n) => {\n const read = (props: Props) =>\n spec\n .fetchLive(props)\n .pipe(Effect.map((live) => (live === undefined ? undefined : spec.attributes(live, props))));\n\n return {\n read,\n\n diff: (news: Input<Props>, output: Attributes | undefined) =>\n Effect.gen(function* () {\n if (output === undefined || !isResolved(news)) return undefined;\n const live = yield* read(news);\n if (live === undefined) return { action: 'update' } as const;\n if (spec.matches(live, news)) return { action: 'noop' } as const;\n return spec.update === undefined\n ? ({ action: 'replace' } as const)\n : ({ action: 'update' } as const);\n }),\n\n reconcile: (news: Props) =>\n Effect.gen(function* () {\n const before = yield* spec.fetchLive(news);\n if (before === undefined) {\n if (spec.create === undefined) {\n return yield* Effect.die(\n new Error(`${spec.describe(news)}: spec declares no create for a missing object`),\n );\n }\n yield* spec.create(news);\n } else if (spec.update !== undefined) {\n const mapped = spec.attributes(before, news);\n // ⚠️ ADOPTION IS THE `mapped === undefined` CASE TOO: a row this spec cannot map is not\n // a row to PATCH blindly.\n if (mapped !== undefined && !spec.matches(mapped, news)) {\n yield* spec.update(news, before);\n }\n }\n const after = yield* read(news);\n if (after === undefined) {\n return yield* Effect.die(\n new Error(\n `${spec.describe(news)}: the write returned no error but the object is still ` +\n 'absent. Directory returns the object it wrote — read back rather than trusting ' +\n 'the status code.',\n ),\n );\n }\n return after;\n }),\n\n destroy: (olds: Props) =>\n Effect.gen(function* () {\n const live = yield* spec.fetchLive(olds);\n if (live === undefined) return;\n yield* spec.destroy(olds, live);\n }),\n };\n};\n\n/**\n * The five provider handlers for a spec'd Directory object, wired once.\n *\n * ★ CREDENTIALS ARE PROVIDED HERE, ONCE, NOT BY EVERY CALLER. `CredentialsFromEnv` resolves\n * `GOOGLE_ACCESS_TOKEN` on the calling fiber per request (credentials.ts's own note), so this\n * closure keeps that laziness — nothing is captured at module load.\n *\n * ⛔ IT STOPS AT THE HANDLERS AND DOES NOT RETURN THE LAYER — same reasoning as `forgejoHandlers`.\n *\n * ⚠️ `list` answers empty. The Directory API's list endpoints page the whole domain — every group,\n * every org unit — so adoption stays explicit rather than sweeping (same posture as NetBox and\n * Forgejo; the census handoff script, not this provider, is where a full inventory belongs).\n */\nexport const googleWorkspaceHandlers = <Props extends object, Live, Attributes extends object, E>(\n spec: GoogleWorkspaceSpec<Props, Live, Attributes, E>,\n) => {\n const ops = googleWorkspaceOperations(spec);\n const withCredentials = <A>(effect: Effect.Effect<A, E, GoogleWorkspaceOpContext>) =>\n Effect.provide(effect, CredentialsFromEnv);\n return {\n list: () => Effect.succeed([]),\n read: ({ olds }: { olds: Props }) => withCredentials(ops.read(olds)),\n diff: ({ news, output }: { news: Input<Props>; output: Attributes | undefined }) =>\n withCredentials(ops.diff(news, output)),\n reconcile: ({ news }: { news: Props }) => withCredentials(ops.reconcile(news)),\n delete: ({ olds }: { olds: Props }) => withCredentials(ops.destroy(olds)),\n };\n};\n",
7
+ "/**\n * One shape for every Google Workspace Directory object — the same four operations, different\n * distilled call.\n *\n * ⛔ THE ALTERNATIVE IS COPYING THE SAME HANDLERS PER RESOURCE. Groups, group members, domain\n * aliases and org units are all create / read / update / delete against\n * `@distilled.cloud/google-workspace`'s typed `admin_directory_v1` operations. Hand-rolling the\n * fourth copy is where someone drops the read-back or the `isResolved` guard and the plan lies.\n *\n * ★ SO THE FOUR OPERATIONS LIVE HERE, ONCE — mirroring `../forgejo/resource.ts`'s engine exactly.\n * The Directory API addresses every object this family models by a stable key (an email, a\n * domain alias name, an org unit path), so — unlike NetBox's page-then-disambiguate `locateOne`\n * — `fetchLive` is always a plain get-by-key.\n *\n * ⚠️ `NotFound` IS FOLDED TO \"ABSENT\" INSIDE EACH RESOURCE FILE'S OWN `fetchLive`, NOT HERE — the\n * same split forgejo's and netbox's engines use. `Effect.catchTag`'s tag-literal inference needs\n * a concrete error union to resolve `\"NotFound\"` against; a spec's `E` is only concrete at each\n * resource file's own call site.\n *\n * ★ ADOPT IS THE DEFAULT POSTURE, NOT A FLAG. `reconcile` LOCATES before it writes: a group or org\n * unit the Workspace already has is bound, not duplicated — Tim's own domain (schenanigans.com)\n * predates this code. `spec.attributes` always maps the FULL live object, so a bound row reads\n * back byte-identical to what Workspace actually holds — the exact-as-live half of `adopt(true)`;\n * the other half (refusing to bind without it) is upstream's `AdoptPolicy`, unchanged here.\n *\n * ⛔ CREDENTIALS ARE NEVER A PROP (S24/S25). See `credentials.ts` for what a stack passes instead.\n */\nimport { isResolved } from 'alchemy/Diff';\nimport type { Input } from 'alchemy/Input';\nimport { CredentialsFromEnv } from '@distilled.cloud/google-workspace/Credentials';\nimport type { GoogleWorkspaceOpContext } from '@distilled.cloud/google-workspace/Protocol';\nimport * as Effect from 'effect/Effect';\nimport type * as HttpClient from 'effect/http/HttpClient';\n\n/**\n * ★ WHAT EVERY HANDLER NEEDS FROM THE CALLER'S RUNTIME, after Credentials are provided below.\n * `GoogleWorkspaceOpContext` is `Credentials | HttpClient.HttpClient`; `googleWorkspaceHandlers`\n * closes over `CredentialsFromEnv` itself (`GOOGLE_ACCESS_TOKEN` / `GOOGLE_PROJECT_ID` — see\n * credentials.ts), so a consuming stack only has to provide `HttpClient.HttpClient`, the same\n * shape every other distilled-backed family in this kit asks for.\n */\nexport type GoogleWorkspaceRequirements = HttpClient.HttpClient;\n\n/**\n * One Directory object's distilled calls. `Live` is whatever the SDK decodes (a `Group`, a\n * `Member`, a `DomainAlias`, an `OrgUnit`) — never an untyped response body.\n *\n * `E` is left to each resource file to declare (the union of the distilled operations it\n * actually calls), so a call site's precise per-operation error union flows straight through\n * instead of being widened by hand here.\n */\nexport type GoogleWorkspaceSpec<Props extends object, Live, Attributes, E> = {\n /** Already folds a real \"absent\" outcome — a `catchTag('NotFound', ...)` at the call site. */\n readonly fetchLive: (\n props: Props,\n ) => Effect.Effect<Live | undefined, E, GoogleWorkspaceOpContext>;\n readonly attributes: (live: Live, props: Props) => Attributes | undefined;\n readonly matches: (attributes: Attributes, props: Props) => boolean;\n /** Absent for an existence-only family (none here yet, but `GroupMember` could become one). */\n readonly create?: (props: Props) => Effect.Effect<unknown, E, GoogleWorkspaceOpContext>;\n readonly update?: (\n props: Props,\n live: Live,\n ) => Effect.Effect<unknown, E, GoogleWorkspaceOpContext>;\n readonly destroy: (\n props: Props,\n live: Live,\n ) => Effect.Effect<unknown, E, GoogleWorkspaceOpContext>;\n /** For the read-back-failure message. */\n readonly describe: (props: Props) => string;\n};\n\nexport const googleWorkspaceOperations = <Props extends object, Live, Attributes, E>(\n spec: GoogleWorkspaceSpec<Props, Live, Attributes, E>,\n) => {\n const read = (props: Props) =>\n spec\n .fetchLive(props)\n .pipe(Effect.map((live) => (live === undefined ? undefined : spec.attributes(live, props))));\n\n return {\n read,\n\n diff: (news: Input<Props>, output: Attributes | undefined) =>\n Effect.gen(function* () {\n if (output === undefined || !isResolved(news)) return undefined;\n const live = yield* read(news);\n if (live === undefined) return { action: 'update' } as const;\n if (spec.matches(live, news)) return { action: 'noop' } as const;\n return spec.update === undefined\n ? ({ action: 'replace' } as const)\n : ({ action: 'update' } as const);\n }),\n\n reconcile: (news: Props) =>\n Effect.gen(function* () {\n const before = yield* spec.fetchLive(news);\n if (before === undefined) {\n if (spec.create === undefined) {\n return yield* Effect.die(\n new Error(`${spec.describe(news)}: spec declares no create for a missing object`),\n );\n }\n yield* spec.create(news);\n } else if (spec.update !== undefined) {\n const mapped = spec.attributes(before, news);\n // ⚠️ ADOPTION IS THE `mapped === undefined` CASE TOO: a row this spec cannot map is not\n // a row to PATCH blindly.\n if (mapped !== undefined && !spec.matches(mapped, news)) {\n yield* spec.update(news, before);\n }\n }\n const after = yield* read(news);\n if (after === undefined) {\n return yield* Effect.die(\n new Error(\n `${spec.describe(news)}: the write returned no error but the object is still ` +\n 'absent. Directory returns the object it wrote — read back rather than trusting ' +\n 'the status code.',\n ),\n );\n }\n return after;\n }),\n\n destroy: (olds: Props) =>\n Effect.gen(function* () {\n const live = yield* spec.fetchLive(olds);\n if (live === undefined) return;\n yield* spec.destroy(olds, live);\n }),\n };\n};\n\n/**\n * The five provider handlers for a spec'd Directory object, wired once.\n *\n * ★ CREDENTIALS ARE PROVIDED HERE, ONCE, NOT BY EVERY CALLER. `CredentialsFromEnv` resolves\n * `GOOGLE_ACCESS_TOKEN` on the calling fiber per request (credentials.ts's own note), so this\n * closure keeps that laziness — nothing is captured at module load.\n *\n * ⛔ IT STOPS AT THE HANDLERS AND DOES NOT RETURN THE LAYER — same reasoning as `forgejoHandlers`.\n *\n * ⚠️ `list` answers empty. The Directory API's list endpoints page the whole domain — every group,\n * every org unit — so adoption stays explicit rather than sweeping (same posture as NetBox and\n * Forgejo; the census handoff script, not this provider, is where a full inventory belongs).\n */\nexport const googleWorkspaceHandlers = <Props extends object, Live, Attributes extends object, E>(\n spec: GoogleWorkspaceSpec<Props, Live, Attributes, E>,\n) => {\n const ops = googleWorkspaceOperations(spec);\n const withCredentials = <A>(effect: Effect.Effect<A, E, GoogleWorkspaceOpContext>) =>\n Effect.provide(effect, CredentialsFromEnv);\n return {\n list: () => Effect.succeed([]),\n read: ({ olds }: { olds: Props }) => withCredentials(ops.read(olds)),\n diff: ({ news, output }: { news: Input<Props>; output: Attributes | undefined }) =>\n withCredentials(ops.diff(news, output)),\n reconcile: ({ news }: { news: Props }) => withCredentials(ops.reconcile(news)),\n delete: ({ olds }: { olds: Props }) => withCredentials(ops.destroy(olds)),\n };\n};\n",
8
8
  "/**\n * Wire coercions shared across Google Workspace resources.\n *\n * ⚠️ EVERY FIELD ON A GENERATED DIRECTORY TYPE IS `S.optional(...)` (the SDK does not know which\n * fields Google always sends), so a live read is `string | undefined` even for a field the API\n * guarantees in practice. These helpers turn that into the settled value a `matches()` compares\n * against, mirroring `../netbox/values.ts` and `../forgejo/values.ts` for the same reason: a\n * `diff` that compared `undefined` against a declared default would see drift forever.\n */\n\n/** `''` for absent — Directory objects that omit a text field mean \"no value\", not `undefined`. */\nexport const text = (value: string | undefined): string => value ?? '';\n\nexport const bool = (value: boolean | undefined): boolean => value === true;\n\n/**\n * Wire arrays compared in sorted order. `StringList` (group aliases, org unit paths in a search)\n * decodes to `string[] | undefined`; Directory does not promise an order.\n */\nexport const stringArray = (value: readonly string[] | undefined): string[] =>\n value === undefined ? [] : [...value].toSorted();\n\n/**\n * Every user- and group-facing key in this family is case-insensitive on the wire (Google lower-\n * cases email addresses and org unit path segments internally) but a declaration may be typed in\n * mixed case. Compare through this, never with `===`, or an adopted object drifts on every plan.\n */\nexport const ciEqual = (left: string, right: string): boolean =>\n left.toLowerCase() === right.toLowerCase();\n\n/** An org unit path as the API wants it for a path segment: no leading `/`. */\nexport const stripLeadingSlash = (path: string): string => path.replace(/^\\/+/, '');\n\n/** An org unit path as attributes should read it back: exactly one leading `/`. */\nexport const withLeadingSlash = (path: string): string =>\n path.startsWith('/') ? path : `/${path}`;\n",
9
9
  "/**\n * `GoogleWorkspace.Group` — one Admin SDK Directory group (`admin/directory/v1/groups`).\n *\n * ★ WHY A GROUP IS THE FIRST OBJECT CLASS, AND NOT A USER. The estate's own Cloudflare Access\n * policies already reference Workspace groups by name (\"Schenanigans - Admin\", \"Schenanigans -\n * Google\" — `docs/zero-trust-access-applications.md` in homeflare-landscape) as the Google IdP\n * groups an Access rule allows. A group is also the one Directory object with no foreign-key\n * prerequisite: `email` is the whole identity, the same reasoning `netbox/prefix.ts` gives for\n * starting with `Prefix` over `Device`.\n *\n * ⛔ USERS ARE OUT OF SCOPE FOR THIS FAMILY. `insertUsers`/`patchUsers`/`updateUsers` all accept a\n * `password` field on the wire `User` schema — modelling `GoogleWorkspace.User` here would put a\n * credential-shaped field one keystroke away from becoming a prop, and Alchemy persists props\n * unencrypted (S25). No stack in this estate declares a Workspace user today (measured\n * 2026-09-24 — see docs/upstream-conformance.md), so there is no house need forcing the\n * question. `GroupMember` (group-member.ts) references a user by email without ever creating,\n * reading or storing one.\n *\n * ★ ADOPT-FRIENDLY BY CONSTRUCTION. `groupKey` accepts an email, alias or id; this family always\n * uses `email` so `fetchLive` binds the live group by the same key a human would type. An\n * instance that already has `admin@schenanigans.com`'s \"Schenanigans - Admin\" group is BOUND,\n * never duplicated, and `attributes` maps the full live row — the exact-as-live half of\n * `adopt(true)` (resource.ts's own note).\n *\n * ⛔ THIS RESOURCE DOES NOT DELETE BY DEFAULT. `defaultRemovalPolicy: 'retain'` — removing a group\n * an Access policy still names would break sign-in for everyone that rule allows. `delete` stays\n * fully implemented; a caller opts in with `.pipe(RemovalPolicy.destroy())`.\n *\n * ⛔ NO CREDENTIAL IS A PROP. `GOOGLE_ACCESS_TOKEN` is read from the environment at call time,\n * through `@distilled.cloud/google-workspace`'s `CredentialsFromEnv` (resource.ts) — see\n * credentials.ts for where that token comes from.\n */\nimport { Resource } from 'alchemy';\nimport * as Provider from 'alchemy/Provider';\nimport * as directory from '@distilled.cloud/google-workspace/unstable/admin_directory_v1';\nimport * as Effect from 'effect/Effect';\nimport type { GoogleWorkspaceRequirements, GoogleWorkspaceSpec } from './resource.ts';\nimport { googleWorkspaceHandlers } from './resource.ts';\nimport { ciEqual, stringArray, text } from './values.ts';\n\nexport interface GroupProps {\n /** The group's email address — the primary key for locate, create and update alike. */\n email: string;\n /** Display name. @default the local part of `email` */\n name?: string;\n /** Free text, up to 4,096 characters per the Directory API. */\n description?: string;\n}\n\nexport interface GroupAttributes {\n email: string;\n name: string;\n description: string;\n groupId: string;\n /** Read-only — direct members, as a decimal string on the wire (Directory's own choice). */\n directMembersCount: string;\n /** Read-only. Aliases outside the primary domain/subdomains; edited only via alias endpoints. */\n nonEditableAliases: string[];\n /** Read-only. Aliases within the account's domains; edited only via alias endpoints. */\n aliases: string[];\n adminCreated: boolean;\n}\n\nexport interface GoogleWorkspaceGroup extends Resource<\n 'GoogleWorkspace.Group',\n GroupProps,\n GroupAttributes,\n never,\n GoogleWorkspaceRequirements\n> {}\n\nexport const GoogleWorkspaceGroup = Resource<GoogleWorkspaceGroup>('GoogleWorkspace.Group', {\n defaultRemovalPolicy: 'retain',\n});\n\n/** Un-declared `name` converges here — deterministic, so an undeclared field never drifts. */\nconst defaultName = (props: GroupProps): string =>\n props.name ?? props.email.split('@')[0] ?? props.email;\n\nconst attributesOf = (live: directory.Group, props: GroupProps): GroupAttributes | undefined => {\n if (live.email === undefined || !ciEqual(live.email, props.email)) return undefined;\n return {\n adminCreated: live.adminCreated === true,\n aliases: stringArray(live.aliases),\n description: text(live.description),\n directMembersCount: text(live.directMembersCount),\n email: live.email,\n groupId: text(live.id),\n name: text(live.name),\n nonEditableAliases: stringArray(live.nonEditableAliases),\n };\n};\n\n/** ★ EXPORTED for direct testing with an explicit fake `Credentials` layer — see group.test.ts. */\nexport const spec: GoogleWorkspaceSpec<\n GroupProps,\n directory.Group,\n GroupAttributes,\n | directory.GetGroupsError\n | directory.InsertGroupsError\n | directory.PatchGroupsError\n | directory.DeleteGroupsError\n> = {\n attributes: attributesOf,\n create: (props) =>\n directory.insertGroups({\n body: { description: props.description ?? '', email: props.email, name: defaultName(props) },\n }),\n describe: (props) => `groups/${props.email}`,\n destroy: (_props, live) =>\n directory.deleteGroups({ groupKey: text(live.id) || text(live.email) }),\n fetchLive: (props) =>\n directory\n .getGroups({ groupKey: props.email })\n .pipe(Effect.catchTag('NotFound', () => Effect.succeed(undefined))),\n matches: (attributes, props) =>\n attributes.description === (props.description ?? '') && attributes.name === defaultName(props),\n update: (props, live) =>\n directory.patchGroups({\n body: { description: props.description ?? '', name: defaultName(props) },\n groupKey: text(live.id) || text(live.email),\n }),\n};\n\nexport const handlers = googleWorkspaceHandlers(spec);\n\nexport const GoogleWorkspaceGroupProvider = () =>\n Provider.effect(GoogleWorkspaceGroup, Effect.succeed(GoogleWorkspaceGroup.Provider.of(handlers)));\n",
10
10
  "/**\n * `GoogleWorkspace.GroupMember` — one user or group's membership in one Directory group.\n *\n * ★ WHY THIS DOES NOT MODEL A `GoogleWorkspace.User`. `email` here identifies whoever the group\n * member is (a user's primary email, or another group's), the same way Forgejo's\n * `TeamMember.username` (team-member.ts) never creates the account it references. The Directory\n * API needs no user resource to exist in this family for a membership to be declared — see\n * group.ts's own note on why users are out of scope.\n *\n * ⚠️ UNLIKE `Forgejo.TeamMember`, A MEMBERSHIP HERE IS NOT EXISTENCE-ONLY. `role`\n * (`OWNER`/`MANAGER`/`MEMBER`) and `deliverySettings` (`ALL_MAIL`/`DIGEST`/`DAILY`/`NONE`/\n * `DISABLED`) are both mutable in place via `patchMembers` — so this spec declares `update`,\n * not `upsert`, the same shape `group.ts`/`domain-alias.ts` use.\n *\n * ⛔ GROUP CYCLES ARE THE VENDOR'S TO REFUSE, NOT THIS FAMILY'S. `insertMembers`/`patchMembers`\n * surface a cycle as `BadRequest`, which this spec's error union already carries un-narrowed —\n * nothing here guesses at \"member is itself an ancestor group\".\n */\nimport { Resource } from 'alchemy';\nimport * as Provider from 'alchemy/Provider';\nimport * as directory from '@distilled.cloud/google-workspace/unstable/admin_directory_v1';\nimport * as Effect from 'effect/Effect';\nimport type { GoogleWorkspaceRequirements, GoogleWorkspaceSpec } from './resource.ts';\nimport { googleWorkspaceHandlers } from './resource.ts';\nimport { ciEqual, text } from './values.ts';\n\nexport type MemberRole = 'OWNER' | 'MANAGER' | 'MEMBER';\nexport type DeliverySettings = 'ALL_MAIL' | 'DIGEST' | 'DAILY' | 'NONE' | 'DISABLED';\n\nexport interface GroupMemberProps {\n /** The group's email, alias or id — same key `Group.email` declares. */\n group: string;\n /** The member's email (a user or another group). Primary key alongside `group`. */\n email: string;\n /** @default 'MEMBER' */\n role?: MemberRole;\n /** @default 'ALL_MAIL' */\n deliverySettings?: DeliverySettings;\n}\n\nexport interface GroupMemberAttributes {\n group: string;\n email: string;\n memberId: string;\n role: string;\n deliverySettings: string;\n /** Read-only — `ACTIVE` for a normal member, `PENDING` while an invite is outstanding. */\n status: string;\n}\n\nexport interface GoogleWorkspaceGroupMember extends Resource<\n 'GoogleWorkspace.GroupMember',\n GroupMemberProps,\n GroupMemberAttributes,\n never,\n GoogleWorkspaceRequirements\n> {}\n\nexport const GoogleWorkspaceGroupMember = Resource<GoogleWorkspaceGroupMember>(\n 'GoogleWorkspace.GroupMember',\n);\n\nconst defaultRole = (props: GroupMemberProps): MemberRole => props.role ?? 'MEMBER';\nconst defaultDelivery = (props: GroupMemberProps): DeliverySettings =>\n props.deliverySettings ?? 'ALL_MAIL';\n\nconst attributesOf = (\n live: directory.Member,\n props: GroupMemberProps,\n): GroupMemberAttributes | undefined => {\n if (live.email === undefined || !ciEqual(live.email, props.email)) return undefined;\n return {\n deliverySettings: text(live.delivery_settings),\n email: live.email,\n group: props.group,\n memberId: text(live.id),\n role: text(live.role),\n status: text(live.status),\n };\n};\n\n/** ★ EXPORTED for direct testing — see group-member.test.ts. */\nexport const spec: GoogleWorkspaceSpec<\n GroupMemberProps,\n directory.Member,\n GroupMemberAttributes,\n | directory.GetMembersError\n | directory.InsertMembersError\n | directory.PatchMembersError\n | directory.DeleteMembersError\n> = {\n attributes: attributesOf,\n create: (props) =>\n directory.insertMembers({\n body: {\n delivery_settings: defaultDelivery(props),\n email: props.email,\n role: defaultRole(props),\n },\n groupKey: props.group,\n }),\n describe: (props) => `groups/${props.group}/members/${props.email}`,\n destroy: (props, live) =>\n directory.deleteMembers({ groupKey: props.group, memberKey: text(live.id) || props.email }),\n fetchLive: (props) =>\n directory\n .getMembers({ groupKey: props.group, memberKey: props.email })\n .pipe(Effect.catchTag('NotFound', () => Effect.succeed(undefined))),\n matches: (attributes, props) =>\n attributes.role === defaultRole(props) &&\n attributes.deliverySettings === defaultDelivery(props),\n update: (props, live) =>\n directory.patchMembers({\n body: { delivery_settings: defaultDelivery(props), role: defaultRole(props) },\n groupKey: props.group,\n memberKey: text(live.id) || props.email,\n }),\n};\n\nexport const handlers = googleWorkspaceHandlers(spec);\n\nexport const GoogleWorkspaceGroupMemberProvider = () =>\n Provider.effect(\n GoogleWorkspaceGroupMember,\n Effect.succeed(GoogleWorkspaceGroupMember.Provider.of(handlers)),\n );\n",
@@ -53,7 +53,7 @@ export declare const handlers: {
53
53
  list: () => Effect.Effect<never[], never, never>;
54
54
  read: ({ olds }: {
55
55
  olds: OrgUnitProps;
56
- }) => Effect.Effect<OrgUnitAttributes | undefined, import("@distilled.cloud/caddy").BadGateway | directory.BadRequest | directory.Conflict | directory.Forbidden | import("@distilled.cloud/caddy").GatewayTimeout | import("@distilled.cloud/google-workspace/Errors").GoogleWorkspaceParseError | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | directory.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/google-workspace/Errors").UnknownGoogleWorkspaceError, import("effect/unstable/http/HttpClient").HttpClient>;
56
+ }) => Effect.Effect<OrgUnitAttributes | undefined, import("@distilled.cloud/caddy").BadGateway | directory.BadRequest | directory.Conflict | directory.Forbidden | import("@distilled.cloud/caddy").GatewayTimeout | import("@distilled.cloud/google-workspace/Errors").GoogleWorkspaceParseError | import("effect/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | directory.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/google-workspace/Errors").UnknownGoogleWorkspaceError, import("effect/http/HttpClient").HttpClient>;
57
57
  diff: ({ news, output }: {
58
58
  news: import("alchemy").Input<OrgUnitProps>;
59
59
  output: OrgUnitAttributes | undefined;
@@ -63,13 +63,13 @@ export declare const handlers: {
63
63
  readonly action: 'noop';
64
64
  } | {
65
65
  readonly action: 'replace';
66
- } | undefined, import("@distilled.cloud/caddy").BadGateway | directory.BadRequest | directory.Conflict | directory.Forbidden | import("@distilled.cloud/caddy").GatewayTimeout | import("@distilled.cloud/google-workspace/Errors").GoogleWorkspaceParseError | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | directory.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/google-workspace/Errors").UnknownGoogleWorkspaceError, import("effect/unstable/http/HttpClient").HttpClient>;
66
+ } | undefined, import("@distilled.cloud/caddy").BadGateway | directory.BadRequest | directory.Conflict | directory.Forbidden | import("@distilled.cloud/caddy").GatewayTimeout | import("@distilled.cloud/google-workspace/Errors").GoogleWorkspaceParseError | import("effect/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | directory.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/google-workspace/Errors").UnknownGoogleWorkspaceError, import("effect/http/HttpClient").HttpClient>;
67
67
  reconcile: ({ news }: {
68
68
  news: OrgUnitProps;
69
- }) => Effect.Effect<OrgUnitAttributes, import("@distilled.cloud/caddy").BadGateway | directory.BadRequest | directory.Conflict | directory.Forbidden | import("@distilled.cloud/caddy").GatewayTimeout | import("@distilled.cloud/google-workspace/Errors").GoogleWorkspaceParseError | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | directory.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/google-workspace/Errors").UnknownGoogleWorkspaceError, import("effect/unstable/http/HttpClient").HttpClient>;
69
+ }) => Effect.Effect<OrgUnitAttributes, import("@distilled.cloud/caddy").BadGateway | directory.BadRequest | directory.Conflict | directory.Forbidden | import("@distilled.cloud/caddy").GatewayTimeout | import("@distilled.cloud/google-workspace/Errors").GoogleWorkspaceParseError | import("effect/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | directory.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/google-workspace/Errors").UnknownGoogleWorkspaceError, import("effect/http/HttpClient").HttpClient>;
70
70
  delete: ({ olds }: {
71
71
  olds: OrgUnitProps;
72
- }) => Effect.Effect<void, import("@distilled.cloud/caddy").BadGateway | directory.BadRequest | directory.Conflict | directory.Forbidden | import("@distilled.cloud/caddy").GatewayTimeout | import("@distilled.cloud/google-workspace/Errors").GoogleWorkspaceParseError | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | directory.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/google-workspace/Errors").UnknownGoogleWorkspaceError, import("effect/unstable/http/HttpClient").HttpClient>;
72
+ }) => Effect.Effect<void, import("@distilled.cloud/caddy").BadGateway | directory.BadRequest | directory.Conflict | directory.Forbidden | import("@distilled.cloud/caddy").GatewayTimeout | import("@distilled.cloud/google-workspace/Errors").GoogleWorkspaceParseError | import("effect/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | directory.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/google-workspace/Errors").UnknownGoogleWorkspaceError, import("effect/http/HttpClient").HttpClient>;
73
73
  };
74
- export declare const GoogleWorkspaceOrgUnitProvider: () => import("effect/Layer").Layer<Provider.Provider<GoogleWorkspaceOrgUnit>, never, import("effect/unstable/http/HttpClient").HttpClient>;
74
+ export declare const GoogleWorkspaceOrgUnitProvider: () => import("effect/Layer").Layer<Provider.Provider<GoogleWorkspaceOrgUnit>, never, import("effect/http/HttpClient").HttpClient>;
75
75
  //# sourceMappingURL=org-unit.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"org-unit.d.ts","sourceRoot":"","sources":["../../src/google-workspace/org-unit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,SAAS,MAAM,+DAA+D,CAAC;AAC3F,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAItF,MAAM,WAAW,YAAY;IAC3B,8FAA8F;IAC9F,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB,wFAAwF;IACxF,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAuB,SAAQ,QAAQ,CACtD,yBAAyB,EACzB,YAAY,EACZ,iBAAiB,EACjB,KAAK,EACL,2BAA2B,CAC5B;CAAG;AAEJ,eAAO,MAAM,sBAAsB,yDAEjC,CAAC;AA0BH,4DAA4D;AAC5D,eAAO,MAAM,IAAI,EAAE,mBAAmB,CACpC,YAAY,EACZ,SAAS,CAAC,OAAO,EACjB,iBAAiB,EACf,SAAS,CAAC,gBAAgB,GAC1B,SAAS,CAAC,mBAAmB,GAC7B,SAAS,CAAC,kBAAkB,GAC5B,SAAS,CAAC,mBAAmB,CAuChC,CAAC;AAEF,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;CAAgC,CAAC;AAEtD,eAAO,MAAM,8BAA8B,4IAIxC,CAAC"}
1
+ {"version":3,"file":"org-unit.d.ts","sourceRoot":"","sources":["../../src/google-workspace/org-unit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,SAAS,MAAM,+DAA+D,CAAC;AAC3F,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAItF,MAAM,WAAW,YAAY;IAC3B,8FAA8F;IAC9F,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB,wFAAwF;IACxF,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAuB,SAAQ,QAAQ,CACtD,yBAAyB,EACzB,YAAY,EACZ,iBAAiB,EACjB,KAAK,EACL,2BAA2B,CAC5B;CAAG;AAEJ,eAAO,MAAM,sBAAsB,yDAEjC,CAAC;AA0BH,4DAA4D;AAC5D,eAAO,MAAM,IAAI,EAAE,mBAAmB,CACpC,YAAY,EACZ,SAAS,CAAC,OAAO,EACjB,iBAAiB,EACf,SAAS,CAAC,gBAAgB,GAC1B,SAAS,CAAC,mBAAmB,GAC7B,SAAS,CAAC,kBAAkB,GAC5B,SAAS,CAAC,mBAAmB,CAuChC,CAAC;AAEF,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;CAAgC,CAAC;AAEtD,eAAO,MAAM,8BAA8B,mIAIxC,CAAC"}