@vertesia/common 1.5.0-dev.20260725.083715Z → 1.5.0-dev.20260806.125520Z
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/Progress.d.ts.map +1 -1
- package/lib/Progress.js.map +1 -1
- package/lib/access-control-values.d.ts +98 -0
- package/lib/access-control-values.d.ts.map +1 -0
- package/lib/access-control-values.js +101 -0
- package/lib/access-control-values.js.map +1 -0
- package/lib/access-control.d.ts +22 -119
- package/lib/access-control.d.ts.map +1 -1
- package/lib/access-control.js +6 -78
- package/lib/access-control.js.map +1 -1
- package/lib/account-values.d.ts +53 -0
- package/lib/account-values.d.ts.map +1 -0
- package/lib/account-values.js +91 -0
- package/lib/account-values.js.map +1 -0
- package/lib/analytics.d.ts +12 -38
- package/lib/analytics.d.ts.map +1 -1
- package/lib/api-schemas/access-control.d.ts +215 -0
- package/lib/api-schemas/access-control.d.ts.map +1 -0
- package/lib/api-schemas/access-control.js +165 -0
- package/lib/api-schemas/access-control.js.map +1 -0
- package/lib/api-schemas/account.d.ts +101 -0
- package/lib/api-schemas/account.d.ts.map +1 -0
- package/lib/api-schemas/account.js +136 -0
- package/lib/api-schemas/account.js.map +1 -0
- package/lib/api-schemas/adapter.d.ts +80 -0
- package/lib/api-schemas/adapter.d.ts.map +1 -0
- package/lib/api-schemas/adapter.js +726 -0
- package/lib/api-schemas/adapter.js.map +1 -0
- package/lib/api-schemas/agent-runs.d.ts +3786 -0
- package/lib/api-schemas/agent-runs.d.ts.map +1 -0
- package/lib/api-schemas/agent-runs.js +1000 -0
- package/lib/api-schemas/agent-runs.js.map +1 -0
- package/lib/api-schemas/analytics.d.ts +86 -0
- package/lib/api-schemas/analytics.d.ts.map +1 -0
- package/lib/api-schemas/analytics.js +58 -0
- package/lib/api-schemas/analytics.js.map +1 -0
- package/lib/api-schemas/apikey.d.ts +231 -0
- package/lib/api-schemas/apikey.d.ts.map +1 -0
- package/lib/api-schemas/apikey.js +172 -0
- package/lib/api-schemas/apikey.js.map +1 -0
- package/lib/api-schemas/app-lifecycle.d.ts +1148 -0
- package/lib/api-schemas/app-lifecycle.d.ts.map +1 -0
- package/lib/api-schemas/app-lifecycle.js +801 -0
- package/lib/api-schemas/app-lifecycle.js.map +1 -0
- package/lib/api-schemas/app-runtime.d.ts +10951 -0
- package/lib/api-schemas/app-runtime.d.ts.map +1 -0
- package/lib/api-schemas/app-runtime.js +874 -0
- package/lib/api-schemas/app-runtime.js.map +1 -0
- package/lib/api-schemas/apps.d.ts +271 -0
- package/lib/api-schemas/apps.d.ts.map +1 -0
- package/lib/api-schemas/apps.js +426 -0
- package/lib/api-schemas/apps.js.map +1 -0
- package/lib/api-schemas/audit-trail.d.ts +465 -0
- package/lib/api-schemas/audit-trail.d.ts.map +1 -0
- package/lib/api-schemas/audit-trail.js +218 -0
- package/lib/api-schemas/audit-trail.js.map +1 -0
- package/lib/api-schemas/bulk-operation.d.ts +104 -0
- package/lib/api-schemas/bulk-operation.d.ts.map +1 -0
- package/lib/api-schemas/bulk-operation.js +66 -0
- package/lib/api-schemas/bulk-operation.js.map +1 -0
- package/lib/api-schemas/commands.d.ts +50 -0
- package/lib/api-schemas/commands.d.ts.map +1 -0
- package/lib/api-schemas/commands.js +58 -0
- package/lib/api-schemas/commands.js.map +1 -0
- package/lib/api-schemas/content.d.ts +3565 -0
- package/lib/api-schemas/content.d.ts.map +1 -0
- package/lib/api-schemas/content.js +854 -0
- package/lib/api-schemas/content.js.map +1 -0
- package/lib/api-schemas/cost-analytics.d.ts +300 -0
- package/lib/api-schemas/cost-analytics.d.ts.map +1 -0
- package/lib/api-schemas/cost-analytics.js +218 -0
- package/lib/api-schemas/cost-analytics.js.map +1 -0
- package/lib/api-schemas/dashboard.d.ts +408 -0
- package/lib/api-schemas/dashboard.d.ts.map +1 -0
- package/lib/api-schemas/dashboard.js +311 -0
- package/lib/api-schemas/dashboard.js.map +1 -0
- package/lib/api-schemas/data-store.d.ts +1650 -0
- package/lib/api-schemas/data-store.d.ts.map +1 -0
- package/lib/api-schemas/data-store.js +504 -0
- package/lib/api-schemas/data-store.js.map +1 -0
- package/lib/api-schemas/document-processing.d.ts +1501 -0
- package/lib/api-schemas/document-processing.d.ts.map +1 -0
- package/lib/api-schemas/document-processing.js +312 -0
- package/lib/api-schemas/document-processing.js.map +1 -0
- package/lib/api-schemas/embeddings.d.ts +184 -0
- package/lib/api-schemas/embeddings.d.ts.map +1 -0
- package/lib/api-schemas/embeddings.js +102 -0
- package/lib/api-schemas/embeddings.js.map +1 -0
- package/lib/api-schemas/environment.d.ts +412 -0
- package/lib/api-schemas/environment.d.ts.map +1 -0
- package/lib/api-schemas/environment.js +170 -0
- package/lib/api-schemas/environment.js.map +1 -0
- package/lib/api-schemas/events.d.ts +4918 -0
- package/lib/api-schemas/events.d.ts.map +1 -0
- package/lib/api-schemas/events.js +888 -0
- package/lib/api-schemas/events.js.map +1 -0
- package/lib/api-schemas/files.d.ts +107 -0
- package/lib/api-schemas/files.d.ts.map +1 -0
- package/lib/api-schemas/files.js +137 -0
- package/lib/api-schemas/files.js.map +1 -0
- package/lib/api-schemas/group.d.ts +122 -0
- package/lib/api-schemas/group.d.ts.map +1 -0
- package/lib/api-schemas/group.js +142 -0
- package/lib/api-schemas/group.js.map +1 -0
- package/lib/api-schemas/index.d.ts +36 -0
- package/lib/api-schemas/index.d.ts.map +1 -0
- package/lib/api-schemas/index.js +36 -0
- package/lib/api-schemas/index.js.map +1 -0
- package/lib/api-schemas/indexing.d.ts +144 -0
- package/lib/api-schemas/indexing.d.ts.map +1 -0
- package/lib/api-schemas/indexing.js +217 -0
- package/lib/api-schemas/indexing.js.map +1 -0
- package/lib/api-schemas/integrations.d.ts +269 -0
- package/lib/api-schemas/integrations.d.ts.map +1 -0
- package/lib/api-schemas/integrations.js +335 -0
- package/lib/api-schemas/integrations.js.map +1 -0
- package/lib/api-schemas/interaction.d.ts +22456 -0
- package/lib/api-schemas/interaction.d.ts.map +1 -0
- package/lib/api-schemas/interaction.js +2071 -0
- package/lib/api-schemas/interaction.js.map +1 -0
- package/lib/api-schemas/invites.d.ts +162 -0
- package/lib/api-schemas/invites.d.ts.map +1 -0
- package/lib/api-schemas/invites.js +106 -0
- package/lib/api-schemas/invites.js.map +1 -0
- package/lib/api-schemas/oauth-server.d.ts +415 -0
- package/lib/api-schemas/oauth-server.d.ts.map +1 -0
- package/lib/api-schemas/oauth-server.js +193 -0
- package/lib/api-schemas/oauth-server.js.map +1 -0
- package/lib/api-schemas/oauth.d.ts +150 -0
- package/lib/api-schemas/oauth.d.ts.map +1 -0
- package/lib/api-schemas/oauth.js +148 -0
- package/lib/api-schemas/oauth.js.map +1 -0
- package/lib/api-schemas/parameters.d.ts +64 -0
- package/lib/api-schemas/parameters.d.ts.map +1 -0
- package/lib/api-schemas/parameters.js +246 -0
- package/lib/api-schemas/parameters.js.map +1 -0
- package/lib/api-schemas/process.d.ts +499 -0
- package/lib/api-schemas/process.d.ts.map +1 -0
- package/lib/api-schemas/process.js +817 -0
- package/lib/api-schemas/process.js.map +1 -0
- package/lib/api-schemas/project-configuration.d.ts +4900 -0
- package/lib/api-schemas/project-configuration.d.ts.map +1 -0
- package/lib/api-schemas/project-configuration.js +425 -0
- package/lib/api-schemas/project-configuration.js.map +1 -0
- package/lib/api-schemas/project.d.ts +7247 -0
- package/lib/api-schemas/project.d.ts.map +1 -0
- package/lib/api-schemas/project.js +185 -0
- package/lib/api-schemas/project.js.map +1 -0
- package/lib/api-schemas/prompt.d.ts +70 -0
- package/lib/api-schemas/prompt.d.ts.map +1 -0
- package/lib/api-schemas/prompt.js +77 -0
- package/lib/api-schemas/prompt.js.map +1 -0
- package/lib/api-schemas/quota.d.ts +90 -0
- package/lib/api-schemas/quota.d.ts.map +1 -0
- package/lib/api-schemas/quota.js +95 -0
- package/lib/api-schemas/quota.js.map +1 -0
- package/lib/api-schemas/registry.d.ts +98506 -0
- package/lib/api-schemas/registry.d.ts.map +1 -0
- package/lib/api-schemas/registry.js +2606 -0
- package/lib/api-schemas/registry.js.map +1 -0
- package/lib/api-schemas/schema-primitives.d.ts +5 -0
- package/lib/api-schemas/schema-primitives.d.ts.map +1 -0
- package/lib/api-schemas/schema-primitives.js +11 -0
- package/lib/api-schemas/schema-primitives.js.map +1 -0
- package/lib/api-schemas/secrets.d.ts +497 -0
- package/lib/api-schemas/secrets.d.ts.map +1 -0
- package/lib/api-schemas/secrets.js +298 -0
- package/lib/api-schemas/secrets.js.map +1 -0
- package/lib/api-schemas/store.d.ts +22140 -0
- package/lib/api-schemas/store.d.ts.map +1 -0
- package/lib/api-schemas/store.js +557 -0
- package/lib/api-schemas/store.js.map +1 -0
- package/lib/api-schemas/sts.d.ts +166 -0
- package/lib/api-schemas/sts.d.ts.map +1 -0
- package/lib/api-schemas/sts.js +107 -0
- package/lib/api-schemas/sts.js.map +1 -0
- package/lib/api-schemas/task.d.ts +215 -0
- package/lib/api-schemas/task.d.ts.map +1 -0
- package/lib/api-schemas/task.js +95 -0
- package/lib/api-schemas/task.js.map +1 -0
- package/lib/api-schemas/tools.d.ts +111 -0
- package/lib/api-schemas/tools.d.ts.map +1 -0
- package/lib/api-schemas/tools.js +122 -0
- package/lib/api-schemas/tools.js.map +1 -0
- package/lib/api-schemas/user.d.ts +208 -0
- package/lib/api-schemas/user.d.ts.map +1 -0
- package/lib/api-schemas/user.js +180 -0
- package/lib/api-schemas/user.js.map +1 -0
- package/lib/api-schemas/view-execution.d.ts +3163 -0
- package/lib/api-schemas/view-execution.d.ts.map +1 -0
- package/lib/api-schemas/view-execution.js +172 -0
- package/lib/api-schemas/view-execution.js.map +1 -0
- package/lib/api-schemas/views.d.ts +5990 -0
- package/lib/api-schemas/views.d.ts.map +1 -0
- package/lib/api-schemas/views.js +396 -0
- package/lib/api-schemas/views.js.map +1 -0
- package/lib/api-schemas/workflow-runs.d.ts +2210 -0
- package/lib/api-schemas/workflow-runs.d.ts.map +1 -0
- package/lib/api-schemas/workflow-runs.js +589 -0
- package/lib/api-schemas/workflow-runs.js.map +1 -0
- package/lib/apikey-values.d.ts +10 -0
- package/lib/apikey-values.d.ts.map +1 -0
- package/lib/apikey-values.js +11 -0
- package/lib/apikey-values.js.map +1 -0
- package/lib/apikey.d.ts +37 -36
- package/lib/apikey.d.ts.map +1 -1
- package/lib/apikey.js +5 -4
- package/lib/apikey.js.map +1 -1
- package/lib/apps.d.ts +142 -1172
- package/lib/apps.d.ts.map +1 -1
- package/lib/apps.js +4 -0
- package/lib/apps.js.map +1 -1
- package/lib/ask-user.d.ts +8 -1
- package/lib/ask-user.d.ts.map +1 -1
- package/lib/audit-trail.d.ts +20 -131
- package/lib/audit-trail.d.ts.map +1 -1
- package/lib/audit-trail.js.map +1 -1
- package/lib/browser-credentials.d.ts +11 -106
- package/lib/browser-credentials.d.ts.map +1 -1
- package/lib/common.d.ts +59 -81
- package/lib/common.d.ts.map +1 -1
- package/lib/cost-analytics.d.ts +14 -167
- package/lib/cost-analytics.d.ts.map +1 -1
- package/lib/cost-analytics.js.map +1 -1
- package/lib/data-platform.d.ts +122 -786
- package/lib/data-platform.d.ts.map +1 -1
- package/lib/data-platform.js +41 -61
- package/lib/data-platform.js.map +1 -1
- package/lib/email.d.ts +5 -17
- package/lib/email.d.ts.map +1 -1
- package/lib/email.js +0 -3
- package/lib/email.js.map +1 -1
- package/lib/embeddings.d.ts +14 -56
- package/lib/embeddings.d.ts.map +1 -1
- package/lib/environment.d.ts +22 -118
- package/lib/environment.d.ts.map +1 -1
- package/lib/environment.js +3 -0
- package/lib/environment.js.map +1 -1
- package/lib/facets.d.ts +4 -7
- package/lib/facets.d.ts.map +1 -1
- package/lib/group.d.ts +33 -39
- package/lib/group.d.ts.map +1 -1
- package/lib/group.js +0 -1
- package/lib/group.js.map +1 -1
- package/lib/index.d.ts +8 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/integrations.d.ts +20 -108
- package/lib/integrations.d.ts.map +1 -1
- package/lib/integrations.js.map +1 -1
- package/lib/interaction-values.d.ts +11 -0
- package/lib/interaction-values.d.ts.map +1 -0
- package/lib/interaction-values.js +24 -0
- package/lib/interaction-values.js.map +1 -0
- package/lib/interaction.d.ts +88 -778
- package/lib/interaction.d.ts.map +1 -1
- package/lib/interaction.js +8 -12
- package/lib/interaction.js.map +1 -1
- package/lib/meters.d.ts +11 -7
- package/lib/meters.d.ts.map +1 -1
- package/lib/meters.js.map +1 -1
- package/lib/oauth-server.d.ts +33 -119
- package/lib/oauth-server.d.ts.map +1 -1
- package/lib/oauth.d.ts +14 -96
- package/lib/oauth.d.ts.map +1 -1
- package/lib/oauth.js +0 -4
- package/lib/oauth.js.map +1 -1
- package/lib/payload.d.ts +15 -38
- package/lib/payload.d.ts.map +1 -1
- package/lib/platform-event-validation.d.ts.map +1 -1
- package/lib/platform-event-validation.js +15 -2
- package/lib/platform-event-validation.js.map +1 -1
- package/lib/platform-event.d.ts +79 -464
- package/lib/platform-event.d.ts.map +1 -1
- package/lib/platform-event.js.map +1 -1
- package/lib/principal-context.d.ts +10 -15
- package/lib/principal-context.d.ts.map +1 -1
- package/lib/project-values.d.ts +24 -0
- package/lib/project-values.d.ts.map +1 -0
- package/lib/project-values.js +42 -0
- package/lib/project-values.js.map +1 -0
- package/lib/project.d.ts +56 -504
- package/lib/project.d.ts.map +1 -1
- package/lib/project.js +6 -76
- package/lib/project.js.map +1 -1
- package/lib/prompt.d.ts +20 -51
- package/lib/prompt.d.ts.map +1 -1
- package/lib/prompt.js.map +1 -1
- package/lib/query.d.ts +27 -88
- package/lib/query.d.ts.map +1 -1
- package/lib/rate-limiter.d.ts +19 -70
- package/lib/rate-limiter.d.ts.map +1 -1
- package/lib/rate-limiter.js +0 -3
- package/lib/rate-limiter.js.map +1 -1
- package/lib/refs.d.ts +3 -11
- package/lib/refs.d.ts.map +1 -1
- package/lib/refs.js.map +1 -1
- package/lib/roles/types.d.ts +14 -20
- package/lib/roles/types.d.ts.map +1 -1
- package/lib/roles/types.js +5 -9
- package/lib/roles/types.js.map +1 -1
- package/lib/runs.d.ts +6 -25
- package/lib/runs.d.ts.map +1 -1
- package/lib/schema-for-extraction.js.map +1 -1
- package/lib/secrets.d.ts +20 -105
- package/lib/secrets.d.ts.map +1 -1
- package/lib/store/agent-approval.d.ts +6 -15
- package/lib/store/agent-approval.d.ts.map +1 -1
- package/lib/store/agent-approval.js.map +1 -1
- package/lib/store/agent-run.d.ts +57 -358
- package/lib/store/agent-run.d.ts.map +1 -1
- package/lib/store/collections.d.ts +11 -63
- package/lib/store/collections.d.ts.map +1 -1
- package/lib/store/collections.js.map +1 -1
- package/lib/store/conversation-state.d.ts +61 -61
- package/lib/store/conversation-state.d.ts.map +1 -1
- package/lib/store/conversation-state.js +2 -0
- package/lib/store/conversation-state.js.map +1 -1
- package/lib/store/doc-analyzer.d.ts +9 -32
- package/lib/store/doc-analyzer.d.ts.map +1 -1
- package/lib/store/dsl-workflow.d.ts +37 -151
- package/lib/store/dsl-workflow.d.ts.map +1 -1
- package/lib/store/dsl-workflow.js.map +1 -1
- package/lib/store/editing-policy-schema.generated.d.ts +3 -0
- package/lib/store/editing-policy-schema.generated.d.ts.map +1 -0
- package/lib/store/editing-policy-schema.generated.js +28 -0
- package/lib/store/editing-policy-schema.generated.js.map +1 -0
- package/lib/store/grounded-extraction.d.ts +7 -104
- package/lib/store/grounded-extraction.d.ts.map +1 -1
- package/lib/store/grounded-extraction.js.map +1 -1
- package/lib/store/index.d.ts +2 -0
- package/lib/store/index.d.ts.map +1 -1
- package/lib/store/index.js +3 -0
- package/lib/store/index.js.map +1 -1
- package/lib/store/intake-policy-schema.generated.d.ts +3 -0
- package/lib/store/intake-policy-schema.generated.d.ts.map +1 -0
- package/lib/store/intake-policy-schema.generated.js +1425 -0
- package/lib/store/intake-policy-schema.generated.js.map +1 -0
- package/lib/store/process-schema.d.ts +81 -1
- package/lib/store/process-schema.d.ts.map +1 -1
- package/lib/store/process-schema.js +79 -0
- package/lib/store/process-schema.js.map +1 -1
- package/lib/store/process-validation.d.ts.map +1 -1
- package/lib/store/process-validation.js +70 -2
- package/lib/store/process-validation.js.map +1 -1
- package/lib/store/process.d.ts +36 -125
- package/lib/store/process.d.ts.map +1 -1
- package/lib/store/process.js.map +1 -1
- package/lib/store/rendering.d.ts +9 -64
- package/lib/store/rendering.d.ts.map +1 -1
- package/lib/store/rendering.js.map +1 -1
- package/lib/store/schedule.d.ts +6 -6
- package/lib/store/schedule.d.ts.map +1 -1
- package/lib/store/store.d.ts +99 -701
- package/lib/store/store.d.ts.map +1 -1
- package/lib/store/store.js +4 -456
- package/lib/store/store.js.map +1 -1
- package/lib/store/task.d.ts +15 -59
- package/lib/store/task.d.ts.map +1 -1
- package/lib/store/task.js +0 -3
- package/lib/store/task.js.map +1 -1
- package/lib/store/workflow.d.ts +58 -516
- package/lib/store/workflow.d.ts.map +1 -1
- package/lib/store/workflow.js +31 -11
- package/lib/store/workflow.js.map +1 -1
- package/lib/sts-errors.d.ts +7 -0
- package/lib/sts-errors.d.ts.map +1 -0
- package/lib/sts-errors.js +11 -0
- package/lib/sts-errors.js.map +1 -0
- package/lib/sts-token-types.d.ts +13 -66
- package/lib/sts-token-types.d.ts.map +1 -1
- package/lib/sts-token-types.js.map +1 -1
- package/lib/tools.d.ts +8 -100
- package/lib/tools.d.ts.map +1 -1
- package/lib/transient-tokens-values.d.ts +11 -0
- package/lib/transient-tokens-values.d.ts.map +1 -0
- package/lib/transient-tokens-values.js +12 -0
- package/lib/transient-tokens-values.js.map +1 -0
- package/lib/transient-tokens.d.ts +15 -13
- package/lib/transient-tokens.d.ts.map +1 -1
- package/lib/transient-tokens.js +5 -5
- package/lib/transient-tokens.js.map +1 -1
- package/lib/user.d.ts +55 -156
- package/lib/user.d.ts.map +1 -1
- package/lib/user.js +2 -79
- package/lib/user.js.map +1 -1
- package/lib/versions.d.ts +34 -1
- package/lib/versions.d.ts.map +1 -1
- package/lib/versions.js +33 -0
- package/lib/versions.js.map +1 -1
- package/lib/vertesia-common.js +6 -2
- package/lib/vertesia-common.js.map +1 -1
- package/lib/view-configuration-validation.js.map +1 -1
- package/lib/view-query-validation.js.map +1 -1
- package/lib/view-validation-helpers.d.ts +1 -1
- package/lib/view-validation-helpers.d.ts.map +1 -1
- package/lib/views-schema.d.ts +51 -51
- package/lib/views-schema.d.ts.map +1 -1
- package/lib/views-validation.js.map +1 -1
- package/lib/views.d.ts +58 -314
- package/lib/views.d.ts.map +1 -1
- package/lib/views.js.map +1 -1
- package/lib/workflow-analytics.d.ts +10 -3
- package/lib/workflow-analytics.d.ts.map +1 -1
- package/package.json +14 -5
- package/src/access-control-values.ts +113 -0
- package/src/access-control.ts +33 -138
- package/src/account-values.ts +95 -0
- package/src/analytics.ts +18 -42
- package/src/api-schemas/access-control.contract.test.ts +209 -0
- package/src/api-schemas/access-control.ts +208 -0
- package/src/api-schemas/account.contract.test.ts +318 -0
- package/src/api-schemas/account.ts +150 -0
- package/src/api-schemas/adapter-edge-cases.test.ts +480 -0
- package/src/api-schemas/adapter.ts +778 -0
- package/src/api-schemas/agent-runs.ts +1091 -0
- package/src/api-schemas/analytics.ts +65 -0
- package/src/api-schemas/apikey.contract.test.ts +270 -0
- package/src/api-schemas/apikey.ts +199 -0
- package/src/api-schemas/app-delete-summary.contract.test.ts +67 -0
- package/src/api-schemas/app-lifecycle.ts +900 -0
- package/src/api-schemas/app-runtime.ts +1022 -0
- package/src/api-schemas/apps.ts +484 -0
- package/src/api-schemas/audit-trail.ts +243 -0
- package/src/api-schemas/bulk-operation.contract.test.ts +39 -0
- package/src/api-schemas/bulk-operation.ts +75 -0
- package/src/api-schemas/bundle-isolation.test.ts +80 -0
- package/src/api-schemas/commands.contract.test.ts +51 -0
- package/src/api-schemas/commands.ts +62 -0
- package/src/api-schemas/content.ts +952 -0
- package/src/api-schemas/cost-analytics.contract.test.ts +64 -0
- package/src/api-schemas/cost-analytics.ts +235 -0
- package/src/api-schemas/dashboard.contract.test.ts +127 -0
- package/src/api-schemas/dashboard.ts +351 -0
- package/src/api-schemas/data-store.contract.test.ts +91 -0
- package/src/api-schemas/data-store.ts +571 -0
- package/src/api-schemas/document-processing.contract.test.ts +76 -0
- package/src/api-schemas/document-processing.ts +344 -0
- package/src/api-schemas/embeddings.ts +113 -0
- package/src/api-schemas/environment.contract.test.ts +184 -0
- package/src/api-schemas/environment.ts +190 -0
- package/src/api-schemas/events.ts +981 -0
- package/src/api-schemas/files.ts +159 -0
- package/src/api-schemas/group.contract.test.ts +205 -0
- package/src/api-schemas/group.ts +155 -0
- package/src/api-schemas/index.ts +35 -0
- package/src/api-schemas/indexing.contract.test.ts +83 -0
- package/src/api-schemas/indexing.ts +234 -0
- package/src/api-schemas/integrations.ts +369 -0
- package/src/api-schemas/interaction.contract.test.ts +27 -0
- package/src/api-schemas/interaction.ts +2364 -0
- package/src/api-schemas/invites.contract.test.ts +268 -0
- package/src/api-schemas/invites.ts +127 -0
- package/src/api-schemas/llumiverse.contract.test.ts +108 -0
- package/src/api-schemas/mcp-api-key.contract.test.ts +86 -0
- package/src/api-schemas/oauth-server.ts +219 -0
- package/src/api-schemas/oauth.contract.test.ts +118 -0
- package/src/api-schemas/oauth.ts +166 -0
- package/src/api-schemas/parameters.test.ts +402 -0
- package/src/api-schemas/parameters.ts +310 -0
- package/src/api-schemas/process.ts +929 -0
- package/src/api-schemas/project-configuration.ts +478 -0
- package/src/api-schemas/project.contract.test.ts +365 -0
- package/src/api-schemas/project.ts +214 -0
- package/src/api-schemas/prompt.ts +88 -0
- package/src/api-schemas/pruning-limits.test.ts +189 -0
- package/src/api-schemas/quota.contract.test.ts +147 -0
- package/src/api-schemas/quota.ts +122 -0
- package/src/api-schemas/registry-groups.test.ts +91 -0
- package/src/api-schemas/registry.ts +3512 -0
- package/src/api-schemas/response-pruning.test.ts +260 -0
- package/src/api-schemas/schema-primitives.ts +12 -0
- package/src/api-schemas/secrets.ts +332 -0
- package/src/api-schemas/store.contract.test.ts +471 -0
- package/src/api-schemas/store.ts +604 -0
- package/src/api-schemas/sts.contract.test.ts +112 -0
- package/src/api-schemas/sts.ts +123 -0
- package/src/api-schemas/task.ts +104 -0
- package/src/api-schemas/tools.ts +140 -0
- package/src/api-schemas/user.contract.test.ts +191 -0
- package/src/api-schemas/user.ts +204 -0
- package/src/api-schemas/view-execution.ts +200 -0
- package/src/api-schemas/views.ts +437 -0
- package/src/api-schemas/workflow-runs.ts +653 -0
- package/src/apikey-values.ts +10 -0
- package/src/apikey.ts +49 -40
- package/src/apps.test.ts +82 -0
- package/src/apps.ts +283 -1228
- package/src/ask-user.ts +9 -1
- package/src/audit-trail.ts +45 -137
- package/src/browser-credentials.ts +21 -106
- package/src/common.ts +67 -78
- package/src/cost-analytics.ts +37 -176
- package/src/data-platform.ts +205 -776
- package/src/email.ts +5 -17
- package/src/embeddings.ts +22 -60
- package/src/environment.ts +52 -126
- package/src/facets.ts +4 -7
- package/src/group.ts +38 -42
- package/src/index.ts +12 -0
- package/src/integrations.ts +39 -129
- package/src/interaction-values.ts +23 -0
- package/src/interaction.ts +162 -902
- package/src/meters.ts +11 -7
- package/src/oauth-server.ts +58 -127
- package/src/oauth.ts +24 -108
- package/src/payload.ts +25 -40
- package/src/platform-event-validation.test.ts +26 -0
- package/src/platform-event-validation.ts +15 -2
- package/src/platform-event.ts +141 -484
- package/src/principal-context.ts +11 -15
- package/src/project-values.ts +41 -0
- package/src/project.ts +116 -588
- package/src/prompt.ts +34 -61
- package/src/query.ts +34 -93
- package/src/rate-limiter.ts +27 -75
- package/src/refs.ts +4 -11
- package/src/roles/types.ts +20 -20
- package/src/runs.ts +11 -24
- package/src/secrets.ts +38 -117
- package/src/store/agent-approval.ts +9 -14
- package/src/store/agent-run.ts +93 -450
- package/src/store/collections.ts +21 -63
- package/src/store/content-type-editing.test.ts +1 -1
- package/src/store/conversation-state.ts +75 -64
- package/src/store/doc-analyzer.ts +17 -33
- package/src/store/dsl-workflow.ts +62 -158
- package/src/store/editing-policy-schema.generated.ts +30 -0
- package/src/store/grounded-extraction.ts +13 -104
- package/src/store/index.ts +3 -0
- package/src/store/intake-policy-schema.generated.ts +1442 -0
- package/src/store/process-schema.test.ts +43 -0
- package/src/store/process-schema.ts +79 -0
- package/src/store/process-validation.test.ts +141 -0
- package/src/store/process-validation.ts +82 -2
- package/src/store/process.ts +70 -146
- package/src/store/rendering.ts +15 -64
- package/src/store/store.ts +197 -1204
- package/src/store/task.ts +25 -59
- package/src/store/workflow.ts +103 -554
- package/src/sts-errors.ts +13 -0
- package/src/sts-token-types.ts +26 -75
- package/src/tools.ts +18 -97
- package/src/transient-tokens-values.ts +11 -0
- package/src/transient-tokens.ts +16 -13
- package/src/user.ts +75 -215
- package/src/versions.test.ts +13 -0
- package/src/versions.ts +36 -0
- package/src/views-schema.test.ts +9 -1
- package/src/views.ts +106 -329
- package/src/workflow-analytics.ts +10 -3
package/src/apps.ts
CHANGED
|
@@ -1,17 +1,136 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { AppDashboardDefinition } from './data-platform.js';
|
|
3
|
-
import type { CatalogInteractionRef } from './interaction.js';
|
|
1
|
+
import type { z } from 'zod';
|
|
4
2
|
import type {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
3
|
+
AgentToolApprovalClassSchema,
|
|
4
|
+
AgentToolDefinitionSchema,
|
|
5
|
+
AppApiKeyCollectionParamsSchema,
|
|
6
|
+
AppBuildProgressSchema,
|
|
7
|
+
AppBuildProgressStatusSchema,
|
|
8
|
+
AppBuildTriggerSchema,
|
|
9
|
+
AppDeleteSummarySchema,
|
|
10
|
+
AppDevelopmentTaskDetailsSchema,
|
|
11
|
+
AppDevelopmentTaskListSchema,
|
|
12
|
+
AppDevelopmentTaskSchema,
|
|
13
|
+
AppInspectionCapabilityReportSchema,
|
|
14
|
+
AppInspectionIssueSchema,
|
|
15
|
+
AppInspectionResultSchema,
|
|
16
|
+
AppInstallationKindSchema,
|
|
17
|
+
AppInstallationOAuthBindingSchema,
|
|
18
|
+
AppInstallationPayloadSchema,
|
|
19
|
+
AppInstallationProjectsQuerySchema,
|
|
20
|
+
AppInstallationProviderBindingSchema,
|
|
21
|
+
AppInstallationsQuerySchema,
|
|
22
|
+
AppOAuthCollectionParamsSchema,
|
|
23
|
+
AppOAuthProviderParamsSchema,
|
|
24
|
+
AppRepoBranchSchema,
|
|
25
|
+
AppRepoCommitSchema,
|
|
26
|
+
AppRepoCommitsSchema,
|
|
27
|
+
AppRepoDocumentCommitSchema,
|
|
28
|
+
AppRepoRefSchema,
|
|
29
|
+
AppRepoRefsSchema,
|
|
30
|
+
AppRepoTreeEntrySchema,
|
|
31
|
+
AppRepoTreeSchema,
|
|
32
|
+
AppScaffoldModuleSchema,
|
|
33
|
+
AppScaffoldProgressSchema,
|
|
34
|
+
AppScaffoldProgressStatusSchema,
|
|
35
|
+
AppToolCollectionSchema,
|
|
36
|
+
AppVersionGitRefTypeSchema,
|
|
37
|
+
AppVersionGitSourceSchema,
|
|
38
|
+
AppVersionKindSchema,
|
|
39
|
+
AppVersionRecordSchema,
|
|
40
|
+
AppVersionStateSchema,
|
|
41
|
+
AppVersionStorageSchema,
|
|
42
|
+
AppVersionTargetSchema,
|
|
43
|
+
AppVersionUrlsSchema,
|
|
44
|
+
DeleteAppVersionResponseSchema,
|
|
45
|
+
McpApiKeyCredentialSchema,
|
|
46
|
+
OAuthClientCredentialsSchema,
|
|
47
|
+
StartAppBuildRequestSchema,
|
|
48
|
+
StartAppBuildResponseSchema,
|
|
49
|
+
StartAppScaffoldRequestSchema,
|
|
50
|
+
StartAppScaffoldResponseSchema,
|
|
51
|
+
UpdateAppInstallationToolAllowlistPayloadSchema,
|
|
52
|
+
UpsertAppVersionRequestSchema,
|
|
53
|
+
ValidateUrlRequestSchema,
|
|
54
|
+
ValidateUrlResponseSchema,
|
|
55
|
+
} from './api-schemas/app-lifecycle.js';
|
|
56
|
+
import type {
|
|
57
|
+
AppEventHookDeliverySchema,
|
|
58
|
+
AppEventHookPayloadSchema,
|
|
59
|
+
AppEventSubscriptionDefinitionSchema,
|
|
60
|
+
AppInstallationListEntrySchema,
|
|
61
|
+
AppInstallationSchema,
|
|
62
|
+
AppInstallationWithManifestSchema,
|
|
63
|
+
AppManifestDataSchema,
|
|
64
|
+
AppManifestSchema,
|
|
65
|
+
AppPackageEventHookSchema,
|
|
66
|
+
AppPackageHooksSchema,
|
|
67
|
+
AppPackageSchema,
|
|
68
|
+
AppWidgetInfoSchema,
|
|
69
|
+
CompositeAppCardOverridesSchema,
|
|
70
|
+
CompositeAppConfigPayloadSchema,
|
|
71
|
+
CompositeAppConfigSchema,
|
|
72
|
+
CompositeAppEntrySchema,
|
|
73
|
+
CompositeAppHeaderItemKindSchema,
|
|
74
|
+
CompositeAppHeaderItemSchema,
|
|
75
|
+
CompositeAppHeaderItemTargetSchema,
|
|
76
|
+
CompositeAppHeaderOverridesSchema,
|
|
77
|
+
CompositeAppHomePluginSchema,
|
|
78
|
+
CompositeAppLogoOverridesSchema,
|
|
79
|
+
CompositeAppMenuSectionSchema,
|
|
80
|
+
CompositeAppMessageOverridesSchema,
|
|
81
|
+
CompositeAppMessageStyleSchema,
|
|
82
|
+
CompositeAppNavItemPermissionsSchema,
|
|
83
|
+
CompositeAppSidebarOverridesSchema,
|
|
84
|
+
CompositeAppSwitchersOverridesSchema,
|
|
85
|
+
CompositeAppThemeOverridesSchema,
|
|
86
|
+
CompositeAppUserMenuOverridesSchema,
|
|
87
|
+
PromoteAppVersionResponseSchema,
|
|
88
|
+
} from './api-schemas/app-runtime.js';
|
|
89
|
+
import type {
|
|
90
|
+
AppAccessControlSchema,
|
|
91
|
+
AppAvailableInSchema,
|
|
92
|
+
AppCapabilitiesSchema,
|
|
93
|
+
AppGitSourceConfigSchema,
|
|
94
|
+
AppManifestSourceSchema,
|
|
95
|
+
AppSourceConfigSchema,
|
|
96
|
+
AppUIConfigSchema,
|
|
97
|
+
MCPApiKeyConfigSchema,
|
|
98
|
+
MCPOAuthConfigSchema,
|
|
99
|
+
MCPToolAnnotationsSchema,
|
|
100
|
+
MCPToolCollectionObjectSchema,
|
|
101
|
+
McpApiKeyStatusSchema,
|
|
102
|
+
McpOAuthConnectResponseSchema,
|
|
103
|
+
McpOAuthDisconnectResponseSchema,
|
|
104
|
+
McpOAuthTokenRequestSchema,
|
|
105
|
+
McpOAuthTokenResponseSchema,
|
|
106
|
+
OAuthAuthorizeResponseSchema,
|
|
107
|
+
OAuthAuthStatusSchema,
|
|
108
|
+
OAuthMetadataResponseSchema,
|
|
109
|
+
SetMcpApiKeyRequestSchema,
|
|
110
|
+
ToolCollectionAuthTypeSchema,
|
|
111
|
+
ToolCollectionObjectSchema,
|
|
112
|
+
VertesiaSDKToolCollectionObjectSchema,
|
|
113
|
+
} from './api-schemas/apps.js';
|
|
114
|
+
import type { RemoteActivityDefinitionSchema } from './api-schemas/integrations.js';
|
|
115
|
+
import type {
|
|
116
|
+
ProjectToolInfoSchema,
|
|
117
|
+
RenderingTemplateDefinitionRefSchema,
|
|
118
|
+
RenderingTemplateDefinitionSchema,
|
|
119
|
+
} from './api-schemas/project.js';
|
|
11
120
|
|
|
12
121
|
/** Allowed values for AppUINavItem.preferredSection */
|
|
13
122
|
export const PREFERRED_SECTIONS = ['default', 'footer', 'settings'] as const;
|
|
14
123
|
|
|
124
|
+
// The app-manifest closure is declared once, as the Zod schemas in `./api-schemas/apps.ts`, and
|
|
125
|
+
// inferred below. The documentation moved with it: what a published component says about a field now
|
|
126
|
+
// comes from the schema's own `.meta({ description })` rather than from a TSDoc comment a generator
|
|
127
|
+
// had to interpret.
|
|
128
|
+
//
|
|
129
|
+
// This one type is the exception, and for the same reason `JSONSchema` is: it RECURSES. Zod 4 infers
|
|
130
|
+
// a recursive type from a getter, but the inference bottoms out at depth — `children` degrades to
|
|
131
|
+
// `Record<string, unknown>[]`, and the composite-app menu code that walks nested items stops
|
|
132
|
+
// compiling. So the named type stays hand-written and `z.ZodType<AppUINavItem>` on the schema is what
|
|
133
|
+
// keeps the two checked against each other. The runtime schema remains the OpenAPI and AJV authority.
|
|
15
134
|
/**
|
|
16
135
|
* Additional navigation item for an app's UI configuration.
|
|
17
136
|
* Used in AppUIConfig.navigation to define sidebar navigation entries in CompositeApp shell contexts.
|
|
@@ -39,204 +158,29 @@ export interface AppUINavItem {
|
|
|
39
158
|
preferredSection?: (typeof PREFERRED_SECTIONS)[number];
|
|
40
159
|
}
|
|
41
160
|
|
|
42
|
-
export
|
|
43
|
-
/**
|
|
44
|
-
* The source URL of the app. The src can be a template which contain
|
|
45
|
-
* a variable named `buildId` which will be replaced with the current build id.
|
|
46
|
-
* For example: `/plugins/vertesia-review-center-${buildId}`
|
|
47
|
-
*/
|
|
48
|
-
src: string;
|
|
49
|
-
/**
|
|
50
|
-
* The isolation strategy. If not specified it defaults to shadow.
|
|
51
|
-
* - shadow - use Shadow DOM to fully isolate the plugin from the host.
|
|
52
|
-
* - css - inject the plugin's styles (minus the preflight) into the host document;
|
|
53
|
-
* lighter but styles may conflict with the host.
|
|
54
|
-
*/
|
|
55
|
-
isolation?: 'shadow' | 'css';
|
|
56
|
-
/**
|
|
57
|
-
* When true the host modifies the app's css at load time to attempt to fix broken
|
|
58
|
-
* or missing styles. Only takes effect in css isolation mode. Defaults to false.
|
|
59
|
-
*/
|
|
60
|
-
css_rebuild?: boolean;
|
|
61
|
-
/**
|
|
62
|
-
* Navigation items for the app's sidebar UI.
|
|
63
|
-
* Only applicable for apps with UI capability in shell contexts (ie. CompositeApp shell).
|
|
64
|
-
*/
|
|
65
|
-
navigation?: AppUINavItem[];
|
|
66
|
-
/**
|
|
67
|
-
* Where this app's UI can be displayed.
|
|
68
|
-
* - 'app_portal': Available in the main app portal (standalone)
|
|
69
|
-
* - 'composite_app': Available within a CompositeApp shell
|
|
70
|
-
* Defaults to ['app_portal', 'composite_app'] for new apps.
|
|
71
|
-
*/
|
|
72
|
-
available_in?: AppAvailableIn[];
|
|
73
|
-
}
|
|
161
|
+
export type AppUIConfig = z.infer<typeof AppUIConfigSchema>;
|
|
74
162
|
|
|
75
|
-
export
|
|
76
|
-
name?: string;
|
|
77
|
-
id?: string;
|
|
78
|
-
}
|
|
163
|
+
export type AppInstallationProjectsQuery = z.infer<typeof AppInstallationProjectsQuerySchema>;
|
|
79
164
|
|
|
80
|
-
export
|
|
81
|
-
kind?: AppInstallationKind;
|
|
82
|
-
available_in?: AppAvailableIn;
|
|
83
|
-
}
|
|
165
|
+
export type AppInstallationsQuery = z.infer<typeof AppInstallationsQuerySchema>;
|
|
84
166
|
|
|
85
|
-
|
|
86
|
-
* Authentication type for tool collections
|
|
87
|
-
*/
|
|
88
|
-
export type ToolCollectionAuthType = 'oauth' | 'other';
|
|
167
|
+
export type ToolCollectionAuthType = z.infer<typeof ToolCollectionAuthTypeSchema>;
|
|
89
168
|
|
|
90
169
|
/**
|
|
91
170
|
* Tool collection type
|
|
92
171
|
*/
|
|
93
172
|
export type ToolCollectionType = 'mcp' | 'vertesia_sdk';
|
|
94
173
|
|
|
95
|
-
|
|
96
|
-
* Base tool collection configuration
|
|
97
|
-
*/
|
|
98
|
-
interface BaseToolCollectionObject {
|
|
99
|
-
/**
|
|
100
|
-
* The URL endpoint for the tool collection
|
|
101
|
-
*/
|
|
102
|
-
url: string;
|
|
103
|
-
|
|
104
|
-
/**
|
|
105
|
-
* Optional authentication type required for this tool collection
|
|
106
|
-
*/
|
|
107
|
-
auth?: ToolCollectionAuthType;
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
/**
|
|
111
|
-
* Install-time OAuth provisioning blueprint for an MCP collection.
|
|
112
|
-
* Defines how to auto-create an OAuth provider when the app is installed.
|
|
113
|
-
* Does NOT affect runtime behaviour — the runtime uses oauth_bindings on AppInstallation.
|
|
114
|
-
*/
|
|
115
|
-
export interface MCPOAuthConfig {
|
|
116
|
-
/**
|
|
117
|
-
* Name for the OAuth provider to create at install time.
|
|
118
|
-
* Defaults to the collection id converted to kebab-case if not specified.
|
|
119
|
-
*/
|
|
120
|
-
name?: string;
|
|
121
|
-
/** Human-readable display name for the created OAuth provider. */
|
|
122
|
-
display_name?: string;
|
|
123
|
-
grant_type?: 'authorization_code' | 'client_credentials';
|
|
124
|
-
authorization_endpoint?: string;
|
|
125
|
-
token_endpoint?: string;
|
|
126
|
-
revocation_endpoint?: string;
|
|
127
|
-
/**
|
|
128
|
-
* Pre-configured client_id.
|
|
129
|
-
* Omit if the installer must supply it (include 'client_id' in required_at_install).
|
|
130
|
-
*/
|
|
131
|
-
client_id?: string;
|
|
132
|
-
use_pkce?: boolean;
|
|
133
|
-
default_scopes?: string[];
|
|
134
|
-
/**
|
|
135
|
-
* Parameters the installer must provide at install time.
|
|
136
|
-
* These are shown as form fields in composable-ui before the install completes.
|
|
137
|
-
* - 'client_id': user supplies the OAuth client ID
|
|
138
|
-
* - 'client_secret': user supplies the OAuth client secret
|
|
139
|
-
*/
|
|
140
|
-
required_at_install?: Array<'client_id' | 'client_secret' | 'scopes'>;
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
/**
|
|
144
|
-
* MCP tool collection configuration (requires name, description, and namespace)
|
|
145
|
-
*/
|
|
146
|
-
export interface MCPToolCollectionObject extends BaseToolCollectionObject {
|
|
147
|
-
type: 'mcp';
|
|
148
|
-
|
|
149
|
-
/**
|
|
150
|
-
* Stable identifier for this collection.
|
|
151
|
-
* Used to key oauth_bindings on AppInstallation — protects against collection renames.
|
|
152
|
-
* Required for new manifests.
|
|
153
|
-
*/
|
|
154
|
-
id: string;
|
|
155
|
-
|
|
156
|
-
/**
|
|
157
|
-
* Name for the tool collection.
|
|
158
|
-
* Human-readable label for the collection.
|
|
159
|
-
* Used in UI.
|
|
160
|
-
*/
|
|
161
|
-
name: string;
|
|
162
|
-
|
|
163
|
-
/**
|
|
164
|
-
* Description for the tool collection.
|
|
165
|
-
* Helps users understand what tools this collection provides.
|
|
166
|
-
*/
|
|
167
|
-
description: string;
|
|
174
|
+
export type MCPOAuthConfig = z.infer<typeof MCPOAuthConfigSchema>;
|
|
168
175
|
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
* Provides clean, readable tool names (e.g., "jira" instead of "https://mcp.atlassian.com/v1/mcp")
|
|
172
|
-
*/
|
|
173
|
-
namespace: string;
|
|
174
|
-
|
|
175
|
-
/**
|
|
176
|
-
* Reference to an OAuth provider name for this collection (legacy / manual path).
|
|
177
|
-
* When set, uses the OAuth provider's config (endpoints, client_id, client_secret)
|
|
178
|
-
* instead of MCP dynamic client registration or random fallback.
|
|
179
|
-
* The referenced OAuth provider must exist in the same project.
|
|
180
|
-
*/
|
|
181
|
-
oauth_app?: string;
|
|
182
|
-
|
|
183
|
-
/**
|
|
184
|
-
* Install-time OAuth provisioning blueprint.
|
|
185
|
-
* When present, the platform auto-creates an OAuth provider at install time
|
|
186
|
-
* using these values merged with any user-supplied required_at_install params.
|
|
187
|
-
* The created app is recorded in AppInstallation.oauth_bindings.
|
|
188
|
-
* Mutually exclusive with oauth_provider.
|
|
189
|
-
*/
|
|
190
|
-
oauth_config?: MCPOAuthConfig;
|
|
191
|
-
|
|
192
|
-
/**
|
|
193
|
-
* Reference to a key in AppManifestData.oauth_providers.
|
|
194
|
-
* When set, this collection shares the named provider's OAuth provider configuration.
|
|
195
|
-
* Mutually exclusive with oauth_config and oauth_app.
|
|
196
|
-
* Requires auth: "oauth" to be set.
|
|
197
|
-
*/
|
|
198
|
-
oauth_provider?: string;
|
|
176
|
+
/** Install-time provisioning blueprint for an `auth: 'api_key'` MCP collection. Never holds the key. */
|
|
177
|
+
export type MCPApiKeyConfig = z.infer<typeof MCPApiKeyConfigSchema>;
|
|
199
178
|
|
|
200
|
-
|
|
201
|
-
* Additional OAuth scopes for this collection when using a shared oauth_provider.
|
|
202
|
-
* These are merged (union) with the provider's default_scopes at install time.
|
|
203
|
-
* Only valid when oauth_provider is set.
|
|
204
|
-
*/
|
|
205
|
-
oauth_scopes?: string[];
|
|
206
|
-
}
|
|
207
|
-
|
|
208
|
-
/**
|
|
209
|
-
* Vertesia SDK tool collection configuration
|
|
210
|
-
*/
|
|
211
|
-
export interface VertesiaSDKToolCollectionObject extends BaseToolCollectionObject {
|
|
212
|
-
type: 'vertesia_sdk';
|
|
213
|
-
|
|
214
|
-
/**
|
|
215
|
-
* Optional namespace to use for tool names from this collection.
|
|
216
|
-
* If not provided, the tool server default will be used.
|
|
217
|
-
*/
|
|
218
|
-
namespace?: string;
|
|
219
|
-
|
|
220
|
-
/**
|
|
221
|
-
* Optional name for the tool collection.
|
|
222
|
-
* If not provided, the tool server default will be used.
|
|
223
|
-
*/
|
|
224
|
-
name?: string;
|
|
179
|
+
export type MCPToolCollectionObject = z.infer<typeof MCPToolCollectionObjectSchema>;
|
|
225
180
|
|
|
226
|
-
|
|
227
|
-
* Optional description for the tool collection.
|
|
228
|
-
* If not provided, the tool server default will be used.
|
|
229
|
-
*/
|
|
230
|
-
description?: string;
|
|
231
|
-
}
|
|
181
|
+
export type VertesiaSDKToolCollectionObject = z.infer<typeof VertesiaSDKToolCollectionObjectSchema>;
|
|
232
182
|
|
|
233
|
-
|
|
234
|
-
* Tool collection configuration (object format)
|
|
235
|
-
*/
|
|
236
|
-
/**
|
|
237
|
-
* @discriminator type
|
|
238
|
-
*/
|
|
239
|
-
export type ToolCollectionObject = MCPToolCollectionObject | VertesiaSDKToolCollectionObject;
|
|
183
|
+
export type ToolCollectionObject = z.infer<typeof ToolCollectionObjectSchema>;
|
|
240
184
|
|
|
241
185
|
/**
|
|
242
186
|
* Backward-compatible TypeScript alias. Public API payloads should reference
|
|
@@ -302,18 +246,7 @@ export function normalizeToolCollection(collection: ToolCollectionObject, vars?:
|
|
|
302
246
|
/**
|
|
303
247
|
* Metadata hints from MCP tool annotations (per MCP spec).
|
|
304
248
|
*/
|
|
305
|
-
export
|
|
306
|
-
/** Human-readable display name for the tool */
|
|
307
|
-
title?: string;
|
|
308
|
-
/** If true, the tool does not modify any state */
|
|
309
|
-
readOnlyHint?: boolean;
|
|
310
|
-
/** If true, the tool may perform irreversible destructive operations */
|
|
311
|
-
destructiveHint?: boolean;
|
|
312
|
-
/** If true, calling the tool multiple times with the same args has no additional effect */
|
|
313
|
-
idempotentHint?: boolean;
|
|
314
|
-
/** If true, the tool interacts with external entities outside the local environment */
|
|
315
|
-
openWorldHint?: boolean;
|
|
316
|
-
}
|
|
249
|
+
export type MCPToolAnnotations = z.infer<typeof MCPToolAnnotationsSchema>;
|
|
317
250
|
|
|
318
251
|
/**
|
|
319
252
|
* Approval behavior class for a tool exposed to agents.
|
|
@@ -323,71 +256,19 @@ export interface MCPToolAnnotations {
|
|
|
323
256
|
* - `control`: affects agent control flow or tool availability, not user data or external systems.
|
|
324
257
|
* - `requires_confirmation`: high-impact action that must ask the user even in interactive full-control mode.
|
|
325
258
|
*/
|
|
326
|
-
export type AgentToolApprovalClass =
|
|
259
|
+
export type AgentToolApprovalClass = z.infer<typeof AgentToolApprovalClassSchema>;
|
|
327
260
|
|
|
328
261
|
/**
|
|
329
262
|
* Tool definition with optional activation control for agent exposure.
|
|
330
263
|
*/
|
|
331
|
-
export
|
|
332
|
-
/**
|
|
333
|
-
* The tool execution URL. It can be an absolute URL or a path in which case the URL is obtained
|
|
334
|
-
* using the base URL of the tool server API. Ex: http://tool-server.com/api/
|
|
335
|
-
* Example of relative URLs: "tools/my-tool-collection" or "/api/tools/my-tool-collection"
|
|
336
|
-
*/
|
|
337
|
-
url?: string;
|
|
338
|
-
/**
|
|
339
|
-
* The tool category if any - for UI purposes.
|
|
340
|
-
*/
|
|
341
|
-
category?: string;
|
|
342
|
-
/**
|
|
343
|
-
* Whether this tool is available by default.
|
|
344
|
-
* - true/undefined: Tool is always available to agents
|
|
345
|
-
* - false: Tool is only available when enabled by a skill via `tools`
|
|
346
|
-
*/
|
|
347
|
-
default?: boolean;
|
|
348
|
-
/**
|
|
349
|
-
* For skill tools (`learn_*`): the tool names this skill enables when called.
|
|
350
|
-
* Matches the `tools:` key used in SKILL.md frontmatter and built-in skill
|
|
351
|
-
* definitions — one name across the whole stack.
|
|
352
|
-
*/
|
|
353
|
-
tools?: string[];
|
|
354
|
-
/**
|
|
355
|
-
* MCP tool annotations providing hints about tool behavior and safety.
|
|
356
|
-
*/
|
|
357
|
-
annotations?: MCPToolAnnotations;
|
|
358
|
-
/**
|
|
359
|
-
* Approval classification used by interactive agent approval modes.
|
|
360
|
-
* Use `requires_confirmation` for actions that must prompt even in full-control mode.
|
|
361
|
-
*/
|
|
362
|
-
approval_class?: AgentToolApprovalClass;
|
|
363
|
-
}
|
|
264
|
+
export type AgentToolDefinition = z.infer<typeof AgentToolDefinitionSchema>;
|
|
364
265
|
|
|
365
266
|
/**
|
|
366
267
|
* Definition of a remote activity exposed by a tool server for use in DSL workflows.
|
|
367
268
|
* Remote activities are identified in workflow steps using colon-separated names:
|
|
368
269
|
* `app:<app_name>:<collection>:<activity_name>` (e.g. `app:my-nlp-app:examples:word_count`).
|
|
369
270
|
*/
|
|
370
|
-
export
|
|
371
|
-
/** Activity name (snake_case, unique within the collection) */
|
|
372
|
-
name: string;
|
|
373
|
-
/** Collection name this activity belongs to */
|
|
374
|
-
collection?: string;
|
|
375
|
-
/** Display title */
|
|
376
|
-
title?: string;
|
|
377
|
-
/** Description of what the activity does */
|
|
378
|
-
description?: string;
|
|
379
|
-
/** JSON Schema for the activity input parameters */
|
|
380
|
-
input_schema?: Record<string, unknown>;
|
|
381
|
-
/** JSON Schema for the activity output */
|
|
382
|
-
output_schema?: Record<string, unknown>;
|
|
383
|
-
/**
|
|
384
|
-
* The activity execution URL. Can be absolute or relative to the tool server base URL.
|
|
385
|
-
* If not provided, the collection-specific activities endpoint is used.
|
|
386
|
-
*/
|
|
387
|
-
url?: string;
|
|
388
|
-
/** Suggested timeout and retry configuration */
|
|
389
|
-
options?: DSLActivityOptions;
|
|
390
|
-
}
|
|
271
|
+
export type RemoteActivityDefinition = z.infer<typeof RemoteActivityDefinitionSchema>;
|
|
391
272
|
|
|
392
273
|
/**
|
|
393
274
|
* Canonical app capabilities Studio renders/supports. The public type is derived from
|
|
@@ -404,7 +285,7 @@ export const APP_CAPABILITIES = [
|
|
|
404
285
|
'dashboards',
|
|
405
286
|
] as const;
|
|
406
287
|
|
|
407
|
-
export type AppCapabilities =
|
|
288
|
+
export type AppCapabilities = z.infer<typeof AppCapabilitiesSchema>;
|
|
408
289
|
|
|
409
290
|
/**
|
|
410
291
|
* Header carrying the app version a generated-app UI is running, so studio/zeno resolve app-owned
|
|
@@ -429,6 +310,8 @@ export const APP_ARTIFACT_TYPES = [
|
|
|
429
310
|
'dashboard',
|
|
430
311
|
'activity',
|
|
431
312
|
'tool',
|
|
313
|
+
'hook',
|
|
314
|
+
'subscription',
|
|
432
315
|
] as const;
|
|
433
316
|
|
|
434
317
|
export type AppArtifactType = (typeof APP_ARTIFACT_TYPES)[number];
|
|
@@ -437,7 +320,7 @@ export type AppArtifactType = (typeof APP_ARTIFACT_TYPES)[number];
|
|
|
437
320
|
* A single platform artifact the App Solution Architect requires the build to create.
|
|
438
321
|
* `id` is the app-owned in-code id the implementation must register and reference
|
|
439
322
|
* (e.g. `app:<name>:main:extract-item` for interactions/agents, `app:<name>:<type>` for
|
|
440
|
-
* types, `app:<name>:<process>` for processes).
|
|
323
|
+
* types, `app:<name>:<process>` for processes, and `app:<name>:<local-id>` for hooks/subscriptions).
|
|
441
324
|
*/
|
|
442
325
|
/**
|
|
443
326
|
* Build progress for one artifact, maintained by the developer agent as a living checklist:
|
|
@@ -470,10 +353,10 @@ export interface AppPlannedArtifact {
|
|
|
470
353
|
|
|
471
354
|
/**
|
|
472
355
|
* Structured result the App Solution Architect emits alongside its prose artifacts — the
|
|
473
|
-
* machine-readable contract for the build. The implementation MUST
|
|
474
|
-
*
|
|
475
|
-
* {@link APP_CAPABILITY_MANIFEST_PATH} so it survives
|
|
476
|
-
*
|
|
356
|
+
* machine-readable contract for the build. The implementation MUST register every required artifact
|
|
357
|
+
* before building a candidate, then successfully exercise it after that candidate is installed and
|
|
358
|
+
* version-pinned. Persisted into the app repo as {@link APP_CAPABILITY_MANIFEST_PATH} so it survives
|
|
359
|
+
* across runs and the package-registration gate can verify it deterministically. If the builder finds the plan
|
|
477
360
|
* wrong or insufficient, the orchestrator relaunches the architect to revise the manifest;
|
|
478
361
|
* the gate always checks against the latest committed copy.
|
|
479
362
|
*/
|
|
@@ -499,132 +382,25 @@ export interface AppCapabilityManifest {
|
|
|
499
382
|
|
|
500
383
|
/** Repo-relative path the capability manifest is committed to, read by version-build gates. */
|
|
501
384
|
export const APP_CAPABILITY_MANIFEST_PATH = 'docs/app-capability-manifest.json';
|
|
502
|
-
export type AppAvailableIn =
|
|
503
|
-
|
|
504
|
-
export type AppVersionKind = 'design' | 'version';
|
|
505
|
-
export type AppVersionState = 'ready' | 'failed' | 'expired';
|
|
506
|
-
export type AppVersionTarget = 'static' | 'service';
|
|
507
|
-
export type AppVersionGitRefType = 'branch' | 'tag' | 'commit' | 'detached';
|
|
508
|
-
export type AppBuildTrigger = 'ui' | 'git_push' | 'agent' | 'api';
|
|
509
|
-
|
|
510
|
-
export interface AppVersionStorage {
|
|
511
|
-
tenant_id?: string;
|
|
512
|
-
app_prefix?: string;
|
|
513
|
-
artifacts_prefix?: string;
|
|
514
|
-
source_archive?: string;
|
|
515
|
-
source_git?: AppVersionGitSource;
|
|
516
|
-
build_prefix?: string;
|
|
517
|
-
manifest_path?: string;
|
|
518
|
-
service_archive?: string;
|
|
519
|
-
live_metadata_path?: string;
|
|
520
|
-
}
|
|
385
|
+
export type AppAvailableIn = z.infer<typeof AppAvailableInSchema>;
|
|
521
386
|
|
|
522
|
-
export
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
* app versions use the exact commit SHA rather than a mutable branch or tag.
|
|
528
|
-
*/
|
|
529
|
-
ref?: string;
|
|
530
|
-
ref_type?: AppVersionGitRefType;
|
|
531
|
-
branch?: string;
|
|
532
|
-
tag?: string;
|
|
533
|
-
commit?: string;
|
|
534
|
-
dirty?: boolean;
|
|
535
|
-
pushed?: boolean;
|
|
536
|
-
push_warning?: string;
|
|
537
|
-
}
|
|
387
|
+
export type AppVersionKind = z.infer<typeof AppVersionKindSchema>;
|
|
388
|
+
export type AppVersionState = z.infer<typeof AppVersionStateSchema>;
|
|
389
|
+
export type AppVersionTarget = z.infer<typeof AppVersionTargetSchema>;
|
|
390
|
+
export type AppVersionGitRefType = z.infer<typeof AppVersionGitRefTypeSchema>;
|
|
391
|
+
export type AppBuildTrigger = z.infer<typeof AppBuildTriggerSchema>;
|
|
538
392
|
|
|
539
|
-
export
|
|
540
|
-
live_url?: string;
|
|
541
|
-
app_url?: string;
|
|
542
|
-
plugin_url?: string;
|
|
543
|
-
package_url?: string;
|
|
544
|
-
internal_preview_url?: string;
|
|
545
|
-
}
|
|
393
|
+
export type AppVersionStorage = z.infer<typeof AppVersionStorageSchema>;
|
|
546
394
|
|
|
547
|
-
export
|
|
548
|
-
id: string;
|
|
549
|
-
account: string;
|
|
550
|
-
project: string;
|
|
551
|
-
app?: string;
|
|
552
|
-
app_id: string;
|
|
553
|
-
app_name: string;
|
|
554
|
-
version_id: string;
|
|
555
|
-
kind: AppVersionKind;
|
|
556
|
-
state: AppVersionState;
|
|
557
|
-
promoted?: boolean;
|
|
558
|
-
target?: AppVersionTarget;
|
|
559
|
-
agent_run_id?: string;
|
|
560
|
-
/** Development task that produced this version, when built by the app assistant. */
|
|
561
|
-
development_task_id?: string;
|
|
562
|
-
/** Temporal workflow that produced this version. */
|
|
563
|
-
build_workflow_id?: string;
|
|
564
|
-
/** Temporal run that produced this version. */
|
|
565
|
-
build_workflow_run_id?: string;
|
|
566
|
-
sandbox_id?: string;
|
|
567
|
-
title?: string;
|
|
568
|
-
description?: string;
|
|
569
|
-
storage?: AppVersionStorage;
|
|
570
|
-
/** Exact Git commit used to build this immutable version. */
|
|
571
|
-
source_commit?: string;
|
|
572
|
-
urls?: AppVersionUrls;
|
|
573
|
-
manifest?: Record<string, unknown>;
|
|
574
|
-
files?: string[];
|
|
575
|
-
file_count?: number;
|
|
576
|
-
source_file_count?: number;
|
|
577
|
-
screenshot_artifact?: string;
|
|
578
|
-
checks?: string[];
|
|
579
|
-
created_by?: string;
|
|
580
|
-
created_at: string;
|
|
581
|
-
updated_at: string;
|
|
582
|
-
built_at?: string;
|
|
583
|
-
checked_at?: string;
|
|
584
|
-
expires_at?: string;
|
|
585
|
-
}
|
|
395
|
+
export type AppVersionGitSource = z.infer<typeof AppVersionGitSourceSchema>;
|
|
586
396
|
|
|
587
|
-
export
|
|
588
|
-
id: string;
|
|
589
|
-
app_id: string;
|
|
590
|
-
version_id: string;
|
|
591
|
-
storage_prefix?: string;
|
|
592
|
-
deleted: boolean;
|
|
593
|
-
warnings: string[];
|
|
594
|
-
}
|
|
397
|
+
export type AppVersionUrls = z.infer<typeof AppVersionUrlsSchema>;
|
|
595
398
|
|
|
596
|
-
export
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
app_name?: string;
|
|
602
|
-
version_id: string;
|
|
603
|
-
kind: AppVersionKind;
|
|
604
|
-
state?: AppVersionState;
|
|
605
|
-
target?: AppVersionTarget;
|
|
606
|
-
agent_run_id?: string;
|
|
607
|
-
/** Development task that produced this version, when built by the app assistant. */
|
|
608
|
-
development_task_id?: string;
|
|
609
|
-
build_workflow_id?: string;
|
|
610
|
-
build_workflow_run_id?: string;
|
|
611
|
-
sandbox_id?: string;
|
|
612
|
-
title?: string;
|
|
613
|
-
description?: string;
|
|
614
|
-
storage?: AppVersionStorage;
|
|
615
|
-
/** Exact Git commit used to build this immutable version. */
|
|
616
|
-
source_commit?: string;
|
|
617
|
-
urls?: AppVersionUrls;
|
|
618
|
-
manifest?: Record<string, unknown>;
|
|
619
|
-
files?: string[];
|
|
620
|
-
file_count?: number;
|
|
621
|
-
source_file_count?: number;
|
|
622
|
-
screenshot_artifact?: string;
|
|
623
|
-
checks?: string[];
|
|
624
|
-
built_at?: string;
|
|
625
|
-
checked_at?: string;
|
|
626
|
-
expires_at?: string;
|
|
627
|
-
}
|
|
399
|
+
export type AppVersionRecord = z.infer<typeof AppVersionRecordSchema>;
|
|
400
|
+
|
|
401
|
+
export type DeleteAppVersionResponse = z.infer<typeof DeleteAppVersionResponseSchema>;
|
|
402
|
+
|
|
403
|
+
export type UpsertAppVersionRequest = z.infer<typeof UpsertAppVersionRequestSchema>;
|
|
628
404
|
|
|
629
405
|
export interface AppVersionListQuery {
|
|
630
406
|
app_id?: string;
|
|
@@ -633,33 +409,11 @@ export interface AppVersionListQuery {
|
|
|
633
409
|
limit?: number;
|
|
634
410
|
}
|
|
635
411
|
|
|
636
|
-
export
|
|
637
|
-
version: AppVersionRecord;
|
|
638
|
-
app?: AppManifest;
|
|
639
|
-
}
|
|
412
|
+
export type PromoteAppVersionResponse = z.infer<typeof PromoteAppVersionResponseSchema>;
|
|
640
413
|
|
|
641
|
-
export
|
|
642
|
-
/**
|
|
643
|
-
* Source branch, tag, or commit to build. When omitted, the app source
|
|
644
|
-
* configuration chooses its default branch.
|
|
645
|
-
*/
|
|
646
|
-
source_ref?: string;
|
|
647
|
-
source_ref_type?: Extract<AppVersionGitRefType, 'branch' | 'tag' | 'commit'>;
|
|
648
|
-
trigger?: AppBuildTrigger;
|
|
649
|
-
target?: AppVersionTarget;
|
|
650
|
-
title?: string;
|
|
651
|
-
description?: string;
|
|
652
|
-
}
|
|
414
|
+
export type StartAppBuildRequest = z.infer<typeof StartAppBuildRequestSchema>;
|
|
653
415
|
|
|
654
|
-
export
|
|
655
|
-
workflow_id: string;
|
|
656
|
-
run_id: string;
|
|
657
|
-
app_id: string;
|
|
658
|
-
version_id?: string;
|
|
659
|
-
rebuild_version_record_id?: string;
|
|
660
|
-
source_ref?: string;
|
|
661
|
-
source_ref_type?: Extract<AppVersionGitRefType, 'branch' | 'tag' | 'commit'>;
|
|
662
|
-
}
|
|
416
|
+
export type StartAppBuildResponse = z.infer<typeof StartAppBuildResponseSchema>;
|
|
663
417
|
|
|
664
418
|
export interface AppBuildWorkflowInput extends StartAppBuildRequest {
|
|
665
419
|
app_id: string;
|
|
@@ -682,48 +436,15 @@ export interface AppBuildWorkflowResult {
|
|
|
682
436
|
file_count?: number;
|
|
683
437
|
}
|
|
684
438
|
|
|
685
|
-
export type AppBuildProgressStatus =
|
|
439
|
+
export type AppBuildProgressStatus = z.infer<typeof AppBuildProgressStatusSchema>;
|
|
686
440
|
|
|
687
|
-
export
|
|
688
|
-
status: AppBuildProgressStatus;
|
|
689
|
-
step: string;
|
|
690
|
-
app_id?: string;
|
|
691
|
-
version_id?: string;
|
|
692
|
-
source_ref?: string;
|
|
693
|
-
source_ref_type?: Extract<AppVersionGitRefType, 'branch' | 'tag' | 'commit'>;
|
|
694
|
-
source_commit?: string;
|
|
695
|
-
file_count?: number;
|
|
696
|
-
app_url?: string;
|
|
697
|
-
error?: string;
|
|
698
|
-
updated_at: string;
|
|
699
|
-
}
|
|
441
|
+
export type AppBuildProgress = z.infer<typeof AppBuildProgressSchema>;
|
|
700
442
|
|
|
701
|
-
export type AppScaffoldModule =
|
|
443
|
+
export type AppScaffoldModule = z.infer<typeof AppScaffoldModuleSchema>;
|
|
702
444
|
|
|
703
|
-
export
|
|
704
|
-
/**
|
|
705
|
-
* App id / package name to create. It is normalized to the same slug rules
|
|
706
|
-
* used by @vertesia/create-plugin.
|
|
707
|
-
*/
|
|
708
|
-
app_id: string;
|
|
709
|
-
title?: string;
|
|
710
|
-
description?: string;
|
|
711
|
-
modules?: AppScaffoldModule[];
|
|
712
|
-
/**
|
|
713
|
-
* Start an initial app version build after the source has been pushed.
|
|
714
|
-
* Defaults to true.
|
|
715
|
-
*/
|
|
716
|
-
create_version?: boolean;
|
|
717
|
-
}
|
|
445
|
+
export type StartAppScaffoldRequest = z.infer<typeof StartAppScaffoldRequestSchema>;
|
|
718
446
|
|
|
719
|
-
export
|
|
720
|
-
workflow_id: string;
|
|
721
|
-
run_id: string;
|
|
722
|
-
app_id: string;
|
|
723
|
-
app_record_id?: string;
|
|
724
|
-
git_url?: string;
|
|
725
|
-
create_version: boolean;
|
|
726
|
-
}
|
|
447
|
+
export type StartAppScaffoldResponse = z.infer<typeof StartAppScaffoldResponseSchema>;
|
|
727
448
|
|
|
728
449
|
export interface AppScaffoldWorkflowInput extends StartAppScaffoldRequest {}
|
|
729
450
|
|
|
@@ -737,28 +458,9 @@ export interface AppScaffoldWorkflowResult {
|
|
|
737
458
|
initial_version_build?: StartAppBuildResponse;
|
|
738
459
|
}
|
|
739
460
|
|
|
740
|
-
export type AppScaffoldProgressStatus =
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
| 'scaffolding'
|
|
744
|
-
| 'pushing'
|
|
745
|
-
| 'building'
|
|
746
|
-
| 'completed'
|
|
747
|
-
| 'failed';
|
|
748
|
-
|
|
749
|
-
export interface AppScaffoldProgress {
|
|
750
|
-
status: AppScaffoldProgressStatus;
|
|
751
|
-
step: string;
|
|
752
|
-
app_id?: string;
|
|
753
|
-
app_record_id?: string;
|
|
754
|
-
installation_id?: string;
|
|
755
|
-
git_url?: string;
|
|
756
|
-
files?: number;
|
|
757
|
-
initial_version_build?: StartAppBuildResponse;
|
|
758
|
-
error?: string;
|
|
759
|
-
error_details?: string[];
|
|
760
|
-
updated_at: string;
|
|
761
|
-
}
|
|
461
|
+
export type AppScaffoldProgressStatus = z.infer<typeof AppScaffoldProgressStatusSchema>;
|
|
462
|
+
|
|
463
|
+
export type AppScaffoldProgress = z.infer<typeof AppScaffoldProgressSchema>;
|
|
762
464
|
|
|
763
465
|
/**
|
|
764
466
|
* Access control policy for an app installation.
|
|
@@ -772,7 +474,7 @@ export interface AppScaffoldProgress {
|
|
|
772
474
|
*
|
|
773
475
|
* Declared on the manifest as the app's default. May be overridden per-installation.
|
|
774
476
|
*/
|
|
775
|
-
export type AppAccessControl =
|
|
477
|
+
export type AppAccessControl = z.infer<typeof AppAccessControlSchema>;
|
|
776
478
|
|
|
777
479
|
/**
|
|
778
480
|
* Resolve the effective access_control policy for an installed app:
|
|
@@ -790,162 +492,24 @@ export function effectiveAppAccessControl(
|
|
|
790
492
|
return installation?.access_control ?? manifest?.access_control ?? 'all';
|
|
791
493
|
}
|
|
792
494
|
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
title: string;
|
|
809
|
-
description: string;
|
|
810
|
-
publisher: string;
|
|
811
|
-
|
|
812
|
-
/**
|
|
813
|
-
* A svg icon for the app.
|
|
814
|
-
*/
|
|
815
|
-
icon?: string;
|
|
816
|
-
|
|
817
|
-
/**
|
|
818
|
-
* A color name to be used as the color of the app card (e.g. blue, red, green, etc.)
|
|
819
|
-
* If not specified a random color will be picked.
|
|
820
|
-
*/
|
|
821
|
-
color?: string;
|
|
822
|
-
|
|
823
|
-
/**
|
|
824
|
-
* Optional preview screenshot for the app-management UI, captured by the builder during a
|
|
825
|
-
* build/QA run. Resolved client-side from the owning agent run's artifact storage, so it
|
|
826
|
-
* carries both the run id and the artifact path.
|
|
827
|
-
*/
|
|
828
|
-
preview_screenshot?: {
|
|
829
|
-
/** Agent run id whose artifact storage holds the screenshot. */
|
|
830
|
-
agent_run_id: string;
|
|
831
|
-
/** Artifact path within that storage, e.g. "preview-checks/app-preview-<ts>.png". */
|
|
832
|
-
artifact: string;
|
|
833
|
-
};
|
|
834
|
-
|
|
835
|
-
status: 'beta' | 'stable' | 'deprecated';
|
|
836
|
-
|
|
837
|
-
/**
|
|
838
|
-
* The UI configuration of the app. If not specified and the app "ui" is in the app capabilities
|
|
839
|
-
* then the ui configuration will be fetched from the endpoint property.
|
|
840
|
-
*/
|
|
841
|
-
ui?: AppUIConfig;
|
|
842
|
-
|
|
843
|
-
/**
|
|
844
|
-
* A list of tool collections endpoints to be used by this app.
|
|
845
|
-
* Prefer using endpoint over tool_collections.
|
|
846
|
-
*/
|
|
847
|
-
tool_collections?: ToolCollectionObject[];
|
|
848
|
-
|
|
849
|
-
/**
|
|
850
|
-
* Named OAuth providers shared across multiple MCP tool collections.
|
|
851
|
-
* Keys must be kebab-case identifiers. Each value is an MCPOAuthConfig blueprint.
|
|
852
|
-
* Collections reference a provider via MCPToolCollectionObject.oauth_provider.
|
|
853
|
-
* One OAuth provider is created per provider at install time; all referencing
|
|
854
|
-
* collections share that app via AppInstallation.provider_bindings.
|
|
855
|
-
*/
|
|
856
|
-
oauth_providers?: Record<string, MCPOAuthConfig>;
|
|
857
|
-
|
|
858
|
-
/**
|
|
859
|
-
* An URL providing interactions definitions in JSON format.
|
|
860
|
-
* The URL must provide 2 endpoints:
|
|
861
|
-
* 1. GET URL - must return a JSON array with the list of interactions (as AppInteractionRef[])
|
|
862
|
-
* 2. GET URL/{interaction_name} - must return the full interaction definition for the specified interaction.
|
|
863
|
-
* This feature is for advanced composition of interactions. Prefer using endpoint.
|
|
864
|
-
*/
|
|
865
|
-
interactions?: string;
|
|
866
|
-
|
|
867
|
-
/**
|
|
868
|
-
* A JSON chema for the app installation settings.
|
|
869
|
-
* @deprecated Use endpoint to provide settings_schema instead
|
|
870
|
-
*/
|
|
871
|
-
settings_schema?: JSONSchema;
|
|
872
|
-
|
|
873
|
-
/** The following API is part of the second version of the manifest and deprectaes similar properties included directly in the manifest */
|
|
874
|
-
|
|
875
|
-
/**
|
|
876
|
-
* Describe the capabiltities of this app - which kind of contributions it provides.
|
|
877
|
-
*/
|
|
878
|
-
capabilities?: AppCapabilities[];
|
|
879
|
-
|
|
880
|
-
/**
|
|
881
|
-
* The app endpoint URL
|
|
882
|
-
* This URL should return a JSON object describing the contributions provided by the app.
|
|
883
|
-
* The object shape must satisfies AppPackage interface.
|
|
884
|
-
* The endpoint must support GET method and a `scope` parameter to filter which resources are included in the returned AppPackage:
|
|
885
|
-
* The supported scope values are:
|
|
886
|
-
* - ui
|
|
887
|
-
* - tools
|
|
888
|
-
* - interactions
|
|
889
|
-
* - types
|
|
890
|
-
* - processes
|
|
891
|
-
* - templates
|
|
892
|
-
* - dashboards
|
|
893
|
-
* - settings
|
|
894
|
-
* - all (the default if no scope is provided)
|
|
895
|
-
* You can also use comma-separated values to combine scopes (e.g. "ui,tools").
|
|
896
|
-
*
|
|
897
|
-
* Example:
|
|
898
|
-
* - ?scope=ui,tools - returns only the UI configuration
|
|
899
|
-
*/
|
|
900
|
-
endpoint?: string;
|
|
901
|
-
|
|
902
|
-
/**
|
|
903
|
-
* Optional endpoint overrides keyed by environment name.
|
|
904
|
-
* When resolving the app endpoint, if the current environment name matches a key,
|
|
905
|
-
* the corresponding URL is used instead of the main `endpoint`.
|
|
906
|
-
* Only dev environment names are allowed as keys (starting with "desktop-" or "dev-").
|
|
907
|
-
*/
|
|
908
|
-
endpoint_overrides?: Record<string, string>;
|
|
495
|
+
// QUARANTINED from the tenth batch, and the blocker is not in this file. A `//` comment rather than
|
|
496
|
+
// TSDoc on purpose: this component is still DERIVED, so a doc comment here would be published as its
|
|
497
|
+
// OpenAPI description.
|
|
498
|
+
//
|
|
499
|
+
// `settings_schema` is a `JSONSchema`, so making this component canonical pulls the registry's
|
|
500
|
+
// `JSONSchema` into the studio service — where the TypeScript-derived one publishes `type` as
|
|
501
|
+
// `JSONSchemaTypeName | JSONSchemaTypeName[]` while the canonical publishes `type: {}`. The
|
|
502
|
+
// generator refuses to publish a name that is both derived and canonical unless the two agree, and
|
|
503
|
+
// it is right to. The combined document already ships the canonical spelling (zeno reaches it
|
|
504
|
+
// through `ContentTypeIntakePolicy` and wins the merge), so what is left is a disagreement to settle
|
|
505
|
+
// in `@llumiverse/common`, not one to work around here.
|
|
506
|
+
//
|
|
507
|
+
// Everything this interface REFERENCES converted: the fields below now carry canonical components.
|
|
508
|
+
export type AppManifestData = z.infer<typeof AppManifestDataSchema>;
|
|
909
509
|
|
|
910
|
-
|
|
911
|
-
* Optional app version string (e.g. "1.0.0") — informational.
|
|
912
|
-
*/
|
|
913
|
-
version?: string;
|
|
510
|
+
export type AppGitSourceConfig = z.infer<typeof AppGitSourceConfigSchema>;
|
|
914
511
|
|
|
915
|
-
|
|
916
|
-
* Source repository configuration for apps generated and maintained through
|
|
917
|
-
* AppGen. Branches are mutable development lanes; immutable app versions
|
|
918
|
-
* record their exact source commit in AppVersionRecord.source_commit and
|
|
919
|
-
* AppVersionRecord.storage.source_git.
|
|
920
|
-
*/
|
|
921
|
-
source?: AppSourceConfig;
|
|
922
|
-
|
|
923
|
-
/**
|
|
924
|
-
* Free-form tags used for classification and filtering. Platform apps
|
|
925
|
-
* carry `"system"` so UIs can skip install/uninstall/manage-permission
|
|
926
|
-
* controls that don't apply to synthetic installations.
|
|
927
|
-
*/
|
|
928
|
-
tags?: string[];
|
|
929
|
-
|
|
930
|
-
/**
|
|
931
|
-
* Access control policy for the app. Defaults to 'all' (ACE-gated everywhere)
|
|
932
|
-
* when undefined. See {@link AppAccessControl} for semantics. May be overridden
|
|
933
|
-
* on the AppInstallation.
|
|
934
|
-
*/
|
|
935
|
-
access_control?: AppAccessControl;
|
|
936
|
-
}
|
|
937
|
-
|
|
938
|
-
export interface AppGitSourceConfig {
|
|
939
|
-
url?: string;
|
|
940
|
-
default_branch?: string;
|
|
941
|
-
production_branch?: string;
|
|
942
|
-
development_branch?: string;
|
|
943
|
-
}
|
|
944
|
-
|
|
945
|
-
export interface AppSourceConfig {
|
|
946
|
-
kind: 'git';
|
|
947
|
-
git?: AppGitSourceConfig;
|
|
948
|
-
}
|
|
512
|
+
export type AppSourceConfig = z.infer<typeof AppSourceConfigSchema>;
|
|
949
513
|
|
|
950
514
|
/**
|
|
951
515
|
* Deployment-time URL endpoints that can be referenced in app manifest URLs
|
|
@@ -992,23 +556,10 @@ function trimTrailingSlashes(value: string): string {
|
|
|
992
556
|
}
|
|
993
557
|
|
|
994
558
|
/** One entry in an app git-repo directory listing (see {@link AppRepoTree}). */
|
|
995
|
-
export
|
|
996
|
-
/** File or directory name (last path segment). */
|
|
997
|
-
name: string;
|
|
998
|
-
/** Path relative to the repo root. */
|
|
999
|
-
path: string;
|
|
1000
|
-
/** Whether the entry is a file (`blob`) or a directory (`tree`). */
|
|
1001
|
-
type: 'blob' | 'tree';
|
|
1002
|
-
}
|
|
559
|
+
export type AppRepoTreeEntry = z.infer<typeof AppRepoTreeEntrySchema>;
|
|
1003
560
|
|
|
1004
561
|
/** A non-recursive listing of an app git repo directory at a given ref. */
|
|
1005
|
-
export
|
|
1006
|
-
/** The ref the listing was read at (empty/undefined = default branch / HEAD). */
|
|
1007
|
-
ref?: string;
|
|
1008
|
-
/** The directory prefix that was listed (empty = repo root). */
|
|
1009
|
-
prefix?: string;
|
|
1010
|
-
entries: AppRepoTreeEntry[];
|
|
1011
|
-
}
|
|
562
|
+
export type AppRepoTree = z.infer<typeof AppRepoTreeSchema>;
|
|
1012
563
|
|
|
1013
564
|
/** Browser-side limits mirrored by the app Git service document endpoint. */
|
|
1014
565
|
export const APP_REPO_DOCUMENT_UPLOAD_MAX_FILE_BYTES = 20 * 1024 * 1024;
|
|
@@ -1017,87 +568,28 @@ export const APP_REPO_DOCUMENT_UPLOAD_MAX_FILES = 20;
|
|
|
1017
568
|
export const APP_REPO_DOCUMENT_UPLOAD_PREFIX = 'docs/';
|
|
1018
569
|
|
|
1019
570
|
/** Result of committing one or more uploaded documents to an app repository. */
|
|
1020
|
-
export
|
|
1021
|
-
/** Updated branch name. */
|
|
1022
|
-
ref: string;
|
|
1023
|
-
/** Branch HEAD before the commit. */
|
|
1024
|
-
previous_commit: string;
|
|
1025
|
-
/** Newly created commit SHA. */
|
|
1026
|
-
commit: string;
|
|
1027
|
-
/** Repository paths changed by the commit. */
|
|
1028
|
-
paths: string[];
|
|
1029
|
-
}
|
|
571
|
+
export type AppRepoDocumentCommit = z.infer<typeof AppRepoDocumentCommitSchema>;
|
|
1030
572
|
|
|
1031
573
|
/** One commit that inserted or changed a file in an app git repository. */
|
|
1032
|
-
export
|
|
1033
|
-
/** Full commit SHA. */
|
|
1034
|
-
commit: string;
|
|
1035
|
-
/** Complete commit message. */
|
|
1036
|
-
message: string;
|
|
1037
|
-
/** Commit author name, when available. */
|
|
1038
|
-
author?: string;
|
|
1039
|
-
/** Commit author date as an ISO-8601 string, when available. */
|
|
1040
|
-
date?: string;
|
|
1041
|
-
}
|
|
574
|
+
export type AppRepoCommit = z.infer<typeof AppRepoCommitSchema>;
|
|
1042
575
|
|
|
1043
576
|
/** Commit history in an app git repository, optionally filtered to a file. */
|
|
1044
|
-
export
|
|
1045
|
-
/** Ref from which history traversal started (empty/undefined = default branch / HEAD). */
|
|
1046
|
-
ref?: string;
|
|
1047
|
-
/** File path relative to the repository root, when history was filtered to a file. */
|
|
1048
|
-
path?: string;
|
|
1049
|
-
/** Commits ordered newest first. */
|
|
1050
|
-
commits: AppRepoCommit[];
|
|
1051
|
-
/** Pass this cursor to retrieve the next page. Absent when history is exhausted. */
|
|
1052
|
-
next_cursor?: string;
|
|
1053
|
-
}
|
|
577
|
+
export type AppRepoCommits = z.infer<typeof AppRepoCommitsSchema>;
|
|
1054
578
|
|
|
1055
579
|
/** A branch or tag in an app git repo, resolved to its latest commit. */
|
|
1056
|
-
export
|
|
1057
|
-
/** Short ref name (e.g. `main`, `v1.0.0`). */
|
|
1058
|
-
name: string;
|
|
1059
|
-
/** Commit hash the ref points at (annotated tags are peeled to their commit). */
|
|
1060
|
-
commit: string;
|
|
1061
|
-
/** First line of the commit message, when available. */
|
|
1062
|
-
commit_subject?: string;
|
|
1063
|
-
/** Commit date as an ISO-8601 string, when available. */
|
|
1064
|
-
commit_date?: string;
|
|
1065
|
-
/** Commit author name, when available. */
|
|
1066
|
-
commit_author?: string;
|
|
1067
|
-
}
|
|
580
|
+
export type AppRepoRef = z.infer<typeof AppRepoRefSchema>;
|
|
1068
581
|
|
|
1069
582
|
/** The branches and tags of an app git repo (see {@link AppRepoRef}). */
|
|
1070
|
-
export
|
|
1071
|
-
/** The repository's default branch (HEAD target), when resolvable. */
|
|
1072
|
-
default_branch?: string;
|
|
1073
|
-
branches: AppRepoRef[];
|
|
1074
|
-
tags: AppRepoRef[];
|
|
1075
|
-
}
|
|
583
|
+
export type AppRepoRefs = z.infer<typeof AppRepoRefsSchema>;
|
|
1076
584
|
|
|
1077
585
|
/** A mutable app development task represented by an `agent/*` Git branch. */
|
|
1078
|
-
export
|
|
1079
|
-
/** Task slug derived from the branch name. */
|
|
1080
|
-
id: string;
|
|
1081
|
-
/** Complete Git branch name. */
|
|
1082
|
-
branch: string;
|
|
1083
|
-
/** Commit currently at the branch head. */
|
|
1084
|
-
source_commit: string;
|
|
1085
|
-
/** Branch-head commit date, when available. */
|
|
1086
|
-
commit_date?: string;
|
|
1087
|
-
}
|
|
586
|
+
export type AppDevelopmentTask = z.infer<typeof AppDevelopmentTaskSchema>;
|
|
1088
587
|
|
|
1089
588
|
/** Git-backed development tasks and the branch used for new tasks by default. */
|
|
1090
|
-
export
|
|
1091
|
-
/** Repository default branch, when resolvable. */
|
|
1092
|
-
default_branch?: string;
|
|
1093
|
-
tasks: AppDevelopmentTask[];
|
|
1094
|
-
}
|
|
589
|
+
export type AppDevelopmentTaskList = z.infer<typeof AppDevelopmentTaskListSchema>;
|
|
1095
590
|
|
|
1096
591
|
/** Development task details, including the latest parent assistant run when one exists. */
|
|
1097
|
-
export
|
|
1098
|
-
/** Latest Studio Assistant run started for this task branch. */
|
|
1099
|
-
agent_run?: AgentRunSearchHit;
|
|
1100
|
-
}
|
|
592
|
+
export type AppDevelopmentTaskDetails = z.infer<typeof AppDevelopmentTaskDetailsSchema>;
|
|
1101
593
|
|
|
1102
594
|
/** Request to create a branch from an existing branch, tag, or commit. */
|
|
1103
595
|
export interface CreateAppRepoBranchRequest {
|
|
@@ -1106,11 +598,7 @@ export interface CreateAppRepoBranchRequest {
|
|
|
1106
598
|
}
|
|
1107
599
|
|
|
1108
600
|
/** A newly created app repository branch. */
|
|
1109
|
-
export
|
|
1110
|
-
name: string;
|
|
1111
|
-
commit: string;
|
|
1112
|
-
source_ref: string;
|
|
1113
|
-
}
|
|
601
|
+
export type AppRepoBranch = z.infer<typeof AppRepoBranchSchema>;
|
|
1114
602
|
|
|
1115
603
|
/**
|
|
1116
604
|
* Canonical package scopes, including the catch-all `all`. The public type is derived
|
|
@@ -1128,103 +616,29 @@ export const APP_PACKAGE_SCOPES = [
|
|
|
1128
616
|
'settings',
|
|
1129
617
|
'widgets',
|
|
1130
618
|
'activities',
|
|
619
|
+
'hooks',
|
|
620
|
+
'subscriptions',
|
|
1131
621
|
'all',
|
|
1132
622
|
] as const;
|
|
1133
623
|
|
|
1134
624
|
export type AppPackageScope = (typeof APP_PACKAGE_SCOPES)[number];
|
|
1135
|
-
export
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
/**
|
|
1142
|
-
* A list of tools exposed by the app.
|
|
1143
|
-
*/
|
|
1144
|
-
tools?: AgentToolDefinition[];
|
|
1145
|
-
|
|
1146
|
-
/**
|
|
1147
|
-
* A list of skills (`learn_*` tools) exposed by the app. Kept separate from
|
|
1148
|
-
* `tools` so clients can render them distinctly — consumers that don't care
|
|
1149
|
-
* (e.g. the worker building a combined tool registry) should concatenate
|
|
1150
|
-
* the two lists.
|
|
1151
|
-
*/
|
|
1152
|
-
skills?: AgentToolDefinition[];
|
|
1153
|
-
|
|
1154
|
-
/**
|
|
1155
|
-
* A list of interactions exposed by the app
|
|
1156
|
-
*/
|
|
1157
|
-
interactions?: CatalogInteractionRef[];
|
|
1158
|
-
|
|
1159
|
-
/**
|
|
1160
|
-
* A list of types.
|
|
1161
|
-
*/
|
|
1162
|
-
types?: InCodeTypeDefinition[];
|
|
1163
|
-
|
|
1164
|
-
/**
|
|
1165
|
-
* A list of process definitions exposed by the app.
|
|
1166
|
-
*/
|
|
1167
|
-
processes?: InCodeProcessDefinition[];
|
|
1168
|
-
|
|
1169
|
-
/**
|
|
1170
|
-
* View Experiences exposed by the app as in-code definitions.
|
|
1171
|
-
*/
|
|
1172
|
-
views?: InCodeViewDefinition[];
|
|
1173
|
-
|
|
1174
|
-
/**
|
|
1175
|
-
* Templates provided by the app.
|
|
1176
|
-
*/
|
|
1177
|
-
templates?: RenderingTemplateDefinitionRef[];
|
|
1178
|
-
|
|
1179
|
-
/**
|
|
1180
|
-
* Dashboards provided by the app.
|
|
1181
|
-
*/
|
|
1182
|
-
dashboards?: AppDashboardDefinition[];
|
|
1183
|
-
|
|
1184
|
-
/**
|
|
1185
|
-
* Widgets provided by the app.
|
|
1186
|
-
*/
|
|
1187
|
-
widgets?: Record<string, AppWidgetInfo>;
|
|
1188
|
-
|
|
1189
|
-
/**
|
|
1190
|
-
* Remote activities exposed by the app for use in DSL workflows.
|
|
1191
|
-
* Activities are discovered via `?scope=activities` and referenced in workflow steps
|
|
1192
|
-
* using colon-separated names: `app:<app_name>:<collection>:<activity_name>`.
|
|
1193
|
-
*/
|
|
1194
|
-
activities?: RemoteActivityDefinition[];
|
|
1195
|
-
|
|
1196
|
-
/**
|
|
1197
|
-
* A JSON chema for the app installation settings.
|
|
1198
|
-
*/
|
|
1199
|
-
settings_schema?: JSONSchema;
|
|
1200
|
-
}
|
|
625
|
+
export type AppPackageEventHook = z.infer<typeof AppPackageEventHookSchema>;
|
|
626
|
+
export type AppPackageHooks = z.infer<typeof AppPackageHooksSchema>;
|
|
627
|
+
export type AppEventHookDelivery = z.infer<typeof AppEventHookDeliverySchema>;
|
|
628
|
+
export type AppEventHookPayload = z.infer<typeof AppEventHookPayloadSchema>;
|
|
629
|
+
export type AppEventSubscriptionDefinition = z.infer<typeof AppEventSubscriptionDefinitionSchema>;
|
|
630
|
+
export type AppPackage = z.infer<typeof AppPackageSchema>;
|
|
1201
631
|
|
|
1202
632
|
/**
|
|
1203
633
|
* A single diagnostic produced while inspecting an app's registration state.
|
|
1204
634
|
*/
|
|
1205
|
-
export
|
|
1206
|
-
severity: 'error' | 'warning';
|
|
1207
|
-
/** The capability this issue relates to, when applicable (e.g. 'types'). */
|
|
1208
|
-
capability?: AppPackageScope;
|
|
1209
|
-
/** Stable machine code, e.g. 'capability_declared_but_empty', 'endpoint_unreachable', 'not_installed'. */
|
|
1210
|
-
code: string;
|
|
1211
|
-
/** Human-readable explanation, safe to surface to the model and the UI. */
|
|
1212
|
-
message: string;
|
|
1213
|
-
}
|
|
635
|
+
export type AppInspectionIssue = z.infer<typeof AppInspectionIssueSchema>;
|
|
1214
636
|
|
|
1215
637
|
/**
|
|
1216
638
|
* Per-capability report of what an app's promoted package actually exposes,
|
|
1217
639
|
* compared against what its manifest declares.
|
|
1218
640
|
*/
|
|
1219
|
-
export
|
|
1220
|
-
capability: AppPackageScope;
|
|
1221
|
-
/** True when the manifest's `capabilities` array declares this capability. */
|
|
1222
|
-
declared: boolean;
|
|
1223
|
-
/** The local ids the promoted package actually serves for this capability. */
|
|
1224
|
-
exposed_ids: string[];
|
|
1225
|
-
/** Convenience count of `exposed_ids`. */
|
|
1226
|
-
exposed_count: number;
|
|
1227
|
-
}
|
|
641
|
+
export type AppInspectionCapabilityReport = z.infer<typeof AppInspectionCapabilityReportSchema>;
|
|
1228
642
|
|
|
1229
643
|
/**
|
|
1230
644
|
* Result of inspecting an app's registration: the resolved manifest state, what
|
|
@@ -1233,317 +647,106 @@ export interface AppInspectionCapabilityReport {
|
|
|
1233
647
|
* Build › App inspection UI to verify what is registered vs declared, instead of
|
|
1234
648
|
* inferring it from failed object/import calls.
|
|
1235
649
|
*/
|
|
1236
|
-
export
|
|
1237
|
-
app_id: string;
|
|
1238
|
-
name: string;
|
|
1239
|
-
version?: string;
|
|
1240
|
-
/** The resolved package endpoint for the current environment, if any. */
|
|
1241
|
-
endpoint?: string;
|
|
1242
|
-
/** True when the package endpoint responded to the capability probe. */
|
|
1243
|
-
endpoint_reachable: boolean;
|
|
1244
|
-
/** True when the app is installed in the current project. */
|
|
1245
|
-
installed: boolean;
|
|
1246
|
-
access_control?: string;
|
|
1247
|
-
/** The capabilities declared on the manifest. */
|
|
1248
|
-
capabilities: AppPackageScope[];
|
|
1249
|
-
/** What the promoted package exposes, per capability. */
|
|
1250
|
-
package: AppInspectionCapabilityReport[];
|
|
1251
|
-
/** Diagnostics — errors and warnings about the registration state. */
|
|
1252
|
-
issues: AppInspectionIssue[];
|
|
1253
|
-
/** Populated when the package probe itself failed (endpoint error/unreachable). */
|
|
1254
|
-
probe_error?: string;
|
|
1255
|
-
}
|
|
650
|
+
export type AppInspectionResult = z.infer<typeof AppInspectionResultSchema>;
|
|
1256
651
|
|
|
1257
|
-
export
|
|
1258
|
-
collection: string;
|
|
1259
|
-
skill: string;
|
|
1260
|
-
url: string;
|
|
1261
|
-
}
|
|
652
|
+
export type AppWidgetInfo = z.infer<typeof AppWidgetInfoSchema>;
|
|
1262
653
|
|
|
1263
|
-
export
|
|
1264
|
-
/** Unique template id: "collection:name" */
|
|
1265
|
-
id: string;
|
|
1266
|
-
/** Unique template name (kebab-case) */
|
|
1267
|
-
name: string;
|
|
1268
|
-
/** Display title */
|
|
1269
|
-
title?: string;
|
|
1270
|
-
/** Short description */
|
|
1271
|
-
description: string;
|
|
1272
|
-
/** Template type */
|
|
1273
|
-
type: 'presentation' | 'document';
|
|
1274
|
-
/** Tags for categorization */
|
|
1275
|
-
tags?: string[];
|
|
1276
|
-
/** Absolute paths to asset files */
|
|
1277
|
-
assets: string[];
|
|
1278
|
-
/** The template instructions (markdown) */
|
|
1279
|
-
instructions: string;
|
|
1280
|
-
}
|
|
654
|
+
export type RenderingTemplateDefinition = z.infer<typeof RenderingTemplateDefinitionSchema>;
|
|
1281
655
|
|
|
1282
|
-
export type RenderingTemplateDefinitionRef =
|
|
1283
|
-
/** Absolute API path to fetch the full template definition */
|
|
1284
|
-
path: string;
|
|
1285
|
-
};
|
|
656
|
+
export type RenderingTemplateDefinitionRef = z.infer<typeof RenderingTemplateDefinitionRefSchema>;
|
|
1286
657
|
|
|
1287
|
-
export
|
|
1288
|
-
id: string;
|
|
1289
|
-
/** The owning account. Undefined for apps imported from a master region. */
|
|
1290
|
-
account?: string;
|
|
1291
|
-
/** Source metadata for generated or synced app manifests. */
|
|
1292
|
-
source?: AppManifestSource;
|
|
1293
|
-
created_at: string;
|
|
1294
|
-
updated_at: string;
|
|
1295
|
-
}
|
|
658
|
+
export type AppManifest = z.infer<typeof AppManifestSchema>;
|
|
1296
659
|
|
|
1297
|
-
export
|
|
1298
|
-
kind: 'git';
|
|
1299
|
-
git: {
|
|
1300
|
-
url: string;
|
|
1301
|
-
default_branch?: string;
|
|
1302
|
-
production_branch?: string;
|
|
1303
|
-
development_branch?: string;
|
|
1304
|
-
};
|
|
1305
|
-
}
|
|
660
|
+
export type AppManifestSource = z.infer<typeof AppManifestSourceSchema>;
|
|
1306
661
|
|
|
1307
662
|
/**
|
|
1308
663
|
* Binding between an MCP collection and an OAuth provider created at install time.
|
|
1309
664
|
* Stored on AppInstallation so the runtime can look up the correct OAuth provider by ID,
|
|
1310
665
|
* independent of manifest oauth_provider references (which may change).
|
|
1311
666
|
*/
|
|
1312
|
-
export
|
|
1313
|
-
/**
|
|
1314
|
-
* Stable collection identifier: MCPToolCollectionObject.id for new manifests.
|
|
1315
|
-
* Legacy installations may still contain a name-based fallback value.
|
|
1316
|
-
*/
|
|
1317
|
-
collection_id: string;
|
|
1318
|
-
/**
|
|
1319
|
-
* MongoDB ObjectId of the OAuth provider in this project.
|
|
1320
|
-
* Used for ID-based lookups (rename-proof).
|
|
1321
|
-
*/
|
|
1322
|
-
oauth_provider_id: string;
|
|
1323
|
-
/**
|
|
1324
|
-
* Name of the OAuth provider at creation time.
|
|
1325
|
-
* Used by the workflow token path (getMCPClient → remoteMcpConnections.getToken) which looks up by name.
|
|
1326
|
-
*/
|
|
1327
|
-
oauth_provider_name: string;
|
|
1328
|
-
}
|
|
667
|
+
export type AppInstallationOAuthBinding = z.infer<typeof AppInstallationOAuthBindingSchema>;
|
|
1329
668
|
|
|
1330
669
|
/**
|
|
1331
670
|
* Binding between a named OAuth provider and the OAuth provider created for it at install time.
|
|
1332
671
|
* Stored on AppInstallation so the runtime can resolve the correct OAuth provider for collections
|
|
1333
672
|
* that reference a shared provider via MCPToolCollectionObject.oauth_provider.
|
|
1334
673
|
*/
|
|
1335
|
-
export
|
|
1336
|
-
/** Key from AppManifestData.oauth_providers */
|
|
1337
|
-
provider_key: string;
|
|
1338
|
-
/** MongoDB ObjectId of the created OAuth provider */
|
|
1339
|
-
oauth_provider_id: string;
|
|
1340
|
-
/** Name of the OAuth provider at creation time (for audit/display only) */
|
|
1341
|
-
oauth_provider_name: string;
|
|
1342
|
-
}
|
|
674
|
+
export type AppInstallationProviderBinding = z.infer<typeof AppInstallationProviderBindingSchema>;
|
|
1343
675
|
|
|
1344
|
-
export
|
|
1345
|
-
id: string;
|
|
1346
|
-
project: string; // the project where the app is installed
|
|
1347
|
-
manifest: string; // the app manifest
|
|
1348
|
-
settings?: Record<string, unknown>; // settings for the app installation
|
|
1349
|
-
/**
|
|
1350
|
-
* Admin-managed allowlist of tool names permitted for this installation.
|
|
1351
|
-
* When undefined, all tools from the app are permitted.
|
|
1352
|
-
* When set, only listed tool names are available for agent configuration and execution.
|
|
1353
|
-
*/
|
|
1354
|
-
tool_allowlist?: string[];
|
|
1355
|
-
/**
|
|
1356
|
-
* OAuth bindings created at install time via oauth_config provisioning.
|
|
1357
|
-
* Maps collection identity (id or name) → OAuth provider ObjectId.
|
|
1358
|
-
* Used by the runtime to resolve the correct OAuth provider without relying on manifest names.
|
|
1359
|
-
*/
|
|
1360
|
-
oauth_bindings?: AppInstallationOAuthBinding[];
|
|
1361
|
-
/**
|
|
1362
|
-
* OAuth bindings created at install time via oauth_providers provisioning.
|
|
1363
|
-
* Maps provider key → OAuth provider ObjectId.
|
|
1364
|
-
* Multiple collections sharing the same provider all resolve to the same OAuth provider.
|
|
1365
|
-
*/
|
|
1366
|
-
provider_bindings?: AppInstallationProviderBinding[];
|
|
1367
|
-
/**
|
|
1368
|
-
* Per-installation override of the manifest's access_control policy.
|
|
1369
|
-
* When set, takes precedence over the manifest value. When undefined, the
|
|
1370
|
-
* manifest value (or 'all' default) applies.
|
|
1371
|
-
*/
|
|
1372
|
-
access_control?: AppAccessControl;
|
|
1373
|
-
created_at: string;
|
|
1374
|
-
updated_at: string;
|
|
1375
|
-
}
|
|
676
|
+
export type AppInstallation = z.infer<typeof AppInstallationSchema>;
|
|
1376
677
|
|
|
1377
|
-
export
|
|
1378
|
-
manifest: AppManifest; // the app manifest data
|
|
1379
|
-
/**
|
|
1380
|
-
* Computed by the server: ids of MCP tool collections for this installation that require OAuth.
|
|
1381
|
-
* Accounts for all three signals: manifest auth:'oauth', manifest oauth_app, and oauth_bindings.
|
|
1382
|
-
* Populated by the GET /installations/all endpoint.
|
|
1383
|
-
*/
|
|
1384
|
-
oauth_collection_ids?: string[];
|
|
1385
|
-
}
|
|
678
|
+
export type AppInstallationWithManifest = z.infer<typeof AppInstallationWithManifestSchema>;
|
|
1386
679
|
|
|
1387
|
-
export
|
|
1388
|
-
manifest: AppManifest | null;
|
|
1389
|
-
oauth_collection_ids?: string[];
|
|
1390
|
-
}
|
|
680
|
+
export type AppInstallationListEntry = z.infer<typeof AppInstallationListEntrySchema>;
|
|
1391
681
|
|
|
1392
682
|
export interface OrphanedAppInstallation extends Omit<AppInstallation, 'manifest'> {
|
|
1393
683
|
manifest: null;
|
|
1394
684
|
}
|
|
1395
685
|
|
|
1396
|
-
export
|
|
1397
|
-
client_id?: string;
|
|
1398
|
-
client_secret?: string;
|
|
1399
|
-
scopes?: string[];
|
|
1400
|
-
}
|
|
686
|
+
export type OAuthClientCredentials = z.infer<typeof OAuthClientCredentialsSchema>;
|
|
1401
687
|
|
|
1402
|
-
export type AppOAuthCollectionParams =
|
|
1403
|
-
export type AppOAuthProviderParams = Record<string, OAuthClientCredentials>;
|
|
688
|
+
export type AppOAuthCollectionParams = z.infer<typeof AppOAuthCollectionParamsSchema>;
|
|
1404
689
|
|
|
1405
|
-
|
|
1406
|
-
|
|
1407
|
-
settings?: Record<string, unknown>;
|
|
1408
|
-
/**
|
|
1409
|
-
* Per-installation override of the manifest's `access_control` policy. When provided, takes precedence
|
|
1410
|
-
* over the manifest default for every access check. Sibling of `settings` — admin-controlled, not
|
|
1411
|
-
* part of the app's own settings JSON.
|
|
1412
|
-
*
|
|
1413
|
-
* Three send-time semantics on update:
|
|
1414
|
-
* - Field omitted entirely from the payload → leave the existing override unchanged.
|
|
1415
|
-
* - Explicit `null` → clear the override, fall back to the manifest default.
|
|
1416
|
-
* - String enum → set the override to that value.
|
|
1417
|
-
*
|
|
1418
|
-
* (On install, the same shape applies; omit or pass `null` to use the manifest default.)
|
|
1419
|
-
*/
|
|
1420
|
-
access_control?: AppAccessControl | null;
|
|
1421
|
-
/**
|
|
1422
|
-
* OAuth credentials for each collection, keyed by collection.id.
|
|
1423
|
-
* Legacy callers may still use collection.name for older manifests.
|
|
1424
|
-
* Collected from the user at install time for collections with oauth_config.required_at_install.
|
|
1425
|
-
*/
|
|
1426
|
-
oauth_params?: AppOAuthCollectionParams;
|
|
1427
|
-
/**
|
|
1428
|
-
* OAuth credentials for named providers, keyed by the provider key from oauth_providers.
|
|
1429
|
-
* Collected from the user at install time for providers with required_at_install.
|
|
1430
|
-
* Separate from oauth_params to avoid key collisions between provider keys and collection ids.
|
|
1431
|
-
*/
|
|
1432
|
-
oauth_provider_params?: AppOAuthProviderParams;
|
|
1433
|
-
}
|
|
690
|
+
/** One installer-supplied MCP API key. */
|
|
691
|
+
export type McpApiKeyCredential = z.infer<typeof McpApiKeyCredentialSchema>;
|
|
1434
692
|
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
|
|
693
|
+
/** Installer-supplied MCP API keys, keyed by collection id. */
|
|
694
|
+
export type AppApiKeyCollectionParams = z.infer<typeof AppApiKeyCollectionParamsSchema>;
|
|
695
|
+
export type AppOAuthProviderParams = z.infer<typeof AppOAuthProviderParamsSchema>;
|
|
1438
696
|
|
|
1439
|
-
export type
|
|
697
|
+
export type AppInstallationPayload = z.infer<typeof AppInstallationPayloadSchema>;
|
|
698
|
+
|
|
699
|
+
export type UpdateAppInstallationToolAllowlistPayload = z.infer<typeof UpdateAppInstallationToolAllowlistPayloadSchema>;
|
|
700
|
+
|
|
701
|
+
export type AppInstallationKind = z.infer<typeof AppInstallationKindSchema>;
|
|
1440
702
|
|
|
1441
703
|
/**
|
|
1442
704
|
* A description of the tools provided by an app
|
|
1443
705
|
*/
|
|
1444
|
-
export
|
|
1445
|
-
/**
|
|
1446
|
-
* The collection name
|
|
1447
|
-
*/
|
|
1448
|
-
name: string;
|
|
1449
|
-
|
|
1450
|
-
/**
|
|
1451
|
-
* Optional collection description
|
|
1452
|
-
*/
|
|
1453
|
-
description?: string;
|
|
1454
|
-
|
|
1455
|
-
/**
|
|
1456
|
-
* the tools provided by this collection
|
|
1457
|
-
*/
|
|
1458
|
-
tools: AgentToolDefinition[];
|
|
1459
|
-
}
|
|
706
|
+
export type AppToolCollection = z.infer<typeof AppToolCollectionSchema>;
|
|
1460
707
|
|
|
1461
708
|
/**
|
|
1462
|
-
*
|
|
1463
|
-
*
|
|
709
|
+
* A tool and the app installation that provides it, inferred from `./api-schemas/project.js` — the
|
|
710
|
+
* module that owns it, because it converted with the Projects batch rather than with Apps.
|
|
1464
711
|
*/
|
|
1465
|
-
export
|
|
1466
|
-
/**
|
|
1467
|
-
* The tool name
|
|
1468
|
-
*/
|
|
1469
|
-
tool_name: string;
|
|
1470
|
-
|
|
1471
|
-
/**
|
|
1472
|
-
* Optional tool description
|
|
1473
|
-
*/
|
|
1474
|
-
tool_description?: string;
|
|
1475
|
-
|
|
1476
|
-
/**
|
|
1477
|
-
* The app name that provides this tool
|
|
1478
|
-
*/
|
|
1479
|
-
app_name: string;
|
|
1480
|
-
|
|
1481
|
-
/**
|
|
1482
|
-
* The app installation ID
|
|
1483
|
-
*/
|
|
1484
|
-
app_install_id: string;
|
|
1485
|
-
|
|
1486
|
-
/**
|
|
1487
|
-
* The app installation settings.
|
|
1488
|
-
* Only included for agent tokens, not user tokens (security: may contain API keys).
|
|
1489
|
-
*/
|
|
1490
|
-
settings?: Record<string, unknown>;
|
|
1491
|
-
}
|
|
712
|
+
export type ProjectToolInfo = z.infer<typeof ProjectToolInfoSchema>;
|
|
1492
713
|
|
|
1493
714
|
/**
|
|
1494
715
|
* OAuth authentication status for an MCP tool collection
|
|
1495
716
|
*/
|
|
1496
|
-
export
|
|
1497
|
-
collection_id: string;
|
|
1498
|
-
collection_name: string;
|
|
1499
|
-
authenticated: boolean;
|
|
1500
|
-
mcp_server_url: string;
|
|
1501
|
-
expires_at?: string;
|
|
1502
|
-
scope?: string;
|
|
1503
|
-
}
|
|
717
|
+
export type OAuthAuthStatus = z.infer<typeof OAuthAuthStatusSchema>;
|
|
1504
718
|
|
|
1505
719
|
/**
|
|
1506
720
|
* Response from OAuth authorization endpoint
|
|
1507
721
|
*/
|
|
1508
|
-
export
|
|
1509
|
-
authorization_url?: string;
|
|
1510
|
-
state?: string;
|
|
1511
|
-
connected?: boolean;
|
|
1512
|
-
}
|
|
722
|
+
export type OAuthAuthorizeResponse = z.infer<typeof OAuthAuthorizeResponseSchema>;
|
|
1513
723
|
|
|
1514
724
|
export interface McpOAuthCollectionRef {
|
|
1515
725
|
app_install_id: string;
|
|
1516
726
|
collection_id: string;
|
|
1517
727
|
}
|
|
1518
728
|
|
|
1519
|
-
|
|
1520
|
-
|
|
1521
|
-
|
|
1522
|
-
|
|
1523
|
-
|
|
729
|
+
/**
|
|
730
|
+
* Payload for storing the static bearer token of an `auth: 'api_key'` MCP collection.
|
|
731
|
+
* The key is write-only — it is never echoed back by any endpoint.
|
|
732
|
+
*/
|
|
733
|
+
export type SetMcpApiKeyRequest = z.infer<typeof SetMcpApiKeyRequestSchema>;
|
|
1524
734
|
|
|
1525
|
-
|
|
1526
|
-
|
|
1527
|
-
}
|
|
735
|
+
/** Whether an `auth: 'api_key'` MCP collection has a key stored, plus a display-only hint. */
|
|
736
|
+
export type McpApiKeyStatus = z.infer<typeof McpApiKeyStatusSchema>;
|
|
1528
737
|
|
|
1529
|
-
export
|
|
1530
|
-
success: boolean;
|
|
1531
|
-
}
|
|
738
|
+
export type McpOAuthTokenRequest = z.infer<typeof McpOAuthTokenRequestSchema>;
|
|
1532
739
|
|
|
1533
|
-
export
|
|
1534
|
-
|
|
1535
|
-
|
|
1536
|
-
|
|
740
|
+
export type McpOAuthTokenResponse = z.infer<typeof McpOAuthTokenResponseSchema>;
|
|
741
|
+
|
|
742
|
+
export type McpOAuthConnectResponse = z.infer<typeof McpOAuthConnectResponseSchema>;
|
|
743
|
+
|
|
744
|
+
export type McpOAuthDisconnectResponse = z.infer<typeof McpOAuthDisconnectResponseSchema>;
|
|
1537
745
|
|
|
1538
746
|
/**
|
|
1539
747
|
* Response from OAuth metadata endpoint
|
|
1540
748
|
*/
|
|
1541
|
-
export
|
|
1542
|
-
collection_id: string;
|
|
1543
|
-
collection_name: string;
|
|
1544
|
-
mcp_server_url: string;
|
|
1545
|
-
metadata: JSONObject;
|
|
1546
|
-
}
|
|
749
|
+
export type OAuthMetadataResponse = z.infer<typeof OAuthMetadataResponseSchema>;
|
|
1547
750
|
|
|
1548
751
|
// ============================================================================
|
|
1549
752
|
// CompositeApp Shell Configuration Types
|
|
@@ -1555,46 +758,24 @@ export interface OAuthMetadataResponse {
|
|
|
1555
758
|
* Configuration entry for an individual app in the CompositeApp shell.
|
|
1556
759
|
* References an app installation by name.
|
|
1557
760
|
*/
|
|
1558
|
-
export
|
|
1559
|
-
/** App installation name (must match an installed app) */
|
|
1560
|
-
appName: string;
|
|
1561
|
-
}
|
|
761
|
+
export type CompositeAppEntry = z.infer<typeof CompositeAppEntrySchema>;
|
|
1562
762
|
|
|
1563
763
|
/**
|
|
1564
764
|
* Logo overrides for the CompositeApp shell header.
|
|
1565
765
|
* When provided, these URLs replace the default Vertesia logo.
|
|
1566
766
|
*/
|
|
1567
|
-
export
|
|
1568
|
-
/** URL for light mode logo (overrides default Vertesia logo) */
|
|
1569
|
-
lightModeUrl?: string;
|
|
1570
|
-
/** URL for dark mode logo (overrides default Vertesia logo) */
|
|
1571
|
-
darkModeUrl?: string;
|
|
1572
|
-
/** Whether to hide the Vertesia footer logo in the sidebar when header logo is overridden (defaults to false) */
|
|
1573
|
-
hideFooterLogo?: boolean;
|
|
1574
|
-
}
|
|
767
|
+
export type CompositeAppLogoOverrides = z.infer<typeof CompositeAppLogoOverridesSchema>;
|
|
1575
768
|
|
|
1576
769
|
/**
|
|
1577
770
|
* Message banner overrides for the shell header.
|
|
1578
771
|
*/
|
|
1579
|
-
export type CompositeAppMessageStyle =
|
|
1580
|
-
export
|
|
1581
|
-
/** Message text to display */
|
|
1582
|
-
text?: string;
|
|
1583
|
-
/** Whether the message is visible (defaults to true) */
|
|
1584
|
-
visible?: boolean;
|
|
1585
|
-
/** Text color style. Uses semantic colors */
|
|
1586
|
-
style?: CompositeAppMessageStyle;
|
|
1587
|
-
}
|
|
772
|
+
export type CompositeAppMessageStyle = z.infer<typeof CompositeAppMessageStyleSchema>;
|
|
773
|
+
export type CompositeAppMessageOverrides = z.infer<typeof CompositeAppMessageOverridesSchema>;
|
|
1588
774
|
|
|
1589
775
|
/**
|
|
1590
776
|
* Switcher visibility overrides for the CompositeApp header.
|
|
1591
777
|
*/
|
|
1592
|
-
export
|
|
1593
|
-
/** Whether to hide the organization switcher (defaults to false) */
|
|
1594
|
-
hideOrganization?: boolean;
|
|
1595
|
-
/** Whether to hide the project switcher (defaults to false) */
|
|
1596
|
-
hideProject?: boolean;
|
|
1597
|
-
}
|
|
778
|
+
export type CompositeAppSwitchersOverrides = z.infer<typeof CompositeAppSwitchersOverridesSchema>;
|
|
1598
779
|
|
|
1599
780
|
/**
|
|
1600
781
|
* Header button visibility overrides for the CompositeApp header.
|
|
@@ -1603,14 +784,7 @@ export interface CompositeAppSwitchersOverrides {
|
|
|
1603
784
|
* Retained for backward compatibility and to seed the default header menu when no
|
|
1604
785
|
* `headerMenu` has been configured yet.
|
|
1605
786
|
*/
|
|
1606
|
-
export
|
|
1607
|
-
/** Whether to hide the App Portal button (defaults to false) */
|
|
1608
|
-
hideAppPortal?: boolean;
|
|
1609
|
-
/** Whether to hide the Docs button (defaults to false) */
|
|
1610
|
-
hideDocs?: boolean;
|
|
1611
|
-
/** Whether to hide the Help button (defaults to false) */
|
|
1612
|
-
hideHelp?: boolean;
|
|
1613
|
-
}
|
|
787
|
+
export type CompositeAppHeaderOverrides = z.infer<typeof CompositeAppHeaderOverridesSchema>;
|
|
1614
788
|
|
|
1615
789
|
/**
|
|
1616
790
|
* User menu overrides for the CompositeApp.
|
|
@@ -1619,32 +793,17 @@ export interface CompositeAppHeaderOverrides {
|
|
|
1619
793
|
* Retained for backward compatibility and to seed the default header menu when no
|
|
1620
794
|
* `headerMenu` has been configured yet.
|
|
1621
795
|
*/
|
|
1622
|
-
export
|
|
1623
|
-
/** Whether to hide the User Menu (defaults to false) */
|
|
1624
|
-
hidden?: boolean;
|
|
1625
|
-
}
|
|
796
|
+
export type CompositeAppUserMenuOverrides = z.infer<typeof CompositeAppUserMenuOverridesSchema>;
|
|
1626
797
|
|
|
1627
798
|
/**
|
|
1628
799
|
* Theme overrides for the CompositeApp.
|
|
1629
800
|
*/
|
|
1630
|
-
export
|
|
1631
|
-
/** When true, forces light mode and disables dark mode (defaults to false) */
|
|
1632
|
-
disableDarkMode?: boolean;
|
|
1633
|
-
}
|
|
801
|
+
export type CompositeAppThemeOverrides = z.infer<typeof CompositeAppThemeOverridesSchema>;
|
|
1634
802
|
|
|
1635
803
|
/**
|
|
1636
804
|
* Sidebar display overrides for the CompositeApp.
|
|
1637
805
|
*/
|
|
1638
|
-
export
|
|
1639
|
-
/** Whether to hide section title headers in the sidebar (defaults to false) */
|
|
1640
|
-
hideSectionHeaders?: boolean;
|
|
1641
|
-
/** Whether menu items auto-collapse when navigating (accordion behavior). When false, all items stay expanded. Defaults to true. */
|
|
1642
|
-
autoCollapse?: boolean;
|
|
1643
|
-
/** Whether settings section items auto-collapse when navigating. Independent of autoCollapse which handles all other items. Defaults to true. */
|
|
1644
|
-
autoCollapseSettings?: boolean;
|
|
1645
|
-
/** Whether footer section items auto-collapse when navigating. Independent of autoCollapse which handles all other items. Defaults to true. */
|
|
1646
|
-
autoCollapseFooter?: boolean;
|
|
1647
|
-
}
|
|
806
|
+
export type CompositeAppSidebarOverrides = z.infer<typeof CompositeAppSidebarOverridesSchema>;
|
|
1648
807
|
|
|
1649
808
|
/**
|
|
1650
809
|
* Card display overrides for the CompositeApp in the App Portal.
|
|
@@ -1652,18 +811,7 @@ export interface CompositeAppSidebarOverrides {
|
|
|
1652
811
|
* Allows customers to customize the app portal card (not otherwise possible if using a
|
|
1653
812
|
* shared, Vertesia-managed manifest across accounts).
|
|
1654
813
|
*/
|
|
1655
|
-
export
|
|
1656
|
-
/** Whether to show the CompositeApp card in App Portal (default: false) */
|
|
1657
|
-
visible?: boolean;
|
|
1658
|
-
/** Override the card label (default: "Composite App") */
|
|
1659
|
-
label?: string;
|
|
1660
|
-
/** Override the card description */
|
|
1661
|
-
description?: string;
|
|
1662
|
-
/** Override the card icon (Lucide icon name or SVG content string) */
|
|
1663
|
-
icon?: string;
|
|
1664
|
-
/** Override the card color (e.g., "blue", "red", "purple") */
|
|
1665
|
-
color?: string;
|
|
1666
|
-
}
|
|
814
|
+
export type CompositeAppCardOverrides = z.infer<typeof CompositeAppCardOverridesSchema>;
|
|
1667
815
|
|
|
1668
816
|
// ============================================================================
|
|
1669
817
|
// Sidebar Menu Types
|
|
@@ -1676,14 +824,7 @@ export interface CompositeAppCardOverrides {
|
|
|
1676
824
|
* access is granted when the user matches ANY list (OR logic).
|
|
1677
825
|
* All empty/absent means visible to everyone. Admin users bypass all checks.
|
|
1678
826
|
*/
|
|
1679
|
-
export
|
|
1680
|
-
/** Group IDs whose members can see this item. */
|
|
1681
|
-
groupsAllowed?: string[];
|
|
1682
|
-
/** User IDs who can see this item. */
|
|
1683
|
-
usersAllowed?: string[];
|
|
1684
|
-
/** SystemRoles values (e.g. "developer", "manager") whose holders can see this item. */
|
|
1685
|
-
rolesAllowed?: string[];
|
|
1686
|
-
}
|
|
827
|
+
export type CompositeAppNavItemPermissions = z.infer<typeof CompositeAppNavItemPermissionsSchema>;
|
|
1687
828
|
|
|
1688
829
|
/**
|
|
1689
830
|
* A navigable item in the sidebar menu.
|
|
@@ -1721,23 +862,9 @@ export interface CompositeAppMenuNavItem {
|
|
|
1721
862
|
* A top-level section heading in the sidebar menu.
|
|
1722
863
|
* Sections are always at root level and contain nav-items.
|
|
1723
864
|
*/
|
|
1724
|
-
export
|
|
1725
|
-
/** Stable unique identifier */
|
|
1726
|
-
id: string;
|
|
1727
|
-
/** Section heading label */
|
|
1728
|
-
label: string;
|
|
1729
|
-
/** When true, this section and its items are hidden from the sidebar */
|
|
1730
|
-
hidden?: boolean;
|
|
1731
|
-
/** Ordered nav-items within this section */
|
|
1732
|
-
items: CompositeAppMenuNavItem[];
|
|
1733
|
-
}
|
|
865
|
+
export type CompositeAppMenuSection = z.infer<typeof CompositeAppMenuSectionSchema>;
|
|
1734
866
|
|
|
1735
|
-
export
|
|
1736
|
-
/** The app name to use as the home page */
|
|
1737
|
-
appName: string;
|
|
1738
|
-
/** Optional route within the app (e.g. "/dashboard"). Defaults to "/" */
|
|
1739
|
-
appRoute?: string;
|
|
1740
|
-
}
|
|
867
|
+
export type CompositeAppHomePlugin = z.infer<typeof CompositeAppHomePluginSchema>;
|
|
1741
868
|
|
|
1742
869
|
// ============================================================================
|
|
1743
870
|
// Header Menu Types
|
|
@@ -1749,10 +876,10 @@ export interface CompositeAppHomePlugin {
|
|
|
1749
876
|
* header and cannot be deleted (only hidden/customized); `custom` items are fully
|
|
1750
877
|
* user-defined buttons.
|
|
1751
878
|
*/
|
|
1752
|
-
export type CompositeAppHeaderItemKind =
|
|
879
|
+
export type CompositeAppHeaderItemKind = z.infer<typeof CompositeAppHeaderItemKindSchema>;
|
|
1753
880
|
|
|
1754
881
|
/** Where a header link opens. */
|
|
1755
|
-
export type CompositeAppHeaderItemTarget =
|
|
882
|
+
export type CompositeAppHeaderItemTarget = z.infer<typeof CompositeAppHeaderItemTargetSchema>;
|
|
1756
883
|
|
|
1757
884
|
/** Stable identifiers for the built-in header items. */
|
|
1758
885
|
export const COMPOSITE_APP_HEADER_BUILTIN_IDS = ['app_portal', 'docs', 'help', 'user_menu'] as const;
|
|
@@ -1765,102 +892,30 @@ export const COMPOSITE_APP_HEADER_BUILTIN_IDS = ['app_portal', 'docs', 'help', '
|
|
|
1765
892
|
* The `user_menu` item is special — it renders the account dropdown, so its `icon`,
|
|
1766
893
|
* `href`, and `target` are ignored.
|
|
1767
894
|
*/
|
|
1768
|
-
export
|
|
1769
|
-
/** Stable unique identifier. Built-ins use their kind as id (e.g. "app_portal"). */
|
|
1770
|
-
id: string;
|
|
1771
|
-
/** Item kind. `custom` for user-added buttons; otherwise one of the four built-ins. */
|
|
1772
|
-
kind: CompositeAppHeaderItemKind;
|
|
1773
|
-
/** Display label, used as the button tooltip / accessible name. */
|
|
1774
|
-
label: string;
|
|
1775
|
-
/** Lucide icon name or SVG content string. Ignored for `user_menu`. */
|
|
1776
|
-
icon?: string;
|
|
1777
|
-
/** Destination route ("/...") or external URL. Ignored for `user_menu`. */
|
|
1778
|
-
href?: string;
|
|
1779
|
-
/** Where to open the link (defaults to "_self"). Ignored for `user_menu`. */
|
|
1780
|
-
target?: CompositeAppHeaderItemTarget;
|
|
1781
|
-
/** When true, this item is hidden from the header. */
|
|
1782
|
-
hidden?: boolean;
|
|
1783
|
-
/** Optional access control settings for this header item. */
|
|
1784
|
-
permissions?: CompositeAppNavItemPermissions;
|
|
1785
|
-
}
|
|
895
|
+
export type CompositeAppHeaderItem = z.infer<typeof CompositeAppHeaderItemSchema>;
|
|
1786
896
|
|
|
1787
897
|
/**
|
|
1788
898
|
* CompositeApp shell configuration.
|
|
1789
899
|
* This is the main configuration interface for storing CompositeApp settings.
|
|
1790
900
|
* Used as the MongoDB model for persisting CompositeApp configurations.
|
|
1791
901
|
*/
|
|
1792
|
-
export
|
|
1793
|
-
/**
|
|
1794
|
-
* The unique identifier for this CompositeApp configuration
|
|
1795
|
-
* Undefined if the configuration doesn't exists yet.
|
|
1796
|
-
*/
|
|
1797
|
-
id?: string;
|
|
1798
|
-
/** The project this CompositeApp belongs to */
|
|
1799
|
-
project: string;
|
|
1800
|
-
/** Card display overrides (includes visibility) */
|
|
1801
|
-
card?: CompositeAppCardOverrides;
|
|
1802
|
-
/** Optional logo overrides (replaces default Vertesia logo) */
|
|
1803
|
-
logo?: CompositeAppLogoOverrides;
|
|
1804
|
-
/** Optional message banner overrides */
|
|
1805
|
-
message?: CompositeAppMessageOverrides;
|
|
1806
|
-
/** Optional switcher visibility overrides */
|
|
1807
|
-
switchers?: CompositeAppSwitchersOverrides;
|
|
1808
|
-
/** Optional sidebar display overrides */
|
|
1809
|
-
sidebar?: CompositeAppSidebarOverrides;
|
|
1810
|
-
/**
|
|
1811
|
-
* @deprecated Use `headerMenu` instead. Optional header button visibility overrides.
|
|
1812
|
-
* Still read to seed `headerMenu` defaults for configs saved before the header menu existed.
|
|
1813
|
-
*/
|
|
1814
|
-
header?: CompositeAppHeaderOverrides;
|
|
1815
|
-
/**
|
|
1816
|
-
* @deprecated Use the `user_menu` item in `headerMenu` instead. Optional user menu overrides.
|
|
1817
|
-
* Still read to seed `headerMenu` defaults for configs saved before the header menu existed.
|
|
1818
|
-
*/
|
|
1819
|
-
userMenu?: CompositeAppUserMenuOverrides;
|
|
1820
|
-
/**
|
|
1821
|
-
* Optional free-form header menu. When present, the header renders from this ordered
|
|
1822
|
-
* list instead of the legacy `header`/`userMenu` flags. Built-in items (App Portal,
|
|
1823
|
-
* Docs, Help, User Menu) can be hidden/relabeled/re-icon'd/redirected; custom items
|
|
1824
|
-
* are arbitrary buttons.
|
|
1825
|
-
*/
|
|
1826
|
-
headerMenu?: CompositeAppHeaderItem[];
|
|
1827
|
-
/** Optional theme overrides (e.g. disable dark mode) */
|
|
1828
|
-
theme?: CompositeAppThemeOverrides;
|
|
1829
|
-
/** Optional home page override. When set, redirects "/" to the specified app route instead of the dashboard. Send null to unset. */
|
|
1830
|
-
homePlugin?: CompositeAppHomePlugin | null;
|
|
1831
|
-
/** List of apps to include in the CompositeApp (used for installation tracking and fallback sidebar) */
|
|
1832
|
-
apps: CompositeAppEntry[];
|
|
1833
|
-
/**
|
|
1834
|
-
* Optional sidebar menu. When present, the sidebar renders from this
|
|
1835
|
-
* instead of the apps-based pipeline. Top-level array is sections;
|
|
1836
|
-
* each section contains nav-items.
|
|
1837
|
-
*/
|
|
1838
|
-
menu?: CompositeAppMenuSection[];
|
|
1839
|
-
}
|
|
902
|
+
export type CompositeAppConfig = z.infer<typeof CompositeAppConfigSchema>;
|
|
1840
903
|
|
|
1841
|
-
export type CompositeAppConfigPayload =
|
|
904
|
+
export type CompositeAppConfigPayload = z.infer<typeof CompositeAppConfigPayloadSchema>;
|
|
1842
905
|
|
|
1843
|
-
export
|
|
1844
|
-
url: string;
|
|
1845
|
-
}
|
|
906
|
+
export type ValidateUrlRequest = z.infer<typeof ValidateUrlRequestSchema>;
|
|
1846
907
|
|
|
1847
|
-
export
|
|
1848
|
-
valid: true;
|
|
1849
|
-
}
|
|
908
|
+
export type ValidateUrlResponse = z.infer<typeof ValidateUrlResponseSchema>;
|
|
1850
909
|
|
|
1851
910
|
/**
|
|
1852
911
|
* Result of DELETE /api/v1/apps/:id. With `?confirm=true` the cascade runs and
|
|
1853
912
|
* `deleted: true` is set; without it the endpoint returns a dry-run summary so
|
|
1854
913
|
* the UI can show what would be removed.
|
|
914
|
+
*
|
|
915
|
+
* Inferred from the published component rather than hand-written: the endpoint
|
|
916
|
+
* had been declaring `CountResult`, so response validation reported a missing
|
|
917
|
+
* `count` and every field here as unexpected — and in local development, where
|
|
918
|
+
* the check fails closed, that surfaced as a 500 raised AFTER the app was
|
|
919
|
+
* already deleted. Deriving the type is what keeps the two from drifting again.
|
|
1855
920
|
*/
|
|
1856
|
-
export
|
|
1857
|
-
confirmed: boolean;
|
|
1858
|
-
app_id: string;
|
|
1859
|
-
app_name: string;
|
|
1860
|
-
versions: number;
|
|
1861
|
-
installations: number;
|
|
1862
|
-
storage_prefix: string;
|
|
1863
|
-
git_repo_url?: string;
|
|
1864
|
-
deleted: boolean;
|
|
1865
|
-
warnings: string[];
|
|
1866
|
-
}
|
|
921
|
+
export type AppDeleteSummary = z.infer<typeof AppDeleteSummarySchema>;
|