@hotmeshio/long-tail 0.1.0
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 +202 -0
- package/README.md +262 -0
- package/build/examples/external-mcp-server/server.d.ts +17 -0
- package/build/examples/external-mcp-server/server.js +116 -0
- package/build/examples/index.d.ts +2 -0
- package/build/examples/index.js +7 -0
- package/build/examples/seed.d.ts +5 -0
- package/build/examples/seed.js +221 -0
- package/build/examples/types/envelopes.d.ts +34 -0
- package/build/examples/types/envelopes.js +8 -0
- package/build/examples/types/index.d.ts +10 -0
- package/build/examples/types/index.js +9 -0
- package/build/examples/types/resolvers.d.ts +27 -0
- package/build/examples/types/resolvers.js +9 -0
- package/build/examples/workers.d.ts +10 -0
- package/build/examples/workers.js +49 -0
- package/build/examples/workflows/basic-echo/activities.d.ts +20 -0
- package/build/examples/workflows/basic-echo/activities.js +55 -0
- package/build/examples/workflows/basic-echo/index.d.ts +14 -0
- package/build/examples/workflows/basic-echo/index.js +66 -0
- package/build/examples/workflows/kitchen-sink/activities.d.ts +40 -0
- package/build/examples/workflows/kitchen-sink/activities.js +46 -0
- package/build/examples/workflows/kitchen-sink/index.d.ts +22 -0
- package/build/examples/workflows/kitchen-sink/index.js +123 -0
- package/build/examples/workflows/review-content/activities.d.ts +10 -0
- package/build/examples/workflows/review-content/activities.js +44 -0
- package/build/examples/workflows/review-content/index.d.ts +10 -0
- package/build/examples/workflows/review-content/index.js +95 -0
- package/build/examples/workflows/review-content/types.d.ts +28 -0
- package/build/examples/workflows/review-content/types.js +2 -0
- package/build/index.d.ts +37 -0
- package/build/index.js +151 -0
- package/build/modules/auth.d.ts +58 -0
- package/build/modules/auth.js +163 -0
- package/build/modules/config.d.ts +19 -0
- package/build/modules/config.js +26 -0
- package/build/modules/defaults.d.ts +58 -0
- package/build/modules/defaults.js +95 -0
- package/build/modules/ltconfig.d.ts +21 -0
- package/build/modules/ltconfig.js +110 -0
- package/build/modules/maintenance.d.ts +18 -0
- package/build/modules/maintenance.js +47 -0
- package/build/routes/auth.d.ts +2 -0
- package/build/routes/auth.js +48 -0
- package/build/routes/bot-accounts.d.ts +2 -0
- package/build/routes/bot-accounts.js +280 -0
- package/build/routes/controlplane.d.ts +2 -0
- package/build/routes/controlplane.js +144 -0
- package/build/routes/dba.d.ts +2 -0
- package/build/routes/dba.js +86 -0
- package/build/routes/delegation.d.ts +2 -0
- package/build/routes/delegation.js +81 -0
- package/build/routes/escalations/bulk.d.ts +2 -0
- package/build/routes/escalations/bulk.js +324 -0
- package/build/routes/escalations/helpers.d.ts +5 -0
- package/build/routes/escalations/helpers.js +48 -0
- package/build/routes/escalations/index.d.ts +2 -0
- package/build/routes/escalations/index.js +20 -0
- package/build/routes/escalations/list.d.ts +2 -0
- package/build/routes/escalations/list.js +140 -0
- package/build/routes/escalations/resolve.d.ts +2 -0
- package/build/routes/escalations/resolve.js +240 -0
- package/build/routes/escalations/single.d.ts +2 -0
- package/build/routes/escalations/single.js +195 -0
- package/build/routes/exports.d.ts +2 -0
- package/build/routes/exports.js +163 -0
- package/build/routes/files.d.ts +2 -0
- package/build/routes/files.js +47 -0
- package/build/routes/index.d.ts +2 -0
- package/build/routes/index.js +52 -0
- package/build/routes/insight.d.ts +2 -0
- package/build/routes/insight.js +58 -0
- package/build/routes/maintenance.d.ts +2 -0
- package/build/routes/maintenance.js +38 -0
- package/build/routes/mcp-runs.d.ts +2 -0
- package/build/routes/mcp-runs.js +85 -0
- package/build/routes/mcp.d.ts +2 -0
- package/build/routes/mcp.js +264 -0
- package/build/routes/namespaces.d.ts +2 -0
- package/build/routes/namespaces.js +71 -0
- package/build/routes/oauth.d.ts +7 -0
- package/build/routes/oauth.js +217 -0
- package/build/routes/resolve.d.ts +9 -0
- package/build/routes/resolve.js +19 -0
- package/build/routes/roles.d.ts +2 -0
- package/build/routes/roles.js +195 -0
- package/build/routes/settings.d.ts +2 -0
- package/build/routes/settings.js +35 -0
- package/build/routes/tasks.d.ts +2 -0
- package/build/routes/tasks.js +133 -0
- package/build/routes/users.d.ts +2 -0
- package/build/routes/users.js +206 -0
- package/build/routes/workflows/config.d.ts +2 -0
- package/build/routes/workflows/config.js +123 -0
- package/build/routes/workflows/discovery.d.ts +2 -0
- package/build/routes/workflows/discovery.js +146 -0
- package/build/routes/workflows/index.d.ts +2 -0
- package/build/routes/workflows/index.js +18 -0
- package/build/routes/workflows/invocation.d.ts +2 -0
- package/build/routes/workflows/invocation.js +162 -0
- package/build/routes/yaml-workflows/crud.d.ts +2 -0
- package/build/routes/yaml-workflows/crud.js +276 -0
- package/build/routes/yaml-workflows/deployment.d.ts +2 -0
- package/build/routes/yaml-workflows/deployment.js +179 -0
- package/build/routes/yaml-workflows/helpers.d.ts +2 -0
- package/build/routes/yaml-workflows/helpers.js +8 -0
- package/build/routes/yaml-workflows/index.d.ts +2 -0
- package/build/routes/yaml-workflows/index.js +21 -0
- package/build/routes/yaml-workflows/versions.d.ts +2 -0
- package/build/routes/yaml-workflows/versions.js +116 -0
- package/build/scripts/process-helpers.d.ts +11 -0
- package/build/scripts/process-helpers.js +59 -0
- package/build/scripts/process.d.ts +18 -0
- package/build/scripts/process.js +191 -0
- package/build/scripts/token.d.ts +13 -0
- package/build/scripts/token.js +42 -0
- package/build/services/auth/bot-api-key.d.ts +32 -0
- package/build/services/auth/bot-api-key.js +112 -0
- package/build/services/auth/delegation.d.ts +20 -0
- package/build/services/auth/delegation.js +53 -0
- package/build/services/auth/service-token.d.ts +23 -0
- package/build/services/auth/service-token.js +105 -0
- package/build/services/config/cache.d.ts +2 -0
- package/build/services/config/cache.js +24 -0
- package/build/services/config/index.d.ts +4 -0
- package/build/services/config/index.js +13 -0
- package/build/services/config/provider.d.ts +2 -0
- package/build/services/config/provider.js +30 -0
- package/build/services/config/read.d.ts +3 -0
- package/build/services/config/read.js +68 -0
- package/build/services/config/sql.d.ts +14 -0
- package/build/services/config/sql.js +58 -0
- package/build/services/config/write.d.ts +5 -0
- package/build/services/config/write.js +61 -0
- package/build/services/controlplane/index.d.ts +47 -0
- package/build/services/controlplane/index.js +124 -0
- package/build/services/controlplane/quorum-bridge.d.ts +15 -0
- package/build/services/controlplane/quorum-bridge.js +62 -0
- package/build/services/controlplane/sql.d.ts +21 -0
- package/build/services/controlplane/sql.js +70 -0
- package/build/services/controlplane/types.d.ts +13 -0
- package/build/services/controlplane/types.js +3 -0
- package/build/services/cron/index.d.ts +46 -0
- package/build/services/cron/index.js +199 -0
- package/build/services/db/index.d.ts +3 -0
- package/build/services/db/index.js +19 -0
- package/build/services/db/migrate.d.ts +1 -0
- package/build/services/db/migrate.js +78 -0
- package/build/services/dba.d.ts +28 -0
- package/build/services/dba.js +32 -0
- package/build/services/escalation/bulk.d.ts +27 -0
- package/build/services/escalation/bulk.js +57 -0
- package/build/services/escalation/crud.d.ts +47 -0
- package/build/services/escalation/crud.js +150 -0
- package/build/services/escalation/index.d.ts +4 -0
- package/build/services/escalation/index.js +20 -0
- package/build/services/escalation/queries.d.ts +37 -0
- package/build/services/escalation/queries.js +163 -0
- package/build/services/escalation/sql.d.ts +21 -0
- package/build/services/escalation/sql.js +135 -0
- package/build/services/escalation/types.d.ts +43 -0
- package/build/services/escalation/types.js +13 -0
- package/build/services/escalation-strategy/default.d.ts +12 -0
- package/build/services/escalation-strategy/default.js +17 -0
- package/build/services/escalation-strategy/index.d.ts +21 -0
- package/build/services/escalation-strategy/index.js +32 -0
- package/build/services/escalation-strategy/mcp.d.ts +13 -0
- package/build/services/escalation-strategy/mcp.js +51 -0
- package/build/services/events/index.d.ts +37 -0
- package/build/services/events/index.js +64 -0
- package/build/services/events/memory.d.ts +27 -0
- package/build/services/events/memory.js +40 -0
- package/build/services/events/nats.d.ts +29 -0
- package/build/services/events/nats.js +50 -0
- package/build/services/events/publish.d.ts +72 -0
- package/build/services/events/publish.js +106 -0
- package/build/services/events/socketio.d.ts +33 -0
- package/build/services/events/socketio.js +70 -0
- package/build/services/export/client.d.ts +2 -0
- package/build/services/export/client.js +16 -0
- package/build/services/export/index.d.ts +39 -0
- package/build/services/export/index.js +158 -0
- package/build/services/export/post-process.d.ts +16 -0
- package/build/services/export/post-process.js +133 -0
- package/build/services/export/types.d.ts +25 -0
- package/build/services/export/types.js +2 -0
- package/build/services/hotmesh-utils.d.ts +61 -0
- package/build/services/hotmesh-utils.js +204 -0
- package/build/services/iam/activity.d.ts +52 -0
- package/build/services/iam/activity.js +59 -0
- package/build/services/iam/bots.d.ts +83 -0
- package/build/services/iam/bots.js +157 -0
- package/build/services/iam/context.d.ts +14 -0
- package/build/services/iam/context.js +61 -0
- package/build/services/iam/credentials.d.ts +42 -0
- package/build/services/iam/credentials.js +86 -0
- package/build/services/iam/envelope.d.ts +10 -0
- package/build/services/iam/envelope.js +32 -0
- package/build/services/iam/ephemeral.d.ts +50 -0
- package/build/services/iam/ephemeral.js +131 -0
- package/build/services/iam/index.d.ts +19 -0
- package/build/services/iam/index.js +37 -0
- package/build/services/iam/principal.d.ts +12 -0
- package/build/services/iam/principal.js +53 -0
- package/build/services/iam/resolve.d.ts +48 -0
- package/build/services/iam/resolve.js +89 -0
- package/build/services/insight/index.d.ts +30 -0
- package/build/services/insight/index.js +81 -0
- package/build/services/insight/prompts.d.ts +4 -0
- package/build/services/insight/prompts.js +15 -0
- package/build/services/interceptor/activities/config.d.ts +21 -0
- package/build/services/interceptor/activities/config.js +26 -0
- package/build/services/interceptor/activities/escalation.d.ts +58 -0
- package/build/services/interceptor/activities/escalation.js +110 -0
- package/build/services/interceptor/activities/index.d.ts +4 -0
- package/build/services/interceptor/activities/index.js +23 -0
- package/build/services/interceptor/activities/task.d.ts +65 -0
- package/build/services/interceptor/activities/task.js +168 -0
- package/build/services/interceptor/activities/workflow.d.ts +26 -0
- package/build/services/interceptor/activities/workflow.js +41 -0
- package/build/services/interceptor/activity-interceptor.d.ts +32 -0
- package/build/services/interceptor/activity-interceptor.js +86 -0
- package/build/services/interceptor/completion.d.ts +16 -0
- package/build/services/interceptor/completion.js +149 -0
- package/build/services/interceptor/context.d.ts +11 -0
- package/build/services/interceptor/context.js +20 -0
- package/build/services/interceptor/escalation.d.ts +26 -0
- package/build/services/interceptor/escalation.js +150 -0
- package/build/services/interceptor/index.d.ts +45 -0
- package/build/services/interceptor/index.js +160 -0
- package/build/services/interceptor/lifecycle.d.ts +44 -0
- package/build/services/interceptor/lifecycle.js +174 -0
- package/build/services/interceptor/state.d.ts +22 -0
- package/build/services/interceptor/state.js +36 -0
- package/build/services/interceptor/types.d.ts +43 -0
- package/build/services/interceptor/types.js +3 -0
- package/build/services/llm/detect.d.ts +16 -0
- package/build/services/llm/detect.js +33 -0
- package/build/services/llm/index.d.ts +34 -0
- package/build/services/llm/index.js +106 -0
- package/build/services/llm/providers/anthropic.d.ts +11 -0
- package/build/services/llm/providers/anthropic.js +85 -0
- package/build/services/llm/providers/openai.d.ts +9 -0
- package/build/services/llm/providers/openai.js +46 -0
- package/build/services/llm/translate.d.ts +66 -0
- package/build/services/llm/translate.js +192 -0
- package/build/services/llm/types.d.ts +64 -0
- package/build/services/llm/types.js +8 -0
- package/build/services/logger/index.d.ts +32 -0
- package/build/services/logger/index.js +69 -0
- package/build/services/logger/pino.d.ts +24 -0
- package/build/services/logger/pino.js +59 -0
- package/build/services/maintenance/index.d.ts +43 -0
- package/build/services/maintenance/index.js +183 -0
- package/build/services/mcp/adapter.d.ts +23 -0
- package/build/services/mcp/adapter.js +119 -0
- package/build/services/mcp/client/connection.d.ts +46 -0
- package/build/services/mcp/client/connection.js +280 -0
- package/build/services/mcp/client/index.d.ts +2 -0
- package/build/services/mcp/client/index.js +16 -0
- package/build/services/mcp/client/tools.d.ts +22 -0
- package/build/services/mcp/client/tools.js +118 -0
- package/build/services/mcp/db-server/index.d.ts +25 -0
- package/build/services/mcp/db-server/index.js +49 -0
- package/build/services/mcp/db-server/schemas.d.ts +52 -0
- package/build/services/mcp/db-server/schemas.js +34 -0
- package/build/services/mcp/db-server/tools.d.ts +5 -0
- package/build/services/mcp/db-server/tools.js +224 -0
- package/build/services/mcp/db.d.ts +26 -0
- package/build/services/mcp/db.js +141 -0
- package/build/services/mcp/index.d.ts +25 -0
- package/build/services/mcp/index.js +47 -0
- package/build/services/mcp/playwright-server/index.d.ts +14 -0
- package/build/services/mcp/playwright-server/index.js +25 -0
- package/build/services/mcp/playwright-server/lifecycle.d.ts +7 -0
- package/build/services/mcp/playwright-server/lifecycle.js +63 -0
- package/build/services/mcp/playwright-server/schemas.d.ts +81 -0
- package/build/services/mcp/playwright-server/schemas.js +48 -0
- package/build/services/mcp/playwright-server/tools.d.ts +2 -0
- package/build/services/mcp/playwright-server/tools.js +224 -0
- package/build/services/mcp/server.d.ts +26 -0
- package/build/services/mcp/server.js +286 -0
- package/build/services/mcp/sql.d.ts +12 -0
- package/build/services/mcp/sql.js +59 -0
- package/build/services/mcp/types.d.ts +17 -0
- package/build/services/mcp/types.js +3 -0
- package/build/services/mcp/vision-server.d.ts +15 -0
- package/build/services/mcp/vision-server.js +214 -0
- package/build/services/mcp/workflow-compiler-server.d.ts +15 -0
- package/build/services/mcp/workflow-compiler-server.js +206 -0
- package/build/services/mcp/workflow-server.d.ts +24 -0
- package/build/services/mcp/workflow-server.js +230 -0
- package/build/services/mcp-runs/enrichment.d.ts +12 -0
- package/build/services/mcp-runs/enrichment.js +39 -0
- package/build/services/mcp-runs/events.d.ts +6 -0
- package/build/services/mcp-runs/events.js +126 -0
- package/build/services/mcp-runs/execution-builder.d.ts +12 -0
- package/build/services/mcp-runs/execution-builder.js +100 -0
- package/build/services/mcp-runs/index.d.ts +4 -0
- package/build/services/mcp-runs/index.js +8 -0
- package/build/services/mcp-runs/queries.d.ts +28 -0
- package/build/services/mcp-runs/queries.js +71 -0
- package/build/services/mcp-runs/sql.d.ts +4 -0
- package/build/services/mcp-runs/sql.js +17 -0
- package/build/services/mcp-runs/types.d.ts +65 -0
- package/build/services/mcp-runs/types.js +2 -0
- package/build/services/namespace/index.d.ts +17 -0
- package/build/services/namespace/index.js +41 -0
- package/build/services/namespace/sql.d.ts +4 -0
- package/build/services/namespace/sql.js +23 -0
- package/build/services/namespace/types.d.ts +11 -0
- package/build/services/namespace/types.js +3 -0
- package/build/services/oauth/crypto.d.ts +19 -0
- package/build/services/oauth/crypto.js +95 -0
- package/build/services/oauth/db.d.ts +20 -0
- package/build/services/oauth/db.js +140 -0
- package/build/services/oauth/index.d.ts +12 -0
- package/build/services/oauth/index.js +77 -0
- package/build/services/oauth/providers/anthropic.d.ts +3 -0
- package/build/services/oauth/providers/anthropic.js +111 -0
- package/build/services/oauth/providers/github.d.ts +3 -0
- package/build/services/oauth/providers/github.js +46 -0
- package/build/services/oauth/providers/google.d.ts +3 -0
- package/build/services/oauth/providers/google.js +44 -0
- package/build/services/oauth/providers/index.d.ts +2 -0
- package/build/services/oauth/providers/index.js +7 -0
- package/build/services/oauth/providers/microsoft.d.ts +3 -0
- package/build/services/oauth/providers/microsoft.js +46 -0
- package/build/services/oauth/providers/mock.d.ts +3 -0
- package/build/services/oauth/providers/mock.js +76 -0
- package/build/services/oauth/providers/registry.d.ts +8 -0
- package/build/services/oauth/providers/registry.js +46 -0
- package/build/services/oauth/providers/types.d.ts +13 -0
- package/build/services/oauth/providers/types.js +2 -0
- package/build/services/oauth/state.d.ts +30 -0
- package/build/services/oauth/state.js +83 -0
- package/build/services/orchestrator/index.d.ts +23 -0
- package/build/services/orchestrator/index.js +156 -0
- package/build/services/orchestrator/types.d.ts +15 -0
- package/build/services/orchestrator/types.js +3 -0
- package/build/services/role/index.d.ts +47 -0
- package/build/services/role/index.js +136 -0
- package/build/services/role/sql.d.ts +14 -0
- package/build/services/role/sql.js +80 -0
- package/build/services/role/types.d.ts +11 -0
- package/build/services/role/types.js +3 -0
- package/build/services/storage/index.d.ts +12 -0
- package/build/services/storage/index.js +31 -0
- package/build/services/storage/local.d.ts +26 -0
- package/build/services/storage/local.js +129 -0
- package/build/services/storage/s3.d.ts +31 -0
- package/build/services/storage/s3.js +180 -0
- package/build/services/storage/types.d.ts +41 -0
- package/build/services/storage/types.js +2 -0
- package/build/services/task/crud.d.ts +21 -0
- package/build/services/task/crud.js +123 -0
- package/build/services/task/index.d.ts +4 -0
- package/build/services/task/index.js +20 -0
- package/build/services/task/process.d.ts +14 -0
- package/build/services/task/process.js +98 -0
- package/build/services/task/resolve.d.ts +12 -0
- package/build/services/task/resolve.js +49 -0
- package/build/services/task/sql.d.ts +19 -0
- package/build/services/task/sql.js +92 -0
- package/build/services/task/types.d.ts +56 -0
- package/build/services/task/types.js +9 -0
- package/build/services/telemetry/honeycomb.d.ts +53 -0
- package/build/services/telemetry/honeycomb.js +79 -0
- package/build/services/telemetry/index.d.ts +46 -0
- package/build/services/telemetry/index.js +68 -0
- package/build/services/user/auth.d.ts +7 -0
- package/build/services/user/auth.js +26 -0
- package/build/services/user/crud.d.ts +19 -0
- package/build/services/user/crud.js +151 -0
- package/build/services/user/index.d.ts +5 -0
- package/build/services/user/index.js +26 -0
- package/build/services/user/rbac.d.ts +15 -0
- package/build/services/user/rbac.js +32 -0
- package/build/services/user/roles.d.ts +7 -0
- package/build/services/user/roles.js +42 -0
- package/build/services/user/sql.d.ts +22 -0
- package/build/services/user/sql.js +45 -0
- package/build/services/user/types.d.ts +23 -0
- package/build/services/user/types.js +4 -0
- package/build/services/workers/registry.d.ts +10 -0
- package/build/services/workers/registry.js +26 -0
- package/build/services/workflow-invocation.d.ts +46 -0
- package/build/services/workflow-invocation.js +184 -0
- package/build/services/yaml-workflow/db-utils.d.ts +25 -0
- package/build/services/yaml-workflow/db-utils.js +93 -0
- package/build/services/yaml-workflow/db.d.ts +27 -0
- package/build/services/yaml-workflow/db.js +196 -0
- package/build/services/yaml-workflow/deployer-helpers.d.ts +13 -0
- package/build/services/yaml-workflow/deployer-helpers.js +133 -0
- package/build/services/yaml-workflow/deployer.d.ts +54 -0
- package/build/services/yaml-workflow/deployer.js +203 -0
- package/build/services/yaml-workflow/generator.d.ts +21 -0
- package/build/services/yaml-workflow/generator.js +117 -0
- package/build/services/yaml-workflow/index.d.ts +4 -0
- package/build/services/yaml-workflow/index.js +20 -0
- package/build/services/yaml-workflow/input-analyzer-helpers.d.ts +48 -0
- package/build/services/yaml-workflow/input-analyzer-helpers.js +183 -0
- package/build/services/yaml-workflow/input-analyzer.d.ts +30 -0
- package/build/services/yaml-workflow/input-analyzer.js +109 -0
- package/build/services/yaml-workflow/pattern-detector/array-source.d.ts +22 -0
- package/build/services/yaml-workflow/pattern-detector/array-source.js +120 -0
- package/build/services/yaml-workflow/pattern-detector/collapse.d.ts +27 -0
- package/build/services/yaml-workflow/pattern-detector/collapse.js +92 -0
- package/build/services/yaml-workflow/pattern-detector/index.d.ts +18 -0
- package/build/services/yaml-workflow/pattern-detector/index.js +22 -0
- package/build/services/yaml-workflow/pattern-detector/run-detection.d.ts +28 -0
- package/build/services/yaml-workflow/pattern-detector/run-detection.js +81 -0
- package/build/services/yaml-workflow/pattern-detector/types.d.ts +29 -0
- package/build/services/yaml-workflow/pattern-detector/types.js +8 -0
- package/build/services/yaml-workflow/pipeline/analyze.d.ts +11 -0
- package/build/services/yaml-workflow/pipeline/analyze.js +64 -0
- package/build/services/yaml-workflow/pipeline/build/dag.d.ts +25 -0
- package/build/services/yaml-workflow/pipeline/build/dag.js +254 -0
- package/build/services/yaml-workflow/pipeline/build/index.d.ts +20 -0
- package/build/services/yaml-workflow/pipeline/build/index.js +115 -0
- package/build/services/yaml-workflow/pipeline/build/iteration.d.ts +25 -0
- package/build/services/yaml-workflow/pipeline/build/iteration.js +231 -0
- package/build/services/yaml-workflow/pipeline/build/metadata.d.ts +15 -0
- package/build/services/yaml-workflow/pipeline/build/metadata.js +126 -0
- package/build/services/yaml-workflow/pipeline/build/transform.d.ts +17 -0
- package/build/services/yaml-workflow/pipeline/build/transform.js +94 -0
- package/build/services/yaml-workflow/pipeline/build/utils.d.ts +22 -0
- package/build/services/yaml-workflow/pipeline/build/utils.js +129 -0
- package/build/services/yaml-workflow/pipeline/build/wiring.d.ts +9 -0
- package/build/services/yaml-workflow/pipeline/build/wiring.js +148 -0
- package/build/services/yaml-workflow/pipeline/compile/index.d.ts +17 -0
- package/build/services/yaml-workflow/pipeline/compile/index.js +64 -0
- package/build/services/yaml-workflow/pipeline/compile/llm-call.d.ts +14 -0
- package/build/services/yaml-workflow/pipeline/compile/llm-call.js +153 -0
- package/build/services/yaml-workflow/pipeline/compile/parse-plan.d.ts +12 -0
- package/build/services/yaml-workflow/pipeline/compile/parse-plan.js +88 -0
- package/build/services/yaml-workflow/pipeline/compile/summarize.d.ts +39 -0
- package/build/services/yaml-workflow/pipeline/compile/summarize.js +174 -0
- package/build/services/yaml-workflow/pipeline/extract-helpers.d.ts +42 -0
- package/build/services/yaml-workflow/pipeline/extract-helpers.js +88 -0
- package/build/services/yaml-workflow/pipeline/extract.d.ts +24 -0
- package/build/services/yaml-workflow/pipeline/extract.js +235 -0
- package/build/services/yaml-workflow/pipeline/prompts.d.ts +15 -0
- package/build/services/yaml-workflow/pipeline/prompts.js +254 -0
- package/build/services/yaml-workflow/pipeline/validate.d.ts +12 -0
- package/build/services/yaml-workflow/pipeline/validate.js +111 -0
- package/build/services/yaml-workflow/sql.d.ts +19 -0
- package/build/services/yaml-workflow/sql.js +83 -0
- package/build/services/yaml-workflow/types.d.ts +223 -0
- package/build/services/yaml-workflow/types.js +8 -0
- package/build/services/yaml-workflow/workers/callbacks.d.ts +17 -0
- package/build/services/yaml-workflow/workers/callbacks.js +194 -0
- package/build/services/yaml-workflow/workers/events.d.ts +7 -0
- package/build/services/yaml-workflow/workers/events.js +49 -0
- package/build/services/yaml-workflow/workers/index.d.ts +4 -0
- package/build/services/yaml-workflow/workers/index.js +15 -0
- package/build/services/yaml-workflow/workers/register.d.ts +15 -0
- package/build/services/yaml-workflow/workers/register.js +233 -0
- package/build/services/yaml-workflow/workers/scope.d.ts +13 -0
- package/build/services/yaml-workflow/workers/scope.js +37 -0
- package/build/start/adapters.d.ts +6 -0
- package/build/start/adapters.js +80 -0
- package/build/start/config.d.ts +10 -0
- package/build/start/config.js +88 -0
- package/build/start/index.d.ts +21 -0
- package/build/start/index.js +87 -0
- package/build/start/server.d.ts +6 -0
- package/build/start/server.js +46 -0
- package/build/start/workers.d.ts +32 -0
- package/build/start/workers.js +144 -0
- package/build/system/activities/claude-code.d.ts +56 -0
- package/build/system/activities/claude-code.js +258 -0
- package/build/system/activities/file-storage.d.ts +31 -0
- package/build/system/activities/file-storage.js +71 -0
- package/build/system/activities/http.d.ts +27 -0
- package/build/system/activities/http.js +56 -0
- package/build/system/activities/oauth.d.ts +39 -0
- package/build/system/activities/oauth.js +33 -0
- package/build/system/activities/triage/cache.d.ts +7 -0
- package/build/system/activities/triage/cache.js +10 -0
- package/build/system/activities/triage/context.d.ts +21 -0
- package/build/system/activities/triage/context.js +92 -0
- package/build/system/activities/triage/discovery.d.ts +25 -0
- package/build/system/activities/triage/discovery.js +170 -0
- package/build/system/activities/triage/index.d.ts +5 -0
- package/build/system/activities/triage/index.js +22 -0
- package/build/system/activities/triage/llm.d.ts +9 -0
- package/build/system/activities/triage/llm.js +34 -0
- package/build/system/activities/triage/tools.d.ts +24 -0
- package/build/system/activities/triage/tools.js +178 -0
- package/build/system/index.d.ts +16 -0
- package/build/system/index.js +100 -0
- package/build/system/mcp-servers/claude-code.d.ts +17 -0
- package/build/system/mcp-servers/claude-code.js +110 -0
- package/build/system/mcp-servers/db-query/index.d.ts +25 -0
- package/build/system/mcp-servers/db-query/index.js +49 -0
- package/build/system/mcp-servers/db-query/schemas.d.ts +52 -0
- package/build/system/mcp-servers/db-query/schemas.js +34 -0
- package/build/system/mcp-servers/db-query/tools.d.ts +5 -0
- package/build/system/mcp-servers/db-query/tools.js +224 -0
- package/build/system/mcp-servers/document-vision.d.ts +15 -0
- package/build/system/mcp-servers/document-vision.js +228 -0
- package/build/system/mcp-servers/file-storage.d.ts +4 -0
- package/build/system/mcp-servers/file-storage.js +101 -0
- package/build/system/mcp-servers/http-fetch.d.ts +4 -0
- package/build/system/mcp-servers/http-fetch.js +100 -0
- package/build/system/mcp-servers/human-queue.d.ts +26 -0
- package/build/system/mcp-servers/human-queue.js +287 -0
- package/build/system/mcp-servers/oauth.d.ts +11 -0
- package/build/system/mcp-servers/oauth.js +100 -0
- package/build/system/mcp-servers/playwright/browser-lifecycle.d.ts +26 -0
- package/build/system/mcp-servers/playwright/browser-lifecycle.js +125 -0
- package/build/system/mcp-servers/playwright/index.d.ts +25 -0
- package/build/system/mcp-servers/playwright/index.js +42 -0
- package/build/system/mcp-servers/playwright/schemas.d.ts +383 -0
- package/build/system/mcp-servers/playwright/schemas.js +87 -0
- package/build/system/mcp-servers/playwright/tools-atomic.d.ts +2 -0
- package/build/system/mcp-servers/playwright/tools-atomic.js +9 -0
- package/build/system/mcp-servers/playwright/tools-navigation.d.ts +2 -0
- package/build/system/mcp-servers/playwright/tools-navigation.js +140 -0
- package/build/system/mcp-servers/playwright/tools-page-interaction.d.ts +2 -0
- package/build/system/mcp-servers/playwright/tools-page-interaction.js +162 -0
- package/build/system/mcp-servers/playwright/tools-run-script.d.ts +2 -0
- package/build/system/mcp-servers/playwright/tools-run-script.js +190 -0
- package/build/system/mcp-servers/playwright/types.d.ts +8 -0
- package/build/system/mcp-servers/playwright/types.js +30 -0
- package/build/system/mcp-servers/playwright-cli/helpers.d.ts +11 -0
- package/build/system/mcp-servers/playwright-cli/helpers.js +20 -0
- package/build/system/mcp-servers/playwright-cli/index.d.ts +4 -0
- package/build/system/mcp-servers/playwright-cli/index.js +15 -0
- package/build/system/mcp-servers/playwright-cli/schemas.d.ts +219 -0
- package/build/system/mcp-servers/playwright-cli/schemas.js +75 -0
- package/build/system/mcp-servers/playwright-cli/tools-auth.d.ts +2 -0
- package/build/system/mcp-servers/playwright-cli/tools-auth.js +183 -0
- package/build/system/mcp-servers/playwright-cli/tools-capture.d.ts +2 -0
- package/build/system/mcp-servers/playwright-cli/tools-capture.js +267 -0
- package/build/system/mcp-servers/prompts.d.ts +4 -0
- package/build/system/mcp-servers/prompts.js +10 -0
- package/build/system/mcp-servers/workflow-compiler.d.ts +15 -0
- package/build/system/mcp-servers/workflow-compiler.js +230 -0
- package/build/system/mcp-servers/workflow.d.ts +24 -0
- package/build/system/mcp-servers/workflow.js +231 -0
- package/build/system/seed/index.d.ts +7 -0
- package/build/system/seed/index.js +36 -0
- package/build/system/seed/server-definitions.d.ts +1460 -0
- package/build/system/seed/server-definitions.js +160 -0
- package/build/system/seed/tool-manifests-browser.d.ts +577 -0
- package/build/system/seed/tool-manifests-browser.js +158 -0
- package/build/system/seed/tool-manifests-data.d.ts +322 -0
- package/build/system/seed/tool-manifests-data.js +173 -0
- package/build/system/seed/tool-manifests-escalation.d.ts +173 -0
- package/build/system/seed/tool-manifests-escalation.js +76 -0
- package/build/system/seed/tool-manifests-workflows.d.ts +211 -0
- package/build/system/seed/tool-manifests-workflows.js +136 -0
- package/build/system/workflows/mcp-deterministic/activities.d.ts +6 -0
- package/build/system/workflows/mcp-deterministic/activities.js +56 -0
- package/build/system/workflows/mcp-deterministic/index.d.ts +9 -0
- package/build/system/workflows/mcp-deterministic/index.js +72 -0
- package/build/system/workflows/mcp-query/activities/caches.d.ts +7 -0
- package/build/system/workflows/mcp-query/activities/caches.js +10 -0
- package/build/system/workflows/mcp-query/activities/discovery.d.ts +31 -0
- package/build/system/workflows/mcp-query/activities/discovery.js +172 -0
- package/build/system/workflows/mcp-query/activities/index.d.ts +4 -0
- package/build/system/workflows/mcp-query/activities/index.js +13 -0
- package/build/system/workflows/mcp-query/activities/llm.d.ts +8 -0
- package/build/system/workflows/mcp-query/activities/llm.js +33 -0
- package/build/system/workflows/mcp-query/activities/tool-executor.d.ts +5 -0
- package/build/system/workflows/mcp-query/activities/tool-executor.js +112 -0
- package/build/system/workflows/mcp-query/activities/tool-loader.d.ts +14 -0
- package/build/system/workflows/mcp-query/activities/tool-loader.js +93 -0
- package/build/system/workflows/mcp-query/index.d.ts +14 -0
- package/build/system/workflows/mcp-query/index.js +227 -0
- package/build/system/workflows/mcp-query/prompts.d.ts +4 -0
- package/build/system/workflows/mcp-query/prompts.js +101 -0
- package/build/system/workflows/mcp-query/strategy-advisors.d.ts +14 -0
- package/build/system/workflows/mcp-query/strategy-advisors.js +109 -0
- package/build/system/workflows/mcp-query/types.d.ts +10 -0
- package/build/system/workflows/mcp-query/types.js +3 -0
- package/build/system/workflows/mcp-query-router/activities.d.ts +6 -0
- package/build/system/workflows/mcp-query-router/activities.js +12 -0
- package/build/system/workflows/mcp-query-router/index.d.ts +13 -0
- package/build/system/workflows/mcp-query-router/index.js +107 -0
- package/build/system/workflows/mcp-query-router/prompts.d.ts +1 -0
- package/build/system/workflows/mcp-query-router/prompts.js +8 -0
- package/build/system/workflows/mcp-triage/index.d.ts +31 -0
- package/build/system/workflows/mcp-triage/index.js +222 -0
- package/build/system/workflows/mcp-triage/prompts.d.ts +7 -0
- package/build/system/workflows/mcp-triage/prompts.js +159 -0
- package/build/system/workflows/mcp-triage/response-builders.d.ts +17 -0
- package/build/system/workflows/mcp-triage/response-builders.js +96 -0
- package/build/system/workflows/mcp-triage/response.d.ts +8 -0
- package/build/system/workflows/mcp-triage/response.js +157 -0
- package/build/system/workflows/mcp-triage/types.d.ts +20 -0
- package/build/system/workflows/mcp-triage/types.js +3 -0
- package/build/system/workflows/mcp-triage-deterministic/activities.d.ts +4 -0
- package/build/system/workflows/mcp-triage-deterministic/activities.js +8 -0
- package/build/system/workflows/mcp-triage-deterministic/index.d.ts +12 -0
- package/build/system/workflows/mcp-triage-deterministic/index.js +83 -0
- package/build/system/workflows/mcp-triage-router/activities.d.ts +9 -0
- package/build/system/workflows/mcp-triage-router/activities.js +15 -0
- package/build/system/workflows/mcp-triage-router/index.d.ts +13 -0
- package/build/system/workflows/mcp-triage-router/index.js +122 -0
- package/build/tsconfig.tsbuildinfo +1 -0
- package/build/types/auth.d.ts +34 -0
- package/build/types/auth.js +2 -0
- package/build/types/config.d.ts +48 -0
- package/build/types/config.js +2 -0
- package/build/types/delegation.d.ts +41 -0
- package/build/types/delegation.js +2 -0
- package/build/types/discovery.d.ts +12 -0
- package/build/types/discovery.js +3 -0
- package/build/types/envelope.d.ts +53 -0
- package/build/types/envelope.js +2 -0
- package/build/types/escalation-strategy.d.ts +37 -0
- package/build/types/escalation-strategy.js +2 -0
- package/build/types/escalation.d.ts +39 -0
- package/build/types/escalation.js +21 -0
- package/build/types/events.d.ts +65 -0
- package/build/types/events.js +2 -0
- package/build/types/export.d.ts +78 -0
- package/build/types/export.js +11 -0
- package/build/types/index.d.ts +21 -0
- package/build/types/index.js +6 -0
- package/build/types/logger.d.ts +26 -0
- package/build/types/logger.js +2 -0
- package/build/types/maintenance.d.ts +24 -0
- package/build/types/maintenance.js +2 -0
- package/build/types/mcp.d.ts +80 -0
- package/build/types/mcp.js +2 -0
- package/build/types/oauth.d.ts +74 -0
- package/build/types/oauth.js +2 -0
- package/build/types/startup.d.ts +110 -0
- package/build/types/startup.js +2 -0
- package/build/types/task.d.ts +39 -0
- package/build/types/task.js +2 -0
- package/build/types/telemetry.d.ts +32 -0
- package/build/types/telemetry.js +2 -0
- package/build/types/tool-context.d.ts +68 -0
- package/build/types/tool-context.js +14 -0
- package/build/types/user.d.ts +18 -0
- package/build/types/user.js +2 -0
- package/build/types/workflow.d.ts +35 -0
- package/build/types/workflow.js +2 -0
- package/build/types/yaml-workflow.d.ts +101 -0
- package/build/types/yaml-workflow.js +5 -0
- package/build/vitest.config.d.ts +2 -0
- package/build/vitest.config.js +32 -0
- package/build/vitest.integration.config.d.ts +2 -0
- package/build/vitest.integration.config.js +25 -0
- package/build/workers/index.d.ts +6 -0
- package/build/workers/index.js +20 -0
- package/dashboard/dist/assets/AdminDashboard-jfacvOC7.js +2 -0
- package/dashboard/dist/assets/AdminDashboard-jfacvOC7.js.map +1 -0
- package/dashboard/dist/assets/AvailableEscalationsPage-BglLDoT8.js +2 -0
- package/dashboard/dist/assets/AvailableEscalationsPage-BglLDoT8.js.map +1 -0
- package/dashboard/dist/assets/BotPicker-D6FYW1Gt.js +2 -0
- package/dashboard/dist/assets/BotPicker-D6FYW1Gt.js.map +1 -0
- package/dashboard/dist/assets/CollapsibleSection-Cxk4wvjT.js +2 -0
- package/dashboard/dist/assets/CollapsibleSection-Cxk4wvjT.js.map +1 -0
- package/dashboard/dist/assets/ConfirmDeleteModal-FSXyKjaB.js +2 -0
- package/dashboard/dist/assets/ConfirmDeleteModal-FSXyKjaB.js.map +1 -0
- package/dashboard/dist/assets/CopyableId-CBdxWfp8.js +2 -0
- package/dashboard/dist/assets/CopyableId-CBdxWfp8.js.map +1 -0
- package/dashboard/dist/assets/CredentialsPage-Ikzsot0w.js +2 -0
- package/dashboard/dist/assets/CredentialsPage-Ikzsot0w.js.map +1 -0
- package/dashboard/dist/assets/CustomDurationPicker-CAninCbl.js +2 -0
- package/dashboard/dist/assets/CustomDurationPicker-CAninCbl.js.map +1 -0
- package/dashboard/dist/assets/DataTable-BDn1WBHS.js +2 -0
- package/dashboard/dist/assets/DataTable-BDn1WBHS.js.map +1 -0
- package/dashboard/dist/assets/EmptyState-2CmV-IaS.js +2 -0
- package/dashboard/dist/assets/EmptyState-2CmV-IaS.js.map +1 -0
- package/dashboard/dist/assets/EscalationsOverview-GXYFPASS.js +2 -0
- package/dashboard/dist/assets/EscalationsOverview-GXYFPASS.js.map +1 -0
- package/dashboard/dist/assets/EventTable-B01oJf6Y.js +2 -0
- package/dashboard/dist/assets/EventTable-B01oJf6Y.js.map +1 -0
- package/dashboard/dist/assets/Field-DuFBAYhu.js +2 -0
- package/dashboard/dist/assets/Field-DuFBAYhu.js.map +1 -0
- package/dashboard/dist/assets/FilterBar-Ck4K4rzu.js +2 -0
- package/dashboard/dist/assets/FilterBar-Ck4K4rzu.js.map +1 -0
- package/dashboard/dist/assets/McpOverview-JkvRcX2e.js +2 -0
- package/dashboard/dist/assets/McpOverview-JkvRcX2e.js.map +1 -0
- package/dashboard/dist/assets/McpQueryDetailPage-CUMqhQdS.js +2 -0
- package/dashboard/dist/assets/McpQueryDetailPage-CUMqhQdS.js.map +1 -0
- package/dashboard/dist/assets/McpQueryPage-DRRhw4nN.js +2 -0
- package/dashboard/dist/assets/McpQueryPage-DRRhw4nN.js.map +1 -0
- package/dashboard/dist/assets/McpRunDetailPage-CmPs5EvE.js +2 -0
- package/dashboard/dist/assets/McpRunDetailPage-CmPs5EvE.js.map +1 -0
- package/dashboard/dist/assets/McpRunsPage-Dl5Y2u6k.js +2 -0
- package/dashboard/dist/assets/McpRunsPage-Dl5Y2u6k.js.map +1 -0
- package/dashboard/dist/assets/Modal-B4rbIVAn.js +2 -0
- package/dashboard/dist/assets/Modal-B4rbIVAn.js.map +1 -0
- package/dashboard/dist/assets/OperatorDashboard-B56il28q.js +2 -0
- package/dashboard/dist/assets/OperatorDashboard-B56il28q.js.map +1 -0
- package/dashboard/dist/assets/PageHeader-CpWFly5S.js +2 -0
- package/dashboard/dist/assets/PageHeader-CpWFly5S.js.map +1 -0
- package/dashboard/dist/assets/PriorityBadge-DfQY9St9.js +2 -0
- package/dashboard/dist/assets/PriorityBadge-DfQY9St9.js.map +1 -0
- package/dashboard/dist/assets/ProcessDetailPage-CMLq4M7D.js +2 -0
- package/dashboard/dist/assets/ProcessDetailPage-CMLq4M7D.js.map +1 -0
- package/dashboard/dist/assets/ProcessesListPage-CZ_HF06v.js +2 -0
- package/dashboard/dist/assets/ProcessesListPage-CZ_HF06v.js.map +1 -0
- package/dashboard/dist/assets/RolePill-BTPa8L-P.js +2 -0
- package/dashboard/dist/assets/RolePill-BTPa8L-P.js.map +1 -0
- package/dashboard/dist/assets/RolesPage-9grZW7yR.js +2 -0
- package/dashboard/dist/assets/RolesPage-9grZW7yR.js.map +1 -0
- package/dashboard/dist/assets/RowActions-Dg-Fsm5O.js +2 -0
- package/dashboard/dist/assets/RowActions-Dg-Fsm5O.js.map +1 -0
- package/dashboard/dist/assets/SimpleMarkdown-CBlvaWP4.js +4 -0
- package/dashboard/dist/assets/SimpleMarkdown-CBlvaWP4.js.map +1 -0
- package/dashboard/dist/assets/StatCard-DlgF0CJC.js +2 -0
- package/dashboard/dist/assets/StatCard-DlgF0CJC.js.map +1 -0
- package/dashboard/dist/assets/StatusBadge-TlC4jiig.js +2 -0
- package/dashboard/dist/assets/StatusBadge-TlC4jiig.js.map +1 -0
- package/dashboard/dist/assets/StickyPagination-F9FZsRy9.js +2 -0
- package/dashboard/dist/assets/StickyPagination-F9FZsRy9.js.map +1 -0
- package/dashboard/dist/assets/SwimlaneTimeline-7SiwATsZ.js +2 -0
- package/dashboard/dist/assets/SwimlaneTimeline-7SiwATsZ.js.map +1 -0
- package/dashboard/dist/assets/TaskDetailPage-CbPVTakt.js +2 -0
- package/dashboard/dist/assets/TaskDetailPage-CbPVTakt.js.map +1 -0
- package/dashboard/dist/assets/TaskQueuePill-awmtb0qw.js +2 -0
- package/dashboard/dist/assets/TaskQueuePill-awmtb0qw.js.map +1 -0
- package/dashboard/dist/assets/TasksListPage-C_QF23c1.js +2 -0
- package/dashboard/dist/assets/TasksListPage-C_QF23c1.js.map +1 -0
- package/dashboard/dist/assets/TimeAgo-UPG6DoH8.js +2 -0
- package/dashboard/dist/assets/TimeAgo-UPG6DoH8.js.map +1 -0
- package/dashboard/dist/assets/TimestampCell-DoWMKg6w.js +2 -0
- package/dashboard/dist/assets/TimestampCell-DoWMKg6w.js.map +1 -0
- package/dashboard/dist/assets/UserName-DaP4YAKr.js +2 -0
- package/dashboard/dist/assets/UserName-DaP4YAKr.js.map +1 -0
- package/dashboard/dist/assets/VersionHistory-Bt7WBr6m.js +5 -0
- package/dashboard/dist/assets/VersionHistory-Bt7WBr6m.js.map +1 -0
- package/dashboard/dist/assets/WorkflowExecutionPage-DjtAQ3hy.js +2 -0
- package/dashboard/dist/assets/WorkflowExecutionPage-DjtAQ3hy.js.map +1 -0
- package/dashboard/dist/assets/WorkflowPill-CCDSVaQj.js +2 -0
- package/dashboard/dist/assets/WorkflowPill-CCDSVaQj.js.map +1 -0
- package/dashboard/dist/assets/WorkflowsDashboard-D8z9uBNB.js +2 -0
- package/dashboard/dist/assets/WorkflowsDashboard-D8z9uBNB.js.map +1 -0
- package/dashboard/dist/assets/WorkflowsOverview-D9OzzQqw.js +2 -0
- package/dashboard/dist/assets/WorkflowsOverview-D9OzzQqw.js.map +1 -0
- package/dashboard/dist/assets/YamlWorkflowDetailPage-DrDvvP62.js +3 -0
- package/dashboard/dist/assets/YamlWorkflowDetailPage-DrDvvP62.js.map +1 -0
- package/dashboard/dist/assets/YamlWorkflowsPage-COqiNCQK.js +2 -0
- package/dashboard/dist/assets/YamlWorkflowsPage-COqiNCQK.js.map +1 -0
- package/dashboard/dist/assets/bots-BkKVMbUW.js +2 -0
- package/dashboard/dist/assets/bots-BkKVMbUW.js.map +1 -0
- package/dashboard/dist/assets/constants-CgaZfe5d.js +2 -0
- package/dashboard/dist/assets/constants-CgaZfe5d.js.map +1 -0
- package/dashboard/dist/assets/escalation-columns-D6aqStaY.js +2 -0
- package/dashboard/dist/assets/escalation-columns-D6aqStaY.js.map +1 -0
- package/dashboard/dist/assets/escalation-qalymbKB.js +2 -0
- package/dashboard/dist/assets/escalation-qalymbKB.js.map +1 -0
- package/dashboard/dist/assets/format-gXZXQ-HJ.js +2 -0
- package/dashboard/dist/assets/format-gXZXQ-HJ.js.map +1 -0
- package/dashboard/dist/assets/helpers-0gSleuzT.js +2 -0
- package/dashboard/dist/assets/helpers-0gSleuzT.js.map +1 -0
- package/dashboard/dist/assets/index-BWvMHed7.js +6 -0
- package/dashboard/dist/assets/index-BWvMHed7.js.map +1 -0
- package/dashboard/dist/assets/index-BaszoPO_.css +1 -0
- package/dashboard/dist/assets/index-Cn2jyj9A.js +2 -0
- package/dashboard/dist/assets/index-Cn2jyj9A.js.map +1 -0
- package/dashboard/dist/assets/index-D8VH6K8B.js +54 -0
- package/dashboard/dist/assets/index-D8VH6K8B.js.map +1 -0
- package/dashboard/dist/assets/index-D9SYwJsi.js +3 -0
- package/dashboard/dist/assets/index-D9SYwJsi.js.map +1 -0
- package/dashboard/dist/assets/index-DTPzZr_X.js +2 -0
- package/dashboard/dist/assets/index-DTPzZr_X.js.map +1 -0
- package/dashboard/dist/assets/index-D_6AB5BE.js +2 -0
- package/dashboard/dist/assets/index-D_6AB5BE.js.map +1 -0
- package/dashboard/dist/assets/index-S9Ks2Lj2.js +2 -0
- package/dashboard/dist/assets/index-S9Ks2Lj2.js.map +1 -0
- package/dashboard/dist/assets/index-X85K5bHC.js +17 -0
- package/dashboard/dist/assets/index-X85K5bHC.js.map +1 -0
- package/dashboard/dist/assets/index-rjmgHlSH.js +2 -0
- package/dashboard/dist/assets/index-rjmgHlSH.js.map +1 -0
- package/dashboard/dist/assets/mcp-blCW6IL7.js +2 -0
- package/dashboard/dist/assets/mcp-blCW6IL7.js.map +1 -0
- package/dashboard/dist/assets/mcp-query-DoAyPbjC.js +2 -0
- package/dashboard/dist/assets/mcp-query-DoAyPbjC.js.map +1 -0
- package/dashboard/dist/assets/mcp-runs-ChPbpvXK.js +2 -0
- package/dashboard/dist/assets/mcp-runs-ChPbpvXK.js.map +1 -0
- package/dashboard/dist/assets/namespaces-BgbaC3ow.js +2 -0
- package/dashboard/dist/assets/namespaces-BgbaC3ow.js.map +1 -0
- package/dashboard/dist/assets/roles-ZNrqqnQl.js +2 -0
- package/dashboard/dist/assets/roles-ZNrqqnQl.js.map +1 -0
- package/dashboard/dist/assets/settings-eBRSE0mQ.js +2 -0
- package/dashboard/dist/assets/settings-eBRSE0mQ.js.map +1 -0
- package/dashboard/dist/assets/tasks-tRqClPns.js +2 -0
- package/dashboard/dist/assets/tasks-tRqClPns.js.map +1 -0
- package/dashboard/dist/assets/useFilterParams-BaXUAkYK.js +2 -0
- package/dashboard/dist/assets/useFilterParams-BaXUAkYK.js.map +1 -0
- package/dashboard/dist/assets/useNatsEvents-Xr43X1fG.js +2 -0
- package/dashboard/dist/assets/useNatsEvents-Xr43X1fG.js.map +1 -0
- package/dashboard/dist/assets/useYamlActivityEvents-BO51u8tm.js +2 -0
- package/dashboard/dist/assets/useYamlActivityEvents-BO51u8tm.js.map +1 -0
- package/dashboard/dist/assets/users-tMvNyOo8.js +2 -0
- package/dashboard/dist/assets/users-tMvNyOo8.js.map +1 -0
- package/dashboard/dist/assets/vendor-icons-ZTAKVwGc.js +292 -0
- package/dashboard/dist/assets/vendor-icons-ZTAKVwGc.js.map +1 -0
- package/dashboard/dist/assets/vendor-query-B2UbickB.js +18 -0
- package/dashboard/dist/assets/vendor-query-B2UbickB.js.map +1 -0
- package/dashboard/dist/assets/vendor-react-Cw8Gy8NJ.js +22 -0
- package/dashboard/dist/assets/vendor-react-Cw8Gy8NJ.js.map +1 -0
- package/dashboard/dist/assets/workflows-Cc4VHcrp.js +2 -0
- package/dashboard/dist/assets/workflows-Cc4VHcrp.js.map +1 -0
- package/dashboard/dist/assets/yaml-workflows-BL4V5CQy.js +2 -0
- package/dashboard/dist/assets/yaml-workflows-BL4V5CQy.js.map +1 -0
- package/dashboard/dist/index.html +20 -0
- package/dashboard/dist/logo512.png +0 -0
- package/package.json +96 -0
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Interceptor lifecycle helpers.
|
|
4
|
+
*
|
|
5
|
+
* Extracted from the main execute() function so the interceptor
|
|
6
|
+
* reads as a high-level pipeline. Each helper handles one phase
|
|
7
|
+
* of the workflow lifecycle.
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.extractWorkflowIdentity = extractWorkflowIdentity;
|
|
11
|
+
exports.deriveTaskQueue = deriveTaskQueue;
|
|
12
|
+
exports.resolveReRun = resolveReRun;
|
|
13
|
+
exports.ensureTaskWithRouting = ensureTaskWithRouting;
|
|
14
|
+
exports.publishStartedEvents = publishStartedEvents;
|
|
15
|
+
exports.completePlainResult = completePlainResult;
|
|
16
|
+
const publish_1 = require("../events/publish");
|
|
17
|
+
// ── Helpers ──────────────────────────────────────────────────────────────────
|
|
18
|
+
/** Extract workflow identity fields from the HotMesh context map. */
|
|
19
|
+
function extractWorkflowIdentity(ctx) {
|
|
20
|
+
return {
|
|
21
|
+
workflowId: ctx.get('workflowId'),
|
|
22
|
+
workflowName: ctx.get('workflowName'),
|
|
23
|
+
workflowTopic: ctx.get('workflowTopic'),
|
|
24
|
+
workflowTrace: ctx.get('workflowTrace'),
|
|
25
|
+
workflowSpan: ctx.get('workflowSpan'),
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
/** Derive the task queue from the workflow topic. */
|
|
29
|
+
function deriveTaskQueue(wf) {
|
|
30
|
+
return wf.workflowTopic
|
|
31
|
+
? wf.workflowTopic.replace(new RegExp(`-${wf.workflowName}$`), '')
|
|
32
|
+
: 'long-tail-examples';
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Detect re-runs and resolve the prior escalation.
|
|
36
|
+
*
|
|
37
|
+
* A re-run occurs when `envelope.resolver` + `envelope.lt.escalationId`
|
|
38
|
+
* are both present — meaning a human (or AI) resolved an escalation
|
|
39
|
+
* and a new workflow was started with the resolver data.
|
|
40
|
+
*/
|
|
41
|
+
async function resolveReRun(activities, envelope, existingTask, wf, taskQueue) {
|
|
42
|
+
const isReRun = !!(envelope?.resolver && envelope?.lt?.escalationId);
|
|
43
|
+
let task = existingTask;
|
|
44
|
+
let metadata = existingTask?.metadata;
|
|
45
|
+
// If re-run but no task found by workflowId, look up by the original taskId
|
|
46
|
+
if (isReRun && !task && envelope?.lt?.taskId) {
|
|
47
|
+
task = await activities.ltGetTask(envelope.lt.taskId);
|
|
48
|
+
metadata = task?.metadata;
|
|
49
|
+
}
|
|
50
|
+
// Resolve the old escalation (skip auto-triage synthetic IDs —
|
|
51
|
+
// the triage orchestrator already resolved those)
|
|
52
|
+
const escalationId = envelope?.lt?.escalationId;
|
|
53
|
+
const isRealEscalation = isReRun && escalationId && !escalationId.startsWith('auto-triage-');
|
|
54
|
+
if (isRealEscalation) {
|
|
55
|
+
await activities.ltResolveEscalation({
|
|
56
|
+
escalationId: escalationId,
|
|
57
|
+
resolverPayload: envelope.resolver,
|
|
58
|
+
});
|
|
59
|
+
(0, publish_1.publishEscalationEvent)({
|
|
60
|
+
type: 'escalation.resolved',
|
|
61
|
+
source: 'interceptor',
|
|
62
|
+
workflowId: wf.workflowId,
|
|
63
|
+
workflowName: wf.workflowName,
|
|
64
|
+
taskQueue,
|
|
65
|
+
taskId: task?.id || existingTask?.id,
|
|
66
|
+
escalationId: escalationId,
|
|
67
|
+
originId: envelope?.lt?.originId,
|
|
68
|
+
status: 'resolved',
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
return { isReRun, task, metadata };
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Ensure a task record exists and resolve routing + origin lineage.
|
|
75
|
+
*
|
|
76
|
+
* Handles three cases:
|
|
77
|
+
* - Task already exists (from executeLT pre-creation) → use it
|
|
78
|
+
* - Re-run task found by escalation context → reuse it
|
|
79
|
+
* - No task → create a standalone task
|
|
80
|
+
*
|
|
81
|
+
* Also injects originId back into the envelope for downstream consistency.
|
|
82
|
+
*/
|
|
83
|
+
async function ensureTaskWithRouting(activities, wf, envelope, existingTask, taskQueue, reRun) {
|
|
84
|
+
let taskId = reRun.task?.id || existingTask?.id;
|
|
85
|
+
let routing = reRun.metadata || existingTask?.metadata;
|
|
86
|
+
// Fallback: envelope carries routing fields (e.g., from triage auto-resolve)
|
|
87
|
+
// but the task metadata doesn't have them
|
|
88
|
+
if (!routing?.parentWorkflowId && envelope?.lt?.parentWorkflowId) {
|
|
89
|
+
routing = {
|
|
90
|
+
...(routing || {}),
|
|
91
|
+
signalId: envelope.lt.signalId,
|
|
92
|
+
parentWorkflowId: envelope.lt.parentWorkflowId,
|
|
93
|
+
parentTaskQueue: envelope.lt.parentTaskQueue,
|
|
94
|
+
parentWorkflowType: envelope.lt.parentWorkflowType,
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
// Canonical originId: traces back to the root workflow
|
|
98
|
+
const originId = envelope?.lt?.originId
|
|
99
|
+
|| reRun.task?.origin_id
|
|
100
|
+
|| existingTask?.origin_id
|
|
101
|
+
|| wf.workflowId;
|
|
102
|
+
// Inject originId so escalation records, stored envelopes, and events
|
|
103
|
+
// all read it consistently
|
|
104
|
+
if (envelope) {
|
|
105
|
+
envelope.lt = { ...envelope.lt, originId };
|
|
106
|
+
}
|
|
107
|
+
// Create task if none exists, or start a pending one
|
|
108
|
+
if (!taskId) {
|
|
109
|
+
taskId = await activities.ltCreateTask({
|
|
110
|
+
workflowId: wf.workflowId,
|
|
111
|
+
workflowType: wf.workflowName,
|
|
112
|
+
ltType: wf.workflowName,
|
|
113
|
+
taskQueue,
|
|
114
|
+
signalId: `lt-standalone-${wf.workflowId}`,
|
|
115
|
+
parentWorkflowId: wf.workflowId,
|
|
116
|
+
originId,
|
|
117
|
+
parentId: envelope?.lt?.parentId,
|
|
118
|
+
envelope: JSON.stringify(envelope || {}),
|
|
119
|
+
traceId: wf.workflowTrace,
|
|
120
|
+
spanId: wf.workflowSpan,
|
|
121
|
+
initiatedBy: envelope?.lt?.initiatedBy ?? envelope?.lt?.userId,
|
|
122
|
+
executingAs: envelope?.lt?.initiatedBy ? envelope?.lt?.userId : undefined,
|
|
123
|
+
});
|
|
124
|
+
await activities.ltStartTask(taskId);
|
|
125
|
+
}
|
|
126
|
+
else if (existingTask?.status === 'pending') {
|
|
127
|
+
await activities.ltStartTask(taskId);
|
|
128
|
+
}
|
|
129
|
+
return { taskId, routing, originId };
|
|
130
|
+
}
|
|
131
|
+
/** Publish workflow.started + task.started events. */
|
|
132
|
+
function publishStartedEvents(wf, taskQueue, taskId, originId) {
|
|
133
|
+
(0, publish_1.publishWorkflowEvent)({
|
|
134
|
+
type: 'workflow.started',
|
|
135
|
+
source: 'interceptor',
|
|
136
|
+
workflowId: wf.workflowId,
|
|
137
|
+
workflowName: wf.workflowName,
|
|
138
|
+
taskQueue,
|
|
139
|
+
taskId,
|
|
140
|
+
originId,
|
|
141
|
+
status: 'running',
|
|
142
|
+
});
|
|
143
|
+
(0, publish_1.publishTaskEvent)({
|
|
144
|
+
type: 'task.started',
|
|
145
|
+
source: 'interceptor',
|
|
146
|
+
workflowId: wf.workflowId,
|
|
147
|
+
workflowName: wf.workflowName,
|
|
148
|
+
taskQueue,
|
|
149
|
+
taskId: taskId,
|
|
150
|
+
originId,
|
|
151
|
+
status: 'in_progress',
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
/** Complete a task and signal parent for plain (non-LTReturn) results. */
|
|
155
|
+
async function completePlainResult(activities, wf, taskQueue, taskId, routing, result) {
|
|
156
|
+
if (taskId) {
|
|
157
|
+
await activities.ltCompleteTask({
|
|
158
|
+
taskId,
|
|
159
|
+
data: JSON.stringify(result),
|
|
160
|
+
workflowId: wf.workflowId,
|
|
161
|
+
workflowName: wf.workflowName,
|
|
162
|
+
taskQueue,
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
if (routing?.parentWorkflowId && routing?.signalId) {
|
|
166
|
+
await activities.ltSignalParent({
|
|
167
|
+
parentTaskQueue: routing.parentTaskQueue,
|
|
168
|
+
parentWorkflowType: routing.parentWorkflowType,
|
|
169
|
+
parentWorkflowId: routing.parentWorkflowId,
|
|
170
|
+
signalId: routing.signalId,
|
|
171
|
+
data: result,
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { LTEnvelope } from '../../types';
|
|
2
|
+
import type * as interceptorActivities from './activities';
|
|
3
|
+
import type { InterceptorState } from './types';
|
|
4
|
+
/**
|
|
5
|
+
* The proxied activity functions available within the interceptor's
|
|
6
|
+
* workflow sandbox. Same shape as the activities module, but every
|
|
7
|
+
* call is routed through the durable activity worker.
|
|
8
|
+
*/
|
|
9
|
+
export type ProxiedActivities = typeof interceptorActivities;
|
|
10
|
+
/**
|
|
11
|
+
* Build the stored envelope that preserves routing and task identity
|
|
12
|
+
* across escalation re-runs.
|
|
13
|
+
*
|
|
14
|
+
* When a human (or AI) resolves an escalation, a new workflow is
|
|
15
|
+
* started with this envelope — it carries the taskId and parent
|
|
16
|
+
* routing so the interceptor can reconnect the dots.
|
|
17
|
+
*/
|
|
18
|
+
export declare function buildStoredEnvelope(state: InterceptorState): Record<string, any>;
|
|
19
|
+
/**
|
|
20
|
+
* Extract the LTEnvelope from the raw HotMesh workflow context.
|
|
21
|
+
*/
|
|
22
|
+
export declare function extractEnvelope(ctx: Map<string, any>): LTEnvelope | undefined;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.buildStoredEnvelope = buildStoredEnvelope;
|
|
4
|
+
exports.extractEnvelope = extractEnvelope;
|
|
5
|
+
/**
|
|
6
|
+
* Build the stored envelope that preserves routing and task identity
|
|
7
|
+
* across escalation re-runs.
|
|
8
|
+
*
|
|
9
|
+
* When a human (or AI) resolves an escalation, a new workflow is
|
|
10
|
+
* started with this envelope — it carries the taskId and parent
|
|
11
|
+
* routing so the interceptor can reconnect the dots.
|
|
12
|
+
*/
|
|
13
|
+
function buildStoredEnvelope(state) {
|
|
14
|
+
return {
|
|
15
|
+
...(state.envelope || {}),
|
|
16
|
+
lt: {
|
|
17
|
+
...(state.envelope?.lt || {}),
|
|
18
|
+
taskId: state.taskId,
|
|
19
|
+
...(state.routing?.parentWorkflowId
|
|
20
|
+
? {
|
|
21
|
+
signalId: state.routing.signalId,
|
|
22
|
+
parentWorkflowId: state.routing.parentWorkflowId,
|
|
23
|
+
parentTaskQueue: state.routing.parentTaskQueue,
|
|
24
|
+
parentWorkflowType: state.routing.parentWorkflowType,
|
|
25
|
+
}
|
|
26
|
+
: {}),
|
|
27
|
+
},
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Extract the LTEnvelope from the raw HotMesh workflow context.
|
|
32
|
+
*/
|
|
33
|
+
function extractEnvelope(ctx) {
|
|
34
|
+
const rawArgs = ctx.get('raw');
|
|
35
|
+
return rawArgs?.data?.arguments?.[0];
|
|
36
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/** Shared type definitions for the interceptor module. */
|
|
2
|
+
import type { LTEnvelope, LTResolvedConfig } from '../../types';
|
|
3
|
+
import type { ProxiedActivities } from './state';
|
|
4
|
+
/**
|
|
5
|
+
* Mutable state carried through a single interceptor execute() call.
|
|
6
|
+
* Populated incrementally as context is resolved, then passed to
|
|
7
|
+
* the escalation and completion submodules.
|
|
8
|
+
*/
|
|
9
|
+
export interface InterceptorState {
|
|
10
|
+
workflowId: string;
|
|
11
|
+
workflowName: string;
|
|
12
|
+
taskQueue: string;
|
|
13
|
+
wfConfig: LTResolvedConfig | null;
|
|
14
|
+
defaultRole: string;
|
|
15
|
+
taskId: string | undefined;
|
|
16
|
+
routing: Record<string, any> | null;
|
|
17
|
+
envelope: LTEnvelope | undefined;
|
|
18
|
+
isReRun: boolean;
|
|
19
|
+
activities: ProxiedActivities;
|
|
20
|
+
traceId?: string;
|
|
21
|
+
spanId?: string;
|
|
22
|
+
}
|
|
23
|
+
export interface OrchestratorContext {
|
|
24
|
+
workflowId: string;
|
|
25
|
+
taskQueue: string;
|
|
26
|
+
workflowType: string;
|
|
27
|
+
/** Identity of the user who initiated this workflow chain. */
|
|
28
|
+
userId?: string;
|
|
29
|
+
}
|
|
30
|
+
/** Identity fields extracted from the HotMesh workflow context. */
|
|
31
|
+
export interface WorkflowIdentity {
|
|
32
|
+
workflowId: string;
|
|
33
|
+
workflowName: string;
|
|
34
|
+
workflowTopic: string;
|
|
35
|
+
workflowTrace: string | undefined;
|
|
36
|
+
workflowSpan: string | undefined;
|
|
37
|
+
}
|
|
38
|
+
/** Result of task + routing resolution. */
|
|
39
|
+
export interface TaskContext {
|
|
40
|
+
taskId: string | undefined;
|
|
41
|
+
routing: Record<string, any> | null;
|
|
42
|
+
originId: string;
|
|
43
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provider detection from model name strings.
|
|
3
|
+
*/
|
|
4
|
+
import type { ProviderName } from './types';
|
|
5
|
+
/**
|
|
6
|
+
* Detect the LLM provider from a model name string.
|
|
7
|
+
*
|
|
8
|
+
* - gpt-*, o1-*, o3-*, o4-*, chatgpt-* → openai
|
|
9
|
+
* - claude-* → anthropic
|
|
10
|
+
* - everything else → openai-compatible (Groq, Together, local, etc.)
|
|
11
|
+
*/
|
|
12
|
+
export declare function detectProvider(model: string): ProviderName;
|
|
13
|
+
/**
|
|
14
|
+
* Resolve the API key for a given provider.
|
|
15
|
+
*/
|
|
16
|
+
export declare function resolveApiKey(provider: ProviderName): string | undefined;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Provider detection from model name strings.
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.detectProvider = detectProvider;
|
|
7
|
+
exports.resolveApiKey = resolveApiKey;
|
|
8
|
+
/**
|
|
9
|
+
* Detect the LLM provider from a model name string.
|
|
10
|
+
*
|
|
11
|
+
* - gpt-*, o1-*, o3-*, o4-*, chatgpt-* → openai
|
|
12
|
+
* - claude-* → anthropic
|
|
13
|
+
* - everything else → openai-compatible (Groq, Together, local, etc.)
|
|
14
|
+
*/
|
|
15
|
+
function detectProvider(model) {
|
|
16
|
+
if (/^(gpt-|o1-|o3-|o4-|chatgpt-)/.test(model))
|
|
17
|
+
return 'openai';
|
|
18
|
+
if (/^claude-/.test(model))
|
|
19
|
+
return 'anthropic';
|
|
20
|
+
return 'openai-compatible';
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Resolve the API key for a given provider.
|
|
24
|
+
*/
|
|
25
|
+
function resolveApiKey(provider) {
|
|
26
|
+
switch (provider) {
|
|
27
|
+
case 'openai':
|
|
28
|
+
case 'openai-compatible':
|
|
29
|
+
return process.env.LT_LLM_API_KEY || process.env.OPENAI_API_KEY;
|
|
30
|
+
case 'anthropic':
|
|
31
|
+
return process.env.ANTHROPIC_API_KEY;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Model-agnostic LLM service.
|
|
3
|
+
*
|
|
4
|
+
* Single entry point for all LLM calls in the application.
|
|
5
|
+
* Automatically detects the provider from the model name and
|
|
6
|
+
* routes to the appropriate SDK (OpenAI, Anthropic, or any
|
|
7
|
+
* OpenAI-compatible provider).
|
|
8
|
+
*
|
|
9
|
+
* Usage:
|
|
10
|
+
* import { callLLM, hasLLMApiKey } from '../services/llm';
|
|
11
|
+
* const response = await callLLM({ model, messages, tools, max_tokens });
|
|
12
|
+
* console.log(response.content, response.tool_calls);
|
|
13
|
+
*/
|
|
14
|
+
import type { LLMOptions, LLMResponse } from './types';
|
|
15
|
+
export type { LLMOptions, LLMResponse, LLMProvider, ChatMessage, ToolDefinition, ToolCall, ContentPart, TextContent, ImageUrlContent, ProviderName, } from './types';
|
|
16
|
+
export { detectProvider } from './detect';
|
|
17
|
+
/**
|
|
18
|
+
* Call an LLM with model-agnostic options.
|
|
19
|
+
*
|
|
20
|
+
* The provider is auto-detected from the model name:
|
|
21
|
+
* - gpt-*, o1-*, o3-*, o4-* → OpenAI
|
|
22
|
+
* - claude-* → Anthropic
|
|
23
|
+
* - others → OpenAI-compatible (respects LT_LLM_BASE_URL)
|
|
24
|
+
*
|
|
25
|
+
* Messages, tools, and responses use OpenAI's format as the canonical
|
|
26
|
+
* representation. Translation to/from other providers happens internally.
|
|
27
|
+
*/
|
|
28
|
+
export declare function callLLM(options: LLMOptions): Promise<LLMResponse>;
|
|
29
|
+
/**
|
|
30
|
+
* Check if the required API key is available for a given model.
|
|
31
|
+
* Useful for conditional feature enablement (e.g., skip LLM compilation
|
|
32
|
+
* when no key is configured).
|
|
33
|
+
*/
|
|
34
|
+
export declare function hasLLMApiKey(model?: string): boolean;
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Model-agnostic LLM service.
|
|
4
|
+
*
|
|
5
|
+
* Single entry point for all LLM calls in the application.
|
|
6
|
+
* Automatically detects the provider from the model name and
|
|
7
|
+
* routes to the appropriate SDK (OpenAI, Anthropic, or any
|
|
8
|
+
* OpenAI-compatible provider).
|
|
9
|
+
*
|
|
10
|
+
* Usage:
|
|
11
|
+
* import { callLLM, hasLLMApiKey } from '../services/llm';
|
|
12
|
+
* const response = await callLLM({ model, messages, tools, max_tokens });
|
|
13
|
+
* console.log(response.content, response.tool_calls);
|
|
14
|
+
*/
|
|
15
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
16
|
+
if (k2 === undefined) k2 = k;
|
|
17
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
18
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
19
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
20
|
+
}
|
|
21
|
+
Object.defineProperty(o, k2, desc);
|
|
22
|
+
}) : (function(o, m, k, k2) {
|
|
23
|
+
if (k2 === undefined) k2 = k;
|
|
24
|
+
o[k2] = m[k];
|
|
25
|
+
}));
|
|
26
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
27
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
28
|
+
}) : function(o, v) {
|
|
29
|
+
o["default"] = v;
|
|
30
|
+
});
|
|
31
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
32
|
+
var ownKeys = function(o) {
|
|
33
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
34
|
+
var ar = [];
|
|
35
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
36
|
+
return ar;
|
|
37
|
+
};
|
|
38
|
+
return ownKeys(o);
|
|
39
|
+
};
|
|
40
|
+
return function (mod) {
|
|
41
|
+
if (mod && mod.__esModule) return mod;
|
|
42
|
+
var result = {};
|
|
43
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
44
|
+
__setModuleDefault(result, mod);
|
|
45
|
+
return result;
|
|
46
|
+
};
|
|
47
|
+
})();
|
|
48
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
49
|
+
exports.detectProvider = void 0;
|
|
50
|
+
exports.callLLM = callLLM;
|
|
51
|
+
exports.hasLLMApiKey = hasLLMApiKey;
|
|
52
|
+
const detect_1 = require("./detect");
|
|
53
|
+
var detect_2 = require("./detect");
|
|
54
|
+
Object.defineProperty(exports, "detectProvider", { enumerable: true, get: function () { return detect_2.detectProvider; } });
|
|
55
|
+
// ── Provider cache (lazy singletons) ──────────────────────────────────────────
|
|
56
|
+
const providers = new Map();
|
|
57
|
+
async function getProvider(model) {
|
|
58
|
+
const name = (0, detect_1.detectProvider)(model);
|
|
59
|
+
let provider = providers.get(name);
|
|
60
|
+
if (!provider) {
|
|
61
|
+
const apiKey = (0, detect_1.resolveApiKey)(name);
|
|
62
|
+
switch (name) {
|
|
63
|
+
case 'openai':
|
|
64
|
+
case 'openai-compatible': {
|
|
65
|
+
const { OpenAIProvider } = await Promise.resolve().then(() => __importStar(require('./providers/openai')));
|
|
66
|
+
const baseURL = process.env.LT_LLM_BASE_URL;
|
|
67
|
+
provider = new OpenAIProvider(apiKey, name === 'openai-compatible' ? baseURL : undefined);
|
|
68
|
+
break;
|
|
69
|
+
}
|
|
70
|
+
case 'anthropic': {
|
|
71
|
+
const { AnthropicProvider } = await Promise.resolve().then(() => __importStar(require('./providers/anthropic')));
|
|
72
|
+
provider = new AnthropicProvider(apiKey);
|
|
73
|
+
break;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
providers.set(name, provider);
|
|
77
|
+
}
|
|
78
|
+
return provider;
|
|
79
|
+
}
|
|
80
|
+
// ── Public API ────────────────────────────────────────────────────────────────
|
|
81
|
+
/**
|
|
82
|
+
* Call an LLM with model-agnostic options.
|
|
83
|
+
*
|
|
84
|
+
* The provider is auto-detected from the model name:
|
|
85
|
+
* - gpt-*, o1-*, o3-*, o4-* → OpenAI
|
|
86
|
+
* - claude-* → Anthropic
|
|
87
|
+
* - others → OpenAI-compatible (respects LT_LLM_BASE_URL)
|
|
88
|
+
*
|
|
89
|
+
* Messages, tools, and responses use OpenAI's format as the canonical
|
|
90
|
+
* representation. Translation to/from other providers happens internally.
|
|
91
|
+
*/
|
|
92
|
+
async function callLLM(options) {
|
|
93
|
+
const provider = await getProvider(options.model);
|
|
94
|
+
return provider.call(options);
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Check if the required API key is available for a given model.
|
|
98
|
+
* Useful for conditional feature enablement (e.g., skip LLM compilation
|
|
99
|
+
* when no key is configured).
|
|
100
|
+
*/
|
|
101
|
+
function hasLLMApiKey(model) {
|
|
102
|
+
const m = model || process.env.LT_LLM_MODEL_PRIMARY || 'claude-sonnet-4-6';
|
|
103
|
+
const provider = (0, detect_1.detectProvider)(m);
|
|
104
|
+
const key = (0, detect_1.resolveApiKey)(provider);
|
|
105
|
+
return !!key && key !== 'xxx';
|
|
106
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Anthropic provider — translates OpenAI canonical format to Anthropic's API.
|
|
3
|
+
*/
|
|
4
|
+
import type { LLMOptions, LLMResponse, LLMProvider } from '../types';
|
|
5
|
+
export declare class AnthropicProvider implements LLMProvider {
|
|
6
|
+
private clientPromise;
|
|
7
|
+
private apiKey;
|
|
8
|
+
constructor(apiKey?: string);
|
|
9
|
+
private getClient;
|
|
10
|
+
call(options: LLMOptions): Promise<LLMResponse>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Anthropic provider — translates OpenAI canonical format to Anthropic's API.
|
|
4
|
+
*/
|
|
5
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
8
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
9
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
10
|
+
}
|
|
11
|
+
Object.defineProperty(o, k2, desc);
|
|
12
|
+
}) : (function(o, m, k, k2) {
|
|
13
|
+
if (k2 === undefined) k2 = k;
|
|
14
|
+
o[k2] = m[k];
|
|
15
|
+
}));
|
|
16
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
17
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
18
|
+
}) : function(o, v) {
|
|
19
|
+
o["default"] = v;
|
|
20
|
+
});
|
|
21
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
22
|
+
var ownKeys = function(o) {
|
|
23
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
24
|
+
var ar = [];
|
|
25
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
26
|
+
return ar;
|
|
27
|
+
};
|
|
28
|
+
return ownKeys(o);
|
|
29
|
+
};
|
|
30
|
+
return function (mod) {
|
|
31
|
+
if (mod && mod.__esModule) return mod;
|
|
32
|
+
var result = {};
|
|
33
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
34
|
+
__setModuleDefault(result, mod);
|
|
35
|
+
return result;
|
|
36
|
+
};
|
|
37
|
+
})();
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.AnthropicProvider = void 0;
|
|
40
|
+
const translate_1 = require("../translate");
|
|
41
|
+
const DEFAULT_MAX_TOKENS = 4096;
|
|
42
|
+
class AnthropicProvider {
|
|
43
|
+
constructor(apiKey) {
|
|
44
|
+
this.clientPromise = null;
|
|
45
|
+
this.apiKey = apiKey || process.env.ANTHROPIC_API_KEY || '';
|
|
46
|
+
if (!this.apiKey) {
|
|
47
|
+
throw new Error('ANTHROPIC_API_KEY is required for Claude models. ' +
|
|
48
|
+
'Set it in your environment or .env file.');
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
async getClient() {
|
|
52
|
+
if (!this.clientPromise) {
|
|
53
|
+
this.clientPromise = Promise.resolve().then(() => __importStar(require('@anthropic-ai/sdk'))).then((mod) => new mod.default({ apiKey: this.apiKey }));
|
|
54
|
+
}
|
|
55
|
+
return this.clientPromise;
|
|
56
|
+
}
|
|
57
|
+
async call(options) {
|
|
58
|
+
const client = await this.getClient();
|
|
59
|
+
// Translate messages from OpenAI canonical to Anthropic format
|
|
60
|
+
const { system, messages } = (0, translate_1.translateMessagesToAnthropic)(options.messages);
|
|
61
|
+
// Build system prompt — append JSON mode instruction if needed
|
|
62
|
+
let systemPrompt = system;
|
|
63
|
+
if (options.response_format?.type === 'json_object') {
|
|
64
|
+
const jsonInstruction = '\n\nYou must respond with valid JSON only. No markdown fences, no explanation, just the JSON object.';
|
|
65
|
+
systemPrompt = systemPrompt ? systemPrompt + jsonInstruction : jsonInstruction.trim();
|
|
66
|
+
}
|
|
67
|
+
// Anthropic requires max_tokens
|
|
68
|
+
const maxTokens = options.max_tokens || DEFAULT_MAX_TOKENS;
|
|
69
|
+
// Build request
|
|
70
|
+
const request = {
|
|
71
|
+
model: options.model,
|
|
72
|
+
max_tokens: maxTokens,
|
|
73
|
+
messages,
|
|
74
|
+
...(systemPrompt ? { system: systemPrompt } : {}),
|
|
75
|
+
...(options.temperature !== undefined ? { temperature: options.temperature } : {}),
|
|
76
|
+
};
|
|
77
|
+
// Translate tools
|
|
78
|
+
if (options.tools?.length) {
|
|
79
|
+
request.tools = (0, translate_1.translateToolsToAnthropic)(options.tools);
|
|
80
|
+
}
|
|
81
|
+
const response = await client.messages.create(request);
|
|
82
|
+
return (0, translate_1.translateAnthropicResponse)(response);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
exports.AnthropicProvider = AnthropicProvider;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenAI provider — thin wrapper since our canonical format matches OpenAI's.
|
|
3
|
+
*/
|
|
4
|
+
import type { LLMOptions, LLMResponse, LLMProvider } from '../types';
|
|
5
|
+
export declare class OpenAIProvider implements LLMProvider {
|
|
6
|
+
private client;
|
|
7
|
+
constructor(apiKey?: string, baseURL?: string);
|
|
8
|
+
call(options: LLMOptions): Promise<LLMResponse>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* OpenAI provider — thin wrapper since our canonical format matches OpenAI's.
|
|
4
|
+
*/
|
|
5
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
6
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.OpenAIProvider = void 0;
|
|
10
|
+
const openai_1 = __importDefault(require("openai"));
|
|
11
|
+
class OpenAIProvider {
|
|
12
|
+
constructor(apiKey, baseURL) {
|
|
13
|
+
this.client = new openai_1.default({
|
|
14
|
+
apiKey: apiKey || process.env.OPENAI_API_KEY,
|
|
15
|
+
...(baseURL ? { baseURL } : {}),
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
async call(options) {
|
|
19
|
+
const response = await this.client.chat.completions.create({
|
|
20
|
+
model: options.model,
|
|
21
|
+
messages: options.messages,
|
|
22
|
+
...(options.tools?.length ? { tools: options.tools } : {}),
|
|
23
|
+
...(options.max_tokens !== undefined ? { max_tokens: options.max_tokens } : {}),
|
|
24
|
+
...(options.temperature !== undefined ? { temperature: options.temperature } : {}),
|
|
25
|
+
...(options.response_format ? { response_format: options.response_format } : {}),
|
|
26
|
+
});
|
|
27
|
+
const choice = response.choices[0]?.message;
|
|
28
|
+
if (!choice) {
|
|
29
|
+
return { content: null, tool_calls: undefined, usage: undefined };
|
|
30
|
+
}
|
|
31
|
+
return {
|
|
32
|
+
content: choice.content ?? null,
|
|
33
|
+
tool_calls: choice.tool_calls?.map((tc) => ({
|
|
34
|
+
id: tc.id,
|
|
35
|
+
type: 'function',
|
|
36
|
+
function: { name: tc.function.name, arguments: tc.function.arguments },
|
|
37
|
+
})),
|
|
38
|
+
usage: response.usage ? {
|
|
39
|
+
prompt_tokens: response.usage.prompt_tokens,
|
|
40
|
+
completion_tokens: response.usage.completion_tokens,
|
|
41
|
+
total_tokens: response.usage.total_tokens,
|
|
42
|
+
} : undefined,
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
exports.OpenAIProvider = OpenAIProvider;
|