@vertesia/common 1.3.0 → 1.4.0-dev.20260615.042033Z
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/LICENSE +198 -10
- package/lib/{types/Progress.d.ts → Progress.d.ts} +1 -0
- package/lib/Progress.d.ts.map +1 -0
- package/lib/{esm/Progress.js → Progress.js} +2 -2
- package/lib/Progress.js.map +1 -0
- package/lib/{types/access-control.d.ts → access-control.d.ts} +15 -5
- package/lib/access-control.d.ts.map +1 -0
- package/lib/{esm/access-control.js → access-control.js} +10 -7
- package/lib/access-control.js.map +1 -0
- package/lib/agent-request-template.d.ts +4 -0
- package/lib/agent-request-template.d.ts.map +1 -0
- package/lib/agent-request-template.js +46 -0
- package/lib/agent-request-template.js.map +1 -0
- package/lib/{types/analytics.d.ts → analytics.d.ts} +3 -2
- package/lib/analytics.d.ts.map +1 -0
- package/lib/{cjs/analytics.js.map → analytics.js.map} +1 -1
- package/lib/{types/apikey.d.ts → apikey.d.ts} +21 -5
- package/lib/apikey.d.ts.map +1 -0
- package/lib/{esm/apikey.js → apikey.js} +1 -0
- package/lib/apikey.js.map +1 -0
- package/lib/{types/apps.d.ts → apps.d.ts} +430 -35
- package/lib/apps.d.ts.map +1 -0
- package/lib/apps.js +158 -0
- package/lib/apps.js.map +1 -0
- package/lib/{types/ask-user.d.ts → ask-user.d.ts} +1 -0
- package/lib/ask-user.d.ts.map +1 -0
- package/lib/{esm/ask-user.js.map → ask-user.js.map} +1 -1
- package/lib/{types/audit-trail.d.ts → audit-trail.d.ts} +2 -1
- package/lib/audit-trail.d.ts.map +1 -0
- package/lib/audit-trail.js +3 -0
- package/lib/audit-trail.js.map +1 -0
- package/lib/browser-credentials.d.ts +123 -0
- package/lib/browser-credentials.d.ts.map +1 -0
- package/lib/browser-credentials.js +2 -0
- package/lib/browser-credentials.js.map +1 -0
- package/lib/{types/channels.d.ts → channels.d.ts} +3 -2
- package/lib/channels.d.ts.map +1 -0
- package/lib/{esm/channels.js → channels.js} +3 -3
- package/lib/channels.js.map +1 -0
- package/lib/{types/common.d.ts → common.d.ts} +18 -10
- package/lib/common.d.ts.map +1 -0
- package/lib/common.js.map +1 -0
- package/lib/{types/cost-analytics.d.ts → cost-analytics.d.ts} +2 -3
- package/lib/cost-analytics.d.ts.map +1 -0
- package/lib/cost-analytics.js.map +1 -0
- package/lib/{types/data-platform.d.ts → data-platform.d.ts} +134 -7
- package/lib/data-platform.d.ts.map +1 -0
- package/lib/data-platform.js.map +1 -0
- package/lib/{types/email.d.ts → email.d.ts} +6 -2
- package/lib/email.d.ts.map +1 -0
- package/lib/{esm/email.js → email.js} +2 -2
- package/lib/email.js.map +1 -0
- package/lib/embeddings.d.ts +65 -0
- package/lib/embeddings.d.ts.map +1 -0
- package/lib/embeddings.js +2 -0
- package/lib/embeddings.js.map +1 -0
- package/lib/{types/environment.d.ts → environment.d.ts} +18 -5
- package/lib/environment.d.ts.map +1 -0
- package/lib/{esm/environment.js → environment.js} +17 -7
- package/lib/environment.js.map +1 -0
- package/lib/{types/facets.d.ts → facets.d.ts} +6 -5
- package/lib/facets.d.ts.map +1 -0
- package/lib/facets.js.map +1 -0
- package/lib/{types/group.d.ts → group.d.ts} +5 -4
- package/lib/group.d.ts.map +1 -0
- package/lib/group.js.map +1 -0
- package/lib/host-utils.d.ts +8 -0
- package/lib/host-utils.d.ts.map +1 -0
- package/lib/host-utils.js +84 -0
- package/lib/host-utils.js.map +1 -0
- package/lib/{types/index.d.ts → index.d.ts} +19 -10
- package/lib/index.d.ts.map +1 -0
- package/lib/{esm/index.js → index.js} +18 -10
- package/lib/index.js.map +1 -0
- package/lib/integrations.d.ts +151 -0
- package/lib/integrations.d.ts.map +1 -0
- package/lib/{esm/integrations.js → integrations.js} +6 -0
- package/lib/integrations.js.map +1 -0
- package/lib/{types/interaction.d.ts → interaction.d.ts} +99 -56
- package/lib/interaction.d.ts.map +1 -0
- package/lib/{esm/interaction.js → interaction.js} +3 -3
- package/lib/interaction.js.map +1 -0
- package/lib/json-schema.d.ts +2 -0
- package/lib/json-schema.d.ts.map +1 -0
- package/lib/{cjs/json-schema.js.map → json-schema.js.map} +1 -1
- package/lib/json.d.ts +2 -0
- package/lib/json.d.ts.map +1 -0
- package/lib/json.js.map +1 -0
- package/lib/{types/meters.d.ts → meters.d.ts} +2 -1
- package/lib/meters.d.ts.map +1 -0
- package/lib/meters.js.map +1 -0
- package/lib/model_utility.d.ts +2 -0
- package/lib/model_utility.d.ts.map +1 -0
- package/lib/model_utility.js +2 -0
- package/lib/model_utility.js.map +1 -0
- package/lib/oauth-scopes.d.ts +18 -0
- package/lib/oauth-scopes.d.ts.map +1 -0
- package/lib/oauth-scopes.js +57 -0
- package/lib/oauth-scopes.js.map +1 -0
- package/lib/{types/oauth-server.d.ts → oauth-server.d.ts} +50 -7
- package/lib/oauth-server.d.ts.map +1 -0
- package/lib/{cjs/oauth-server.js.map → oauth-server.js.map} +1 -1
- package/lib/{types/oauth.d.ts → oauth.d.ts} +1 -0
- package/lib/oauth.d.ts.map +1 -0
- package/lib/oauth.js.map +1 -0
- package/lib/{types/payload.d.ts → payload.d.ts} +5 -4
- package/lib/payload.d.ts.map +1 -0
- package/lib/{cjs/payload.js.map → payload.js.map} +1 -1
- package/lib/{types/pending-asks.d.ts → pending-asks.d.ts} +8 -1
- package/lib/pending-asks.d.ts.map +1 -0
- package/lib/pending-asks.js.map +1 -0
- package/lib/principal-context.d.ts +27 -0
- package/lib/principal-context.d.ts.map +1 -0
- package/lib/principal-context.js +2 -0
- package/lib/principal-context.js.map +1 -0
- package/lib/{types/project.d.ts → project.d.ts} +253 -22
- package/lib/project.d.ts.map +1 -0
- package/lib/project.js +230 -0
- package/lib/project.js.map +1 -0
- package/lib/{types/prompt.d.ts → prompt.d.ts} +16 -9
- package/lib/prompt.d.ts.map +1 -0
- package/lib/prompt.js.map +1 -0
- package/lib/{types/query.d.ts → query.d.ts} +11 -8
- package/lib/query.d.ts.map +1 -0
- package/lib/query.js.map +1 -0
- package/lib/{types/rate-limiter.d.ts → rate-limiter.d.ts} +1 -0
- package/lib/rate-limiter.d.ts.map +1 -0
- package/lib/rate-limiter.js.map +1 -0
- package/lib/{types/refs.d.ts → refs.d.ts} +1 -0
- package/lib/refs.d.ts.map +1 -0
- package/lib/refs.js.map +1 -0
- package/lib/roles.d.ts +19 -0
- package/lib/roles.d.ts.map +1 -0
- package/lib/roles.js +228 -0
- package/lib/roles.js.map +1 -0
- package/lib/{types/runs.d.ts → runs.d.ts} +3 -2
- package/lib/runs.d.ts.map +1 -0
- package/lib/runs.js.map +1 -0
- package/lib/secrets.d.ts +47 -0
- package/lib/secrets.d.ts.map +1 -0
- package/lib/secrets.js +2 -0
- package/lib/secrets.js.map +1 -0
- package/lib/{types/skill.d.ts → skill.d.ts} +2 -1
- package/lib/skill.d.ts.map +1 -0
- package/lib/skill.js.map +1 -0
- package/lib/{types/store → store}/activity-catalog.d.ts +2 -1
- package/lib/store/activity-catalog.d.ts.map +1 -0
- package/lib/store/activity-catalog.js.map +1 -0
- package/lib/{types/store → store}/agent-run.d.ts +206 -35
- package/lib/store/agent-run.d.ts.map +1 -0
- package/lib/store/agent-run.js.map +1 -0
- package/lib/{types/store → store}/collections.d.ts +10 -9
- package/lib/store/collections.d.ts.map +1 -0
- package/lib/store/collections.js.map +1 -0
- package/lib/{types/store → store}/common.d.ts +1 -0
- package/lib/store/common.d.ts.map +1 -0
- package/lib/{cjs → store}/common.js.map +1 -1
- package/lib/{types/store → store}/conversation-state.d.ts +36 -5
- package/lib/store/conversation-state.d.ts.map +1 -0
- package/lib/{esm/store → store}/conversation-state.js +3 -0
- package/lib/store/conversation-state.js.map +1 -0
- package/lib/{types/store → store}/doc-analyzer.d.ts +20 -14
- package/lib/store/doc-analyzer.d.ts.map +1 -0
- package/lib/{cjs/store → store}/doc-analyzer.js.map +1 -1
- package/lib/{types/store → store}/dsl-workflow.d.ts +42 -24
- package/lib/store/dsl-workflow.d.ts.map +1 -0
- package/lib/store/dsl-workflow.js +8 -0
- package/lib/store/dsl-workflow.js.map +1 -0
- package/lib/{types/store → store}/hive-memory.d.ts +2 -1
- package/lib/store/hive-memory.d.ts.map +1 -0
- package/lib/{cjs/store → store}/hive-memory.js.map +1 -1
- package/lib/store/index.d.ts +20 -0
- package/lib/store/index.d.ts.map +1 -0
- package/lib/store/index.js +20 -0
- package/lib/store/index.js.map +1 -0
- package/lib/{types/store → store}/object-types.d.ts +2 -1
- package/lib/store/object-types.d.ts.map +1 -0
- package/lib/store/object-types.js +95 -0
- package/lib/store/object-types.js.map +1 -0
- package/lib/store/process-schema.d.ts +481 -0
- package/lib/store/process-schema.d.ts.map +1 -0
- package/lib/store/process-schema.js +482 -0
- package/lib/store/process-schema.js.map +1 -0
- package/lib/store/process-validation.d.ts +17 -0
- package/lib/store/process-validation.d.ts.map +1 -0
- package/lib/store/process-validation.js +428 -0
- package/lib/store/process-validation.js.map +1 -0
- package/lib/store/process.d.ts +261 -0
- package/lib/store/process.d.ts.map +1 -0
- package/lib/store/process.js +2 -0
- package/lib/store/process.js.map +1 -0
- package/lib/{types/store → store}/rendering.d.ts +5 -4
- package/lib/store/rendering.d.ts.map +1 -0
- package/lib/{esm/store → store}/rendering.js +6 -6
- package/lib/store/rendering.js.map +1 -0
- package/lib/{types/store → store}/schedule.d.ts +4 -3
- package/lib/store/schedule.d.ts.map +1 -0
- package/lib/store/schedule.js.map +1 -0
- package/lib/{types/store → store}/signals.d.ts +2 -1
- package/lib/store/signals.d.ts.map +1 -0
- package/lib/{cjs/store → store}/signals.js.map +1 -1
- package/lib/{types/store → store}/store.d.ts +63 -38
- package/lib/store/store.d.ts.map +1 -0
- package/lib/{esm/store → store}/store.js +17 -8
- package/lib/store/store.js.map +1 -0
- package/lib/store/task.d.ts +63 -0
- package/lib/store/task.d.ts.map +1 -0
- package/lib/store/task.js +5 -0
- package/lib/store/task.js.map +1 -0
- package/lib/store/temporalio.d.ts +17 -0
- package/lib/store/temporalio.d.ts.map +1 -0
- package/lib/{esm/store → store}/temporalio.js +6 -6
- package/lib/store/temporalio.js.map +1 -0
- package/lib/{types/store → store}/workflow.d.ts +87 -33
- package/lib/store/workflow.d.ts.map +1 -0
- package/lib/{esm/store → store}/workflow.js +36 -37
- package/lib/store/workflow.js.map +1 -0
- package/lib/{types/sts-token-types.d.ts → sts-token-types.d.ts} +29 -2
- package/lib/sts-token-types.d.ts.map +1 -0
- package/lib/{esm/sts-token-types.js → sts-token-types.js} +0 -4
- package/lib/sts-token-types.js.map +1 -0
- package/lib/{types/tenant.d.ts → tenant.d.ts} +1 -0
- package/lib/tenant.d.ts.map +1 -0
- package/lib/tenant.js.map +1 -0
- package/lib/{types/tool-execution.d.ts → tool-execution.d.ts} +3 -2
- package/lib/tool-execution.d.ts.map +1 -0
- package/lib/tool-execution.js.map +1 -0
- package/lib/tools.d.ts +101 -0
- package/lib/tools.d.ts.map +1 -0
- package/lib/tools.js +2 -0
- package/lib/tools.js.map +1 -0
- package/lib/{types/training.d.ts → training.d.ts} +10 -9
- package/lib/training.d.ts.map +1 -0
- package/lib/training.js.map +1 -0
- package/lib/{types/transient-tokens.d.ts → transient-tokens.d.ts} +3 -2
- package/lib/transient-tokens.d.ts.map +1 -0
- package/lib/transient-tokens.js.map +1 -0
- package/lib/{types/user.d.ts → user.d.ts} +6 -9
- package/lib/user.d.ts.map +1 -0
- package/lib/{esm/user.js → user.js} +2 -2
- package/lib/user.js.map +1 -0
- package/lib/{types/utils → utils}/auth.d.ts +2 -1
- package/lib/utils/auth.d.ts.map +1 -0
- package/lib/{esm/utils → utils}/auth.js +1 -1
- package/lib/utils/auth.js.map +1 -0
- package/lib/{types/utils → utils}/schemas.d.ts +5 -4
- package/lib/utils/schemas.d.ts.map +1 -0
- package/lib/{esm/utils → utils}/schemas.js +24 -22
- package/lib/utils/schemas.js.map +1 -0
- package/lib/{types/utils → utils}/type-helpers.d.ts +1 -0
- package/lib/utils/type-helpers.d.ts.map +1 -0
- package/lib/{cjs/utils → utils}/type-helpers.js.map +1 -1
- package/lib/{types/versions.d.ts → versions.d.ts} +1 -0
- package/lib/versions.d.ts.map +1 -0
- package/lib/versions.js.map +1 -0
- package/lib/vertesia-common.js +1 -1
- package/lib/vertesia-common.js.map +1 -1
- package/lib/{types/workflow-analytics.d.ts → workflow-analytics.d.ts} +10 -3
- package/lib/workflow-analytics.d.ts.map +1 -0
- package/lib/workflow-analytics.js.map +1 -0
- package/package.json +19 -19
- package/src/Progress.ts +9 -7
- package/src/access-control.ts +66 -70
- package/src/agent-request-template.test.ts +40 -0
- package/src/agent-request-template.ts +45 -0
- package/src/analytics.ts +11 -16
- package/src/apikey.ts +28 -12
- package/src/apps.test.ts +37 -0
- package/src/apps.ts +562 -78
- package/src/audit-trail.ts +3 -5
- package/src/browser-credentials.ts +133 -0
- package/src/channels.ts +5 -5
- package/src/common.ts +17 -11
- package/src/cost-analytics.ts +10 -4
- package/src/data-platform.ts +142 -7
- package/src/email.ts +7 -4
- package/src/embeddings.ts +76 -0
- package/src/environment.ts +44 -25
- package/src/facets.ts +19 -21
- package/src/group.ts +4 -5
- package/src/host-utils.test.ts +61 -0
- package/src/host-utils.ts +93 -0
- package/src/index.ts +18 -10
- package/src/integrations.ts +134 -26
- package/src/interaction.ts +185 -141
- package/src/json-schema.ts +1 -1
- package/src/json.ts +6 -3
- package/src/meters.ts +6 -9
- package/src/model_utility.ts +1 -1
- package/src/oauth-scopes.ts +72 -0
- package/src/oauth-server.ts +65 -8
- package/src/payload.ts +6 -6
- package/src/pending-asks.ts +8 -1
- package/src/principal-context.ts +27 -0
- package/src/project.ts +383 -75
- package/src/prompt.ts +30 -27
- package/src/query.ts +19 -17
- package/src/rate-limiter.ts +1 -1
- package/src/refs.ts +19 -24
- package/src/roles.test.ts +30 -0
- package/src/roles.ts +251 -0
- package/src/runs.ts +14 -15
- package/src/secrets.ts +60 -0
- package/src/skill.ts +1 -2
- package/src/store/activity-catalog.ts +13 -1
- package/src/store/agent-run.ts +269 -42
- package/src/store/collections.ts +13 -13
- package/src/store/common.ts +1 -2
- package/src/store/conversation-state.ts +42 -5
- package/src/store/doc-analyzer.ts +22 -14
- package/src/store/dsl-workflow.ts +54 -29
- package/src/store/hive-memory.ts +10 -10
- package/src/store/index.ts +19 -17
- package/src/store/ms.d.ts +34 -3
- package/src/store/object-types.ts +75 -79
- package/src/store/process-schema.test.ts +106 -0
- package/src/store/process-schema.ts +485 -0
- package/src/store/process-validation.test.ts +432 -0
- package/src/store/process-validation.ts +548 -0
- package/src/store/process.ts +305 -0
- package/src/store/rendering.ts +12 -12
- package/src/store/schedule.ts +3 -3
- package/src/store/signals.ts +1 -1
- package/src/store/store.ts +115 -89
- package/src/store/task.ts +71 -0
- package/src/store/temporalio.ts +14 -14
- package/src/store/workflow.test.ts +16 -14
- package/src/store/workflow.ts +177 -119
- package/src/sts-token-types.ts +30 -4
- package/src/tool-execution.ts +2 -2
- package/src/tools.ts +103 -0
- package/src/training.ts +25 -27
- package/src/transient-tokens.ts +4 -7
- package/src/user.ts +18 -37
- package/src/utils/auth.ts +2 -2
- package/src/utils/schemas.ts +36 -31
- package/src/utils/type-helpers.ts +2 -4
- package/src/workflow-analytics.ts +15 -18
- package/lib/cjs/Progress.js +0 -61
- package/lib/cjs/Progress.js.map +0 -1
- package/lib/cjs/access-control.js +0 -91
- package/lib/cjs/access-control.js.map +0 -1
- package/lib/cjs/analytics.js +0 -3
- package/lib/cjs/apikey.js +0 -17
- package/lib/cjs/apikey.js.map +0 -1
- package/lib/cjs/apps.js +0 -89
- package/lib/cjs/apps.js.map +0 -1
- package/lib/cjs/ask-user.js +0 -8
- package/lib/cjs/ask-user.js.map +0 -1
- package/lib/cjs/audit-trail.js +0 -10
- package/lib/cjs/audit-trail.js.map +0 -1
- package/lib/cjs/channels.js +0 -63
- package/lib/cjs/channels.js.map +0 -1
- package/lib/cjs/common.js +0 -3
- package/lib/cjs/cost-analytics.js +0 -13
- package/lib/cjs/cost-analytics.js.map +0 -1
- package/lib/cjs/data-platform.js +0 -127
- package/lib/cjs/data-platform.js.map +0 -1
- package/lib/cjs/email.js +0 -20
- package/lib/cjs/email.js.map +0 -1
- package/lib/cjs/environment.js +0 -44
- package/lib/cjs/environment.js.map +0 -1
- package/lib/cjs/facets.js +0 -3
- package/lib/cjs/facets.js.map +0 -1
- package/lib/cjs/group.js +0 -6
- package/lib/cjs/group.js.map +0 -1
- package/lib/cjs/index.js +0 -60
- package/lib/cjs/index.js.map +0 -1
- package/lib/cjs/integrations.js +0 -16
- package/lib/cjs/integrations.js.map +0 -1
- package/lib/cjs/interaction.js +0 -101
- package/lib/cjs/interaction.js.map +0 -1
- package/lib/cjs/json-schema.js +0 -3
- package/lib/cjs/json.js +0 -3
- package/lib/cjs/json.js.map +0 -1
- package/lib/cjs/meters.js +0 -13
- package/lib/cjs/meters.js.map +0 -1
- package/lib/cjs/model_utility.js +0 -6
- package/lib/cjs/model_utility.js.map +0 -1
- package/lib/cjs/oauth-server.js +0 -3
- package/lib/cjs/oauth.js +0 -7
- package/lib/cjs/oauth.js.map +0 -1
- package/lib/cjs/openapi.js +0 -3
- package/lib/cjs/openapi.js.map +0 -1
- package/lib/cjs/package.json +0 -3
- package/lib/cjs/payload.js +0 -3
- package/lib/cjs/pending-asks.js +0 -7
- package/lib/cjs/pending-asks.js.map +0 -1
- package/lib/cjs/project.js +0 -143
- package/lib/cjs/project.js.map +0 -1
- package/lib/cjs/prompt.js +0 -21
- package/lib/cjs/prompt.js.map +0 -1
- package/lib/cjs/query.js +0 -3
- package/lib/cjs/query.js.map +0 -1
- package/lib/cjs/rate-limiter.js +0 -6
- package/lib/cjs/rate-limiter.js.map +0 -1
- package/lib/cjs/refs.js +0 -14
- package/lib/cjs/refs.js.map +0 -1
- package/lib/cjs/runs.js +0 -3
- package/lib/cjs/runs.js.map +0 -1
- package/lib/cjs/skill.js +0 -14
- package/lib/cjs/skill.js.map +0 -1
- package/lib/cjs/store/activity-catalog.js +0 -3
- package/lib/cjs/store/activity-catalog.js.map +0 -1
- package/lib/cjs/store/agent-run.js +0 -16
- package/lib/cjs/store/agent-run.js.map +0 -1
- package/lib/cjs/store/collections.js +0 -9
- package/lib/cjs/store/collections.js.map +0 -1
- package/lib/cjs/store/common.js +0 -3
- package/lib/cjs/store/common.js.map +0 -1
- package/lib/cjs/store/conversation-state.js +0 -19
- package/lib/cjs/store/conversation-state.js.map +0 -1
- package/lib/cjs/store/doc-analyzer.js +0 -3
- package/lib/cjs/store/dsl-workflow.js +0 -5
- package/lib/cjs/store/dsl-workflow.js.map +0 -1
- package/lib/cjs/store/hive-memory.js +0 -3
- package/lib/cjs/store/index.js +0 -33
- package/lib/cjs/store/index.js.map +0 -1
- package/lib/cjs/store/object-types.js +0 -98
- package/lib/cjs/store/object-types.js.map +0 -1
- package/lib/cjs/store/rendering.js +0 -26
- package/lib/cjs/store/rendering.js.map +0 -1
- package/lib/cjs/store/schedule.js +0 -32
- package/lib/cjs/store/schedule.js.map +0 -1
- package/lib/cjs/store/signals.js +0 -3
- package/lib/cjs/store/store.js +0 -182
- package/lib/cjs/store/store.js.map +0 -1
- package/lib/cjs/store/temporalio.js +0 -44
- package/lib/cjs/store/temporalio.js.map +0 -1
- package/lib/cjs/store/worker.js +0 -3
- package/lib/cjs/store/worker.js.map +0 -1
- package/lib/cjs/store/workflow.js +0 -306
- package/lib/cjs/store/workflow.js.map +0 -1
- package/lib/cjs/sts-token-types.js +0 -32
- package/lib/cjs/sts-token-types.js.map +0 -1
- package/lib/cjs/tenant.js +0 -3
- package/lib/cjs/tenant.js.map +0 -1
- package/lib/cjs/tool-execution.js +0 -6
- package/lib/cjs/tool-execution.js.map +0 -1
- package/lib/cjs/training.js +0 -14
- package/lib/cjs/training.js.map +0 -1
- package/lib/cjs/transient-tokens.js +0 -9
- package/lib/cjs/transient-tokens.js.map +0 -1
- package/lib/cjs/user.js +0 -26
- package/lib/cjs/user.js.map +0 -1
- package/lib/cjs/utils/auth.js +0 -15
- package/lib/cjs/utils/auth.js.map +0 -1
- package/lib/cjs/utils/schemas.js +0 -182
- package/lib/cjs/utils/schemas.js.map +0 -1
- package/lib/cjs/utils/type-helpers.js +0 -3
- package/lib/cjs/versions.js +0 -10
- package/lib/cjs/versions.js.map +0 -1
- package/lib/cjs/workflow-analytics.js +0 -52
- package/lib/cjs/workflow-analytics.js.map +0 -1
- package/lib/esm/Progress.js.map +0 -1
- package/lib/esm/access-control.js.map +0 -1
- package/lib/esm/analytics.js.map +0 -1
- package/lib/esm/apikey.js.map +0 -1
- package/lib/esm/apps.js +0 -79
- package/lib/esm/apps.js.map +0 -1
- package/lib/esm/audit-trail.js +0 -7
- package/lib/esm/audit-trail.js.map +0 -1
- package/lib/esm/channels.js.map +0 -1
- package/lib/esm/common.js.map +0 -1
- package/lib/esm/cost-analytics.js.map +0 -1
- package/lib/esm/data-platform.js.map +0 -1
- package/lib/esm/email.js.map +0 -1
- package/lib/esm/environment.js.map +0 -1
- package/lib/esm/facets.js.map +0 -1
- package/lib/esm/group.js.map +0 -1
- package/lib/esm/index.js.map +0 -1
- package/lib/esm/integrations.js.map +0 -1
- package/lib/esm/interaction.js.map +0 -1
- package/lib/esm/json-schema.js.map +0 -1
- package/lib/esm/json.js.map +0 -1
- package/lib/esm/meters.js.map +0 -1
- package/lib/esm/model_utility.js +0 -2
- package/lib/esm/model_utility.js.map +0 -1
- package/lib/esm/oauth-server.js.map +0 -1
- package/lib/esm/oauth.js.map +0 -1
- package/lib/esm/openapi.js +0 -2
- package/lib/esm/openapi.js.map +0 -1
- package/lib/esm/payload.js.map +0 -1
- package/lib/esm/pending-asks.js.map +0 -1
- package/lib/esm/project.js +0 -138
- package/lib/esm/project.js.map +0 -1
- package/lib/esm/prompt.js.map +0 -1
- package/lib/esm/query.js.map +0 -1
- package/lib/esm/rate-limiter.js.map +0 -1
- package/lib/esm/refs.js.map +0 -1
- package/lib/esm/runs.js.map +0 -1
- package/lib/esm/skill.js.map +0 -1
- package/lib/esm/store/activity-catalog.js.map +0 -1
- package/lib/esm/store/agent-run.js.map +0 -1
- package/lib/esm/store/collections.js.map +0 -1
- package/lib/esm/store/common.js.map +0 -1
- package/lib/esm/store/conversation-state.js.map +0 -1
- package/lib/esm/store/doc-analyzer.js.map +0 -1
- package/lib/esm/store/dsl-workflow.js +0 -2
- package/lib/esm/store/dsl-workflow.js.map +0 -1
- package/lib/esm/store/hive-memory.js.map +0 -1
- package/lib/esm/store/index.js +0 -17
- package/lib/esm/store/index.js.map +0 -1
- package/lib/esm/store/object-types.js +0 -95
- package/lib/esm/store/object-types.js.map +0 -1
- package/lib/esm/store/rendering.js.map +0 -1
- package/lib/esm/store/schedule.js.map +0 -1
- package/lib/esm/store/signals.js.map +0 -1
- package/lib/esm/store/store.js.map +0 -1
- package/lib/esm/store/temporalio.js.map +0 -1
- package/lib/esm/store/worker.js +0 -2
- package/lib/esm/store/worker.js.map +0 -1
- package/lib/esm/store/workflow.js.map +0 -1
- package/lib/esm/sts-token-types.js.map +0 -1
- package/lib/esm/tenant.js.map +0 -1
- package/lib/esm/tool-execution.js.map +0 -1
- package/lib/esm/training.js.map +0 -1
- package/lib/esm/transient-tokens.js.map +0 -1
- package/lib/esm/user.js.map +0 -1
- package/lib/esm/utils/auth.js.map +0 -1
- package/lib/esm/utils/schemas.js.map +0 -1
- package/lib/esm/utils/type-helpers.js.map +0 -1
- package/lib/esm/versions.js.map +0 -1
- package/lib/esm/workflow-analytics.js.map +0 -1
- package/lib/tsconfig.tsbuildinfo +0 -1
- package/lib/types/Progress.d.ts.map +0 -1
- package/lib/types/access-control.d.ts.map +0 -1
- package/lib/types/analytics.d.ts.map +0 -1
- package/lib/types/apikey.d.ts.map +0 -1
- package/lib/types/apps.d.ts.map +0 -1
- package/lib/types/ask-user.d.ts.map +0 -1
- package/lib/types/audit-trail.d.ts.map +0 -1
- package/lib/types/channels.d.ts.map +0 -1
- package/lib/types/common.d.ts.map +0 -1
- package/lib/types/cost-analytics.d.ts.map +0 -1
- package/lib/types/data-platform.d.ts.map +0 -1
- package/lib/types/email.d.ts.map +0 -1
- package/lib/types/environment.d.ts.map +0 -1
- package/lib/types/facets.d.ts.map +0 -1
- package/lib/types/group.d.ts.map +0 -1
- package/lib/types/index.d.ts.map +0 -1
- package/lib/types/integrations.d.ts +0 -83
- package/lib/types/integrations.d.ts.map +0 -1
- package/lib/types/interaction.d.ts.map +0 -1
- package/lib/types/json-schema.d.ts +0 -1
- package/lib/types/json-schema.d.ts.map +0 -1
- package/lib/types/json.d.ts +0 -1
- package/lib/types/json.d.ts.map +0 -1
- package/lib/types/meters.d.ts.map +0 -1
- package/lib/types/model_utility.d.ts +0 -1
- package/lib/types/model_utility.d.ts.map +0 -1
- package/lib/types/oauth-server.d.ts.map +0 -1
- package/lib/types/oauth.d.ts.map +0 -1
- package/lib/types/openapi.d.ts +0 -90
- package/lib/types/openapi.d.ts.map +0 -1
- package/lib/types/payload.d.ts.map +0 -1
- package/lib/types/pending-asks.d.ts.map +0 -1
- package/lib/types/project.d.ts.map +0 -1
- package/lib/types/prompt.d.ts.map +0 -1
- package/lib/types/query.d.ts.map +0 -1
- package/lib/types/rate-limiter.d.ts.map +0 -1
- package/lib/types/refs.d.ts.map +0 -1
- package/lib/types/runs.d.ts.map +0 -1
- package/lib/types/skill.d.ts.map +0 -1
- package/lib/types/store/activity-catalog.d.ts.map +0 -1
- package/lib/types/store/agent-run.d.ts.map +0 -1
- package/lib/types/store/collections.d.ts.map +0 -1
- package/lib/types/store/common.d.ts.map +0 -1
- package/lib/types/store/conversation-state.d.ts.map +0 -1
- package/lib/types/store/doc-analyzer.d.ts.map +0 -1
- package/lib/types/store/dsl-workflow.d.ts.map +0 -1
- package/lib/types/store/hive-memory.d.ts.map +0 -1
- package/lib/types/store/index.d.ts +0 -16
- package/lib/types/store/index.d.ts.map +0 -1
- package/lib/types/store/object-types.d.ts.map +0 -1
- package/lib/types/store/rendering.d.ts.map +0 -1
- package/lib/types/store/schedule.d.ts.map +0 -1
- package/lib/types/store/signals.d.ts.map +0 -1
- package/lib/types/store/store.d.ts.map +0 -1
- package/lib/types/store/temporalio.d.ts +0 -16
- package/lib/types/store/temporalio.d.ts.map +0 -1
- package/lib/types/store/worker.d.ts +0 -18
- package/lib/types/store/worker.d.ts.map +0 -1
- package/lib/types/store/workflow.d.ts.map +0 -1
- package/lib/types/sts-token-types.d.ts.map +0 -1
- package/lib/types/tenant.d.ts.map +0 -1
- package/lib/types/tool-execution.d.ts.map +0 -1
- package/lib/types/training.d.ts.map +0 -1
- package/lib/types/transient-tokens.d.ts.map +0 -1
- package/lib/types/user.d.ts.map +0 -1
- package/lib/types/utils/auth.d.ts.map +0 -1
- package/lib/types/utils/schemas.d.ts.map +0 -1
- package/lib/types/utils/type-helpers.d.ts.map +0 -1
- package/lib/types/versions.d.ts.map +0 -1
- package/lib/types/workflow-analytics.d.ts.map +0 -1
- package/src/openapi.ts +0 -102
- package/src/store/worker.ts +0 -19
- /package/lib/{esm/analytics.js → analytics.js} +0 -0
- /package/lib/{esm/ask-user.js → ask-user.js} +0 -0
- /package/lib/{esm/common.js → common.js} +0 -0
- /package/lib/{esm/cost-analytics.js → cost-analytics.js} +0 -0
- /package/lib/{esm/data-platform.js → data-platform.js} +0 -0
- /package/lib/{esm/facets.js → facets.js} +0 -0
- /package/lib/{esm/group.js → group.js} +0 -0
- /package/lib/{esm/json-schema.js → json-schema.js} +0 -0
- /package/lib/{esm/json.js → json.js} +0 -0
- /package/lib/{esm/meters.js → meters.js} +0 -0
- /package/lib/{esm/oauth-server.js → oauth-server.js} +0 -0
- /package/lib/{esm/oauth.js → oauth.js} +0 -0
- /package/lib/{esm/payload.js → payload.js} +0 -0
- /package/lib/{esm/pending-asks.js → pending-asks.js} +0 -0
- /package/lib/{esm/prompt.js → prompt.js} +0 -0
- /package/lib/{esm/query.js → query.js} +0 -0
- /package/lib/{esm/rate-limiter.js → rate-limiter.js} +0 -0
- /package/lib/{esm/refs.js → refs.js} +0 -0
- /package/lib/{esm/runs.js → runs.js} +0 -0
- /package/lib/{esm/skill.js → skill.js} +0 -0
- /package/lib/{esm/store → store}/activity-catalog.js +0 -0
- /package/lib/{esm/store → store}/agent-run.js +0 -0
- /package/lib/{esm/store → store}/collections.js +0 -0
- /package/lib/{esm/store → store}/common.js +0 -0
- /package/lib/{esm/store → store}/doc-analyzer.js +0 -0
- /package/lib/{esm/store → store}/hive-memory.js +0 -0
- /package/lib/{esm/store → store}/schedule.js +0 -0
- /package/lib/{esm/store → store}/signals.js +0 -0
- /package/lib/{esm/tenant.js → tenant.js} +0 -0
- /package/lib/{esm/tool-execution.js → tool-execution.js} +0 -0
- /package/lib/{esm/training.js → training.js} +0 -0
- /package/lib/{esm/transient-tokens.js → transient-tokens.js} +0 -0
- /package/lib/{esm/utils → utils}/type-helpers.js +0 -0
- /package/lib/{esm/versions.js → versions.js} +0 -0
- /package/lib/{esm/workflow-analytics.js → workflow-analytics.js} +0 -0
package/src/environment.ts
CHANGED
|
@@ -1,22 +1,18 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
3
|
-
ProviderParams,
|
|
4
|
-
TextFallbackOptions
|
|
5
|
-
} from "@llumiverse/common";
|
|
6
|
-
import { ProviderList, Providers } from "@llumiverse/common";
|
|
1
|
+
import type { AIModel, ProviderParams, TextFallbackOptions } from '@llumiverse/common';
|
|
2
|
+
import { ProviderList, Providers } from '@llumiverse/common';
|
|
7
3
|
|
|
8
4
|
// Virtual providers from studio
|
|
9
5
|
export enum CustomProviders {
|
|
10
6
|
virtual_lb = 'virtual_lb',
|
|
11
7
|
virtual_mediator = 'virtual_mediator',
|
|
12
|
-
test = 'test'
|
|
8
|
+
test = 'test',
|
|
13
9
|
}
|
|
14
10
|
|
|
15
11
|
export type SupportedProviders = Providers | CustomProviders;
|
|
16
12
|
|
|
17
13
|
export const SupportedProviders = {
|
|
18
14
|
...Providers,
|
|
19
|
-
...CustomProviders
|
|
15
|
+
...CustomProviders,
|
|
20
16
|
} as const;
|
|
21
17
|
|
|
22
18
|
export interface SupportedProviderParams extends Omit<ProviderParams, 'id'> {
|
|
@@ -24,25 +20,23 @@ export interface SupportedProviderParams extends Omit<ProviderParams, 'id'> {
|
|
|
24
20
|
}
|
|
25
21
|
|
|
26
22
|
export const CustomProvidersList: Record<CustomProviders, SupportedProviderParams> = {
|
|
27
|
-
virtual_lb:
|
|
28
|
-
{
|
|
23
|
+
virtual_lb: {
|
|
29
24
|
id: CustomProviders.virtual_lb,
|
|
30
|
-
name:
|
|
25
|
+
name: 'Virtual - Load Balancer',
|
|
31
26
|
requiresApiKey: false,
|
|
32
27
|
requiresEndpointUrl: false,
|
|
33
28
|
supportSearch: false,
|
|
34
29
|
},
|
|
35
|
-
virtual_mediator:
|
|
36
|
-
{
|
|
30
|
+
virtual_mediator: {
|
|
37
31
|
id: CustomProviders.virtual_mediator,
|
|
38
|
-
name:
|
|
32
|
+
name: 'Virtual - Mediator',
|
|
39
33
|
requiresApiKey: false,
|
|
40
34
|
requiresEndpointUrl: false,
|
|
41
35
|
supportSearch: false,
|
|
42
36
|
},
|
|
43
37
|
test: {
|
|
44
38
|
id: CustomProviders.test,
|
|
45
|
-
name:
|
|
39
|
+
name: 'Test LLM',
|
|
46
40
|
requiresApiKey: false,
|
|
47
41
|
requiresEndpointUrl: false,
|
|
48
42
|
supportSearch: false,
|
|
@@ -51,10 +45,9 @@ export const CustomProvidersList: Record<CustomProviders, SupportedProviderParam
|
|
|
51
45
|
|
|
52
46
|
export const SupportedProvidersList: Record<SupportedProviders, SupportedProviderParams> = {
|
|
53
47
|
...ProviderList,
|
|
54
|
-
...CustomProvidersList
|
|
48
|
+
...CustomProvidersList,
|
|
55
49
|
} as const;
|
|
56
50
|
|
|
57
|
-
|
|
58
51
|
export interface VirtualEnvEntry {
|
|
59
52
|
model: string;
|
|
60
53
|
}
|
|
@@ -84,6 +77,24 @@ export interface MediatorEnvConfig {
|
|
|
84
77
|
model_options?: TextFallbackOptions;
|
|
85
78
|
}
|
|
86
79
|
|
|
80
|
+
export interface ExecutionEnvironmentSettings {
|
|
81
|
+
[key: string]: unknown;
|
|
82
|
+
bucket_access_principal?: string;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Returns the configured Vertex AI bucket access principal for an environment, or undefined.
|
|
87
|
+
* Only Vertex AI environments expose this setting; the value is trimmed and empty strings
|
|
88
|
+
* are treated as unset so callers get a single, normalized representation.
|
|
89
|
+
*/
|
|
90
|
+
export function getVertexBucketAccessPrincipal(
|
|
91
|
+
env: { provider?: SupportedProviders; settings?: ExecutionEnvironmentSettings } | undefined,
|
|
92
|
+
): string | undefined {
|
|
93
|
+
if (!env || env.provider !== SupportedProviders.vertexai) return undefined;
|
|
94
|
+
const principal = env.settings?.bucket_access_principal;
|
|
95
|
+
return typeof principal === 'string' && principal.trim().length > 0 ? principal.trim() : undefined;
|
|
96
|
+
}
|
|
97
|
+
|
|
87
98
|
export interface ExecutionEnvironment {
|
|
88
99
|
id: string;
|
|
89
100
|
name: string;
|
|
@@ -98,16 +109,16 @@ export interface ExecutionEnvironment {
|
|
|
98
109
|
* Stored alongside the encrypted key so the UI can display which key is configured.
|
|
99
110
|
*/
|
|
100
111
|
apikey_hint?: string;
|
|
101
|
-
config?:
|
|
112
|
+
config?: unknown;
|
|
102
113
|
/**
|
|
103
114
|
* Additional provider-specific settings passed through to the driver.
|
|
104
115
|
* For example, custom headers for Apigee-proxied endpoints.
|
|
105
116
|
*/
|
|
106
|
-
settings?:
|
|
117
|
+
settings?: ExecutionEnvironmentSettings;
|
|
107
118
|
account: string;
|
|
108
119
|
allowed_projects?: string[];
|
|
109
|
-
created_by: string
|
|
110
|
-
updated_by: string
|
|
120
|
+
created_by: string;
|
|
121
|
+
updated_by: string;
|
|
111
122
|
created_at: string;
|
|
112
123
|
updated_at: string;
|
|
113
124
|
}
|
|
@@ -127,10 +138,18 @@ export interface ExecutionEnvironmentRef {
|
|
|
127
138
|
updated_at: string;
|
|
128
139
|
}
|
|
129
140
|
|
|
130
|
-
export
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
141
|
+
export interface ExecutionEnvironmentCreatePayload
|
|
142
|
+
extends Omit<
|
|
143
|
+
ExecutionEnvironment,
|
|
144
|
+
'id' | 'account' | 'created_at' | 'updated_at' | 'created_by' | 'updated_by' | 'project' | 'apikey_hint'
|
|
145
|
+
> {}
|
|
146
|
+
export interface ExecutionEnvironmentUpdatePayload
|
|
147
|
+
extends Partial<
|
|
148
|
+
Omit<
|
|
149
|
+
ExecutionEnvironment,
|
|
150
|
+
'id' | 'account' | 'created_at' | 'updated_at' | 'created_by' | 'updated_by' | 'apikey_hint'
|
|
151
|
+
>
|
|
152
|
+
> {}
|
|
134
153
|
export interface ExecutionEnvironmentConfigUpdatePayload {
|
|
135
154
|
enabled_models?: AIModel[];
|
|
136
155
|
config?: MediatorEnvConfig | LoadBalancingEnvConfig;
|
package/src/facets.ts
CHANGED
|
@@ -1,27 +1,25 @@
|
|
|
1
|
-
|
|
2
1
|
// this is the mongo definition of a facet. see https://www.mongodb.com/docs/atlas/atlas-search/facet/
|
|
3
2
|
export interface StringFacet {
|
|
4
|
-
type:
|
|
5
|
-
path: string
|
|
6
|
-
numBuckets?: number
|
|
3
|
+
type: 'string';
|
|
4
|
+
path: string;
|
|
5
|
+
numBuckets?: number;
|
|
7
6
|
}
|
|
8
7
|
|
|
9
8
|
export interface NumericFacet {
|
|
10
|
-
type:
|
|
11
|
-
path: string
|
|
12
|
-
boundaries: number[]
|
|
13
|
-
default?: string
|
|
9
|
+
type: 'number';
|
|
10
|
+
path: string;
|
|
11
|
+
boundaries: number[];
|
|
12
|
+
default?: string;
|
|
14
13
|
}
|
|
15
14
|
|
|
16
|
-
export interface DateFacet<T extends
|
|
17
|
-
type:
|
|
18
|
-
path: string
|
|
19
|
-
boundaries: T[]
|
|
20
|
-
default?: string
|
|
15
|
+
export interface DateFacet<T extends Date | string = string> {
|
|
16
|
+
type: 'date';
|
|
17
|
+
path: string;
|
|
18
|
+
boundaries: T[]; // array of dates
|
|
19
|
+
default?: string;
|
|
21
20
|
}
|
|
22
21
|
|
|
23
|
-
export type Facet<DateT extends
|
|
24
|
-
|
|
22
|
+
export type Facet<DateT extends Date | string = string> = StringFacet | NumericFacet | DateFacet<DateT>;
|
|
25
23
|
|
|
26
24
|
export interface FacetSpec {
|
|
27
25
|
name: string;
|
|
@@ -29,18 +27,18 @@ export interface FacetSpec {
|
|
|
29
27
|
}
|
|
30
28
|
|
|
31
29
|
export interface FacetBucket {
|
|
32
|
-
_id: string
|
|
33
|
-
count: number
|
|
30
|
+
_id: string;
|
|
31
|
+
count: number;
|
|
34
32
|
}
|
|
35
33
|
|
|
36
34
|
export interface FacetNameBucket {
|
|
37
|
-
name: string
|
|
38
|
-
_id: string
|
|
39
|
-
count: number
|
|
35
|
+
name: string;
|
|
36
|
+
_id: string;
|
|
37
|
+
count: number;
|
|
40
38
|
}
|
|
41
39
|
|
|
42
40
|
export interface FacetResult {
|
|
43
|
-
buckets: FacetBucket[]
|
|
41
|
+
buckets: FacetBucket[];
|
|
44
42
|
}
|
|
45
43
|
|
|
46
44
|
export interface ComputedFacetBucket {
|
package/src/group.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { UserRef } from
|
|
2
|
-
|
|
1
|
+
import type { UserRef } from './user.js';
|
|
3
2
|
|
|
4
3
|
export interface UserGroup {
|
|
5
4
|
id: string;
|
|
@@ -12,7 +11,7 @@ export interface UserGroup {
|
|
|
12
11
|
created_by?: string;
|
|
13
12
|
updated_by?: string;
|
|
14
13
|
/** Custom properties for dynamic permission matching */
|
|
15
|
-
properties?: Record<string,
|
|
14
|
+
properties?: Record<string, unknown>;
|
|
16
15
|
/** BLP clearance level — merged with user clearance using max() */
|
|
17
16
|
clearance?: number;
|
|
18
17
|
/** Compartments — merged with user compartments using array union */
|
|
@@ -33,7 +32,7 @@ export interface UpdateUserGroupPayload {
|
|
|
33
32
|
name: string;
|
|
34
33
|
description?: string;
|
|
35
34
|
tags?: string[];
|
|
36
|
-
properties?: Record<string,
|
|
35
|
+
properties?: Record<string, unknown>;
|
|
37
36
|
clearance?: number;
|
|
38
37
|
compartments?: string[];
|
|
39
38
|
}
|
|
@@ -42,7 +41,7 @@ export interface UserGroupRef {
|
|
|
42
41
|
id: string;
|
|
43
42
|
name: string;
|
|
44
43
|
tags?: string[];
|
|
45
|
-
properties?: Record<string,
|
|
44
|
+
properties?: Record<string, unknown>;
|
|
46
45
|
clearance?: number;
|
|
47
46
|
compartments?: string[];
|
|
48
47
|
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { describe, expect, it } from 'vitest';
|
|
2
|
+
import {
|
|
3
|
+
hostFromUrl,
|
|
4
|
+
hostMatchesAny,
|
|
5
|
+
isLocalhostOrVertesiaHost,
|
|
6
|
+
isLocalhostOrVertesiaUrl,
|
|
7
|
+
normalizeHost,
|
|
8
|
+
normalizeHostList,
|
|
9
|
+
urlMatchesAnyHost,
|
|
10
|
+
} from './host-utils.js';
|
|
11
|
+
|
|
12
|
+
describe('host-utils', () => {
|
|
13
|
+
it('normalizes hosts, URLs, wildcards, ports, and IPv6 brackets', () => {
|
|
14
|
+
expect(normalizeHost(' HTTPS://App.Example.COM:443/login ')).toBe('app.example.com');
|
|
15
|
+
expect(normalizeHost('*.example.com')).toBe('example.com');
|
|
16
|
+
expect(normalizeHost('https://*.example.com/login')).toBe('example.com');
|
|
17
|
+
expect(normalizeHost('localhost:3000')).toBe('localhost');
|
|
18
|
+
expect(normalizeHost('::1')).toBe('::1');
|
|
19
|
+
expect(normalizeHost('[::1]:3000')).toBe('::1');
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
it('rejects empty and malformed hosts', () => {
|
|
23
|
+
expect(normalizeHost('')).toBeUndefined();
|
|
24
|
+
expect(normalizeHost('bad host')).toBeUndefined();
|
|
25
|
+
expect(normalizeHost('example.com:bad')).toBeUndefined();
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
it('extracts hosts only from absolute URLs', () => {
|
|
29
|
+
expect(hostFromUrl('https://science.nasa.gov/exoplanets')).toBe('science.nasa.gov');
|
|
30
|
+
expect(hostFromUrl('science.nasa.gov/exoplanets')).toBeUndefined();
|
|
31
|
+
expect(hostFromUrl('/exoplanets', 'https://science.nasa.gov/search')).toBe('science.nasa.gov');
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
it('deduplicates normalized host lists', () => {
|
|
35
|
+
expect(normalizeHostList(['example.com', 'https://example.com/login', 'bad host'])).toEqual(['example.com']);
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
it('matches exact hosts and subdomains but fails closed for malformed hosts', () => {
|
|
39
|
+
expect(hostMatchesAny('login.example.com', ['example.com'])).toBe(true);
|
|
40
|
+
expect(hostMatchesAny('example.com', ['example.com'])).toBe(true);
|
|
41
|
+
expect(hostMatchesAny('evil-example.com', ['example.com'])).toBe(false);
|
|
42
|
+
expect(hostMatchesAny('bad host', ['example.com'])).toBe(false);
|
|
43
|
+
expect(hostMatchesAny('bad host', [])).toBe(true);
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
it('matches URLs against host allowlists', () => {
|
|
47
|
+
expect(urlMatchesAnyHost('https://login.example.com/path', ['example.com'])).toBe(true);
|
|
48
|
+
expect(urlMatchesAnyHost('/settings', ['example.com'], 'https://login.example.com/home')).toBe(true);
|
|
49
|
+
expect(urlMatchesAnyHost('http://[::1]:3000/app', ['::1'])).toBe(true);
|
|
50
|
+
expect(urlMatchesAnyHost('not a url', ['example.com'])).toBe(false);
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
it('identifies localhost and Vertesia hosts for browser auth', () => {
|
|
54
|
+
expect(isLocalhostOrVertesiaHost('localhost')).toBe(true);
|
|
55
|
+
expect(isLocalhostOrVertesiaHost('[::1]')).toBe(true);
|
|
56
|
+
expect(isLocalhostOrVertesiaUrl('http://[::1]:3000/app')).toBe(true);
|
|
57
|
+
expect(isLocalhostOrVertesiaUrl('https://studio.vertesia.io')).toBe(true);
|
|
58
|
+
expect(isLocalhostOrVertesiaUrl('https://evilvertesia.io')).toBe(false);
|
|
59
|
+
expect(isLocalhostOrVertesiaUrl('not a url')).toBe(false);
|
|
60
|
+
});
|
|
61
|
+
});
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
function stripLeadingWildcard(host: string): string {
|
|
2
|
+
return host.startsWith('*.') ? host.slice(2) : host;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
function stripIPv6Brackets(host: string): string {
|
|
6
|
+
return host.startsWith('[') && host.endsWith(']') ? host.slice(1, -1) : host;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
function looksLikeBareIpv6(host: string): boolean {
|
|
10
|
+
const firstColon = host.indexOf(':');
|
|
11
|
+
return firstColon >= 0 && host.indexOf(':', firstColon + 1) >= 0 && !host.startsWith('[');
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
function hasWhitespace(host: string): boolean {
|
|
15
|
+
return (
|
|
16
|
+
host.includes(' ') ||
|
|
17
|
+
host.includes('\t') ||
|
|
18
|
+
host.includes('\n') ||
|
|
19
|
+
host.includes('\r') ||
|
|
20
|
+
host.includes('\f') ||
|
|
21
|
+
host.includes('\v')
|
|
22
|
+
);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export function normalizeHost(value: unknown): string | undefined {
|
|
26
|
+
if (typeof value !== 'string') return undefined;
|
|
27
|
+
let input = value.trim().toLowerCase();
|
|
28
|
+
if (!input) return undefined;
|
|
29
|
+
input = stripLeadingWildcard(input);
|
|
30
|
+
input = input.endsWith('.') ? input.slice(0, -1) : input;
|
|
31
|
+
|
|
32
|
+
if (!input.includes('://')) {
|
|
33
|
+
input = looksLikeBareIpv6(input) ? `https://[${input}]` : `https://${input}`;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
try {
|
|
37
|
+
const url = new URL(input);
|
|
38
|
+
let host = stripLeadingWildcard(stripIPv6Brackets(url.hostname.toLowerCase()));
|
|
39
|
+
host = host.endsWith('.') ? host.slice(0, -1) : host;
|
|
40
|
+
return host && !hasWhitespace(host) ? host : undefined;
|
|
41
|
+
} catch {
|
|
42
|
+
return undefined;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export function hostFromUrl(value: string, baseUrl?: string): string | undefined {
|
|
47
|
+
try {
|
|
48
|
+
const url = baseUrl ? new URL(value, baseUrl) : new URL(value);
|
|
49
|
+
return normalizeHost(url.hostname);
|
|
50
|
+
} catch {
|
|
51
|
+
return undefined;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
export function normalizeHostList(value: unknown): string[] {
|
|
56
|
+
if (!Array.isArray(value)) return [];
|
|
57
|
+
return Array.from(new Set(value.map((entry) => normalizeHost(entry)).filter((entry): entry is string => !!entry)));
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export function hostMatchesAny(host: string, allowlist: readonly string[] | undefined): boolean {
|
|
61
|
+
if (!allowlist || allowlist.length === 0) return true;
|
|
62
|
+
const normalizedHost = normalizeHost(host);
|
|
63
|
+
if (!normalizedHost) return false;
|
|
64
|
+
return allowlist.some((entry) => {
|
|
65
|
+
const normalizedEntry = normalizeHost(entry);
|
|
66
|
+
return (
|
|
67
|
+
!!normalizedEntry && (normalizedHost === normalizedEntry || normalizedHost.endsWith(`.${normalizedEntry}`))
|
|
68
|
+
);
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
export function urlMatchesAnyHost(url: string, allowlist: readonly string[] | undefined, baseUrl?: string): boolean {
|
|
73
|
+
if (!allowlist || allowlist.length === 0) return true;
|
|
74
|
+
const host = hostFromUrl(url, baseUrl);
|
|
75
|
+
return !!host && hostMatchesAny(host, allowlist);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
export function isLocalhostOrVertesiaHost(value: string | undefined): boolean {
|
|
79
|
+
const host = normalizeHost(value);
|
|
80
|
+
return (
|
|
81
|
+
!!host &&
|
|
82
|
+
(host === 'localhost' ||
|
|
83
|
+
host === '127.0.0.1' ||
|
|
84
|
+
host === '::1' ||
|
|
85
|
+
host === 'vertesia.io' ||
|
|
86
|
+
host.endsWith('.vertesia.io'))
|
|
87
|
+
);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
export function isLocalhostOrVertesiaUrl(value: string): boolean {
|
|
91
|
+
const host = hostFromUrl(value);
|
|
92
|
+
return isLocalhostOrVertesiaHost(host);
|
|
93
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -1,40 +1,48 @@
|
|
|
1
1
|
export * from './access-control.js';
|
|
2
|
+
export * from './agent-request-template.js';
|
|
2
3
|
export * from './analytics.js';
|
|
3
|
-
export * from './audit-trail.js';
|
|
4
|
-
export * from './cost-analytics.js';
|
|
5
4
|
export * from './apikey.js';
|
|
6
5
|
export * from './apps.js';
|
|
7
6
|
export * from './ask-user.js';
|
|
7
|
+
export * from './audit-trail.js';
|
|
8
|
+
export * from './browser-credentials.js';
|
|
8
9
|
export * from './channels.js';
|
|
9
10
|
export * from './common.js';
|
|
11
|
+
export * from './cost-analytics.js';
|
|
10
12
|
export * from './data-platform.js';
|
|
13
|
+
export * from './embeddings.js';
|
|
11
14
|
export * from './environment.js';
|
|
12
|
-
export * from
|
|
15
|
+
export * from './facets.js';
|
|
13
16
|
export * from './group.js';
|
|
17
|
+
export * from './host-utils.js';
|
|
14
18
|
export * from './integrations.js';
|
|
15
19
|
export * from './interaction.js';
|
|
16
|
-
export * from './pending-asks.js';
|
|
17
|
-
export * from './json-schema.js';
|
|
18
20
|
export * from './json.js';
|
|
21
|
+
export * from './json-schema.js';
|
|
19
22
|
export * from './meters.js';
|
|
20
|
-
export * from './oauth-server.js';
|
|
21
23
|
export * from './model_utility.js';
|
|
22
|
-
export * from './openapi.js';
|
|
23
24
|
export * from './oauth.js';
|
|
25
|
+
export * from './oauth-scopes.js';
|
|
26
|
+
export * from './oauth-server.js';
|
|
27
|
+
export * from './Progress.js';
|
|
24
28
|
export * from './payload.js';
|
|
25
|
-
export * from
|
|
29
|
+
export * from './pending-asks.js';
|
|
30
|
+
export * from './principal-context.js';
|
|
26
31
|
export * from './project.js';
|
|
27
32
|
export * from './prompt.js';
|
|
28
33
|
export * from './query.js';
|
|
29
34
|
export * from './rate-limiter.js';
|
|
30
35
|
export * from './refs.js';
|
|
36
|
+
export * from './roles.js';
|
|
31
37
|
export * from './runs.js';
|
|
38
|
+
export * from './secrets.js';
|
|
32
39
|
export * from './skill.js';
|
|
33
|
-
export * from
|
|
40
|
+
export * from './store/index.js';
|
|
34
41
|
export * from './sts-token-types.js';
|
|
35
42
|
export * from './tenant.js';
|
|
36
43
|
export * from './tool-execution.js';
|
|
37
|
-
export * from
|
|
44
|
+
export * from './tools.js';
|
|
45
|
+
export * from './training.js';
|
|
38
46
|
export * from './transient-tokens.js';
|
|
39
47
|
export * from './user.js';
|
|
40
48
|
export * from './utils/auth.js';
|