@vertesia/common 1.5.0-dev.20260722.120446Z → 1.5.0-dev.20260804.124748Z
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/access-control-values.d.ts +98 -0
- package/lib/access-control-values.d.ts.map +1 -0
- package/lib/access-control-values.js +101 -0
- package/lib/access-control-values.js.map +1 -0
- package/lib/access-control.d.ts +22 -119
- package/lib/access-control.d.ts.map +1 -1
- package/lib/access-control.js +6 -78
- package/lib/access-control.js.map +1 -1
- package/lib/account-values.d.ts +53 -0
- package/lib/account-values.d.ts.map +1 -0
- package/lib/account-values.js +91 -0
- package/lib/account-values.js.map +1 -0
- package/lib/analytics.d.ts +12 -38
- package/lib/analytics.d.ts.map +1 -1
- package/lib/api-schemas/access-control.d.ts +215 -0
- package/lib/api-schemas/access-control.d.ts.map +1 -0
- package/lib/api-schemas/access-control.js +165 -0
- package/lib/api-schemas/access-control.js.map +1 -0
- package/lib/api-schemas/account.d.ts +101 -0
- package/lib/api-schemas/account.d.ts.map +1 -0
- package/lib/api-schemas/account.js +136 -0
- package/lib/api-schemas/account.js.map +1 -0
- package/lib/api-schemas/adapter.d.ts +80 -0
- package/lib/api-schemas/adapter.d.ts.map +1 -0
- package/lib/api-schemas/adapter.js +726 -0
- package/lib/api-schemas/adapter.js.map +1 -0
- package/lib/api-schemas/agent-runs.d.ts +3781 -0
- package/lib/api-schemas/agent-runs.d.ts.map +1 -0
- package/lib/api-schemas/agent-runs.js +991 -0
- package/lib/api-schemas/agent-runs.js.map +1 -0
- package/lib/api-schemas/analytics.d.ts +86 -0
- package/lib/api-schemas/analytics.d.ts.map +1 -0
- package/lib/api-schemas/analytics.js +58 -0
- package/lib/api-schemas/analytics.js.map +1 -0
- package/lib/api-schemas/apikey.d.ts +231 -0
- package/lib/api-schemas/apikey.d.ts.map +1 -0
- package/lib/api-schemas/apikey.js +172 -0
- package/lib/api-schemas/apikey.js.map +1 -0
- package/lib/api-schemas/app-lifecycle.d.ts +1114 -0
- package/lib/api-schemas/app-lifecycle.d.ts.map +1 -0
- package/lib/api-schemas/app-lifecycle.js +750 -0
- package/lib/api-schemas/app-lifecycle.js.map +1 -0
- package/lib/api-schemas/app-runtime.d.ts +9056 -0
- package/lib/api-schemas/app-runtime.d.ts.map +1 -0
- package/lib/api-schemas/app-runtime.js +782 -0
- package/lib/api-schemas/app-runtime.js.map +1 -0
- package/lib/api-schemas/apps.d.ts +247 -0
- package/lib/api-schemas/apps.d.ts.map +1 -0
- package/lib/api-schemas/apps.js +366 -0
- package/lib/api-schemas/apps.js.map +1 -0
- package/lib/api-schemas/audit-trail.d.ts +465 -0
- package/lib/api-schemas/audit-trail.d.ts.map +1 -0
- package/lib/api-schemas/audit-trail.js +218 -0
- package/lib/api-schemas/audit-trail.js.map +1 -0
- package/lib/api-schemas/bulk-operation.d.ts +104 -0
- package/lib/api-schemas/bulk-operation.d.ts.map +1 -0
- package/lib/api-schemas/bulk-operation.js +66 -0
- package/lib/api-schemas/bulk-operation.js.map +1 -0
- package/lib/api-schemas/commands.d.ts +50 -0
- package/lib/api-schemas/commands.d.ts.map +1 -0
- package/lib/api-schemas/commands.js +58 -0
- package/lib/api-schemas/commands.js.map +1 -0
- package/lib/api-schemas/content.d.ts +3561 -0
- package/lib/api-schemas/content.d.ts.map +1 -0
- package/lib/api-schemas/content.js +842 -0
- package/lib/api-schemas/content.js.map +1 -0
- package/lib/api-schemas/cost-analytics.d.ts +300 -0
- package/lib/api-schemas/cost-analytics.d.ts.map +1 -0
- package/lib/api-schemas/cost-analytics.js +218 -0
- package/lib/api-schemas/cost-analytics.js.map +1 -0
- package/lib/api-schemas/dashboard.d.ts +408 -0
- package/lib/api-schemas/dashboard.d.ts.map +1 -0
- package/lib/api-schemas/dashboard.js +311 -0
- package/lib/api-schemas/dashboard.js.map +1 -0
- package/lib/api-schemas/data-store.d.ts +1650 -0
- package/lib/api-schemas/data-store.d.ts.map +1 -0
- package/lib/api-schemas/data-store.js +504 -0
- package/lib/api-schemas/data-store.js.map +1 -0
- package/lib/api-schemas/document-processing.d.ts +1501 -0
- package/lib/api-schemas/document-processing.d.ts.map +1 -0
- package/lib/api-schemas/document-processing.js +312 -0
- package/lib/api-schemas/document-processing.js.map +1 -0
- package/lib/api-schemas/embeddings.d.ts +184 -0
- package/lib/api-schemas/embeddings.d.ts.map +1 -0
- package/lib/api-schemas/embeddings.js +102 -0
- package/lib/api-schemas/embeddings.js.map +1 -0
- package/lib/api-schemas/environment.d.ts +412 -0
- package/lib/api-schemas/environment.d.ts.map +1 -0
- package/lib/api-schemas/environment.js +170 -0
- package/lib/api-schemas/environment.js.map +1 -0
- package/lib/api-schemas/events.d.ts +4880 -0
- package/lib/api-schemas/events.d.ts.map +1 -0
- package/lib/api-schemas/events.js +832 -0
- package/lib/api-schemas/events.js.map +1 -0
- package/lib/api-schemas/files.d.ts +107 -0
- package/lib/api-schemas/files.d.ts.map +1 -0
- package/lib/api-schemas/files.js +137 -0
- package/lib/api-schemas/files.js.map +1 -0
- package/lib/api-schemas/group.d.ts +122 -0
- package/lib/api-schemas/group.d.ts.map +1 -0
- package/lib/api-schemas/group.js +142 -0
- package/lib/api-schemas/group.js.map +1 -0
- package/lib/api-schemas/index.d.ts +36 -0
- package/lib/api-schemas/index.d.ts.map +1 -0
- package/lib/api-schemas/index.js +36 -0
- package/lib/api-schemas/index.js.map +1 -0
- package/lib/api-schemas/indexing.d.ts +144 -0
- package/lib/api-schemas/indexing.d.ts.map +1 -0
- package/lib/api-schemas/indexing.js +217 -0
- package/lib/api-schemas/indexing.js.map +1 -0
- package/lib/api-schemas/integrations.d.ts +269 -0
- package/lib/api-schemas/integrations.d.ts.map +1 -0
- package/lib/api-schemas/integrations.js +335 -0
- package/lib/api-schemas/integrations.js.map +1 -0
- package/lib/api-schemas/interaction.d.ts +22454 -0
- package/lib/api-schemas/interaction.d.ts.map +1 -0
- package/lib/api-schemas/interaction.js +2065 -0
- package/lib/api-schemas/interaction.js.map +1 -0
- package/lib/api-schemas/invites.d.ts +162 -0
- package/lib/api-schemas/invites.d.ts.map +1 -0
- package/lib/api-schemas/invites.js +106 -0
- package/lib/api-schemas/invites.js.map +1 -0
- package/lib/api-schemas/oauth-server.d.ts +415 -0
- package/lib/api-schemas/oauth-server.d.ts.map +1 -0
- package/lib/api-schemas/oauth-server.js +193 -0
- package/lib/api-schemas/oauth-server.js.map +1 -0
- package/lib/api-schemas/oauth.d.ts +150 -0
- package/lib/api-schemas/oauth.d.ts.map +1 -0
- package/lib/api-schemas/oauth.js +148 -0
- package/lib/api-schemas/oauth.js.map +1 -0
- package/lib/api-schemas/parameters.d.ts +64 -0
- package/lib/api-schemas/parameters.d.ts.map +1 -0
- package/lib/api-schemas/parameters.js +246 -0
- package/lib/api-schemas/parameters.js.map +1 -0
- package/lib/api-schemas/process.d.ts +499 -0
- package/lib/api-schemas/process.d.ts.map +1 -0
- package/lib/api-schemas/process.js +817 -0
- package/lib/api-schemas/process.js.map +1 -0
- package/lib/api-schemas/project-configuration.d.ts +4900 -0
- package/lib/api-schemas/project-configuration.d.ts.map +1 -0
- package/lib/api-schemas/project-configuration.js +425 -0
- package/lib/api-schemas/project-configuration.js.map +1 -0
- package/lib/api-schemas/project.d.ts +7247 -0
- package/lib/api-schemas/project.d.ts.map +1 -0
- package/lib/api-schemas/project.js +185 -0
- package/lib/api-schemas/project.js.map +1 -0
- package/lib/api-schemas/prompt.d.ts +70 -0
- package/lib/api-schemas/prompt.d.ts.map +1 -0
- package/lib/api-schemas/prompt.js +77 -0
- package/lib/api-schemas/prompt.js.map +1 -0
- package/lib/api-schemas/quota.d.ts +90 -0
- package/lib/api-schemas/quota.d.ts.map +1 -0
- package/lib/api-schemas/quota.js +95 -0
- package/lib/api-schemas/quota.js.map +1 -0
- package/lib/api-schemas/registry.d.ts +97458 -0
- package/lib/api-schemas/registry.d.ts.map +1 -0
- package/lib/api-schemas/registry.js +2586 -0
- package/lib/api-schemas/registry.js.map +1 -0
- package/lib/api-schemas/schema-primitives.d.ts +5 -0
- package/lib/api-schemas/schema-primitives.d.ts.map +1 -0
- package/lib/api-schemas/schema-primitives.js +11 -0
- package/lib/api-schemas/schema-primitives.js.map +1 -0
- package/lib/api-schemas/secrets.d.ts +497 -0
- package/lib/api-schemas/secrets.d.ts.map +1 -0
- package/lib/api-schemas/secrets.js +298 -0
- package/lib/api-schemas/secrets.js.map +1 -0
- package/lib/api-schemas/store.d.ts +22140 -0
- package/lib/api-schemas/store.d.ts.map +1 -0
- package/lib/api-schemas/store.js +557 -0
- package/lib/api-schemas/store.js.map +1 -0
- package/lib/api-schemas/sts.d.ts +156 -0
- package/lib/api-schemas/sts.d.ts.map +1 -0
- package/lib/api-schemas/sts.js +96 -0
- package/lib/api-schemas/sts.js.map +1 -0
- package/lib/api-schemas/task.d.ts +215 -0
- package/lib/api-schemas/task.d.ts.map +1 -0
- package/lib/api-schemas/task.js +95 -0
- package/lib/api-schemas/task.js.map +1 -0
- package/lib/api-schemas/tools.d.ts +111 -0
- package/lib/api-schemas/tools.d.ts.map +1 -0
- package/lib/api-schemas/tools.js +122 -0
- package/lib/api-schemas/tools.js.map +1 -0
- package/lib/api-schemas/user.d.ts +208 -0
- package/lib/api-schemas/user.d.ts.map +1 -0
- package/lib/api-schemas/user.js +180 -0
- package/lib/api-schemas/user.js.map +1 -0
- package/lib/api-schemas/view-execution.d.ts +3163 -0
- package/lib/api-schemas/view-execution.d.ts.map +1 -0
- package/lib/api-schemas/view-execution.js +172 -0
- package/lib/api-schemas/view-execution.js.map +1 -0
- package/lib/api-schemas/views.d.ts +5990 -0
- package/lib/api-schemas/views.d.ts.map +1 -0
- package/lib/api-schemas/views.js +396 -0
- package/lib/api-schemas/views.js.map +1 -0
- package/lib/api-schemas/workflow-runs.d.ts +2209 -0
- package/lib/api-schemas/workflow-runs.d.ts.map +1 -0
- package/lib/api-schemas/workflow-runs.js +589 -0
- package/lib/api-schemas/workflow-runs.js.map +1 -0
- package/lib/apikey-values.d.ts +10 -0
- package/lib/apikey-values.d.ts.map +1 -0
- package/lib/apikey-values.js +11 -0
- package/lib/apikey-values.js.map +1 -0
- package/lib/apikey.d.ts +37 -36
- package/lib/apikey.d.ts.map +1 -1
- package/lib/apikey.js +5 -4
- package/lib/apikey.js.map +1 -1
- package/lib/apps.d.ts +116 -1121
- package/lib/apps.d.ts.map +1 -1
- package/lib/apps.js.map +1 -1
- package/lib/ask-user.d.ts +8 -1
- package/lib/ask-user.d.ts.map +1 -1
- package/lib/audit-trail.d.ts +17 -128
- package/lib/audit-trail.d.ts.map +1 -1
- package/lib/audit-trail.js.map +1 -1
- package/lib/browser-credentials.d.ts +11 -106
- package/lib/browser-credentials.d.ts.map +1 -1
- package/lib/common.d.ts +59 -81
- package/lib/common.d.ts.map +1 -1
- package/lib/cost-analytics.d.ts +14 -167
- package/lib/cost-analytics.d.ts.map +1 -1
- package/lib/cost-analytics.js.map +1 -1
- package/lib/data-platform.d.ts +122 -786
- package/lib/data-platform.d.ts.map +1 -1
- package/lib/data-platform.js +41 -61
- package/lib/data-platform.js.map +1 -1
- package/lib/email.d.ts +5 -17
- package/lib/email.d.ts.map +1 -1
- package/lib/email.js +0 -3
- package/lib/email.js.map +1 -1
- package/lib/embeddings.d.ts +14 -56
- package/lib/embeddings.d.ts.map +1 -1
- package/lib/environment.d.ts +19 -113
- package/lib/environment.d.ts.map +1 -1
- package/lib/environment.js +3 -0
- package/lib/environment.js.map +1 -1
- package/lib/facets.d.ts +4 -7
- package/lib/facets.d.ts.map +1 -1
- package/lib/group.d.ts +33 -39
- package/lib/group.d.ts.map +1 -1
- package/lib/group.js +0 -1
- package/lib/group.js.map +1 -1
- package/lib/index.d.ts +7 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/integrations.d.ts +20 -108
- package/lib/integrations.d.ts.map +1 -1
- package/lib/integrations.js.map +1 -1
- package/lib/interaction-values.d.ts +11 -0
- package/lib/interaction-values.d.ts.map +1 -0
- package/lib/interaction-values.js +24 -0
- package/lib/interaction-values.js.map +1 -0
- package/lib/interaction.d.ts +116 -734
- package/lib/interaction.d.ts.map +1 -1
- package/lib/interaction.js +56 -12
- package/lib/interaction.js.map +1 -1
- package/lib/meters.d.ts +11 -7
- package/lib/meters.d.ts.map +1 -1
- package/lib/meters.js.map +1 -1
- package/lib/oauth-server.d.ts +33 -119
- package/lib/oauth-server.d.ts.map +1 -1
- package/lib/oauth.d.ts +14 -96
- package/lib/oauth.d.ts.map +1 -1
- package/lib/oauth.js +0 -4
- package/lib/oauth.js.map +1 -1
- package/lib/payload.d.ts +15 -38
- package/lib/payload.d.ts.map +1 -1
- package/lib/platform-event.d.ts +49 -462
- package/lib/platform-event.d.ts.map +1 -1
- package/lib/platform-event.js.map +1 -1
- package/lib/principal-context.d.ts +10 -15
- package/lib/principal-context.d.ts.map +1 -1
- package/lib/project-values.d.ts +24 -0
- package/lib/project-values.d.ts.map +1 -0
- package/lib/project-values.js +42 -0
- package/lib/project-values.js.map +1 -0
- package/lib/project.d.ts +55 -503
- package/lib/project.d.ts.map +1 -1
- package/lib/project.js +6 -76
- package/lib/project.js.map +1 -1
- package/lib/prompt.d.ts +20 -51
- package/lib/prompt.d.ts.map +1 -1
- package/lib/prompt.js.map +1 -1
- package/lib/query.d.ts +27 -88
- package/lib/query.d.ts.map +1 -1
- package/lib/rate-limiter.d.ts +19 -70
- package/lib/rate-limiter.d.ts.map +1 -1
- package/lib/rate-limiter.js +0 -3
- package/lib/rate-limiter.js.map +1 -1
- package/lib/refs.d.ts +3 -11
- package/lib/refs.d.ts.map +1 -1
- package/lib/refs.js.map +1 -1
- package/lib/roles/types.d.ts +14 -20
- package/lib/roles/types.d.ts.map +1 -1
- package/lib/roles/types.js +5 -9
- package/lib/roles/types.js.map +1 -1
- package/lib/runs.d.ts +6 -25
- package/lib/runs.d.ts.map +1 -1
- package/lib/secrets.d.ts +20 -105
- package/lib/secrets.d.ts.map +1 -1
- package/lib/store/agent-approval.d.ts +5 -14
- package/lib/store/agent-approval.d.ts.map +1 -1
- package/lib/store/agent-approval.js.map +1 -1
- package/lib/store/agent-run.d.ts +63 -342
- package/lib/store/agent-run.d.ts.map +1 -1
- package/lib/store/collections.d.ts +11 -63
- package/lib/store/collections.d.ts.map +1 -1
- package/lib/store/collections.js.map +1 -1
- package/lib/store/conversation-state.d.ts +63 -61
- package/lib/store/conversation-state.d.ts.map +1 -1
- package/lib/store/conversation-state.js +2 -0
- package/lib/store/conversation-state.js.map +1 -1
- package/lib/store/doc-analyzer.d.ts +9 -32
- package/lib/store/doc-analyzer.d.ts.map +1 -1
- package/lib/store/dsl-workflow.d.ts +37 -151
- package/lib/store/dsl-workflow.d.ts.map +1 -1
- package/lib/store/dsl-workflow.js.map +1 -1
- package/lib/store/editing-policy-schema.generated.d.ts +3 -0
- package/lib/store/editing-policy-schema.generated.d.ts.map +1 -0
- package/lib/store/editing-policy-schema.generated.js +28 -0
- package/lib/store/editing-policy-schema.generated.js.map +1 -0
- package/lib/store/grounded-extraction.d.ts +7 -104
- package/lib/store/grounded-extraction.d.ts.map +1 -1
- package/lib/store/grounded-extraction.js.map +1 -1
- package/lib/store/index.d.ts +2 -0
- package/lib/store/index.d.ts.map +1 -1
- package/lib/store/index.js +3 -0
- package/lib/store/index.js.map +1 -1
- package/lib/store/intake-policy-schema.generated.d.ts +3 -0
- package/lib/store/intake-policy-schema.generated.d.ts.map +1 -0
- package/lib/store/intake-policy-schema.generated.js +1425 -0
- package/lib/store/intake-policy-schema.generated.js.map +1 -0
- package/lib/store/process-schema.d.ts +80 -0
- package/lib/store/process-schema.d.ts.map +1 -1
- package/lib/store/process-schema.js +79 -0
- package/lib/store/process-schema.js.map +1 -1
- package/lib/store/process-validation.d.ts.map +1 -1
- package/lib/store/process-validation.js +70 -2
- package/lib/store/process-validation.js.map +1 -1
- package/lib/store/process.d.ts +36 -125
- package/lib/store/process.d.ts.map +1 -1
- package/lib/store/process.js.map +1 -1
- package/lib/store/rendering.d.ts +9 -64
- package/lib/store/rendering.d.ts.map +1 -1
- package/lib/store/rendering.js.map +1 -1
- package/lib/store/store.d.ts +98 -693
- package/lib/store/store.d.ts.map +1 -1
- package/lib/store/store.js +4 -443
- package/lib/store/store.js.map +1 -1
- package/lib/store/task.d.ts +15 -59
- package/lib/store/task.d.ts.map +1 -1
- package/lib/store/task.js +0 -3
- package/lib/store/task.js.map +1 -1
- package/lib/store/workflow.d.ts +56 -516
- package/lib/store/workflow.d.ts.map +1 -1
- package/lib/store/workflow.js +28 -11
- package/lib/store/workflow.js.map +1 -1
- package/lib/sts-token-types.d.ts +12 -66
- package/lib/sts-token-types.d.ts.map +1 -1
- package/lib/sts-token-types.js.map +1 -1
- package/lib/tools.d.ts +8 -100
- package/lib/tools.d.ts.map +1 -1
- package/lib/transient-tokens-values.d.ts +11 -0
- package/lib/transient-tokens-values.d.ts.map +1 -0
- package/lib/transient-tokens-values.js +12 -0
- package/lib/transient-tokens-values.js.map +1 -0
- package/lib/transient-tokens.d.ts +15 -13
- package/lib/transient-tokens.d.ts.map +1 -1
- package/lib/transient-tokens.js +5 -5
- package/lib/transient-tokens.js.map +1 -1
- package/lib/user.d.ts +54 -155
- package/lib/user.d.ts.map +1 -1
- package/lib/user.js +1 -78
- package/lib/user.js.map +1 -1
- package/lib/versions.d.ts +24 -1
- package/lib/versions.d.ts.map +1 -1
- package/lib/versions.js +23 -0
- package/lib/versions.js.map +1 -1
- package/lib/vertesia-common.js +6 -2
- package/lib/vertesia-common.js.map +1 -1
- package/lib/views-schema.d.ts +4 -4
- package/lib/views.d.ts +56 -312
- package/lib/views.d.ts.map +1 -1
- package/lib/views.js.map +1 -1
- package/package.json +14 -5
- package/src/access-control-values.ts +113 -0
- package/src/access-control.ts +33 -138
- package/src/account-values.ts +95 -0
- package/src/agent-resources.test.ts +100 -0
- package/src/analytics.ts +18 -42
- package/src/api-schemas/access-control.contract.test.ts +209 -0
- package/src/api-schemas/access-control.ts +208 -0
- package/src/api-schemas/account.contract.test.ts +318 -0
- package/src/api-schemas/account.ts +150 -0
- package/src/api-schemas/adapter-edge-cases.test.ts +480 -0
- package/src/api-schemas/adapter.ts +778 -0
- package/src/api-schemas/agent-runs.ts +1081 -0
- package/src/api-schemas/analytics.ts +65 -0
- package/src/api-schemas/apikey.contract.test.ts +270 -0
- package/src/api-schemas/apikey.ts +199 -0
- package/src/api-schemas/app-lifecycle.ts +841 -0
- package/src/api-schemas/app-runtime.ts +919 -0
- package/src/api-schemas/apps.ts +415 -0
- package/src/api-schemas/audit-trail.ts +243 -0
- package/src/api-schemas/bulk-operation.contract.test.ts +39 -0
- package/src/api-schemas/bulk-operation.ts +75 -0
- package/src/api-schemas/bundle-isolation.test.ts +80 -0
- package/src/api-schemas/commands.contract.test.ts +51 -0
- package/src/api-schemas/commands.ts +62 -0
- package/src/api-schemas/content.ts +939 -0
- package/src/api-schemas/cost-analytics.contract.test.ts +64 -0
- package/src/api-schemas/cost-analytics.ts +235 -0
- package/src/api-schemas/dashboard.contract.test.ts +127 -0
- package/src/api-schemas/dashboard.ts +351 -0
- package/src/api-schemas/data-store.contract.test.ts +91 -0
- package/src/api-schemas/data-store.ts +571 -0
- package/src/api-schemas/document-processing.contract.test.ts +76 -0
- package/src/api-schemas/document-processing.ts +344 -0
- package/src/api-schemas/embeddings.ts +113 -0
- package/src/api-schemas/environment.contract.test.ts +184 -0
- package/src/api-schemas/environment.ts +190 -0
- package/src/api-schemas/events.ts +921 -0
- package/src/api-schemas/files.ts +159 -0
- package/src/api-schemas/group.contract.test.ts +205 -0
- package/src/api-schemas/group.ts +155 -0
- package/src/api-schemas/index.ts +35 -0
- package/src/api-schemas/indexing.contract.test.ts +83 -0
- package/src/api-schemas/indexing.ts +234 -0
- package/src/api-schemas/integrations.ts +369 -0
- package/src/api-schemas/interaction.ts +2357 -0
- package/src/api-schemas/invites.contract.test.ts +268 -0
- package/src/api-schemas/invites.ts +127 -0
- package/src/api-schemas/llumiverse.contract.test.ts +108 -0
- package/src/api-schemas/oauth-server.ts +219 -0
- package/src/api-schemas/oauth.contract.test.ts +118 -0
- package/src/api-schemas/oauth.ts +166 -0
- package/src/api-schemas/parameters.test.ts +402 -0
- package/src/api-schemas/parameters.ts +310 -0
- package/src/api-schemas/process.ts +929 -0
- package/src/api-schemas/project-configuration.ts +478 -0
- package/src/api-schemas/project.contract.test.ts +365 -0
- package/src/api-schemas/project.ts +214 -0
- package/src/api-schemas/prompt.ts +88 -0
- package/src/api-schemas/pruning-limits.test.ts +189 -0
- package/src/api-schemas/quota.contract.test.ts +147 -0
- package/src/api-schemas/quota.ts +122 -0
- package/src/api-schemas/registry-groups.test.ts +91 -0
- package/src/api-schemas/registry.ts +3487 -0
- package/src/api-schemas/response-pruning.test.ts +260 -0
- package/src/api-schemas/schema-primitives.ts +12 -0
- package/src/api-schemas/secrets.ts +332 -0
- package/src/api-schemas/store.contract.test.ts +450 -0
- package/src/api-schemas/store.ts +604 -0
- package/src/api-schemas/sts.contract.test.ts +80 -0
- package/src/api-schemas/sts.ts +110 -0
- package/src/api-schemas/task.ts +104 -0
- package/src/api-schemas/tools.ts +140 -0
- package/src/api-schemas/user.contract.test.ts +191 -0
- package/src/api-schemas/user.ts +204 -0
- package/src/api-schemas/view-execution.ts +200 -0
- package/src/api-schemas/views.ts +437 -0
- package/src/api-schemas/workflow-runs.ts +653 -0
- package/src/apikey-values.ts +10 -0
- package/src/apikey.ts +49 -40
- package/src/apps.ts +249 -1179
- package/src/ask-user.ts +9 -1
- package/src/audit-trail.ts +45 -137
- package/src/browser-credentials.ts +21 -106
- package/src/common.ts +67 -78
- package/src/cost-analytics.ts +37 -176
- package/src/data-platform.ts +205 -776
- package/src/email.ts +5 -17
- package/src/embeddings.ts +22 -60
- package/src/environment.ts +52 -124
- package/src/facets.ts +4 -7
- package/src/group.ts +38 -42
- package/src/index.ts +11 -0
- package/src/integrations.ts +39 -129
- package/src/interaction-values.ts +23 -0
- package/src/interaction.ts +231 -841
- package/src/meters.ts +11 -7
- package/src/oauth-server.ts +58 -127
- package/src/oauth.ts +24 -108
- package/src/payload.ts +25 -40
- package/src/platform-event.ts +98 -484
- package/src/principal-context.ts +11 -15
- package/src/project-values.ts +41 -0
- package/src/project.ts +116 -588
- package/src/prompt.ts +34 -61
- package/src/query.ts +34 -93
- package/src/rate-limiter.ts +27 -75
- package/src/refs.ts +4 -11
- package/src/roles/types.ts +20 -20
- package/src/runs.ts +11 -24
- package/src/secrets.ts +38 -117
- package/src/store/agent-approval.ts +9 -14
- package/src/store/agent-run.ts +106 -434
- package/src/store/collections.ts +21 -63
- package/src/store/content-type-editing.test.ts +17 -0
- package/src/store/conversation-state.ts +78 -64
- package/src/store/doc-analyzer.ts +17 -33
- package/src/store/dsl-workflow.ts +62 -158
- package/src/store/editing-policy-schema.generated.ts +30 -0
- package/src/store/grounded-extraction.ts +13 -104
- package/src/store/index.ts +3 -0
- package/src/store/intake-policy-schema.generated.ts +1442 -0
- package/src/store/process-schema.test.ts +43 -0
- package/src/store/process-schema.ts +79 -0
- package/src/store/process-validation.test.ts +141 -0
- package/src/store/process-validation.ts +82 -2
- package/src/store/process.ts +70 -146
- package/src/store/rendering.ts +15 -64
- package/src/store/store.ts +197 -1182
- package/src/store/task.ts +25 -59
- package/src/store/workflow.ts +103 -554
- package/src/sts-token-types.ts +24 -75
- package/src/tools.ts +18 -97
- package/src/transient-tokens-values.ts +11 -0
- package/src/transient-tokens.ts +16 -13
- package/src/user.ts +74 -214
- package/src/versions.ts +24 -0
- package/src/views-schema.test.ts +9 -1
- package/src/views.ts +106 -329
|
@@ -69,6 +69,49 @@ describe('process definition JSON schema', () => {
|
|
|
69
69
|
expect(validate(validDefinition())).toBe(true);
|
|
70
70
|
});
|
|
71
71
|
|
|
72
|
+
it('accepts inline script sources and script nodes', () => {
|
|
73
|
+
const validate = new Ajv.default({ allErrors: true, strict: false }).compile(ProcessDefinitionBodyJsonSchema);
|
|
74
|
+
const definition = validDefinition();
|
|
75
|
+
definition.resources = {
|
|
76
|
+
scripts: {
|
|
77
|
+
normalize: {
|
|
78
|
+
language: 'typescript',
|
|
79
|
+
entrypoint: 'main.ts',
|
|
80
|
+
source: {
|
|
81
|
+
type: 'inline',
|
|
82
|
+
files: {
|
|
83
|
+
'main.ts': 'console.log("ok");',
|
|
84
|
+
},
|
|
85
|
+
},
|
|
86
|
+
packages: ['zod@4.0.0'],
|
|
87
|
+
},
|
|
88
|
+
},
|
|
89
|
+
};
|
|
90
|
+
definition.nodes.fanout.node = {
|
|
91
|
+
type: 'script',
|
|
92
|
+
script: 'normalize',
|
|
93
|
+
timeout: 120,
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
expect(validate(definition)).toBe(true);
|
|
97
|
+
});
|
|
98
|
+
|
|
99
|
+
it('rejects legacy script resources without a source discriminator', () => {
|
|
100
|
+
const validate = new Ajv.default({ allErrors: true, strict: false }).compile(ProcessDefinitionBodyJsonSchema);
|
|
101
|
+
const definition = validDefinition() as unknown as Record<string, unknown>;
|
|
102
|
+
definition.resources = {
|
|
103
|
+
scripts: {
|
|
104
|
+
normalize: {
|
|
105
|
+
language: 'typescript',
|
|
106
|
+
entrypoint: 'main.ts',
|
|
107
|
+
files: { 'main.ts': 'console.log("ok");' },
|
|
108
|
+
},
|
|
109
|
+
},
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
expect(validate(definition)).toBe(false);
|
|
113
|
+
});
|
|
114
|
+
|
|
72
115
|
it('rejects malformed process definition shape for editor diagnostics', () => {
|
|
73
116
|
const validate = new Ajv.default({ allErrors: true, strict: false }).compile(ProcessDefinitionBodyJsonSchema);
|
|
74
117
|
const invalidDefinition = {
|
|
@@ -32,6 +32,9 @@ export const ProcessDefinitionBodyJsonSchema = {
|
|
|
32
32
|
nullable: true,
|
|
33
33
|
description: 'Optional default model for agent and interaction nodes.',
|
|
34
34
|
},
|
|
35
|
+
resources: {
|
|
36
|
+
$ref: '#/$defs/processResourcesDefinition',
|
|
37
|
+
},
|
|
35
38
|
context: {
|
|
36
39
|
$ref: '#/$defs/processContextDefinition',
|
|
37
40
|
},
|
|
@@ -91,6 +94,7 @@ export const ProcessDefinitionBodyJsonSchema = {
|
|
|
91
94
|
'tool',
|
|
92
95
|
'interaction',
|
|
93
96
|
'agent',
|
|
97
|
+
'script',
|
|
94
98
|
'process',
|
|
95
99
|
'human_task',
|
|
96
100
|
'foreach',
|
|
@@ -105,6 +109,18 @@ export const ProcessDefinitionBodyJsonSchema = {
|
|
|
105
109
|
nullable: true,
|
|
106
110
|
description: 'Builtin or remote tool name for tool nodes.',
|
|
107
111
|
},
|
|
112
|
+
script: {
|
|
113
|
+
type: 'string',
|
|
114
|
+
nullable: true,
|
|
115
|
+
description: 'Named process script resource for script nodes.',
|
|
116
|
+
},
|
|
117
|
+
timeout: {
|
|
118
|
+
type: 'integer',
|
|
119
|
+
minimum: 1,
|
|
120
|
+
maximum: 600,
|
|
121
|
+
nullable: true,
|
|
122
|
+
description: 'Script execution timeout in seconds.',
|
|
123
|
+
},
|
|
108
124
|
interaction: {
|
|
109
125
|
type: 'string',
|
|
110
126
|
nullable: true,
|
|
@@ -294,6 +310,69 @@ export const ProcessDefinitionBodyJsonSchema = {
|
|
|
294
310
|
required: ['to'],
|
|
295
311
|
additionalProperties: false,
|
|
296
312
|
},
|
|
313
|
+
processResourcesDefinition: {
|
|
314
|
+
type: 'object',
|
|
315
|
+
nullable: true,
|
|
316
|
+
properties: {
|
|
317
|
+
scripts: {
|
|
318
|
+
type: 'object',
|
|
319
|
+
nullable: true,
|
|
320
|
+
description: 'Named script resources available to script nodes.',
|
|
321
|
+
required: [],
|
|
322
|
+
additionalProperties: {
|
|
323
|
+
$ref: '#/$defs/processScriptResource',
|
|
324
|
+
},
|
|
325
|
+
},
|
|
326
|
+
},
|
|
327
|
+
required: [],
|
|
328
|
+
additionalProperties: false,
|
|
329
|
+
},
|
|
330
|
+
processScriptResource: {
|
|
331
|
+
type: 'object',
|
|
332
|
+
properties: {
|
|
333
|
+
language: {
|
|
334
|
+
type: 'string',
|
|
335
|
+
enum: ['python', 'javascript', 'typescript'],
|
|
336
|
+
},
|
|
337
|
+
entrypoint: {
|
|
338
|
+
type: 'string',
|
|
339
|
+
minLength: 1,
|
|
340
|
+
},
|
|
341
|
+
source: {
|
|
342
|
+
$ref: '#/$defs/processScriptSource',
|
|
343
|
+
},
|
|
344
|
+
packages: {
|
|
345
|
+
type: 'array',
|
|
346
|
+
nullable: true,
|
|
347
|
+
items: { type: 'string' },
|
|
348
|
+
},
|
|
349
|
+
},
|
|
350
|
+
required: ['language', 'entrypoint', 'source'],
|
|
351
|
+
additionalProperties: false,
|
|
352
|
+
},
|
|
353
|
+
processScriptSource: {
|
|
354
|
+
$ref: '#/$defs/processScriptInlineSource',
|
|
355
|
+
},
|
|
356
|
+
processScriptInlineSource: {
|
|
357
|
+
type: 'object',
|
|
358
|
+
properties: {
|
|
359
|
+
type: {
|
|
360
|
+
type: 'string',
|
|
361
|
+
const: 'inline',
|
|
362
|
+
description: 'Source discriminator. Additional source types may be added in future versions.',
|
|
363
|
+
},
|
|
364
|
+
files: {
|
|
365
|
+
type: 'object',
|
|
366
|
+
minProperties: 1,
|
|
367
|
+
required: [],
|
|
368
|
+
additionalProperties: {
|
|
369
|
+
type: 'string',
|
|
370
|
+
},
|
|
371
|
+
},
|
|
372
|
+
},
|
|
373
|
+
required: ['type', 'files'],
|
|
374
|
+
additionalProperties: false,
|
|
375
|
+
},
|
|
297
376
|
branchDefinition: {
|
|
298
377
|
type: 'object',
|
|
299
378
|
properties: {
|
|
@@ -52,6 +52,147 @@ describe('process definition validation', () => {
|
|
|
52
52
|
expect(() => validateProcessDefinitionBody(validDefinition())).not.toThrow();
|
|
53
53
|
});
|
|
54
54
|
|
|
55
|
+
it('accepts inline script sources and script fanout children', () => {
|
|
56
|
+
const definition = validDefinition();
|
|
57
|
+
definition.resources = {
|
|
58
|
+
scripts: {
|
|
59
|
+
score_contract: {
|
|
60
|
+
language: 'python',
|
|
61
|
+
entrypoint: 'main.py',
|
|
62
|
+
source: {
|
|
63
|
+
type: 'inline',
|
|
64
|
+
files: {
|
|
65
|
+
'main.py': 'print("ok")',
|
|
66
|
+
'lib/helpers.py': 'def score(value): return value',
|
|
67
|
+
},
|
|
68
|
+
},
|
|
69
|
+
packages: ['pandas>=2.0'],
|
|
70
|
+
},
|
|
71
|
+
normalize_json: {
|
|
72
|
+
language: 'javascript',
|
|
73
|
+
entrypoint: 'main.js',
|
|
74
|
+
source: {
|
|
75
|
+
type: 'inline',
|
|
76
|
+
files: { 'main.js': 'console.log("ok")' },
|
|
77
|
+
},
|
|
78
|
+
packages: ['zod@4.0.0'],
|
|
79
|
+
},
|
|
80
|
+
reshape_types: {
|
|
81
|
+
language: 'typescript',
|
|
82
|
+
entrypoint: 'main.ts',
|
|
83
|
+
source: {
|
|
84
|
+
type: 'inline',
|
|
85
|
+
files: { 'main.ts': 'console.log("ok")' },
|
|
86
|
+
},
|
|
87
|
+
packages: ['@types/node', '@vertesia/client@latest'],
|
|
88
|
+
},
|
|
89
|
+
},
|
|
90
|
+
};
|
|
91
|
+
definition.initial = 'score';
|
|
92
|
+
definition.nodes.score = {
|
|
93
|
+
type: 'script',
|
|
94
|
+
script: 'score_contract',
|
|
95
|
+
timeout: 60,
|
|
96
|
+
writes: ['approved'],
|
|
97
|
+
transitions: [{ to: 'approved' }],
|
|
98
|
+
};
|
|
99
|
+
definition.nodes.fanout = {
|
|
100
|
+
type: 'foreach',
|
|
101
|
+
foreach: 'items',
|
|
102
|
+
node: {
|
|
103
|
+
type: 'script',
|
|
104
|
+
script: 'score_contract',
|
|
105
|
+
},
|
|
106
|
+
transitions: [{ to: 'approved' }],
|
|
107
|
+
};
|
|
108
|
+
definition.nodes.parallel = {
|
|
109
|
+
type: 'branch',
|
|
110
|
+
branches: [
|
|
111
|
+
{
|
|
112
|
+
id: 'normalize',
|
|
113
|
+
node: {
|
|
114
|
+
type: 'script',
|
|
115
|
+
script: 'normalize_json',
|
|
116
|
+
},
|
|
117
|
+
},
|
|
118
|
+
],
|
|
119
|
+
transitions: [{ to: 'approved' }],
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
expect(() => validateProcessDefinitionBody(definition)).not.toThrow();
|
|
123
|
+
});
|
|
124
|
+
|
|
125
|
+
it('rejects invalid script resources and references', () => {
|
|
126
|
+
const definition = validDefinition();
|
|
127
|
+
definition.resources = {
|
|
128
|
+
scripts: {
|
|
129
|
+
'bad resource': {
|
|
130
|
+
language: 'python',
|
|
131
|
+
entrypoint: 'missing.py',
|
|
132
|
+
source: {
|
|
133
|
+
type: 'inline',
|
|
134
|
+
files: {
|
|
135
|
+
'../escape.py': 'print("no")',
|
|
136
|
+
},
|
|
137
|
+
},
|
|
138
|
+
packages: ['--index-url=evil', 'zod@latest`whoami`'],
|
|
139
|
+
},
|
|
140
|
+
},
|
|
141
|
+
};
|
|
142
|
+
definition.nodes.review = {
|
|
143
|
+
type: 'script',
|
|
144
|
+
script: 'missing',
|
|
145
|
+
timeout: 601,
|
|
146
|
+
transitions: [{ to: 'approved' }],
|
|
147
|
+
};
|
|
148
|
+
|
|
149
|
+
const result = getProcessDefinitionValidationResult(definition);
|
|
150
|
+
|
|
151
|
+
expect(result.errors).toContain('script resource "bad resource" has an invalid name');
|
|
152
|
+
expect(result.errors).toContain('script resource "bad resource" has unsafe file path "../escape.py"');
|
|
153
|
+
expect(result.errors).toContain(
|
|
154
|
+
'script resource "bad resource" entrypoint "missing.py" is not present in files',
|
|
155
|
+
);
|
|
156
|
+
expect(result.errors).toContain(
|
|
157
|
+
'script resource "bad resource" has unsafe package specification "--index-url=evil"',
|
|
158
|
+
);
|
|
159
|
+
expect(result.errors).toContain(
|
|
160
|
+
'script resource "bad resource" has unsafe package specification "zod@latest`whoami`"',
|
|
161
|
+
);
|
|
162
|
+
expect(result.errors).toContain('script node "review" references unknown script resource "missing"');
|
|
163
|
+
expect(result.errors).toContain('script node "review" timeout must be an integer between 1 and 600');
|
|
164
|
+
});
|
|
165
|
+
|
|
166
|
+
it('rejects script-only fields on other node types', () => {
|
|
167
|
+
const definition = validDefinition();
|
|
168
|
+
Object.assign(definition.nodes.review, { script: 'score', timeout: 30 });
|
|
169
|
+
|
|
170
|
+
const result = getProcessDefinitionValidationResult(definition);
|
|
171
|
+
|
|
172
|
+
expect(result.errors).toContain('node "review" defines script but has type "human_task"');
|
|
173
|
+
expect(result.errors).toContain('node "review" defines timeout but has type "human_task"');
|
|
174
|
+
});
|
|
175
|
+
|
|
176
|
+
it('counts inline script sources against the process definition size cap', () => {
|
|
177
|
+
const definition = validDefinition();
|
|
178
|
+
definition.resources = {
|
|
179
|
+
scripts: {
|
|
180
|
+
oversized: {
|
|
181
|
+
language: 'typescript',
|
|
182
|
+
entrypoint: 'main.ts',
|
|
183
|
+
source: {
|
|
184
|
+
type: 'inline',
|
|
185
|
+
files: { 'main.ts': 'x'.repeat(1024 * 1024) },
|
|
186
|
+
},
|
|
187
|
+
},
|
|
188
|
+
},
|
|
189
|
+
};
|
|
190
|
+
|
|
191
|
+
expect(() => validateProcessDefinitionBody(definition)).toThrow(
|
|
192
|
+
'process definition, including embedded resources, exceeds',
|
|
193
|
+
);
|
|
194
|
+
});
|
|
195
|
+
|
|
55
196
|
it('rejects missing transition targets', () => {
|
|
56
197
|
const definition = validDefinition();
|
|
57
198
|
definition.nodes.review.transitions = [{ to: 'missing' }];
|
|
@@ -43,6 +43,10 @@ export function getProcessInteractionValidationSelectors(interactions: Iterable<
|
|
|
43
43
|
export const MAX_PROCESS_DEFINITION_BYTES = 1024 * 1024;
|
|
44
44
|
export const MAX_PROCESS_GUARD_DEPTH = 64;
|
|
45
45
|
export const MAX_PROCESS_GUARD_NODES = 4096;
|
|
46
|
+
const PROCESS_SCRIPT_RESOURCE_NAME = /^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/;
|
|
47
|
+
const PROCESS_SCRIPT_FILE_PATH = /^[a-zA-Z0-9._-]+(\/[a-zA-Z0-9._-]+)*$/;
|
|
48
|
+
const PROCESS_SCRIPT_PACKAGE =
|
|
49
|
+
/^(?:@[a-zA-Z0-9][a-zA-Z0-9._-]*\/[a-zA-Z0-9][a-zA-Z0-9._-]*|[a-zA-Z0-9][a-zA-Z0-9._-]*)(?:\[[a-zA-Z0-9,._-]+\])?(?:(?:@|[<>=!~^])[^\s;|&$`]*)?$/;
|
|
46
50
|
|
|
47
51
|
export function validateProcessDefinitionBody(
|
|
48
52
|
definition: ProcessDefinitionBody,
|
|
@@ -62,7 +66,7 @@ export function getProcessDefinitionValidationResult(
|
|
|
62
66
|
const context = createValidationContext(options);
|
|
63
67
|
const size = new TextEncoder().encode(JSON.stringify(definition)).length;
|
|
64
68
|
if (size > MAX_PROCESS_DEFINITION_BYTES) {
|
|
65
|
-
errors.push(`process definition exceeds ${MAX_PROCESS_DEFINITION_BYTES} bytes`);
|
|
69
|
+
errors.push(`process definition, including embedded resources, exceeds ${MAX_PROCESS_DEFINITION_BYTES} bytes`);
|
|
66
70
|
}
|
|
67
71
|
|
|
68
72
|
if (!definition.process) {
|
|
@@ -85,6 +89,7 @@ export function getProcessDefinitionValidationResult(
|
|
|
85
89
|
if (!definition.context?.initial) {
|
|
86
90
|
errors.push('context.initial is missing');
|
|
87
91
|
}
|
|
92
|
+
validateProcessResources(definition, errors);
|
|
88
93
|
|
|
89
94
|
for (const [nodeId, node] of Object.entries(definition.nodes ?? {})) {
|
|
90
95
|
validateNodeDefinition(definition, nodeId, node, errors, context);
|
|
@@ -136,6 +141,16 @@ function validateNodeDefinition(
|
|
|
136
141
|
if (node.type === 'tool') {
|
|
137
142
|
validateToolNodeDefinition(nodeId, node, errors, context);
|
|
138
143
|
}
|
|
144
|
+
if (node.type === 'script') {
|
|
145
|
+
validateScriptNodeDefinition(definition, nodeId, node, errors);
|
|
146
|
+
} else {
|
|
147
|
+
if (node.script !== undefined) {
|
|
148
|
+
errors.push(`node "${nodeId}" defines script but has type "${node.type}"`);
|
|
149
|
+
}
|
|
150
|
+
if (node.timeout !== undefined) {
|
|
151
|
+
errors.push(`node "${nodeId}" defines timeout but has type "${node.type}"`);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
139
154
|
if ((node.type === 'interaction' || node.type === 'agent') && node.interaction && context.knownInteractions) {
|
|
140
155
|
if (!isKnownSelector(node.interaction, context.knownInteractions)) {
|
|
141
156
|
errors.push(`${node.type} node "${nodeId}" references unknown interaction "${node.interaction}"`);
|
|
@@ -306,6 +321,68 @@ function validateToolNodeDefinition(
|
|
|
306
321
|
}
|
|
307
322
|
}
|
|
308
323
|
|
|
324
|
+
function validateProcessResources(definition: ProcessDefinitionBody, errors: string[]) {
|
|
325
|
+
for (const [name, resource] of Object.entries(definition.resources?.scripts ?? {})) {
|
|
326
|
+
const label = `script resource "${name}"`;
|
|
327
|
+
if (!PROCESS_SCRIPT_RESOURCE_NAME.test(name)) {
|
|
328
|
+
errors.push(`${label} has an invalid name`);
|
|
329
|
+
}
|
|
330
|
+
if (
|
|
331
|
+
resource.language !== 'python' &&
|
|
332
|
+
resource.language !== 'javascript' &&
|
|
333
|
+
resource.language !== 'typescript'
|
|
334
|
+
) {
|
|
335
|
+
errors.push(`${label} has invalid language "${String(resource.language)}"`);
|
|
336
|
+
}
|
|
337
|
+
if (resource.source?.type !== 'inline') {
|
|
338
|
+
errors.push(`${label} has unsupported source type "${String(resource.source?.type)}"`);
|
|
339
|
+
continue;
|
|
340
|
+
}
|
|
341
|
+
const files = resource.source.files;
|
|
342
|
+
if (!files || Object.keys(files).length === 0) {
|
|
343
|
+
errors.push(`${label} must define at least one file`);
|
|
344
|
+
continue;
|
|
345
|
+
}
|
|
346
|
+
for (const [path, content] of Object.entries(files)) {
|
|
347
|
+
if (!PROCESS_SCRIPT_FILE_PATH.test(path) || path.split('/').includes('..')) {
|
|
348
|
+
errors.push(`${label} has unsafe file path "${path}"`);
|
|
349
|
+
}
|
|
350
|
+
if (typeof content !== 'string') {
|
|
351
|
+
errors.push(`${label} file "${path}" must contain text`);
|
|
352
|
+
}
|
|
353
|
+
}
|
|
354
|
+
if (!Object.hasOwn(files, resource.entrypoint)) {
|
|
355
|
+
errors.push(`${label} entrypoint "${resource.entrypoint}" is not present in files`);
|
|
356
|
+
}
|
|
357
|
+
for (const packageSpec of resource.packages ?? []) {
|
|
358
|
+
if (
|
|
359
|
+
typeof packageSpec !== 'string' ||
|
|
360
|
+
!packageSpec ||
|
|
361
|
+
packageSpec.startsWith('-') ||
|
|
362
|
+
!PROCESS_SCRIPT_PACKAGE.test(packageSpec)
|
|
363
|
+
) {
|
|
364
|
+
errors.push(`${label} has unsafe package specification "${String(packageSpec)}"`);
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
function validateScriptNodeDefinition(
|
|
371
|
+
definition: ProcessDefinitionBody,
|
|
372
|
+
nodeId: string,
|
|
373
|
+
node: NodeDefinition,
|
|
374
|
+
errors: string[],
|
|
375
|
+
) {
|
|
376
|
+
if (!node.script) {
|
|
377
|
+
errors.push(`script node "${nodeId}" is missing script`);
|
|
378
|
+
} else if (!definition.resources?.scripts?.[node.script]) {
|
|
379
|
+
errors.push(`script node "${nodeId}" references unknown script resource "${node.script}"`);
|
|
380
|
+
}
|
|
381
|
+
if (node.timeout !== undefined && (!Number.isInteger(node.timeout) || node.timeout < 1 || node.timeout > 600)) {
|
|
382
|
+
errors.push(`script node "${nodeId}" timeout must be an integer between 1 and 600`);
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
|
|
309
386
|
function validateSetContextNode(nodeId: string, node: NodeDefinition, errors: string[]) {
|
|
310
387
|
const input = node.input;
|
|
311
388
|
if (!isRecord(input)) {
|
|
@@ -379,6 +456,7 @@ function isProcessNodeType(value: string): boolean {
|
|
|
379
456
|
value === 'tool' ||
|
|
380
457
|
value === 'interaction' ||
|
|
381
458
|
value === 'agent' ||
|
|
459
|
+
value === 'script' ||
|
|
382
460
|
value === 'process' ||
|
|
383
461
|
value === 'human_task' ||
|
|
384
462
|
value === 'foreach' ||
|
|
@@ -401,7 +479,9 @@ function isParallelFailurePolicy(value: string): boolean {
|
|
|
401
479
|
}
|
|
402
480
|
|
|
403
481
|
function isFanoutChildNodeType(value: string): boolean {
|
|
404
|
-
return
|
|
482
|
+
return (
|
|
483
|
+
value === 'tool' || value === 'interaction' || value === 'agent' || value === 'script' || value === 'process'
|
|
484
|
+
);
|
|
405
485
|
}
|
|
406
486
|
|
|
407
487
|
function validateFanoutChildNodeDefinition(
|