@vertesia/common 1.5.0-dev.20260725.083715Z → 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 +107 -1151
- 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 -115
- 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 +88 -778
- package/lib/interaction.d.ts.map +1 -1
- package/lib/interaction.js +8 -12
- package/lib/interaction.js.map +1 -1
- package/lib/meters.d.ts +11 -7
- package/lib/meters.d.ts.map +1 -1
- package/lib/meters.js.map +1 -1
- package/lib/oauth-server.d.ts +33 -119
- package/lib/oauth-server.d.ts.map +1 -1
- package/lib/oauth.d.ts +14 -96
- package/lib/oauth.d.ts.map +1 -1
- package/lib/oauth.js +0 -4
- package/lib/oauth.js.map +1 -1
- package/lib/payload.d.ts +15 -38
- package/lib/payload.d.ts.map +1 -1
- package/lib/platform-event.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 +57 -358
- package/lib/store/agent-run.d.ts.map +1 -1
- package/lib/store/collections.d.ts +11 -63
- package/lib/store/collections.d.ts.map +1 -1
- package/lib/store/collections.js.map +1 -1
- package/lib/store/conversation-state.d.ts +61 -61
- package/lib/store/conversation-state.d.ts.map +1 -1
- package/lib/store/conversation-state.js +2 -0
- package/lib/store/conversation-state.js.map +1 -1
- package/lib/store/doc-analyzer.d.ts +9 -32
- package/lib/store/doc-analyzer.d.ts.map +1 -1
- package/lib/store/dsl-workflow.d.ts +37 -151
- package/lib/store/dsl-workflow.d.ts.map +1 -1
- package/lib/store/dsl-workflow.js.map +1 -1
- package/lib/store/editing-policy-schema.generated.d.ts +3 -0
- package/lib/store/editing-policy-schema.generated.d.ts.map +1 -0
- package/lib/store/editing-policy-schema.generated.js +28 -0
- package/lib/store/editing-policy-schema.generated.js.map +1 -0
- package/lib/store/grounded-extraction.d.ts +7 -104
- package/lib/store/grounded-extraction.d.ts.map +1 -1
- package/lib/store/grounded-extraction.js.map +1 -1
- package/lib/store/index.d.ts +2 -0
- package/lib/store/index.d.ts.map +1 -1
- package/lib/store/index.js +3 -0
- package/lib/store/index.js.map +1 -1
- package/lib/store/intake-policy-schema.generated.d.ts +3 -0
- package/lib/store/intake-policy-schema.generated.d.ts.map +1 -0
- package/lib/store/intake-policy-schema.generated.js +1425 -0
- package/lib/store/intake-policy-schema.generated.js.map +1 -0
- package/lib/store/process-schema.d.ts +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 -700
- package/lib/store/store.d.ts.map +1 -1
- package/lib/store/store.js +4 -456
- package/lib/store/store.js.map +1 -1
- package/lib/store/task.d.ts +15 -59
- package/lib/store/task.d.ts.map +1 -1
- package/lib/store/task.js +0 -3
- package/lib/store/task.js.map +1 -1
- package/lib/store/workflow.d.ts +54 -518
- package/lib/store/workflow.d.ts.map +1 -1
- package/lib/store/workflow.js +23 -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 +13 -4
- package/src/access-control-values.ts +113 -0
- package/src/access-control.ts +33 -138
- package/src/account-values.ts +95 -0
- package/src/analytics.ts +18 -42
- package/src/api-schemas/access-control.contract.test.ts +209 -0
- package/src/api-schemas/access-control.ts +208 -0
- package/src/api-schemas/account.contract.test.ts +318 -0
- package/src/api-schemas/account.ts +150 -0
- package/src/api-schemas/adapter-edge-cases.test.ts +480 -0
- package/src/api-schemas/adapter.ts +778 -0
- package/src/api-schemas/agent-runs.ts +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 +234 -1213
- package/src/ask-user.ts +9 -1
- package/src/audit-trail.ts +45 -137
- package/src/browser-credentials.ts +21 -106
- package/src/common.ts +67 -78
- package/src/cost-analytics.ts +37 -176
- package/src/data-platform.ts +205 -776
- package/src/email.ts +5 -17
- package/src/embeddings.ts +22 -60
- package/src/environment.ts +52 -126
- package/src/facets.ts +4 -7
- package/src/group.ts +38 -42
- package/src/index.ts +11 -0
- package/src/integrations.ts +39 -129
- package/src/interaction-values.ts +23 -0
- package/src/interaction.ts +162 -902
- package/src/meters.ts +11 -7
- package/src/oauth-server.ts +58 -127
- package/src/oauth.ts +24 -108
- package/src/payload.ts +25 -40
- package/src/platform-event.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 +93 -450
- package/src/store/collections.ts +21 -63
- package/src/store/content-type-editing.test.ts +1 -1
- package/src/store/conversation-state.ts +75 -64
- package/src/store/doc-analyzer.ts +17 -33
- package/src/store/dsl-workflow.ts +62 -158
- package/src/store/editing-policy-schema.generated.ts +30 -0
- package/src/store/grounded-extraction.ts +13 -104
- package/src/store/index.ts +3 -0
- package/src/store/intake-policy-schema.generated.ts +1442 -0
- package/src/store/process-schema.test.ts +43 -0
- package/src/store/process-schema.ts +79 -0
- package/src/store/process-validation.test.ts +141 -0
- package/src/store/process-validation.ts +82 -2
- package/src/store/process.ts +70 -146
- package/src/store/rendering.ts +15 -64
- package/src/store/store.ts +197 -1204
- package/src/store/task.ts +25 -59
- package/src/store/workflow.ts +97 -557
- 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,111 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const ToolSourceSchema: z.ZodEnum<{
|
|
3
|
+
interaction: "interaction";
|
|
4
|
+
app: "app";
|
|
5
|
+
builtin: "builtin";
|
|
6
|
+
}>;
|
|
7
|
+
export declare const ValidateToolNamesPayloadSchema: z.ZodObject<{
|
|
8
|
+
names: z.ZodArray<z.ZodString>;
|
|
9
|
+
}, z.core.$strict>;
|
|
10
|
+
export declare const ToolValidationResultSchema: z.ZodObject<{
|
|
11
|
+
name: z.ZodString;
|
|
12
|
+
valid: z.ZodBoolean;
|
|
13
|
+
source: z.ZodOptional<z.ZodEnum<{
|
|
14
|
+
interaction: "interaction";
|
|
15
|
+
app: "app";
|
|
16
|
+
builtin: "builtin";
|
|
17
|
+
}>>;
|
|
18
|
+
app_install_id: z.ZodOptional<z.ZodString>;
|
|
19
|
+
app_name: z.ZodOptional<z.ZodString>;
|
|
20
|
+
suggestion: z.ZodOptional<z.ZodString>;
|
|
21
|
+
collisions: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
22
|
+
source: z.ZodEnum<{
|
|
23
|
+
interaction: "interaction";
|
|
24
|
+
app: "app";
|
|
25
|
+
builtin: "builtin";
|
|
26
|
+
}>;
|
|
27
|
+
app_install_id: z.ZodOptional<z.ZodString>;
|
|
28
|
+
}, z.core.$strict>>>;
|
|
29
|
+
}, z.core.$strict>;
|
|
30
|
+
export declare const AggregatedToolSchema: z.ZodObject<{
|
|
31
|
+
name: z.ZodString;
|
|
32
|
+
source: z.ZodEnum<{
|
|
33
|
+
interaction: "interaction";
|
|
34
|
+
app: "app";
|
|
35
|
+
builtin: "builtin";
|
|
36
|
+
}>;
|
|
37
|
+
description: z.ZodOptional<z.ZodString>;
|
|
38
|
+
title: z.ZodOptional<z.ZodString>;
|
|
39
|
+
is_default: z.ZodOptional<z.ZodBoolean>;
|
|
40
|
+
annotations: z.ZodOptional<z.ZodObject<{
|
|
41
|
+
title: z.ZodOptional<z.ZodString>;
|
|
42
|
+
readOnlyHint: z.ZodOptional<z.ZodBoolean>;
|
|
43
|
+
destructiveHint: z.ZodOptional<z.ZodBoolean>;
|
|
44
|
+
idempotentHint: z.ZodOptional<z.ZodBoolean>;
|
|
45
|
+
openWorldHint: z.ZodOptional<z.ZodBoolean>;
|
|
46
|
+
}, z.core.$strict>>;
|
|
47
|
+
unlocked_tools: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
48
|
+
app_install_id: z.ZodOptional<z.ZodString>;
|
|
49
|
+
app_name: z.ZodOptional<z.ZodString>;
|
|
50
|
+
interaction_id: z.ZodOptional<z.ZodString>;
|
|
51
|
+
is_agent: z.ZodOptional<z.ZodBoolean>;
|
|
52
|
+
}, z.core.$strict>;
|
|
53
|
+
export declare const ValidateToolNamesResponseSchema: z.ZodObject<{
|
|
54
|
+
results: z.ZodArray<z.ZodObject<{
|
|
55
|
+
name: z.ZodString;
|
|
56
|
+
valid: z.ZodBoolean;
|
|
57
|
+
source: z.ZodOptional<z.ZodEnum<{
|
|
58
|
+
interaction: "interaction";
|
|
59
|
+
app: "app";
|
|
60
|
+
builtin: "builtin";
|
|
61
|
+
}>>;
|
|
62
|
+
app_install_id: z.ZodOptional<z.ZodString>;
|
|
63
|
+
app_name: z.ZodOptional<z.ZodString>;
|
|
64
|
+
suggestion: z.ZodOptional<z.ZodString>;
|
|
65
|
+
collisions: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
66
|
+
source: z.ZodEnum<{
|
|
67
|
+
interaction: "interaction";
|
|
68
|
+
app: "app";
|
|
69
|
+
builtin: "builtin";
|
|
70
|
+
}>;
|
|
71
|
+
app_install_id: z.ZodOptional<z.ZodString>;
|
|
72
|
+
}, z.core.$strict>>>;
|
|
73
|
+
}, z.core.$strict>>;
|
|
74
|
+
invalid_count: z.ZodNumber;
|
|
75
|
+
}, z.core.$strict>;
|
|
76
|
+
export declare const AggregatedToolArraySchema: z.ZodArray<z.ZodObject<{
|
|
77
|
+
name: z.ZodString;
|
|
78
|
+
source: z.ZodEnum<{
|
|
79
|
+
interaction: "interaction";
|
|
80
|
+
app: "app";
|
|
81
|
+
builtin: "builtin";
|
|
82
|
+
}>;
|
|
83
|
+
description: z.ZodOptional<z.ZodString>;
|
|
84
|
+
title: z.ZodOptional<z.ZodString>;
|
|
85
|
+
is_default: z.ZodOptional<z.ZodBoolean>;
|
|
86
|
+
annotations: z.ZodOptional<z.ZodObject<{
|
|
87
|
+
title: z.ZodOptional<z.ZodString>;
|
|
88
|
+
readOnlyHint: z.ZodOptional<z.ZodBoolean>;
|
|
89
|
+
destructiveHint: z.ZodOptional<z.ZodBoolean>;
|
|
90
|
+
idempotentHint: z.ZodOptional<z.ZodBoolean>;
|
|
91
|
+
openWorldHint: z.ZodOptional<z.ZodBoolean>;
|
|
92
|
+
}, z.core.$strict>>;
|
|
93
|
+
unlocked_tools: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
94
|
+
app_install_id: z.ZodOptional<z.ZodString>;
|
|
95
|
+
app_name: z.ZodOptional<z.ZodString>;
|
|
96
|
+
interaction_id: z.ZodOptional<z.ZodString>;
|
|
97
|
+
is_agent: z.ZodOptional<z.ZodBoolean>;
|
|
98
|
+
}, z.core.$strict>>;
|
|
99
|
+
export declare const ListProjectToolsQuerySchema: z.ZodObject<{
|
|
100
|
+
sources: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
101
|
+
interaction: "interaction";
|
|
102
|
+
app: "app";
|
|
103
|
+
builtin: "builtin";
|
|
104
|
+
}>>>;
|
|
105
|
+
exclude: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
106
|
+
interaction: "interaction";
|
|
107
|
+
app: "app";
|
|
108
|
+
builtin: "builtin";
|
|
109
|
+
}>>>;
|
|
110
|
+
}, z.core.$strict>;
|
|
111
|
+
//# sourceMappingURL=tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/api-schemas/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,eAAO,MAAM,gBAAgB;;;;EAI3B,CAAC;AAEH,eAAO,MAAM,8BAA8B;;kBAO8D,CAAC;AAE1G,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;kBAmCyE,CAAC;AAEjH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;kBAgD3B,CAAC;AAEP,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;kBAawD,CAAC;AAErG,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;mBAAoE,CAAC;AAG3G,eAAO,MAAM,2BAA2B;;;;;;;;;;;kBAUE,CAAC"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { MCPToolAnnotationsSchema } from './apps.js';
|
|
3
|
+
// The unified project-scoped tool registry as `GET /tools` and `POST /tools/validate` publish it.
|
|
4
|
+
//
|
|
5
|
+
// `//` rather than `/** */` throughout: a JSDoc block immediately preceding an exported declaration
|
|
6
|
+
// is picked up by the OpenAPI scanner and published as that component's `description`, which would
|
|
7
|
+
// double up with the `description` stated in `.meta()`.
|
|
8
|
+
export const ToolSourceSchema = z.enum(['builtin', 'app', 'interaction']).meta({
|
|
9
|
+
id: 'ToolSource',
|
|
10
|
+
description: 'Origin of a tool in the unified project-scoped tool registry.\n\n- `builtin`: anything statically registered on the worker — workflow builtins, studio agent tools, and sys skills\n- `app`: tools contributed by an installed app for the project\n- `interaction`: a project interaction exposed via `tag=tool` / `is_tool=true` / `is_skill=true`\n\nSkill semantics (the tool unlocks others when invoked) are NOT part of the source. They are identified universally by the `learn_` prefix in the tool name. This matches how the runtime registry stores them and avoids splitting one logical origin into two sources.',
|
|
11
|
+
});
|
|
12
|
+
export const ValidateToolNamesPayloadSchema = z
|
|
13
|
+
.strictObject({
|
|
14
|
+
names: z.array(z.string()).meta({
|
|
15
|
+
description: 'Bare tool names as they appear in `agent_runner_options.tool_names`. `+`/`-` prefixes are stripped before lookup.',
|
|
16
|
+
}),
|
|
17
|
+
})
|
|
18
|
+
.meta({ id: 'ValidateToolNamesPayload', description: 'Request payload for `POST /tools/validate`.' });
|
|
19
|
+
export const ToolValidationResultSchema = z
|
|
20
|
+
.strictObject({
|
|
21
|
+
name: z.string().meta({ description: 'The name the caller asked about.' }),
|
|
22
|
+
valid: z
|
|
23
|
+
.boolean()
|
|
24
|
+
.meta({ description: "True if the name resolves to exactly one tool in the project's unified registry." }),
|
|
25
|
+
source: ToolSourceSchema.meta({ description: 'When `valid`: which source the tool came from.' }).optional(),
|
|
26
|
+
app_install_id: z
|
|
27
|
+
.string()
|
|
28
|
+
.meta({ description: "When `valid` and `source === 'app'`: the app installation that provides the tool." })
|
|
29
|
+
.optional(),
|
|
30
|
+
app_name: z
|
|
31
|
+
.string()
|
|
32
|
+
.meta({ description: "When `valid` and `source === 'app'`: the app's manifest name." })
|
|
33
|
+
.optional(),
|
|
34
|
+
suggestion: z
|
|
35
|
+
.string()
|
|
36
|
+
.meta({
|
|
37
|
+
description: 'When `!valid` and a close match exists: the suggested replacement name (Levenshtein-based).',
|
|
38
|
+
})
|
|
39
|
+
.optional(),
|
|
40
|
+
collisions: z
|
|
41
|
+
.array(z.strictObject({
|
|
42
|
+
source: ToolSourceSchema,
|
|
43
|
+
app_install_id: z.string().optional(),
|
|
44
|
+
}))
|
|
45
|
+
.meta({
|
|
46
|
+
description: 'Populated when a name appears in more than one source. Validation does not fail on this, but exposes the ambiguity so callers can surface a warning (last-write-wins resolution applies).',
|
|
47
|
+
})
|
|
48
|
+
.optional(),
|
|
49
|
+
})
|
|
50
|
+
.meta({ id: 'ToolValidationResult', description: 'Per-name resolution result for `POST /tools/validate`.' });
|
|
51
|
+
export const AggregatedToolSchema = z
|
|
52
|
+
.strictObject({
|
|
53
|
+
name: z.string().meta({
|
|
54
|
+
description: 'Name as referenced from `agent_runner_options.tool_names`. For interaction skills this is `learn_<endpoint>`.',
|
|
55
|
+
}),
|
|
56
|
+
source: ToolSourceSchema,
|
|
57
|
+
description: z.string().optional(),
|
|
58
|
+
title: z.string().optional(),
|
|
59
|
+
is_default: z
|
|
60
|
+
.boolean()
|
|
61
|
+
.meta({
|
|
62
|
+
description: 'Whether the tool is part of the default toolkit when no explicit `tool_names` is provided.',
|
|
63
|
+
})
|
|
64
|
+
.optional(),
|
|
65
|
+
annotations: MCPToolAnnotationsSchema.optional(),
|
|
66
|
+
unlocked_tools: z
|
|
67
|
+
.array(z.string())
|
|
68
|
+
.meta({ description: 'For skills (`learn_*`): tool names this skill unlocks when invoked.' })
|
|
69
|
+
.optional(),
|
|
70
|
+
app_install_id: z
|
|
71
|
+
.string()
|
|
72
|
+
.meta({ description: "Present when `source === 'app'`: the app installation that provides this tool." })
|
|
73
|
+
.optional(),
|
|
74
|
+
app_name: z
|
|
75
|
+
.string()
|
|
76
|
+
.meta({
|
|
77
|
+
description: "Present when `source === 'app'`: the app's manifest name (used for `principal.apps` filtering).",
|
|
78
|
+
})
|
|
79
|
+
.optional(),
|
|
80
|
+
interaction_id: z
|
|
81
|
+
.string()
|
|
82
|
+
.meta({ description: "Present when `source === 'interaction'`: the interaction document id." })
|
|
83
|
+
.optional(),
|
|
84
|
+
is_agent: z
|
|
85
|
+
.boolean()
|
|
86
|
+
.meta({
|
|
87
|
+
description: "Present when `source === 'interaction'`: true if the interaction has `agent_runner_options.is_agent === true`. Lets UI consumers distinguish sub-agents (autonomous, run-to-completion) from regular interaction tools.",
|
|
88
|
+
})
|
|
89
|
+
.optional(),
|
|
90
|
+
})
|
|
91
|
+
.meta({
|
|
92
|
+
id: 'AggregatedTool',
|
|
93
|
+
description: 'A single tool entry in the unified registry, regardless of where it came from. Returned by `GET /tools` and the resolution map of `POST /tools/validate`.',
|
|
94
|
+
});
|
|
95
|
+
export const ValidateToolNamesResponseSchema = z
|
|
96
|
+
.strictObject({
|
|
97
|
+
results: z
|
|
98
|
+
.array(ToolValidationResultSchema)
|
|
99
|
+
.meta({ description: 'One entry per requested name, in the same order.' }),
|
|
100
|
+
invalid_count: z.number().min(0).meta({
|
|
101
|
+
description: 'Convenience count of `results.filter(r => !r.valid).length`.',
|
|
102
|
+
// `type`/`format` in meta rather than `z.int()`: the latter also emits Zod's
|
|
103
|
+
// safe-integer `maximum`, which the published component does not carry.
|
|
104
|
+
type: 'integer',
|
|
105
|
+
format: 'int32',
|
|
106
|
+
}),
|
|
107
|
+
})
|
|
108
|
+
.meta({ id: 'ValidateToolNamesResponse', description: 'Response from `POST /tools/validate`.' });
|
|
109
|
+
export const AggregatedToolArraySchema = z.array(AggregatedToolSchema).meta({ id: 'AggregatedToolArray' });
|
|
110
|
+
// Query contracts are registry components even though the scanner expands them into parameters.
|
|
111
|
+
export const ListProjectToolsQuerySchema = z
|
|
112
|
+
.strictObject({
|
|
113
|
+
sources: z.array(ToolSourceSchema).meta({ description: 'Include only these sources.' }).optional(),
|
|
114
|
+
exclude: z
|
|
115
|
+
.array(ToolSourceSchema)
|
|
116
|
+
.meta({
|
|
117
|
+
description: 'Drop these sources from the result (and skip their fetch). Applied after `sources`.',
|
|
118
|
+
})
|
|
119
|
+
.optional(),
|
|
120
|
+
})
|
|
121
|
+
.meta({ id: 'ListProjectToolsQuery' });
|
|
122
|
+
//# sourceMappingURL=tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/api-schemas/tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Runtime API schemas for the IAM user endpoints.
|
|
4
|
+
*
|
|
5
|
+
* `User` is served from a Mongoose
|
|
6
|
+
* document, so the published schema and the stored document are genuinely different shapes and the
|
|
7
|
+
* server maps between them explicitly. What is declared here is the WIRE contract only.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Not hoisted: no `id` in `.meta()`, so the adapter inlines it into `PrincipalIdentity` instead of
|
|
11
|
+
* emitting a `PrincipalContext` component and a `$ref` the document has never published.
|
|
12
|
+
*
|
|
13
|
+
* It still exists as a schema rather than being spelled out inside `PrincipalIdentitySchema`,
|
|
14
|
+
* because `PrincipalContext` is a public type in its own right — consumed by PrincipalSet condition
|
|
15
|
+
* evaluation and client-side ABAC tooling. Composing the two is what keeps the five inherited fields
|
|
16
|
+
* from becoming a hand-written twin of the schema that publishes them.
|
|
17
|
+
*/
|
|
18
|
+
export declare const PrincipalContextSchema: z.ZodObject<{
|
|
19
|
+
clearance: z.ZodNumber;
|
|
20
|
+
compartments: z.ZodArray<z.ZodString>;
|
|
21
|
+
email: z.ZodOptional<z.ZodString>;
|
|
22
|
+
tags: z.ZodArray<z.ZodString>;
|
|
23
|
+
properties: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
24
|
+
}, z.core.$strip>;
|
|
25
|
+
/**
|
|
26
|
+
* `.extend()` rather than a fresh object literal: it appends `id` after the inherited five, which is
|
|
27
|
+
* both what `interface PrincipalIdentity extends PrincipalContext` produced and the property order
|
|
28
|
+
* the document already publishes.
|
|
29
|
+
*/
|
|
30
|
+
export declare const PrincipalIdentitySchema: z.ZodObject<{
|
|
31
|
+
clearance: z.ZodNumber;
|
|
32
|
+
compartments: z.ZodArray<z.ZodString>;
|
|
33
|
+
email: z.ZodOptional<z.ZodString>;
|
|
34
|
+
tags: z.ZodArray<z.ZodString>;
|
|
35
|
+
properties: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
36
|
+
id: z.ZodString;
|
|
37
|
+
}, z.core.$strip>;
|
|
38
|
+
/**
|
|
39
|
+
* The user as it crosses the wire.
|
|
40
|
+
*
|
|
41
|
+
* `created_at` and `updated_at` are DECLARED here but were absent from the published component,
|
|
42
|
+
* while the endpoint has always shipped them: the Mongoose model sets `timestamps`, and the handler
|
|
43
|
+
* serialized the whole document. The published `User` was closed, so every response the endpoint
|
|
44
|
+
* has ever sent violated its own schema. Declaring the two fields corrects the document to describe
|
|
45
|
+
* what actually ships; removing them from the response instead would have been a silent breaking
|
|
46
|
+
* change for anyone already reading them.
|
|
47
|
+
*/
|
|
48
|
+
export declare const UserSchema: z.ZodObject<{
|
|
49
|
+
id: z.ZodString;
|
|
50
|
+
externalId: z.ZodOptional<z.ZodString>;
|
|
51
|
+
email: z.ZodString;
|
|
52
|
+
name: z.ZodString;
|
|
53
|
+
username: z.ZodOptional<z.ZodString>;
|
|
54
|
+
picture: z.ZodOptional<z.ZodString>;
|
|
55
|
+
language: z.ZodOptional<z.ZodString>;
|
|
56
|
+
phone: z.ZodOptional<z.ZodString>;
|
|
57
|
+
sign_in_provider: z.ZodOptional<z.ZodString>;
|
|
58
|
+
last_selected_account: z.ZodOptional<z.ZodString>;
|
|
59
|
+
source: z.ZodOptional<z.ZodEnum<{
|
|
60
|
+
firebase: "firebase";
|
|
61
|
+
scim: "scim";
|
|
62
|
+
}>>;
|
|
63
|
+
updated_by: z.ZodOptional<z.ZodString>;
|
|
64
|
+
properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
65
|
+
clearance: z.ZodOptional<z.ZodNumber>;
|
|
66
|
+
compartments: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
67
|
+
annotations: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
68
|
+
created_at: z.ZodString;
|
|
69
|
+
updated_at: z.ZodString;
|
|
70
|
+
}, z.core.$strip>;
|
|
71
|
+
/**
|
|
72
|
+
* The account members listing, published as its own component because the document already carries
|
|
73
|
+
* `UserArray` — an array named at the top level rather than inlined at the use site.
|
|
74
|
+
*
|
|
75
|
+
* Naming the array keeps its item contract reusable and runtime-enforced as one unit.
|
|
76
|
+
*/
|
|
77
|
+
export declare const UserArraySchema: z.ZodArray<z.ZodObject<{
|
|
78
|
+
id: z.ZodString;
|
|
79
|
+
externalId: z.ZodOptional<z.ZodString>;
|
|
80
|
+
email: z.ZodString;
|
|
81
|
+
name: z.ZodString;
|
|
82
|
+
username: z.ZodOptional<z.ZodString>;
|
|
83
|
+
picture: z.ZodOptional<z.ZodString>;
|
|
84
|
+
language: z.ZodOptional<z.ZodString>;
|
|
85
|
+
phone: z.ZodOptional<z.ZodString>;
|
|
86
|
+
sign_in_provider: z.ZodOptional<z.ZodString>;
|
|
87
|
+
last_selected_account: z.ZodOptional<z.ZodString>;
|
|
88
|
+
source: z.ZodOptional<z.ZodEnum<{
|
|
89
|
+
firebase: "firebase";
|
|
90
|
+
scim: "scim";
|
|
91
|
+
}>>;
|
|
92
|
+
updated_by: z.ZodOptional<z.ZodString>;
|
|
93
|
+
properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
94
|
+
clearance: z.ZodOptional<z.ZodNumber>;
|
|
95
|
+
compartments: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
96
|
+
annotations: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
97
|
+
created_at: z.ZodString;
|
|
98
|
+
updated_at: z.ZodString;
|
|
99
|
+
}, z.core.$strip>>;
|
|
100
|
+
/**
|
|
101
|
+
* The compact user shape embedded in other resources' responses — currently the group members
|
|
102
|
+
* listing, which populates a user document down to these four fields.
|
|
103
|
+
*
|
|
104
|
+
* A `.pick()` of {@link UserSchema}, not a parallel object: `UserRef` IS a projection of `User`, so
|
|
105
|
+
* the field definitions, their requiredness and any constraints come from one declaration. A hand
|
|
106
|
+
* written copy would be a twin that drifts the first time a field on `User` changes. `.pick()` does
|
|
107
|
+
* not carry the `id: 'User'` metadata across, so this still publishes as its own component rather
|
|
108
|
+
* than a second `$ref` to `User`.
|
|
109
|
+
*
|
|
110
|
+
* `email` is therefore required here for the same reason it is on `User`, even though the Mongoose
|
|
111
|
+
* model marks it optional. That is not an oversight to fix by loosening the schema: the component
|
|
112
|
+
* has always said required, and the server maps a missing email to `''` rather than publishing a
|
|
113
|
+
* response that violates it.
|
|
114
|
+
*
|
|
115
|
+
* Note this is the WIRE projection. `UserRefPopulate` is the Mongoose one that feeds it, and stays
|
|
116
|
+
* written out: it names database fields and carries persistence concerns this schema has no view of.
|
|
117
|
+
*/
|
|
118
|
+
export declare const UserRefSchema: z.ZodObject<{
|
|
119
|
+
id: z.ZodString;
|
|
120
|
+
name: z.ZodString;
|
|
121
|
+
email: z.ZodString;
|
|
122
|
+
picture: z.ZodOptional<z.ZodString>;
|
|
123
|
+
}, z.core.$strip>;
|
|
124
|
+
export declare const UserRefArraySchema: z.ZodArray<z.ZodObject<{
|
|
125
|
+
id: z.ZodString;
|
|
126
|
+
name: z.ZodString;
|
|
127
|
+
email: z.ZodString;
|
|
128
|
+
picture: z.ZodOptional<z.ZodString>;
|
|
129
|
+
}, z.core.$strip>>;
|
|
130
|
+
/**
|
|
131
|
+
* The writable subset of a user, picked from {@link UserSchema} rather than restated.
|
|
132
|
+
*
|
|
133
|
+
* Every field here means exactly what it means on `User` — same type, same constraints — so it comes
|
|
134
|
+
* from one declaration; `.partial()` then relaxes requiredness, which is the only thing a PUT payload
|
|
135
|
+
* genuinely changes about them. The fields NOT picked are the point of the whitelist: `email`,
|
|
136
|
+
* `externalId`, `sign_in_provider`, `source`, `annotations` and the timestamps are set by the
|
|
137
|
+
* identity provider or the server, and a picked schema makes that list impossible to widen by
|
|
138
|
+
* accident.
|
|
139
|
+
*
|
|
140
|
+
* Picking also carries the field descriptions across, so `properties`, `clearance` and `compartments`
|
|
141
|
+
* are now documented on the payload as they always were on `User`. That is additive documentation,
|
|
142
|
+
* not a contract change — the constraints are byte-identical. Use `.pick()` only where the request
|
|
143
|
+
* semantics really do match the response: a field that accepts `null` to clear a value, coerces, or
|
|
144
|
+
* carries a request-only constraint has to be overridden explicitly instead.
|
|
145
|
+
*/
|
|
146
|
+
export declare const UpdateUserPayloadSchema: z.ZodObject<{
|
|
147
|
+
name: z.ZodOptional<z.ZodString>;
|
|
148
|
+
properties: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
149
|
+
language: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
150
|
+
phone: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
151
|
+
clearance: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
152
|
+
compartments: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodString>>>;
|
|
153
|
+
username: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
154
|
+
picture: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
155
|
+
last_selected_account: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
156
|
+
}, z.core.$strip>;
|
|
157
|
+
/**
|
|
158
|
+
* Shared by eight studio delete endpoints.
|
|
159
|
+
*
|
|
160
|
+
* The byte-identity guard in the generator does not make it safe to leave the others behind: the
|
|
161
|
+
* public `DeleteByIdResult` is now an alias inferred from this schema, so the TypeScript derivation
|
|
162
|
+
* the other slots relied on changes the moment this one does, and the generator refuses to publish
|
|
163
|
+
* a canonical and a derived component under a single name. Any future shared type has to move as a
|
|
164
|
+
* unit for the same reason.
|
|
165
|
+
*/
|
|
166
|
+
export declare const DeleteByIdResultSchema: z.ZodObject<{
|
|
167
|
+
id: z.ZodString;
|
|
168
|
+
}, z.core.$strip>;
|
|
169
|
+
/**
|
|
170
|
+
* The signup request contract, shared between the sign-in UI and `POST /auth/signup`.
|
|
171
|
+
*
|
|
172
|
+
* `accountType` and `maturity` stay `z.string()`. The UI sends `personal | company` for the first and
|
|
173
|
+
* a maturity catalog of its own for the second, and neither is drawn from the persisted `AccountType`
|
|
174
|
+
* enum — so narrowing them here would not be recording what the endpoint accepts, it would be
|
|
175
|
+
* changing it, and that is a deliberate contract change rather than part of a conversion.
|
|
176
|
+
*
|
|
177
|
+
* `companySize` is a number: the form sends a headcount, not a bucket label.
|
|
178
|
+
*/
|
|
179
|
+
export declare const SignupDataSchema: z.ZodObject<{
|
|
180
|
+
accountType: z.ZodString;
|
|
181
|
+
companyName: z.ZodOptional<z.ZodString>;
|
|
182
|
+
companySize: z.ZodOptional<z.ZodNumber>;
|
|
183
|
+
companyWebsite: z.ZodOptional<z.ZodString>;
|
|
184
|
+
maturity: z.ZodOptional<z.ZodString>;
|
|
185
|
+
}, z.core.$strict>;
|
|
186
|
+
export declare const SignupPayloadSchema: z.ZodObject<{
|
|
187
|
+
firebaseToken: z.ZodString;
|
|
188
|
+
signupData: z.ZodObject<{
|
|
189
|
+
accountType: z.ZodString;
|
|
190
|
+
companyName: z.ZodOptional<z.ZodString>;
|
|
191
|
+
companySize: z.ZodOptional<z.ZodNumber>;
|
|
192
|
+
companyWebsite: z.ZodOptional<z.ZodString>;
|
|
193
|
+
maturity: z.ZodOptional<z.ZodString>;
|
|
194
|
+
}, z.core.$strict>;
|
|
195
|
+
}, z.core.$strict>;
|
|
196
|
+
/**
|
|
197
|
+
* The public IAM types, inferred rather than written. `../principal-context.ts`, `../user.ts` and
|
|
198
|
+
* `../common.ts` re-export these under their public names.
|
|
199
|
+
*/
|
|
200
|
+
export type PrincipalContextFromSchema = z.infer<typeof PrincipalContextSchema>;
|
|
201
|
+
export type PrincipalIdentityFromSchema = z.infer<typeof PrincipalIdentitySchema>;
|
|
202
|
+
export type UserFromSchema = z.infer<typeof UserSchema>;
|
|
203
|
+
export type UserArrayFromSchema = z.infer<typeof UserArraySchema>;
|
|
204
|
+
export type UserRefFromSchema = z.infer<typeof UserRefSchema>;
|
|
205
|
+
export type UserRefArrayFromSchema = z.infer<typeof UserRefArraySchema>;
|
|
206
|
+
export type UpdateUserPayloadFromSchema = z.infer<typeof UpdateUserPayloadSchema>;
|
|
207
|
+
export type DeleteByIdResultFromSchema = z.infer<typeof DeleteByIdResultSchema>;
|
|
208
|
+
//# sourceMappingURL=user.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../src/api-schemas/user.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;GAMG;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB;;;;;;iBAMjC,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,uBAAuB;;;;;;;iBASlC,CAAC;AAEH;;;;;;;;;GASG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;iBAkCE,CAAC;AAE1B;;;;;GAKG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;kBAAgD,CAAC;AAE7E;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,aAAa;;;;;iBAKA,CAAC;AAE3B,eAAO,MAAM,kBAAkB;;;;;kBAAsD,CAAC;AAEtF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;iBAYE,CAAC;AAEvC;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB;;iBAAgE,CAAC;AAEpG;;;;;;;;;GASG;AACH,eAAO,MAAM,gBAAgB;;;;;;kBAQE,CAAC;AAEhC,eAAO,MAAM,mBAAmB;;;;;;;;;kBAKE,CAAC;AAEnC;;;GAGG;AACH,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAChF,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAClF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AACxD,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAClE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAC9D,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AACxE,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAClF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Runtime API schemas for the IAM user endpoints.
|
|
4
|
+
*
|
|
5
|
+
* `User` is served from a Mongoose
|
|
6
|
+
* document, so the published schema and the stored document are genuinely different shapes and the
|
|
7
|
+
* server maps between them explicitly. What is declared here is the WIRE contract only.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Not hoisted: no `id` in `.meta()`, so the adapter inlines it into `PrincipalIdentity` instead of
|
|
11
|
+
* emitting a `PrincipalContext` component and a `$ref` the document has never published.
|
|
12
|
+
*
|
|
13
|
+
* It still exists as a schema rather than being spelled out inside `PrincipalIdentitySchema`,
|
|
14
|
+
* because `PrincipalContext` is a public type in its own right — consumed by PrincipalSet condition
|
|
15
|
+
* evaluation and client-side ABAC tooling. Composing the two is what keeps the five inherited fields
|
|
16
|
+
* from becoming a hand-written twin of the schema that publishes them.
|
|
17
|
+
*/
|
|
18
|
+
export const PrincipalContextSchema = z.object({
|
|
19
|
+
clearance: z.number(),
|
|
20
|
+
compartments: z.array(z.string()),
|
|
21
|
+
email: z.string().optional(),
|
|
22
|
+
tags: z.array(z.string()),
|
|
23
|
+
properties: z.record(z.string(), z.unknown()),
|
|
24
|
+
});
|
|
25
|
+
/**
|
|
26
|
+
* `.extend()` rather than a fresh object literal: it appends `id` after the inherited five, which is
|
|
27
|
+
* both what `interface PrincipalIdentity extends PrincipalContext` produced and the property order
|
|
28
|
+
* the document already publishes.
|
|
29
|
+
*/
|
|
30
|
+
export const PrincipalIdentitySchema = PrincipalContextSchema.extend({
|
|
31
|
+
id: z.string(),
|
|
32
|
+
}).meta({
|
|
33
|
+
id: 'PrincipalIdentity',
|
|
34
|
+
description: "Response shape of the `/iam/users/identity` endpoint: the current principal's {@link " +
|
|
35
|
+
'PrincipalContext } plus its id. Distinct from `PrincipalContext` itself because the id is ' +
|
|
36
|
+
'identity metadata, not a merged BLP field — adding it to `PrincipalContext` would ' +
|
|
37
|
+
'unintentionally expose `$principal.id` to PrincipalSet rule evaluation.',
|
|
38
|
+
});
|
|
39
|
+
/**
|
|
40
|
+
* The user as it crosses the wire.
|
|
41
|
+
*
|
|
42
|
+
* `created_at` and `updated_at` are DECLARED here but were absent from the published component,
|
|
43
|
+
* while the endpoint has always shipped them: the Mongoose model sets `timestamps`, and the handler
|
|
44
|
+
* serialized the whole document. The published `User` was closed, so every response the endpoint
|
|
45
|
+
* has ever sent violated its own schema. Declaring the two fields corrects the document to describe
|
|
46
|
+
* what actually ships; removing them from the response instead would have been a silent breaking
|
|
47
|
+
* change for anyone already reading them.
|
|
48
|
+
*/
|
|
49
|
+
export const UserSchema = z
|
|
50
|
+
.object({
|
|
51
|
+
id: z.string(),
|
|
52
|
+
externalId: z.string().optional(),
|
|
53
|
+
email: z.string(),
|
|
54
|
+
name: z.string(),
|
|
55
|
+
username: z.string().optional(),
|
|
56
|
+
picture: z.string().optional(),
|
|
57
|
+
language: z.string().optional(),
|
|
58
|
+
phone: z.string().optional(),
|
|
59
|
+
sign_in_provider: z.string().optional(),
|
|
60
|
+
last_selected_account: z.string().optional(),
|
|
61
|
+
source: z.enum(['firebase', 'scim']).optional(),
|
|
62
|
+
updated_by: z.string().optional(),
|
|
63
|
+
properties: z
|
|
64
|
+
.record(z.string(), z.unknown())
|
|
65
|
+
.optional()
|
|
66
|
+
.meta({ description: 'Custom properties for dynamic permission matching' }),
|
|
67
|
+
clearance: z.number().optional().meta({
|
|
68
|
+
description: 'BLP clearance level — determines max document sensitivity the user can access',
|
|
69
|
+
}),
|
|
70
|
+
compartments: z.array(z.string()).optional().meta({
|
|
71
|
+
description: 'Compartments the user belongs to — restricts access to documents in matching compartments',
|
|
72
|
+
}),
|
|
73
|
+
annotations: z
|
|
74
|
+
.array(z.string())
|
|
75
|
+
.optional()
|
|
76
|
+
.meta({ description: 'Free-form user metadata - restricted to internal use' }),
|
|
77
|
+
// `format: 'date-time'` and not a bare string: the description claims ISO 8601, and AJV
|
|
78
|
+
// (with ajv-formats) enforces the claim rather than leaving it as documentation. Matches
|
|
79
|
+
// how Account publishes its timestamps.
|
|
80
|
+
created_at: z.string().meta({ format: 'date-time', description: 'ISO 8601 creation timestamp.' }),
|
|
81
|
+
updated_at: z.string().meta({ format: 'date-time', description: 'ISO 8601 timestamp of the last update.' }),
|
|
82
|
+
})
|
|
83
|
+
.meta({ id: 'User' });
|
|
84
|
+
/**
|
|
85
|
+
* The account members listing, published as its own component because the document already carries
|
|
86
|
+
* `UserArray` — an array named at the top level rather than inlined at the use site.
|
|
87
|
+
*
|
|
88
|
+
* Naming the array keeps its item contract reusable and runtime-enforced as one unit.
|
|
89
|
+
*/
|
|
90
|
+
export const UserArraySchema = z.array(UserSchema).meta({ id: 'UserArray' });
|
|
91
|
+
/**
|
|
92
|
+
* The compact user shape embedded in other resources' responses — currently the group members
|
|
93
|
+
* listing, which populates a user document down to these four fields.
|
|
94
|
+
*
|
|
95
|
+
* A `.pick()` of {@link UserSchema}, not a parallel object: `UserRef` IS a projection of `User`, so
|
|
96
|
+
* the field definitions, their requiredness and any constraints come from one declaration. A hand
|
|
97
|
+
* written copy would be a twin that drifts the first time a field on `User` changes. `.pick()` does
|
|
98
|
+
* not carry the `id: 'User'` metadata across, so this still publishes as its own component rather
|
|
99
|
+
* than a second `$ref` to `User`.
|
|
100
|
+
*
|
|
101
|
+
* `email` is therefore required here for the same reason it is on `User`, even though the Mongoose
|
|
102
|
+
* model marks it optional. That is not an oversight to fix by loosening the schema: the component
|
|
103
|
+
* has always said required, and the server maps a missing email to `''` rather than publishing a
|
|
104
|
+
* response that violates it.
|
|
105
|
+
*
|
|
106
|
+
* Note this is the WIRE projection. `UserRefPopulate` is the Mongoose one that feeds it, and stays
|
|
107
|
+
* written out: it names database fields and carries persistence concerns this schema has no view of.
|
|
108
|
+
*/
|
|
109
|
+
export const UserRefSchema = UserSchema.pick({
|
|
110
|
+
id: true,
|
|
111
|
+
name: true,
|
|
112
|
+
email: true,
|
|
113
|
+
picture: true,
|
|
114
|
+
}).meta({ id: 'UserRef' });
|
|
115
|
+
export const UserRefArraySchema = z.array(UserRefSchema).meta({ id: 'UserRefArray' });
|
|
116
|
+
/**
|
|
117
|
+
* The writable subset of a user, picked from {@link UserSchema} rather than restated.
|
|
118
|
+
*
|
|
119
|
+
* Every field here means exactly what it means on `User` — same type, same constraints — so it comes
|
|
120
|
+
* from one declaration; `.partial()` then relaxes requiredness, which is the only thing a PUT payload
|
|
121
|
+
* genuinely changes about them. The fields NOT picked are the point of the whitelist: `email`,
|
|
122
|
+
* `externalId`, `sign_in_provider`, `source`, `annotations` and the timestamps are set by the
|
|
123
|
+
* identity provider or the server, and a picked schema makes that list impossible to widen by
|
|
124
|
+
* accident.
|
|
125
|
+
*
|
|
126
|
+
* Picking also carries the field descriptions across, so `properties`, `clearance` and `compartments`
|
|
127
|
+
* are now documented on the payload as they always were on `User`. That is additive documentation,
|
|
128
|
+
* not a contract change — the constraints are byte-identical. Use `.pick()` only where the request
|
|
129
|
+
* semantics really do match the response: a field that accepts `null` to clear a value, coerces, or
|
|
130
|
+
* carries a request-only constraint has to be overridden explicitly instead.
|
|
131
|
+
*/
|
|
132
|
+
export const UpdateUserPayloadSchema = UserSchema.pick({
|
|
133
|
+
name: true,
|
|
134
|
+
username: true,
|
|
135
|
+
picture: true,
|
|
136
|
+
language: true,
|
|
137
|
+
phone: true,
|
|
138
|
+
last_selected_account: true,
|
|
139
|
+
properties: true,
|
|
140
|
+
clearance: true,
|
|
141
|
+
compartments: true,
|
|
142
|
+
})
|
|
143
|
+
.partial()
|
|
144
|
+
.meta({ id: 'UpdateUserPayload' });
|
|
145
|
+
/**
|
|
146
|
+
* Shared by eight studio delete endpoints.
|
|
147
|
+
*
|
|
148
|
+
* The byte-identity guard in the generator does not make it safe to leave the others behind: the
|
|
149
|
+
* public `DeleteByIdResult` is now an alias inferred from this schema, so the TypeScript derivation
|
|
150
|
+
* the other slots relied on changes the moment this one does, and the generator refuses to publish
|
|
151
|
+
* a canonical and a derived component under a single name. Any future shared type has to move as a
|
|
152
|
+
* unit for the same reason.
|
|
153
|
+
*/
|
|
154
|
+
export const DeleteByIdResultSchema = z.object({ id: z.string() }).meta({ id: 'DeleteByIdResult' });
|
|
155
|
+
/**
|
|
156
|
+
* The signup request contract, shared between the sign-in UI and `POST /auth/signup`.
|
|
157
|
+
*
|
|
158
|
+
* `accountType` and `maturity` stay `z.string()`. The UI sends `personal | company` for the first and
|
|
159
|
+
* a maturity catalog of its own for the second, and neither is drawn from the persisted `AccountType`
|
|
160
|
+
* enum — so narrowing them here would not be recording what the endpoint accepts, it would be
|
|
161
|
+
* changing it, and that is a deliberate contract change rather than part of a conversion.
|
|
162
|
+
*
|
|
163
|
+
* `companySize` is a number: the form sends a headcount, not a bucket label.
|
|
164
|
+
*/
|
|
165
|
+
export const SignupDataSchema = z
|
|
166
|
+
.strictObject({
|
|
167
|
+
accountType: z.string(),
|
|
168
|
+
companyName: z.string().optional(),
|
|
169
|
+
companySize: z.number().optional(),
|
|
170
|
+
companyWebsite: z.string().optional(),
|
|
171
|
+
maturity: z.string().optional(),
|
|
172
|
+
})
|
|
173
|
+
.meta({ id: 'SignupData' });
|
|
174
|
+
export const SignupPayloadSchema = z
|
|
175
|
+
.strictObject({
|
|
176
|
+
firebaseToken: z.string(),
|
|
177
|
+
signupData: SignupDataSchema,
|
|
178
|
+
})
|
|
179
|
+
.meta({ id: 'SignupPayload' });
|
|
180
|
+
//# sourceMappingURL=user.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user.js","sourceRoot":"","sources":["../../src/api-schemas/user.ts"],"names":[],"mappings":"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"}
|