@vertesia/common 1.5.0-dev.20260725.083715Z → 1.5.0-dev.20260806.125520Z
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/lib/Progress.d.ts.map +1 -1
- package/lib/Progress.js.map +1 -1
- package/lib/access-control-values.d.ts +98 -0
- package/lib/access-control-values.d.ts.map +1 -0
- package/lib/access-control-values.js +101 -0
- package/lib/access-control-values.js.map +1 -0
- package/lib/access-control.d.ts +22 -119
- package/lib/access-control.d.ts.map +1 -1
- package/lib/access-control.js +6 -78
- package/lib/access-control.js.map +1 -1
- package/lib/account-values.d.ts +53 -0
- package/lib/account-values.d.ts.map +1 -0
- package/lib/account-values.js +91 -0
- package/lib/account-values.js.map +1 -0
- package/lib/analytics.d.ts +12 -38
- package/lib/analytics.d.ts.map +1 -1
- package/lib/api-schemas/access-control.d.ts +215 -0
- package/lib/api-schemas/access-control.d.ts.map +1 -0
- package/lib/api-schemas/access-control.js +165 -0
- package/lib/api-schemas/access-control.js.map +1 -0
- package/lib/api-schemas/account.d.ts +101 -0
- package/lib/api-schemas/account.d.ts.map +1 -0
- package/lib/api-schemas/account.js +136 -0
- package/lib/api-schemas/account.js.map +1 -0
- package/lib/api-schemas/adapter.d.ts +80 -0
- package/lib/api-schemas/adapter.d.ts.map +1 -0
- package/lib/api-schemas/adapter.js +726 -0
- package/lib/api-schemas/adapter.js.map +1 -0
- package/lib/api-schemas/agent-runs.d.ts +3786 -0
- package/lib/api-schemas/agent-runs.d.ts.map +1 -0
- package/lib/api-schemas/agent-runs.js +1000 -0
- package/lib/api-schemas/agent-runs.js.map +1 -0
- package/lib/api-schemas/analytics.d.ts +86 -0
- package/lib/api-schemas/analytics.d.ts.map +1 -0
- package/lib/api-schemas/analytics.js +58 -0
- package/lib/api-schemas/analytics.js.map +1 -0
- package/lib/api-schemas/apikey.d.ts +231 -0
- package/lib/api-schemas/apikey.d.ts.map +1 -0
- package/lib/api-schemas/apikey.js +172 -0
- package/lib/api-schemas/apikey.js.map +1 -0
- package/lib/api-schemas/app-lifecycle.d.ts +1148 -0
- package/lib/api-schemas/app-lifecycle.d.ts.map +1 -0
- package/lib/api-schemas/app-lifecycle.js +801 -0
- package/lib/api-schemas/app-lifecycle.js.map +1 -0
- package/lib/api-schemas/app-runtime.d.ts +10951 -0
- package/lib/api-schemas/app-runtime.d.ts.map +1 -0
- package/lib/api-schemas/app-runtime.js +874 -0
- package/lib/api-schemas/app-runtime.js.map +1 -0
- package/lib/api-schemas/apps.d.ts +271 -0
- package/lib/api-schemas/apps.d.ts.map +1 -0
- package/lib/api-schemas/apps.js +426 -0
- package/lib/api-schemas/apps.js.map +1 -0
- package/lib/api-schemas/audit-trail.d.ts +465 -0
- package/lib/api-schemas/audit-trail.d.ts.map +1 -0
- package/lib/api-schemas/audit-trail.js +218 -0
- package/lib/api-schemas/audit-trail.js.map +1 -0
- package/lib/api-schemas/bulk-operation.d.ts +104 -0
- package/lib/api-schemas/bulk-operation.d.ts.map +1 -0
- package/lib/api-schemas/bulk-operation.js +66 -0
- package/lib/api-schemas/bulk-operation.js.map +1 -0
- package/lib/api-schemas/commands.d.ts +50 -0
- package/lib/api-schemas/commands.d.ts.map +1 -0
- package/lib/api-schemas/commands.js +58 -0
- package/lib/api-schemas/commands.js.map +1 -0
- package/lib/api-schemas/content.d.ts +3565 -0
- package/lib/api-schemas/content.d.ts.map +1 -0
- package/lib/api-schemas/content.js +854 -0
- package/lib/api-schemas/content.js.map +1 -0
- package/lib/api-schemas/cost-analytics.d.ts +300 -0
- package/lib/api-schemas/cost-analytics.d.ts.map +1 -0
- package/lib/api-schemas/cost-analytics.js +218 -0
- package/lib/api-schemas/cost-analytics.js.map +1 -0
- package/lib/api-schemas/dashboard.d.ts +408 -0
- package/lib/api-schemas/dashboard.d.ts.map +1 -0
- package/lib/api-schemas/dashboard.js +311 -0
- package/lib/api-schemas/dashboard.js.map +1 -0
- package/lib/api-schemas/data-store.d.ts +1650 -0
- package/lib/api-schemas/data-store.d.ts.map +1 -0
- package/lib/api-schemas/data-store.js +504 -0
- package/lib/api-schemas/data-store.js.map +1 -0
- package/lib/api-schemas/document-processing.d.ts +1501 -0
- package/lib/api-schemas/document-processing.d.ts.map +1 -0
- package/lib/api-schemas/document-processing.js +312 -0
- package/lib/api-schemas/document-processing.js.map +1 -0
- package/lib/api-schemas/embeddings.d.ts +184 -0
- package/lib/api-schemas/embeddings.d.ts.map +1 -0
- package/lib/api-schemas/embeddings.js +102 -0
- package/lib/api-schemas/embeddings.js.map +1 -0
- package/lib/api-schemas/environment.d.ts +412 -0
- package/lib/api-schemas/environment.d.ts.map +1 -0
- package/lib/api-schemas/environment.js +170 -0
- package/lib/api-schemas/environment.js.map +1 -0
- package/lib/api-schemas/events.d.ts +4918 -0
- package/lib/api-schemas/events.d.ts.map +1 -0
- package/lib/api-schemas/events.js +888 -0
- package/lib/api-schemas/events.js.map +1 -0
- package/lib/api-schemas/files.d.ts +107 -0
- package/lib/api-schemas/files.d.ts.map +1 -0
- package/lib/api-schemas/files.js +137 -0
- package/lib/api-schemas/files.js.map +1 -0
- package/lib/api-schemas/group.d.ts +122 -0
- package/lib/api-schemas/group.d.ts.map +1 -0
- package/lib/api-schemas/group.js +142 -0
- package/lib/api-schemas/group.js.map +1 -0
- package/lib/api-schemas/index.d.ts +36 -0
- package/lib/api-schemas/index.d.ts.map +1 -0
- package/lib/api-schemas/index.js +36 -0
- package/lib/api-schemas/index.js.map +1 -0
- package/lib/api-schemas/indexing.d.ts +144 -0
- package/lib/api-schemas/indexing.d.ts.map +1 -0
- package/lib/api-schemas/indexing.js +217 -0
- package/lib/api-schemas/indexing.js.map +1 -0
- package/lib/api-schemas/integrations.d.ts +269 -0
- package/lib/api-schemas/integrations.d.ts.map +1 -0
- package/lib/api-schemas/integrations.js +335 -0
- package/lib/api-schemas/integrations.js.map +1 -0
- package/lib/api-schemas/interaction.d.ts +22456 -0
- package/lib/api-schemas/interaction.d.ts.map +1 -0
- package/lib/api-schemas/interaction.js +2071 -0
- package/lib/api-schemas/interaction.js.map +1 -0
- package/lib/api-schemas/invites.d.ts +162 -0
- package/lib/api-schemas/invites.d.ts.map +1 -0
- package/lib/api-schemas/invites.js +106 -0
- package/lib/api-schemas/invites.js.map +1 -0
- package/lib/api-schemas/oauth-server.d.ts +415 -0
- package/lib/api-schemas/oauth-server.d.ts.map +1 -0
- package/lib/api-schemas/oauth-server.js +193 -0
- package/lib/api-schemas/oauth-server.js.map +1 -0
- package/lib/api-schemas/oauth.d.ts +150 -0
- package/lib/api-schemas/oauth.d.ts.map +1 -0
- package/lib/api-schemas/oauth.js +148 -0
- package/lib/api-schemas/oauth.js.map +1 -0
- package/lib/api-schemas/parameters.d.ts +64 -0
- package/lib/api-schemas/parameters.d.ts.map +1 -0
- package/lib/api-schemas/parameters.js +246 -0
- package/lib/api-schemas/parameters.js.map +1 -0
- package/lib/api-schemas/process.d.ts +499 -0
- package/lib/api-schemas/process.d.ts.map +1 -0
- package/lib/api-schemas/process.js +817 -0
- package/lib/api-schemas/process.js.map +1 -0
- package/lib/api-schemas/project-configuration.d.ts +4900 -0
- package/lib/api-schemas/project-configuration.d.ts.map +1 -0
- package/lib/api-schemas/project-configuration.js +425 -0
- package/lib/api-schemas/project-configuration.js.map +1 -0
- package/lib/api-schemas/project.d.ts +7247 -0
- package/lib/api-schemas/project.d.ts.map +1 -0
- package/lib/api-schemas/project.js +185 -0
- package/lib/api-schemas/project.js.map +1 -0
- package/lib/api-schemas/prompt.d.ts +70 -0
- package/lib/api-schemas/prompt.d.ts.map +1 -0
- package/lib/api-schemas/prompt.js +77 -0
- package/lib/api-schemas/prompt.js.map +1 -0
- package/lib/api-schemas/quota.d.ts +90 -0
- package/lib/api-schemas/quota.d.ts.map +1 -0
- package/lib/api-schemas/quota.js +95 -0
- package/lib/api-schemas/quota.js.map +1 -0
- package/lib/api-schemas/registry.d.ts +98506 -0
- package/lib/api-schemas/registry.d.ts.map +1 -0
- package/lib/api-schemas/registry.js +2606 -0
- package/lib/api-schemas/registry.js.map +1 -0
- package/lib/api-schemas/schema-primitives.d.ts +5 -0
- package/lib/api-schemas/schema-primitives.d.ts.map +1 -0
- package/lib/api-schemas/schema-primitives.js +11 -0
- package/lib/api-schemas/schema-primitives.js.map +1 -0
- package/lib/api-schemas/secrets.d.ts +497 -0
- package/lib/api-schemas/secrets.d.ts.map +1 -0
- package/lib/api-schemas/secrets.js +298 -0
- package/lib/api-schemas/secrets.js.map +1 -0
- package/lib/api-schemas/store.d.ts +22140 -0
- package/lib/api-schemas/store.d.ts.map +1 -0
- package/lib/api-schemas/store.js +557 -0
- package/lib/api-schemas/store.js.map +1 -0
- package/lib/api-schemas/sts.d.ts +166 -0
- package/lib/api-schemas/sts.d.ts.map +1 -0
- package/lib/api-schemas/sts.js +107 -0
- package/lib/api-schemas/sts.js.map +1 -0
- package/lib/api-schemas/task.d.ts +215 -0
- package/lib/api-schemas/task.d.ts.map +1 -0
- package/lib/api-schemas/task.js +95 -0
- package/lib/api-schemas/task.js.map +1 -0
- package/lib/api-schemas/tools.d.ts +111 -0
- package/lib/api-schemas/tools.d.ts.map +1 -0
- package/lib/api-schemas/tools.js +122 -0
- package/lib/api-schemas/tools.js.map +1 -0
- package/lib/api-schemas/user.d.ts +208 -0
- package/lib/api-schemas/user.d.ts.map +1 -0
- package/lib/api-schemas/user.js +180 -0
- package/lib/api-schemas/user.js.map +1 -0
- package/lib/api-schemas/view-execution.d.ts +3163 -0
- package/lib/api-schemas/view-execution.d.ts.map +1 -0
- package/lib/api-schemas/view-execution.js +172 -0
- package/lib/api-schemas/view-execution.js.map +1 -0
- package/lib/api-schemas/views.d.ts +5990 -0
- package/lib/api-schemas/views.d.ts.map +1 -0
- package/lib/api-schemas/views.js +396 -0
- package/lib/api-schemas/views.js.map +1 -0
- package/lib/api-schemas/workflow-runs.d.ts +2210 -0
- package/lib/api-schemas/workflow-runs.d.ts.map +1 -0
- package/lib/api-schemas/workflow-runs.js +589 -0
- package/lib/api-schemas/workflow-runs.js.map +1 -0
- package/lib/apikey-values.d.ts +10 -0
- package/lib/apikey-values.d.ts.map +1 -0
- package/lib/apikey-values.js +11 -0
- package/lib/apikey-values.js.map +1 -0
- package/lib/apikey.d.ts +37 -36
- package/lib/apikey.d.ts.map +1 -1
- package/lib/apikey.js +5 -4
- package/lib/apikey.js.map +1 -1
- package/lib/apps.d.ts +142 -1172
- package/lib/apps.d.ts.map +1 -1
- package/lib/apps.js +4 -0
- package/lib/apps.js.map +1 -1
- package/lib/ask-user.d.ts +8 -1
- package/lib/ask-user.d.ts.map +1 -1
- package/lib/audit-trail.d.ts +20 -131
- package/lib/audit-trail.d.ts.map +1 -1
- package/lib/audit-trail.js.map +1 -1
- package/lib/browser-credentials.d.ts +11 -106
- package/lib/browser-credentials.d.ts.map +1 -1
- package/lib/common.d.ts +59 -81
- package/lib/common.d.ts.map +1 -1
- package/lib/cost-analytics.d.ts +14 -167
- package/lib/cost-analytics.d.ts.map +1 -1
- package/lib/cost-analytics.js.map +1 -1
- package/lib/data-platform.d.ts +122 -786
- package/lib/data-platform.d.ts.map +1 -1
- package/lib/data-platform.js +41 -61
- package/lib/data-platform.js.map +1 -1
- package/lib/email.d.ts +5 -17
- package/lib/email.d.ts.map +1 -1
- package/lib/email.js +0 -3
- package/lib/email.js.map +1 -1
- package/lib/embeddings.d.ts +14 -56
- package/lib/embeddings.d.ts.map +1 -1
- package/lib/environment.d.ts +22 -118
- package/lib/environment.d.ts.map +1 -1
- package/lib/environment.js +3 -0
- package/lib/environment.js.map +1 -1
- package/lib/facets.d.ts +4 -7
- package/lib/facets.d.ts.map +1 -1
- package/lib/group.d.ts +33 -39
- package/lib/group.d.ts.map +1 -1
- package/lib/group.js +0 -1
- package/lib/group.js.map +1 -1
- package/lib/index.d.ts +8 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/integrations.d.ts +20 -108
- package/lib/integrations.d.ts.map +1 -1
- package/lib/integrations.js.map +1 -1
- package/lib/interaction-values.d.ts +11 -0
- package/lib/interaction-values.d.ts.map +1 -0
- package/lib/interaction-values.js +24 -0
- package/lib/interaction-values.js.map +1 -0
- package/lib/interaction.d.ts +88 -778
- package/lib/interaction.d.ts.map +1 -1
- package/lib/interaction.js +8 -12
- package/lib/interaction.js.map +1 -1
- package/lib/meters.d.ts +11 -7
- package/lib/meters.d.ts.map +1 -1
- package/lib/meters.js.map +1 -1
- package/lib/oauth-server.d.ts +33 -119
- package/lib/oauth-server.d.ts.map +1 -1
- package/lib/oauth.d.ts +14 -96
- package/lib/oauth.d.ts.map +1 -1
- package/lib/oauth.js +0 -4
- package/lib/oauth.js.map +1 -1
- package/lib/payload.d.ts +15 -38
- package/lib/payload.d.ts.map +1 -1
- package/lib/platform-event-validation.d.ts.map +1 -1
- package/lib/platform-event-validation.js +15 -2
- package/lib/platform-event-validation.js.map +1 -1
- package/lib/platform-event.d.ts +79 -464
- package/lib/platform-event.d.ts.map +1 -1
- package/lib/platform-event.js.map +1 -1
- package/lib/principal-context.d.ts +10 -15
- package/lib/principal-context.d.ts.map +1 -1
- package/lib/project-values.d.ts +24 -0
- package/lib/project-values.d.ts.map +1 -0
- package/lib/project-values.js +42 -0
- package/lib/project-values.js.map +1 -0
- package/lib/project.d.ts +56 -504
- package/lib/project.d.ts.map +1 -1
- package/lib/project.js +6 -76
- package/lib/project.js.map +1 -1
- package/lib/prompt.d.ts +20 -51
- package/lib/prompt.d.ts.map +1 -1
- package/lib/prompt.js.map +1 -1
- package/lib/query.d.ts +27 -88
- package/lib/query.d.ts.map +1 -1
- package/lib/rate-limiter.d.ts +19 -70
- package/lib/rate-limiter.d.ts.map +1 -1
- package/lib/rate-limiter.js +0 -3
- package/lib/rate-limiter.js.map +1 -1
- package/lib/refs.d.ts +3 -11
- package/lib/refs.d.ts.map +1 -1
- package/lib/refs.js.map +1 -1
- package/lib/roles/types.d.ts +14 -20
- package/lib/roles/types.d.ts.map +1 -1
- package/lib/roles/types.js +5 -9
- package/lib/roles/types.js.map +1 -1
- package/lib/runs.d.ts +6 -25
- package/lib/runs.d.ts.map +1 -1
- package/lib/schema-for-extraction.js.map +1 -1
- package/lib/secrets.d.ts +20 -105
- package/lib/secrets.d.ts.map +1 -1
- package/lib/store/agent-approval.d.ts +6 -15
- package/lib/store/agent-approval.d.ts.map +1 -1
- package/lib/store/agent-approval.js.map +1 -1
- package/lib/store/agent-run.d.ts +57 -358
- package/lib/store/agent-run.d.ts.map +1 -1
- package/lib/store/collections.d.ts +11 -63
- package/lib/store/collections.d.ts.map +1 -1
- package/lib/store/collections.js.map +1 -1
- package/lib/store/conversation-state.d.ts +61 -61
- package/lib/store/conversation-state.d.ts.map +1 -1
- package/lib/store/conversation-state.js +2 -0
- package/lib/store/conversation-state.js.map +1 -1
- package/lib/store/doc-analyzer.d.ts +9 -32
- package/lib/store/doc-analyzer.d.ts.map +1 -1
- package/lib/store/dsl-workflow.d.ts +37 -151
- package/lib/store/dsl-workflow.d.ts.map +1 -1
- package/lib/store/dsl-workflow.js.map +1 -1
- package/lib/store/editing-policy-schema.generated.d.ts +3 -0
- package/lib/store/editing-policy-schema.generated.d.ts.map +1 -0
- package/lib/store/editing-policy-schema.generated.js +28 -0
- package/lib/store/editing-policy-schema.generated.js.map +1 -0
- package/lib/store/grounded-extraction.d.ts +7 -104
- package/lib/store/grounded-extraction.d.ts.map +1 -1
- package/lib/store/grounded-extraction.js.map +1 -1
- package/lib/store/index.d.ts +2 -0
- package/lib/store/index.d.ts.map +1 -1
- package/lib/store/index.js +3 -0
- package/lib/store/index.js.map +1 -1
- package/lib/store/intake-policy-schema.generated.d.ts +3 -0
- package/lib/store/intake-policy-schema.generated.d.ts.map +1 -0
- package/lib/store/intake-policy-schema.generated.js +1425 -0
- package/lib/store/intake-policy-schema.generated.js.map +1 -0
- package/lib/store/process-schema.d.ts +81 -1
- package/lib/store/process-schema.d.ts.map +1 -1
- package/lib/store/process-schema.js +79 -0
- package/lib/store/process-schema.js.map +1 -1
- package/lib/store/process-validation.d.ts.map +1 -1
- package/lib/store/process-validation.js +70 -2
- package/lib/store/process-validation.js.map +1 -1
- package/lib/store/process.d.ts +36 -125
- package/lib/store/process.d.ts.map +1 -1
- package/lib/store/process.js.map +1 -1
- package/lib/store/rendering.d.ts +9 -64
- package/lib/store/rendering.d.ts.map +1 -1
- package/lib/store/rendering.js.map +1 -1
- package/lib/store/schedule.d.ts +6 -6
- package/lib/store/schedule.d.ts.map +1 -1
- package/lib/store/store.d.ts +99 -701
- package/lib/store/store.d.ts.map +1 -1
- package/lib/store/store.js +4 -456
- package/lib/store/store.js.map +1 -1
- package/lib/store/task.d.ts +15 -59
- package/lib/store/task.d.ts.map +1 -1
- package/lib/store/task.js +0 -3
- package/lib/store/task.js.map +1 -1
- package/lib/store/workflow.d.ts +58 -516
- package/lib/store/workflow.d.ts.map +1 -1
- package/lib/store/workflow.js +31 -11
- package/lib/store/workflow.js.map +1 -1
- package/lib/sts-errors.d.ts +7 -0
- package/lib/sts-errors.d.ts.map +1 -0
- package/lib/sts-errors.js +11 -0
- package/lib/sts-errors.js.map +1 -0
- package/lib/sts-token-types.d.ts +13 -66
- package/lib/sts-token-types.d.ts.map +1 -1
- package/lib/sts-token-types.js.map +1 -1
- package/lib/tools.d.ts +8 -100
- package/lib/tools.d.ts.map +1 -1
- package/lib/transient-tokens-values.d.ts +11 -0
- package/lib/transient-tokens-values.d.ts.map +1 -0
- package/lib/transient-tokens-values.js +12 -0
- package/lib/transient-tokens-values.js.map +1 -0
- package/lib/transient-tokens.d.ts +15 -13
- package/lib/transient-tokens.d.ts.map +1 -1
- package/lib/transient-tokens.js +5 -5
- package/lib/transient-tokens.js.map +1 -1
- package/lib/user.d.ts +55 -156
- package/lib/user.d.ts.map +1 -1
- package/lib/user.js +2 -79
- package/lib/user.js.map +1 -1
- package/lib/versions.d.ts +34 -1
- package/lib/versions.d.ts.map +1 -1
- package/lib/versions.js +33 -0
- package/lib/versions.js.map +1 -1
- package/lib/vertesia-common.js +6 -2
- package/lib/vertesia-common.js.map +1 -1
- package/lib/view-configuration-validation.js.map +1 -1
- package/lib/view-query-validation.js.map +1 -1
- package/lib/view-validation-helpers.d.ts +1 -1
- package/lib/view-validation-helpers.d.ts.map +1 -1
- package/lib/views-schema.d.ts +51 -51
- package/lib/views-schema.d.ts.map +1 -1
- package/lib/views-validation.js.map +1 -1
- package/lib/views.d.ts +58 -314
- package/lib/views.d.ts.map +1 -1
- package/lib/views.js.map +1 -1
- package/lib/workflow-analytics.d.ts +10 -3
- package/lib/workflow-analytics.d.ts.map +1 -1
- package/package.json +14 -5
- package/src/access-control-values.ts +113 -0
- package/src/access-control.ts +33 -138
- package/src/account-values.ts +95 -0
- package/src/analytics.ts +18 -42
- package/src/api-schemas/access-control.contract.test.ts +209 -0
- package/src/api-schemas/access-control.ts +208 -0
- package/src/api-schemas/account.contract.test.ts +318 -0
- package/src/api-schemas/account.ts +150 -0
- package/src/api-schemas/adapter-edge-cases.test.ts +480 -0
- package/src/api-schemas/adapter.ts +778 -0
- package/src/api-schemas/agent-runs.ts +1091 -0
- package/src/api-schemas/analytics.ts +65 -0
- package/src/api-schemas/apikey.contract.test.ts +270 -0
- package/src/api-schemas/apikey.ts +199 -0
- package/src/api-schemas/app-delete-summary.contract.test.ts +67 -0
- package/src/api-schemas/app-lifecycle.ts +900 -0
- package/src/api-schemas/app-runtime.ts +1022 -0
- package/src/api-schemas/apps.ts +484 -0
- package/src/api-schemas/audit-trail.ts +243 -0
- package/src/api-schemas/bulk-operation.contract.test.ts +39 -0
- package/src/api-schemas/bulk-operation.ts +75 -0
- package/src/api-schemas/bundle-isolation.test.ts +80 -0
- package/src/api-schemas/commands.contract.test.ts +51 -0
- package/src/api-schemas/commands.ts +62 -0
- package/src/api-schemas/content.ts +952 -0
- package/src/api-schemas/cost-analytics.contract.test.ts +64 -0
- package/src/api-schemas/cost-analytics.ts +235 -0
- package/src/api-schemas/dashboard.contract.test.ts +127 -0
- package/src/api-schemas/dashboard.ts +351 -0
- package/src/api-schemas/data-store.contract.test.ts +91 -0
- package/src/api-schemas/data-store.ts +571 -0
- package/src/api-schemas/document-processing.contract.test.ts +76 -0
- package/src/api-schemas/document-processing.ts +344 -0
- package/src/api-schemas/embeddings.ts +113 -0
- package/src/api-schemas/environment.contract.test.ts +184 -0
- package/src/api-schemas/environment.ts +190 -0
- package/src/api-schemas/events.ts +981 -0
- package/src/api-schemas/files.ts +159 -0
- package/src/api-schemas/group.contract.test.ts +205 -0
- package/src/api-schemas/group.ts +155 -0
- package/src/api-schemas/index.ts +35 -0
- package/src/api-schemas/indexing.contract.test.ts +83 -0
- package/src/api-schemas/indexing.ts +234 -0
- package/src/api-schemas/integrations.ts +369 -0
- package/src/api-schemas/interaction.contract.test.ts +27 -0
- package/src/api-schemas/interaction.ts +2364 -0
- package/src/api-schemas/invites.contract.test.ts +268 -0
- package/src/api-schemas/invites.ts +127 -0
- package/src/api-schemas/llumiverse.contract.test.ts +108 -0
- package/src/api-schemas/mcp-api-key.contract.test.ts +86 -0
- package/src/api-schemas/oauth-server.ts +219 -0
- package/src/api-schemas/oauth.contract.test.ts +118 -0
- package/src/api-schemas/oauth.ts +166 -0
- package/src/api-schemas/parameters.test.ts +402 -0
- package/src/api-schemas/parameters.ts +310 -0
- package/src/api-schemas/process.ts +929 -0
- package/src/api-schemas/project-configuration.ts +478 -0
- package/src/api-schemas/project.contract.test.ts +365 -0
- package/src/api-schemas/project.ts +214 -0
- package/src/api-schemas/prompt.ts +88 -0
- package/src/api-schemas/pruning-limits.test.ts +189 -0
- package/src/api-schemas/quota.contract.test.ts +147 -0
- package/src/api-schemas/quota.ts +122 -0
- package/src/api-schemas/registry-groups.test.ts +91 -0
- package/src/api-schemas/registry.ts +3512 -0
- package/src/api-schemas/response-pruning.test.ts +260 -0
- package/src/api-schemas/schema-primitives.ts +12 -0
- package/src/api-schemas/secrets.ts +332 -0
- package/src/api-schemas/store.contract.test.ts +471 -0
- package/src/api-schemas/store.ts +604 -0
- package/src/api-schemas/sts.contract.test.ts +112 -0
- package/src/api-schemas/sts.ts +123 -0
- package/src/api-schemas/task.ts +104 -0
- package/src/api-schemas/tools.ts +140 -0
- package/src/api-schemas/user.contract.test.ts +191 -0
- package/src/api-schemas/user.ts +204 -0
- package/src/api-schemas/view-execution.ts +200 -0
- package/src/api-schemas/views.ts +437 -0
- package/src/api-schemas/workflow-runs.ts +653 -0
- package/src/apikey-values.ts +10 -0
- package/src/apikey.ts +49 -40
- package/src/apps.test.ts +82 -0
- package/src/apps.ts +283 -1228
- package/src/ask-user.ts +9 -1
- package/src/audit-trail.ts +45 -137
- package/src/browser-credentials.ts +21 -106
- package/src/common.ts +67 -78
- package/src/cost-analytics.ts +37 -176
- package/src/data-platform.ts +205 -776
- package/src/email.ts +5 -17
- package/src/embeddings.ts +22 -60
- package/src/environment.ts +52 -126
- package/src/facets.ts +4 -7
- package/src/group.ts +38 -42
- package/src/index.ts +12 -0
- package/src/integrations.ts +39 -129
- package/src/interaction-values.ts +23 -0
- package/src/interaction.ts +162 -902
- package/src/meters.ts +11 -7
- package/src/oauth-server.ts +58 -127
- package/src/oauth.ts +24 -108
- package/src/payload.ts +25 -40
- package/src/platform-event-validation.test.ts +26 -0
- package/src/platform-event-validation.ts +15 -2
- package/src/platform-event.ts +141 -484
- package/src/principal-context.ts +11 -15
- package/src/project-values.ts +41 -0
- package/src/project.ts +116 -588
- package/src/prompt.ts +34 -61
- package/src/query.ts +34 -93
- package/src/rate-limiter.ts +27 -75
- package/src/refs.ts +4 -11
- package/src/roles/types.ts +20 -20
- package/src/runs.ts +11 -24
- package/src/secrets.ts +38 -117
- package/src/store/agent-approval.ts +9 -14
- package/src/store/agent-run.ts +93 -450
- package/src/store/collections.ts +21 -63
- package/src/store/content-type-editing.test.ts +1 -1
- package/src/store/conversation-state.ts +75 -64
- package/src/store/doc-analyzer.ts +17 -33
- package/src/store/dsl-workflow.ts +62 -158
- package/src/store/editing-policy-schema.generated.ts +30 -0
- package/src/store/grounded-extraction.ts +13 -104
- package/src/store/index.ts +3 -0
- package/src/store/intake-policy-schema.generated.ts +1442 -0
- package/src/store/process-schema.test.ts +43 -0
- package/src/store/process-schema.ts +79 -0
- package/src/store/process-validation.test.ts +141 -0
- package/src/store/process-validation.ts +82 -2
- package/src/store/process.ts +70 -146
- package/src/store/rendering.ts +15 -64
- package/src/store/store.ts +197 -1204
- package/src/store/task.ts +25 -59
- package/src/store/workflow.ts +103 -554
- package/src/sts-errors.ts +13 -0
- package/src/sts-token-types.ts +26 -75
- package/src/tools.ts +18 -97
- package/src/transient-tokens-values.ts +11 -0
- package/src/transient-tokens.ts +16 -13
- package/src/user.ts +75 -215
- package/src/versions.test.ts +13 -0
- package/src/versions.ts +36 -0
- package/src/views-schema.test.ts +9 -1
- package/src/views.ts +106 -329
- package/src/workflow-analytics.ts +10 -3
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Account values that exist at runtime — enums, constants, and the pure helpers over them.
|
|
3
|
+
*
|
|
4
|
+
* Split out of `user.ts` so the dependency direction can run one way. The API schemas need these
|
|
5
|
+
* values (`z.enum(BillingMethod)`, `.max(ACCOUNT_APP_ACCESS_MESSAGE_MAX_LENGTH)`), and `user.ts`
|
|
6
|
+
* needs the types the schemas infer. Both living in `user.ts` would make it import from a module
|
|
7
|
+
* that imports it back; here, `user.ts` and `api-schemas/account.ts` both depend on this module and
|
|
8
|
+
* nothing depends on them.
|
|
9
|
+
*
|
|
10
|
+
* Everything here is re-exported from `user.ts`, so existing import paths keep working — this is a
|
|
11
|
+
* move, not a rename.
|
|
12
|
+
*/
|
|
13
|
+
export var Datacenters;
|
|
14
|
+
(function (Datacenters) {
|
|
15
|
+
Datacenters["aws"] = "aws";
|
|
16
|
+
Datacenters["gcp"] = "gcp";
|
|
17
|
+
Datacenters["azure"] = "azure";
|
|
18
|
+
})(Datacenters || (Datacenters = {}));
|
|
19
|
+
export var BillingMethod;
|
|
20
|
+
(function (BillingMethod) {
|
|
21
|
+
BillingMethod["stripe"] = "stripe";
|
|
22
|
+
BillingMethod["invoice"] = "invoice";
|
|
23
|
+
})(BillingMethod || (BillingMethod = {}));
|
|
24
|
+
export var AccountType;
|
|
25
|
+
(function (AccountType) {
|
|
26
|
+
AccountType["vertesia"] = "vertesia";
|
|
27
|
+
AccountType["partner"] = "partner";
|
|
28
|
+
AccountType["free"] = "free";
|
|
29
|
+
AccountType["customer"] = "customer";
|
|
30
|
+
AccountType["prospect"] = "prospect";
|
|
31
|
+
AccountType["unknown"] = "unknown";
|
|
32
|
+
})(AccountType || (AccountType = {}));
|
|
33
|
+
/**
|
|
34
|
+
* Quota/rate-limit tier assigned to an account. Code-defined tiers live in `@dglabs/quota`
|
|
35
|
+
* (`QUOTA_TIERS`); these names must match its keys.
|
|
36
|
+
* - `standard` — protective baseline limits (the default for most accounts).
|
|
37
|
+
* - `enterprise` — high limits for contracted customers / internal / partners.
|
|
38
|
+
*
|
|
39
|
+
* An account with no explicit `quota_tier` derives its tier from its `account_type`.
|
|
40
|
+
*/
|
|
41
|
+
export var QuotaTier;
|
|
42
|
+
(function (QuotaTier) {
|
|
43
|
+
QuotaTier["standard"] = "standard";
|
|
44
|
+
QuotaTier["enterprise"] = "enterprise";
|
|
45
|
+
})(QuotaTier || (QuotaTier = {}));
|
|
46
|
+
/**
|
|
47
|
+
* Default tier for an account that has no explicit `quota_tier`, derived from its `account_type`:
|
|
48
|
+
* contracted customers and internal Vertesia accounts get `enterprise`; everyone else (partner,
|
|
49
|
+
* free, prospect, unknown) gets the protective `standard` baseline.
|
|
50
|
+
*/
|
|
51
|
+
export function quotaTierForAccountType(accountType) {
|
|
52
|
+
switch (accountType) {
|
|
53
|
+
case AccountType.customer:
|
|
54
|
+
case AccountType.vertesia:
|
|
55
|
+
return QuotaTier.enterprise;
|
|
56
|
+
default:
|
|
57
|
+
return QuotaTier.standard;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
export const ACCOUNT_NAMESPACE_MAX_LENGTH = 63;
|
|
61
|
+
export const ACCOUNT_APP_ACCESS_MESSAGE_MAX_LENGTH = 1000;
|
|
62
|
+
export const RESERVED_ACCOUNT_NAMESPACES = [
|
|
63
|
+
'admin',
|
|
64
|
+
'api',
|
|
65
|
+
'apps',
|
|
66
|
+
'auth',
|
|
67
|
+
'cdn',
|
|
68
|
+
'docs',
|
|
69
|
+
'internal-auth',
|
|
70
|
+
'mcp',
|
|
71
|
+
'status',
|
|
72
|
+
'sts',
|
|
73
|
+
'www',
|
|
74
|
+
];
|
|
75
|
+
const ACCOUNT_NAMESPACE_PATTERN = /^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$/;
|
|
76
|
+
export function normalizeAccountNamespace(namespace) {
|
|
77
|
+
return namespace.trim().toLowerCase();
|
|
78
|
+
}
|
|
79
|
+
export function getAccountNamespaceValidationError(namespace) {
|
|
80
|
+
if (!namespace) {
|
|
81
|
+
return 'Account namespace is required';
|
|
82
|
+
}
|
|
83
|
+
if (namespace.length > ACCOUNT_NAMESPACE_MAX_LENGTH || !ACCOUNT_NAMESPACE_PATTERN.test(namespace)) {
|
|
84
|
+
return 'Account namespace must be a lowercase DNS label containing only letters, numbers, and hyphens';
|
|
85
|
+
}
|
|
86
|
+
if (RESERVED_ACCOUNT_NAMESPACES.includes(namespace)) {
|
|
87
|
+
return `Account namespace '${namespace}' is reserved`;
|
|
88
|
+
}
|
|
89
|
+
return undefined;
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=account-values.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"account-values.js","sourceRoot":"","sources":["../src/account-values.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,CAAN,IAAY,WAIX;AAJD,WAAY,WAAW;IACnB,0BAAW,CAAA;IACX,0BAAW,CAAA;IACX,8BAAe,CAAA;AACnB,CAAC,EAJW,WAAW,KAAX,WAAW,QAItB;AAED,MAAM,CAAN,IAAY,aAGX;AAHD,WAAY,aAAa;IACrB,kCAAiB,CAAA;IACjB,oCAAmB,CAAA;AACvB,CAAC,EAHW,aAAa,KAAb,aAAa,QAGxB;AAED,MAAM,CAAN,IAAY,WAOX;AAPD,WAAY,WAAW;IACnB,oCAAqB,CAAA;IACrB,kCAAmB,CAAA;IACnB,4BAAa,CAAA;IACb,oCAAqB,CAAA;IACrB,oCAAqB,CAAA;IACrB,kCAAmB,CAAA;AACvB,CAAC,EAPW,WAAW,KAAX,WAAW,QAOtB;AAED;;;;;;;GAOG;AACH,MAAM,CAAN,IAAY,SAGX;AAHD,WAAY,SAAS;IACjB,kCAAqB,CAAA;IACrB,sCAAyB,CAAA;AAC7B,CAAC,EAHW,SAAS,KAAT,SAAS,QAGpB;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,WAA2C;IAC/E,QAAQ,WAAW,EAAE,CAAC;QAClB,KAAK,WAAW,CAAC,QAAQ,CAAC;QAC1B,KAAK,WAAW,CAAC,QAAQ;YACrB,OAAO,SAAS,CAAC,UAAU,CAAC;QAChC;YACI,OAAO,SAAS,CAAC,QAAQ,CAAC;IAClC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,4BAA4B,GAAG,EAAE,CAAC;AAC/C,MAAM,CAAC,MAAM,qCAAqC,GAAG,IAAI,CAAC;AAC1D,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACvC,OAAO;IACP,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,eAAe;IACf,KAAK;IACL,QAAQ;IACR,KAAK;IACL,KAAK;CACC,CAAC;AAEX,MAAM,yBAAyB,GAAG,wCAAwC,CAAC;AAE3E,MAAM,UAAU,yBAAyB,CAAC,SAAiB;IACvD,OAAO,SAAS,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,kCAAkC,CAAC,SAAiB;IAChE,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,OAAO,+BAA+B,CAAC;IAC3C,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,GAAG,4BAA4B,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAChG,OAAO,+FAA+F,CAAC;IAC3G,CAAC;IACD,IAAK,2BAAiD,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACzE,OAAO,sBAAsB,SAAS,eAAe,CAAC;IAC1D,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC"}
|
package/lib/analytics.d.ts
CHANGED
|
@@ -1,41 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
export
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
/** The field to group by */
|
|
14
|
-
groupBy?: RunAnalyticsGroupBy;
|
|
15
|
-
/** The start date of the query in EPOCH format */
|
|
16
|
-
from?: number;
|
|
17
|
-
/** The end date of the query in EPOCH format */
|
|
18
|
-
to?: number;
|
|
19
|
-
/** The time resolution unit of the analytics query */
|
|
20
|
-
resolution?: TimeResolution;
|
|
21
|
-
/** The step size for the resolution (e.g., 4 with resolution='hour' means 4-hour intervals). Defaults to 1. */
|
|
22
|
-
resolutionStep?: number;
|
|
23
|
-
/** The field to sort by */
|
|
24
|
-
virtual?: boolean;
|
|
25
|
-
}
|
|
26
|
-
export type RunAnalyticsGroupBy = 'interaction' | 'modelId' | 'project' | 'status' | 'tags' | 'environment';
|
|
27
|
-
export type TimeResolution = 'minute' | 'hour' | 'day' | 'week' | 'month' | 'year';
|
|
28
|
-
export interface RunAnalyticsResult {
|
|
29
|
-
date: string;
|
|
30
|
-
timestamp: string;
|
|
31
|
-
group: string;
|
|
32
|
-
count: number;
|
|
33
|
-
execution_time: {
|
|
34
|
-
avg: number;
|
|
35
|
-
min: number;
|
|
36
|
-
max: number;
|
|
37
|
-
};
|
|
38
|
-
}
|
|
1
|
+
import type { z } from 'zod';
|
|
2
|
+
import type { AnalyticsAxisSchema, RunAnalyticsGroupBySchema, RunAnalyticsQuerySchema, RunAnalyticsResultSchema, TimeResolutionSchema } from './api-schemas/analytics.js';
|
|
3
|
+
/**
|
|
4
|
+
* The five run-analytics contract types, inferred from `./api-schemas/analytics.js`. Their
|
|
5
|
+
* documentation moved with them — a doc comment here would be published on TOP of the schema's
|
|
6
|
+
* `description` and the two would drift.
|
|
7
|
+
*/
|
|
8
|
+
export type AnalyticsAxis = z.infer<typeof AnalyticsAxisSchema>;
|
|
9
|
+
export type RunAnalyticsQuery = z.infer<typeof RunAnalyticsQuerySchema>;
|
|
10
|
+
export type RunAnalyticsGroupBy = z.infer<typeof RunAnalyticsGroupBySchema>;
|
|
11
|
+
export type TimeResolution = z.infer<typeof TimeResolutionSchema>;
|
|
12
|
+
export type RunAnalyticsResult = z.infer<typeof RunAnalyticsResultSchema>;
|
|
39
13
|
/** Entity with status breakdown */
|
|
40
14
|
export interface EntityStatusCounts {
|
|
41
15
|
id: string;
|
package/lib/analytics.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../src/analytics.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../src/analytics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EACR,mBAAmB,EACnB,yBAAyB,EACzB,uBAAuB,EACvB,wBAAwB,EACxB,oBAAoB,EACvB,MAAM,4BAA4B,CAAC;AAEpC;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,mCAAmC;AACnC,MAAM,WAAW,kBAAkB;IAC/B,EAAE,EAAE,MAAM,CAAC;IAEX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2CAA2C;IAC3C,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,0EAA0E;IAC1E,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;IACxC,+CAA+C;IAC/C,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,iCAAiC;AACjC,MAAM,WAAW,oBAAoB;IACjC,wEAAwE;IACxE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,mEAAmE;IACnE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;IACxC,kDAAkD;IAClD,aAAa,EAAE,kBAAkB,EAAE,CAAC;IACpC,kDAAkD;IAClD,aAAa,EAAE,kBAAkB,EAAE,CAAC;IACpC,6DAA6D;IAC7D,iBAAiB,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACzC,iDAAiD;IACjD,UAAU,EAAE;QACR,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAClB,CAAC;CACL;AAED,8CAA8C;AAC9C,MAAM,WAAW,cAAc;IAC3B,gEAAgE;IAChE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8DAA8D;IAC9D,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,2CAA2C;AAC3C,MAAM,WAAW,uBAAuB;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,gDAAgD;IAChD,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC;AAED,uHAAuH;AACvH,MAAM,WAAW,iBAAiB;IAC9B,aAAa,EAAE,uBAAuB,EAAE,CAAC;IACzC,UAAU,EAAE;QACR,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAClB,CAAC;CACL"}
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { AccessControlPrincipalType, AccessControlResourceType, Permission } from '../access-control-values.js';
|
|
3
|
+
/**
|
|
4
|
+
* Runtime API schemas for IAM roles and access-control entries.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* The permission vocabulary, hoisted so `SystemRoleDefinition` publishes one reusable enum rather
|
|
8
|
+
* than an inline copy per property.
|
|
9
|
+
*/
|
|
10
|
+
export declare const PermissionSchema: z.ZodEnum<typeof Permission>;
|
|
11
|
+
export declare const AccessControlResourceTypeSchema: z.ZodEnum<typeof AccessControlResourceType>;
|
|
12
|
+
export declare const AccessControlPrincipalTypeSchema: z.ZodEnum<typeof AccessControlPrincipalType>;
|
|
13
|
+
export declare const AbacScopeSchema: z.ZodEnum<{
|
|
14
|
+
collection: "collection";
|
|
15
|
+
document: "document";
|
|
16
|
+
task: "task";
|
|
17
|
+
}>;
|
|
18
|
+
export declare const RoleDomainSchema: z.ZodEnum<{
|
|
19
|
+
content: "content";
|
|
20
|
+
system: "system";
|
|
21
|
+
tasks: "tasks";
|
|
22
|
+
}>;
|
|
23
|
+
/**
|
|
24
|
+
* Deliberately unconstrained, and hoisted so the constraint's ABSENCE is stated in one place. A
|
|
25
|
+
* condition value is compared by the token and content-security evaluators, which accept literals,
|
|
26
|
+
* operator objects (`{ $gte: 5 }`) and `$principal.` cross-references — a union no schema could
|
|
27
|
+
* usefully close without freezing that vocabulary into the public contract.
|
|
28
|
+
*/
|
|
29
|
+
export declare const PropertyConditionValueSchema: z.ZodUnknown;
|
|
30
|
+
export declare const PropertyConditionsSchema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
31
|
+
/**
|
|
32
|
+
* Closed, and that matters here: the SERVER stores two more fields inside `conditions` —
|
|
33
|
+
* `principal_name` and `resource_name` — which this component has never declared. They are display
|
|
34
|
+
* names held there until `principal`/`resource` migrate from ObjectId to string, and the handlers
|
|
35
|
+
* copy them back into `principal`/`resource` on the way out. Every response that also serialized the
|
|
36
|
+
* raw sub-document was therefore violating its own schema; the mappers now build `conditions`
|
|
37
|
+
* explicitly, so the value still reaches the client — in the field the contract declares.
|
|
38
|
+
*/
|
|
39
|
+
export declare const AceConditionsSchema: z.ZodObject<{
|
|
40
|
+
principal_props: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
41
|
+
resource_props: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
42
|
+
scope: z.ZodOptional<z.ZodEnum<{
|
|
43
|
+
collection: "collection";
|
|
44
|
+
document: "document";
|
|
45
|
+
task: "task";
|
|
46
|
+
}>>;
|
|
47
|
+
}, z.core.$strip>;
|
|
48
|
+
/**
|
|
49
|
+
* The access control entry as it crosses the wire.
|
|
50
|
+
*
|
|
51
|
+
* `resource` and `principal` are strings here and ObjectIds in Mongo — except for the dynamic
|
|
52
|
+
* (`principal_set` / `content_set`) entries, where the stored ObjectId is meaningless and the handler
|
|
53
|
+
* substitutes the display name out of `conditions`. That substitution is the reason these endpoints
|
|
54
|
+
* need a mapper rather than a serialized document: no cast can express "this field is a different
|
|
55
|
+
* value depending on another field".
|
|
56
|
+
*
|
|
57
|
+
* The timestamps are plain strings rather than `format: date-time`, which is what the document
|
|
58
|
+
* already publishes. Unlike `User` and `UserGroup` this is NOT safe to tighten in passing: `expires_at`
|
|
59
|
+
* shares the declaration and is written from an unvalidated payload, so an existing caller could have
|
|
60
|
+
* stored a value AJV would now reject.
|
|
61
|
+
*/
|
|
62
|
+
export declare const AccessControlEntrySchema: z.ZodObject<{
|
|
63
|
+
role: z.ZodString;
|
|
64
|
+
resource_type: z.ZodEnum<typeof AccessControlResourceType>;
|
|
65
|
+
resource: z.ZodString;
|
|
66
|
+
principal_type: z.ZodEnum<typeof AccessControlPrincipalType>;
|
|
67
|
+
principal: z.ZodString;
|
|
68
|
+
account: z.ZodOptional<z.ZodString>;
|
|
69
|
+
project: z.ZodOptional<z.ZodString>;
|
|
70
|
+
conditions: z.ZodOptional<z.ZodObject<{
|
|
71
|
+
principal_props: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
72
|
+
resource_props: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
73
|
+
scope: z.ZodOptional<z.ZodEnum<{
|
|
74
|
+
collection: "collection";
|
|
75
|
+
document: "document";
|
|
76
|
+
task: "task";
|
|
77
|
+
}>>;
|
|
78
|
+
}, z.core.$strip>>;
|
|
79
|
+
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
80
|
+
expires_at: z.ZodOptional<z.ZodString>;
|
|
81
|
+
created_at: z.ZodOptional<z.ZodString>;
|
|
82
|
+
updated_at: z.ZodOptional<z.ZodString>;
|
|
83
|
+
id: z.ZodString;
|
|
84
|
+
}, z.core.$strip>;
|
|
85
|
+
export declare const AccessControlEntryArraySchema: z.ZodArray<z.ZodObject<{
|
|
86
|
+
role: z.ZodString;
|
|
87
|
+
resource_type: z.ZodEnum<typeof AccessControlResourceType>;
|
|
88
|
+
resource: z.ZodString;
|
|
89
|
+
principal_type: z.ZodEnum<typeof AccessControlPrincipalType>;
|
|
90
|
+
principal: z.ZodString;
|
|
91
|
+
account: z.ZodOptional<z.ZodString>;
|
|
92
|
+
project: z.ZodOptional<z.ZodString>;
|
|
93
|
+
conditions: z.ZodOptional<z.ZodObject<{
|
|
94
|
+
principal_props: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
95
|
+
resource_props: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
96
|
+
scope: z.ZodOptional<z.ZodEnum<{
|
|
97
|
+
collection: "collection";
|
|
98
|
+
document: "document";
|
|
99
|
+
task: "task";
|
|
100
|
+
}>>;
|
|
101
|
+
}, z.core.$strip>>;
|
|
102
|
+
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
103
|
+
expires_at: z.ZodOptional<z.ZodString>;
|
|
104
|
+
created_at: z.ZodOptional<z.ZodString>;
|
|
105
|
+
updated_at: z.ZodOptional<z.ZodString>;
|
|
106
|
+
id: z.ZodString;
|
|
107
|
+
}, z.core.$strip>>;
|
|
108
|
+
/**
|
|
109
|
+
* Create and update payloads, picked from the entry rather than restated.
|
|
110
|
+
*
|
|
111
|
+
* `ACECreatePayload extends Omit<AccessControlEntry, 'created_at' | 'updated_at' | 'id'>` is what the
|
|
112
|
+
* hand-written types said, so `.omit()` is the literal translation — and the right operator here for
|
|
113
|
+
* the reason the guidance gives: the derived shape is almost everything. `ACEUpdatePayload` was
|
|
114
|
+
* `Partial<ACECreatePayload>`, which `.partial()` reproduces exactly.
|
|
115
|
+
*/
|
|
116
|
+
export declare const ACECreatePayloadSchema: z.ZodObject<{
|
|
117
|
+
role: z.ZodString;
|
|
118
|
+
resource_type: z.ZodEnum<typeof AccessControlResourceType>;
|
|
119
|
+
resource: z.ZodString;
|
|
120
|
+
principal_type: z.ZodEnum<typeof AccessControlPrincipalType>;
|
|
121
|
+
principal: z.ZodString;
|
|
122
|
+
account: z.ZodOptional<z.ZodString>;
|
|
123
|
+
project: z.ZodOptional<z.ZodString>;
|
|
124
|
+
conditions: z.ZodOptional<z.ZodObject<{
|
|
125
|
+
principal_props: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
126
|
+
resource_props: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
127
|
+
scope: z.ZodOptional<z.ZodEnum<{
|
|
128
|
+
collection: "collection";
|
|
129
|
+
document: "document";
|
|
130
|
+
task: "task";
|
|
131
|
+
}>>;
|
|
132
|
+
}, z.core.$strip>>;
|
|
133
|
+
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
134
|
+
expires_at: z.ZodOptional<z.ZodString>;
|
|
135
|
+
}, z.core.$strip>;
|
|
136
|
+
export declare const ACEUpdatePayloadSchema: z.ZodObject<{
|
|
137
|
+
role: z.ZodOptional<z.ZodString>;
|
|
138
|
+
resource_type: z.ZodOptional<z.ZodEnum<typeof AccessControlResourceType>>;
|
|
139
|
+
resource: z.ZodOptional<z.ZodString>;
|
|
140
|
+
principal_type: z.ZodOptional<z.ZodEnum<typeof AccessControlPrincipalType>>;
|
|
141
|
+
principal: z.ZodOptional<z.ZodString>;
|
|
142
|
+
account: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
143
|
+
project: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
144
|
+
conditions: z.ZodOptional<z.ZodOptional<z.ZodObject<{
|
|
145
|
+
principal_props: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
146
|
+
resource_props: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
147
|
+
scope: z.ZodOptional<z.ZodEnum<{
|
|
148
|
+
collection: "collection";
|
|
149
|
+
document: "document";
|
|
150
|
+
task: "task";
|
|
151
|
+
}>>;
|
|
152
|
+
}, z.core.$strip>>>;
|
|
153
|
+
tags: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodString>>>;
|
|
154
|
+
expires_at: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
155
|
+
}, z.core.$strip>;
|
|
156
|
+
/**
|
|
157
|
+
* The role catalog. Both shapes are static — computed from the in-process role registry, never read
|
|
158
|
+
* from Mongo — so these two slots carry no persistence boundary at all.
|
|
159
|
+
*/
|
|
160
|
+
export declare const RoleDefinitionSchema: z.ZodObject<{
|
|
161
|
+
name: z.ZodString;
|
|
162
|
+
permissions: z.ZodArray<z.ZodString>;
|
|
163
|
+
domain: z.ZodEnum<{
|
|
164
|
+
content: "content";
|
|
165
|
+
system: "system";
|
|
166
|
+
tasks: "tasks";
|
|
167
|
+
}>;
|
|
168
|
+
}, z.core.$strip>;
|
|
169
|
+
export declare const RoleDefinitionArraySchema: z.ZodArray<z.ZodObject<{
|
|
170
|
+
name: z.ZodString;
|
|
171
|
+
permissions: z.ZodArray<z.ZodString>;
|
|
172
|
+
domain: z.ZodEnum<{
|
|
173
|
+
content: "content";
|
|
174
|
+
system: "system";
|
|
175
|
+
tasks: "tasks";
|
|
176
|
+
}>;
|
|
177
|
+
}, z.core.$strip>>;
|
|
178
|
+
/**
|
|
179
|
+
* `.extend()` and not a second object: `SystemRoleDefinition extends RoleDefinition` narrowing
|
|
180
|
+
* `permissions`, expressed as the override it is. Overriding a property keeps its position, so the
|
|
181
|
+
* published property order is unchanged.
|
|
182
|
+
*/
|
|
183
|
+
export declare const SystemRoleDefinitionSchema: z.ZodObject<{
|
|
184
|
+
name: z.ZodString;
|
|
185
|
+
domain: z.ZodEnum<{
|
|
186
|
+
content: "content";
|
|
187
|
+
system: "system";
|
|
188
|
+
tasks: "tasks";
|
|
189
|
+
}>;
|
|
190
|
+
permissions: z.ZodArray<z.ZodEnum<typeof Permission>>;
|
|
191
|
+
}, z.core.$strip>;
|
|
192
|
+
export declare const SystemRoleDefinitionArraySchema: z.ZodArray<z.ZodObject<{
|
|
193
|
+
name: z.ZodString;
|
|
194
|
+
domain: z.ZodEnum<{
|
|
195
|
+
content: "content";
|
|
196
|
+
system: "system";
|
|
197
|
+
tasks: "tasks";
|
|
198
|
+
}>;
|
|
199
|
+
permissions: z.ZodArray<z.ZodEnum<typeof Permission>>;
|
|
200
|
+
}, z.core.$strip>>;
|
|
201
|
+
/**
|
|
202
|
+
* The public access-control types, inferred rather than written. `../access-control.ts` and
|
|
203
|
+
* `../roles/types.ts` re-export these under their public names.
|
|
204
|
+
*/
|
|
205
|
+
export type PropertyConditionsFromSchema = z.infer<typeof PropertyConditionsSchema>;
|
|
206
|
+
export type AceConditionsFromSchema = z.infer<typeof AceConditionsSchema>;
|
|
207
|
+
export type AccessControlEntryFromSchema = z.infer<typeof AccessControlEntrySchema>;
|
|
208
|
+
export type AccessControlEntryArrayFromSchema = z.infer<typeof AccessControlEntryArraySchema>;
|
|
209
|
+
export type ACECreatePayloadFromSchema = z.infer<typeof ACECreatePayloadSchema>;
|
|
210
|
+
export type ACEUpdatePayloadFromSchema = z.infer<typeof ACEUpdatePayloadSchema>;
|
|
211
|
+
export type RoleDefinitionFromSchema = z.infer<typeof RoleDefinitionSchema>;
|
|
212
|
+
export type RoleDefinitionArrayFromSchema = z.infer<typeof RoleDefinitionArraySchema>;
|
|
213
|
+
export type SystemRoleDefinitionFromSchema = z.infer<typeof SystemRoleDefinitionSchema>;
|
|
214
|
+
export type SystemRoleDefinitionArrayFromSchema = z.infer<typeof SystemRoleDefinitionArraySchema>;
|
|
215
|
+
//# sourceMappingURL=access-control.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"access-control.d.ts","sourceRoot":"","sources":["../../src/api-schemas/access-control.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAEH,0BAA0B,EAC1B,yBAAyB,EACzB,UAAU,EAEb,MAAM,6BAA6B,CAAC;AAErC;;GAEG;AAEH;;;GAGG;AACH,eAAO,MAAM,gBAAgB,8BAAgD,CAAC;AAE9E,eAAO,MAAM,+BAA+B,6CAE1C,CAAC;AAEH,eAAO,MAAM,gCAAgC,8CAE3C,CAAC;AAEH,eAAO,MAAM,eAAe;;;;EAA+C,CAAC;AAE5E,eAAO,MAAM,gBAAgB;;;;EAO3B,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B,cAGvC,CAAC;AAEH,eAAO,MAAM,wBAAwB,wCAEE,CAAC;AAExC;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;iBAsB1B,CAAC;AAEP;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;iBA8BE,CAAC;AAExC,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;kBAA4E,CAAC;AAEvH;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;iBAIA,CAAC;AAEpC,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;iBAAoE,CAAC;AAExG;;;GAGG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;iBAiB3B,CAAC;AAEP,eAAO,MAAM,yBAAyB;;;;;;;;kBAAoE,CAAC;AAE3G;;;;GAIG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;iBAOrC,CAAC;AAEH,eAAO,MAAM,+BAA+B;;;;;;;;kBAEE,CAAC;AAE/C;;;GAGG;AACH,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AACpF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAC1E,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AACpF,MAAM,MAAM,iCAAiC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAC9F,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAChF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAChF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAC5E,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AACtF,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AACxF,MAAM,MAAM,mCAAmC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC"}
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
// From the values module, never from `../access-control.js` or `../roles/types.js`: both derive
|
|
3
|
+
// their public types from the schemas below, so importing them here would invert the dependency.
|
|
4
|
+
import { AbacScopes, AccessControlPrincipalType, AccessControlResourceType, Permission, RoleDomains, } from '../access-control-values.js';
|
|
5
|
+
/**
|
|
6
|
+
* Runtime API schemas for IAM roles and access-control entries.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* The permission vocabulary, hoisted so `SystemRoleDefinition` publishes one reusable enum rather
|
|
10
|
+
* than an inline copy per property.
|
|
11
|
+
*/
|
|
12
|
+
export const PermissionSchema = z.enum(Permission).meta({ id: 'Permission' });
|
|
13
|
+
export const AccessControlResourceTypeSchema = z.enum(AccessControlResourceType).meta({
|
|
14
|
+
id: 'AccessControlResourceType',
|
|
15
|
+
});
|
|
16
|
+
export const AccessControlPrincipalTypeSchema = z.enum(AccessControlPrincipalType).meta({
|
|
17
|
+
id: 'AccessControlPrincipalType',
|
|
18
|
+
});
|
|
19
|
+
export const AbacScopeSchema = z.enum(AbacScopes).meta({ id: 'AbacScope' });
|
|
20
|
+
export const RoleDomainSchema = z.enum(RoleDomains).meta({
|
|
21
|
+
id: 'RoleDomain',
|
|
22
|
+
description: 'Logical grouping of roles by the service area that owns them. One domain may declare roles ' +
|
|
23
|
+
'applicable to multiple scopes (e.g. the `content` domain owns roles applicable to both `document` ' +
|
|
24
|
+
'and `collection` scopes). The `system` domain owns the built-in foundational roles (currently ' +
|
|
25
|
+
'exposed as `SystemRoles`) — registered first so domain partitions cannot shadow them.',
|
|
26
|
+
});
|
|
27
|
+
/**
|
|
28
|
+
* Deliberately unconstrained, and hoisted so the constraint's ABSENCE is stated in one place. A
|
|
29
|
+
* condition value is compared by the token and content-security evaluators, which accept literals,
|
|
30
|
+
* operator objects (`{ $gte: 5 }`) and `$principal.` cross-references — a union no schema could
|
|
31
|
+
* usefully close without freezing that vocabulary into the public contract.
|
|
32
|
+
*/
|
|
33
|
+
export const PropertyConditionValueSchema = z.unknown().meta({
|
|
34
|
+
id: 'PropertyConditionValue',
|
|
35
|
+
description: 'A single condition value. Resolved and evaluated dynamically by token/content security code.',
|
|
36
|
+
});
|
|
37
|
+
export const PropertyConditionsSchema = z
|
|
38
|
+
.record(z.string(), PropertyConditionValueSchema)
|
|
39
|
+
.meta({ id: 'PropertyConditions' });
|
|
40
|
+
/**
|
|
41
|
+
* Closed, and that matters here: the SERVER stores two more fields inside `conditions` —
|
|
42
|
+
* `principal_name` and `resource_name` — which this component has never declared. They are display
|
|
43
|
+
* names held there until `principal`/`resource` migrate from ObjectId to string, and the handlers
|
|
44
|
+
* copy them back into `principal`/`resource` on the way out. Every response that also serialized the
|
|
45
|
+
* raw sub-document was therefore violating its own schema; the mappers now build `conditions`
|
|
46
|
+
* explicitly, so the value still reaches the client — in the field the contract declares.
|
|
47
|
+
*/
|
|
48
|
+
export const AceConditionsSchema = z
|
|
49
|
+
.object({
|
|
50
|
+
principal_props: PropertyConditionsSchema.meta({
|
|
51
|
+
description: 'Property conditions matched against user/group properties at token time (PrincipalSet).',
|
|
52
|
+
}).optional(),
|
|
53
|
+
resource_props: PropertyConditionsSchema.meta({
|
|
54
|
+
description: 'Property conditions matched against object properties at query time (ResourceSet).',
|
|
55
|
+
}).optional(),
|
|
56
|
+
scope: AbacScopeSchema.meta({
|
|
57
|
+
description: "Kind of object the `resource_props` matches. Used to disambiguate which partition's roles " +
|
|
58
|
+
'apply (e.g. content roles vs task roles) and to form the JWT `content_security` key prefix ' +
|
|
59
|
+
"(`{scope}:{verb}`). Absent → `'document'` (default; emits bare `read`/`write`/`delete` keys " +
|
|
60
|
+
'for backward compatibility).',
|
|
61
|
+
}).optional(),
|
|
62
|
+
})
|
|
63
|
+
.meta({
|
|
64
|
+
id: 'AceConditions',
|
|
65
|
+
description: 'Conditions attached to an ACE for dynamic matching.\n' +
|
|
66
|
+
'- `principal_props`: matched against user/group properties at token time (PrincipalSet).\n' +
|
|
67
|
+
'- `resource_props`: matched against object properties at query time (ResourceSet).',
|
|
68
|
+
});
|
|
69
|
+
/**
|
|
70
|
+
* The access control entry as it crosses the wire.
|
|
71
|
+
*
|
|
72
|
+
* `resource` and `principal` are strings here and ObjectIds in Mongo — except for the dynamic
|
|
73
|
+
* (`principal_set` / `content_set`) entries, where the stored ObjectId is meaningless and the handler
|
|
74
|
+
* substitutes the display name out of `conditions`. That substitution is the reason these endpoints
|
|
75
|
+
* need a mapper rather than a serialized document: no cast can express "this field is a different
|
|
76
|
+
* value depending on another field".
|
|
77
|
+
*
|
|
78
|
+
* The timestamps are plain strings rather than `format: date-time`, which is what the document
|
|
79
|
+
* already publishes. Unlike `User` and `UserGroup` this is NOT safe to tighten in passing: `expires_at`
|
|
80
|
+
* shares the declaration and is written from an unvalidated payload, so an existing caller could have
|
|
81
|
+
* stored a value AJV would now reject.
|
|
82
|
+
*/
|
|
83
|
+
export const AccessControlEntrySchema = z
|
|
84
|
+
.object({
|
|
85
|
+
role: z.string().meta({
|
|
86
|
+
description: 'Role name. Typed as `string` because role names now span multiple partitions: `SystemRoles` ' +
|
|
87
|
+
"enum values for system-domain roles, and bare strings for ABAC-domain roles (e.g. `'content:reader'`, " +
|
|
88
|
+
"`'content:writer'`, `'content:manager'`). Mongoose schema validates the value against the " +
|
|
89
|
+
'registered role catalog via `getAllRoleNames()`.',
|
|
90
|
+
}),
|
|
91
|
+
resource_type: AccessControlResourceTypeSchema,
|
|
92
|
+
resource: z.string(),
|
|
93
|
+
principal_type: AccessControlPrincipalTypeSchema,
|
|
94
|
+
principal: z.string(),
|
|
95
|
+
account: z
|
|
96
|
+
.string()
|
|
97
|
+
.meta({ description: 'Account scope — required for principal_set/content_set ACEs.' })
|
|
98
|
+
.optional(),
|
|
99
|
+
project: z
|
|
100
|
+
.string()
|
|
101
|
+
.meta({ description: 'Project scope — narrows a principal_set/content_set ACE to a single project.' })
|
|
102
|
+
.optional(),
|
|
103
|
+
conditions: AceConditionsSchema.meta({
|
|
104
|
+
description: 'Dynamic matching conditions for principal_set/content_set ACEs.',
|
|
105
|
+
}).optional(),
|
|
106
|
+
tags: z.array(z.string()).optional(),
|
|
107
|
+
expires_at: z.string().optional(),
|
|
108
|
+
created_at: z.string().optional(),
|
|
109
|
+
updated_at: z.string().optional(),
|
|
110
|
+
id: z.string(),
|
|
111
|
+
})
|
|
112
|
+
.meta({ id: 'AccessControlEntry' });
|
|
113
|
+
export const AccessControlEntryArraySchema = z.array(AccessControlEntrySchema).meta({ id: 'AccessControlEntryArray' });
|
|
114
|
+
/**
|
|
115
|
+
* Create and update payloads, picked from the entry rather than restated.
|
|
116
|
+
*
|
|
117
|
+
* `ACECreatePayload extends Omit<AccessControlEntry, 'created_at' | 'updated_at' | 'id'>` is what the
|
|
118
|
+
* hand-written types said, so `.omit()` is the literal translation — and the right operator here for
|
|
119
|
+
* the reason the guidance gives: the derived shape is almost everything. `ACEUpdatePayload` was
|
|
120
|
+
* `Partial<ACECreatePayload>`, which `.partial()` reproduces exactly.
|
|
121
|
+
*/
|
|
122
|
+
export const ACECreatePayloadSchema = AccessControlEntrySchema.omit({
|
|
123
|
+
created_at: true,
|
|
124
|
+
updated_at: true,
|
|
125
|
+
id: true,
|
|
126
|
+
}).meta({ id: 'ACECreatePayload' });
|
|
127
|
+
export const ACEUpdatePayloadSchema = ACECreatePayloadSchema.partial().meta({ id: 'ACEUpdatePayload' });
|
|
128
|
+
/**
|
|
129
|
+
* The role catalog. Both shapes are static — computed from the in-process role registry, never read
|
|
130
|
+
* from Mongo — so these two slots carry no persistence boundary at all.
|
|
131
|
+
*/
|
|
132
|
+
export const RoleDefinitionSchema = z
|
|
133
|
+
.object({
|
|
134
|
+
name: z.string(),
|
|
135
|
+
permissions: z.array(z.string()),
|
|
136
|
+
domain: RoleDomainSchema,
|
|
137
|
+
})
|
|
138
|
+
.meta({
|
|
139
|
+
id: 'RoleDefinition',
|
|
140
|
+
description: 'Wire shape of a role returned by the IAM `/roles` endpoint.\n\n' +
|
|
141
|
+
'Permissions are typed `string[]` because role names span multiple partitions (system, content, ' +
|
|
142
|
+
'future tasks/etc.) and each partition has its own vocabulary. For the tightly-typed system-only ' +
|
|
143
|
+
'view (with `permissions: Permission[]`) use `SystemRoleDefinition` and the `/roles/system` endpoint.\n\n' +
|
|
144
|
+
"NOTE: this interface is intentionally non-generic. The OpenAPI generator doesn't handle TypeScript " +
|
|
145
|
+
'generics cleanly in array response types and produces a degenerate `RoleDefinitionArray` schema. ' +
|
|
146
|
+
'Keeping the wire shapes concrete avoids that. `SystemRoleDefinition` extends and narrows ' +
|
|
147
|
+
'`permissions` to `Permission[]`.',
|
|
148
|
+
});
|
|
149
|
+
export const RoleDefinitionArraySchema = z.array(RoleDefinitionSchema).meta({ id: 'RoleDefinitionArray' });
|
|
150
|
+
/**
|
|
151
|
+
* `.extend()` and not a second object: `SystemRoleDefinition extends RoleDefinition` narrowing
|
|
152
|
+
* `permissions`, expressed as the override it is. Overriding a property keeps its position, so the
|
|
153
|
+
* published property order is unchanged.
|
|
154
|
+
*/
|
|
155
|
+
export const SystemRoleDefinitionSchema = RoleDefinitionSchema.extend({
|
|
156
|
+
permissions: z.array(PermissionSchema),
|
|
157
|
+
}).meta({
|
|
158
|
+
id: 'SystemRoleDefinition',
|
|
159
|
+
description: 'Tightly-typed view of a system-domain role: permissions are central `Permission` enum values. ' +
|
|
160
|
+
"Returned by `client.iam.roles.listSystem()` and by the server's `/roles/system` endpoint.",
|
|
161
|
+
});
|
|
162
|
+
export const SystemRoleDefinitionArraySchema = z
|
|
163
|
+
.array(SystemRoleDefinitionSchema)
|
|
164
|
+
.meta({ id: 'SystemRoleDefinitionArray' });
|
|
165
|
+
//# sourceMappingURL=access-control.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"access-control.js","sourceRoot":"","sources":["../../src/api-schemas/access-control.ts"],"names":[],"mappings":"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"}
|