@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,254 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* DAG construction helpers for the build pipeline stage.
|
|
4
|
+
*
|
|
5
|
+
* Encapsulates the mutable state of DAG assembly (activities, transitions,
|
|
6
|
+
* manifest) behind semantic operations so the main build() function reads
|
|
7
|
+
* as a high-level pipeline.
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.initializeDag = initializeDag;
|
|
11
|
+
exports.appendIterationStep = appendIterationStep;
|
|
12
|
+
exports.appendNormalStep = appendNormalStep;
|
|
13
|
+
exports.appendSignalStep = appendSignalStep;
|
|
14
|
+
exports.serializeToYaml = serializeToYaml;
|
|
15
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
16
|
+
const yaml = require('js-yaml');
|
|
17
|
+
const defaults_1 = require("../../../../modules/defaults");
|
|
18
|
+
const utils_1 = require("./utils");
|
|
19
|
+
const wiring_1 = require("./wiring");
|
|
20
|
+
const iteration_1 = require("./iteration");
|
|
21
|
+
const transform_1 = require("./transform");
|
|
22
|
+
// ── DAG lifecycle ────────────────────────────────────────────────────────────
|
|
23
|
+
/** Create the DAG with its trigger activity. */
|
|
24
|
+
function initializeDag(prefix, graphTopic, inputSchema) {
|
|
25
|
+
const triggerId = `${prefix}_t1`;
|
|
26
|
+
const activities = {};
|
|
27
|
+
const transitions = {};
|
|
28
|
+
activities[triggerId] = {
|
|
29
|
+
title: 'Trigger',
|
|
30
|
+
type: 'trigger',
|
|
31
|
+
output: { schema: { type: 'object' } },
|
|
32
|
+
};
|
|
33
|
+
const manifest = [{
|
|
34
|
+
activity_id: triggerId,
|
|
35
|
+
title: 'Trigger',
|
|
36
|
+
type: 'trigger',
|
|
37
|
+
tool_source: 'trigger',
|
|
38
|
+
topic: graphTopic,
|
|
39
|
+
input_mappings: {},
|
|
40
|
+
output_fields: Object.keys(inputSchema.properties || {}),
|
|
41
|
+
}];
|
|
42
|
+
return {
|
|
43
|
+
activities,
|
|
44
|
+
transitions,
|
|
45
|
+
hooks: {},
|
|
46
|
+
manifest,
|
|
47
|
+
stepIndexToActivityId: new Map(),
|
|
48
|
+
prevActivityId: triggerId,
|
|
49
|
+
prevResult: null,
|
|
50
|
+
lastPivotId: null,
|
|
51
|
+
triggerId,
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
// ── Step appenders ───────────────────────────────────────────────────────────
|
|
55
|
+
/** Append an iteration pattern (hook → worker → cycle → done) to the DAG. */
|
|
56
|
+
function appendIterationStep(dag, iterSpec, prefix, graphTopic, idx, step, triggerInputKeys, steps, sessionFields, plan) {
|
|
57
|
+
const iterResult = (0, iteration_1.buildIterationActivities)(iterSpec, prefix, graphTopic, idx, step, dag.stepIndexToActivityId, dag.triggerId, triggerInputKeys, steps, sessionFields, plan);
|
|
58
|
+
Object.assign(dag.activities, iterResult.activities);
|
|
59
|
+
Object.assign(dag.transitions, iterResult.transitions);
|
|
60
|
+
dag.manifest.push(...iterResult.manifest);
|
|
61
|
+
dag.transitions[dag.prevActivityId] = [{ to: iterResult.pivotId }];
|
|
62
|
+
dag.prevActivityId = iterResult.doneId;
|
|
63
|
+
dag.prevResult = step.result;
|
|
64
|
+
dag.lastPivotId = iterResult.pivotId;
|
|
65
|
+
dag.stepIndexToActivityId.set(idx, iterResult.pivotId);
|
|
66
|
+
}
|
|
67
|
+
/** Append a normal (non-iteration) step activity to the DAG. */
|
|
68
|
+
function appendNormalStep(dag, idx, step, prefix, graphTopic, plan, steps, triggerInputKeys, collapsedToCoreIndex) {
|
|
69
|
+
const actId = `${prefix}_a${idx + 1}`;
|
|
70
|
+
dag.stepIndexToActivityId.set(idx, actId);
|
|
71
|
+
dag.lastPivotId = null;
|
|
72
|
+
const workflowName = step.kind === 'llm' ? 'interpret' : step.toolName;
|
|
73
|
+
const topic = graphTopic;
|
|
74
|
+
const title = step.kind === 'llm'
|
|
75
|
+
? 'LLM Interpret'
|
|
76
|
+
: step.toolName.replace(/_/g, ' ').replace(/\b\w/g, (c) => c.toUpperCase());
|
|
77
|
+
// Insert any transform (reshape) activities before this step
|
|
78
|
+
if (plan) {
|
|
79
|
+
dag.prevActivityId = (0, transform_1.insertTransformActivities)(idx, plan, steps, prefix, graphTopic, dag.triggerId, triggerInputKeys, dag.stepIndexToActivityId, collapsedToCoreIndex, dag.activities, dag.transitions, dag.manifest, dag.prevActivityId);
|
|
80
|
+
}
|
|
81
|
+
// Wire input mappings from upstream steps
|
|
82
|
+
const inputMappings = (0, wiring_1.wireStepInputs)(idx, step, plan, dag.stepIndexToActivityId, dag.triggerId, triggerInputKeys, steps, prefix, dag.prevActivityId, dag.prevResult, collapsedToCoreIndex);
|
|
83
|
+
// Build the activity definition
|
|
84
|
+
const resultSchema = step.result ? (0, utils_1.inferSchema)(step.result) : { type: 'object' };
|
|
85
|
+
const outputFields = extractOutputFields(step);
|
|
86
|
+
const jobMaps = buildJobMaps(idx, steps.length, outputFields);
|
|
87
|
+
// Thread _scope from trigger through every activity for IAM context
|
|
88
|
+
inputMappings._scope = `{${dag.triggerId}.output.data._scope}`;
|
|
89
|
+
// Set workflowName for singleton consumer dispatch routing
|
|
90
|
+
inputMappings.workflowName = workflowName;
|
|
91
|
+
dag.activities[actId] = {
|
|
92
|
+
title,
|
|
93
|
+
type: 'worker',
|
|
94
|
+
topic,
|
|
95
|
+
input: {
|
|
96
|
+
schema: { type: 'object' },
|
|
97
|
+
...(Object.keys(inputMappings).length > 0 ? { maps: inputMappings } : {}),
|
|
98
|
+
},
|
|
99
|
+
output: { schema: resultSchema },
|
|
100
|
+
...(jobMaps ? { job: { maps: jobMaps } } : {}),
|
|
101
|
+
};
|
|
102
|
+
// Build manifest entry
|
|
103
|
+
dag.manifest.push(buildManifestEntry(actId, title, step, topic, workflowName, inputMappings, outputFields));
|
|
104
|
+
// Transition from previous step
|
|
105
|
+
dag.transitions[dag.prevActivityId] = [{ to: actId }];
|
|
106
|
+
dag.prevActivityId = actId;
|
|
107
|
+
dag.prevResult = step.result;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Append a signal step pair (escalation worker + hook) to the DAG.
|
|
111
|
+
*
|
|
112
|
+
* The escalation worker creates the escalation via the human-queue MCP tool.
|
|
113
|
+
* The hook pauses until the escalation is resolved and a signal arrives.
|
|
114
|
+
* A hooks section entry routes the external signal to the waiting hook.
|
|
115
|
+
*/
|
|
116
|
+
function appendSignalStep(dag, idx, step, prefix, graphTopic, plan, steps, triggerInputKeys, collapsedToCoreIndex) {
|
|
117
|
+
// The step before this signal step is the escalation tool call.
|
|
118
|
+
// The signal step itself represents the pause/resume point.
|
|
119
|
+
const hookId = `${prefix}_wait${idx + 1}`;
|
|
120
|
+
dag.stepIndexToActivityId.set(idx, hookId);
|
|
121
|
+
dag.lastPivotId = null;
|
|
122
|
+
const signalSchema = step.signalSchema || { type: 'object', properties: {} };
|
|
123
|
+
const outputFields = signalSchema.properties
|
|
124
|
+
? Object.keys(signalSchema.properties)
|
|
125
|
+
: [];
|
|
126
|
+
// Build job maps: map each signal field from hook data to job state
|
|
127
|
+
const jobMaps = {};
|
|
128
|
+
for (const field of outputFields) {
|
|
129
|
+
jobMaps[field] = `{$self.hook.data.${field}}`;
|
|
130
|
+
}
|
|
131
|
+
// Hook topic: scoped per graph, per activity for multiple hooks
|
|
132
|
+
const hookTopic = `escalation.resolved.${graphTopic}.${hookId}`;
|
|
133
|
+
// The hook activity — pauses until signal arrives
|
|
134
|
+
dag.activities[hookId] = {
|
|
135
|
+
title: 'Wait for Human Input',
|
|
136
|
+
type: 'hook',
|
|
137
|
+
hook: signalSchema,
|
|
138
|
+
output: {
|
|
139
|
+
schema: signalSchema,
|
|
140
|
+
},
|
|
141
|
+
...(Object.keys(jobMaps).length > 0 ? { job: { maps: jobMaps } } : {}),
|
|
142
|
+
};
|
|
143
|
+
// Find the escalation worker that precedes this signal step.
|
|
144
|
+
// It's the previous activity in the DAG — its output.data.escalationId
|
|
145
|
+
// is used as the match condition for routing signals.
|
|
146
|
+
const escalationActId = dag.prevActivityId;
|
|
147
|
+
// Patch the preceding escalation worker to persist escalationId to the job hash.
|
|
148
|
+
// Without job.maps, the hook's match condition can't resolve {a1.output.data.escalationId}.
|
|
149
|
+
const prevActivity = dag.activities[escalationActId];
|
|
150
|
+
if (prevActivity && prevActivity.type === 'worker') {
|
|
151
|
+
prevActivity.job = {
|
|
152
|
+
...(prevActivity.job || {}),
|
|
153
|
+
maps: {
|
|
154
|
+
...(prevActivity.job?.maps || {}),
|
|
155
|
+
escalationId: '{$self.output.data.escalationId}',
|
|
156
|
+
signalId: '{$self.output.data.signalId}',
|
|
157
|
+
},
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
// Hook rules: route signals to this hook with job ID match.
|
|
161
|
+
// Use {$job.metadata.jid} (always available) as the match key.
|
|
162
|
+
// The signal must include the job_id in its payload for routing.
|
|
163
|
+
dag.hooks[hookTopic] = [{
|
|
164
|
+
to: hookId,
|
|
165
|
+
conditions: {
|
|
166
|
+
match: [{
|
|
167
|
+
expected: '{$job.metadata.jid}',
|
|
168
|
+
actual: '{$self.hook.data.job_id}',
|
|
169
|
+
}],
|
|
170
|
+
},
|
|
171
|
+
}];
|
|
172
|
+
// Manifest entry
|
|
173
|
+
dag.manifest.push({
|
|
174
|
+
activity_id: hookId,
|
|
175
|
+
title: 'Wait for Human Input',
|
|
176
|
+
type: 'hook',
|
|
177
|
+
tool_source: 'signal',
|
|
178
|
+
topic: graphTopic,
|
|
179
|
+
hook_topic: hookTopic,
|
|
180
|
+
signal_schema: signalSchema,
|
|
181
|
+
input_mappings: {},
|
|
182
|
+
output_fields: outputFields,
|
|
183
|
+
});
|
|
184
|
+
// Transition from previous step (the escalation worker) to the hook
|
|
185
|
+
dag.transitions[dag.prevActivityId] = [{ to: hookId }];
|
|
186
|
+
dag.prevActivityId = hookId;
|
|
187
|
+
dag.prevResult = step.result;
|
|
188
|
+
}
|
|
189
|
+
// ── Serialization ────────────────────────────────────────────────────────────
|
|
190
|
+
/** Assemble the DAG into a HotMesh YAML document. */
|
|
191
|
+
function serializeToYaml(appId, graphTopic, inputSchema, outputSchema, dag) {
|
|
192
|
+
const graph = {
|
|
193
|
+
subscribes: graphTopic,
|
|
194
|
+
expire: defaults_1.WORKFLOW_EXPIRE_SECS,
|
|
195
|
+
input: { schema: inputSchema },
|
|
196
|
+
output: { schema: outputSchema },
|
|
197
|
+
activities: dag.activities,
|
|
198
|
+
transitions: dag.transitions,
|
|
199
|
+
};
|
|
200
|
+
// Include hooks section when signal steps are present
|
|
201
|
+
if (Object.keys(dag.hooks).length > 0) {
|
|
202
|
+
graph.hooks = dag.hooks;
|
|
203
|
+
}
|
|
204
|
+
const graphDef = {
|
|
205
|
+
app: {
|
|
206
|
+
id: appId,
|
|
207
|
+
version: '1',
|
|
208
|
+
graphs: [graph],
|
|
209
|
+
},
|
|
210
|
+
};
|
|
211
|
+
return yaml.dump(graphDef, {
|
|
212
|
+
lineWidth: defaults_1.YAML_LINE_WIDTH,
|
|
213
|
+
noRefs: true,
|
|
214
|
+
sortKeys: false,
|
|
215
|
+
});
|
|
216
|
+
}
|
|
217
|
+
// ── Internal helpers ─────────────────────────────────────────────────────────
|
|
218
|
+
function extractOutputFields(step) {
|
|
219
|
+
if (step.result && typeof step.result === 'object' && !Array.isArray(step.result)) {
|
|
220
|
+
return Object.keys(step.result);
|
|
221
|
+
}
|
|
222
|
+
return [];
|
|
223
|
+
}
|
|
224
|
+
function buildJobMaps(stepIdx, totalSteps, outputFields) {
|
|
225
|
+
if (stepIdx !== totalSteps - 1 || outputFields.length === 0)
|
|
226
|
+
return undefined;
|
|
227
|
+
return outputFields.reduce((acc, field) => {
|
|
228
|
+
acc[field] = `{$self.output.data.${field}}`;
|
|
229
|
+
return acc;
|
|
230
|
+
}, {});
|
|
231
|
+
}
|
|
232
|
+
function buildManifestEntry(actId, title, step, topic, workflowName, inputMappings, outputFields) {
|
|
233
|
+
const promptTemplate = step.kind === 'llm' && step.promptMessages
|
|
234
|
+
? step.promptMessages.map((m) => `[${m.role}]\n${m.content}`).join('\n\n')
|
|
235
|
+
: undefined;
|
|
236
|
+
return {
|
|
237
|
+
activity_id: actId,
|
|
238
|
+
title,
|
|
239
|
+
type: 'worker',
|
|
240
|
+
tool_source: step.source,
|
|
241
|
+
topic,
|
|
242
|
+
workflow_name: workflowName,
|
|
243
|
+
...(step.kind === 'tool' ? {
|
|
244
|
+
mcp_server_id: step.source === 'mcp' ? step.mcpServerId : 'db',
|
|
245
|
+
mcp_tool_name: step.toolName,
|
|
246
|
+
tool_arguments: Object.keys(step.arguments).length > 0
|
|
247
|
+
? (0, utils_1.capToolArguments)(step.arguments) : undefined,
|
|
248
|
+
} : {}),
|
|
249
|
+
input_mappings: inputMappings,
|
|
250
|
+
output_fields: outputFields,
|
|
251
|
+
...(promptTemplate ? { prompt_template: promptTemplate } : {}),
|
|
252
|
+
...(step.kind === 'llm' ? { model: defaults_1.LLM_MODEL_SECONDARY } : {}),
|
|
253
|
+
};
|
|
254
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Build stage: construct the HotMesh YAML DAG from the compilation plan.
|
|
3
|
+
*
|
|
4
|
+
* When an EnhancedCompilationPlan is available, uses its iteration specs,
|
|
5
|
+
* data flow edges, and key mappings to build a faithful deterministic DAG.
|
|
6
|
+
* Falls back to mechanical heuristics when no plan is available.
|
|
7
|
+
*/
|
|
8
|
+
import type { PipelineContext } from '../../types';
|
|
9
|
+
export { capToolArguments, sanitizeName } from './utils';
|
|
10
|
+
/**
|
|
11
|
+
* Build pipeline stage: construct the HotMesh YAML DAG.
|
|
12
|
+
*
|
|
13
|
+
* Reads as a five-phase pipeline:
|
|
14
|
+
* 1. Prepare inputs (schema, session fields, index mapping)
|
|
15
|
+
* 2. Initialize the DAG with a trigger activity
|
|
16
|
+
* 3. Append each step as an iteration or normal activity
|
|
17
|
+
* 4. Serialize to YAML
|
|
18
|
+
* 5. Derive metadata (tags, category)
|
|
19
|
+
*/
|
|
20
|
+
export declare function build(ctx: PipelineContext): Promise<PipelineContext>;
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Build stage: construct the HotMesh YAML DAG from the compilation plan.
|
|
4
|
+
*
|
|
5
|
+
* When an EnhancedCompilationPlan is available, uses its iteration specs,
|
|
6
|
+
* data flow edges, and key mappings to build a faithful deterministic DAG.
|
|
7
|
+
* Falls back to mechanical heuristics when no plan is available.
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.sanitizeName = exports.capToolArguments = void 0;
|
|
11
|
+
exports.build = build;
|
|
12
|
+
const input_analyzer_1 = require("../../input-analyzer");
|
|
13
|
+
const utils_1 = require("./utils");
|
|
14
|
+
const metadata_1 = require("./metadata");
|
|
15
|
+
const iteration_1 = require("./iteration");
|
|
16
|
+
const dag_1 = require("./dag");
|
|
17
|
+
// Re-export public utilities used by other modules
|
|
18
|
+
var utils_2 = require("./utils");
|
|
19
|
+
Object.defineProperty(exports, "capToolArguments", { enumerable: true, get: function () { return utils_2.capToolArguments; } });
|
|
20
|
+
Object.defineProperty(exports, "sanitizeName", { enumerable: true, get: function () { return utils_2.sanitizeName; } });
|
|
21
|
+
/**
|
|
22
|
+
* Build pipeline stage: construct the HotMesh YAML DAG.
|
|
23
|
+
*
|
|
24
|
+
* Reads as a five-phase pipeline:
|
|
25
|
+
* 1. Prepare inputs (schema, session fields, index mapping)
|
|
26
|
+
* 2. Initialize the DAG with a trigger activity
|
|
27
|
+
* 3. Append each step as an iteration or normal activity
|
|
28
|
+
* 4. Serialize to YAML
|
|
29
|
+
* 5. Derive metadata (tags, category)
|
|
30
|
+
*/
|
|
31
|
+
async function build(ctx) {
|
|
32
|
+
const { options, coreSteps: steps, refinedInputs, compilationPlan: plan } = ctx;
|
|
33
|
+
// 1. Prepare inputs
|
|
34
|
+
const inputSchema = (0, input_analyzer_1.buildEnrichedInputSchema)(refinedInputs);
|
|
35
|
+
const triggerInputKeys = new Set(refinedInputs.map(f => f.key));
|
|
36
|
+
const sessionFields = resolveSessionFields(plan);
|
|
37
|
+
const collapsedToCoreIndex = buildCoreStepIndexMap(plan, ctx.collapsedSteps);
|
|
38
|
+
const outputSchema = inferOutputSchema(steps);
|
|
39
|
+
const prefix = buildActivityPrefix(options.name);
|
|
40
|
+
// 2. Initialize DAG with trigger
|
|
41
|
+
const dag = (0, dag_1.initializeDag)(prefix, options.subscribes, inputSchema);
|
|
42
|
+
// 3. Build each step — iteration, signal, or normal
|
|
43
|
+
steps.forEach((step, idx) => {
|
|
44
|
+
if (step.kind === 'signal') {
|
|
45
|
+
(0, dag_1.appendSignalStep)(dag, idx, step, prefix, options.subscribes, plan, steps, triggerInputKeys, collapsedToCoreIndex);
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
const iterSpec = (0, iteration_1.findIterationSpec)(idx, plan, step, collapsedToCoreIndex);
|
|
49
|
+
if (iterSpec) {
|
|
50
|
+
(0, dag_1.appendIterationStep)(dag, iterSpec, prefix, options.subscribes, idx, step, triggerInputKeys, steps, sessionFields, plan);
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
(0, dag_1.appendNormalStep)(dag, idx, step, prefix, options.subscribes, plan, steps, triggerInputKeys, collapsedToCoreIndex);
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
// 4. Serialize to YAML
|
|
57
|
+
ctx.yaml = (0, dag_1.serializeToYaml)(options.appId, options.subscribes, inputSchema, outputSchema, dag);
|
|
58
|
+
ctx.inputSchema = inputSchema;
|
|
59
|
+
ctx.outputSchema = outputSchema;
|
|
60
|
+
ctx.activityManifest = dag.manifest;
|
|
61
|
+
// 5. Derive metadata
|
|
62
|
+
ctx.tags = (0, metadata_1.deriveTagsFromSteps)(steps, options.name, options.description);
|
|
63
|
+
ctx.category = await (0, metadata_1.deriveCategory)(steps);
|
|
64
|
+
return ctx;
|
|
65
|
+
}
|
|
66
|
+
// ── Preparation helpers ──────────────────────────────────────────────────────
|
|
67
|
+
/** Resolve session fields from the compilation plan or use sensible defaults. */
|
|
68
|
+
function resolveSessionFields(plan) {
|
|
69
|
+
return plan?.sessionFields?.length
|
|
70
|
+
? plan.sessionFields
|
|
71
|
+
: ['page_id', '_handle', 'session_id'];
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Build a remapping from collapsed-step indices to core-step indices.
|
|
75
|
+
*
|
|
76
|
+
* The compilation plan uses indices from collapsedSteps, but after core-step
|
|
77
|
+
* filtering those indices shift. This map translates between the two spaces.
|
|
78
|
+
*/
|
|
79
|
+
function buildCoreStepIndexMap(plan, collapsedSteps) {
|
|
80
|
+
const map = new Map();
|
|
81
|
+
if (plan && plan.coreStepIndices.length > 0 && plan.coreStepIndices.length < collapsedSteps.length) {
|
|
82
|
+
plan.coreStepIndices.forEach((collapsedIdx, coreIdx) => {
|
|
83
|
+
map.set(collapsedIdx, coreIdx);
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
return map;
|
|
87
|
+
}
|
|
88
|
+
/** Infer an output schema from the last step's result. */
|
|
89
|
+
function inferOutputSchema(steps) {
|
|
90
|
+
const lastStep = steps[steps.length - 1];
|
|
91
|
+
return lastStep?.result
|
|
92
|
+
? (0, utils_1.inferSchema)(lastStep.result)
|
|
93
|
+
: { type: 'object' };
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Build a sanitized activity-ID prefix from the graph topic.
|
|
97
|
+
*
|
|
98
|
+
* The prefix must be unique per graph to avoid activity ID collisions
|
|
99
|
+
* when multiple graphs are merged into one app deployment. We use the
|
|
100
|
+
* full sanitized topic (no truncation) plus a 4-char hash suffix when
|
|
101
|
+
* the topic exceeds 20 chars, ensuring uniqueness even for topics that
|
|
102
|
+
* share a long common prefix.
|
|
103
|
+
*/
|
|
104
|
+
function buildActivityPrefix(graphTopic) {
|
|
105
|
+
const raw = graphTopic.replace(/[^a-z0-9]/g, '_');
|
|
106
|
+
if (raw.length <= 20)
|
|
107
|
+
return raw;
|
|
108
|
+
// Short hash suffix to guarantee uniqueness across similar topics
|
|
109
|
+
let hash = 0;
|
|
110
|
+
for (let i = 0; i < graphTopic.length; i++) {
|
|
111
|
+
hash = ((hash << 5) - hash + graphTopic.charCodeAt(i)) | 0;
|
|
112
|
+
}
|
|
113
|
+
const suffix = Math.abs(hash).toString(36).slice(0, 4);
|
|
114
|
+
return `${raw.slice(0, 16)}_${suffix}`;
|
|
115
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Iteration pattern builders for the build pipeline stage.
|
|
3
|
+
*/
|
|
4
|
+
import type { ActivityManifestEntry } from '../../../../types/yaml-workflow';
|
|
5
|
+
import type { ExtractedStep, EnhancedCompilationPlan, IterationSpec } from '../../types';
|
|
6
|
+
/**
|
|
7
|
+
* Build iteration activities (hook -> worker -> cycle -> done) from an IterationSpec.
|
|
8
|
+
*
|
|
9
|
+
* When key mappings are available (from the compilation plan), uses the mapped
|
|
10
|
+
* key names in the @pipe transforms so array item keys correctly map to tool args.
|
|
11
|
+
*/
|
|
12
|
+
export declare function buildIterationActivities(spec: IterationSpec, prefix: string, graphTopic: string, idx: number, step: ExtractedStep, stepIndexToActivityId: Map<number, string>, triggerId: string, triggerInputKeys: Set<string>, steps: ExtractedStep[], sessionFields: string[], plan: EnhancedCompilationPlan | null): {
|
|
13
|
+
activities: Record<string, unknown>;
|
|
14
|
+
transitions: Record<string, Array<{
|
|
15
|
+
to: string;
|
|
16
|
+
conditions?: Record<string, unknown>;
|
|
17
|
+
}>>;
|
|
18
|
+
manifest: ActivityManifestEntry[];
|
|
19
|
+
pivotId: string;
|
|
20
|
+
doneId: string;
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Check if a step should be rendered as an iteration based on the compilation plan.
|
|
24
|
+
*/
|
|
25
|
+
export declare function findIterationSpec(stepIdx: number, plan: EnhancedCompilationPlan | null, step: ExtractedStep, collapsedToCoreIndex?: Map<number, number>): IterationSpec | null;
|
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Iteration pattern builders for the build pipeline stage.
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.buildIterationActivities = buildIterationActivities;
|
|
7
|
+
exports.findIterationSpec = findIterationSpec;
|
|
8
|
+
const utils_1 = require("./utils");
|
|
9
|
+
/**
|
|
10
|
+
* Build iteration activities (hook -> worker -> cycle -> done) from an IterationSpec.
|
|
11
|
+
*
|
|
12
|
+
* When key mappings are available (from the compilation plan), uses the mapped
|
|
13
|
+
* key names in the @pipe transforms so array item keys correctly map to tool args.
|
|
14
|
+
*/
|
|
15
|
+
function buildIterationActivities(spec, prefix, graphTopic, idx, step, stepIndexToActivityId, triggerId, triggerInputKeys, steps, sessionFields, plan) {
|
|
16
|
+
const pivotId = `${prefix}_pivot${idx + 1}`;
|
|
17
|
+
const workerId = `${prefix}_iter${idx + 1}`;
|
|
18
|
+
const cycleId = `${prefix}_cycle${idx + 1}`;
|
|
19
|
+
const doneId = `${prefix}_done${idx + 1}`;
|
|
20
|
+
const originalTool = spec.toolName;
|
|
21
|
+
const workerTopic = graphTopic;
|
|
22
|
+
// Determine the array source reference
|
|
23
|
+
const sourceActId = stepIndexToActivityId.get(spec.sourceStepIndex);
|
|
24
|
+
const arraySourceRef = sourceActId
|
|
25
|
+
? `{${sourceActId}.output.data.${spec.sourceField}}`
|
|
26
|
+
: `{${prefix}_a${spec.sourceStepIndex + 1}.output.data.${spec.sourceField}}`;
|
|
27
|
+
// Hook (cycle anchor): initializes index and holds the items array
|
|
28
|
+
const activities = {};
|
|
29
|
+
activities[pivotId] = {
|
|
30
|
+
title: `Iterate ${(0, utils_1.humanize)(originalTool)}`,
|
|
31
|
+
type: 'hook',
|
|
32
|
+
cycle: true,
|
|
33
|
+
output: {
|
|
34
|
+
maps: {
|
|
35
|
+
index: 0,
|
|
36
|
+
items: arraySourceRef,
|
|
37
|
+
},
|
|
38
|
+
},
|
|
39
|
+
};
|
|
40
|
+
// Worker: maps varying keys from the current array item
|
|
41
|
+
const workerInputMaps = {};
|
|
42
|
+
for (const key of spec.varyingKeys) {
|
|
43
|
+
// Use key mapping if available: tool wants 'url' but array items have 'href'
|
|
44
|
+
const arrayItemKey = spec.keyMappings[key];
|
|
45
|
+
if (arrayItemKey === null) {
|
|
46
|
+
// Computed/generated key — not directly from the array.
|
|
47
|
+
// 1. Check if the trigger provides it
|
|
48
|
+
if (triggerInputKeys.has(key)) {
|
|
49
|
+
workerInputMaps[key] = `{${triggerId}.output.data.${key}}`;
|
|
50
|
+
continue;
|
|
51
|
+
}
|
|
52
|
+
// 2. Try to find a semantically related field in the array items
|
|
53
|
+
// e.g., tool wants 'path' -> array items have 'name' (path contains name)
|
|
54
|
+
const sourceActId = stepIndexToActivityId.get(spec.sourceStepIndex);
|
|
55
|
+
if (sourceActId) {
|
|
56
|
+
const sourceStep = steps.find((_, si) => stepIndexToActivityId.get(si) === sourceActId);
|
|
57
|
+
if (sourceStep?.result && typeof sourceStep.result === 'object') {
|
|
58
|
+
const resultObj = sourceStep.result;
|
|
59
|
+
const arrayField = spec.sourceField.split('.').reduce((obj, k) => obj?.[k], resultObj);
|
|
60
|
+
if (Array.isArray(arrayField) && arrayField.length > 0 && typeof arrayField[0] === 'object') {
|
|
61
|
+
const itemKeys = Object.keys(arrayField[0]);
|
|
62
|
+
const match = itemKeys.find(ik => (0, utils_1.keysRelated)(key, ik));
|
|
63
|
+
if (match) {
|
|
64
|
+
workerInputMaps[key] = {
|
|
65
|
+
'@pipe': [
|
|
66
|
+
[`{${pivotId}.output.data.items}`, `{${pivotId}.output.data.index}`],
|
|
67
|
+
['{@array.get}'],
|
|
68
|
+
[`{@object.get}`, match],
|
|
69
|
+
],
|
|
70
|
+
};
|
|
71
|
+
continue;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
continue;
|
|
77
|
+
}
|
|
78
|
+
const lookupKey = arrayItemKey || key;
|
|
79
|
+
workerInputMaps[key] = {
|
|
80
|
+
'@pipe': [
|
|
81
|
+
[`{${pivotId}.output.data.items}`, `{${pivotId}.output.data.index}`],
|
|
82
|
+
['{@array.get}'],
|
|
83
|
+
[`{@object.get}`, lookupKey],
|
|
84
|
+
],
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
// Wire constant args from trigger or directly
|
|
88
|
+
for (const [key, value] of Object.entries(spec.constantArgs)) {
|
|
89
|
+
if (key === '_iteration')
|
|
90
|
+
continue;
|
|
91
|
+
if (triggerInputKeys.has(key)) {
|
|
92
|
+
workerInputMaps[key] = `{${triggerId}.output.data.${key}}`;
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
workerInputMaps[key] = value;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
// Wire session fields — plan-driven first, then mechanical backward scan
|
|
99
|
+
for (const wiredKey of sessionFields) {
|
|
100
|
+
if (workerInputMaps[wiredKey])
|
|
101
|
+
continue; // already mapped
|
|
102
|
+
// Plan-driven: use data flow edges for session wiring
|
|
103
|
+
if (plan && plan.dataFlow.length > 0) {
|
|
104
|
+
const edge = plan.dataFlow.find(e => e.toStep === spec.bodyStepIndex && e.toField === wiredKey && e.isSessionWire);
|
|
105
|
+
if (edge && edge.fromStep !== 'trigger') {
|
|
106
|
+
const sourceActId = stepIndexToActivityId.get(edge.fromStep);
|
|
107
|
+
if (sourceActId) {
|
|
108
|
+
workerInputMaps[wiredKey] = `{${sourceActId}.output.data.${wiredKey}}`;
|
|
109
|
+
continue;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
// Mechanical fallback: walk backward to find upstream producer
|
|
114
|
+
for (let si = idx - 1; si >= 0; si--) {
|
|
115
|
+
const priorResult = steps[si].result;
|
|
116
|
+
if (priorResult && typeof priorResult === 'object' && !Array.isArray(priorResult) &&
|
|
117
|
+
wiredKey in priorResult) {
|
|
118
|
+
const priorActId = stepIndexToActivityId.get(si) || `${prefix}_a${si + 1}`;
|
|
119
|
+
workerInputMaps[wiredKey] = `{${priorActId}.output.data.${wiredKey}}`;
|
|
120
|
+
break;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
// Thread _scope from trigger for IAM context
|
|
125
|
+
workerInputMaps._scope = `{${triggerId}.output.data._scope}`;
|
|
126
|
+
// Set workflowName for singleton consumer dispatch routing
|
|
127
|
+
workerInputMaps.workflowName = originalTool;
|
|
128
|
+
const resultSchema = step.result ? (0, utils_1.inferSchema)(step.result) : { type: 'object' };
|
|
129
|
+
activities[workerId] = {
|
|
130
|
+
title: (0, utils_1.humanize)(originalTool),
|
|
131
|
+
type: 'worker',
|
|
132
|
+
topic: workerTopic,
|
|
133
|
+
input: {
|
|
134
|
+
schema: { type: 'object' },
|
|
135
|
+
maps: workerInputMaps,
|
|
136
|
+
},
|
|
137
|
+
output: { schema: resultSchema },
|
|
138
|
+
};
|
|
139
|
+
// Cycle: increment index and loop back to pivot
|
|
140
|
+
activities[cycleId] = {
|
|
141
|
+
title: 'Next Item',
|
|
142
|
+
type: 'cycle',
|
|
143
|
+
ancestor: pivotId,
|
|
144
|
+
input: {
|
|
145
|
+
maps: {
|
|
146
|
+
index: {
|
|
147
|
+
'@pipe': [
|
|
148
|
+
[`{${pivotId}.output.data.index}`, 1],
|
|
149
|
+
['{@math.add}'],
|
|
150
|
+
],
|
|
151
|
+
},
|
|
152
|
+
},
|
|
153
|
+
},
|
|
154
|
+
};
|
|
155
|
+
// Done: exit hook after iteration completes
|
|
156
|
+
activities[doneId] = {
|
|
157
|
+
title: 'Iteration Complete',
|
|
158
|
+
type: 'hook',
|
|
159
|
+
};
|
|
160
|
+
// Transitions
|
|
161
|
+
const transitions = {};
|
|
162
|
+
transitions[pivotId] = [{ to: workerId }];
|
|
163
|
+
transitions[workerId] = [
|
|
164
|
+
{
|
|
165
|
+
to: cycleId,
|
|
166
|
+
conditions: {
|
|
167
|
+
match: [{
|
|
168
|
+
expected: true,
|
|
169
|
+
actual: {
|
|
170
|
+
'@pipe': [
|
|
171
|
+
// Subpipe 1: compute next_index = index + 1
|
|
172
|
+
{ '@pipe': [
|
|
173
|
+
[`{${pivotId}.output.data.index}`, 1],
|
|
174
|
+
['{@math.add}'],
|
|
175
|
+
] },
|
|
176
|
+
// Subpipe 2: compute items.length
|
|
177
|
+
{ '@pipe': [
|
|
178
|
+
[`{${pivotId}.output.data.items}`],
|
|
179
|
+
['{@array.length}'],
|
|
180
|
+
] },
|
|
181
|
+
// Row: compare next_index < items.length
|
|
182
|
+
['{@conditional.less_than}'],
|
|
183
|
+
],
|
|
184
|
+
},
|
|
185
|
+
}],
|
|
186
|
+
},
|
|
187
|
+
},
|
|
188
|
+
{ to: doneId },
|
|
189
|
+
];
|
|
190
|
+
// Manifest entries
|
|
191
|
+
const manifest = [
|
|
192
|
+
{ activity_id: pivotId, title: `Iterate ${(0, utils_1.humanize)(originalTool)}`, type: 'worker', tool_source: 'trigger', topic: graphTopic, input_mappings: {}, output_fields: ['index', 'items'] },
|
|
193
|
+
{ activity_id: workerId, title: (0, utils_1.humanize)(originalTool), type: 'worker', tool_source: step.source, topic: workerTopic, workflow_name: originalTool, mcp_server_id: spec.serverId, mcp_tool_name: originalTool, input_mappings: workerInputMaps, output_fields: [] },
|
|
194
|
+
{ activity_id: cycleId, title: 'Next Item', type: 'worker', tool_source: 'trigger', topic: graphTopic, input_mappings: {}, output_fields: [] },
|
|
195
|
+
{ activity_id: doneId, title: 'Iteration Complete', type: 'worker', tool_source: 'trigger', topic: graphTopic, input_mappings: {}, output_fields: [] },
|
|
196
|
+
];
|
|
197
|
+
return { activities, transitions, manifest, pivotId, doneId };
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Check if a step should be rendered as an iteration based on the compilation plan.
|
|
201
|
+
*/
|
|
202
|
+
function findIterationSpec(stepIdx, plan, step, collapsedToCoreIndex) {
|
|
203
|
+
// Plan-driven: check if the plan specifies an iteration for this step.
|
|
204
|
+
// The plan uses collapsed-step indices; remap to core-step indices.
|
|
205
|
+
if (plan) {
|
|
206
|
+
const spec = plan.iterations.find(it => {
|
|
207
|
+
const remappedBody = collapsedToCoreIndex?.get(it.bodyStepIndex) ?? it.bodyStepIndex;
|
|
208
|
+
return remappedBody === stepIdx;
|
|
209
|
+
});
|
|
210
|
+
if (spec) {
|
|
211
|
+
// Remap sourceStepIndex from collapsed to core space
|
|
212
|
+
const remappedSource = collapsedToCoreIndex?.get(spec.sourceStepIndex) ?? spec.sourceStepIndex;
|
|
213
|
+
return { ...spec, bodyStepIndex: stepIdx, sourceStepIndex: remappedSource };
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
// Mechanical fallback: check _iteration metadata from pattern detector
|
|
217
|
+
const iteration = step.arguments?._iteration;
|
|
218
|
+
if (iteration) {
|
|
219
|
+
return {
|
|
220
|
+
bodyStepIndex: stepIdx,
|
|
221
|
+
toolName: iteration.tool.replace(/_batch$/, ''),
|
|
222
|
+
serverId: iteration.server,
|
|
223
|
+
sourceStepIndex: iteration.arraySource?.stepIndex ?? stepIdx - 1,
|
|
224
|
+
sourceField: iteration.arraySource?.field ?? 'items',
|
|
225
|
+
varyingKeys: iteration.varyingKeys,
|
|
226
|
+
constantArgs: iteration.constantArgs,
|
|
227
|
+
keyMappings: {}, // no key mappings from mechanical detection
|
|
228
|
+
};
|
|
229
|
+
}
|
|
230
|
+
return null;
|
|
231
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Category and tag derivation for compiled workflows.
|
|
3
|
+
*
|
|
4
|
+
* Categories are derived dynamically from registered MCP server metadata —
|
|
5
|
+
* not hardcoded. As new servers are registered, their categories and tags
|
|
6
|
+
* automatically participate in workflow classification.
|
|
7
|
+
*/
|
|
8
|
+
import type { ExtractedStep } from '../../types';
|
|
9
|
+
/**
|
|
10
|
+
* Derive a category for a compiled workflow based on which MCP servers
|
|
11
|
+
* and tools were used in the execution trace. Queries the DB for
|
|
12
|
+
* current server metadata so new servers are automatically recognized.
|
|
13
|
+
*/
|
|
14
|
+
export declare function deriveCategory(steps: ExtractedStep[]): Promise<string>;
|
|
15
|
+
export declare function deriveTagsFromSteps(steps: ExtractedStep[], name: string, description?: string): string[];
|