@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
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
|
+
document: "document";
|
|
15
|
+
collection: "collection";
|
|
16
|
+
task: "task";
|
|
17
|
+
}>;
|
|
18
|
+
export declare const RoleDomainSchema: z.ZodEnum<{
|
|
19
|
+
system: "system";
|
|
20
|
+
content: "content";
|
|
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
|
+
document: "document";
|
|
44
|
+
collection: "collection";
|
|
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
|
+
document: "document";
|
|
75
|
+
collection: "collection";
|
|
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
|
+
document: "document";
|
|
98
|
+
collection: "collection";
|
|
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
|
+
project: z.ZodOptional<z.ZodString>;
|
|
118
|
+
account: z.ZodOptional<z.ZodString>;
|
|
119
|
+
resource_type: z.ZodEnum<typeof AccessControlResourceType>;
|
|
120
|
+
principal_type: z.ZodEnum<typeof AccessControlPrincipalType>;
|
|
121
|
+
role: z.ZodString;
|
|
122
|
+
resource: z.ZodString;
|
|
123
|
+
principal: 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
|
+
document: "document";
|
|
129
|
+
collection: "collection";
|
|
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
|
+
project: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
138
|
+
account: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
139
|
+
resource_type: z.ZodOptional<z.ZodEnum<typeof AccessControlResourceType>>;
|
|
140
|
+
principal_type: z.ZodOptional<z.ZodEnum<typeof AccessControlPrincipalType>>;
|
|
141
|
+
role: z.ZodOptional<z.ZodString>;
|
|
142
|
+
resource: z.ZodOptional<z.ZodString>;
|
|
143
|
+
principal: 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
|
+
document: "document";
|
|
149
|
+
collection: "collection";
|
|
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
|
+
system: "system";
|
|
165
|
+
content: "content";
|
|
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
|
+
system: "system";
|
|
174
|
+
content: "content";
|
|
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
|
+
system: "system";
|
|
187
|
+
content: "content";
|
|
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
|
+
system: "system";
|
|
196
|
+
content: "content";
|
|
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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"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { AccountType, BillingMethod, QuotaTier } from '../account-values.js';
|
|
3
|
+
/**
|
|
4
|
+
* Runtime API schemas for the Accounts endpoints.
|
|
5
|
+
*
|
|
6
|
+
* These describe the WIRE shape — what actually crosses the HTTP boundary — which is not
|
|
7
|
+
* always what the hand-written interfaces in `user.ts` claim. Divergences are asserted in
|
|
8
|
+
* `account.contract.test.ts` rather than papered over.
|
|
9
|
+
*
|
|
10
|
+
* This module is only reachable through the `@vertesia/common/api-schemas` subpath. It must
|
|
11
|
+
* never be runtime-exported from the package root: `lib/index.js` is bundled wholesale into
|
|
12
|
+
* `lib/vertesia-common.js` and served to browsers, so a root re-export would ship zod to every
|
|
13
|
+
* UI user. The root may re-export the derived TYPES with `export type`, which tsc erases.
|
|
14
|
+
*/
|
|
15
|
+
/**
|
|
16
|
+
* Shared enums carry an `id` so the adapter hoists them into named components and properties
|
|
17
|
+
* reference them, rather than each property carrying its own inline copy. The distinction is
|
|
18
|
+
* invisible to JSON Schema validation and decisive for codegen: a named component becomes one
|
|
19
|
+
* reusable Java/Go enum type, while inline copies become an anonymous type per property. These
|
|
20
|
+
* names also already exist in the published spec, so keeping them avoids a breaking rename for
|
|
21
|
+
* everyone generating from it.
|
|
22
|
+
*/
|
|
23
|
+
export declare const BillingMethodSchema: z.ZodEnum<typeof BillingMethod>;
|
|
24
|
+
export declare const AccountTypeSchema: z.ZodEnum<typeof AccountType>;
|
|
25
|
+
export declare const QuotaTierSchema: z.ZodEnum<typeof QuotaTier>;
|
|
26
|
+
export declare const AccountBillingSchema: z.ZodObject<{
|
|
27
|
+
method: z.ZodEnum<typeof BillingMethod>;
|
|
28
|
+
stripe_customer_id: z.ZodOptional<z.ZodString>;
|
|
29
|
+
}, z.core.$strip>;
|
|
30
|
+
export declare const AccountSchema: z.ZodObject<{
|
|
31
|
+
id: z.ZodString;
|
|
32
|
+
name: z.ZodString;
|
|
33
|
+
namespace: z.ZodOptional<z.ZodString>;
|
|
34
|
+
app_access_message: z.ZodOptional<z.ZodString>;
|
|
35
|
+
email_domains: z.ZodArray<z.ZodString>;
|
|
36
|
+
onboarding: z.ZodObject<{
|
|
37
|
+
completed: z.ZodBoolean;
|
|
38
|
+
completed_at: z.ZodOptional<z.ZodString>;
|
|
39
|
+
}, z.core.$strict>;
|
|
40
|
+
datacenter: z.ZodString;
|
|
41
|
+
account_type: z.ZodEnum<typeof AccountType>;
|
|
42
|
+
billing: z.ZodObject<{
|
|
43
|
+
method: z.ZodEnum<typeof BillingMethod>;
|
|
44
|
+
stripe_customer_id: z.ZodOptional<z.ZodString>;
|
|
45
|
+
}, z.core.$strip>;
|
|
46
|
+
quota_tier: z.ZodOptional<z.ZodEnum<typeof QuotaTier>>;
|
|
47
|
+
feature_flags: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
48
|
+
created_by: z.ZodString;
|
|
49
|
+
updated_by: z.ZodString;
|
|
50
|
+
created_at: z.ZodString;
|
|
51
|
+
updated_at: z.ZodString;
|
|
52
|
+
}, z.core.$strip>;
|
|
53
|
+
/**
|
|
54
|
+
* No `quota_tier`. The previously published payload declared it, but `PUT /account` never applied
|
|
55
|
+
* it — the field is written only through the admin quota API. Documenting a field the handler
|
|
56
|
+
* ignores is the drift this work exists to remove, and once request validation enforces the
|
|
57
|
+
* schema, a client sending it gets an honest 400 instead of silence. It also closes the door on a
|
|
58
|
+
* future "fix" that would let an account admin raise their own rate-limit tier through the public
|
|
59
|
+
* API.
|
|
60
|
+
*/
|
|
61
|
+
export declare const UpdateAccountPayloadSchema: z.ZodObject<{
|
|
62
|
+
name: z.ZodOptional<z.ZodString>;
|
|
63
|
+
app_access_message: z.ZodOptional<z.ZodString>;
|
|
64
|
+
email_domains: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
65
|
+
billing: z.ZodOptional<z.ZodObject<{
|
|
66
|
+
method: z.ZodEnum<typeof BillingMethod>;
|
|
67
|
+
stripe_customer_id: z.ZodOptional<z.ZodString>;
|
|
68
|
+
}, z.core.$strip>>;
|
|
69
|
+
}, z.core.$strip>;
|
|
70
|
+
/**
|
|
71
|
+
* Stripe billing status, modelled as a real discriminated union.
|
|
72
|
+
*
|
|
73
|
+
* The hand-written `StripeBillingStatusResponse` in `meters.ts` flattens this into one object
|
|
74
|
+
* with `portal_url?` and `reason?` both optional, so a generated Java/Go client gets two
|
|
75
|
+
* unrelated optionals and no way to know which is populated. The server only ever sets
|
|
76
|
+
* `portal_url` when enabled and `reason` when disabled.
|
|
77
|
+
*/
|
|
78
|
+
export declare const StripeBillingEnabledSchema: z.ZodObject<{
|
|
79
|
+
status: z.ZodLiteral<"enabled">;
|
|
80
|
+
billing_method: z.ZodLiteral<BillingMethod.stripe>;
|
|
81
|
+
portal_url: z.ZodString;
|
|
82
|
+
}, z.core.$strip>;
|
|
83
|
+
export declare const StripeBillingDisabledSchema: z.ZodObject<{
|
|
84
|
+
status: z.ZodLiteral<"disabled">;
|
|
85
|
+
billing_method: z.ZodNullable<z.ZodEnum<typeof BillingMethod>>;
|
|
86
|
+
reason: z.ZodString;
|
|
87
|
+
}, z.core.$strip>;
|
|
88
|
+
export declare const StripeBillingStatusResponseSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
89
|
+
status: z.ZodLiteral<"enabled">;
|
|
90
|
+
billing_method: z.ZodLiteral<BillingMethod.stripe>;
|
|
91
|
+
portal_url: z.ZodString;
|
|
92
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
93
|
+
status: z.ZodLiteral<"disabled">;
|
|
94
|
+
billing_method: z.ZodNullable<z.ZodEnum<typeof BillingMethod>>;
|
|
95
|
+
reason: z.ZodString;
|
|
96
|
+
}, z.core.$strip>], "status">;
|
|
97
|
+
export type AccountBillingFromSchema = z.infer<typeof AccountBillingSchema>;
|
|
98
|
+
export type AccountFromSchema = z.infer<typeof AccountSchema>;
|
|
99
|
+
export type UpdateAccountPayloadFromSchema = z.infer<typeof UpdateAccountPayloadSchema>;
|
|
100
|
+
export type StripeBillingStatusResponseFromSchema = z.infer<typeof StripeBillingStatusResponseSchema>;
|
|
101
|
+
//# sourceMappingURL=account.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../src/api-schemas/account.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAyC,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEpH;;;;;;;;;;;GAWG;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,iCAAsD,CAAC;AACvF,eAAO,MAAM,iBAAiB,+BAAkD,CAAC;AACjF,eAAO,MAAM,eAAe,6BAQ1B,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;iBAKE,CAAC;AAEpC,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;iBAiDE,CAAC;AAE7B;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;iBAOE,CAAC;AAE1C;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B;;;;iBAWE,CAAC;AAE1C,eAAO,MAAM,2BAA2B;;;;iBAME,CAAC;AAE3C,eAAO,MAAM,iCAAiC;;;;;;;;6BAEE,CAAC;AAEjD,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAC5E,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAC9D,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AACxF,MAAM,MAAM,qCAAqC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iCAAiC,CAAC,CAAC"}
|