@homeflare/alchemy 0.43.0 → 0.45.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 -1
- package/dist/caddy/index.js +35 -1
- package/dist/caddy/index.js.map +3 -3
- package/dist/launchd/index.js +35 -1
- package/dist/launchd/index.js.map +3 -3
- package/dist/linux/index.js +35 -1
- package/dist/linux/index.js.map +3 -3
- package/dist/litellm/access-group-form.d.ts +26 -0
- package/dist/litellm/access-group-form.d.ts.map +1 -0
- package/dist/litellm/access-group-operations.d.ts +37 -0
- package/dist/litellm/access-group-operations.d.ts.map +1 -0
- package/dist/litellm/access-group-types.d.ts +49 -0
- package/dist/litellm/access-group-types.d.ts.map +1 -0
- package/dist/litellm/access-group.d.ts +55 -0
- package/dist/litellm/access-group.d.ts.map +1 -0
- package/dist/litellm/credential-errors.d.ts +131 -0
- package/dist/litellm/credential-errors.d.ts.map +1 -0
- package/dist/litellm/credential-form.d.ts +79 -0
- package/dist/litellm/credential-form.d.ts.map +1 -0
- package/dist/litellm/credential-operations.d.ts +84 -0
- package/dist/litellm/credential-operations.d.ts.map +1 -0
- package/dist/litellm/credential-rewrite.d.ts +6 -0
- package/dist/litellm/credential-rewrite.d.ts.map +1 -0
- package/dist/litellm/credential-types.d.ts +87 -0
- package/dist/litellm/credential-types.d.ts.map +1 -0
- package/dist/litellm/credential-values.d.ts +53 -0
- package/dist/litellm/credential-values.d.ts.map +1 -0
- package/dist/litellm/credential.d.ts +83 -0
- package/dist/litellm/credential.d.ts.map +1 -0
- package/dist/litellm/fake-access-group-litellm.d.ts +34 -0
- package/dist/litellm/fake-access-group-litellm.d.ts.map +1 -0
- package/dist/litellm/fake-credential-litellm.d.ts +54 -0
- package/dist/litellm/fake-credential-litellm.d.ts.map +1 -0
- package/dist/litellm/fake-keys.d.ts +53 -0
- package/dist/litellm/fake-keys.d.ts.map +1 -0
- package/dist/litellm/fake-litellm.d.ts +4 -1
- package/dist/litellm/fake-litellm.d.ts.map +1 -1
- package/dist/litellm/fake-mcp-litellm.d.ts +67 -0
- package/dist/litellm/fake-mcp-litellm.d.ts.map +1 -0
- package/dist/litellm/fake-model-litellm-post-update.d.ts +49 -0
- package/dist/litellm/fake-model-litellm-post-update.d.ts.map +1 -0
- package/dist/litellm/fake-model-litellm.d.ts +48 -0
- package/dist/litellm/fake-model-litellm.d.ts.map +1 -0
- package/dist/litellm/fake-policy-attachment-litellm.d.ts +33 -0
- package/dist/litellm/fake-policy-attachment-litellm.d.ts.map +1 -0
- package/dist/litellm/fake-policy-litellm.d.ts +32 -0
- package/dist/litellm/fake-policy-litellm.d.ts.map +1 -0
- package/dist/litellm/fake-registry-base.d.ts +42 -0
- package/dist/litellm/fake-registry-base.d.ts.map +1 -0
- package/dist/litellm/fake-stack.d.ts +8 -1
- package/dist/litellm/fake-stack.d.ts.map +1 -1
- package/dist/litellm/fake-team-litellm.d.ts +47 -0
- package/dist/litellm/fake-team-litellm.d.ts.map +1 -0
- package/dist/litellm/fake-tool-litellm.d.ts +28 -0
- package/dist/litellm/fake-tool-litellm.d.ts.map +1 -0
- package/dist/litellm/fake-toolset-litellm.d.ts +29 -0
- package/dist/litellm/fake-toolset-litellm.d.ts.map +1 -0
- package/dist/litellm/index.d.ts +18 -0
- package/dist/litellm/index.d.ts.map +1 -1
- package/dist/litellm/index.js +3078 -2
- package/dist/litellm/index.js.map +65 -4
- package/dist/litellm/key-errors.d.ts +169 -0
- package/dist/litellm/key-errors.d.ts.map +1 -0
- package/dist/litellm/key-form.d.ts +119 -0
- package/dist/litellm/key-form.d.ts.map +1 -0
- package/dist/litellm/key-harness.d.ts +41 -0
- package/dist/litellm/key-harness.d.ts.map +1 -0
- package/dist/litellm/key-metadata-errors.d.ts +30 -0
- package/dist/litellm/key-metadata-errors.d.ts.map +1 -0
- package/dist/litellm/key-metadata.d.ts +22 -0
- package/dist/litellm/key-metadata.d.ts.map +1 -0
- package/dist/litellm/key-operations.d.ts +63 -0
- package/dist/litellm/key-operations.d.ts.map +1 -0
- package/dist/litellm/key-secret.d.ts +33 -0
- package/dist/litellm/key-secret.d.ts.map +1 -0
- package/dist/litellm/key.d.ts +78 -0
- package/dist/litellm/key.d.ts.map +1 -0
- package/dist/litellm/mcp-server-credential.d.ts +50 -0
- package/dist/litellm/mcp-server-credential.d.ts.map +1 -0
- package/dist/litellm/mcp-server-errors.d.ts +101 -0
- package/dist/litellm/mcp-server-errors.d.ts.map +1 -0
- package/dist/litellm/mcp-server-form.d.ts +56 -0
- package/dist/litellm/mcp-server-form.d.ts.map +1 -0
- package/dist/litellm/mcp-server-locate.d.ts +26 -0
- package/dist/litellm/mcp-server-locate.d.ts.map +1 -0
- package/dist/litellm/mcp-server-operations.d.ts +63 -0
- package/dist/litellm/mcp-server-operations.d.ts.map +1 -0
- package/dist/litellm/mcp-server-shadow.d.ts +24 -0
- package/dist/litellm/mcp-server-shadow.d.ts.map +1 -0
- package/dist/litellm/mcp-server-types.d.ts +118 -0
- package/dist/litellm/mcp-server-types.d.ts.map +1 -0
- package/dist/litellm/mcp-server-url.d.ts +11 -0
- package/dist/litellm/mcp-server-url.d.ts.map +1 -0
- package/dist/litellm/mcp-server.d.ts +95 -0
- package/dist/litellm/mcp-server.d.ts.map +1 -0
- package/dist/litellm/model-claim.d.ts +24 -0
- package/dist/litellm/model-claim.d.ts.map +1 -0
- package/dist/litellm/model-credential.d.ts +12 -0
- package/dist/litellm/model-credential.d.ts.map +1 -0
- package/dist/litellm/model-errors.d.ts +119 -0
- package/dist/litellm/model-errors.d.ts.map +1 -0
- package/dist/litellm/model-form.d.ts +78 -0
- package/dist/litellm/model-form.d.ts.map +1 -0
- package/dist/litellm/model-locate.d.ts +13 -0
- package/dist/litellm/model-locate.d.ts.map +1 -0
- package/dist/litellm/model-operations.d.ts +59 -0
- package/dist/litellm/model-operations.d.ts.map +1 -0
- package/dist/litellm/model-types.d.ts +91 -0
- package/dist/litellm/model-types.d.ts.map +1 -0
- package/dist/litellm/model.d.ts +88 -0
- package/dist/litellm/model.d.ts.map +1 -0
- package/dist/litellm/policy-attachment-form.d.ts +19 -0
- package/dist/litellm/policy-attachment-form.d.ts.map +1 -0
- package/dist/litellm/policy-attachment-operations.d.ts +31 -0
- package/dist/litellm/policy-attachment-operations.d.ts.map +1 -0
- package/dist/litellm/policy-attachment-types.d.ts +48 -0
- package/dist/litellm/policy-attachment-types.d.ts.map +1 -0
- package/dist/litellm/policy-attachment.d.ts +61 -0
- package/dist/litellm/policy-attachment.d.ts.map +1 -0
- package/dist/litellm/policy-form.d.ts +22 -0
- package/dist/litellm/policy-form.d.ts.map +1 -0
- package/dist/litellm/policy-operations.d.ts +42 -0
- package/dist/litellm/policy-operations.d.ts.map +1 -0
- package/dist/litellm/policy-types.d.ts +57 -0
- package/dist/litellm/policy-types.d.ts.map +1 -0
- package/dist/litellm/policy.d.ts +65 -0
- package/dist/litellm/policy.d.ts.map +1 -0
- package/dist/litellm/providers.d.ts +1 -1
- package/dist/litellm/providers.d.ts.map +1 -1
- package/dist/litellm/registry-errors.d.ts +62 -0
- package/dist/litellm/registry-errors.d.ts.map +1 -0
- package/dist/litellm/registry-support.d.ts +42 -0
- package/dist/litellm/registry-support.d.ts.map +1 -0
- package/dist/litellm/team-form.d.ts +26 -0
- package/dist/litellm/team-form.d.ts.map +1 -0
- package/dist/litellm/team-members.d.ts +10 -0
- package/dist/litellm/team-members.d.ts.map +1 -0
- package/dist/litellm/team-operations.d.ts +38 -0
- package/dist/litellm/team-operations.d.ts.map +1 -0
- package/dist/litellm/team-permission.d.ts +35 -0
- package/dist/litellm/team-permission.d.ts.map +1 -0
- package/dist/litellm/team-types.d.ts +101 -0
- package/dist/litellm/team-types.d.ts.map +1 -0
- package/dist/litellm/team.d.ts +67 -0
- package/dist/litellm/team.d.ts.map +1 -0
- package/dist/litellm/tool-policy-form.d.ts +21 -0
- package/dist/litellm/tool-policy-form.d.ts.map +1 -0
- package/dist/litellm/tool-policy-operations.d.ts +30 -0
- package/dist/litellm/tool-policy-operations.d.ts.map +1 -0
- package/dist/litellm/tool-policy-types.d.ts +46 -0
- package/dist/litellm/tool-policy-types.d.ts.map +1 -0
- package/dist/litellm/tool-policy.d.ts +62 -0
- package/dist/litellm/tool-policy.d.ts.map +1 -0
- package/dist/litellm/toolset-form.d.ts +20 -0
- package/dist/litellm/toolset-form.d.ts.map +1 -0
- package/dist/litellm/toolset-operations.d.ts +39 -0
- package/dist/litellm/toolset-operations.d.ts.map +1 -0
- package/dist/litellm/toolset-types.d.ts +46 -0
- package/dist/litellm/toolset-types.d.ts.map +1 -0
- package/dist/litellm/toolset.d.ts +55 -0
- package/dist/litellm/toolset.d.ts.map +1 -0
- package/dist/openbao/index.js +35 -1
- package/dist/openbao/index.js.map +3 -3
- package/dist/ownership/rows.d.ts +11 -0
- package/dist/ownership/rows.d.ts.map +1 -1
- package/dist/postgres/connection.d.ts +14 -2
- package/dist/postgres/connection.d.ts.map +1 -1
- package/dist/postgres/database-sql.d.ts +27 -8
- package/dist/postgres/database-sql.d.ts.map +1 -1
- package/dist/postgres/fake-grants-parse.d.ts +37 -0
- package/dist/postgres/fake-grants-parse.d.ts.map +1 -0
- package/dist/postgres/fake-grants-read.d.ts +61 -0
- package/dist/postgres/fake-grants-read.d.ts.map +1 -0
- package/dist/postgres/fake-grants-sql.d.ts +46 -0
- package/dist/postgres/fake-grants-sql.d.ts.map +1 -0
- package/dist/postgres/fake-grants-write.d.ts +29 -0
- package/dist/postgres/fake-grants-write.d.ts.map +1 -0
- package/dist/postgres/fake-role-sql.d.ts +41 -0
- package/dist/postgres/fake-role-sql.d.ts.map +1 -0
- package/dist/postgres/fake-schema-sql.d.ts +42 -0
- package/dist/postgres/fake-schema-sql.d.ts.map +1 -0
- package/dist/postgres/fake-sql-parse.d.ts +23 -0
- package/dist/postgres/fake-sql-parse.d.ts.map +1 -0
- package/dist/postgres/fake-sql-quote.d.ts +12 -0
- package/dist/postgres/fake-sql-quote.d.ts.map +1 -0
- package/dist/postgres/fake-sql.d.ts +42 -0
- package/dist/postgres/fake-sql.d.ts.map +1 -1
- package/dist/postgres/grants-attrs.d.ts +115 -0
- package/dist/postgres/grants-attrs.d.ts.map +1 -0
- package/dist/postgres/grants-declare.d.ts +88 -0
- package/dist/postgres/grants-declare.d.ts.map +1 -0
- package/dist/postgres/grants-diff.d.ts +25 -0
- package/dist/postgres/grants-diff.d.ts.map +1 -0
- package/dist/postgres/grants-errors.d.ts +137 -0
- package/dist/postgres/grants-errors.d.ts.map +1 -0
- package/dist/postgres/grants-existence.d.ts +14 -0
- package/dist/postgres/grants-existence.d.ts.map +1 -0
- package/dist/postgres/grants-ops.d.ts +65 -0
- package/dist/postgres/grants-ops.d.ts.map +1 -0
- package/dist/postgres/grants-ownership.d.ts +18 -0
- package/dist/postgres/grants-ownership.d.ts.map +1 -0
- package/dist/postgres/grants-plan-restore.d.ts +22 -0
- package/dist/postgres/grants-plan-restore.d.ts.map +1 -0
- package/dist/postgres/grants-plan.d.ts +65 -0
- package/dist/postgres/grants-plan.d.ts.map +1 -0
- package/dist/postgres/grants-read-defaults.d.ts +17 -0
- package/dist/postgres/grants-read-defaults.d.ts.map +1 -0
- package/dist/postgres/grants-read.d.ts +77 -0
- package/dist/postgres/grants-read.d.ts.map +1 -0
- package/dist/postgres/grants-refuse.d.ts +25 -0
- package/dist/postgres/grants-refuse.d.ts.map +1 -0
- package/dist/postgres/grants-sql.d.ts +42 -0
- package/dist/postgres/grants-sql.d.ts.map +1 -0
- package/dist/postgres/grants-words.d.ts +29 -0
- package/dist/postgres/grants-words.d.ts.map +1 -0
- package/dist/postgres/grants.d.ts +37 -0
- package/dist/postgres/grants.d.ts.map +1 -0
- package/dist/postgres/index.d.ts +31 -6
- package/dist/postgres/index.d.ts.map +1 -1
- package/dist/postgres/index.js +1998 -37
- package/dist/postgres/index.js.map +46 -7
- package/dist/postgres/installed-classifier.d.ts +13 -0
- package/dist/postgres/installed-classifier.d.ts.map +1 -0
- package/dist/postgres/providers.d.ts +16 -8
- package/dist/postgres/providers.d.ts.map +1 -1
- package/dist/postgres/psql-executor.d.ts +4 -0
- package/dist/postgres/psql-executor.d.ts.map +1 -1
- package/dist/postgres/role-attrs.d.ts +112 -0
- package/dist/postgres/role-attrs.d.ts.map +1 -0
- package/dist/postgres/role-diff.d.ts +22 -0
- package/dist/postgres/role-diff.d.ts.map +1 -0
- package/dist/postgres/role-errors.d.ts +132 -0
- package/dist/postgres/role-errors.d.ts.map +1 -0
- package/dist/postgres/role-membership-sql.d.ts +78 -0
- package/dist/postgres/role-membership-sql.d.ts.map +1 -0
- package/dist/postgres/role-provider.d.ts +11 -0
- package/dist/postgres/role-provider.d.ts.map +1 -0
- package/dist/postgres/role-scram.d.ts +8 -0
- package/dist/postgres/role-scram.d.ts.map +1 -0
- package/dist/postgres/role-secrets.d.ts +38 -0
- package/dist/postgres/role-secrets.d.ts.map +1 -0
- package/dist/postgres/role-sql.d.ts +68 -0
- package/dist/postgres/role-sql.d.ts.map +1 -0
- package/dist/postgres/role.d.ts +57 -0
- package/dist/postgres/role.d.ts.map +1 -0
- package/dist/postgres/schema-assert.d.ts +50 -0
- package/dist/postgres/schema-assert.d.ts.map +1 -0
- package/dist/postgres/schema-attrs.d.ts +51 -0
- package/dist/postgres/schema-attrs.d.ts.map +1 -0
- package/dist/postgres/schema-delete.d.ts +28 -0
- package/dist/postgres/schema-delete.d.ts.map +1 -0
- package/dist/postgres/schema-diff.d.ts +14 -0
- package/dist/postgres/schema-diff.d.ts.map +1 -0
- package/dist/postgres/schema-errors.d.ts +139 -0
- package/dist/postgres/schema-errors.d.ts.map +1 -0
- package/dist/postgres/schema-identity.d.ts +8 -0
- package/dist/postgres/schema-identity.d.ts.map +1 -0
- package/dist/postgres/schema-reconcile.d.ts +12 -0
- package/dist/postgres/schema-reconcile.d.ts.map +1 -0
- package/dist/postgres/schema-sql.d.ts +45 -0
- package/dist/postgres/schema-sql.d.ts.map +1 -0
- package/dist/postgres/schema-test-kit.d.ts +67 -0
- package/dist/postgres/schema-test-kit.d.ts.map +1 -0
- package/dist/postgres/schema.d.ts +54 -0
- package/dist/postgres/schema.d.ts.map +1 -0
- package/dist/proxmox/index.js +35 -1
- package/dist/proxmox/index.js.map +3 -3
- package/dist/release/fake-engine.d.ts +10 -0
- package/dist/release/fake-engine.d.ts.map +1 -1
- package/dist/release/index.js +35 -1
- package/dist/release/index.js.map +3 -3
- package/dist/valkey/acl-attrs.d.ts +94 -0
- package/dist/valkey/acl-attrs.d.ts.map +1 -0
- package/dist/valkey/acl-compare.d.ts +28 -0
- package/dist/valkey/acl-compare.d.ts.map +1 -0
- package/dist/valkey/acl-connection.d.ts +6 -0
- package/dist/valkey/acl-connection.d.ts.map +1 -0
- package/dist/valkey/acl-form.d.ts +62 -0
- package/dist/valkey/acl-form.d.ts.map +1 -0
- package/dist/valkey/acl-managed.d.ts +4 -0
- package/dist/valkey/acl-managed.d.ts.map +1 -0
- package/dist/valkey/acl-ops.d.ts +37 -0
- package/dist/valkey/acl-ops.d.ts.map +1 -0
- package/dist/valkey/acl-profiles.d.ts +53 -0
- package/dist/valkey/acl-profiles.d.ts.map +1 -0
- package/dist/valkey/acl-reconcile.d.ts +26 -0
- package/dist/valkey/acl-reconcile.d.ts.map +1 -0
- package/dist/valkey/acl.d.ts +24 -0
- package/dist/valkey/acl.d.ts.map +1 -0
- package/dist/valkey/connection-service.d.ts +22 -0
- package/dist/valkey/connection-service.d.ts.map +1 -0
- package/dist/valkey/connection.d.ts +59 -0
- package/dist/valkey/connection.d.ts.map +1 -0
- package/dist/valkey/errors.d.ts +165 -0
- package/dist/valkey/errors.d.ts.map +1 -0
- package/dist/valkey/fake-acl.d.ts +29 -0
- package/dist/valkey/fake-acl.d.ts.map +1 -0
- package/dist/valkey/fake-valkey.d.ts +35 -0
- package/dist/valkey/fake-valkey.d.ts.map +1 -0
- package/dist/valkey/handler-test-fixture.d.ts +20 -0
- package/dist/valkey/handler-test-fixture.d.ts.map +1 -0
- package/dist/valkey/index.d.ts +18 -0
- package/dist/valkey/index.d.ts.map +1 -0
- package/dist/valkey/index.js +964 -0
- package/dist/valkey/index.js.map +27 -0
- package/dist/valkey/instance-attrs.d.ts +46 -0
- package/dist/valkey/instance-attrs.d.ts.map +1 -0
- package/dist/valkey/instance-form.d.ts +22 -0
- package/dist/valkey/instance-form.d.ts.map +1 -0
- package/dist/valkey/instance.d.ts +48 -0
- package/dist/valkey/instance.d.ts.map +1 -0
- package/dist/valkey/provider-socket-fixture.d.ts +8 -0
- package/dist/valkey/provider-socket-fixture.d.ts.map +1 -0
- package/dist/valkey/providers.d.ts +16 -0
- package/dist/valkey/providers.d.ts.map +1 -0
- package/dist/valkey/resp.d.ts +38 -0
- package/dist/valkey/resp.d.ts.map +1 -0
- package/dist/valkey/transport-error.d.ts +36 -0
- package/dist/valkey/transport-error.d.ts.map +1 -0
- package/dist/valkey/transport.d.ts +50 -0
- package/dist/valkey/transport.d.ts.map +1 -0
- package/docs/litellm-access-group.md +105 -0
- package/docs/litellm-credential.md +60 -0
- package/docs/litellm-key-metadata.md +56 -0
- package/docs/litellm-key.md +194 -0
- package/docs/litellm-mcp.md +187 -0
- package/docs/litellm-model.md +111 -0
- package/docs/litellm-policy-attachment.md +86 -0
- package/docs/litellm-policy.md +103 -0
- package/docs/litellm-team.md +117 -0
- package/docs/litellm-tool-policy.md +90 -0
- package/docs/litellm-toolset.md +92 -0
- package/docs/litellm.md +16 -9
- package/docs/peers.md +15 -6
- package/docs/postgres-grants-example.md +55 -0
- package/docs/postgres-grants.md +157 -0
- package/docs/postgres-role.md +126 -0
- package/docs/postgres-schema.md +139 -0
- package/docs/postgres.md +20 -3
- package/docs/valkey-transport.md +29 -0
- package/docs/valkey.md +187 -0
- package/package.json +6 -2
- package/src/ceph/ceph-argv.test.ts +1 -1
- package/src/launchd/sudo-allowlist.test.ts +2 -2
- package/src/linux/sudo-allowlist.test.ts +3 -3
- package/src/linux/sudo-runner.test.ts +2 -2
- package/src/litellm/access-group-form.ts +105 -0
- package/src/litellm/access-group-operations.ts +92 -0
- package/src/litellm/access-group-types.ts +49 -0
- package/src/litellm/access-group.test.ts +197 -0
- package/src/litellm/access-group.ts +151 -0
- package/src/litellm/credential-errors.ts +183 -0
- package/src/litellm/credential-form.test.ts +151 -0
- package/src/litellm/credential-form.ts +211 -0
- package/src/litellm/credential-guards.test.ts +241 -0
- package/src/litellm/credential-operations.ts +208 -0
- package/src/litellm/credential-recovery.test.ts +93 -0
- package/src/litellm/credential-rewrite.test.ts +164 -0
- package/src/litellm/credential-rewrite.ts +50 -0
- package/src/litellm/credential-types.ts +117 -0
- package/src/litellm/credential-values.ts +94 -0
- package/src/litellm/credential.test.ts +218 -0
- package/src/litellm/credential.ts +227 -0
- package/src/litellm/fake-access-group-litellm.ts +127 -0
- package/src/litellm/fake-credential-litellm.ts +216 -0
- package/src/litellm/fake-keys.ts +190 -0
- package/src/litellm/fake-litellm.ts +19 -9
- package/src/litellm/fake-mcp-litellm.ts +214 -0
- package/src/litellm/fake-model-litellm-post-update.ts +103 -0
- package/src/litellm/fake-model-litellm.ts +233 -0
- package/src/litellm/fake-policy-attachment-litellm.ts +97 -0
- package/src/litellm/fake-policy-litellm.ts +186 -0
- package/src/litellm/fake-registry-base.ts +69 -0
- package/src/litellm/fake-stack.ts +17 -1
- package/src/litellm/fake-team-litellm.ts +229 -0
- package/src/litellm/fake-tool-litellm.ts +88 -0
- package/src/litellm/fake-toolset-litellm.ts +110 -0
- package/src/litellm/index.ts +140 -0
- package/src/litellm/key-delete.test.ts +212 -0
- package/src/litellm/key-errors.ts +241 -0
- package/src/litellm/key-form.ts +200 -0
- package/src/litellm/key-harness.ts +121 -0
- package/src/litellm/key-metadata-errors.ts +49 -0
- package/src/litellm/key-metadata.test.ts +156 -0
- package/src/litellm/key-metadata.ts +74 -0
- package/src/litellm/key-operations.ts +184 -0
- package/src/litellm/key-rotation.test.ts +110 -0
- package/src/litellm/key-scope.test.ts +135 -0
- package/src/litellm/key-secret.test.ts +248 -0
- package/src/litellm/key-secret.ts +137 -0
- package/src/litellm/key-transport.test.ts +166 -0
- package/src/litellm/key.test.ts +231 -0
- package/src/litellm/key.ts +213 -0
- package/src/litellm/mcp-server-adopt.test.ts +86 -0
- package/src/litellm/mcp-server-alias.test.ts +184 -0
- package/src/litellm/mcp-server-credential.ts +85 -0
- package/src/litellm/mcp-server-errors.ts +141 -0
- package/src/litellm/mcp-server-exports.test.ts +15 -0
- package/src/litellm/mcp-server-form.test.ts +241 -0
- package/src/litellm/mcp-server-form.ts +233 -0
- package/src/litellm/mcp-server-handlers.test.ts +150 -0
- package/src/litellm/mcp-server-locate.ts +66 -0
- package/src/litellm/mcp-server-operations.ts +111 -0
- package/src/litellm/mcp-server-registry.test.ts +146 -0
- package/src/litellm/mcp-server-retype.test.ts +114 -0
- package/src/litellm/mcp-server-shadow.test.ts +91 -0
- package/src/litellm/mcp-server-shadow.ts +45 -0
- package/src/litellm/mcp-server-tools.test.ts +85 -0
- package/src/litellm/mcp-server-types.ts +143 -0
- package/src/litellm/mcp-server-url.ts +66 -0
- package/src/litellm/mcp-server.test.ts +213 -0
- package/src/litellm/mcp-server.ts +225 -0
- package/src/litellm/model-claim.ts +69 -0
- package/src/litellm/model-credential.ts +45 -0
- package/src/litellm/model-errors.ts +168 -0
- package/src/litellm/model-foreign-row.test.ts +173 -0
- package/src/litellm/model-form.test.ts +228 -0
- package/src/litellm/model-form.ts +223 -0
- package/src/litellm/model-locate.test.ts +128 -0
- package/src/litellm/model-locate.ts +67 -0
- package/src/litellm/model-operations.test.ts +93 -0
- package/src/litellm/model-operations.ts +146 -0
- package/src/litellm/model-params-preserve.test.ts +119 -0
- package/src/litellm/model-recovery.test.ts +57 -0
- package/src/litellm/model-types.ts +112 -0
- package/src/litellm/model.test.ts +222 -0
- package/src/litellm/model.ts +237 -0
- package/src/litellm/policy-attachment-form.ts +103 -0
- package/src/litellm/policy-attachment-operations.ts +74 -0
- package/src/litellm/policy-attachment-types.ts +48 -0
- package/src/litellm/policy-attachment.test.ts +198 -0
- package/src/litellm/policy-attachment.ts +178 -0
- package/src/litellm/policy-form.ts +122 -0
- package/src/litellm/policy-operations.ts +112 -0
- package/src/litellm/policy-types.ts +58 -0
- package/src/litellm/policy.test.ts +214 -0
- package/src/litellm/policy.ts +146 -0
- package/src/litellm/providers.ts +24 -3
- package/src/litellm/registry-errors.ts +88 -0
- package/src/litellm/registry-exports.test.ts +66 -0
- package/src/litellm/registry-support.ts +109 -0
- package/src/litellm/team-form.ts +140 -0
- package/src/litellm/team-members.test.ts +150 -0
- package/src/litellm/team-members.ts +58 -0
- package/src/litellm/team-operations.ts +90 -0
- package/src/litellm/team-permission.ts +159 -0
- package/src/litellm/team-read.test.ts +89 -0
- package/src/litellm/team-types.ts +106 -0
- package/src/litellm/team.test.ts +206 -0
- package/src/litellm/team.ts +159 -0
- package/src/litellm/tool-policy-form.ts +94 -0
- package/src/litellm/tool-policy-operations.ts +58 -0
- package/src/litellm/tool-policy-types.ts +48 -0
- package/src/litellm/tool-policy.test.ts +172 -0
- package/src/litellm/tool-policy.ts +125 -0
- package/src/litellm/toolset-form.ts +104 -0
- package/src/litellm/toolset-operations.ts +90 -0
- package/src/litellm/toolset-types.ts +47 -0
- package/src/litellm/toolset.test.ts +198 -0
- package/src/litellm/toolset.ts +151 -0
- package/src/ownership/ownership.test.ts +33 -1
- package/src/ownership/rows.ts +53 -0
- package/src/postgres/connection.ts +42 -7
- package/src/postgres/database-bigint-serialization.test.ts +1 -0
- package/src/postgres/database-refusals.test.ts +2 -2
- package/src/postgres/database-sql.ts +36 -9
- package/src/postgres/fake-grants-parse.ts +189 -0
- package/src/postgres/fake-grants-read.ts +250 -0
- package/src/postgres/fake-grants-sql.ts +207 -0
- package/src/postgres/fake-grants-write.ts +90 -0
- package/src/postgres/fake-role-sql.ts +240 -0
- package/src/postgres/fake-schema-semantics.test.ts +36 -0
- package/src/postgres/fake-schema-sql.ts +146 -0
- package/src/postgres/fake-sql-parse.ts +86 -0
- package/src/postgres/fake-sql-quote.ts +36 -0
- package/src/postgres/fake-sql.ts +166 -46
- package/src/postgres/fixtures/pg-REL_18_6-acl.h.txt +147 -0
- package/src/postgres/fixtures/pg-REL_18_6-aclexplode-func.txt +31 -0
- package/src/postgres/fixtures/pg-REL_18_6-alter-default-privileges-synopsis.txt +82 -0
- package/src/postgres/fixtures/pg-REL_18_6-alter_role.sgml.txt +44 -0
- package/src/postgres/fixtures/pg-REL_18_6-create_role.sgml.txt +26 -0
- package/src/postgres/fixtures/pg-REL_18_6-grant-synopsis.txt +95 -0
- package/src/postgres/fixtures/pg-REL_18_6-pg_attribute.h.txt +24 -0
- package/src/postgres/fixtures/pg-REL_18_6-pg_auth_members.h.txt +62 -0
- package/src/postgres/fixtures/pg-REL_18_6-pg_authid.h.txt +70 -0
- package/src/postgres/fixtures/pg-REL_18_6-pg_class.h.txt +33 -0
- package/src/postgres/fixtures/pg-REL_18_6-pg_default_acl.h.txt +81 -0
- package/src/postgres/fixtures/pg-REL_18_6-pg_namespace.h.txt +28 -0
- package/src/postgres/fixtures/pg-REL_18_6-revoke-synopsis.txt +124 -0
- package/src/postgres/grants-acl.test.ts +61 -0
- package/src/postgres/grants-attrs.ts +185 -0
- package/src/postgres/grants-database.test.ts +158 -0
- package/src/postgres/grants-declare.ts +172 -0
- package/src/postgres/grants-delete-proof.test.ts +154 -0
- package/src/postgres/grants-diff.ts +101 -0
- package/src/postgres/grants-errors.ts +215 -0
- package/src/postgres/grants-existence-guards.test.ts +113 -0
- package/src/postgres/grants-existence.ts +101 -0
- package/src/postgres/grants-lifecycle-guards.test.ts +208 -0
- package/src/postgres/grants-lifecycle-repair.test.ts +208 -0
- package/src/postgres/grants-lifecycle.test.ts +181 -0
- package/src/postgres/grants-ops.ts +229 -0
- package/src/postgres/grants-owner-revoke.test.ts +121 -0
- package/src/postgres/grants-ownership.ts +49 -0
- package/src/postgres/grants-plan-collateral.test.ts +202 -0
- package/src/postgres/grants-plan-diff.test.ts +204 -0
- package/src/postgres/grants-plan-restore.ts +43 -0
- package/src/postgres/grants-plan-revocations.test.ts +69 -0
- package/src/postgres/grants-plan.test.ts +148 -0
- package/src/postgres/grants-plan.ts +245 -0
- package/src/postgres/grants-provenance.test.ts +134 -0
- package/src/postgres/grants-psql-lifecycle.test.ts +105 -0
- package/src/postgres/grants-read-absent.test.ts +91 -0
- package/src/postgres/grants-read-defaults.ts +51 -0
- package/src/postgres/grants-read.ts +250 -0
- package/src/postgres/grants-refusals.test.ts +136 -0
- package/src/postgres/grants-refuse.ts +119 -0
- package/src/postgres/grants-relkind-wire.test.ts +111 -0
- package/src/postgres/grants-repair-plan.test.ts +201 -0
- package/src/postgres/grants-sql.test.ts +128 -0
- package/src/postgres/grants-sql.ts +144 -0
- package/src/postgres/grants-words.ts +34 -0
- package/src/postgres/grants.ts +110 -0
- package/src/postgres/index.ts +129 -5
- package/src/postgres/installed-classifier.ts +36 -0
- package/src/postgres/providers.ts +33 -9
- package/src/postgres/psql-executor-escaping.test.ts +67 -0
- package/src/postgres/psql-executor.test.ts +63 -2
- package/src/postgres/psql-executor.ts +74 -34
- package/src/postgres/role-adopt.test.ts +98 -0
- package/src/postgres/role-attrs.ts +137 -0
- package/src/postgres/role-diff.ts +93 -0
- package/src/postgres/role-errors.ts +206 -0
- package/src/postgres/role-guard.test.ts +60 -0
- package/src/postgres/role-identity.test.ts +197 -0
- package/src/postgres/role-lifecycle.test.ts +228 -0
- package/src/postgres/role-membership-options.test.ts +73 -0
- package/src/postgres/role-membership-repair.test.ts +153 -0
- package/src/postgres/role-membership-sql.ts +223 -0
- package/src/postgres/role-password-ascii.test.ts +53 -0
- package/src/postgres/role-password-transports.test.ts +123 -0
- package/src/postgres/role-password.test.ts +158 -0
- package/src/postgres/role-privilege.test.ts +107 -0
- package/src/postgres/role-provenance.test.ts +200 -0
- package/src/postgres/role-provider.ts +105 -0
- package/src/postgres/role-refusals.test.ts +225 -0
- package/src/postgres/role-scram.test.ts +38 -0
- package/src/postgres/role-scram.ts +40 -0
- package/src/postgres/role-secrets.ts +61 -0
- package/src/postgres/role-sql.ts +213 -0
- package/src/postgres/role-valid-until.test.ts +68 -0
- package/src/postgres/role.ts +226 -0
- package/src/postgres/schema-assert.ts +139 -0
- package/src/postgres/schema-attrs.ts +71 -0
- package/src/postgres/schema-delete-proofs.test.ts +192 -0
- package/src/postgres/schema-delete.ts +96 -0
- package/src/postgres/schema-diff.ts +44 -0
- package/src/postgres/schema-drop-2bp01.test.ts +146 -0
- package/src/postgres/schema-errors.ts +209 -0
- package/src/postgres/schema-handlers.test.ts +193 -0
- package/src/postgres/schema-identity.ts +39 -0
- package/src/postgres/schema-lifecycle.test.ts +246 -0
- package/src/postgres/schema-race.test.ts +70 -0
- package/src/postgres/schema-reconcile.ts +100 -0
- package/src/postgres/schema-refusals.test.ts +144 -0
- package/src/postgres/schema-socket.test.ts +162 -0
- package/src/postgres/schema-sql.ts +130 -0
- package/src/postgres/schema-takeover.test.ts +149 -0
- package/src/postgres/schema-test-kit.ts +85 -0
- package/src/postgres/schema.ts +130 -0
- package/src/release/binary-alias.test.ts +3 -3
- package/src/release/binary-claims.test.ts +3 -3
- package/src/release/binary-directory-umask.test.ts +65 -0
- package/src/release/fake-engine.ts +15 -0
- package/src/valkey/acl-attrs.ts +98 -0
- package/src/valkey/acl-compare.ts +57 -0
- package/src/valkey/acl-connection.ts +13 -0
- package/src/valkey/acl-delete.test.ts +127 -0
- package/src/valkey/acl-form.ts +239 -0
- package/src/valkey/acl-managed.ts +13 -0
- package/src/valkey/acl-ops.ts +122 -0
- package/src/valkey/acl-ownership.test.ts +118 -0
- package/src/valkey/acl-prefix.test.ts +38 -0
- package/src/valkey/acl-profiles.ts +81 -0
- package/src/valkey/acl-reconcile.ts +180 -0
- package/src/valkey/acl-reserved.test.ts +69 -0
- package/src/valkey/acl-revocation.test.ts +94 -0
- package/src/valkey/acl-seat-prefix.test.ts +111 -0
- package/src/valkey/acl-validation.test.ts +54 -0
- package/src/valkey/acl.test.ts +215 -0
- package/src/valkey/acl.ts +169 -0
- package/src/valkey/connection-service.ts +46 -0
- package/src/valkey/connection.ts +180 -0
- package/src/valkey/errors.ts +239 -0
- package/src/valkey/fake-acl.ts +128 -0
- package/src/valkey/fake-valkey.ts +224 -0
- package/src/valkey/handler-test-fixture.ts +43 -0
- package/src/valkey/handlers.test.ts +205 -0
- package/src/valkey/index.ts +54 -0
- package/src/valkey/instance-attrs.ts +48 -0
- package/src/valkey/instance-form.ts +104 -0
- package/src/valkey/instance.test.ts +108 -0
- package/src/valkey/instance.ts +160 -0
- package/src/valkey/provider-socket-fixture.ts +71 -0
- package/src/valkey/providers.test.ts +129 -0
- package/src/valkey/providers.ts +21 -0
- package/src/valkey/resp.ts +212 -0
- package/src/valkey/transport-bounds.test.ts +150 -0
- package/src/valkey/transport-error.ts +37 -0
- package/src/valkey/transport.test.ts +158 -0
- package/src/valkey/transport.ts +109 -0
- package/src/valkey/upstream-bounds.test.ts +14 -0
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
# path: doc/src/sgml/ref/grant.sgml
|
|
2
|
+
# blob: 999f657d5c008970e290793c54ad74fb7b9342bb
|
|
3
|
+
# tag: REL_18_6 (commit 724edf9bde9d356724ad384a2e196edc3c9f80f7)
|
|
4
|
+
# fetched: 2026-09-30 via gh api repos/postgres/postgres/contents/...?ref=724edf9bde9d356724ad384a2e196edc3c9f80f7
|
|
5
|
+
# excerpt: the <synopsis> block only (lines 23-111 of the full file), cut per house doc-size convention
|
|
6
|
+
#
|
|
7
|
+
<synopsis>
|
|
8
|
+
GRANT { { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES | TRIGGER | MAINTAIN }
|
|
9
|
+
[, ...] | ALL [ PRIVILEGES ] }
|
|
10
|
+
ON { [ TABLE ] <replaceable class="parameter">table_name</replaceable> [, ...]
|
|
11
|
+
| ALL TABLES IN SCHEMA <replaceable class="parameter">schema_name</replaceable> [, ...] }
|
|
12
|
+
TO <replaceable class="parameter">role_specification</replaceable> [, ...] [ WITH GRANT OPTION ]
|
|
13
|
+
[ GRANTED BY <replaceable class="parameter">role_specification</replaceable> ]
|
|
14
|
+
|
|
15
|
+
GRANT { { SELECT | INSERT | UPDATE | REFERENCES } ( <replaceable class="parameter">column_name</replaceable> [, ...] )
|
|
16
|
+
[, ...] | ALL [ PRIVILEGES ] ( <replaceable class="parameter">column_name</replaceable> [, ...] ) }
|
|
17
|
+
ON [ TABLE ] <replaceable class="parameter">table_name</replaceable> [, ...]
|
|
18
|
+
TO <replaceable class="parameter">role_specification</replaceable> [, ...] [ WITH GRANT OPTION ]
|
|
19
|
+
[ GRANTED BY <replaceable class="parameter">role_specification</replaceable> ]
|
|
20
|
+
|
|
21
|
+
GRANT { { USAGE | SELECT | UPDATE }
|
|
22
|
+
[, ...] | ALL [ PRIVILEGES ] }
|
|
23
|
+
ON { SEQUENCE <replaceable class="parameter">sequence_name</replaceable> [, ...]
|
|
24
|
+
| ALL SEQUENCES IN SCHEMA <replaceable class="parameter">schema_name</replaceable> [, ...] }
|
|
25
|
+
TO <replaceable class="parameter">role_specification</replaceable> [, ...] [ WITH GRANT OPTION ]
|
|
26
|
+
[ GRANTED BY <replaceable class="parameter">role_specification</replaceable> ]
|
|
27
|
+
|
|
28
|
+
GRANT { { CREATE | CONNECT | TEMPORARY | TEMP } [, ...] | ALL [ PRIVILEGES ] }
|
|
29
|
+
ON DATABASE <replaceable>database_name</replaceable> [, ...]
|
|
30
|
+
TO <replaceable class="parameter">role_specification</replaceable> [, ...] [ WITH GRANT OPTION ]
|
|
31
|
+
[ GRANTED BY <replaceable class="parameter">role_specification</replaceable> ]
|
|
32
|
+
|
|
33
|
+
GRANT { USAGE | ALL [ PRIVILEGES ] }
|
|
34
|
+
ON DOMAIN <replaceable>domain_name</replaceable> [, ...]
|
|
35
|
+
TO <replaceable class="parameter">role_specification</replaceable> [, ...] [ WITH GRANT OPTION ]
|
|
36
|
+
[ GRANTED BY <replaceable class="parameter">role_specification</replaceable> ]
|
|
37
|
+
|
|
38
|
+
GRANT { USAGE | ALL [ PRIVILEGES ] }
|
|
39
|
+
ON FOREIGN DATA WRAPPER <replaceable>fdw_name</replaceable> [, ...]
|
|
40
|
+
TO <replaceable class="parameter">role_specification</replaceable> [, ...] [ WITH GRANT OPTION ]
|
|
41
|
+
[ GRANTED BY <replaceable class="parameter">role_specification</replaceable> ]
|
|
42
|
+
|
|
43
|
+
GRANT { USAGE | ALL [ PRIVILEGES ] }
|
|
44
|
+
ON FOREIGN SERVER <replaceable>server_name</replaceable> [, ...]
|
|
45
|
+
TO <replaceable class="parameter">role_specification</replaceable> [, ...] [ WITH GRANT OPTION ]
|
|
46
|
+
[ GRANTED BY <replaceable class="parameter">role_specification</replaceable> ]
|
|
47
|
+
|
|
48
|
+
GRANT { EXECUTE | ALL [ PRIVILEGES ] }
|
|
49
|
+
ON { { FUNCTION | PROCEDURE | ROUTINE } <replaceable>routine_name</replaceable> [ ( [ [ <replaceable class="parameter">argmode</replaceable> ] [ <replaceable class="parameter">arg_name</replaceable> ] <replaceable class="parameter">arg_type</replaceable> [, ...] ] ) ] [, ...]
|
|
50
|
+
| ALL { FUNCTIONS | PROCEDURES | ROUTINES } IN SCHEMA <replaceable class="parameter">schema_name</replaceable> [, ...] }
|
|
51
|
+
TO <replaceable class="parameter">role_specification</replaceable> [, ...] [ WITH GRANT OPTION ]
|
|
52
|
+
[ GRANTED BY <replaceable class="parameter">role_specification</replaceable> ]
|
|
53
|
+
|
|
54
|
+
GRANT { USAGE | ALL [ PRIVILEGES ] }
|
|
55
|
+
ON LANGUAGE <replaceable>lang_name</replaceable> [, ...]
|
|
56
|
+
TO <replaceable class="parameter">role_specification</replaceable> [, ...] [ WITH GRANT OPTION ]
|
|
57
|
+
[ GRANTED BY <replaceable class="parameter">role_specification</replaceable> ]
|
|
58
|
+
|
|
59
|
+
GRANT { { SELECT | UPDATE } [, ...] | ALL [ PRIVILEGES ] }
|
|
60
|
+
ON LARGE OBJECT <replaceable class="parameter">loid</replaceable> [, ...]
|
|
61
|
+
TO <replaceable class="parameter">role_specification</replaceable> [, ...] [ WITH GRANT OPTION ]
|
|
62
|
+
[ GRANTED BY <replaceable class="parameter">role_specification</replaceable> ]
|
|
63
|
+
|
|
64
|
+
GRANT { { SET | ALTER SYSTEM } [, ... ] | ALL [ PRIVILEGES ] }
|
|
65
|
+
ON PARAMETER <replaceable class="parameter">configuration_parameter</replaceable> [, ...]
|
|
66
|
+
TO <replaceable class="parameter">role_specification</replaceable> [, ...] [ WITH GRANT OPTION ]
|
|
67
|
+
[ GRANTED BY <replaceable class="parameter">role_specification</replaceable> ]
|
|
68
|
+
|
|
69
|
+
GRANT { { CREATE | USAGE } [, ...] | ALL [ PRIVILEGES ] }
|
|
70
|
+
ON SCHEMA <replaceable>schema_name</replaceable> [, ...]
|
|
71
|
+
TO <replaceable class="parameter">role_specification</replaceable> [, ...] [ WITH GRANT OPTION ]
|
|
72
|
+
[ GRANTED BY <replaceable class="parameter">role_specification</replaceable> ]
|
|
73
|
+
|
|
74
|
+
GRANT { CREATE | ALL [ PRIVILEGES ] }
|
|
75
|
+
ON TABLESPACE <replaceable>tablespace_name</replaceable> [, ...]
|
|
76
|
+
TO <replaceable class="parameter">role_specification</replaceable> [, ...] [ WITH GRANT OPTION ]
|
|
77
|
+
[ GRANTED BY <replaceable class="parameter">role_specification</replaceable> ]
|
|
78
|
+
|
|
79
|
+
GRANT { USAGE | ALL [ PRIVILEGES ] }
|
|
80
|
+
ON TYPE <replaceable>type_name</replaceable> [, ...]
|
|
81
|
+
TO <replaceable class="parameter">role_specification</replaceable> [, ...] [ WITH GRANT OPTION ]
|
|
82
|
+
[ GRANTED BY <replaceable class="parameter">role_specification</replaceable> ]
|
|
83
|
+
|
|
84
|
+
GRANT <replaceable class="parameter">role_name</replaceable> [, ...] TO <replaceable class="parameter">role_specification</replaceable> [, ...]
|
|
85
|
+
[ WITH { ADMIN | INHERIT | SET } { OPTION | TRUE | FALSE } ]
|
|
86
|
+
[ GRANTED BY <replaceable class="parameter">role_specification</replaceable> ]
|
|
87
|
+
|
|
88
|
+
<phrase>where <replaceable class="parameter">role_specification</replaceable> can be:</phrase>
|
|
89
|
+
|
|
90
|
+
[ GROUP ] <replaceable class="parameter">role_name</replaceable>
|
|
91
|
+
| PUBLIC
|
|
92
|
+
| CURRENT_ROLE
|
|
93
|
+
| CURRENT_USER
|
|
94
|
+
| SESSION_USER
|
|
95
|
+
</synopsis>
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# path: src/include/catalog/pg_attribute.h
|
|
2
|
+
# blob: c612aed620f63dd871f2f2cfa4ae78106992f1b9
|
|
3
|
+
# tag: REL_18_6 (commit 724edf9bde9d356724ad384a2e196edc3c9f80f7)
|
|
4
|
+
# fetched: 2026-09-30 via gh api repos/postgres/postgres/contents/...?ref=724edf9bde9d356724ad384a2e196edc3c9f80f7
|
|
5
|
+
# excerpt: the struct header columns attrelid/attname (lines 37-46) and the attacl column (lines 170-174) of the full file, two ranges
|
|
6
|
+
#
|
|
7
|
+
CATALOG(pg_attribute,1249,AttributeRelationId) BKI_BOOTSTRAP BKI_ROWTYPE_OID(75,AttributeRelation_Rowtype_Id) BKI_SCHEMA_MACRO
|
|
8
|
+
{
|
|
9
|
+
Oid attrelid BKI_LOOKUP(pg_class); /* OID of relation containing
|
|
10
|
+
* this attribute */
|
|
11
|
+
NameData attname; /* name of attribute */
|
|
12
|
+
|
|
13
|
+
/*
|
|
14
|
+
* atttypid is the OID of the instance in Catalog Class pg_type that
|
|
15
|
+
* defines the data type of this attribute (e.g. int4). Information in
|
|
16
|
+
* that instance is redundant with the attlen, attbyval, and attalign
|
|
17
|
+
#
|
|
18
|
+
# excerpt continued: lines 170-174
|
|
19
|
+
#
|
|
20
|
+
|
|
21
|
+
/* Column-level access permissions */
|
|
22
|
+
aclitem attacl[1] BKI_DEFAULT(_null_);
|
|
23
|
+
|
|
24
|
+
/* Column-level options */
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# path: src/include/catalog/pg_auth_members.h
|
|
2
|
+
# blob: 387316e44f07982264482f01f2298f4f85ffbafb
|
|
3
|
+
# tag: REL_18_6 (commit 724edf9bde9d356724ad384a2e196edc3c9f80f7)
|
|
4
|
+
# fetched: 2026-09-29 via gh api repos/postgres/postgres/contents/...?ref=724edf9bde9d356724ad384a2e196edc3c9f80f7
|
|
5
|
+
# excerpt: the full file, as fetched
|
|
6
|
+
#
|
|
7
|
+
/*-------------------------------------------------------------------------
|
|
8
|
+
*
|
|
9
|
+
* pg_auth_members.h
|
|
10
|
+
* definition of the "authorization identifier members" system catalog
|
|
11
|
+
* (pg_auth_members).
|
|
12
|
+
*
|
|
13
|
+
*
|
|
14
|
+
* Portions Copyright (c) 1996-2025, PostgreSQL Global Development Group
|
|
15
|
+
* Portions Copyright (c) 1994, Regents of the University of California
|
|
16
|
+
*
|
|
17
|
+
* src/include/catalog/pg_auth_members.h
|
|
18
|
+
*
|
|
19
|
+
* NOTES
|
|
20
|
+
* The Catalog.pm module reads this file and derives schema
|
|
21
|
+
* information.
|
|
22
|
+
*
|
|
23
|
+
*-------------------------------------------------------------------------
|
|
24
|
+
*/
|
|
25
|
+
#ifndef PG_AUTH_MEMBERS_H
|
|
26
|
+
#define PG_AUTH_MEMBERS_H
|
|
27
|
+
|
|
28
|
+
#include "catalog/genbki.h"
|
|
29
|
+
#include "catalog/pg_auth_members_d.h" /* IWYU pragma: export */
|
|
30
|
+
|
|
31
|
+
/* ----------------
|
|
32
|
+
* pg_auth_members definition. cpp turns this into
|
|
33
|
+
* typedef struct FormData_pg_auth_members
|
|
34
|
+
* ----------------
|
|
35
|
+
*/
|
|
36
|
+
CATALOG(pg_auth_members,1261,AuthMemRelationId) BKI_SHARED_RELATION BKI_ROWTYPE_OID(2843,AuthMemRelation_Rowtype_Id) BKI_SCHEMA_MACRO
|
|
37
|
+
{
|
|
38
|
+
Oid oid; /* oid */
|
|
39
|
+
Oid roleid BKI_LOOKUP(pg_authid); /* ID of a role */
|
|
40
|
+
Oid member BKI_LOOKUP(pg_authid); /* ID of a member of that role */
|
|
41
|
+
Oid grantor BKI_LOOKUP(pg_authid); /* who granted the membership */
|
|
42
|
+
bool admin_option; /* granted with admin option? */
|
|
43
|
+
bool inherit_option; /* exercise privileges without SET ROLE? */
|
|
44
|
+
bool set_option; /* use SET ROLE to the target role? */
|
|
45
|
+
} FormData_pg_auth_members;
|
|
46
|
+
|
|
47
|
+
/* ----------------
|
|
48
|
+
* Form_pg_auth_members corresponds to a pointer to a tuple with
|
|
49
|
+
* the format of pg_auth_members relation.
|
|
50
|
+
* ----------------
|
|
51
|
+
*/
|
|
52
|
+
typedef FormData_pg_auth_members *Form_pg_auth_members;
|
|
53
|
+
|
|
54
|
+
DECLARE_UNIQUE_INDEX_PKEY(pg_auth_members_oid_index, 6303, AuthMemOidIndexId, pg_auth_members, btree(oid oid_ops));
|
|
55
|
+
DECLARE_UNIQUE_INDEX(pg_auth_members_role_member_index, 2694, AuthMemRoleMemIndexId, pg_auth_members, btree(roleid oid_ops, member oid_ops, grantor oid_ops));
|
|
56
|
+
DECLARE_UNIQUE_INDEX(pg_auth_members_member_role_index, 2695, AuthMemMemRoleIndexId, pg_auth_members, btree(member oid_ops, roleid oid_ops, grantor oid_ops));
|
|
57
|
+
DECLARE_INDEX(pg_auth_members_grantor_index, 6302, AuthMemGrantorIndexId, pg_auth_members, btree(grantor oid_ops));
|
|
58
|
+
|
|
59
|
+
MAKE_SYSCACHE(AUTHMEMROLEMEM, pg_auth_members_role_member_index, 8);
|
|
60
|
+
MAKE_SYSCACHE(AUTHMEMMEMROLE, pg_auth_members_member_role_index, 8);
|
|
61
|
+
|
|
62
|
+
#endif /* PG_AUTH_MEMBERS_H */
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# path: src/include/catalog/pg_authid.h
|
|
2
|
+
# blob: b2f3e9d01eec972a3392e7037c9679ac644ddc7b
|
|
3
|
+
# tag: REL_18_6 (commit 724edf9bde9d356724ad384a2e196edc3c9f80f7)
|
|
4
|
+
# fetched: 2026-09-29 via gh api repos/postgres/postgres/contents/...?ref=724edf9bde9d356724ad384a2e196edc3c9f80f7
|
|
5
|
+
# excerpt: the full file, as fetched
|
|
6
|
+
#
|
|
7
|
+
/*-------------------------------------------------------------------------
|
|
8
|
+
*
|
|
9
|
+
* pg_authid.h
|
|
10
|
+
* definition of the "authorization identifier" system catalog (pg_authid)
|
|
11
|
+
*
|
|
12
|
+
* pg_shadow and pg_group are now views on pg_authid.
|
|
13
|
+
*
|
|
14
|
+
*
|
|
15
|
+
* Portions Copyright (c) 1996-2025, PostgreSQL Global Development Group
|
|
16
|
+
* Portions Copyright (c) 1994, Regents of the University of California
|
|
17
|
+
*
|
|
18
|
+
* src/include/catalog/pg_authid.h
|
|
19
|
+
*
|
|
20
|
+
* NOTES
|
|
21
|
+
* The Catalog.pm module reads this file and derives schema
|
|
22
|
+
* information.
|
|
23
|
+
*
|
|
24
|
+
*-------------------------------------------------------------------------
|
|
25
|
+
*/
|
|
26
|
+
#ifndef PG_AUTHID_H
|
|
27
|
+
#define PG_AUTHID_H
|
|
28
|
+
|
|
29
|
+
#include "catalog/genbki.h"
|
|
30
|
+
#include "catalog/pg_authid_d.h" /* IWYU pragma: export */
|
|
31
|
+
|
|
32
|
+
/* ----------------
|
|
33
|
+
* pg_authid definition. cpp turns this into
|
|
34
|
+
* typedef struct FormData_pg_authid
|
|
35
|
+
* ----------------
|
|
36
|
+
*/
|
|
37
|
+
CATALOG(pg_authid,1260,AuthIdRelationId) BKI_SHARED_RELATION BKI_ROWTYPE_OID(2842,AuthIdRelation_Rowtype_Id) BKI_SCHEMA_MACRO
|
|
38
|
+
{
|
|
39
|
+
Oid oid; /* oid */
|
|
40
|
+
NameData rolname; /* name of role */
|
|
41
|
+
bool rolsuper; /* read this field via superuser() only! */
|
|
42
|
+
bool rolinherit; /* inherit privileges from other roles? */
|
|
43
|
+
bool rolcreaterole; /* allowed to create more roles? */
|
|
44
|
+
bool rolcreatedb; /* allowed to create databases? */
|
|
45
|
+
bool rolcanlogin; /* allowed to log in as session user? */
|
|
46
|
+
bool rolreplication; /* role used for streaming replication */
|
|
47
|
+
bool rolbypassrls; /* bypasses row-level security? */
|
|
48
|
+
int32 rolconnlimit; /* max connections allowed (-1=no limit) */
|
|
49
|
+
|
|
50
|
+
/* remaining fields may be null; use heap_getattr to read them! */
|
|
51
|
+
#ifdef CATALOG_VARLEN /* variable-length fields start here */
|
|
52
|
+
text rolpassword; /* password, if any */
|
|
53
|
+
timestamptz rolvaliduntil; /* password expiration time, if any */
|
|
54
|
+
#endif
|
|
55
|
+
} FormData_pg_authid;
|
|
56
|
+
|
|
57
|
+
/* ----------------
|
|
58
|
+
* Form_pg_authid corresponds to a pointer to a tuple with
|
|
59
|
+
* the format of pg_authid relation.
|
|
60
|
+
* ----------------
|
|
61
|
+
*/
|
|
62
|
+
typedef FormData_pg_authid *Form_pg_authid;
|
|
63
|
+
|
|
64
|
+
DECLARE_UNIQUE_INDEX(pg_authid_rolname_index, 2676, AuthIdRolnameIndexId, pg_authid, btree(rolname name_ops));
|
|
65
|
+
DECLARE_UNIQUE_INDEX_PKEY(pg_authid_oid_index, 2677, AuthIdOidIndexId, pg_authid, btree(oid oid_ops));
|
|
66
|
+
|
|
67
|
+
MAKE_SYSCACHE(AUTHNAME, pg_authid_rolname_index, 8);
|
|
68
|
+
MAKE_SYSCACHE(AUTHOID, pg_authid_oid_index, 8);
|
|
69
|
+
|
|
70
|
+
#endif /* PG_AUTHID_H */
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# path: src/include/catalog/pg_class.h
|
|
2
|
+
# blob: 07d182da796a0c798d0ded6d97b61671d37ac491
|
|
3
|
+
# tag: REL_18_6 (commit 724edf9bde9d356724ad384a2e196edc3c9f80f7)
|
|
4
|
+
# fetched: 2026-09-30 via gh api repos/postgres/postgres/contents/...?ref=724edf9bde9d356724ad384a2e196edc3c9f80f7
|
|
5
|
+
# excerpt: the struct header columns relname/relnamespace (lines 33-48) and the relacl column (lines 133-140) of the full file, two ranges
|
|
6
|
+
#
|
|
7
|
+
{
|
|
8
|
+
/* oid */
|
|
9
|
+
Oid oid;
|
|
10
|
+
|
|
11
|
+
/* class name */
|
|
12
|
+
NameData relname;
|
|
13
|
+
|
|
14
|
+
/* OID of namespace containing this class */
|
|
15
|
+
Oid relnamespace BKI_DEFAULT(pg_catalog) BKI_LOOKUP(pg_namespace);
|
|
16
|
+
|
|
17
|
+
/* OID of entry in pg_type for relation's implicit row type, if any */
|
|
18
|
+
Oid reltype BKI_LOOKUP_OPT(pg_type);
|
|
19
|
+
|
|
20
|
+
/* OID of entry in pg_type for underlying composite type, if any */
|
|
21
|
+
Oid reloftype BKI_DEFAULT(0) BKI_LOOKUP_OPT(pg_type);
|
|
22
|
+
|
|
23
|
+
#
|
|
24
|
+
# excerpt continued: lines 133-140
|
|
25
|
+
#
|
|
26
|
+
|
|
27
|
+
#ifdef CATALOG_VARLEN /* variable-length fields start here */
|
|
28
|
+
/* NOTE: These fields are not present in a relcache entry's rd_rel field. */
|
|
29
|
+
/* access permissions */
|
|
30
|
+
aclitem relacl[1] BKI_DEFAULT(_null_);
|
|
31
|
+
|
|
32
|
+
/* access-method-specific options */
|
|
33
|
+
text reloptions[1] BKI_DEFAULT(_null_);
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# path: src/include/catalog/pg_default_acl.h
|
|
2
|
+
# blob: ce6e5098eaf02d8c3d72dbbba9191f54bc54312b
|
|
3
|
+
# tag: REL_18_6 (commit 724edf9bde9d356724ad384a2e196edc3c9f80f7)
|
|
4
|
+
# fetched: 2026-09-30 via gh api repos/postgres/postgres/contents/...?ref=724edf9bde9d356724ad384a2e196edc3c9f80f7
|
|
5
|
+
# excerpt: the whole file (75 lines): the CATALOG(pg_default_acl...) struct and the DEFACLOBJ_* constants
|
|
6
|
+
#
|
|
7
|
+
/*-------------------------------------------------------------------------
|
|
8
|
+
*
|
|
9
|
+
* pg_default_acl.h
|
|
10
|
+
* definition of the system catalog for default ACLs of new objects
|
|
11
|
+
* (pg_default_acl)
|
|
12
|
+
*
|
|
13
|
+
*
|
|
14
|
+
* Portions Copyright (c) 1996-2025, PostgreSQL Global Development Group
|
|
15
|
+
* Portions Copyright (c) 1994, Regents of the University of California
|
|
16
|
+
*
|
|
17
|
+
* src/include/catalog/pg_default_acl.h
|
|
18
|
+
*
|
|
19
|
+
* NOTES
|
|
20
|
+
* The Catalog.pm module reads this file and derives schema
|
|
21
|
+
* information.
|
|
22
|
+
*
|
|
23
|
+
*-------------------------------------------------------------------------
|
|
24
|
+
*/
|
|
25
|
+
#ifndef PG_DEFAULT_ACL_H
|
|
26
|
+
#define PG_DEFAULT_ACL_H
|
|
27
|
+
|
|
28
|
+
#include "catalog/genbki.h"
|
|
29
|
+
#include "catalog/pg_default_acl_d.h" /* IWYU pragma: export */
|
|
30
|
+
|
|
31
|
+
/* ----------------
|
|
32
|
+
* pg_default_acl definition. cpp turns this into
|
|
33
|
+
* typedef struct FormData_pg_default_acl
|
|
34
|
+
* ----------------
|
|
35
|
+
*/
|
|
36
|
+
CATALOG(pg_default_acl,826,DefaultAclRelationId)
|
|
37
|
+
{
|
|
38
|
+
Oid oid; /* oid */
|
|
39
|
+
Oid defaclrole BKI_LOOKUP(pg_authid); /* OID of role owning this
|
|
40
|
+
* ACL */
|
|
41
|
+
Oid defaclnamespace BKI_LOOKUP_OPT(pg_namespace); /* OID of namespace, or
|
|
42
|
+
* 0 for all */
|
|
43
|
+
char defaclobjtype; /* see DEFACLOBJ_xxx constants below */
|
|
44
|
+
|
|
45
|
+
#ifdef CATALOG_VARLEN /* variable-length fields start here */
|
|
46
|
+
aclitem defaclacl[1] BKI_FORCE_NOT_NULL; /* permissions to add at
|
|
47
|
+
* CREATE time */
|
|
48
|
+
#endif
|
|
49
|
+
} FormData_pg_default_acl;
|
|
50
|
+
|
|
51
|
+
/* ----------------
|
|
52
|
+
* Form_pg_default_acl corresponds to a pointer to a tuple with
|
|
53
|
+
* the format of pg_default_acl relation.
|
|
54
|
+
* ----------------
|
|
55
|
+
*/
|
|
56
|
+
typedef FormData_pg_default_acl *Form_pg_default_acl;
|
|
57
|
+
|
|
58
|
+
DECLARE_TOAST(pg_default_acl, 4143, 4144);
|
|
59
|
+
|
|
60
|
+
DECLARE_UNIQUE_INDEX(pg_default_acl_role_nsp_obj_index, 827, DefaultAclRoleNspObjIndexId, pg_default_acl, btree(defaclrole oid_ops, defaclnamespace oid_ops, defaclobjtype char_ops));
|
|
61
|
+
DECLARE_UNIQUE_INDEX_PKEY(pg_default_acl_oid_index, 828, DefaultAclOidIndexId, pg_default_acl, btree(oid oid_ops));
|
|
62
|
+
|
|
63
|
+
MAKE_SYSCACHE(DEFACLROLENSPOBJ, pg_default_acl_role_nsp_obj_index, 8);
|
|
64
|
+
|
|
65
|
+
#ifdef EXPOSE_TO_CLIENT_CODE
|
|
66
|
+
|
|
67
|
+
/*
|
|
68
|
+
* Types of objects for which the user is allowed to specify default
|
|
69
|
+
* permissions through pg_default_acl. These codes are used in the
|
|
70
|
+
* defaclobjtype column.
|
|
71
|
+
*/
|
|
72
|
+
#define DEFACLOBJ_RELATION 'r' /* table, view */
|
|
73
|
+
#define DEFACLOBJ_SEQUENCE 'S' /* sequence */
|
|
74
|
+
#define DEFACLOBJ_FUNCTION 'f' /* function */
|
|
75
|
+
#define DEFACLOBJ_TYPE 'T' /* type */
|
|
76
|
+
#define DEFACLOBJ_NAMESPACE 'n' /* namespace */
|
|
77
|
+
#define DEFACLOBJ_LARGEOBJECT 'L' /* large object */
|
|
78
|
+
|
|
79
|
+
#endif /* EXPOSE_TO_CLIENT_CODE */
|
|
80
|
+
|
|
81
|
+
#endif /* PG_DEFAULT_ACL_H */
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# path: src/include/catalog/pg_namespace.h
|
|
2
|
+
# blob: affb36f11407eada553d5cf27675386e1bbe17af
|
|
3
|
+
# tag: REL_18_6 (commit 724edf9bde9d356724ad384a2e196edc3c9f80f7)
|
|
4
|
+
# fetched: 2026-09-30 via gh api repos/postgres/postgres/contents/...?ref=724edf9bde9d356724ad384a2e196edc3c9f80f7
|
|
5
|
+
# excerpt: the CATALOG(pg_namespace...) struct (lines 27-48 of the full file)
|
|
6
|
+
#
|
|
7
|
+
*
|
|
8
|
+
* cpp turns this into typedef struct FormData_pg_namespace
|
|
9
|
+
*
|
|
10
|
+
* nspname name of the namespace
|
|
11
|
+
* nspowner owner (creator) of the namespace
|
|
12
|
+
* nspacl access privilege list
|
|
13
|
+
* ----------------------------------------------------------------
|
|
14
|
+
*/
|
|
15
|
+
CATALOG(pg_namespace,2615,NamespaceRelationId)
|
|
16
|
+
{
|
|
17
|
+
Oid oid; /* oid */
|
|
18
|
+
|
|
19
|
+
NameData nspname;
|
|
20
|
+
Oid nspowner BKI_DEFAULT(POSTGRES) BKI_LOOKUP(pg_authid);
|
|
21
|
+
|
|
22
|
+
#ifdef CATALOG_VARLEN /* variable-length fields start here */
|
|
23
|
+
aclitem nspacl[1];
|
|
24
|
+
#endif
|
|
25
|
+
} FormData_pg_namespace;
|
|
26
|
+
|
|
27
|
+
/* ----------------
|
|
28
|
+
* Form_pg_namespace corresponds to a pointer to a tuple with
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
# path: doc/src/sgml/ref/revoke.sgml
|
|
2
|
+
# blob: 8df492281a1c519754da38197b0a865c8a30c94d
|
|
3
|
+
# tag: REL_18_6 (commit 724edf9bde9d356724ad384a2e196edc3c9f80f7)
|
|
4
|
+
# fetched: 2026-09-30 via gh api repos/postgres/postgres/contents/...?ref=724edf9bde9d356724ad384a2e196edc3c9f80f7
|
|
5
|
+
# excerpt: the <synopsis> block only (lines 23-140 of the full file), cut per house doc-size convention
|
|
6
|
+
#
|
|
7
|
+
<synopsis>
|
|
8
|
+
REVOKE [ GRANT OPTION FOR ]
|
|
9
|
+
{ { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES | TRIGGER | MAINTAIN }
|
|
10
|
+
[, ...] | ALL [ PRIVILEGES ] }
|
|
11
|
+
ON { [ TABLE ] <replaceable class="parameter">table_name</replaceable> [, ...]
|
|
12
|
+
| ALL TABLES IN SCHEMA <replaceable>schema_name</replaceable> [, ...] }
|
|
13
|
+
FROM <replaceable class="parameter">role_specification</replaceable> [, ...]
|
|
14
|
+
[ GRANTED BY <replaceable class="parameter">role_specification</replaceable> ]
|
|
15
|
+
[ CASCADE | RESTRICT ]
|
|
16
|
+
|
|
17
|
+
REVOKE [ GRANT OPTION FOR ]
|
|
18
|
+
{ { SELECT | INSERT | UPDATE | REFERENCES } ( <replaceable class="parameter">column_name</replaceable> [, ...] )
|
|
19
|
+
[, ...] | ALL [ PRIVILEGES ] ( <replaceable class="parameter">column_name</replaceable> [, ...] ) }
|
|
20
|
+
ON [ TABLE ] <replaceable class="parameter">table_name</replaceable> [, ...]
|
|
21
|
+
FROM <replaceable class="parameter">role_specification</replaceable> [, ...]
|
|
22
|
+
[ GRANTED BY <replaceable class="parameter">role_specification</replaceable> ]
|
|
23
|
+
[ CASCADE | RESTRICT ]
|
|
24
|
+
|
|
25
|
+
REVOKE [ GRANT OPTION FOR ]
|
|
26
|
+
{ { USAGE | SELECT | UPDATE }
|
|
27
|
+
[, ...] | ALL [ PRIVILEGES ] }
|
|
28
|
+
ON { SEQUENCE <replaceable class="parameter">sequence_name</replaceable> [, ...]
|
|
29
|
+
| ALL SEQUENCES IN SCHEMA <replaceable>schema_name</replaceable> [, ...] }
|
|
30
|
+
FROM <replaceable class="parameter">role_specification</replaceable> [, ...]
|
|
31
|
+
[ GRANTED BY <replaceable class="parameter">role_specification</replaceable> ]
|
|
32
|
+
[ CASCADE | RESTRICT ]
|
|
33
|
+
|
|
34
|
+
REVOKE [ GRANT OPTION FOR ]
|
|
35
|
+
{ { CREATE | CONNECT | TEMPORARY | TEMP } [, ...] | ALL [ PRIVILEGES ] }
|
|
36
|
+
ON DATABASE <replaceable>database_name</replaceable> [, ...]
|
|
37
|
+
FROM <replaceable class="parameter">role_specification</replaceable> [, ...]
|
|
38
|
+
[ GRANTED BY <replaceable class="parameter">role_specification</replaceable> ]
|
|
39
|
+
[ CASCADE | RESTRICT ]
|
|
40
|
+
|
|
41
|
+
REVOKE [ GRANT OPTION FOR ]
|
|
42
|
+
{ USAGE | ALL [ PRIVILEGES ] }
|
|
43
|
+
ON DOMAIN <replaceable>domain_name</replaceable> [, ...]
|
|
44
|
+
FROM <replaceable class="parameter">role_specification</replaceable> [, ...]
|
|
45
|
+
[ GRANTED BY <replaceable class="parameter">role_specification</replaceable> ]
|
|
46
|
+
[ CASCADE | RESTRICT ]
|
|
47
|
+
|
|
48
|
+
REVOKE [ GRANT OPTION FOR ]
|
|
49
|
+
{ USAGE | ALL [ PRIVILEGES ] }
|
|
50
|
+
ON FOREIGN DATA WRAPPER <replaceable>fdw_name</replaceable> [, ...]
|
|
51
|
+
FROM <replaceable class="parameter">role_specification</replaceable> [, ...]
|
|
52
|
+
[ GRANTED BY <replaceable class="parameter">role_specification</replaceable> ]
|
|
53
|
+
[ CASCADE | RESTRICT ]
|
|
54
|
+
|
|
55
|
+
REVOKE [ GRANT OPTION FOR ]
|
|
56
|
+
{ USAGE | ALL [ PRIVILEGES ] }
|
|
57
|
+
ON FOREIGN SERVER <replaceable>server_name</replaceable> [, ...]
|
|
58
|
+
FROM <replaceable class="parameter">role_specification</replaceable> [, ...]
|
|
59
|
+
[ GRANTED BY <replaceable class="parameter">role_specification</replaceable> ]
|
|
60
|
+
[ CASCADE | RESTRICT ]
|
|
61
|
+
|
|
62
|
+
REVOKE [ GRANT OPTION FOR ]
|
|
63
|
+
{ EXECUTE | ALL [ PRIVILEGES ] }
|
|
64
|
+
ON { { FUNCTION | PROCEDURE | ROUTINE } <replaceable>function_name</replaceable> [ ( [ [ <replaceable class="parameter">argmode</replaceable> ] [ <replaceable class="parameter">arg_name</replaceable> ] <replaceable class="parameter">arg_type</replaceable> [, ...] ] ) ] [, ...]
|
|
65
|
+
| ALL { FUNCTIONS | PROCEDURES | ROUTINES } IN SCHEMA <replaceable>schema_name</replaceable> [, ...] }
|
|
66
|
+
FROM <replaceable class="parameter">role_specification</replaceable> [, ...]
|
|
67
|
+
[ GRANTED BY <replaceable class="parameter">role_specification</replaceable> ]
|
|
68
|
+
[ CASCADE | RESTRICT ]
|
|
69
|
+
|
|
70
|
+
REVOKE [ GRANT OPTION FOR ]
|
|
71
|
+
{ USAGE | ALL [ PRIVILEGES ] }
|
|
72
|
+
ON LANGUAGE <replaceable>lang_name</replaceable> [, ...]
|
|
73
|
+
FROM <replaceable class="parameter">role_specification</replaceable> [, ...]
|
|
74
|
+
[ GRANTED BY <replaceable class="parameter">role_specification</replaceable> ]
|
|
75
|
+
[ CASCADE | RESTRICT ]
|
|
76
|
+
|
|
77
|
+
REVOKE [ GRANT OPTION FOR ]
|
|
78
|
+
{ { SELECT | UPDATE } [, ...] | ALL [ PRIVILEGES ] }
|
|
79
|
+
ON LARGE OBJECT <replaceable class="parameter">loid</replaceable> [, ...]
|
|
80
|
+
FROM <replaceable class="parameter">role_specification</replaceable> [, ...]
|
|
81
|
+
[ GRANTED BY <replaceable class="parameter">role_specification</replaceable> ]
|
|
82
|
+
[ CASCADE | RESTRICT ]
|
|
83
|
+
|
|
84
|
+
REVOKE [ GRANT OPTION FOR ]
|
|
85
|
+
{ { SET | ALTER SYSTEM } [, ...] | ALL [ PRIVILEGES ] }
|
|
86
|
+
ON PARAMETER <replaceable class="parameter">configuration_parameter</replaceable> [, ...]
|
|
87
|
+
FROM <replaceable class="parameter">role_specification</replaceable> [, ...]
|
|
88
|
+
[ GRANTED BY <replaceable class="parameter">role_specification</replaceable> ]
|
|
89
|
+
[ CASCADE | RESTRICT ]
|
|
90
|
+
|
|
91
|
+
REVOKE [ GRANT OPTION FOR ]
|
|
92
|
+
{ { CREATE | USAGE } [, ...] | ALL [ PRIVILEGES ] }
|
|
93
|
+
ON SCHEMA <replaceable>schema_name</replaceable> [, ...]
|
|
94
|
+
FROM <replaceable class="parameter">role_specification</replaceable> [, ...]
|
|
95
|
+
[ GRANTED BY <replaceable class="parameter">role_specification</replaceable> ]
|
|
96
|
+
[ CASCADE | RESTRICT ]
|
|
97
|
+
|
|
98
|
+
REVOKE [ GRANT OPTION FOR ]
|
|
99
|
+
{ CREATE | ALL [ PRIVILEGES ] }
|
|
100
|
+
ON TABLESPACE <replaceable>tablespace_name</replaceable> [, ...]
|
|
101
|
+
FROM <replaceable class="parameter">role_specification</replaceable> [, ...]
|
|
102
|
+
[ GRANTED BY <replaceable class="parameter">role_specification</replaceable> ]
|
|
103
|
+
[ CASCADE | RESTRICT ]
|
|
104
|
+
|
|
105
|
+
REVOKE [ GRANT OPTION FOR ]
|
|
106
|
+
{ USAGE | ALL [ PRIVILEGES ] }
|
|
107
|
+
ON TYPE <replaceable>type_name</replaceable> [, ...]
|
|
108
|
+
FROM <replaceable class="parameter">role_specification</replaceable> [, ...]
|
|
109
|
+
[ GRANTED BY <replaceable class="parameter">role_specification</replaceable> ]
|
|
110
|
+
[ CASCADE | RESTRICT ]
|
|
111
|
+
|
|
112
|
+
REVOKE [ { ADMIN | INHERIT | SET } OPTION FOR ]
|
|
113
|
+
<replaceable class="parameter">role_name</replaceable> [, ...] FROM <replaceable class="parameter">role_specification</replaceable> [, ...]
|
|
114
|
+
[ GRANTED BY <replaceable class="parameter">role_specification</replaceable> ]
|
|
115
|
+
[ CASCADE | RESTRICT ]
|
|
116
|
+
|
|
117
|
+
<phrase>where <replaceable class="parameter">role_specification</replaceable> can be:</phrase>
|
|
118
|
+
|
|
119
|
+
[ GROUP ] <replaceable class="parameter">role_name</replaceable>
|
|
120
|
+
| PUBLIC
|
|
121
|
+
| CURRENT_ROLE
|
|
122
|
+
| CURRENT_USER
|
|
123
|
+
| SESSION_USER
|
|
124
|
+
</synopsis>
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The letter↔word map against PostgreSQL 18.6's own constants. The fixture
|
|
3
|
+
* (`pg-REL_18_6-acl.h.txt`) is parsed in `grants-provenance.test.ts`; here the map's OUTPUT
|
|
4
|
+
* is pinned: the exact letters the server stores for each declared word. There is no
|
|
5
|
+
* `aclitem` text parser to test — the read path goes through `aclexplode`
|
|
6
|
+
* (`grants-read.ts`), never the `grantee=privs/grantor` text shape.
|
|
7
|
+
*/
|
|
8
|
+
import { describe, expect, test } from 'bun:test';
|
|
9
|
+
import {
|
|
10
|
+
COLUMN_PRIVILEGES,
|
|
11
|
+
SCHEMA_PRIVILEGES,
|
|
12
|
+
TABLE_PRIVILEGES,
|
|
13
|
+
grantsNameByteRefusal,
|
|
14
|
+
letterForPrivilege,
|
|
15
|
+
} from './grants-attrs.ts';
|
|
16
|
+
|
|
17
|
+
describe('letterForPrivilege', () => {
|
|
18
|
+
test('maps the table vocabulary to ACL_ALL_RIGHTS_RELATION letters', () => {
|
|
19
|
+
expect([...TABLE_PRIVILEGES].map(letterForPrivilege)).toEqual([
|
|
20
|
+
'r',
|
|
21
|
+
'a',
|
|
22
|
+
'w',
|
|
23
|
+
'd',
|
|
24
|
+
'D',
|
|
25
|
+
'x',
|
|
26
|
+
't',
|
|
27
|
+
'm',
|
|
28
|
+
]);
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
test('maps the schema vocabulary to ACL_ALL_RIGHTS_SCHEMA letters', () => {
|
|
32
|
+
expect([...SCHEMA_PRIVILEGES].map(letterForPrivilege)).toEqual(['U', 'C']);
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
test('maps the column vocabulary to ACL_ALL_RIGHTS_COLUMN letters', () => {
|
|
36
|
+
expect([...COLUMN_PRIVILEGES].map(letterForPrivilege)).toEqual(['r', 'a', 'w', 'x']);
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
test('CREATE is the UPPERCASE letter, never the lowercase CONNECT letter', () => {
|
|
40
|
+
expect(letterForPrivilege('create')).toBe('C');
|
|
41
|
+
expect(TABLE_PRIVILEGES.some((p) => letterForPrivilege(p) === 'c')).toBe(false);
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
test('a word outside the vocabularies throws (the caller validates first, always)', () => {
|
|
45
|
+
expect(() => letterForPrivilege('execute')).toThrow(/no ACL letter/);
|
|
46
|
+
expect(() => letterForPrivilege('connect')).toThrow(/no ACL letter/);
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
describe('grantsNameByteRefusal', () => {
|
|
51
|
+
test('a 64-byte name is refused, a 63-byte one is not', () => {
|
|
52
|
+
expect(grantsNameByteRefusal('a'.repeat(63))).toBeUndefined();
|
|
53
|
+
expect(grantsNameByteRefusal('a'.repeat(64))).toEqual({ byteLength: 64, limit: 63 });
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
test('multibyte names count UTF-8 bytes, never JS length', () => {
|
|
57
|
+
// é is 2 UTF-8 bytes: a 32-char string of them is 64 bytes, over the line.
|
|
58
|
+
expect(grantsNameByteRefusal('é'.repeat(32))).toEqual({ byteLength: 64, limit: 63 });
|
|
59
|
+
expect(grantsNameByteRefusal('é'.repeat(31))).toBeUndefined();
|
|
60
|
+
});
|
|
61
|
+
});
|