@homeflare/alchemy 0.46.1 → 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.
- package/README.md +10 -10
- package/dist/argocd/cluster.d.ts +5 -5
- package/dist/argocd/cluster.d.ts.map +1 -1
- package/dist/argocd/fake-argocd.d.ts +1 -1
- package/dist/argocd/fake-argocd.d.ts.map +1 -1
- package/dist/argocd/index.js.map +1 -1
- package/dist/argocd/providers.d.ts +1 -1
- package/dist/argocd/providers.d.ts.map +1 -1
- package/dist/argocd/repo-creds.d.ts +5 -5
- package/dist/argocd/repo-creds.d.ts.map +1 -1
- package/dist/argocd/repository.d.ts +5 -5
- package/dist/argocd/repository.d.ts.map +1 -1
- package/dist/argocd/resource.d.ts +1 -1
- package/dist/argocd/resource.d.ts.map +1 -1
- package/dist/caddy/admin.d.ts +1 -1
- package/dist/caddy/admin.d.ts.map +1 -1
- package/dist/caddy/caddy-http-client.d.ts +2 -2
- package/dist/caddy/caddy-http-client.d.ts.map +1 -1
- package/dist/caddy/format.d.ts +1 -1
- package/dist/caddy/format.d.ts.map +1 -1
- package/dist/caddy/index.js +6 -6
- package/dist/caddy/index.js.map +4 -4
- package/dist/ceph/auth-entity.d.ts +1 -1
- package/dist/ceph/auth-entity.d.ts.map +1 -1
- package/dist/ceph/ceph-auth-reconcile.d.ts +1 -1
- package/dist/ceph/ceph-auth-reconcile.d.ts.map +1 -1
- package/dist/ceph/index.js +5 -5
- package/dist/ceph/index.js.map +4 -4
- package/dist/cloudflare/fake-mesh.d.ts +2 -2
- package/dist/cloudflare/fake-mesh.d.ts.map +1 -1
- package/dist/cloudflare/fake-r2-lock.d.ts +1 -1
- package/dist/cloudflare/fake-r2-lock.d.ts.map +1 -1
- package/dist/cloudflare/index.js +3 -3
- package/dist/cloudflare/index.js.map +3 -3
- package/dist/cloudflare/mesh-node-token.d.ts +1 -1
- package/dist/cloudflare/mesh-node-token.d.ts.map +1 -1
- package/dist/cloudflare/mesh-node.d.ts +1 -1
- package/dist/cloudflare/mesh-node.d.ts.map +1 -1
- package/dist/cloudflare/providers.d.ts +1 -1
- package/dist/cloudflare/providers.d.ts.map +1 -1
- package/dist/cloudflare/r2-bucket-lock.d.ts +1 -1
- package/dist/cloudflare/r2-bucket-lock.d.ts.map +1 -1
- package/dist/discord/application-command.d.ts +6 -6
- package/dist/discord/application-command.d.ts.map +1 -1
- package/dist/discord/fake-discord.d.ts +1 -1
- package/dist/discord/fake-discord.d.ts.map +1 -1
- package/dist/discord/guild-application-command.d.ts +6 -6
- package/dist/discord/guild-application-command.d.ts.map +1 -1
- package/dist/discord/index.js.map +1 -1
- package/dist/discord/providers.d.ts +1 -1
- package/dist/discord/providers.d.ts.map +1 -1
- package/dist/discord/resource.d.ts +1 -1
- package/dist/discord/resource.d.ts.map +1 -1
- package/dist/forgejo/branch-protection.d.ts +5 -5
- package/dist/forgejo/branch-protection.d.ts.map +1 -1
- package/dist/forgejo/fake-forgejo.d.ts +1 -1
- package/dist/forgejo/fake-forgejo.d.ts.map +1 -1
- package/dist/forgejo/index.js.map +1 -1
- package/dist/forgejo/org-actions-secrets.d.ts +5 -5
- package/dist/forgejo/org-actions-secrets.d.ts.map +1 -1
- package/dist/forgejo/org-label.d.ts +5 -5
- package/dist/forgejo/org-label.d.ts.map +1 -1
- package/dist/forgejo/org-team.d.ts +5 -5
- package/dist/forgejo/org-team.d.ts.map +1 -1
- package/dist/forgejo/repo-webhook.d.ts +5 -5
- package/dist/forgejo/repo-webhook.d.ts.map +1 -1
- package/dist/forgejo/repository.d.ts +5 -5
- package/dist/forgejo/repository.d.ts.map +1 -1
- package/dist/forgejo/resource.d.ts +1 -1
- package/dist/forgejo/resource.d.ts.map +1 -1
- package/dist/forgejo/team-member.d.ts +5 -5
- package/dist/forgejo/team-member.d.ts.map +1 -1
- package/dist/github/repository-ruleset-providers.d.ts +1 -1
- package/dist/github/repository-ruleset-providers.d.ts.map +1 -1
- package/dist/google-workspace/domain-alias.d.ts +5 -5
- package/dist/google-workspace/domain-alias.d.ts.map +1 -1
- package/dist/google-workspace/fake-google-workspace.d.ts +1 -1
- package/dist/google-workspace/fake-google-workspace.d.ts.map +1 -1
- package/dist/google-workspace/group-member.d.ts +5 -5
- package/dist/google-workspace/group-member.d.ts.map +1 -1
- package/dist/google-workspace/group.d.ts +5 -5
- package/dist/google-workspace/group.d.ts.map +1 -1
- package/dist/google-workspace/index.js.map +1 -1
- package/dist/google-workspace/org-unit.d.ts +5 -5
- package/dist/google-workspace/org-unit.d.ts.map +1 -1
- package/dist/google-workspace/providers.d.ts +1 -1
- package/dist/google-workspace/providers.d.ts.map +1 -1
- package/dist/google-workspace/resource.d.ts +1 -1
- package/dist/google-workspace/resource.d.ts.map +1 -1
- package/dist/grafana/alert-rule-group.d.ts +4 -4
- package/dist/grafana/alert-rule-group.d.ts.map +1 -1
- package/dist/grafana/contact-point.d.ts +4 -4
- package/dist/grafana/dashboard.d.ts +4 -4
- package/dist/grafana/datasource.d.ts +4 -4
- package/dist/grafana/fake-grafana.d.ts +1 -1
- package/dist/grafana/fake-grafana.d.ts.map +1 -1
- package/dist/grafana/folder.d.ts +4 -4
- package/dist/grafana/message-template.d.ts +4 -4
- package/dist/grafana/mute-timing.d.ts +4 -4
- package/dist/grafana/notification-policy.d.ts +4 -4
- package/dist/grafana/notification-policy.d.ts.map +1 -1
- package/dist/grafana/providers.d.ts +1 -1
- package/dist/grafana/providers.d.ts.map +1 -1
- package/dist/litellm/access-group.d.ts +1 -1
- package/dist/litellm/budget-operations.d.ts +1 -1
- package/dist/litellm/budget-operations.d.ts.map +1 -1
- package/dist/litellm/budget.d.ts +2 -2
- package/dist/litellm/credential-errors.d.ts +1 -1
- package/dist/litellm/credential-errors.d.ts.map +1 -1
- package/dist/litellm/credential.d.ts +1 -1
- package/dist/litellm/index.js +26 -5
- package/dist/litellm/index.js.map +8 -8
- package/dist/litellm/key-errors.d.ts +1 -1
- package/dist/litellm/key-errors.d.ts.map +1 -1
- package/dist/litellm/key.d.ts +2 -2
- package/dist/litellm/mcp-server-locate.d.ts +1 -1
- package/dist/litellm/mcp-server-locate.d.ts.map +1 -1
- package/dist/litellm/mcp-server.d.ts +2 -2
- package/dist/litellm/model-operations.d.ts +1 -1
- package/dist/litellm/model-operations.d.ts.map +1 -1
- package/dist/litellm/model.d.ts +2 -2
- package/dist/litellm/operations.d.ts +1 -1
- package/dist/litellm/operations.d.ts.map +1 -1
- package/dist/litellm/policy-attachment.d.ts +1 -1
- package/dist/litellm/policy.d.ts +1 -1
- package/dist/litellm/providers.d.ts +1 -1
- package/dist/litellm/providers.d.ts.map +1 -1
- package/dist/litellm/team-operations.d.ts +1 -1
- package/dist/litellm/team-operations.d.ts.map +1 -1
- package/dist/litellm/team.d.ts +1 -1
- package/dist/litellm/tool-policy-operations.d.ts +1 -1
- package/dist/litellm/tool-policy-operations.d.ts.map +1 -1
- package/dist/litellm/tool-policy.d.ts +1 -1
- package/dist/litellm/toolset.d.ts +1 -1
- package/dist/netbox/fake-netbox.d.ts +1 -1
- package/dist/netbox/fake-netbox.d.ts.map +1 -1
- package/dist/netbox/index.js.map +1 -1
- package/dist/netbox/prefix.d.ts +5 -5
- package/dist/netbox/prefix.d.ts.map +1 -1
- package/dist/netbox/resource.d.ts +1 -1
- package/dist/netbox/resource.d.ts.map +1 -1
- package/dist/openbao/approle-login.d.ts +1 -1
- package/dist/openbao/approle-login.d.ts.map +1 -1
- package/dist/openbao/auth-method-reconcile.d.ts +1 -1
- package/dist/openbao/auth-method-reconcile.d.ts.map +1 -1
- package/dist/openbao/auth-method-wire.d.ts +4 -4
- package/dist/openbao/auth-method-wire.d.ts.map +1 -1
- package/dist/openbao/auth-method.d.ts +1 -1
- package/dist/openbao/auth-method.d.ts.map +1 -1
- package/dist/openbao/auth-role-identity.d.ts +1 -1
- package/dist/openbao/auth-role-identity.d.ts.map +1 -1
- package/dist/openbao/auth-role-wire.d.ts +4 -4
- package/dist/openbao/auth-role-wire.d.ts.map +1 -1
- package/dist/openbao/auth-role.d.ts +1 -1
- package/dist/openbao/auth-role.d.ts.map +1 -1
- package/dist/openbao/bao-http.d.ts +1 -1
- package/dist/openbao/bao-http.d.ts.map +1 -1
- package/dist/openbao/bao-identity.d.ts +1 -1
- package/dist/openbao/bao-identity.d.ts.map +1 -1
- package/dist/openbao/cloudflare-permission-groups.d.ts +1 -1
- package/dist/openbao/cloudflare-permission-groups.d.ts.map +1 -1
- package/dist/openbao/cloudflare-role-wire.d.ts +1 -1
- package/dist/openbao/cloudflare-role-wire.d.ts.map +1 -1
- package/dist/openbao/cloudflare-role.d.ts +1 -1
- package/dist/openbao/cloudflare-role.d.ts.map +1 -1
- package/dist/openbao/distilled.d.ts +1 -1
- package/dist/openbao/distilled.d.ts.map +1 -1
- package/dist/openbao/fake-bao.d.ts +1 -1
- package/dist/openbao/fake-bao.d.ts.map +1 -1
- package/dist/openbao/fake-core.d.ts +1 -1
- package/dist/openbao/fake-core.d.ts.map +1 -1
- package/dist/openbao/fake-engines.d.ts +1 -1
- package/dist/openbao/fake-engines.d.ts.map +1 -1
- package/dist/openbao/fake-families.d.ts +2 -2
- package/dist/openbao/fake-families.d.ts.map +1 -1
- package/dist/openbao/fake-stack.d.ts +5 -0
- package/dist/openbao/fake-stack.d.ts.map +1 -1
- package/dist/openbao/forgejo-bootstrap.d.ts +1 -1
- package/dist/openbao/forgejo-bootstrap.d.ts.map +1 -1
- package/dist/openbao/index.js +31 -10
- package/dist/openbao/index.js.map +31 -31
- package/dist/openbao/jwt-config.d.ts +1 -1
- package/dist/openbao/jwt-config.d.ts.map +1 -1
- package/dist/openbao/jwt-role.d.ts +1 -1
- package/dist/openbao/jwt-role.d.ts.map +1 -1
- package/dist/openbao/kubernetes-role.d.ts +1 -1
- package/dist/openbao/kubernetes-role.d.ts.map +1 -1
- package/dist/openbao/mfa-enforcement.d.ts +1 -1
- package/dist/openbao/mfa-enforcement.d.ts.map +1 -1
- package/dist/openbao/mfa-totp.d.ts +1 -1
- package/dist/openbao/mfa-totp.d.ts.map +1 -1
- package/dist/openbao/mfa-wire.d.ts +1 -1
- package/dist/openbao/mfa-wire.d.ts.map +1 -1
- package/dist/openbao/mount-move.d.ts +1 -1
- package/dist/openbao/mount-move.d.ts.map +1 -1
- package/dist/openbao/mount-reconcile.d.ts +1 -1
- package/dist/openbao/mount-reconcile.d.ts.map +1 -1
- package/dist/openbao/mount-wire.d.ts +4 -4
- package/dist/openbao/mount-wire.d.ts.map +1 -1
- package/dist/openbao/mount.d.ts +1 -1
- package/dist/openbao/mount.d.ts.map +1 -1
- package/dist/openbao/pki-role.d.ts +1 -1
- package/dist/openbao/pki-role.d.ts.map +1 -1
- package/dist/openbao/plugin-reconcile.d.ts +1 -1
- package/dist/openbao/plugin-reconcile.d.ts.map +1 -1
- package/dist/openbao/plugin-wire.d.ts +1 -1
- package/dist/openbao/plugin-wire.d.ts.map +1 -1
- package/dist/openbao/plugin.d.ts +1 -1
- package/dist/openbao/plugin.d.ts.map +1 -1
- package/dist/openbao/policy-identity.d.ts +1 -1
- package/dist/openbao/policy-identity.d.ts.map +1 -1
- package/dist/openbao/policy-wire.d.ts +4 -4
- package/dist/openbao/policy-wire.d.ts.map +1 -1
- package/dist/openbao/policy.d.ts +1 -1
- package/dist/openbao/policy.d.ts.map +1 -1
- package/dist/openbao/proxmox-role-wire.d.ts +1 -1
- package/dist/openbao/proxmox-role-wire.d.ts.map +1 -1
- package/dist/openbao/proxmox-role.d.ts +1 -1
- package/dist/openbao/proxmox-role.d.ts.map +1 -1
- package/dist/openbao/remount-wire.d.ts +1 -1
- package/dist/openbao/remount-wire.d.ts.map +1 -1
- package/dist/openbao/rename-identity.d.ts +1 -1
- package/dist/openbao/rename-identity.d.ts.map +1 -1
- package/dist/openbao/rename.d.ts +1 -1
- package/dist/openbao/rename.d.ts.map +1 -1
- package/dist/openbao/role-reconcile.d.ts +1 -1
- package/dist/openbao/role-reconcile.d.ts.map +1 -1
- package/dist/openbao/ssh-role.d.ts +1 -1
- package/dist/openbao/ssh-role.d.ts.map +1 -1
- package/dist/opnsense/alias.d.ts +5 -5
- package/dist/opnsense/alias.d.ts.map +1 -1
- package/dist/opnsense/category.d.ts +5 -5
- package/dist/opnsense/category.d.ts.map +1 -1
- package/dist/opnsense/fake-opnsense.d.ts +1 -1
- package/dist/opnsense/fake-opnsense.d.ts.map +1 -1
- package/dist/opnsense/group.d.ts +5 -5
- package/dist/opnsense/group.d.ts.map +1 -1
- package/dist/opnsense/index.js.map +1 -1
- package/dist/opnsense/providers.d.ts +1 -1
- package/dist/opnsense/providers.d.ts.map +1 -1
- package/dist/opnsense/resource.d.ts +1 -1
- package/dist/opnsense/resource.d.ts.map +1 -1
- package/dist/ownership/probe.d.ts.map +1 -1
- package/dist/paperless/custom-field.d.ts +5 -5
- package/dist/paperless/custom-field.d.ts.map +1 -1
- package/dist/paperless/document-type.d.ts +5 -5
- package/dist/paperless/document-type.d.ts.map +1 -1
- package/dist/paperless/fake-paperless.d.ts +1 -1
- package/dist/paperless/fake-paperless.d.ts.map +1 -1
- package/dist/paperless/matching-types.d.ts +1 -1
- package/dist/paperless/matching-types.d.ts.map +1 -1
- package/dist/paperless/matching.d.ts +4 -4
- package/dist/paperless/providers.d.ts +1 -1
- package/dist/paperless/providers.d.ts.map +1 -1
- package/dist/paperless/storage-path.d.ts +5 -5
- package/dist/paperless/storage-path.d.ts.map +1 -1
- package/dist/paperless/tag.d.ts +5 -5
- package/dist/paperless/tag.d.ts.map +1 -1
- package/dist/postgres/connection.d.ts +2 -2
- package/dist/postgres/connection.d.ts.map +1 -1
- package/dist/postgres/database-sql.d.ts +1 -1
- package/dist/postgres/database-sql.d.ts.map +1 -1
- package/dist/postgres/database.d.ts +1 -1
- package/dist/postgres/database.d.ts.map +1 -1
- package/dist/postgres/fake-grants-read.d.ts +1 -1
- package/dist/postgres/fake-grants-read.d.ts.map +1 -1
- package/dist/postgres/fake-grants-write.d.ts +1 -1
- package/dist/postgres/fake-grants-write.d.ts.map +1 -1
- package/dist/postgres/fake-role-sql.d.ts +1 -1
- package/dist/postgres/fake-role-sql.d.ts.map +1 -1
- package/dist/postgres/fake-schema-drop.d.ts +1 -1
- package/dist/postgres/fake-schema-drop.d.ts.map +1 -1
- package/dist/postgres/fake-schema-sql.d.ts +1 -1
- package/dist/postgres/fake-schema-sql.d.ts.map +1 -1
- package/dist/postgres/grants-existence.d.ts +1 -1
- package/dist/postgres/grants-existence.d.ts.map +1 -1
- package/dist/postgres/grants-ops.d.ts +1 -1
- package/dist/postgres/grants-ops.d.ts.map +1 -1
- package/dist/postgres/grants-ownership.d.ts +1 -1
- package/dist/postgres/grants-ownership.d.ts.map +1 -1
- package/dist/postgres/grants-read-defaults.d.ts +1 -1
- package/dist/postgres/grants-read-defaults.d.ts.map +1 -1
- package/dist/postgres/grants-read.d.ts +1 -1
- package/dist/postgres/grants-read.d.ts.map +1 -1
- package/dist/postgres/index.js +93 -77
- package/dist/postgres/index.js.map +23 -23
- package/dist/postgres/installed-classifier.d.ts +1 -1
- package/dist/postgres/installed-classifier.d.ts.map +1 -1
- package/dist/postgres/psql-executor.d.ts.map +1 -1
- package/dist/postgres/role-membership-sql.d.ts +1 -1
- package/dist/postgres/role-membership-sql.d.ts.map +1 -1
- package/dist/postgres/role-sql.d.ts +1 -1
- package/dist/postgres/role-sql.d.ts.map +1 -1
- package/dist/postgres/role.d.ts +1 -1
- package/dist/postgres/role.d.ts.map +1 -1
- package/dist/postgres/schema-assert.d.ts +1 -1
- package/dist/postgres/schema-assert.d.ts.map +1 -1
- package/dist/postgres/schema-delete.d.ts +1 -1
- package/dist/postgres/schema-delete.d.ts.map +1 -1
- package/dist/postgres/schema-drop-sql.d.ts +1 -1
- package/dist/postgres/schema-drop-sql.d.ts.map +1 -1
- package/dist/postgres/schema-reconcile.d.ts +1 -1
- package/dist/postgres/schema-reconcile.d.ts.map +1 -1
- package/dist/postgres/schema-sql.d.ts +1 -1
- package/dist/postgres/schema-sql.d.ts.map +1 -1
- package/dist/postgres/schema.d.ts +1 -1
- package/dist/postgres/schema.d.ts.map +1 -1
- package/dist/postgres/search-path.d.ts +1 -1
- package/dist/postgres/search-path.d.ts.map +1 -1
- package/dist/proxmox/acl.d.ts +1 -1
- package/dist/proxmox/acl.d.ts.map +1 -1
- package/dist/proxmox/api-token.d.ts +1 -1
- package/dist/proxmox/api-token.d.ts.map +1 -1
- package/dist/proxmox/backup-job-distilled.d.ts +2 -2
- package/dist/proxmox/backup-job-distilled.d.ts.map +1 -1
- package/dist/proxmox/backup-job.d.ts +1 -1
- package/dist/proxmox/backup-job.d.ts.map +1 -1
- package/dist/proxmox/ceph-daemon-wire.d.ts +3 -3
- package/dist/proxmox/ceph-daemon-wire.d.ts.map +1 -1
- package/dist/proxmox/ceph-daemon.d.ts +2 -2
- package/dist/proxmox/ceph-daemon.d.ts.map +1 -1
- package/dist/proxmox/ceph-flag-wire.d.ts +3 -3
- package/dist/proxmox/ceph-flag-wire.d.ts.map +1 -1
- package/dist/proxmox/ceph-flag.d.ts +1 -1
- package/dist/proxmox/ceph-flag.d.ts.map +1 -1
- package/dist/proxmox/ceph-fs-distilled.d.ts +3 -3
- package/dist/proxmox/ceph-fs-distilled.d.ts.map +1 -1
- package/dist/proxmox/ceph-fs.d.ts +1 -1
- package/dist/proxmox/ceph-fs.d.ts.map +1 -1
- package/dist/proxmox/ceph-osd-tree.d.ts +1 -1
- package/dist/proxmox/ceph-osd-tree.d.ts.map +1 -1
- package/dist/proxmox/ceph-osd-write.d.ts +2 -2
- package/dist/proxmox/ceph-osd-write.d.ts.map +1 -1
- package/dist/proxmox/ceph-osd.d.ts +1 -1
- package/dist/proxmox/ceph-osd.d.ts.map +1 -1
- package/dist/proxmox/ceph-pool-settle.d.ts +2 -2
- package/dist/proxmox/ceph-pool-settle.d.ts.map +1 -1
- package/dist/proxmox/ceph-pool-wire.d.ts +1 -1
- package/dist/proxmox/ceph-pool-wire.d.ts.map +1 -1
- package/dist/proxmox/ceph-pool.d.ts +1 -1
- package/dist/proxmox/ceph-pool.d.ts.map +1 -1
- package/dist/proxmox/client.d.ts +1 -1
- package/dist/proxmox/client.d.ts.map +1 -1
- package/dist/proxmox/distilled-pbs.d.ts +1 -1
- package/dist/proxmox/distilled-pbs.d.ts.map +1 -1
- package/dist/proxmox/distilled-pve.d.ts +1 -1
- package/dist/proxmox/distilled-pve.d.ts.map +1 -1
- package/dist/proxmox/fake-pbs-jobs.d.ts +1 -1
- package/dist/proxmox/fake-pve.d.ts +1 -1
- package/dist/proxmox/fake-pve.d.ts.map +1 -1
- package/dist/proxmox/firewall-alias-lifecycle.d.ts +6 -6
- package/dist/proxmox/firewall-alias-lifecycle.d.ts.map +1 -1
- package/dist/proxmox/firewall-alias.d.ts +1 -1
- package/dist/proxmox/firewall-alias.d.ts.map +1 -1
- package/dist/proxmox/group-wire.d.ts +2 -2
- package/dist/proxmox/group-wire.d.ts.map +1 -1
- package/dist/proxmox/group.d.ts +1 -1
- package/dist/proxmox/group.d.ts.map +1 -1
- package/dist/proxmox/ha-resource.d.ts +1 -1
- package/dist/proxmox/ha-resource.d.ts.map +1 -1
- package/dist/proxmox/ha-rule.d.ts +1 -1
- package/dist/proxmox/ha-rule.d.ts.map +1 -1
- package/dist/proxmox/index.js +38 -17
- package/dist/proxmox/index.js.map +9 -9
- package/dist/proxmox/lease-cache.d.ts +2 -2
- package/dist/proxmox/lease-cache.d.ts.map +1 -1
- package/dist/proxmox/live-core-fixtures.d.ts +1 -1
- package/dist/proxmox/live-core-fixtures.d.ts.map +1 -1
- package/dist/proxmox/lxc-lifecycle.d.ts +3 -3
- package/dist/proxmox/lxc-lifecycle.d.ts.map +1 -1
- package/dist/proxmox/lxc-read.d.ts +1 -1
- package/dist/proxmox/lxc-read.d.ts.map +1 -1
- package/dist/proxmox/lxc-task.d.ts +1 -1
- package/dist/proxmox/lxc-task.d.ts.map +1 -1
- package/dist/proxmox/lxc.d.ts +1 -1
- package/dist/proxmox/lxc.d.ts.map +1 -1
- package/dist/proxmox/members.d.ts +3 -3
- package/dist/proxmox/members.d.ts.map +1 -1
- package/dist/proxmox/metric-server-distilled.d.ts +3 -3
- package/dist/proxmox/metric-server-distilled.d.ts.map +1 -1
- package/dist/proxmox/metric-server.d.ts +1 -1
- package/dist/proxmox/metric-server.d.ts.map +1 -1
- package/dist/proxmox/mint.d.ts +1 -1
- package/dist/proxmox/mint.d.ts.map +1 -1
- package/dist/proxmox/network-apply-read.d.ts +3 -3
- package/dist/proxmox/network-apply-read.d.ts.map +1 -1
- package/dist/proxmox/network-apply-run.d.ts +1 -1
- package/dist/proxmox/network-apply-run.d.ts.map +1 -1
- package/dist/proxmox/network-apply.d.ts +1 -1
- package/dist/proxmox/network-apply.d.ts.map +1 -1
- package/dist/proxmox/node-network-wire.d.ts +2 -2
- package/dist/proxmox/node-network-wire.d.ts.map +1 -1
- package/dist/proxmox/node-network.d.ts +1 -1
- package/dist/proxmox/node-network.d.ts.map +1 -1
- package/dist/proxmox/notification-matcher-distilled.d.ts +4 -4
- package/dist/proxmox/notification-matcher-distilled.d.ts.map +1 -1
- package/dist/proxmox/notification-matcher-lifecycle.d.ts +4 -4
- package/dist/proxmox/notification-matcher.d.ts +1 -1
- package/dist/proxmox/notification-matcher.d.ts.map +1 -1
- package/dist/proxmox/notification-target-distilled.d.ts +4 -4
- package/dist/proxmox/notification-target-distilled.d.ts.map +1 -1
- package/dist/proxmox/notification-target-lifecycle.d.ts +4 -4
- package/dist/proxmox/notification-target.d.ts +1 -1
- package/dist/proxmox/notification-target.d.ts.map +1 -1
- package/dist/proxmox/pbs-datastore-lifecycle.d.ts +4 -4
- package/dist/proxmox/pbs-datastore-wire.d.ts +4 -4
- package/dist/proxmox/pbs-datastore-wire.d.ts.map +1 -1
- package/dist/proxmox/pbs-datastore.d.ts +1 -1
- package/dist/proxmox/pbs-datastore.d.ts.map +1 -1
- package/dist/proxmox/pbs-notification-matcher-distilled.d.ts +4 -4
- package/dist/proxmox/pbs-notification-matcher-distilled.d.ts.map +1 -1
- package/dist/proxmox/pbs-notification-matcher.d.ts +1 -1
- package/dist/proxmox/pbs-notification-matcher.d.ts.map +1 -1
- package/dist/proxmox/pbs-notification-target-distilled.d.ts +4 -4
- package/dist/proxmox/pbs-notification-target-distilled.d.ts.map +1 -1
- package/dist/proxmox/pbs-notification-target-lifecycle.d.ts +4 -4
- package/dist/proxmox/pbs-notification-target.d.ts +1 -1
- package/dist/proxmox/pbs-notification-target.d.ts.map +1 -1
- package/dist/proxmox/pbs-prune-job-lifecycle.d.ts +4 -4
- package/dist/proxmox/pbs-prune-job-wire.d.ts +4 -4
- package/dist/proxmox/pbs-prune-job-wire.d.ts.map +1 -1
- package/dist/proxmox/pbs-prune-job.d.ts +1 -1
- package/dist/proxmox/pbs-prune-job.d.ts.map +1 -1
- package/dist/proxmox/pbs-sync-job-lifecycle.d.ts +4 -4
- package/dist/proxmox/pbs-sync-job-wire.d.ts +4 -4
- package/dist/proxmox/pbs-sync-job-wire.d.ts.map +1 -1
- package/dist/proxmox/pbs-sync-job.d.ts +1 -1
- package/dist/proxmox/pbs-sync-job.d.ts.map +1 -1
- package/dist/proxmox/pbs-verify-job-lifecycle.d.ts +4 -4
- package/dist/proxmox/pbs-verify-job-wire.d.ts +4 -4
- package/dist/proxmox/pbs-verify-job-wire.d.ts.map +1 -1
- package/dist/proxmox/pbs-verify-job.d.ts +1 -1
- package/dist/proxmox/pbs-verify-job.d.ts.map +1 -1
- package/dist/proxmox/pool.d.ts +3 -3
- package/dist/proxmox/pool.d.ts.map +1 -1
- package/dist/proxmox/provision-declare.d.ts +1 -1
- package/dist/proxmox/provision-declare.d.ts.map +1 -1
- package/dist/proxmox/qemu-lifecycle.d.ts +3 -3
- package/dist/proxmox/qemu-lifecycle.d.ts.map +1 -1
- package/dist/proxmox/qemu-read.d.ts +1 -1
- package/dist/proxmox/qemu-read.d.ts.map +1 -1
- package/dist/proxmox/qemu-resize.d.ts +1 -1
- package/dist/proxmox/qemu-resize.d.ts.map +1 -1
- package/dist/proxmox/qemu-task.d.ts +1 -1
- package/dist/proxmox/qemu-task.d.ts.map +1 -1
- package/dist/proxmox/qemu.d.ts +1 -1
- package/dist/proxmox/qemu.d.ts.map +1 -1
- package/dist/proxmox/replication-job-lifecycle.d.ts +6 -6
- package/dist/proxmox/replication-job-lifecycle.d.ts.map +1 -1
- package/dist/proxmox/replication-job.d.ts +1 -1
- package/dist/proxmox/replication-job.d.ts.map +1 -1
- package/dist/proxmox/resource-spec.d.ts +1 -1
- package/dist/proxmox/resource-spec.d.ts.map +1 -1
- package/dist/proxmox/resource.d.ts +8 -8
- package/dist/proxmox/role.d.ts +1 -1
- package/dist/proxmox/role.d.ts.map +1 -1
- package/dist/proxmox/sdn-apply-read.d.ts +1 -1
- package/dist/proxmox/sdn-apply-read.d.ts.map +1 -1
- package/dist/proxmox/sdn-apply.d.ts +1 -1
- package/dist/proxmox/sdn-apply.d.ts.map +1 -1
- package/dist/proxmox/sdn-subnet.d.ts +1 -1
- package/dist/proxmox/sdn-subnet.d.ts.map +1 -1
- package/dist/proxmox/sdn-vnet.d.ts +1 -1
- package/dist/proxmox/sdn-vnet.d.ts.map +1 -1
- package/dist/proxmox/sdn-zone.d.ts +1 -1
- package/dist/proxmox/sdn-zone.d.ts.map +1 -1
- package/dist/proxmox/storage-download-lifecycle.d.ts +6 -6
- package/dist/proxmox/storage-download-lifecycle.d.ts.map +1 -1
- package/dist/proxmox/storage-download-task.d.ts +1 -1
- package/dist/proxmox/storage-download-task.d.ts.map +1 -1
- package/dist/proxmox/storage-download.d.ts +1 -1
- package/dist/proxmox/storage-download.d.ts.map +1 -1
- package/dist/proxmox/storage-wire.d.ts +2 -2
- package/dist/proxmox/storage-wire.d.ts.map +1 -1
- package/dist/proxmox/storage.d.ts +1 -1
- package/dist/proxmox/storage.d.ts.map +1 -1
- package/dist/proxmox/user-wire.d.ts +2 -2
- package/dist/proxmox/user-wire.d.ts.map +1 -1
- package/dist/proxmox/user.d.ts +1 -1
- package/dist/proxmox/user.d.ts.map +1 -1
- package/dist/proxmox/zfs-pool-form.d.ts +2 -2
- package/dist/proxmox/zfs-pool-form.d.ts.map +1 -1
- package/dist/proxmox/zfs-pool-wire.d.ts +2 -2
- package/dist/proxmox/zfs-pool-wire.d.ts.map +1 -1
- package/dist/proxmox/zfs-pool.d.ts +1 -1
- package/dist/proxmox/zfs-pool.d.ts.map +1 -1
- package/dist/release/binary.d.ts +1 -1
- package/dist/release/binary.d.ts.map +1 -1
- package/dist/release/download.d.ts +1 -1
- package/dist/release/download.d.ts.map +1 -1
- package/dist/release/index.js +6 -5
- package/dist/release/index.js.map +5 -5
- package/dist/talos/credentials-write.d.ts +1 -1
- package/dist/talos/credentials-write.d.ts.map +1 -1
- package/dist/talos/credentials.d.ts +1 -1
- package/dist/talos/credentials.d.ts.map +1 -1
- package/dist/talos/fake-process.d.ts +2 -2
- package/dist/talos/fake-process.d.ts.map +1 -1
- package/dist/talos/index.js +7 -7
- package/dist/talos/index.js.map +4 -4
- package/dist/talos/kubeconfig.d.ts +4 -4
- package/dist/talos/kubeconfig.d.ts.map +1 -1
- package/dist/talos/machine-config-fixtures.d.ts +1 -1
- package/dist/talos/machine-config-fixtures.d.ts.map +1 -1
- package/dist/talos/machine-config-read.d.ts +3 -3
- package/dist/talos/machine-config-read.d.ts.map +1 -1
- package/dist/talos/resource.d.ts +1 -1
- package/dist/talos/resource.d.ts.map +1 -1
- package/dist/talos/talos-bootstrap-etcd.d.ts +2 -2
- package/dist/talos/talos-bootstrap-etcd.d.ts.map +1 -1
- package/dist/talos/talos-bootstrap.d.ts +4 -4
- package/dist/talos/talos-bootstrap.d.ts.map +1 -1
- package/dist/talos/talos-cluster-health.d.ts +4 -4
- package/dist/talos/talos-cluster-health.d.ts.map +1 -1
- package/dist/talos/talos-machine-config.d.ts +2 -2
- package/dist/talos/talos-machine-config.d.ts.map +1 -1
- package/dist/talos/talosctl.d.ts +1 -1
- package/dist/talos/talosctl.d.ts.map +1 -1
- package/dist/telemetry/index.js +4 -4
- package/dist/telemetry/index.js.map +3 -3
- package/dist/telemetry/redact-serialization.d.ts +2 -2
- package/dist/telemetry/redact-serialization.d.ts.map +1 -1
- package/dist/unifi/acl-rule-ordering.d.ts +6 -6
- package/dist/unifi/acl-rule-ordering.d.ts.map +1 -1
- package/dist/unifi/acl-rule.d.ts +6 -6
- package/dist/unifi/acl-rule.d.ts.map +1 -1
- package/dist/unifi/dns-policy.d.ts +6 -6
- package/dist/unifi/dns-policy.d.ts.map +1 -1
- package/dist/unifi/fake-unifi.d.ts +1 -1
- package/dist/unifi/fake-unifi.d.ts.map +1 -1
- package/dist/unifi/firewall-policy-ordering.d.ts +6 -6
- package/dist/unifi/firewall-policy-ordering.d.ts.map +1 -1
- package/dist/unifi/firewall-policy.d.ts +6 -6
- package/dist/unifi/firewall-policy.d.ts.map +1 -1
- package/dist/unifi/firewall-zone.d.ts +6 -6
- package/dist/unifi/firewall-zone.d.ts.map +1 -1
- package/dist/unifi/index.js +2 -2
- package/dist/unifi/index.js.map +2 -2
- package/dist/unifi/network.d.ts +6 -6
- package/dist/unifi/network.d.ts.map +1 -1
- package/dist/unifi/providers.d.ts +1 -1
- package/dist/unifi/providers.d.ts.map +1 -1
- package/dist/unifi/resource.d.ts +1 -1
- package/dist/unifi/resource.d.ts.map +1 -1
- package/dist/unifi/traffic-matching-list.d.ts +6 -6
- package/dist/unifi/traffic-matching-list.d.ts.map +1 -1
- package/dist/unifi/wifi-broadcast.d.ts +6 -6
- package/dist/unifi/wifi-broadcast.d.ts.map +1 -1
- package/dist/verify/cli.js.map +1 -1
- package/dist/verify/index.js.map +1 -1
- package/docs/distilled-interim.md +1 -1
- package/docs/mesh-node.md +1 -1
- package/docs/paperless.md +1 -1
- package/docs/peers.md +8 -8
- package/docs/telemetry.md +1 -1
- package/package.json +20 -20
- package/src/argocd/fake-argocd.ts +1 -1
- package/src/argocd/resource.ts +1 -1
- package/src/caddy/admin-transport-scope.test.ts +2 -2
- package/src/caddy/admin.ts +1 -1
- package/src/caddy/caddy-http-client.ts +5 -5
- package/src/caddy/config-adopt.test.ts +2 -2
- package/src/caddy/format.ts +2 -2
- package/src/caddy/local-admin.test.ts +1 -1
- package/src/ceph/auth-entity.ts +1 -1
- package/src/ceph/ceph-auth-reconcile.ts +1 -1
- package/src/cloudflare/fake-mesh.ts +1 -1
- package/src/cloudflare/fake-r2-lock.ts +1 -1
- package/src/cloudflare/mesh-node-harness.ts +1 -1
- package/src/cloudflare/mesh-node.ts +1 -1
- package/src/cloudflare/r2-bucket-lock.ts +1 -1
- package/src/discord/fake-discord.ts +1 -1
- package/src/discord/resource.ts +1 -1
- package/src/forgejo/fake-forgejo.ts +1 -1
- package/src/forgejo/resource.ts +1 -1
- package/src/google-workspace/fake-google-workspace.ts +1 -1
- package/src/google-workspace/resource.ts +1 -1
- package/src/grafana/fake-grafana.ts +1 -1
- package/src/litellm/access-group.test.ts +1 -1
- package/src/litellm/credential-errors.ts +1 -1
- package/src/litellm/credential-guards.test.ts +1 -1
- package/src/litellm/credential-operations.ts +1 -1
- package/src/litellm/credential-rewrite.test.ts +1 -1
- package/src/litellm/fake-stack.ts +1 -1
- package/src/litellm/key-errors.ts +1 -1
- package/src/litellm/key-harness.ts +1 -1
- package/src/litellm/key-operations.ts +1 -1
- package/src/litellm/key.test.ts +2 -1
- package/src/litellm/mcp-server-handlers.test.ts +1 -1
- package/src/litellm/mcp-server-registry.test.ts +1 -1
- package/src/litellm/model-operations.test.ts +1 -1
- package/src/litellm/operations.ts +1 -1
- package/src/litellm/pass-through-endpoint-delete-swallow.test.ts +1 -1
- package/src/litellm/pass-through-endpoint.test.ts +1 -1
- package/src/litellm/pass-through-fetch-client.test.ts +2 -2
- package/src/litellm/policy-attachment.test.ts +1 -1
- package/src/litellm/policy.test.ts +1 -1
- package/src/litellm/team-members.test.ts +1 -1
- package/src/litellm/team-read.test.ts +1 -1
- package/src/litellm/tool-policy.test.ts +1 -1
- package/src/litellm/toolset.test.ts +1 -1
- package/src/netbox/fake-netbox.ts +1 -1
- package/src/netbox/resource.ts +1 -1
- package/src/openbao/adopt-core.test.ts +4 -1
- package/src/openbao/adopt-families.test.ts +4 -1
- package/src/openbao/adopt-holes.test.ts +1 -1
- package/src/openbao/adopt-recovery.test.ts +24 -0
- package/src/openbao/approle-login.ts +2 -2
- package/src/openbao/auth-method-reconcile.ts +1 -1
- package/src/openbao/auth-method.ts +1 -1
- package/src/openbao/auth-role-sdk.test.ts +1 -1
- package/src/openbao/auth-role.ts +1 -1
- package/src/openbao/bao-http.test.ts +3 -3
- package/src/openbao/bao-http.ts +4 -4
- package/src/openbao/bao-identity.ts +2 -2
- package/src/openbao/cloudflare-permission-groups.ts +1 -1
- package/src/openbao/cloudflare-role-wire.ts +1 -1
- package/src/openbao/cloudflare-role.ts +1 -1
- package/src/openbao/distilled-retry.test.ts +3 -3
- package/src/openbao/distilled.test.ts +3 -3
- package/src/openbao/distilled.ts +2 -2
- package/src/openbao/fake-bao.ts +2 -2
- package/src/openbao/fake-core.ts +1 -1
- package/src/openbao/fake-engines.ts +1 -1
- package/src/openbao/fake-families.ts +1 -1
- package/src/openbao/fake-stack.ts +13 -3
- package/src/openbao/jwt-config.ts +1 -1
- package/src/openbao/jwt-role.ts +1 -1
- package/src/openbao/kubernetes-role.ts +1 -1
- package/src/openbao/mfa-enforcement.ts +1 -1
- package/src/openbao/mfa-totp.ts +1 -1
- package/src/openbao/mfa-wire.ts +1 -1
- package/src/openbao/mount-move.ts +1 -1
- package/src/openbao/mount-reconcile.ts +1 -1
- package/src/openbao/mount.ts +1 -1
- package/src/openbao/pki-role.ts +1 -1
- package/src/openbao/plugin-reconcile.ts +1 -1
- package/src/openbao/plugin-wire.ts +1 -1
- package/src/openbao/plugin.ts +1 -1
- package/src/openbao/policy.ts +1 -1
- package/src/openbao/proxmox-role.ts +1 -1
- package/src/openbao/remount-wire.ts +1 -1
- package/src/openbao/rename-occupied.test.ts +1 -1
- package/src/openbao/role-reconcile.ts +1 -1
- package/src/openbao/role-rename.test.ts +1 -1
- package/src/openbao/ssh-role.ts +1 -1
- package/src/opnsense/fake-opnsense.ts +1 -1
- package/src/opnsense/resource.ts +1 -1
- package/src/ownership/probe.ts +51 -2
- package/src/paperless/fake-paperless.ts +1 -1
- package/src/paperless/matching-types.ts +1 -1
- package/src/postgres/connection.ts +1 -1
- package/src/postgres/database-bigint-serialization.test.ts +1 -1
- package/src/postgres/database-sql.ts +1 -1
- package/src/postgres/database.ts +1 -1
- package/src/postgres/fake-grants-read.ts +1 -1
- package/src/postgres/fake-grants-sql.ts +1 -1
- package/src/postgres/fake-grants-write.ts +1 -1
- package/src/postgres/fake-role-sql.ts +1 -1
- package/src/postgres/fake-schema-drop.ts +1 -1
- package/src/postgres/fake-schema-sql.ts +1 -1
- package/src/postgres/fake-sql.ts +1 -1
- package/src/postgres/grants-existence.ts +1 -1
- package/src/postgres/grants-ops.ts +1 -1
- package/src/postgres/grants-ownership.ts +1 -1
- package/src/postgres/grants-read-defaults.ts +1 -1
- package/src/postgres/grants-read.ts +1 -1
- package/src/postgres/grants-relkind-wire.test.ts +6 -4
- package/src/postgres/installed-classifier.ts +1 -1
- package/src/postgres/psql-executor.ts +1 -6
- package/src/postgres/role-membership-sql.ts +1 -1
- package/src/postgres/role-password-transports.test.ts +2 -2
- package/src/postgres/role-sql.ts +1 -1
- package/src/postgres/role.ts +1 -1
- package/src/postgres/schema-assert.ts +1 -1
- package/src/postgres/schema-delete.ts +1 -1
- package/src/postgres/schema-drop-2bp01.test.ts +1 -1
- package/src/postgres/schema-drop-sql.ts +1 -1
- package/src/postgres/schema-drop.test.ts +1 -1
- package/src/postgres/schema-reconcile.ts +1 -1
- package/src/postgres/schema-socket.test.ts +1 -1
- package/src/postgres/schema-sql.ts +1 -1
- package/src/postgres/search-path.ts +1 -1
- package/src/proxmox/ceph-flag-wire.test.ts +1 -1
- package/src/proxmox/ceph-fs-destroy-sdk.test.ts +1 -1
- package/src/proxmox/ceph-pool-write.test.ts +1 -1
- package/src/proxmox/client.test.ts +2 -2
- package/src/proxmox/client.ts +2 -2
- package/src/proxmox/credentials.test.ts +1 -1
- package/src/proxmox/distilled-pbs.test.ts +1 -1
- package/src/proxmox/distilled-pbs.ts +1 -1
- package/src/proxmox/distilled-pve.test.ts +2 -2
- package/src/proxmox/distilled-pve.ts +1 -1
- package/src/proxmox/fake-pbs-jobs.ts +1 -1
- package/src/proxmox/fake-pve.ts +1 -1
- package/src/proxmox/lease-cache-mint.test.ts +1 -1
- package/src/proxmox/live-core-fixtures.ts +1 -1
- package/src/proxmox/lxc-distilled.test.ts +1 -1
- package/src/proxmox/lxc-harness.ts +1 -1
- package/src/proxmox/members-timeout.test.ts +3 -3
- package/src/proxmox/members.test.ts +1 -1
- package/src/proxmox/members.ts +4 -4
- package/src/proxmox/mint.ts +4 -4
- package/src/proxmox/node-network-read-failure.test.ts +1 -1
- package/src/proxmox/qemu-lifecycle.ts +1 -1
- package/src/proxmox/read-failure-propagation.test.ts +1 -1
- package/src/proxmox/resource-spec.ts +1 -1
- package/src/proxmox/storage-read-failure.test.ts +1 -1
- package/src/proxmox/typed-absence.test.ts +2 -2
- package/src/proxmox/unreadable-read.test.ts +1 -1
- package/src/proxmox/user.test.ts +1 -1
- package/src/proxmox/zfs-pool-read-failure.test.ts +1 -1
- package/src/release/adopt-parity.test.ts +3 -1
- package/src/release/apply-pins.test.ts +2 -2
- package/src/release/binary-root.test.ts +2 -2
- package/src/release/binary.ts +9 -2
- package/src/release/download.test.ts +3 -3
- package/src/release/download.ts +1 -1
- package/src/release/fake-deploy.ts +2 -2
- package/src/release/fake-engine.ts +2 -2
- package/src/release/fake-provider.ts +2 -2
- package/src/release/plan.test.ts +2 -2
- package/src/release/providers.ts +1 -1
- package/src/talos/credentials-write.test.ts +1 -1
- package/src/talos/credentials-write.ts +2 -2
- package/src/talos/credentials.test.ts +1 -1
- package/src/talos/credentials.ts +2 -2
- package/src/talos/fake-process.ts +2 -2
- package/src/talos/kubeconfig.test.ts +1 -1
- package/src/talos/machine-config-fixtures.ts +1 -1
- package/src/talos/resource.ts +1 -1
- package/src/talos/talos-bootstrap.test.ts +1 -1
- package/src/talos/talos-cluster-health.test.ts +1 -1
- package/src/talos/talosctl.ts +2 -2
- package/src/telemetry/http-client-sealing.test.ts +2 -2
- package/src/telemetry/layer.test.ts +3 -3
- package/src/telemetry/layer.ts +2 -2
- package/src/telemetry/redact-serialization.ts +2 -2
- package/src/unifi/fake-unifi.ts +1 -1
- package/src/unifi/get-only-guard.test.ts +3 -3
- package/src/unifi/resource.ts +1 -1
- package/src/verify/args.ts +1 -1
package/dist/opnsense/group.d.ts
CHANGED
|
@@ -40,7 +40,7 @@ export declare const handlers: {
|
|
|
40
40
|
read: ({ olds, output }: {
|
|
41
41
|
olds: GroupProps;
|
|
42
42
|
output: GroupAttributes | undefined;
|
|
43
|
-
}) => Effect.Effect<GroupAttributes | undefined, OpnsenseOpError, import("effect/
|
|
43
|
+
}) => Effect.Effect<GroupAttributes | undefined, OpnsenseOpError, import("effect/http/HttpClient").HttpClient>;
|
|
44
44
|
diff: ({ news, output }: {
|
|
45
45
|
news: import("alchemy").Input<GroupProps>;
|
|
46
46
|
output: GroupAttributes | undefined;
|
|
@@ -48,15 +48,15 @@ export declare const handlers: {
|
|
|
48
48
|
readonly action: 'update';
|
|
49
49
|
} | {
|
|
50
50
|
readonly action: 'noop';
|
|
51
|
-
} | undefined, OpnsenseOpError, import("effect/
|
|
51
|
+
} | undefined, OpnsenseOpError, import("effect/http/HttpClient").HttpClient>;
|
|
52
52
|
reconcile: ({ news }: {
|
|
53
53
|
news: GroupProps;
|
|
54
|
-
}) => Effect.Effect<never, import("./policy.ts").OpnsenseWriteRefused | OpnsenseOpError, import("effect/
|
|
54
|
+
}) => Effect.Effect<never, import("./policy.ts").OpnsenseWriteRefused | OpnsenseOpError, import("effect/http/HttpClient").HttpClient>;
|
|
55
55
|
delete: ({ olds }: {
|
|
56
56
|
olds: GroupProps;
|
|
57
57
|
}) => Effect.Effect<never, import("./policy.ts").OpnsenseWriteRefused, never>;
|
|
58
58
|
};
|
|
59
|
-
export declare const OpnsenseFirewallGroupProvider: () => import("effect/Layer").Layer<Provider.Provider<OpnsenseFirewallGroup>, never, import("effect/
|
|
59
|
+
export declare const OpnsenseFirewallGroupProvider: () => import("effect/Layer").Layer<Provider.Provider<OpnsenseFirewallGroup>, never, import("effect/http/HttpClient").HttpClient>;
|
|
60
60
|
/** `firewallGroup('name', { uuid, ifname, members })` — `adopt(true)` piped by default (H5). */
|
|
61
|
-
export declare const firewallGroup: (id: string, props: GroupProps) => Effect.Effect<OpnsenseFirewallGroup, never, import("effect/
|
|
61
|
+
export declare const firewallGroup: (id: string, props: GroupProps) => Effect.Effect<OpnsenseFirewallGroup, never, import("effect/http/HttpClient").HttpClient>;
|
|
62
62
|
//# sourceMappingURL=group.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"group.d.ts","sourceRoot":"","sources":["../../src/opnsense/group.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,KAAK,MAAM,0CAA0C,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,YAAY,EAAW,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAGxE,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,oEAAoE;IACpE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,yEAAyE;IACzE,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,kGAAkG;IAClG,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,+FAA+F;IAC/F,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,qBAAsB,SAAQ,QAAQ,CACrD,yBAAyB,EACzB,UAAU,EACV,eAAe,EACf,KAAK,EACL,oBAAoB,CACrB;CAAG;AAEJ,eAAO,MAAM,qBAAqB,wDAEhC,CAAC;AAEH,eAAO,MAAM,uBAAuB,UAAW,OAAO,KAAG,KAAK,IAAI,qBAGA,CAAC;AAEnE,eAAO,MAAM,IAAI,EAAE,YAAY,CAC7B,UAAU,EACV,KAAK,CAAC,yBAAyB,EAC/B,eAAe,EACf,eAAe,CAOhB,CAAC;AAEF,iGAAiG;AACjG,eAAO,MAAM,aAAa,qBAAe,CAAC;AAE1C,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;CAAyB,CAAC;AAE/C,eAAO,MAAM,6BAA6B,
|
|
1
|
+
{"version":3,"file":"group.d.ts","sourceRoot":"","sources":["../../src/opnsense/group.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,KAAK,MAAM,0CAA0C,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,YAAY,EAAW,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAGxE,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,oEAAoE;IACpE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,yEAAyE;IACzE,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,kGAAkG;IAClG,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,+FAA+F;IAC/F,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,qBAAsB,SAAQ,QAAQ,CACrD,yBAAyB,EACzB,UAAU,EACV,eAAe,EACf,KAAK,EACL,oBAAoB,CACrB;CAAG;AAEJ,eAAO,MAAM,qBAAqB,wDAEhC,CAAC;AAEH,eAAO,MAAM,uBAAuB,UAAW,OAAO,KAAG,KAAK,IAAI,qBAGA,CAAC;AAEnE,eAAO,MAAM,IAAI,EAAE,YAAY,CAC7B,UAAU,EACV,KAAK,CAAC,yBAAyB,EAC/B,eAAe,EACf,eAAe,CAOhB,CAAC;AAEF,iGAAiG;AACjG,eAAO,MAAM,aAAa,qBAAe,CAAC;AAE1C,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;CAAyB,CAAC;AAE/C,eAAO,MAAM,6BAA6B,kIAIvC,CAAC;AAEJ,gGAAgG;AAChG,eAAO,MAAM,aAAa,OAAQ,MAAM,SAAS,UAAU,6FACP,CAAC"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"/**\n * `Opnsense.Firewall.Alias` — a read-only declaration of one `firewall/alias` item on the edge.\n * READ-ONLY BY DESIGN — see policy.ts's header. `reconcile`/`delete` always refuse.\n *\n * ★ READ GOES THROUGH `get()`, NEVER `getItem`/`searchItem`. `get()` (`firewall_alias.ts#get`)\n * returns the WHOLE model tree — `{ alias: { aliases: { alias: { <uuid>: ModelAliasReadItem,\n * ... } } } }` — so finding one item by uuid is an object-key lookup, not a request the vendor\n * could answer ambiguously. `Alias` has no per-item `getAlias` operation at all (`getItemAction`\n * decorates its result — see the distilled clone's package README) — only `get` (whole model)\n * and `searchAlias` (paginated, see below) exist, so this family's whole-model read is the only\n * option here (unlike Category/Group, whose `getCategory`/`getGroup` per-item operations now\n * exist correctly — OPNSENSE-1 — but this file still uses `get()` uniformly across the three\n * resources; switching Category/Group to their per-item operation is a separate, later PR).\n * `ModelAliasReadItem`'s list-shaped fields (`type`/`interface`/`proto`/`categories`) decode as\n * option maps, not strings (OPNSENSE-2) — see `alias-form.ts`'s `attributesOf`.\n *\n * ⛔ NOT `searchAlias`. It is POST-shaped (a read, per OPNsense's own MVC convention — see the\n * family's docs page) and paginated with no typed limit/offset the generated request schema\n * exposes, so a large alias set could silently page-truncate through it. `get()` has neither\n * problem: GET, and the WHOLE model in one call, no pagination to fall short of.\n *\n * ⚠️ `uuid` IS THE ONLY STABLE IDENTITY THIS FAMILY DECLARES BY. A name is close to stable\n * (`AliasNameField` is unique) but is not what `get()`'s map is keyed on — obtain the live\n * uuid once (a future import script does this from a live read, via `propsFromLive` below)\n * and declare it from then on, the same \"adoption is explicit, one identity at a time\" posture\n * `../proxmox/user.ts` and `../netbox/resource.ts` document for their own families.\n */\nimport { adopt } from 'alchemy/AdoptPolicy';\nimport { Resource } from 'alchemy';\nimport * as Provider from 'alchemy/Provider';\nimport * as Alias from '@distilled.cloud/opnsense/firewall_alias';\nimport type { OpnsenseOpError } from '@distilled.cloud/opnsense/Protocol';\nimport * as Effect from 'effect/Effect';\nimport { attributesOf, matches } from './alias-form.ts';\nimport type { OpnsenseRequirements, OpnsenseSpec } from './resource.ts';\nimport { opnsenseHandlers } from './resource.ts';\n\nexport interface AliasProps {\n /** OPNsense-assigned uuid — see the file header on why this is the only identity to declare by. */\n readonly uuid: string;\n readonly name: string;\n /** e.g. `host`, `network`, `port`, `url`, `geoip`, `networkgroup` — OPNsense's own alias types. */\n readonly type: string;\n /** Default true, matching OPNsense's own `enabled=1`. */\n readonly enabled?: boolean;\n /** The alias's members — a host list, a CIDR, a URL, depending on `type`. */\n readonly content?: string;\n readonly interface?: string;\n /** `IPv4` or `IPv6`, for a `geoip`/`networkgroup` alias; comma-joined on the wire (wire.ts). */\n readonly proto?: string;\n readonly counters?: boolean;\n /** Minutes between refreshes, for a `url`/`urltable` alias. */\n readonly updatefreq?: number;\n readonly categories?: readonly string[];\n readonly description?: string;\n}\n\nexport interface AliasAttributes {\n readonly uuid: string;\n readonly name: string;\n readonly type: string;\n readonly enabled: boolean;\n readonly content: string;\n readonly interface: string;\n readonly proto: string;\n readonly counters: boolean;\n readonly updatefreq: number;\n readonly categories: readonly string[];\n readonly description: string;\n}\n\nexport interface OpnsenseFirewallAlias extends Resource<\n 'Opnsense.Firewall.Alias',\n AliasProps,\n AliasAttributes,\n never,\n OpnsenseRequirements\n> {}\n\nexport const OpnsenseFirewallAlias = Resource<OpnsenseFirewallAlias>('Opnsense.Firewall.Alias', {\n // The edge's own config, not this stack's to reclaim — see policy.ts.\n defaultRemovalPolicy: 'retain',\n});\n\nexport const isOpnsenseFirewallAlias = (value: unknown): value is OpnsenseFirewallAlias =>\n typeof value === 'object' &&\n value !== null &&\n (value as { Type?: unknown }).Type === 'Opnsense.Firewall.Alias';\n\n/** Exported for direct testing against `fake-opnsense.ts` — the same seam `../discord/*.ts` uses. */\nexport const spec: OpnsenseSpec<\n AliasProps,\n Alias.ModelAliasReadItem,\n AliasAttributes,\n OpnsenseOpError\n> = {\n attributes: attributesOf,\n fetchLive: (props) =>\n Alias.get({}).pipe(Effect.map((res) => res.alias?.aliases?.alias?.[props.uuid])),\n matches,\n resourceType: 'Opnsense.Firewall.Alias',\n};\n\n/**\n * The pure declaration renderer: given the uuid `get()`'s map key names and the `AliasItem`\n * decoded at that key, return the props a declaration needs so `firewallAlias.spec.matches`\n * reports noop against it. A later import script iterates `Object.entries(map)` and calls this\n * once per row to generate an `alchemy.run.ts` row — see `alias-form.test.ts`'s round-trip test.\n */\nexport const propsFromLive = attributesOf;\n\nexport const handlers = opnsenseHandlers(spec);\n\nexport const OpnsenseFirewallAliasProvider = () =>\n Provider.effect(\n OpnsenseFirewallAlias,\n Effect.succeed(OpnsenseFirewallAlias.Provider.of(handlers)),\n );\n\n/** `firewallAlias('name-alias', { uuid, name, type })` — `adopt(true)` piped by default (H5), so\n * declaring a live alias's own uuid takes it over silently instead of failing `OwnedBySomeoneElse`. */\nexport const firewallAlias = (id: string, props: AliasProps) =>\n OpnsenseFirewallAlias(id, props).pipe(adopt(true));\n",
|
|
6
6
|
"/**\n * How OPNsense's MVC model spells a value on the wire, and how to get it back to something\n * comparable — the `../proxmox/values.ts` idea, scoped to this vendor's own spellings.\n *\n * ★ OPNSENSE HAS EXACTLY TWO WIRE SHAPES THIS FAMILY NEEDS ON WRITE (props stay plain values;\n * this family never writes, but `matches` compares against them). Every `BooleanField` is the\n * string `\"1\"` or `\"0\"` (never a JSON boolean). Every multi-select `OptionField`/\n * `ModelRelationField`'s WRITE-side spelling is a SINGLE comma-joined string, not a JSON array.\n *\n * ⚠️ READ IS A THIRD SHAPE (OPNSENSE-2, distilled `homeflare/opnsense`'s `read-shape.ts`): the\n * SAME list-shaped fields decode on GET as an option map `{key: {value, selected}}`, not a\n * string — `AliasItem`/`GroupItem` (this family's OLD, pre-fix type references) were the\n * WRITE-shaped structs; `fetchLive` actually decodes `ModelAliasReadItem`/\n * `ModelIfgroupentryReadItem` (the WHOLE-MODEL GET's read-shaped item), whose `type`/\n * `interface`/`proto`/`categories`/`members` are option maps. `selectedOf`/`selectedOneOf`\n * below extract the selected key(s) back to the SAME plain-string/string[] shape `matches`\n * already compares, so the rest of this family's logic (and `AliasAttributes`/\n * `GroupAttributes`'s own field types) is unchanged.\n *\n * ⚠️ COMMA-LIST ORDER ROUND-TRIP IS NOT ASSUMED STABLE. OPNsense builds these from a PHP\n * associative array, and nothing in the model XML promises the join order survives a\n * save-then-read unchanged. Sorting and deduplicating both sides before comparing is what makes\n * `matches` (alias-form.ts, group-form.ts) actually settle instead of reporting drift on a\n * re-ordered list that changed nothing — the same reasoning `../proxmox/user-wire.ts`'s\n * `groupSet` documents for PVE's `groups` field.\n */\n\n/** OPNsense's own boolean spelling. Absent takes the caller's stated default — OPNsense's own\n * default for a `BooleanField` is form-specific, so there is no house-wide fallback here. */\nexport const bool01 = (value: string | undefined, fallback: boolean): boolean =>\n value === undefined ? fallback : value === '1';\n\n/** The write direction, for symmetry — unused today (this family never writes), kept so a form\n * helper never has to guess the spelling if lifting the read-only policy adds one later. */\nexport const toBool01 = (value: boolean): string => (value ? '1' : '0');\n\n/**\n * A comma-joined multi-select column, normalised to a sorted, deduplicated set — see the module\n * header's ⚠️ for why normalising (not just splitting) is what makes a diff settle.\n */\nexport const csvSet = (value: string | undefined): readonly string[] => {\n if (value === undefined || value.trim() === '') return [];\n const items = value\n .split(',')\n .map((item) => item.trim())\n .filter((item) => item !== '');\n return [...new Set(items)].sort();\n};\n\n/** A declared array, normalised the SAME way `csvSet` normalises the wire, so `matches` compares\n * two sets built by one function rather than trusting the caller's array to already be sorted. */\nexport const csvSetOf = (value: readonly string[] | undefined): readonly string[] =>\n csvSet(value === undefined ? undefined : value.join(','));\n\n/**\n * OPNsense's numeric-as-string fields (`\"60\"`, `\"0\"`), tolerant of an already-numeric input the\n * same way `../proxmox/user-wire.ts`'s `int` is tolerant of PVE's mixed number/string releases.\n */\nexport const numField = (value: string | undefined, fallback: number): number => {\n if (value === undefined) return fallback;\n const parsed = Number(value);\n return Number.isFinite(parsed) ? parsed : fallback;\n};\n\n/** One entry of a GET-decoded option map — `{value: <label>, selected: 0|1}`, see this file's\n * module doc. Structural, not imported from the SDK: every generated `*Map` field shares this\n * exact shape (`OptionEntry` in each service module), and staying structural here avoids a\n * per-resource-file type import just for this. */\nexport interface OpnsenseOptionEntry {\n readonly value: string;\n readonly selected: number;\n}\n\n/**\n * The selected key(s) of a GET-decoded option map, normalised the same way `csvSet` normalises\n * the write-side comma string — sorted, deduplicated, empty-key filtered. Use for a\n * `Multiple=\"Y\"` field (`AliasItem.proto`, `AliasItem.categories`, `GroupItem.members`); for a\n * single-select field use `selectedOneOf`.\n */\nexport const selectedOf = (\n map: Readonly<Record<string, OpnsenseOptionEntry | undefined>> | undefined,\n): readonly string[] => {\n if (map === undefined) return [];\n const keys = Object.entries(map)\n .filter(([key, entry]) => key !== '' && entry?.selected === 1)\n .map(([key]) => key);\n return [...new Set(keys)].sort();\n};\n\n/** Single-select convenience over `selectedOf` — the one selected key, or `''` if none (the same\n * \"absent\" spelling a plain string field uses, e.g. `AliasItem.type`/`GroupItem`'s own\n * `.\\InterfaceField` members when not `Multiple=\"Y\"`). */\nexport const selectedOneOf = (\n map: Readonly<Record<string, OpnsenseOptionEntry | undefined>> | undefined,\n): string => selectedOf(map)[0] ?? '';\n\n/** The encode direction, for test fixtures: every listed key marked `selected: 1`, mirroring a\n * real OPNsense GET response (`{[key]: {value, selected: 1}}`) — so a fixture exercises the exact\n * decode path `selectedOf`/`selectedOneOf` handle, not the pre-fix plain-string shape. */\nexport const optionMap = (...keys: readonly string[]): Record<string, OpnsenseOptionEntry> =>\n Object.fromEntries(keys.map((key) => [key, { value: key, selected: 1 }]));\n",
|
|
7
7
|
"/**\n * `Opnsense.Firewall.Alias`'s wire shape: how a live `AliasItem` becomes attributes, and the\n * comparison that decides whether a declaration already matches it. Split out of alias.ts to\n * keep that file under the house's 250-line cap, mirroring `../proxmox/user-wire.ts`.\n *\n * ⛔ SCOPE, STATED ONCE. `AliasItem` (firewall_alias.ts) carries far more fields than this props\n * type declares — three groups are left out on purpose:\n * 1. Runtime counters (`current_items`, `last_updated`, `eval_nomatch`, `eval_match`,\n * `in_block_p`/`_b`, `in_pass_p`/`_b`, `out_block_p`/`_b`, `out_pass_p`/`_b`) — these are\n * the alias's hit/block statistics, not configuration, exactly the \"stats\" the task that\n * opened this family says to exclude.\n * 2. `path_expression` — only meaningful for the `urljson` alias type; a niche field this\n * first import pass leaves for a later one rather than modelling one type's one field.\n * 3. `password`/`username`/`authtype`/`expire` — the URL-fetch credential fields for the\n * `url`/`urltable`/`urljson` alias types. S25 (secrets stay out of props/attributes):\n * `password` is a literal stored credential and Alchemy persists Attributes unencrypted,\n * the same reasoning `../proxmox/user.ts` gives for shipping no `password` prop at all.\n */\nimport type { AliasAttributes, AliasProps } from './alias.ts';\nimport type * as alias from '@distilled.cloud/opnsense/firewall_alias';\nimport { bool01, csvSetOf, numField, selectedOf, selectedOneOf } from './wire.ts';\n\n/**\n * ★ ATTRIBUTES AND THE DECLARATION RENDERER ARE ONE FUNCTION. Attributes ARE exactly the props a\n * noop declaration needs — see the exported `propsFromLive` alias in alias.ts's barrel and\n * `alias-form.test.ts`'s round-trip test (`matches(attributesOf(uuid, live), attributesOf(uuid,\n * live))` is always true by construction, and so is the general case).\n *\n * `live` is `ModelAliasReadItem` (the WHOLE-MODEL `get()`'s read-shaped item), not `AliasItem` —\n * `type`/`interface`/`proto`/`categories` decode as option maps, not strings (OPNSENSE-2; see\n * wire.ts's module doc). `selectedOf`/`selectedOneOf` extract the selected key(s) back to the\n * same plain-string/string[] shape `AliasAttributes` already declared.\n *\n * `content` is `.\\AliasContentField`, which overrides `getNodeData()` independently of\n * `BaseListField` (`Firewall/FieldTypes/AliasContentField.php:69-76`) — it still decodes as a map,\n * but every entry is unconditionally `selected: 1` (it is a raw newline-separated list, not a\n * real option set), and ITS wire separator is `\\n`, not `,`. `Object.keys` preserves the\n * insertion order OPNsense's own `explode()` built the map in, which matters for a host/URL list\n * in a way `selectedOf`'s alphabetical sort does not preserve — so this one field is reconstructed\n * directly rather than through `selectedOf`.\n */\nexport const attributesOf = (uuid: string, live: alias.ModelAliasReadItem): AliasAttributes => ({\n categories: selectedOf(live.categories),\n content: Object.keys(live.content ?? {}).join('\\n'),\n counters: bool01(live.counters, false),\n description: live.description ?? '',\n enabled: bool01(live.enabled, true),\n interface: selectedOneOf(live.interface),\n name: live.name,\n proto: selectedOf(live.proto).join(','),\n type: selectedOneOf(live.type),\n updatefreq: numField(live.updatefreq, 0),\n uuid,\n});\n\nexport const matches = (attributes: AliasAttributes, props: AliasProps): boolean =>\n attributes.name === props.name &&\n attributes.type === props.type &&\n attributes.enabled === (props.enabled ?? true) &&\n attributes.content === (props.content ?? '') &&\n attributes.interface === (props.interface ?? '') &&\n attributes.proto === (props.proto ?? '') &&\n attributes.counters === (props.counters ?? false) &&\n attributes.updatefreq === (props.updatefreq ?? 0) &&\n attributes.description === (props.description ?? '') &&\n attributes.categories.join(',') === csvSetOf(props.categories).join(',');\n",
|
|
8
|
-
"/**\n * One shape for every OPNsense object this family declares — `read`/`diff` mirroring\n * `../discord/resource.ts`'s marker-less-API posture exactly (S7–S9, H1), and `reconcile`/\n * `delete` replaced end to end with the read-only refusal `policy.ts` states.\n *\n * ★ WHY ONE ENGINE FOR THREE RESOURCES. `alias.ts`, `category.ts` and `group.ts` differ only in\n * which `firewall_*` module they call and how a live item maps to attributes — the read/diff/\n * reconcile/delete flow is identical, so it lives here once, the way `netbox/resource.ts` and\n * `discord/resource.ts` already do for their own families.\n *\n * ★ `Unowned(attrs)` ON A COLD READ, PLAIN ATTRIBUTES ON A WARM ONE (S7, S8). None of Alias,\n * Category or Group carries an ownership marker OPNsense itself understands — no tag, no\n * metadata field a stack could stamp — so this is the same \"marker-less API\" S8 describes, and\n * the same posture `../discord/resource.ts` documents against `Snippet.ts`'s reference read.\n * `adopt(true)` (H5), piped on by each resource file's convenience constructor, is what turns\n * an `Unowned` first read into a silent one-time takeover instead of an `OwnedBySomeoneElse`\n * refusal — exactly what an import script generating `alchemy.run.ts` rows from live reads\n * needs: declare what is live, adopt it, change nothing.\n *\n * ⛔ `reconcile` AND `delete` NEVER CALL AN SDK OPERATION. `reconcile` still OBSERVES first (one\n * GET, via `read`) so the refusal it raises can say whether it would have created or updated —\n * S9's \"observe before you write\" doctrine, kept for the error message even though there is no\n * write to guard. `delete` observes nothing: it refuses unconditionally, because under this\n * policy a delete never succeeds regardless of whether the object is still live. See policy.ts.\n */\nimport { Unowned } from 'alchemy/AdoptPolicy';\nimport { isResolved } from 'alchemy/Diff';\nimport type { Input } from 'alchemy/Input';\nimport type { OpnsenseOpContext } from '@distilled.cloud/opnsense/Protocol';\nimport * as Effect from 'effect/Effect';\nimport type * as HttpClient from 'effect/
|
|
8
|
+
"/**\n * One shape for every OPNsense object this family declares — `read`/`diff` mirroring\n * `../discord/resource.ts`'s marker-less-API posture exactly (S7–S9, H1), and `reconcile`/\n * `delete` replaced end to end with the read-only refusal `policy.ts` states.\n *\n * ★ WHY ONE ENGINE FOR THREE RESOURCES. `alias.ts`, `category.ts` and `group.ts` differ only in\n * which `firewall_*` module they call and how a live item maps to attributes — the read/diff/\n * reconcile/delete flow is identical, so it lives here once, the way `netbox/resource.ts` and\n * `discord/resource.ts` already do for their own families.\n *\n * ★ `Unowned(attrs)` ON A COLD READ, PLAIN ATTRIBUTES ON A WARM ONE (S7, S8). None of Alias,\n * Category or Group carries an ownership marker OPNsense itself understands — no tag, no\n * metadata field a stack could stamp — so this is the same \"marker-less API\" S8 describes, and\n * the same posture `../discord/resource.ts` documents against `Snippet.ts`'s reference read.\n * `adopt(true)` (H5), piped on by each resource file's convenience constructor, is what turns\n * an `Unowned` first read into a silent one-time takeover instead of an `OwnedBySomeoneElse`\n * refusal — exactly what an import script generating `alchemy.run.ts` rows from live reads\n * needs: declare what is live, adopt it, change nothing.\n *\n * ⛔ `reconcile` AND `delete` NEVER CALL AN SDK OPERATION. `reconcile` still OBSERVES first (one\n * GET, via `read`) so the refusal it raises can say whether it would have created or updated —\n * S9's \"observe before you write\" doctrine, kept for the error message even though there is no\n * write to guard. `delete` observes nothing: it refuses unconditionally, because under this\n * policy a delete never succeeds regardless of whether the object is still live. See policy.ts.\n */\nimport { Unowned } from 'alchemy/AdoptPolicy';\nimport { isResolved } from 'alchemy/Diff';\nimport type { Input } from 'alchemy/Input';\nimport type { OpnsenseOpContext } from '@distilled.cloud/opnsense/Protocol';\nimport * as Effect from 'effect/Effect';\nimport type * as HttpClient from 'effect/http/HttpClient';\nimport { CredentialsFromEnv } from './credentials.ts';\nimport { refuseWrite } from './policy.ts';\n\n/** What every stack must still provide after `opnsenseHandlers` bakes in `CredentialsFromEnv`. */\nexport type OpnsenseRequirements = HttpClient.HttpClient;\n\n/** Every resource in this family identifies its live object by OPNsense's own assigned uuid. */\nexport interface OpnsenseIdentity {\n readonly uuid: string;\n}\n\n/**\n * One OPNsense object's read path. `Live` is whatever the generated `get()` response decodes to\n * for one item (an `AliasItem`, `CategoryItem`, `GroupItem`); `E` is left to each resource file\n * to declare — in practice always `OpnsenseOpError`, since every generated operation shares one\n * error channel (protocol.ts).\n */\nexport type OpnsenseSpec<Props extends OpnsenseIdentity, Live, Attributes extends object, E> = {\n readonly resourceType: string;\n /** Absent when `props.uuid` is not a key in the live model's map — see each resource file. */\n readonly fetchLive: (props: Props) => Effect.Effect<Live | undefined, E, OpnsenseOpContext>;\n /** Also the declaration renderer (S.T. propsFromLive re-export) — see each `*-form.ts`. */\n readonly attributes: (uuid: string, live: Live) => Attributes;\n readonly matches: (attributes: Attributes, props: Props) => boolean;\n};\n\nexport const opnsenseOperations = <\n Props extends OpnsenseIdentity,\n Live,\n Attributes extends object,\n E,\n>(\n spec: OpnsenseSpec<Props, Live, Attributes, E>,\n) => {\n const read = (props: Props) =>\n spec\n .fetchLive(props)\n .pipe(\n Effect.map((live) => (live === undefined ? undefined : spec.attributes(props.uuid, live))),\n );\n\n return {\n read: ({ olds, output }: { olds: Props; output: Attributes | undefined }) =>\n Effect.gen(function* () {\n const attrs = yield* read(olds);\n if (attrs === undefined) return undefined;\n // Warm read: a prior apply already adopted this exact uuid — ours.\n if (output !== undefined) return attrs;\n // Cold read (fresh store, or state lost): no ownership marker exists on this vendor.\n return Unowned(attrs);\n }),\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 return spec.matches(live, news)\n ? ({ action: 'noop' } as const)\n : ({ action: 'update' } as const);\n }),\n\n reconcile: (news: Props) =>\n Effect.gen(function* () {\n const live = yield* read(news);\n return yield* refuseWrite(\n spec.resourceType,\n news.uuid,\n live === undefined ? 'create' : 'update',\n );\n }),\n\n destroy: (olds: Props) => refuseWrite(spec.resourceType, olds.uuid, 'delete'),\n };\n};\n\n/**\n * The provider handlers for a spec'd OPNsense object, wired once. `list` answers empty — every\n * `get()` in this family returns the WHOLE model tree with no per-account/per-scope narrowing,\n * so a `list` that enumerated it would sweep the estate's entire alias/category/group set into\n * one plan; adoption stays explicit, one uuid at a time, the same reasoning netbox's and\n * discord's own `list` give for a shared or marker-less object space (S12).\n *\n * `nuke: { skip: true }` — `delete` refuses unconditionally (policy.ts), so `alchemy unsafe\n * nuke` could never do anything here but fail loudly on every object it found; skipping keeps\n * that refusal out of a nuke census entirely, matching `postgres/database.ts` and\n * `github/repository-ruleset.ts`'s own `nuke: { skip: true }` for the same reason.\n */\nexport const opnsenseHandlers = <\n Props extends OpnsenseIdentity,\n Live,\n Attributes extends object,\n E,\n>(\n spec: OpnsenseSpec<Props, Live, Attributes, E>,\n) => {\n const ops = opnsenseOperations(spec);\n // ⚠️ GENERIC OVER ITS OWN ERROR AND REQUIREMENT CHANNELS, NOT PINNED TO `E`/`OpnsenseOpContext`.\n // `read`/`diff` fail with `E` and need `OpnsenseOpContext`; `reconcile` fails with\n // `E | OpnsenseWriteRefused` (it observes, then refuses) and still needs `OpnsenseOpContext`\n // for that observe; `delete` fails with `OpnsenseWriteRefused` alone and needs NOTHING (it\n // never observes) — three different signatures sharing one credentials-providing wrapper.\n const withCredentials = <A, Err, R>(effect: Effect.Effect<A, Err, R>) =>\n Effect.provide(effect, CredentialsFromEnv);\n return {\n list: () => Effect.succeed([]),\n nuke: { skip: true },\n read: ({ olds, output }: { olds: Props; output: Attributes | undefined }) =>\n withCredentials(ops.read({ olds, output })),\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",
|
|
9
9
|
"/**\n * OPNsense credentials — a key/secret pair REFERENCE, resolved lazily (S24), never a prop.\n *\n * ⛔ NO KEY OR SECRET IS EVER A PROP OR AN ATTRIBUTE. Alchemy persists Attributes unencrypted\n * (`State/StateEncoding.ts@v2.0.0-beta.79#encodeState`), so nothing a stack file holds may be a\n * credential. `@distilled.cloud/opnsense/Credentials` already ships exactly the shape S24 asks\n * for: `Credentials` is a lazy `Context.Service<Credentials, Effect.Effect<Config>>`, resolved\n * on the calling fiber inside each operation (`OpnsenseProtocol`'s `encode`), never at layer\n * build. This file re-exports it rather than re-implementing it — the same choice\n * `../discord/credentials.ts` made for its own SDK's `CredentialsFromEnv`.\n *\n * ★ `CredentialsFromEnv` READS `OPNSENSE_URL` / `OPNSENSE_API_KEY` / `OPNSENSE_API_SECRET` via\n * Effect's `Config` (the SDK's own `credentials.ts` — no vendor-standard env var names exist\n * for OPNsense's API, unlike Forgejo's `FORGEJO_URL`). The resource never sees the values,\n * only the deploy process's environment does, and the secret is `Redacted` the moment it is\n * read — exactly the \"reference, never a value\" shape S25 asks for.\n *\n * ⚠️ NO OpenBao MINT YET, THE SAME GAP `../discord/credentials.ts` DOCUMENTS. H8's target\n * (`Alchemy.Stack({ secrets })`) is unreleased (PR 1728, `main` only). Until the estate is on a\n * release that carries it, the deploy process's own environment is the credential seam — a\n * human or CI job exports the three `OPNSENSE_*` variables from wherever it mints them. This\n * package never mints, reads or logs the key/secret itself; it only names the variables.\n */\nimport type { Config } from '@distilled.cloud/opnsense/Credentials';\nimport {\n Credentials,\n CredentialsFromEnv,\n credentials,\n} from '@distilled.cloud/opnsense/Credentials';\n\n/** Re-exported so a consumer never has to reach into `@distilled.cloud/opnsense` by hand. */\nexport { Credentials, CredentialsFromEnv, credentials };\nexport type { Config as OpnsenseCredentialsConfig };\n\n/**\n * `OpnsenseCredentials.fromEnv()` — the layer `opnsenseHandlers` (resource.ts) provides by\n * default. A thin, named alias over `CredentialsFromEnv` so a stack's import reads `Opnsense.*`\n * throughout, the way `../discord/credentials.ts`'s `fromEnv()` keeps `Discord.*` names at the\n * front door.\n */\nexport const fromEnv = () => CredentialsFromEnv;\n",
|
|
10
10
|
"/**\n * `OpnsenseWriteRefused` — the one error every resource in this family can raise for a write,\n * and the only thing standing between \"read-only for now\" and an actual change against the edge.\n *\n * ⛔ TIM, 2026-09-24: UniFi AND OPNSENSE ARE READ-ONLY FOR NOW. `Opnsense.Firewall.Alias`,\n * `.Category` and `.Group` (alias.ts, category.ts, group.ts) exist to `read`, `diff` and adopt\n * against the live edge — never to change it. This is the estate's EDGE firewall: a failed\n * probe gets the caller's IP CrowdSec-banned (`edge-crowdsec-bans-lan-ssh-probes` in the shared\n * estate memory), and nothing about that risk is worth a resource that can also reconfigure it.\n * Every `reconcile` and `delete` in this directory calls `refuseWrite` below and NOTHING ELSE —\n * none of them imports an `add`/`set`/`del`/`toggle` operation from `@distilled.cloud/opnsense`\n * at all, and `write-refusal.test.ts` proves it with a fake HTTP client that fails the test on\n * any request that is not a GET.\n *\n * ★ LIFTING THIS IS A KIT CHANGE, NEVER A PROP. There is no `allowWrite` flag on any resource\n * here — a flag is one bad `true` (or one bad default) away from a live edit to the box that\n * fronts the whole estate. Lifting the policy means editing this file, and writing the\n * create/update/delete bodies these resources do not have, a decision Tim makes explicitly by\n * changing code and review, not a runtime toggle a stack can set.\n */\nimport * as Data from 'effect/Data';\nimport * as Effect from 'effect/Effect';\n\nexport type OpnsenseWriteAction = 'create' | 'update' | 'delete';\n\nexport class OpnsenseWriteRefused extends Data.TaggedError('OpnsenseWriteRefused')<{\n readonly resourceType: string;\n readonly id: string;\n readonly action: OpnsenseWriteAction;\n}> {\n override get message(): string {\n return (\n `${this.resourceType} ${this.id}: refusing to ${this.action} — read-only by Tim's rule, ` +\n '2026-09-24; lifting it is a kit change, not a prop.'\n );\n }\n}\n\n/**\n * Every `reconcile`/`delete` handler in this family funnels through this one call — see\n * `resource.ts`'s `opnsenseOperations`. Nothing downstream of this function can reach a write:\n * it never calls an SDK operation, it only builds and fails with the typed refusal above.\n */\nexport const refuseWrite = (\n resourceType: string,\n id: string,\n action: OpnsenseWriteAction,\n): Effect.Effect<never, OpnsenseWriteRefused> =>\n Effect.fail(new OpnsenseWriteRefused({ action, id, resourceType }));\n",
|
|
11
11
|
"/**\n * `Opnsense.Firewall.Category` — a read-only declaration of one `firewall/category` item (the\n * tag OPNsense's UI groups aliases, rules etc. by) on the edge. READ-ONLY BY DESIGN — see\n * policy.ts's header. `reconcile`/`delete` always refuse. Mirrors alias.ts exactly; see that\n * file's header for why `get()` (whole model) is the read source rather than `getCategory` —\n * the same generation gap (no `uuid` in `GetCategoryRequest`'s schema) applies here too.\n */\nimport { adopt } from 'alchemy/AdoptPolicy';\nimport { Resource } from 'alchemy';\nimport * as Provider from 'alchemy/Provider';\nimport * as Category from '@distilled.cloud/opnsense/firewall_category';\nimport type { OpnsenseOpError } from '@distilled.cloud/opnsense/Protocol';\nimport * as Effect from 'effect/Effect';\nimport { attributesOf, matches } from './category-form.ts';\nimport type { OpnsenseRequirements, OpnsenseSpec } from './resource.ts';\nimport { opnsenseHandlers } from './resource.ts';\n\nexport interface CategoryProps {\n readonly uuid: string;\n /** Pattern `/[^,]+/` on the wire — a comma in the name would collide with the multi-select join. */\n readonly name: string;\n /** Whether OPNsense itself created this category (its own subsystems tag things this way); a\n * category a person made is `false`/absent. */\n readonly auto?: boolean;\n /** Six hex digits, no `#`, e.g. `0000FF`. */\n readonly color?: string;\n}\n\nexport interface CategoryAttributes {\n readonly uuid: string;\n readonly name: string;\n readonly auto: boolean;\n readonly color: string;\n}\n\nexport interface OpnsenseFirewallCategory extends Resource<\n 'Opnsense.Firewall.Category',\n CategoryProps,\n CategoryAttributes,\n never,\n OpnsenseRequirements\n> {}\n\nexport const OpnsenseFirewallCategory = Resource<OpnsenseFirewallCategory>(\n 'Opnsense.Firewall.Category',\n {\n defaultRemovalPolicy: 'retain',\n },\n);\n\nexport const isOpnsenseFirewallCategory = (value: unknown): value is OpnsenseFirewallCategory =>\n typeof value === 'object' &&\n value !== null &&\n (value as { Type?: unknown }).Type === 'Opnsense.Firewall.Category';\n\nexport const spec: OpnsenseSpec<\n CategoryProps,\n Category.CategoryItem,\n CategoryAttributes,\n OpnsenseOpError\n> = {\n attributes: attributesOf,\n fetchLive: (props) =>\n Category.get({}).pipe(Effect.map((res) => res.category?.categories?.category?.[props.uuid])),\n matches,\n resourceType: 'Opnsense.Firewall.Category',\n};\n\n/** The pure declaration renderer — see alias.ts's `propsFromLive` for the full contract note. */\nexport const propsFromLive = attributesOf;\n\nexport const handlers = opnsenseHandlers(spec);\n\nexport const OpnsenseFirewallCategoryProvider = () =>\n Provider.effect(\n OpnsenseFirewallCategory,\n Effect.succeed(OpnsenseFirewallCategory.Provider.of(handlers)),\n );\n\n/** `firewallCategory('name', { uuid, name })` — `adopt(true)` piped by default (H5). */\nexport const firewallCategory = (id: string, props: CategoryProps) =>\n OpnsenseFirewallCategory(id, props).pipe(adopt(true));\n",
|
|
@@ -9,5 +9,5 @@
|
|
|
9
9
|
* the stack's own responsibility to provide, mirroring `../discord/providers.ts`.
|
|
10
10
|
*/
|
|
11
11
|
import * as Layer from 'effect/Layer';
|
|
12
|
-
export declare const providers: () => Layer.Layer<import("alchemy").Provider<import("./alias.ts").OpnsenseFirewallAlias> | import("alchemy").Provider<import("./category.ts").OpnsenseFirewallCategory> | import("alchemy").Provider<import("./group.ts").OpnsenseFirewallGroup>, never, import("effect/
|
|
12
|
+
export declare const providers: () => Layer.Layer<import("alchemy").Provider<import("./alias.ts").OpnsenseFirewallAlias> | import("alchemy").Provider<import("./category.ts").OpnsenseFirewallCategory> | import("alchemy").Provider<import("./group.ts").OpnsenseFirewallGroup>, never, import("effect/http/HttpClient").HttpClient>;
|
|
13
13
|
//# sourceMappingURL=providers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../src/opnsense/providers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAKtC,eAAO,MAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../src/opnsense/providers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAKtC,eAAO,MAAM,SAAS,uSAKnB,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Input } from 'alchemy/Input';
|
|
2
2
|
import type { OpnsenseOpContext } from '@distilled.cloud/opnsense/Protocol';
|
|
3
3
|
import * as Effect from 'effect/Effect';
|
|
4
|
-
import type * as HttpClient from 'effect/
|
|
4
|
+
import type * as HttpClient from 'effect/http/HttpClient';
|
|
5
5
|
/** What every stack must still provide after `opnsenseHandlers` bakes in `CredentialsFromEnv`. */
|
|
6
6
|
export type OpnsenseRequirements = HttpClient.HttpClient;
|
|
7
7
|
/** Every resource in this family identifies its live object by OPNsense's own assigned uuid. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../src/opnsense/resource.ts"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,UAAU,MAAM,
|
|
1
|
+
{"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../src/opnsense/resource.ts"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,UAAU,MAAM,wBAAwB,CAAC;AAI1D,kGAAkG;AAClG,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAAC,UAAU,CAAC;AAEzD,gGAAgG;AAChG,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;;;;GAKG;AACH,MAAM,MAAM,YAAY,CAAC,KAAK,SAAS,gBAAgB,EAAE,IAAI,EAAE,UAAU,SAAS,MAAM,EAAE,CAAC,IAAI;IAC7F,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,8FAA8F;IAC9F,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,SAAS,EAAE,CAAC,EAAE,iBAAiB,CAAC,CAAC;IAC5F,2FAA2F;IAC3F,QAAQ,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,KAAK,UAAU,CAAC;IAC9D,QAAQ,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC;CACrE,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,KAAK,SAAS,gBAAgB,EAC9B,IAAI,EACJ,UAAU,SAAS,MAAM,EACzB,CAAC,QAEK,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;IAU5C,IAAI,qBAAqB;QAAE,IAAI,EAAE,KAAK,CAAC;QAAC,MAAM,EAAE,UAAU,GAAG,SAAS,CAAA;KAAE;IAUxE,IAAI,SAAS,KAAK,CAAC,KAAK,CAAC,UAAU,UAAU,GAAG,SAAS;yBAIZ,QAAQ;;yBAElC,MAAM;;IAIzB,SAAS,SAAS,KAAK;IAUvB,OAAO,SAAS,KAAK;CAExB,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,gBAAgB,GAC3B,KAAK,SAAS,gBAAgB,EAC9B,IAAI,EACJ,UAAU,SAAS,MAAM,EACzB,CAAC,QAEK,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;IAW5C,IAAI;IACJ,IAAI;QAAI,IAAI;;IACZ,IAAI,qBAAqB;QAAE,IAAI,EAAE,KAAK,CAAC;QAAC,MAAM,EAAE,UAAU,GAAG,SAAS,CAAA;KAAE;IAExE,IAAI,qBAAqB;QAAE,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAAC,MAAM,EAAE,UAAU,GAAG,SAAS,CAAA;KAAE;yBArDlC,QAAQ;;yBAElC,MAAM;;IAqDzB,SAAS,aAAa;QAAE,IAAI,EAAE,KAAK,CAAA;KAAE;IACrC,MAAM,aAAa;QAAE,IAAI,EAAE,KAAK,CAAA;KAAE;CAErC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"probe.d.ts","sourceRoot":"","sources":["../../src/ownership/probe.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"probe.d.ts","sourceRoot":"","sources":["../../src/ownership/probe.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AA2CxC;;;;;;;;;GASG;AACH,eAAO,MAAM,UAAU,GAAI,CAAC,EAAE,CAAC,OACxB;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAAE,WACjD,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,KACpC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAqB9B,CAAC;AAEL;;;;GAIG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAC,OACzC,KAAK,SACH,CAAC,GAAG,SAAS,WACX,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,KACpC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,EAAE,KAAK,EAAE,CAAC,CAUpC,CAAC"}
|
|
@@ -51,7 +51,7 @@ export declare const customFieldHandlers: {
|
|
|
51
51
|
list: () => Effect.Effect<never[], never, never>;
|
|
52
52
|
read: ({ olds }: {
|
|
53
53
|
olds: CustomFieldProps;
|
|
54
|
-
}) => Effect.Effect<CustomFieldAttributes | undefined, import("@distilled.cloud/caddy").BadGateway | customFields.BadRequest | import("@distilled.cloud/caddy").ConfigError | customFields.Forbidden | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/
|
|
54
|
+
}) => Effect.Effect<CustomFieldAttributes | undefined, import("@distilled.cloud/caddy").BadGateway | customFields.BadRequest | import("@distilled.cloud/caddy").ConfigError | customFields.Forbidden | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | customFields.NotFound | import("@distilled.cloud/paperless-ngx/Errors").PaperlessNgxParseError | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/paperless-ngx/Errors").UnknownPaperlessNgxError, import("effect/http/HttpClient").HttpClient>;
|
|
55
55
|
diff: ({ news, output }: {
|
|
56
56
|
news: import("alchemy").Input<CustomFieldProps>;
|
|
57
57
|
output: CustomFieldAttributes | undefined;
|
|
@@ -61,15 +61,15 @@ export declare const customFieldHandlers: {
|
|
|
61
61
|
readonly action: 'noop';
|
|
62
62
|
} | {
|
|
63
63
|
readonly action: 'replace';
|
|
64
|
-
} | undefined, import("@distilled.cloud/caddy").BadGateway | customFields.BadRequest | import("@distilled.cloud/caddy").ConfigError | customFields.Forbidden | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/
|
|
64
|
+
} | undefined, import("@distilled.cloud/caddy").BadGateway | customFields.BadRequest | import("@distilled.cloud/caddy").ConfigError | customFields.Forbidden | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | customFields.NotFound | import("@distilled.cloud/paperless-ngx/Errors").PaperlessNgxParseError | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/paperless-ngx/Errors").UnknownPaperlessNgxError, import("effect/http/HttpClient").HttpClient>;
|
|
65
65
|
reconcile: ({ news, output }: {
|
|
66
66
|
news: CustomFieldProps;
|
|
67
67
|
output?: CustomFieldAttributes | undefined;
|
|
68
|
-
}) => Effect.Effect<CustomFieldAttributes, import("@distilled.cloud/caddy").BadGateway | customFields.BadRequest | import("@distilled.cloud/caddy").ConfigError | customFields.Forbidden | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/
|
|
68
|
+
}) => Effect.Effect<CustomFieldAttributes, import("@distilled.cloud/caddy").BadGateway | customFields.BadRequest | import("@distilled.cloud/caddy").ConfigError | customFields.Forbidden | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | customFields.NotFound | import("@distilled.cloud/paperless-ngx/Errors").PaperlessNgxParseError | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/paperless-ngx/Errors").UnknownPaperlessNgxError, import("effect/http/HttpClient").HttpClient>;
|
|
69
69
|
delete: ({ olds, output }: {
|
|
70
70
|
olds: CustomFieldProps;
|
|
71
71
|
output?: CustomFieldAttributes | undefined;
|
|
72
|
-
}) => Effect.Effect<void, import("@distilled.cloud/caddy").BadGateway | customFields.BadRequest | import("@distilled.cloud/caddy").ConfigError | customFields.Forbidden | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/
|
|
72
|
+
}) => Effect.Effect<void, import("@distilled.cloud/caddy").BadGateway | customFields.BadRequest | import("@distilled.cloud/caddy").ConfigError | customFields.Forbidden | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | customFields.NotFound | import("@distilled.cloud/paperless-ngx/Errors").PaperlessNgxParseError | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/paperless-ngx/Errors").UnknownPaperlessNgxError, import("effect/http/HttpClient").HttpClient>;
|
|
73
73
|
};
|
|
74
|
-
export declare const CustomFieldProvider: () => import("effect/Layer").Layer<Provider.Provider<CustomField>, never, import("effect/
|
|
74
|
+
export declare const CustomFieldProvider: () => import("effect/Layer").Layer<Provider.Provider<CustomField>, never, import("effect/http/HttpClient").HttpClient>;
|
|
75
75
|
//# sourceMappingURL=custom-field.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custom-field.d.ts","sourceRoot":"","sources":["../../src/paperless/custom-field.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,YAAY,MAAM,8CAA8C,CAAC;AAC7E,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AACtF,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,YAAY,EAElB,MAAM,eAAe,CAAC;AAEvB,MAAM,WAAW,gBAAgB;IAC/B,gJAAgJ;IAChJ,IAAI,EAAE,MAAM,CAAC;IACb,gJAAgJ;IAChJ,QAAQ,EAAE,2BAA2B,CAAC,WAAW,CAAC,CAAC;IACnD,6FAA6F;IAC7F,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,WAAY,SAAQ,QAAQ,CAC3C,uBAAuB,EACvB,gBAAgB,EAChB,qBAAqB,EACrB,KAAK,EACL,oBAAoB,CACrB;CAAG;AAEJ,eAAO,MAAM,WAAW,8CAEtB,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,iBAAiB,SACtB,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,WAAW,CAAC,SAC1C,gBAAgB,KACtB,MAAM,GAAG,SAKG,CAAC;AAEhB,0EAA0E;AAC1E,eAAO,MAAM,IAAI,EAAE,YAAY,CAC7B,gBAAgB,EAChB,YAAY,CAAC,WAAW,EACxB,qBAAqB,EACnB,YAAY,CAAC,sBAAsB,GACnC,YAAY,CAAC,mBAAmB,GAChC,YAAY,CAAC,qBAAqB,GAClC,YAAY,CAAC,8BAA8B,GAC3C,YAAY,CAAC,wBAAwB,CA+BxC,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;CAAyB,CAAC;AAE1D,eAAO,MAAM,mBAAmB,
|
|
1
|
+
{"version":3,"file":"custom-field.d.ts","sourceRoot":"","sources":["../../src/paperless/custom-field.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,YAAY,MAAM,8CAA8C,CAAC;AAC7E,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AACtF,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,YAAY,EAElB,MAAM,eAAe,CAAC;AAEvB,MAAM,WAAW,gBAAgB;IAC/B,gJAAgJ;IAChJ,IAAI,EAAE,MAAM,CAAC;IACb,gJAAgJ;IAChJ,QAAQ,EAAE,2BAA2B,CAAC,WAAW,CAAC,CAAC;IACnD,6FAA6F;IAC7F,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,WAAY,SAAQ,QAAQ,CAC3C,uBAAuB,EACvB,gBAAgB,EAChB,qBAAqB,EACrB,KAAK,EACL,oBAAoB,CACrB;CAAG;AAEJ,eAAO,MAAM,WAAW,8CAEtB,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,iBAAiB,SACtB,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,WAAW,CAAC,SAC1C,gBAAgB,KACtB,MAAM,GAAG,SAKG,CAAC;AAEhB,0EAA0E;AAC1E,eAAO,MAAM,IAAI,EAAE,YAAY,CAC7B,gBAAgB,EAChB,YAAY,CAAC,WAAW,EACxB,qBAAqB,EACnB,YAAY,CAAC,sBAAsB,GACnC,YAAY,CAAC,mBAAmB,GAChC,YAAY,CAAC,qBAAqB,GAClC,YAAY,CAAC,8BAA8B,GAC3C,YAAY,CAAC,wBAAwB,CA+BxC,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;CAAyB,CAAC;AAE1D,eAAO,MAAM,mBAAmB,wHAC4D,CAAC"}
|
|
@@ -36,7 +36,7 @@ export declare const handlers: {
|
|
|
36
36
|
list: () => Effect.Effect<never[], never, never>;
|
|
37
37
|
read: ({ olds }: {
|
|
38
38
|
olds: DocumentTypeProps;
|
|
39
|
-
}) => Effect.Effect<DocumentTypeAttributes | undefined, import("@distilled.cloud/caddy").BadGateway | documentTypes.BadRequest | import("@distilled.cloud/caddy").ConfigError | documentTypes.Forbidden | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/
|
|
39
|
+
}) => Effect.Effect<DocumentTypeAttributes | undefined, import("@distilled.cloud/caddy").BadGateway | documentTypes.BadRequest | import("@distilled.cloud/caddy").ConfigError | documentTypes.Forbidden | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | documentTypes.NotFound | import("@distilled.cloud/paperless-ngx/Errors").PaperlessNgxParseError | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/paperless-ngx/Errors").UnknownPaperlessNgxError, import("effect/http/HttpClient").HttpClient>;
|
|
40
40
|
diff: ({ news, output }: {
|
|
41
41
|
news: import("alchemy").Input<DocumentTypeProps>;
|
|
42
42
|
output: DocumentTypeAttributes | undefined;
|
|
@@ -46,15 +46,15 @@ export declare const handlers: {
|
|
|
46
46
|
readonly action: 'noop';
|
|
47
47
|
} | {
|
|
48
48
|
readonly action: 'replace';
|
|
49
|
-
} | undefined, import("@distilled.cloud/caddy").BadGateway | documentTypes.BadRequest | import("@distilled.cloud/caddy").ConfigError | documentTypes.Forbidden | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/
|
|
49
|
+
} | undefined, import("@distilled.cloud/caddy").BadGateway | documentTypes.BadRequest | import("@distilled.cloud/caddy").ConfigError | documentTypes.Forbidden | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | documentTypes.NotFound | import("@distilled.cloud/paperless-ngx/Errors").PaperlessNgxParseError | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/paperless-ngx/Errors").UnknownPaperlessNgxError, import("effect/http/HttpClient").HttpClient>;
|
|
50
50
|
reconcile: ({ news, output }: {
|
|
51
51
|
news: DocumentTypeProps;
|
|
52
52
|
output?: DocumentTypeAttributes | undefined;
|
|
53
|
-
}) => Effect.Effect<DocumentTypeAttributes, import("@distilled.cloud/caddy").BadGateway | documentTypes.BadRequest | import("@distilled.cloud/caddy").ConfigError | documentTypes.Forbidden | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/
|
|
53
|
+
}) => Effect.Effect<DocumentTypeAttributes, import("@distilled.cloud/caddy").BadGateway | documentTypes.BadRequest | import("@distilled.cloud/caddy").ConfigError | documentTypes.Forbidden | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | documentTypes.NotFound | import("@distilled.cloud/paperless-ngx/Errors").PaperlessNgxParseError | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/paperless-ngx/Errors").UnknownPaperlessNgxError, import("effect/http/HttpClient").HttpClient>;
|
|
54
54
|
delete: ({ olds, output }: {
|
|
55
55
|
olds: DocumentTypeProps;
|
|
56
56
|
output?: DocumentTypeAttributes | undefined;
|
|
57
|
-
}) => Effect.Effect<void, import("@distilled.cloud/caddy").BadGateway | documentTypes.BadRequest | import("@distilled.cloud/caddy").ConfigError | documentTypes.Forbidden | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/
|
|
57
|
+
}) => Effect.Effect<void, import("@distilled.cloud/caddy").BadGateway | documentTypes.BadRequest | import("@distilled.cloud/caddy").ConfigError | documentTypes.Forbidden | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | documentTypes.NotFound | import("@distilled.cloud/paperless-ngx/Errors").PaperlessNgxParseError | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/paperless-ngx/Errors").UnknownPaperlessNgxError, import("effect/http/HttpClient").HttpClient>;
|
|
58
58
|
};
|
|
59
|
-
export declare const DocumentTypeProvider: () => import("effect/Layer").Layer<Provider.Provider<DocumentType>, never, import("effect/
|
|
59
|
+
export declare const DocumentTypeProvider: () => import("effect/Layer").Layer<Provider.Provider<DocumentType>, never, import("effect/http/HttpClient").HttpClient>;
|
|
60
60
|
//# sourceMappingURL=document-type.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document-type.d.ts","sourceRoot":"","sources":["../../src/paperless/document-type.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,aAAa,MAAM,+CAA+C,CAAC;AAC/E,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,qCAAqC,CAAC;AACxF,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,YAAY,EAElB,MAAM,eAAe,CAAC;AAEvB,MAAM,WAAW,iBAAiB;IAChC,qEAAqE;IACrE,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wBAAwB;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,4BAA4B,CAAC,oBAAoB,CAAC,CAAC;IACvE,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,OAAO,CAAC;IACvB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B;AAED,MAAM,WAAW,YAAa,SAAQ,QAAQ,CAC5C,wBAAwB,EACxB,iBAAiB,EACjB,sBAAsB,EACtB,KAAK,EACL,oBAAoB,CACrB;CAAG;AAEJ,eAAO,MAAM,YAAY,+CAEvB,CAAC;AAEH,0EAA0E;AAC1E,eAAO,MAAM,IAAI,EAAE,YAAY,CAC7B,iBAAiB,EACjB,aAAa,CAAC,YAAY,EAC1B,sBAAsB,EACpB,aAAa,CAAC,uBAAuB,GACrC,aAAa,CAAC,oBAAoB,GAClC,aAAa,CAAC,sBAAsB,GACpC,aAAa,CAAC,+BAA+B,GAC7C,aAAa,CAAC,yBAAyB,CAuC1C,CAAC;AAEF,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;CAAyB,CAAC;AAE/C,eAAO,MAAM,oBAAoB,
|
|
1
|
+
{"version":3,"file":"document-type.d.ts","sourceRoot":"","sources":["../../src/paperless/document-type.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,aAAa,MAAM,+CAA+C,CAAC;AAC/E,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,qCAAqC,CAAC;AACxF,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,YAAY,EAElB,MAAM,eAAe,CAAC;AAEvB,MAAM,WAAW,iBAAiB;IAChC,qEAAqE;IACrE,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wBAAwB;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,4BAA4B,CAAC,oBAAoB,CAAC,CAAC;IACvE,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,OAAO,CAAC;IACvB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B;AAED,MAAM,WAAW,YAAa,SAAQ,QAAQ,CAC5C,wBAAwB,EACxB,iBAAiB,EACjB,sBAAsB,EACtB,KAAK,EACL,oBAAoB,CACrB;CAAG;AAEJ,eAAO,MAAM,YAAY,+CAEvB,CAAC;AAEH,0EAA0E;AAC1E,eAAO,MAAM,IAAI,EAAE,YAAY,CAC7B,iBAAiB,EACjB,aAAa,CAAC,YAAY,EAC1B,sBAAsB,EACpB,aAAa,CAAC,uBAAuB,GACrC,aAAa,CAAC,oBAAoB,GAClC,aAAa,CAAC,sBAAsB,GACpC,aAAa,CAAC,+BAA+B,GAC7C,aAAa,CAAC,yBAAyB,CAuC1C,CAAC;AAEF,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;CAAyB,CAAC;AAE/C,eAAO,MAAM,oBAAoB,yHACkD,CAAC"}
|
|
@@ -49,7 +49,7 @@ export declare const fakePaperless: () => FakePaperless;
|
|
|
49
49
|
* `CredentialsFromEnv` and so cannot be pointed at a fake server, per this file's own header)
|
|
50
50
|
* needs to run against a fake.
|
|
51
51
|
*/
|
|
52
|
-
export declare const fakePaperlessLayer: (fetchFn: typeof globalThis.fetch, creds?: Layer.Layer<Credentials>) => Layer.Layer<Credentials | import("effect/
|
|
52
|
+
export declare const fakePaperlessLayer: (fetchFn: typeof globalThis.fetch, creds?: Layer.Layer<Credentials>) => Layer.Layer<Credentials | import("effect/http/HttpClient").HttpClient, never, never>;
|
|
53
53
|
export declare const run: <A, E>(effect: Effect.Effect<A, E, PaperlessNgxOpContext>, fetchFn: typeof globalThis.fetch) => Promise<A>;
|
|
54
54
|
export declare const runFailure: <A, E>(effect: Effect.Effect<A, E, PaperlessNgxOpContext>, fetchFn: typeof globalThis.fetch) => Promise<E>;
|
|
55
55
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fake-paperless.d.ts","sourceRoot":"","sources":["../../src/paperless/fake-paperless.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,KAAK,WAAW,EAAe,MAAM,4CAA4C,CAAC;AAC3F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AACrF,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAGtC,eAAO,MAAM,SAAS,kCAAkC,CAAC;AACzD,eAAO,MAAM,UAAU,gCAAgC,CAAC;AAExD,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3D,QAAA,MAAM,WAAW,YAAI,MAAM,EAAE,gBAAgB,EAAE,eAAe,EAAE,eAAe,CAAU,CAAC;AAC1F,KAAK,UAAU,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/C,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IACxC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,SAAS,GAAG,EAAE,CAAC;IAC1D,wFAAwF;IACxF,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC;AAWD;;;;GAIG;AACH,eAAO,MAAM,aAAa,QAAO,aAmEhC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,YACpB,OAAO,UAAU,CAAC,KAAK,UACzB,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"fake-paperless.d.ts","sourceRoot":"","sources":["../../src/paperless/fake-paperless.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,KAAK,WAAW,EAAe,MAAM,4CAA4C,CAAC;AAC3F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AACrF,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAGtC,eAAO,MAAM,SAAS,kCAAkC,CAAC;AACzD,eAAO,MAAM,UAAU,gCAAgC,CAAC;AAExD,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3D,QAAA,MAAM,WAAW,YAAI,MAAM,EAAE,gBAAgB,EAAE,eAAe,EAAE,eAAe,CAAU,CAAC;AAC1F,KAAK,UAAU,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/C,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IACxC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,SAAS,GAAG,EAAE,CAAC;IAC1D,wFAAwF;IACxF,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC;AAWD;;;;GAIG;AACH,eAAO,MAAM,aAAa,QAAO,aAmEhC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,YACpB,OAAO,UAAU,CAAC,KAAK,UACzB,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,yFAC+D,CAAC;AAEjG,eAAO,MAAM,GAAG,GAAI,CAAC,EAAE,CAAC,UACd,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,qBAAqB,CAAC,WACzC,OAAO,UAAU,CAAC,KAAK,eAC8C,CAAC;AAEjF,eAAO,MAAM,UAAU,GAAI,CAAC,EAAE,CAAC,UACrB,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,qBAAqB,CAAC,WACzC,OAAO,UAAU,CAAC,KAAK,eAC2D,CAAC"}
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
*/
|
|
15
15
|
import type { PaperlessNgxOpContext } from '@distilled.cloud/paperless-ngx/Protocol';
|
|
16
16
|
import type * as Effect from 'effect/Effect';
|
|
17
|
-
import type * as HttpClient from 'effect/
|
|
17
|
+
import type * as HttpClient from 'effect/http/HttpClient';
|
|
18
18
|
import type { EndpointKey, PaperlessBody } from './constraints.ts';
|
|
19
19
|
/**
|
|
20
20
|
* What a CONSUMING STACK must provide. `matchingHandlers` (matching.ts) bakes in
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"matching-types.d.ts","sourceRoot":"","sources":["../../src/paperless/matching-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AACrF,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,KAAK,UAAU,MAAM,
|
|
1
|
+
{"version":3,"file":"matching-types.d.ts","sourceRoot":"","sources":["../../src/paperless/matching-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AACrF,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,KAAK,UAAU,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEnE;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAAC,UAAU,CAAC;AAEzD,8FAA8F;AAC9F,MAAM,WAAW,SAAS,CAAC,KAAK,EAAE,IAAI;IACpC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC;IACzC,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,OAAO,CAAC;CACvC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,2GAA2G;IAC3G,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,6EAA6E;AAC7E,MAAM,WAAW,YAAY,CAAC,IAAI;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,SAAS,IAAI,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,YAAY,CAC3B,KAAK,SAAS,aAAa,EAC3B,IAAI,SAAS;IAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAC3D,UAAU,SAAS;IAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,EAC1C,CAAC;IAED;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,8DAA8D;IAC9D,QAAQ,CAAC,MAAM,EAAE,SAAS,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;IACnD;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;IACxD,QAAQ,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,KAAK,UAAU,GAAG,SAAS,CAAC;IAC1E,mFAAmF;IACnF,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,MAAM,GAAG,SAAS,CAAC;IACtD,kFAAkF;IAClF,QAAQ,CAAC,QAAQ,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;QAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,CAAC;IACnF,4DAA4D;IAC5D,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,CAAC;IAC5C;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,KAAK,MAAM,GAAG,SAAS,CAAC;IAEtE,mGAAmG;IACnG,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,qBAAqB,CAAC,CAAC;IAC7F,4HAA4H;IAC5H,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,SAAS,EAAE,CAAC,EAAE,qBAAqB,CAAC,CAAC;IAC5F,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,qBAAqB,CAAC,CAAC;IACxF,uFAAuF;IACvF,QAAQ,CAAC,MAAM,CAAC,EAAE,CAChB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,aAAa,KAChB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,qBAAqB,CAAC,CAAC;IACnD,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,qBAAqB,CAAC,CAAC;CACpF"}
|
|
@@ -41,7 +41,7 @@ export declare const matchingHandlers: <Props extends MatchingProps, Live extend
|
|
|
41
41
|
list: () => Effect.Effect<never[], never, never>;
|
|
42
42
|
read: ({ olds }: {
|
|
43
43
|
olds: Props;
|
|
44
|
-
}) => Effect.Effect<Attributes | undefined, E, import("effect/
|
|
44
|
+
}) => Effect.Effect<Attributes | undefined, E, import("effect/http/HttpClient").HttpClient>;
|
|
45
45
|
diff: ({ news, output }: {
|
|
46
46
|
news: Input<Props>;
|
|
47
47
|
output: Attributes | undefined;
|
|
@@ -51,14 +51,14 @@ export declare const matchingHandlers: <Props extends MatchingProps, Live extend
|
|
|
51
51
|
readonly action: 'noop';
|
|
52
52
|
} | {
|
|
53
53
|
readonly action: 'replace';
|
|
54
|
-
} | undefined, E, import("effect/
|
|
54
|
+
} | undefined, E, import("effect/http/HttpClient").HttpClient>;
|
|
55
55
|
reconcile: ({ news, output }: {
|
|
56
56
|
news: Props;
|
|
57
57
|
output?: Attributes | undefined;
|
|
58
|
-
}) => Effect.Effect<Attributes, E, import("effect/
|
|
58
|
+
}) => Effect.Effect<Attributes, E, import("effect/http/HttpClient").HttpClient>;
|
|
59
59
|
delete: ({ olds, output }: {
|
|
60
60
|
olds: Props;
|
|
61
61
|
output?: Attributes | undefined;
|
|
62
|
-
}) => Effect.Effect<void, E, import("effect/
|
|
62
|
+
}) => Effect.Effect<void, E, import("effect/http/HttpClient").HttpClient>;
|
|
63
63
|
};
|
|
64
64
|
//# sourceMappingURL=matching.d.ts.map
|
|
@@ -17,5 +17,5 @@
|
|
|
17
17
|
* so this is an uneventful simplification, not a behaviour change for anything live.
|
|
18
18
|
*/
|
|
19
19
|
import * as Layer from 'effect/Layer';
|
|
20
|
-
export declare const paperlessProviders: () => Layer.Layer<import("alchemy").Provider<import("./custom-field.ts").CustomField> | import("alchemy").Provider<import("./document-type.ts").DocumentType> | import("alchemy").Provider<import("./storage-path.ts").StoragePath> | import("alchemy").Provider<import("./tag.ts").Tag>, never, import("effect/
|
|
20
|
+
export declare const paperlessProviders: () => Layer.Layer<import("alchemy").Provider<import("./custom-field.ts").CustomField> | import("alchemy").Provider<import("./document-type.ts").DocumentType> | import("alchemy").Provider<import("./storage-path.ts").StoragePath> | import("alchemy").Provider<import("./tag.ts").Tag>, never, import("effect/http/HttpClient").HttpClient>;
|
|
21
21
|
//# sourceMappingURL=providers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../src/paperless/providers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAMtC,eAAO,MAAM,kBAAkB,
|
|
1
|
+
{"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../src/paperless/providers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAMtC,eAAO,MAAM,kBAAkB,+UAM5B,CAAC"}
|
|
@@ -38,7 +38,7 @@ export declare const handlers: {
|
|
|
38
38
|
list: () => Effect.Effect<never[], never, never>;
|
|
39
39
|
read: ({ olds }: {
|
|
40
40
|
olds: StoragePathProps;
|
|
41
|
-
}) => Effect.Effect<StoragePathAttributes | undefined, import("@distilled.cloud/caddy").BadGateway | storagePaths.BadRequest | import("@distilled.cloud/caddy").ConfigError | storagePaths.Forbidden | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/
|
|
41
|
+
}) => Effect.Effect<StoragePathAttributes | undefined, import("@distilled.cloud/caddy").BadGateway | storagePaths.BadRequest | import("@distilled.cloud/caddy").ConfigError | storagePaths.Forbidden | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | storagePaths.NotFound | import("@distilled.cloud/paperless-ngx/Errors").PaperlessNgxParseError | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/paperless-ngx/Errors").UnknownPaperlessNgxError, import("effect/http/HttpClient").HttpClient>;
|
|
42
42
|
diff: ({ news, output }: {
|
|
43
43
|
news: import("alchemy").Input<StoragePathProps>;
|
|
44
44
|
output: StoragePathAttributes | undefined;
|
|
@@ -48,15 +48,15 @@ export declare const handlers: {
|
|
|
48
48
|
readonly action: 'noop';
|
|
49
49
|
} | {
|
|
50
50
|
readonly action: 'replace';
|
|
51
|
-
} | undefined, import("@distilled.cloud/caddy").BadGateway | storagePaths.BadRequest | import("@distilled.cloud/caddy").ConfigError | storagePaths.Forbidden | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/
|
|
51
|
+
} | undefined, import("@distilled.cloud/caddy").BadGateway | storagePaths.BadRequest | import("@distilled.cloud/caddy").ConfigError | storagePaths.Forbidden | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | storagePaths.NotFound | import("@distilled.cloud/paperless-ngx/Errors").PaperlessNgxParseError | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/paperless-ngx/Errors").UnknownPaperlessNgxError, import("effect/http/HttpClient").HttpClient>;
|
|
52
52
|
reconcile: ({ news, output }: {
|
|
53
53
|
news: StoragePathProps;
|
|
54
54
|
output?: StoragePathAttributes | undefined;
|
|
55
|
-
}) => Effect.Effect<StoragePathAttributes, import("@distilled.cloud/caddy").BadGateway | storagePaths.BadRequest | import("@distilled.cloud/caddy").ConfigError | storagePaths.Forbidden | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/
|
|
55
|
+
}) => Effect.Effect<StoragePathAttributes, import("@distilled.cloud/caddy").BadGateway | storagePaths.BadRequest | import("@distilled.cloud/caddy").ConfigError | storagePaths.Forbidden | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | storagePaths.NotFound | import("@distilled.cloud/paperless-ngx/Errors").PaperlessNgxParseError | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/paperless-ngx/Errors").UnknownPaperlessNgxError, import("effect/http/HttpClient").HttpClient>;
|
|
56
56
|
delete: ({ olds, output }: {
|
|
57
57
|
olds: StoragePathProps;
|
|
58
58
|
output?: StoragePathAttributes | undefined;
|
|
59
|
-
}) => Effect.Effect<void, import("@distilled.cloud/caddy").BadGateway | storagePaths.BadRequest | import("@distilled.cloud/caddy").ConfigError | storagePaths.Forbidden | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/
|
|
59
|
+
}) => Effect.Effect<void, import("@distilled.cloud/caddy").BadGateway | storagePaths.BadRequest | import("@distilled.cloud/caddy").ConfigError | storagePaths.Forbidden | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | storagePaths.NotFound | import("@distilled.cloud/paperless-ngx/Errors").PaperlessNgxParseError | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/paperless-ngx/Errors").UnknownPaperlessNgxError, import("effect/http/HttpClient").HttpClient>;
|
|
60
60
|
};
|
|
61
|
-
export declare const StoragePathProvider: () => import("effect/Layer").Layer<Provider.Provider<StoragePath>, never, import("effect/
|
|
61
|
+
export declare const StoragePathProvider: () => import("effect/Layer").Layer<Provider.Provider<StoragePath>, never, import("effect/http/HttpClient").HttpClient>;
|
|
62
62
|
//# sourceMappingURL=storage-path.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage-path.d.ts","sourceRoot":"","sources":["../../src/paperless/storage-path.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,YAAY,MAAM,8CAA8C,CAAC;AAC7E,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AACtF,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,YAAY,EAElB,MAAM,eAAe,CAAC;AAEvB,MAAM,WAAW,gBAAgB;IAC/B,qEAAqE;IACrE,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kHAAkH;IAClH,IAAI,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,2BAA2B,CAAC,oBAAoB,CAAC,CAAC;IACtE,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,OAAO,CAAC;IACvB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B;AAED,MAAM,WAAW,WAAY,SAAQ,QAAQ,CAC3C,uBAAuB,EACvB,gBAAgB,EAChB,qBAAqB,EACrB,KAAK,EACL,oBAAoB,CACrB;CAAG;AAEJ,eAAO,MAAM,WAAW,8CAEtB,CAAC;AAEH,0EAA0E;AAC1E,eAAO,MAAM,IAAI,EAAE,YAAY,CAC7B,gBAAgB,EAChB,YAAY,CAAC,WAAW,EACxB,qBAAqB,EACnB,YAAY,CAAC,sBAAsB,GACnC,YAAY,CAAC,mBAAmB,GAChC,YAAY,CAAC,qBAAqB,GAClC,YAAY,CAAC,8BAA8B,GAC3C,YAAY,CAAC,wBAAwB,CAyCxC,CAAC;AAEF,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;CAAyB,CAAC;AAE/C,eAAO,MAAM,mBAAmB,
|
|
1
|
+
{"version":3,"file":"storage-path.d.ts","sourceRoot":"","sources":["../../src/paperless/storage-path.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,YAAY,MAAM,8CAA8C,CAAC;AAC7E,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AACtF,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,YAAY,EAElB,MAAM,eAAe,CAAC;AAEvB,MAAM,WAAW,gBAAgB;IAC/B,qEAAqE;IACrE,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kHAAkH;IAClH,IAAI,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,2BAA2B,CAAC,oBAAoB,CAAC,CAAC;IACtE,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,OAAO,CAAC;IACvB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B;AAED,MAAM,WAAW,WAAY,SAAQ,QAAQ,CAC3C,uBAAuB,EACvB,gBAAgB,EAChB,qBAAqB,EACrB,KAAK,EACL,oBAAoB,CACrB;CAAG;AAEJ,eAAO,MAAM,WAAW,8CAEtB,CAAC;AAEH,0EAA0E;AAC1E,eAAO,MAAM,IAAI,EAAE,YAAY,CAC7B,gBAAgB,EAChB,YAAY,CAAC,WAAW,EACxB,qBAAqB,EACnB,YAAY,CAAC,sBAAsB,GACnC,YAAY,CAAC,mBAAmB,GAChC,YAAY,CAAC,qBAAqB,GAClC,YAAY,CAAC,8BAA8B,GAC3C,YAAY,CAAC,wBAAwB,CAyCxC,CAAC;AAEF,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;CAAyB,CAAC;AAE/C,eAAO,MAAM,mBAAmB,wHACiD,CAAC"}
|
package/dist/paperless/tag.d.ts
CHANGED
|
@@ -58,7 +58,7 @@ export declare const handlers: {
|
|
|
58
58
|
list: () => Effect.Effect<never[], never, never>;
|
|
59
59
|
read: ({ olds }: {
|
|
60
60
|
olds: TagProps;
|
|
61
|
-
}) => Effect.Effect<TagAttributes | undefined, import("@distilled.cloud/caddy").BadGateway | tags.BadRequest | import("@distilled.cloud/caddy").ConfigError | tags.Forbidden | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/
|
|
61
|
+
}) => Effect.Effect<TagAttributes | undefined, import("@distilled.cloud/caddy").BadGateway | tags.BadRequest | import("@distilled.cloud/caddy").ConfigError | tags.Forbidden | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | tags.NotFound | import("@distilled.cloud/paperless-ngx/Errors").PaperlessNgxParseError | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/paperless-ngx/Errors").UnknownPaperlessNgxError, import("effect/http/HttpClient").HttpClient>;
|
|
62
62
|
diff: ({ news, output }: {
|
|
63
63
|
news: import("alchemy").Input<TagProps>;
|
|
64
64
|
output: TagAttributes | undefined;
|
|
@@ -68,15 +68,15 @@ export declare const handlers: {
|
|
|
68
68
|
readonly action: 'noop';
|
|
69
69
|
} | {
|
|
70
70
|
readonly action: 'replace';
|
|
71
|
-
} | undefined, import("@distilled.cloud/caddy").BadGateway | tags.BadRequest | import("@distilled.cloud/caddy").ConfigError | tags.Forbidden | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/
|
|
71
|
+
} | undefined, import("@distilled.cloud/caddy").BadGateway | tags.BadRequest | import("@distilled.cloud/caddy").ConfigError | tags.Forbidden | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | tags.NotFound | import("@distilled.cloud/paperless-ngx/Errors").PaperlessNgxParseError | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/paperless-ngx/Errors").UnknownPaperlessNgxError, import("effect/http/HttpClient").HttpClient>;
|
|
72
72
|
reconcile: ({ news, output }: {
|
|
73
73
|
news: TagProps;
|
|
74
74
|
output?: TagAttributes | undefined;
|
|
75
|
-
}) => Effect.Effect<TagAttributes, import("@distilled.cloud/caddy").BadGateway | tags.BadRequest | import("@distilled.cloud/caddy").ConfigError | tags.Forbidden | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/
|
|
75
|
+
}) => Effect.Effect<TagAttributes, import("@distilled.cloud/caddy").BadGateway | tags.BadRequest | import("@distilled.cloud/caddy").ConfigError | tags.Forbidden | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | tags.NotFound | import("@distilled.cloud/paperless-ngx/Errors").PaperlessNgxParseError | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/paperless-ngx/Errors").UnknownPaperlessNgxError, import("effect/http/HttpClient").HttpClient>;
|
|
76
76
|
delete: ({ olds, output }: {
|
|
77
77
|
olds: TagProps;
|
|
78
78
|
output?: TagAttributes | undefined;
|
|
79
|
-
}) => Effect.Effect<void, import("@distilled.cloud/caddy").BadGateway | tags.BadRequest | import("@distilled.cloud/caddy").ConfigError | tags.Forbidden | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/
|
|
79
|
+
}) => Effect.Effect<void, import("@distilled.cloud/caddy").BadGateway | tags.BadRequest | import("@distilled.cloud/caddy").ConfigError | tags.Forbidden | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | tags.NotFound | import("@distilled.cloud/paperless-ngx/Errors").PaperlessNgxParseError | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").Unauthorized | import("@distilled.cloud/paperless-ngx/Errors").UnknownPaperlessNgxError, import("effect/http/HttpClient").HttpClient>;
|
|
80
80
|
};
|
|
81
|
-
export declare const TagProvider: () => import("effect/Layer").Layer<Provider.Provider<Tag>, never, import("effect/
|
|
81
|
+
export declare const TagProvider: () => import("effect/Layer").Layer<Provider.Provider<Tag>, never, import("effect/http/HttpClient").HttpClient>;
|
|
82
82
|
//# sourceMappingURL=tag.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tag.d.ts","sourceRoot":"","sources":["../../src/paperless/tag.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,IAAI,MAAM,qCAAqC,CAAC;AAC5D,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,YAAY,EAElB,MAAM,eAAe,CAAC;AAEvB,MAAM,WAAW,QAAQ;IACvB,gGAAgG;IAChG,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8FAA8F;IAC9F,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,mBAAmB,CAAC,oBAAoB,CAAC,CAAC;IAC9D,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,mFAAmF;IACnF,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gFAAgF;IAChF,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AAED,MAAM,WAAW,GAAI,SAAQ,QAAQ,CACnC,eAAe,EACf,QAAQ,EACR,aAAa,EACb,KAAK,EACL,oBAAoB,CACrB;CAAG;AAEJ,eAAO,MAAM,GAAG,sCAAqE,CAAC;AAEtF;;;;;GAKG;AACH,eAAO,MAAM,IAAI,EAAE,YAAY,CAC7B,QAAQ,EACR,IAAI,CAAC,GAAG,EACR,aAAa,EACX,IAAI,CAAC,cAAc,GACnB,IAAI,CAAC,WAAW,GAChB,IAAI,CAAC,aAAa,GAClB,IAAI,CAAC,sBAAsB,GAC3B,IAAI,CAAC,gBAAgB,CAsCxB,CAAC;AAEF,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;CAAyB,CAAC;AAE/C,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"tag.d.ts","sourceRoot":"","sources":["../../src/paperless/tag.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,IAAI,MAAM,qCAAqC,CAAC;AAC5D,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,YAAY,EAElB,MAAM,eAAe,CAAC;AAEvB,MAAM,WAAW,QAAQ;IACvB,gGAAgG;IAChG,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8FAA8F;IAC9F,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,mBAAmB,CAAC,oBAAoB,CAAC,CAAC;IAC9D,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,mFAAmF;IACnF,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gFAAgF;IAChF,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AAED,MAAM,WAAW,GAAI,SAAQ,QAAQ,CACnC,eAAe,EACf,QAAQ,EACR,aAAa,EACb,KAAK,EACL,oBAAoB,CACrB;CAAG;AAEJ,eAAO,MAAM,GAAG,sCAAqE,CAAC;AAEtF;;;;;GAKG;AACH,eAAO,MAAM,IAAI,EAAE,YAAY,CAC7B,QAAQ,EACR,IAAI,CAAC,GAAG,EACR,aAAa,EACX,IAAI,CAAC,cAAc,GACnB,IAAI,CAAC,WAAW,GAChB,IAAI,CAAC,aAAa,GAClB,IAAI,CAAC,sBAAsB,GAC3B,IAAI,CAAC,gBAAgB,CAsCxB,CAAC;AAEF,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;CAAyB,CAAC;AAE/C,eAAO,MAAM,WAAW,gHAAwE,CAAC"}
|
|
@@ -17,7 +17,7 @@ import * as PgClient from '@effect/sql-pg/PgClient';
|
|
|
17
17
|
import * as Context from 'effect/Context';
|
|
18
18
|
import * as Effect from 'effect/Effect';
|
|
19
19
|
import * as Layer from 'effect/Layer';
|
|
20
|
-
import type { SqlError } from 'effect/
|
|
20
|
+
import type { SqlError } from 'effect/sql/SqlError';
|
|
21
21
|
import type { PgExecutor } from './database-sql.ts';
|
|
22
22
|
import { type PsqlRunner } from './psql-executor.ts';
|
|
23
23
|
/** What a stack passes to reach one cluster. `host` may be a socket directory (one beginning
|
|
@@ -59,7 +59,7 @@ export declare const postgresConnection: (config: PostgresConnectionConfig) => L
|
|
|
59
59
|
/** A stack's one-line way to provide a cluster reached through a command runner. */
|
|
60
60
|
export declare const postgresRunnerConnection: (config: PostgresRunnerConfig) => Layer.Layer<PostgresConnection>;
|
|
61
61
|
/** Effect-scoped pool factory, like BaoGate: tests override it without process-wide module mocks. */
|
|
62
|
-
export declare const PostgresPool: Context.Reference<(config: PgClient.PgPoolConfig) => Layer.Layer<PgClient.PgClient | import("effect/
|
|
62
|
+
export declare const PostgresPool: Context.Reference<(config: PgClient.PgPoolConfig) => Layer.Layer<PgClient.PgClient | import("effect/sql/SqlClient").SqlClient, SqlError>>;
|
|
63
63
|
/**
|
|
64
64
|
* Run one operation against a freshly built, freshly closed connection pool.
|
|
65
65
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/postgres/connection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,QAAQ,MAAM,yBAAyB,CAAC;AACpD,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/postgres/connection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,QAAQ,MAAM,yBAAyB,CAAC;AACpD,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,KAAK,UAAU,EAAoB,MAAM,oBAAoB,CAAC;AAGvE;;;uFAGuF;AACvF,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;wFAGwF;AACxF,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;wFAEwF;AACxF,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;;AAED;qBACqB;AACrB,qBAAa,kBAAmB,SAAQ,uBAGd;CAAG;AAE7B;8EAC8E;AAC9E,eAAO,MAAM,kBAAkB,WACrB,wBAAwB,KAC/B,KAAK,CAAC,KAAK,CAAC,kBAAkB,CAA8D,CAAC;AAEhG,oFAAoF;AACpF,eAAO,MAAM,wBAAwB,WAC3B,oBAAoB,KAC3B,KAAK,CAAC,KAAK,CAAC,kBAAkB,CAA8D,CAAC;AAEhG,qGAAqG;AACrG,eAAO,MAAM,YAAY,2IAEvB,CAAC;AAKH;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,MAAM,GAAI,CAAC,EAAE,CAAC,SAClB,CAAC,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,aACvD,MAAM,KAChB,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,kBAAkB,CA2BhD,CAAC"}
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
* Measured 2026-10-01: the former quote-only escaper allowed comment SQL injection when
|
|
25
25
|
* that setting was off; an input backslash escaped the first quote of a doubled pair.
|
|
26
26
|
*/
|
|
27
|
-
import type { SqlError } from 'effect/
|
|
27
|
+
import type { SqlError } from 'effect/sql/SqlError';
|
|
28
28
|
import * as Effect from 'effect/Effect';
|
|
29
29
|
import type { PostgresDatabaseAttributes, PostgresDatabaseProps } from './database-attrs.ts';
|
|
30
30
|
/** What every function in this file needs from a client — real (`PgClient.PgClient`) or fake
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database-sql.d.ts","sourceRoot":"","sources":["../../src/postgres/database-sql.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"database-sql.d.ts","sourceRoot":"","sources":["../../src/postgres/database-sql.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,0BAA0B,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE7F;;;;6FAI6F;AAC7F,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,MAAM,EAChC,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,KAC5B,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC/C;;;;;;OAMG;IACH,QAAQ,CAAC,WAAW,EAAE,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;CACxF;AAED;;0DAE0D;AAC1D,eAAO,MAAM,UAAU,UAAW,MAAM,KAAG,MAA0C,CAAC;AAEtF;yFACyF;AACzF,eAAO,MAAM,kBAAkB,UAAW,MAAM,KAAG,MACO,CAAC;AAwB3D;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,UAAW,qBAAqB,aAAa,MAAM,KAAG,MACP,CAAC;AAEnF;;;;;mFAKmF;AACnF,eAAO,MAAM,uBAAuB,UAAW,QAAQ,KAAG,OAMzD,CAAC;AAIF;;sFAEsF;AACtF,eAAO,MAAM,UAAU,OAAQ,UAAU,QAAQ,MAAM,KAAG,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAItF,CAAC;AAIJ;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,OAAQ,UAAU,QAAQ,MAAM,KAAG,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAI1F,CAAC;AAwCJ;;sFAEsF;AACtF,eAAO,MAAM,cAAc,OACrB,UAAU,QACR,MAAM,KACX,MAAM,CAAC,MAAM,CAAC,0BAA0B,GAAG,SAAS,EAAE,QAAQ,CACkC,CAAC;AAEpG;;qFAEqF;AACrF,eAAO,MAAM,UAAU,UACd,qBAAqB,QACtB,0BAA0B,KAC/B;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAAG,SAgBlF,CAAC"}
|
|
@@ -18,7 +18,7 @@ import { Resource } from 'alchemy';
|
|
|
18
18
|
import type { Input } from 'alchemy/Input';
|
|
19
19
|
import * as Provider from 'alchemy/Provider';
|
|
20
20
|
import * as Effect from 'effect/Effect';
|
|
21
|
-
import type { SqlError } from 'effect/
|
|
21
|
+
import type { SqlError } from 'effect/sql/SqlError';
|
|
22
22
|
import type { PostgresDatabaseAttributes, PostgresDatabaseProps } from './database-attrs.ts';
|
|
23
23
|
import { type PostgresConnection } from './connection.ts';
|
|
24
24
|
import type { PgExecutor } from './database-sql.ts';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/postgres/database.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGnC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/postgres/database.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGnC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,0BAA0B,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAS7F,OAAO,EAAE,KAAK,kBAAkB,EAAU,MAAM,iBAAiB,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EACL,8BAA8B,EAC9B,qBAAqB,EAErB,2BAA2B,EAC3B,4BAA4B,EAC5B,6BAA6B,EAC9B,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,gBAAiB,SAAQ,QAAQ,CAChD,mBAAmB,EACnB,qBAAqB,EACrB,0BAA0B,EAC1B,KAAK,EACL,kBAAkB,CACnB;CAAG;AAEJ,eAAO,MAAM,gBAAgB,mDAE3B,CAAC;AAEH;;;kFAGkF;AAClF,eAAO,MAAM,kBAAkB,UAAW,OAAO,KAAG,KAAK,IAAI,gBAGD,CAAC;AAY7D;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,OAC1B,UAAU,SACP,qBAAqB,aACjB,MAAM,KAChB,MAAM,CAAC,MAAM,CACd,0BAA0B,EAC1B,4BAA4B,GAAG,qBAAqB,GAAG,8BAA8B,GAAG,QAAQ,CAqC9F,CAAC;AAEL;4EAC4E;AAC5E,eAAO,MAAM,cAAc,OAAQ,UAAU,QAAQ,MAAM,2EAA6B,CAAC;AAEzF;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,SACzB,KAAK,CAAC,qBAAqB,CAAC,UAC1B,0BAA0B,GAAG,SAAS;qBAgBhB,QAAQ;;qBAA0B,MAAM;kFACpE,CAAC;AAEL;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,8HA4BnC,CAAC;AAEH,eAAO,MAAM,wBAAwB,oGACyB,CAAC"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* cycle.
|
|
7
7
|
*/
|
|
8
8
|
import * as Effect from 'effect/Effect';
|
|
9
|
-
import type { SqlError } from 'effect/
|
|
9
|
+
import type { SqlError } from 'effect/sql/SqlError';
|
|
10
10
|
import type { AclObject } from './fake-grants-parse.ts';
|
|
11
11
|
/** One `aclitem` as the fake stores it: one (object, grantee, grantor) with the words that
|
|
12
12
|
* grantor granted, `*`-marked when WITH GRANT OPTION. `words` is mutable: grants and
|