@vertesia/common 1.5.0-dev.20260722.120446Z → 1.5.0-dev.20260804.124748Z
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/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 +3781 -0
- package/lib/api-schemas/agent-runs.d.ts.map +1 -0
- package/lib/api-schemas/agent-runs.js +991 -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 +1114 -0
- package/lib/api-schemas/app-lifecycle.d.ts.map +1 -0
- package/lib/api-schemas/app-lifecycle.js +750 -0
- package/lib/api-schemas/app-lifecycle.js.map +1 -0
- package/lib/api-schemas/app-runtime.d.ts +9056 -0
- package/lib/api-schemas/app-runtime.d.ts.map +1 -0
- package/lib/api-schemas/app-runtime.js +782 -0
- package/lib/api-schemas/app-runtime.js.map +1 -0
- package/lib/api-schemas/apps.d.ts +247 -0
- package/lib/api-schemas/apps.d.ts.map +1 -0
- package/lib/api-schemas/apps.js +366 -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 +3561 -0
- package/lib/api-schemas/content.d.ts.map +1 -0
- package/lib/api-schemas/content.js +842 -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 +4880 -0
- package/lib/api-schemas/events.d.ts.map +1 -0
- package/lib/api-schemas/events.js +832 -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 +22454 -0
- package/lib/api-schemas/interaction.d.ts.map +1 -0
- package/lib/api-schemas/interaction.js +2065 -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 +97458 -0
- package/lib/api-schemas/registry.d.ts.map +1 -0
- package/lib/api-schemas/registry.js +2586 -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 +156 -0
- package/lib/api-schemas/sts.d.ts.map +1 -0
- package/lib/api-schemas/sts.js +96 -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 +2209 -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 +116 -1121
- package/lib/apps.d.ts.map +1 -1
- 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 +17 -128
- 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 +19 -113
- 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 +7 -0
- package/lib/index.d.ts.map +1 -1
- 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 +116 -734
- package/lib/interaction.d.ts.map +1 -1
- package/lib/interaction.js +56 -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.d.ts +49 -462
- 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 +55 -503
- 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/secrets.d.ts +20 -105
- package/lib/secrets.d.ts.map +1 -1
- package/lib/store/agent-approval.d.ts +5 -14
- 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 +63 -342
- 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 +63 -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 +80 -0
- 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/store.d.ts +98 -693
- package/lib/store/store.d.ts.map +1 -1
- package/lib/store/store.js +4 -443
- 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 +56 -516
- package/lib/store/workflow.d.ts.map +1 -1
- package/lib/store/workflow.js +28 -11
- package/lib/store/workflow.js.map +1 -1
- package/lib/sts-token-types.d.ts +12 -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 +54 -155
- package/lib/user.d.ts.map +1 -1
- package/lib/user.js +1 -78
- package/lib/user.js.map +1 -1
- package/lib/versions.d.ts +24 -1
- package/lib/versions.d.ts.map +1 -1
- package/lib/versions.js +23 -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/views-schema.d.ts +4 -4
- package/lib/views.d.ts +56 -312
- package/lib/views.d.ts.map +1 -1
- package/lib/views.js.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/agent-resources.test.ts +100 -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 +1081 -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-lifecycle.ts +841 -0
- package/src/api-schemas/app-runtime.ts +919 -0
- package/src/api-schemas/apps.ts +415 -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 +939 -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 +921 -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.ts +2357 -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/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 +3487 -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 +450 -0
- package/src/api-schemas/store.ts +604 -0
- package/src/api-schemas/sts.contract.test.ts +80 -0
- package/src/api-schemas/sts.ts +110 -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.ts +249 -1179
- 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 -124
- package/src/facets.ts +4 -7
- package/src/group.ts +38 -42
- package/src/index.ts +11 -0
- package/src/integrations.ts +39 -129
- package/src/interaction-values.ts +23 -0
- package/src/interaction.ts +231 -841
- 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.ts +98 -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 +106 -434
- package/src/store/collections.ts +21 -63
- package/src/store/content-type-editing.test.ts +17 -0
- package/src/store/conversation-state.ts +78 -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 -1182
- package/src/store/task.ts +25 -59
- package/src/store/workflow.ts +103 -554
- package/src/sts-token-types.ts +24 -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 +74 -214
- package/src/versions.ts +24 -0
- package/src/views-schema.test.ts +9 -1
- package/src/views.ts +106 -329
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Access-control values that exist at runtime — the enums and the scope list.
|
|
3
|
+
*
|
|
4
|
+
* Split out of `access-control.ts` and `roles/types.ts` for the same reason `account-values.ts` was
|
|
5
|
+
* split out of `user.ts`: the API schemas need these values (`z.enum(Permission)`,
|
|
6
|
+
* `z.enum(AbacScopes)`) while those two modules need the types the schemas infer. Keeping them where
|
|
7
|
+
* they were would make each import a module that imports it back; here, both sides depend on this
|
|
8
|
+
* module and nothing depends on them.
|
|
9
|
+
*
|
|
10
|
+
* Everything is re-exported from its original module, so existing import paths keep working — this
|
|
11
|
+
* is a move, not a rename.
|
|
12
|
+
*/
|
|
13
|
+
export declare enum Permission {
|
|
14
|
+
int_read = "interaction:read",
|
|
15
|
+
int_write = "interaction:write",
|
|
16
|
+
int_delete = "interaction:delete",
|
|
17
|
+
int_execute = "interaction:execute",
|
|
18
|
+
run_read = "run:read",
|
|
19
|
+
run_write = "run:write",
|
|
20
|
+
env_admin = "environment:admin",
|
|
21
|
+
app_manage = "app:manage",
|
|
22
|
+
project_admin = "project:admin",
|
|
23
|
+
project_integration_read = "project:integration_read",
|
|
24
|
+
project_settings_write = "project:settings_write",
|
|
25
|
+
api_key_create = "api_key:create",
|
|
26
|
+
api_key_read = "api_key:read",
|
|
27
|
+
api_key_secret_read = "api_key:secret_read",
|
|
28
|
+
api_key_update = "api_key:update",
|
|
29
|
+
api_key_delete = "api_key:delete",
|
|
30
|
+
account_read = "account:read",
|
|
31
|
+
account_write = "account:write",
|
|
32
|
+
account_admin = "account:admin",
|
|
33
|
+
manage_billing = "account:billing",
|
|
34
|
+
/** View cost and usage analytics */
|
|
35
|
+
billing_read = "billing:read",
|
|
36
|
+
/** View account and project audit events. */
|
|
37
|
+
audit_read = "audit:read",
|
|
38
|
+
account_member = "account:member",
|
|
39
|
+
content_read = "content:read",
|
|
40
|
+
content_read_all = "content:read_all",
|
|
41
|
+
content_write = "content:write",
|
|
42
|
+
content_delete = "content:delete",
|
|
43
|
+
content_admin = "content:admin",//manage schemas
|
|
44
|
+
content_superadmin = "content:superadmin",// list all objects and collections
|
|
45
|
+
workflow_read = "workflow:read",
|
|
46
|
+
workflow_run = "workflow:run",
|
|
47
|
+
workflow_admin = "workflow:admin",
|
|
48
|
+
workflow_superadmin = "workflow:superadmin",
|
|
49
|
+
agent_run_read = "agent_run:read",
|
|
50
|
+
task_read = "task:read",
|
|
51
|
+
task_manage = "task:manage",
|
|
52
|
+
iam_impersonate = "iam:impersonate",
|
|
53
|
+
/** whether the user has access to Sutdio App. */
|
|
54
|
+
studio_access = "studio:access"
|
|
55
|
+
}
|
|
56
|
+
export declare enum AccessControlResourceType {
|
|
57
|
+
project = "project",
|
|
58
|
+
environment = "environment",
|
|
59
|
+
account = "account",
|
|
60
|
+
interaction = "interaction",
|
|
61
|
+
app = "application",
|
|
62
|
+
/**
|
|
63
|
+
* Dynamic resource matching by property conditions at query time. The role
|
|
64
|
+
* partitions (content, future tasks/etc.) determine which kind of object
|
|
65
|
+
* the conditions match — selected via `AceConditions.scope`.
|
|
66
|
+
*
|
|
67
|
+
* NOTE: the string value remains `'content_set'` for backward compatibility
|
|
68
|
+
* with stored ACEs and JWTs. The wire/DB rename to `'resource_set'` is a
|
|
69
|
+
* separate concern (deferred). Until then, code reads
|
|
70
|
+
* `AccessControlResourceType.resource_set` but the value on the wire stays
|
|
71
|
+
* `'content_set'`.
|
|
72
|
+
*/
|
|
73
|
+
resource_set = "content_set"
|
|
74
|
+
}
|
|
75
|
+
export declare enum AccessControlPrincipalType {
|
|
76
|
+
user = "user",
|
|
77
|
+
group = "group",
|
|
78
|
+
apikey = "apikey",
|
|
79
|
+
/** Dynamic principal matching by user/group properties at token time. */
|
|
80
|
+
principal_set = "principal_set"
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Kind of object a ResourceSet's `resource_props` matches at query time. Used
|
|
84
|
+
* in `AceConditions.scope` (validated at runtime against this list) and as
|
|
85
|
+
* the prefix in JWT `content_security` keys (e.g. `collection:read`).
|
|
86
|
+
*
|
|
87
|
+
* Each scope is owned by exactly one partition. When adding a new partition
|
|
88
|
+
* (e.g. tasks), extend this list with the new scope(s) AND extend `RoleDomain`
|
|
89
|
+
* with the new domain.
|
|
90
|
+
*/
|
|
91
|
+
export declare const AbacScopes: readonly ["document", "collection", "task"];
|
|
92
|
+
/**
|
|
93
|
+
* Logical grouping of roles by the service area that owns them. Declared as a
|
|
94
|
+
* runtime list so the role schemas can publish it as an enum component; the
|
|
95
|
+
* `RoleDomain` type is inferred from it in `roles/types.ts`.
|
|
96
|
+
*/
|
|
97
|
+
export declare const RoleDomains: readonly ["system", "content", "tasks"];
|
|
98
|
+
//# sourceMappingURL=access-control-values.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"access-control-values.d.ts","sourceRoot":"","sources":["../src/access-control-values.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,oBAAY,UAAU;IAClB,QAAQ,qBAAqB;IAC7B,SAAS,sBAAsB;IAC/B,UAAU,uBAAuB;IAEjC,WAAW,wBAAwB;IACnC,QAAQ,aAAa;IACrB,SAAS,cAAc;IAEvB,SAAS,sBAAsB;IAE/B,UAAU,eAAe;IACzB,aAAa,kBAAkB;IAC/B,wBAAwB,6BAA6B;IACrD,sBAAsB,2BAA2B;IAEjD,cAAc,mBAAmB;IACjC,YAAY,iBAAiB;IAC7B,mBAAmB,wBAAwB;IAC3C,cAAc,mBAAmB;IACjC,cAAc,mBAAmB;IAEjC,YAAY,iBAAiB;IAC7B,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;IAC/B,cAAc,oBAAoB;IAClC,oCAAoC;IACpC,YAAY,iBAAiB;IAC7B,6CAA6C;IAC7C,UAAU,eAAe;IACzB,cAAc,mBAAmB;IAEjC,YAAY,iBAAiB;IAC7B,gBAAgB,qBAAqB;IACrC,aAAa,kBAAkB;IAC/B,cAAc,mBAAmB;IACjC,aAAa,kBAAkB,CAAE,gBAAgB;IACjD,kBAAkB,uBAAuB,CAAE,mCAAmC;IAE9E,aAAa,kBAAkB;IAC/B,YAAY,iBAAiB;IAC7B,cAAc,mBAAmB;IACjC,mBAAmB,wBAAwB;IAE3C,cAAc,mBAAmB;IAEjC,SAAS,cAAc;IACvB,WAAW,gBAAgB;IAE3B,eAAe,oBAAoB;IAEnC,iDAAiD;IACjD,aAAa,kBAAkB;CAClC;AAED,oBAAY,yBAAyB;IACjC,OAAO,YAAY;IACnB,WAAW,gBAAgB;IAC3B,OAAO,YAAY;IACnB,WAAW,gBAAgB;IAC3B,GAAG,gBAAgB;IACnB;;;;;;;;;;OAUG;IACH,YAAY,gBAAgB;CAC/B;AAED,oBAAY,0BAA0B;IAClC,IAAI,SAAS;IACb,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,yEAAyE;IACzE,aAAa,kBAAkB;CAClC;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,UAAU,6CAA8C,CAAC;AAEtE;;;;GAIG;AACH,eAAO,MAAM,WAAW,yCAA0C,CAAC"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Access-control values that exist at runtime — the enums and the scope list.
|
|
3
|
+
*
|
|
4
|
+
* Split out of `access-control.ts` and `roles/types.ts` for the same reason `account-values.ts` was
|
|
5
|
+
* split out of `user.ts`: the API schemas need these values (`z.enum(Permission)`,
|
|
6
|
+
* `z.enum(AbacScopes)`) while those two modules need the types the schemas infer. Keeping them where
|
|
7
|
+
* they were would make each import a module that imports it back; here, both sides depend on this
|
|
8
|
+
* module and nothing depends on them.
|
|
9
|
+
*
|
|
10
|
+
* Everything is re-exported from its original module, so existing import paths keep working — this
|
|
11
|
+
* is a move, not a rename.
|
|
12
|
+
*/
|
|
13
|
+
export var Permission;
|
|
14
|
+
(function (Permission) {
|
|
15
|
+
Permission["int_read"] = "interaction:read";
|
|
16
|
+
Permission["int_write"] = "interaction:write";
|
|
17
|
+
Permission["int_delete"] = "interaction:delete";
|
|
18
|
+
Permission["int_execute"] = "interaction:execute";
|
|
19
|
+
Permission["run_read"] = "run:read";
|
|
20
|
+
Permission["run_write"] = "run:write";
|
|
21
|
+
Permission["env_admin"] = "environment:admin";
|
|
22
|
+
Permission["app_manage"] = "app:manage";
|
|
23
|
+
Permission["project_admin"] = "project:admin";
|
|
24
|
+
Permission["project_integration_read"] = "project:integration_read";
|
|
25
|
+
Permission["project_settings_write"] = "project:settings_write";
|
|
26
|
+
Permission["api_key_create"] = "api_key:create";
|
|
27
|
+
Permission["api_key_read"] = "api_key:read";
|
|
28
|
+
Permission["api_key_secret_read"] = "api_key:secret_read";
|
|
29
|
+
Permission["api_key_update"] = "api_key:update";
|
|
30
|
+
Permission["api_key_delete"] = "api_key:delete";
|
|
31
|
+
Permission["account_read"] = "account:read";
|
|
32
|
+
Permission["account_write"] = "account:write";
|
|
33
|
+
Permission["account_admin"] = "account:admin";
|
|
34
|
+
Permission["manage_billing"] = "account:billing";
|
|
35
|
+
/** View cost and usage analytics */
|
|
36
|
+
Permission["billing_read"] = "billing:read";
|
|
37
|
+
/** View account and project audit events. */
|
|
38
|
+
Permission["audit_read"] = "audit:read";
|
|
39
|
+
Permission["account_member"] = "account:member";
|
|
40
|
+
Permission["content_read"] = "content:read";
|
|
41
|
+
Permission["content_read_all"] = "content:read_all";
|
|
42
|
+
Permission["content_write"] = "content:write";
|
|
43
|
+
Permission["content_delete"] = "content:delete";
|
|
44
|
+
Permission["content_admin"] = "content:admin";
|
|
45
|
+
Permission["content_superadmin"] = "content:superadmin";
|
|
46
|
+
Permission["workflow_read"] = "workflow:read";
|
|
47
|
+
Permission["workflow_run"] = "workflow:run";
|
|
48
|
+
Permission["workflow_admin"] = "workflow:admin";
|
|
49
|
+
Permission["workflow_superadmin"] = "workflow:superadmin";
|
|
50
|
+
Permission["agent_run_read"] = "agent_run:read";
|
|
51
|
+
Permission["task_read"] = "task:read";
|
|
52
|
+
Permission["task_manage"] = "task:manage";
|
|
53
|
+
Permission["iam_impersonate"] = "iam:impersonate";
|
|
54
|
+
/** whether the user has access to Sutdio App. */
|
|
55
|
+
Permission["studio_access"] = "studio:access";
|
|
56
|
+
})(Permission || (Permission = {}));
|
|
57
|
+
export var AccessControlResourceType;
|
|
58
|
+
(function (AccessControlResourceType) {
|
|
59
|
+
AccessControlResourceType["project"] = "project";
|
|
60
|
+
AccessControlResourceType["environment"] = "environment";
|
|
61
|
+
AccessControlResourceType["account"] = "account";
|
|
62
|
+
AccessControlResourceType["interaction"] = "interaction";
|
|
63
|
+
AccessControlResourceType["app"] = "application";
|
|
64
|
+
/**
|
|
65
|
+
* Dynamic resource matching by property conditions at query time. The role
|
|
66
|
+
* partitions (content, future tasks/etc.) determine which kind of object
|
|
67
|
+
* the conditions match — selected via `AceConditions.scope`.
|
|
68
|
+
*
|
|
69
|
+
* NOTE: the string value remains `'content_set'` for backward compatibility
|
|
70
|
+
* with stored ACEs and JWTs. The wire/DB rename to `'resource_set'` is a
|
|
71
|
+
* separate concern (deferred). Until then, code reads
|
|
72
|
+
* `AccessControlResourceType.resource_set` but the value on the wire stays
|
|
73
|
+
* `'content_set'`.
|
|
74
|
+
*/
|
|
75
|
+
AccessControlResourceType["resource_set"] = "content_set";
|
|
76
|
+
})(AccessControlResourceType || (AccessControlResourceType = {}));
|
|
77
|
+
export var AccessControlPrincipalType;
|
|
78
|
+
(function (AccessControlPrincipalType) {
|
|
79
|
+
AccessControlPrincipalType["user"] = "user";
|
|
80
|
+
AccessControlPrincipalType["group"] = "group";
|
|
81
|
+
AccessControlPrincipalType["apikey"] = "apikey";
|
|
82
|
+
/** Dynamic principal matching by user/group properties at token time. */
|
|
83
|
+
AccessControlPrincipalType["principal_set"] = "principal_set";
|
|
84
|
+
})(AccessControlPrincipalType || (AccessControlPrincipalType = {}));
|
|
85
|
+
/**
|
|
86
|
+
* Kind of object a ResourceSet's `resource_props` matches at query time. Used
|
|
87
|
+
* in `AceConditions.scope` (validated at runtime against this list) and as
|
|
88
|
+
* the prefix in JWT `content_security` keys (e.g. `collection:read`).
|
|
89
|
+
*
|
|
90
|
+
* Each scope is owned by exactly one partition. When adding a new partition
|
|
91
|
+
* (e.g. tasks), extend this list with the new scope(s) AND extend `RoleDomain`
|
|
92
|
+
* with the new domain.
|
|
93
|
+
*/
|
|
94
|
+
export const AbacScopes = ['document', 'collection', 'task'];
|
|
95
|
+
/**
|
|
96
|
+
* Logical grouping of roles by the service area that owns them. Declared as a
|
|
97
|
+
* runtime list so the role schemas can publish it as an enum component; the
|
|
98
|
+
* `RoleDomain` type is inferred from it in `roles/types.ts`.
|
|
99
|
+
*/
|
|
100
|
+
export const RoleDomains = ['system', 'content', 'tasks'];
|
|
101
|
+
//# sourceMappingURL=access-control-values.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"access-control-values.js","sourceRoot":"","sources":["../src/access-control-values.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,CAAN,IAAY,UAqDX;AArDD,WAAY,UAAU;IAClB,2CAA6B,CAAA;IAC7B,6CAA+B,CAAA;IAC/B,+CAAiC,CAAA;IAEjC,iDAAmC,CAAA;IACnC,mCAAqB,CAAA;IACrB,qCAAuB,CAAA;IAEvB,6CAA+B,CAAA;IAE/B,uCAAyB,CAAA;IACzB,6CAA+B,CAAA;IAC/B,mEAAqD,CAAA;IACrD,+DAAiD,CAAA;IAEjD,+CAAiC,CAAA;IACjC,2CAA6B,CAAA;IAC7B,yDAA2C,CAAA;IAC3C,+CAAiC,CAAA;IACjC,+CAAiC,CAAA;IAEjC,2CAA6B,CAAA;IAC7B,6CAA+B,CAAA;IAC/B,6CAA+B,CAAA;IAC/B,gDAAkC,CAAA;IAClC,oCAAoC;IACpC,2CAA6B,CAAA;IAC7B,6CAA6C;IAC7C,uCAAyB,CAAA;IACzB,+CAAiC,CAAA;IAEjC,2CAA6B,CAAA;IAC7B,mDAAqC,CAAA;IACrC,6CAA+B,CAAA;IAC/B,+CAAiC,CAAA;IACjC,6CAA+B,CAAA;IAC/B,uDAAyC,CAAA;IAEzC,6CAA+B,CAAA;IAC/B,2CAA6B,CAAA;IAC7B,+CAAiC,CAAA;IACjC,yDAA2C,CAAA;IAE3C,+CAAiC,CAAA;IAEjC,qCAAuB,CAAA;IACvB,yCAA2B,CAAA;IAE3B,iDAAmC,CAAA;IAEnC,iDAAiD;IACjD,6CAA+B,CAAA;AACnC,CAAC,EArDW,UAAU,KAAV,UAAU,QAqDrB;AAED,MAAM,CAAN,IAAY,yBAkBX;AAlBD,WAAY,yBAAyB;IACjC,gDAAmB,CAAA;IACnB,wDAA2B,CAAA;IAC3B,gDAAmB,CAAA;IACnB,wDAA2B,CAAA;IAC3B,gDAAmB,CAAA;IACnB;;;;;;;;;;OAUG;IACH,yDAA4B,CAAA;AAChC,CAAC,EAlBW,yBAAyB,KAAzB,yBAAyB,QAkBpC;AAED,MAAM,CAAN,IAAY,0BAMX;AAND,WAAY,0BAA0B;IAClC,2CAAa,CAAA;IACb,6CAAe,CAAA;IACf,+CAAiB,CAAA;IACjB,yEAAyE;IACzE,6DAA+B,CAAA;AACnC,CAAC,EANW,0BAA0B,KAA1B,0BAA0B,QAMrC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,UAAU,EAAE,YAAY,EAAE,MAAM,CAAU,CAAC;AAEtE;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAU,CAAC"}
|
package/lib/access-control.d.ts
CHANGED
|
@@ -1,78 +1,16 @@
|
|
|
1
|
+
import type { z } from 'zod';
|
|
1
2
|
/**
|
|
2
3
|
* @module access-control
|
|
3
4
|
* @description
|
|
4
5
|
* Access control interfaces
|
|
5
6
|
*/
|
|
6
|
-
import type {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
run_write = "run:write",
|
|
14
|
-
env_admin = "environment:admin",
|
|
15
|
-
app_manage = "app:manage",
|
|
16
|
-
project_admin = "project:admin",
|
|
17
|
-
project_integration_read = "project:integration_read",
|
|
18
|
-
project_settings_write = "project:settings_write",
|
|
19
|
-
api_key_create = "api_key:create",
|
|
20
|
-
api_key_read = "api_key:read",
|
|
21
|
-
api_key_secret_read = "api_key:secret_read",
|
|
22
|
-
api_key_update = "api_key:update",
|
|
23
|
-
api_key_delete = "api_key:delete",
|
|
24
|
-
account_read = "account:read",
|
|
25
|
-
account_write = "account:write",
|
|
26
|
-
account_admin = "account:admin",
|
|
27
|
-
manage_billing = "account:billing",
|
|
28
|
-
/** View cost and usage analytics */
|
|
29
|
-
billing_read = "billing:read",
|
|
30
|
-
/** View account and project audit events. */
|
|
31
|
-
audit_read = "audit:read",
|
|
32
|
-
account_member = "account:member",
|
|
33
|
-
content_read = "content:read",
|
|
34
|
-
content_read_all = "content:read_all",
|
|
35
|
-
content_write = "content:write",
|
|
36
|
-
content_delete = "content:delete",
|
|
37
|
-
content_admin = "content:admin",//manage schemas
|
|
38
|
-
content_superadmin = "content:superadmin",// list all objects and collections
|
|
39
|
-
workflow_read = "workflow:read",
|
|
40
|
-
workflow_run = "workflow:run",
|
|
41
|
-
workflow_admin = "workflow:admin",
|
|
42
|
-
workflow_superadmin = "workflow:superadmin",
|
|
43
|
-
agent_run_read = "agent_run:read",
|
|
44
|
-
task_read = "task:read",
|
|
45
|
-
task_manage = "task:manage",
|
|
46
|
-
iam_impersonate = "iam:impersonate",
|
|
47
|
-
/** whether the user has access to Sutdio App. */
|
|
48
|
-
studio_access = "studio:access"
|
|
49
|
-
}
|
|
50
|
-
export declare enum AccessControlResourceType {
|
|
51
|
-
project = "project",
|
|
52
|
-
environment = "environment",
|
|
53
|
-
account = "account",
|
|
54
|
-
interaction = "interaction",
|
|
55
|
-
app = "application",
|
|
56
|
-
/**
|
|
57
|
-
* Dynamic resource matching by property conditions at query time. The role
|
|
58
|
-
* partitions (content, future tasks/etc.) determine which kind of object
|
|
59
|
-
* the conditions match — selected via `AceConditions.scope`.
|
|
60
|
-
*
|
|
61
|
-
* NOTE: the string value remains `'content_set'` for backward compatibility
|
|
62
|
-
* with stored ACEs and JWTs. The wire/DB rename to `'resource_set'` is a
|
|
63
|
-
* separate concern (deferred). Until then, code reads
|
|
64
|
-
* `AccessControlResourceType.resource_set` but the value on the wire stays
|
|
65
|
-
* `'content_set'`.
|
|
66
|
-
*/
|
|
67
|
-
resource_set = "content_set"
|
|
68
|
-
}
|
|
69
|
-
export declare enum AccessControlPrincipalType {
|
|
70
|
-
user = "user",
|
|
71
|
-
group = "group",
|
|
72
|
-
apikey = "apikey",
|
|
73
|
-
/** Dynamic principal matching by user/group properties at token time. */
|
|
74
|
-
principal_set = "principal_set"
|
|
75
|
-
}
|
|
7
|
+
import type { AccessControlResourceType } from './access-control-values.js';
|
|
8
|
+
import type { ACECreatePayloadSchema, ACEUpdatePayloadSchema, AccessControlEntrySchema, AceConditionsSchema, PropertyConditionsSchema, PropertyConditionValueSchema } from './api-schemas/access-control.js';
|
|
9
|
+
/**
|
|
10
|
+
* The enums live in `./access-control-values.js` so the API schemas can consume them without
|
|
11
|
+
* importing this module back. Re-exported here so every existing import path keeps working.
|
|
12
|
+
*/
|
|
13
|
+
export * from './access-control-values.js';
|
|
76
14
|
/**
|
|
77
15
|
* MongoDB query syntax subset for matching properties.
|
|
78
16
|
* Keys are property names, values are either direct match values or operator objects.
|
|
@@ -88,57 +26,22 @@ export declare enum AccessControlPrincipalType {
|
|
|
88
26
|
* { region: { $in: ["us-east", "eu-west"] } } // set membership (literal)
|
|
89
27
|
* { security_level: { $lte: "$principal.access_level" } } // cross-reference (resolved at token time)
|
|
90
28
|
*/
|
|
91
|
-
|
|
92
|
-
export type
|
|
93
|
-
export type PropertyConditions = Record<string, PropertyConditionValue>;
|
|
29
|
+
export type PropertyConditionValue = z.infer<typeof PropertyConditionValueSchema>;
|
|
30
|
+
export type PropertyConditions = z.infer<typeof PropertyConditionsSchema>;
|
|
94
31
|
/**
|
|
95
|
-
*
|
|
96
|
-
*
|
|
97
|
-
*
|
|
32
|
+
* The access-control wire types, inferred from the schemas in `./api-schemas/access-control.js` —
|
|
33
|
+
* which are what OpenAPI publishes and AJV compiles. The field descriptions live there too, since
|
|
34
|
+
* Zod reads `.meta()` and not TSDoc.
|
|
35
|
+
*
|
|
36
|
+
* NOTE `conditions` carries ONLY the three fields it declares. The server stores two more there —
|
|
37
|
+
* `principal_name` / `resource_name`, see `IAceConditions` in `@dglabs/server-common` — and copies
|
|
38
|
+
* them into `principal` / `resource` on the way out. They are not part of this contract, and the
|
|
39
|
+
* response mappers drop them rather than serializing the sub-document.
|
|
98
40
|
*/
|
|
99
|
-
export
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
resource_props?: PropertyConditions;
|
|
104
|
-
/**
|
|
105
|
-
* Kind of object the `resource_props` matches. Used to disambiguate which
|
|
106
|
-
* partition's roles apply (e.g. content roles vs task roles) and to form
|
|
107
|
-
* the JWT `content_security` key prefix (`{scope}:{verb}`). Absent →
|
|
108
|
-
* `'document'` (default; emits bare `read`/`write`/`delete` keys for
|
|
109
|
-
* backward compatibility).
|
|
110
|
-
*/
|
|
111
|
-
scope?: AbacScope;
|
|
112
|
-
}
|
|
113
|
-
export interface AccessControlEntry {
|
|
114
|
-
/**
|
|
115
|
-
* Role name. Typed as `string` because role names now span multiple
|
|
116
|
-
* partitions: `SystemRoles` enum values for system-domain roles, and bare
|
|
117
|
-
* strings for ABAC-domain roles (e.g. `'content:reader'`,
|
|
118
|
-
* `'content:writer'`, `'content:manager'`). Mongoose schema validates the
|
|
119
|
-
* value against the registered role catalog via `getAllRoleNames()`.
|
|
120
|
-
*/
|
|
121
|
-
role: string;
|
|
122
|
-
resource_type: AccessControlResourceType;
|
|
123
|
-
resource: string;
|
|
124
|
-
principal_type: AccessControlPrincipalType;
|
|
125
|
-
principal: string;
|
|
126
|
-
/** Account scope — required for principal_set/content_set ACEs. */
|
|
127
|
-
account?: string;
|
|
128
|
-
/** Project scope — narrows a principal_set/content_set ACE to a single project. */
|
|
129
|
-
project?: string;
|
|
130
|
-
/** Dynamic matching conditions for principal_set/content_set ACEs. */
|
|
131
|
-
conditions?: AceConditions;
|
|
132
|
-
tags?: string[];
|
|
133
|
-
expires_at?: string;
|
|
134
|
-
created_at?: string;
|
|
135
|
-
updated_at?: string;
|
|
136
|
-
id: string;
|
|
137
|
-
}
|
|
138
|
-
export interface ACECreatePayload extends Omit<AccessControlEntry, 'created_at' | 'updated_at' | 'id'> {
|
|
139
|
-
}
|
|
140
|
-
export interface ACEUpdatePayload extends Partial<ACECreatePayload> {
|
|
141
|
-
}
|
|
41
|
+
export type AceConditions = z.infer<typeof AceConditionsSchema>;
|
|
42
|
+
export type AccessControlEntry = z.infer<typeof AccessControlEntrySchema>;
|
|
43
|
+
export type ACECreatePayload = z.infer<typeof ACECreatePayloadSchema>;
|
|
44
|
+
export type ACEUpdatePayload = z.infer<typeof ACEUpdatePayloadSchema>;
|
|
142
45
|
/**
|
|
143
46
|
* Default sensitivity/clearance levels for the Bell-LaPadula security model.
|
|
144
47
|
* The numeric value is the index in the array (0 = lowest, 4 = highest).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"access-control.d.ts","sourceRoot":"","sources":["../src/access-control.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"access-control.d.ts","sourceRoot":"","sources":["../src/access-control.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B;;;;GAIG;AAEH,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,KAAK,EACR,sBAAsB,EACtB,sBAAsB,EACtB,wBAAwB,EACxB,mBAAmB,EACnB,wBAAwB,EACxB,4BAA4B,EAC/B,MAAM,iCAAiC,CAAC;AAEzC;;;GAGG;AACH,cAAc,4BAA4B,CAAC;AAE3C;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAClF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E;;;;;;;;;GASG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAUtE;;;;GAIG;AACH,oBAAY,aAAa;IACrB,MAAM,IAAI;IACV,QAAQ,IAAI;IACZ,YAAY,IAAI;IAChB,UAAU,IAAI;IACd,MAAM,IAAI;CACb;AAED,+EAA+E;AAC/E,eAAO,MAAM,mBAAmB,EAAE,SAAS,MAAM,EAAmE,CAAC;AAErH,2FAA2F;AAC3F,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,MAAM,WAAW,gBAAgB;IAC7B,KAAK,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;IACxD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,yBAAyB,CAAC;CACpC"}
|
package/lib/access-control.js
CHANGED
|
@@ -1,83 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
* Access control interfaces
|
|
2
|
+
* The enums live in `./access-control-values.js` so the API schemas can consume them without
|
|
3
|
+
* importing this module back. Re-exported here so every existing import path keeps working.
|
|
5
4
|
*/
|
|
6
|
-
export
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
Permission["int_delete"] = "interaction:delete";
|
|
11
|
-
Permission["int_execute"] = "interaction:execute";
|
|
12
|
-
Permission["run_read"] = "run:read";
|
|
13
|
-
Permission["run_write"] = "run:write";
|
|
14
|
-
Permission["env_admin"] = "environment:admin";
|
|
15
|
-
Permission["app_manage"] = "app:manage";
|
|
16
|
-
Permission["project_admin"] = "project:admin";
|
|
17
|
-
Permission["project_integration_read"] = "project:integration_read";
|
|
18
|
-
Permission["project_settings_write"] = "project:settings_write";
|
|
19
|
-
Permission["api_key_create"] = "api_key:create";
|
|
20
|
-
Permission["api_key_read"] = "api_key:read";
|
|
21
|
-
Permission["api_key_secret_read"] = "api_key:secret_read";
|
|
22
|
-
Permission["api_key_update"] = "api_key:update";
|
|
23
|
-
Permission["api_key_delete"] = "api_key:delete";
|
|
24
|
-
Permission["account_read"] = "account:read";
|
|
25
|
-
Permission["account_write"] = "account:write";
|
|
26
|
-
Permission["account_admin"] = "account:admin";
|
|
27
|
-
Permission["manage_billing"] = "account:billing";
|
|
28
|
-
/** View cost and usage analytics */
|
|
29
|
-
Permission["billing_read"] = "billing:read";
|
|
30
|
-
/** View account and project audit events. */
|
|
31
|
-
Permission["audit_read"] = "audit:read";
|
|
32
|
-
Permission["account_member"] = "account:member";
|
|
33
|
-
Permission["content_read"] = "content:read";
|
|
34
|
-
Permission["content_read_all"] = "content:read_all";
|
|
35
|
-
Permission["content_write"] = "content:write";
|
|
36
|
-
Permission["content_delete"] = "content:delete";
|
|
37
|
-
Permission["content_admin"] = "content:admin";
|
|
38
|
-
Permission["content_superadmin"] = "content:superadmin";
|
|
39
|
-
Permission["workflow_read"] = "workflow:read";
|
|
40
|
-
Permission["workflow_run"] = "workflow:run";
|
|
41
|
-
Permission["workflow_admin"] = "workflow:admin";
|
|
42
|
-
Permission["workflow_superadmin"] = "workflow:superadmin";
|
|
43
|
-
Permission["agent_run_read"] = "agent_run:read";
|
|
44
|
-
Permission["task_read"] = "task:read";
|
|
45
|
-
Permission["task_manage"] = "task:manage";
|
|
46
|
-
Permission["iam_impersonate"] = "iam:impersonate";
|
|
47
|
-
/** whether the user has access to Sutdio App. */
|
|
48
|
-
Permission["studio_access"] = "studio:access";
|
|
49
|
-
})(Permission || (Permission = {}));
|
|
50
|
-
export var AccessControlResourceType;
|
|
51
|
-
(function (AccessControlResourceType) {
|
|
52
|
-
AccessControlResourceType["project"] = "project";
|
|
53
|
-
AccessControlResourceType["environment"] = "environment";
|
|
54
|
-
AccessControlResourceType["account"] = "account";
|
|
55
|
-
AccessControlResourceType["interaction"] = "interaction";
|
|
56
|
-
AccessControlResourceType["app"] = "application";
|
|
57
|
-
/**
|
|
58
|
-
* Dynamic resource matching by property conditions at query time. The role
|
|
59
|
-
* partitions (content, future tasks/etc.) determine which kind of object
|
|
60
|
-
* the conditions match — selected via `AceConditions.scope`.
|
|
61
|
-
*
|
|
62
|
-
* NOTE: the string value remains `'content_set'` for backward compatibility
|
|
63
|
-
* with stored ACEs and JWTs. The wire/DB rename to `'resource_set'` is a
|
|
64
|
-
* separate concern (deferred). Until then, code reads
|
|
65
|
-
* `AccessControlResourceType.resource_set` but the value on the wire stays
|
|
66
|
-
* `'content_set'`.
|
|
67
|
-
*/
|
|
68
|
-
AccessControlResourceType["resource_set"] = "content_set";
|
|
69
|
-
})(AccessControlResourceType || (AccessControlResourceType = {}));
|
|
70
|
-
export var AccessControlPrincipalType;
|
|
71
|
-
(function (AccessControlPrincipalType) {
|
|
72
|
-
AccessControlPrincipalType["user"] = "user";
|
|
73
|
-
AccessControlPrincipalType["group"] = "group";
|
|
74
|
-
AccessControlPrincipalType["apikey"] = "apikey";
|
|
75
|
-
/** Dynamic principal matching by user/group properties at token time. */
|
|
76
|
-
AccessControlPrincipalType["principal_set"] = "principal_set";
|
|
77
|
-
})(AccessControlPrincipalType || (AccessControlPrincipalType = {}));
|
|
78
|
-
// RoleDefinition + SystemRoleDefinition now live in `./roles/types.js` to
|
|
79
|
-
// avoid a circular import with `RoleDomain`. They remain re-exported via
|
|
80
|
-
// the package's index.ts so consumers see no path change.
|
|
5
|
+
export * from './access-control-values.js';
|
|
6
|
+
// RoleDefinition + SystemRoleDefinition now live in `./roles/types.js`, and are likewise inferred
|
|
7
|
+
// from `./api-schemas/access-control.js`. They remain re-exported via the package's index.ts so
|
|
8
|
+
// consumers see no path change.
|
|
81
9
|
// ============================================================================
|
|
82
10
|
// BLP Security Levels
|
|
83
11
|
// ============================================================================
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"access-control.js","sourceRoot":"","sources":["../src/access-control.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"access-control.js","sourceRoot":"","sources":["../src/access-control.ts"],"names":[],"mappings":"AAiBA;;;GAGG;AACH,cAAc,4BAA4B,CAAC;AAmC3C,kGAAkG;AAClG,gGAAgG;AAChG,gCAAgC;AAEhC,+EAA+E;AAC/E,sBAAsB;AACtB,+EAA+E;AAE/E;;;;GAIG;AACH,MAAM,CAAN,IAAY,aAMX;AAND,WAAY,aAAa;IACrB,qDAAU,CAAA;IACV,yDAAY,CAAA;IACZ,iEAAgB,CAAA;IAChB,6DAAc,CAAA;IACd,qDAAU,CAAA;AACd,CAAC,EANW,aAAa,KAAb,aAAa,QAMxB;AAED,+EAA+E;AAC/E,MAAM,CAAC,MAAM,mBAAmB,GAAsB,CAAC,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;AAErH,2FAA2F;AAC3F,MAAM,UAAU,qBAAqB,CAAC,KAAa;IAC/C,OAAO,mBAAmB,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC;AACnD,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
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 declare enum Datacenters {
|
|
14
|
+
aws = "aws",
|
|
15
|
+
gcp = "gcp",
|
|
16
|
+
azure = "azure"
|
|
17
|
+
}
|
|
18
|
+
export declare enum BillingMethod {
|
|
19
|
+
stripe = "stripe",
|
|
20
|
+
invoice = "invoice"
|
|
21
|
+
}
|
|
22
|
+
export declare enum AccountType {
|
|
23
|
+
vertesia = "vertesia",
|
|
24
|
+
partner = "partner",
|
|
25
|
+
free = "free",
|
|
26
|
+
customer = "customer",
|
|
27
|
+
prospect = "prospect",
|
|
28
|
+
unknown = "unknown"
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Quota/rate-limit tier assigned to an account. Code-defined tiers live in `@dglabs/quota`
|
|
32
|
+
* (`QUOTA_TIERS`); these names must match its keys.
|
|
33
|
+
* - `standard` — protective baseline limits (the default for most accounts).
|
|
34
|
+
* - `enterprise` — high limits for contracted customers / internal / partners.
|
|
35
|
+
*
|
|
36
|
+
* An account with no explicit `quota_tier` derives its tier from its `account_type`.
|
|
37
|
+
*/
|
|
38
|
+
export declare enum QuotaTier {
|
|
39
|
+
standard = "standard",
|
|
40
|
+
enterprise = "enterprise"
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Default tier for an account that has no explicit `quota_tier`, derived from its `account_type`:
|
|
44
|
+
* contracted customers and internal Vertesia accounts get `enterprise`; everyone else (partner,
|
|
45
|
+
* free, prospect, unknown) gets the protective `standard` baseline.
|
|
46
|
+
*/
|
|
47
|
+
export declare function quotaTierForAccountType(accountType: AccountType | undefined | null): QuotaTier;
|
|
48
|
+
export declare const ACCOUNT_NAMESPACE_MAX_LENGTH = 63;
|
|
49
|
+
export declare const ACCOUNT_APP_ACCESS_MESSAGE_MAX_LENGTH = 1000;
|
|
50
|
+
export declare const RESERVED_ACCOUNT_NAMESPACES: readonly ["admin", "api", "apps", "auth", "cdn", "docs", "internal-auth", "mcp", "status", "sts", "www"];
|
|
51
|
+
export declare function normalizeAccountNamespace(namespace: string): string;
|
|
52
|
+
export declare function getAccountNamespaceValidationError(namespace: string): string | undefined;
|
|
53
|
+
//# sourceMappingURL=account-values.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"account-values.d.ts","sourceRoot":"","sources":["../src/account-values.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,oBAAY,WAAW;IACnB,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,KAAK,UAAU;CAClB;AAED,oBAAY,aAAa;IACrB,MAAM,WAAW;IACjB,OAAO,YAAY;CACtB;AAED,oBAAY,WAAW;IACnB,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,OAAO,YAAY;CACtB;AAED;;;;;;;GAOG;AACH,oBAAY,SAAS;IACjB,QAAQ,aAAa;IACrB,UAAU,eAAe;CAC5B;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,WAAW,GAAG,SAAS,GAAG,IAAI,GAAG,SAAS,CAQ9F;AAED,eAAO,MAAM,4BAA4B,KAAK,CAAC;AAC/C,eAAO,MAAM,qCAAqC,OAAO,CAAC;AAC1D,eAAO,MAAM,2BAA2B,0GAY9B,CAAC;AAIX,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEnE;AAED,wBAAgB,kCAAkC,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAWxF"}
|
|
@@ -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"}
|