@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,150 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createEscalation = createEscalation;
|
|
4
|
+
exports.claimEscalation = claimEscalation;
|
|
5
|
+
exports.resolveEscalation = resolveEscalation;
|
|
6
|
+
exports.updateEscalationsPriority = updateEscalationsPriority;
|
|
7
|
+
exports.getEscalationRoles = getEscalationRoles;
|
|
8
|
+
exports.releaseEscalation = releaseEscalation;
|
|
9
|
+
exports.releaseExpiredClaims = releaseExpiredClaims;
|
|
10
|
+
exports.escalateToRole = escalateToRole;
|
|
11
|
+
exports.getEscalation = getEscalation;
|
|
12
|
+
exports.getEscalationsByTaskId = getEscalationsByTaskId;
|
|
13
|
+
exports.getEscalationsByWorkflowId = getEscalationsByWorkflowId;
|
|
14
|
+
exports.updateEscalationMetadata = updateEscalationMetadata;
|
|
15
|
+
exports.enrichEscalationRouting = enrichEscalationRouting;
|
|
16
|
+
exports.getEscalationsByOriginId = getEscalationsByOriginId;
|
|
17
|
+
const db_1 = require("../db");
|
|
18
|
+
const sql_1 = require("./sql");
|
|
19
|
+
async function createEscalation(input) {
|
|
20
|
+
const pool = (0, db_1.getPool)();
|
|
21
|
+
// Ensure the role exists in lt_roles (FK constraint)
|
|
22
|
+
await pool.query(sql_1.ENSURE_ROLE_EXISTS, [input.role]);
|
|
23
|
+
const { rows } = await pool.query(sql_1.CREATE_ESCALATION, [
|
|
24
|
+
input.type,
|
|
25
|
+
input.subtype,
|
|
26
|
+
input.description || null,
|
|
27
|
+
input.priority || 2,
|
|
28
|
+
input.task_id || null,
|
|
29
|
+
input.origin_id || null,
|
|
30
|
+
input.parent_id || null,
|
|
31
|
+
input.role,
|
|
32
|
+
input.envelope,
|
|
33
|
+
input.metadata ? JSON.stringify(input.metadata) : null,
|
|
34
|
+
input.escalation_payload || null,
|
|
35
|
+
input.workflow_id || null,
|
|
36
|
+
input.task_queue || null,
|
|
37
|
+
input.workflow_type || null,
|
|
38
|
+
input.trace_id || null,
|
|
39
|
+
input.span_id || null,
|
|
40
|
+
]);
|
|
41
|
+
return rows[0];
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Atomic claim operation. Does NOT change status — "claimed" is implicit
|
|
45
|
+
* via assigned_to + assigned_until > NOW().
|
|
46
|
+
*
|
|
47
|
+
* Conditions:
|
|
48
|
+
* - status = 'pending' (not resolved/cancelled)
|
|
49
|
+
* - Either: unassigned, expired claim, or same user (extension)
|
|
50
|
+
*
|
|
51
|
+
* Uses a CTE to capture the previous state so callers can detect extensions.
|
|
52
|
+
*/
|
|
53
|
+
async function claimEscalation(id, userId, durationMinutes = 30) {
|
|
54
|
+
const pool = (0, db_1.getPool)();
|
|
55
|
+
const { rows } = await pool.query(sql_1.CLAIM_ESCALATION, [id, userId, durationMinutes]);
|
|
56
|
+
if (rows.length === 0)
|
|
57
|
+
return null;
|
|
58
|
+
const row = rows[0];
|
|
59
|
+
return {
|
|
60
|
+
escalation: row,
|
|
61
|
+
isExtension: row.prev_assigned_to === userId,
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
async function resolveEscalation(id, resolverPayload) {
|
|
65
|
+
const pool = (0, db_1.getPool)();
|
|
66
|
+
const { rows } = await pool.query(sql_1.RESOLVE_ESCALATION, [id, JSON.stringify(resolverPayload)]);
|
|
67
|
+
return rows[0] || null;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Bulk update priority for a set of escalations.
|
|
71
|
+
* Only updates pending escalations.
|
|
72
|
+
*/
|
|
73
|
+
async function updateEscalationsPriority(ids, priority) {
|
|
74
|
+
if (ids.length === 0)
|
|
75
|
+
return 0;
|
|
76
|
+
const pool = (0, db_1.getPool)();
|
|
77
|
+
const { rowCount } = await pool.query(sql_1.UPDATE_ESCALATIONS_PRIORITY, [priority, ids]);
|
|
78
|
+
return rowCount ?? 0;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Get the distinct roles for a set of escalation IDs.
|
|
82
|
+
* Used for permission validation before bulk operations.
|
|
83
|
+
*/
|
|
84
|
+
async function getEscalationRoles(ids) {
|
|
85
|
+
if (ids.length === 0)
|
|
86
|
+
return [];
|
|
87
|
+
const pool = (0, db_1.getPool)();
|
|
88
|
+
const { rows } = await pool.query(sql_1.GET_ESCALATION_ROLES, [ids]);
|
|
89
|
+
return rows.map((r) => r.role);
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Release a single escalation claim back to the available pool.
|
|
93
|
+
* Only the assigned user (or superadmin via route) may release.
|
|
94
|
+
*/
|
|
95
|
+
async function releaseEscalation(id, userId) {
|
|
96
|
+
const pool = (0, db_1.getPool)();
|
|
97
|
+
const { rows } = await pool.query(sql_1.RELEASE_ESCALATION, [id, userId]);
|
|
98
|
+
return rows[0] || null;
|
|
99
|
+
}
|
|
100
|
+
async function releaseExpiredClaims() {
|
|
101
|
+
const pool = (0, db_1.getPool)();
|
|
102
|
+
const { rowCount } = await pool.query(sql_1.RELEASE_EXPIRED_CLAIMS);
|
|
103
|
+
return rowCount || 0;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Reassign an escalation to a different role.
|
|
107
|
+
* Clears the current assignment so it becomes available to the new role.
|
|
108
|
+
*/
|
|
109
|
+
async function escalateToRole(id, targetRole) {
|
|
110
|
+
const pool = (0, db_1.getPool)();
|
|
111
|
+
const { rows } = await pool.query(sql_1.ESCALATE_TO_ROLE, [id, targetRole]);
|
|
112
|
+
return rows[0] || null;
|
|
113
|
+
}
|
|
114
|
+
async function getEscalation(id) {
|
|
115
|
+
const pool = (0, db_1.getPool)();
|
|
116
|
+
const { rows } = await pool.query(sql_1.GET_ESCALATION, [id]);
|
|
117
|
+
return rows[0] || null;
|
|
118
|
+
}
|
|
119
|
+
async function getEscalationsByTaskId(taskId) {
|
|
120
|
+
const pool = (0, db_1.getPool)();
|
|
121
|
+
const { rows } = await pool.query(sql_1.GET_ESCALATIONS_BY_TASK_ID, [taskId]);
|
|
122
|
+
return rows;
|
|
123
|
+
}
|
|
124
|
+
async function getEscalationsByWorkflowId(workflowId) {
|
|
125
|
+
const pool = (0, db_1.getPool)();
|
|
126
|
+
const { rows } = await pool.query(sql_1.GET_ESCALATIONS_BY_WORKFLOW_ID, [workflowId]);
|
|
127
|
+
return rows;
|
|
128
|
+
}
|
|
129
|
+
async function updateEscalationMetadata(id, patch) {
|
|
130
|
+
const pool = (0, db_1.getPool)();
|
|
131
|
+
const { rows } = await pool.query(sql_1.UPDATE_ESCALATION_METADATA, [id, JSON.stringify(patch)]);
|
|
132
|
+
return rows[0] || null;
|
|
133
|
+
}
|
|
134
|
+
async function enrichEscalationRouting(id, metadataPatch, workflowFields) {
|
|
135
|
+
const pool = (0, db_1.getPool)();
|
|
136
|
+
const { rows } = await pool.query(sql_1.ENRICH_ESCALATION_ROUTING, [
|
|
137
|
+
id,
|
|
138
|
+
JSON.stringify(metadataPatch),
|
|
139
|
+
workflowFields.workflowType || null,
|
|
140
|
+
workflowFields.workflowId || null,
|
|
141
|
+
workflowFields.taskQueue || null,
|
|
142
|
+
workflowFields.taskId || null,
|
|
143
|
+
]);
|
|
144
|
+
return rows[0] || null;
|
|
145
|
+
}
|
|
146
|
+
async function getEscalationsByOriginId(originId) {
|
|
147
|
+
const pool = (0, db_1.getPool)();
|
|
148
|
+
const { rows } = await pool.query(sql_1.GET_ESCALATIONS_BY_ORIGIN_ID, [originId]);
|
|
149
|
+
return rows;
|
|
150
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./types"), exports);
|
|
18
|
+
__exportStar(require("./crud"), exports);
|
|
19
|
+
__exportStar(require("./bulk"), exports);
|
|
20
|
+
__exportStar(require("./queries"), exports);
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { LTEscalationRecord, LTEscalationStatus } from '../../types';
|
|
2
|
+
import type { EscalationStats } from './types';
|
|
3
|
+
export declare function getEscalationStats(visibleRoles?: string[], period?: string): Promise<EscalationStats>;
|
|
4
|
+
export declare function listDistinctTypes(): Promise<string[]>;
|
|
5
|
+
export declare function listEscalations(filters: {
|
|
6
|
+
status?: LTEscalationStatus;
|
|
7
|
+
role?: string;
|
|
8
|
+
type?: string;
|
|
9
|
+
subtype?: string;
|
|
10
|
+
assigned_to?: string;
|
|
11
|
+
priority?: number;
|
|
12
|
+
limit?: number;
|
|
13
|
+
offset?: number;
|
|
14
|
+
visibleRoles?: string[];
|
|
15
|
+
sort_by?: string;
|
|
16
|
+
order?: string;
|
|
17
|
+
}): Promise<{
|
|
18
|
+
escalations: LTEscalationRecord[];
|
|
19
|
+
total: number;
|
|
20
|
+
}>;
|
|
21
|
+
/**
|
|
22
|
+
* List available escalations: pending AND (unassigned OR expired claim).
|
|
23
|
+
*/
|
|
24
|
+
export declare function listAvailableEscalations(filters: {
|
|
25
|
+
role?: string;
|
|
26
|
+
type?: string;
|
|
27
|
+
subtype?: string;
|
|
28
|
+
priority?: number;
|
|
29
|
+
limit?: number;
|
|
30
|
+
offset?: number;
|
|
31
|
+
visibleRoles?: string[];
|
|
32
|
+
sort_by?: string;
|
|
33
|
+
order?: string;
|
|
34
|
+
}): Promise<{
|
|
35
|
+
escalations: LTEscalationRecord[];
|
|
36
|
+
total: number;
|
|
37
|
+
}>;
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getEscalationStats = getEscalationStats;
|
|
4
|
+
exports.listDistinctTypes = listDistinctTypes;
|
|
5
|
+
exports.listEscalations = listEscalations;
|
|
6
|
+
exports.listAvailableEscalations = listAvailableEscalations;
|
|
7
|
+
const db_1 = require("../db");
|
|
8
|
+
const types_1 = require("./types");
|
|
9
|
+
const sql_1 = require("./sql");
|
|
10
|
+
function buildOrderBy(sortBy, order, fallback = 'priority ASC, created_at ASC') {
|
|
11
|
+
if (!sortBy || !types_1.SORTABLE_COLUMNS.has(sortBy))
|
|
12
|
+
return fallback;
|
|
13
|
+
const dir = order === 'asc' ? 'ASC' : 'DESC';
|
|
14
|
+
return `${sortBy} ${dir}`;
|
|
15
|
+
}
|
|
16
|
+
async function getEscalationStats(visibleRoles, period) {
|
|
17
|
+
const pool = (0, db_1.getPool)();
|
|
18
|
+
const interval = types_1.VALID_PERIODS[period ?? '24h'] ?? '24 hours';
|
|
19
|
+
// Build optional RBAC filter
|
|
20
|
+
const roleFilter = visibleRoles ? `WHERE role = ANY($1::text[])` : '';
|
|
21
|
+
const roleFilterAnd = visibleRoles ? `AND role = ANY($1::text[])` : '';
|
|
22
|
+
const params = visibleRoles ? [visibleRoles] : [];
|
|
23
|
+
// Global counts
|
|
24
|
+
const { rows: [totals] } = await pool.query(`SELECT
|
|
25
|
+
COUNT(*) FILTER (WHERE status = 'pending') AS pending,
|
|
26
|
+
COUNT(*) FILTER (WHERE status = 'pending' AND assigned_to IS NOT NULL AND assigned_until > NOW()) AS claimed,
|
|
27
|
+
COUNT(*) FILTER (WHERE created_at > NOW() - INTERVAL '${interval}') AS created,
|
|
28
|
+
COUNT(*) FILTER (WHERE resolved_at > NOW() - INTERVAL '${interval}') AS resolved
|
|
29
|
+
FROM lt_escalations ${roleFilter}`, params);
|
|
30
|
+
// By-role breakdown (pending only)
|
|
31
|
+
const { rows: byRole } = await pool.query(`SELECT role,
|
|
32
|
+
COUNT(*) AS pending,
|
|
33
|
+
COUNT(*) FILTER (WHERE assigned_to IS NOT NULL AND assigned_until > NOW()) AS claimed
|
|
34
|
+
FROM lt_escalations
|
|
35
|
+
WHERE status = 'pending' ${roleFilterAnd}
|
|
36
|
+
GROUP BY role
|
|
37
|
+
ORDER BY COUNT(*) DESC`, params);
|
|
38
|
+
// By-type breakdown (within the time period)
|
|
39
|
+
const { rows: byType } = await pool.query(`SELECT type,
|
|
40
|
+
COUNT(*) FILTER (WHERE status = 'pending') AS pending,
|
|
41
|
+
COUNT(*) FILTER (WHERE status = 'pending' AND assigned_to IS NOT NULL AND assigned_until > NOW()) AS claimed,
|
|
42
|
+
COUNT(*) FILTER (WHERE resolved_at IS NOT NULL) AS resolved
|
|
43
|
+
FROM lt_escalations
|
|
44
|
+
WHERE created_at > NOW() - INTERVAL '${interval}' ${roleFilterAnd}
|
|
45
|
+
GROUP BY type
|
|
46
|
+
ORDER BY COUNT(*) DESC`, params);
|
|
47
|
+
return {
|
|
48
|
+
pending: parseInt(totals.pending),
|
|
49
|
+
claimed: parseInt(totals.claimed),
|
|
50
|
+
created: parseInt(totals.created),
|
|
51
|
+
resolved: parseInt(totals.resolved),
|
|
52
|
+
by_role: byRole.map((r) => ({
|
|
53
|
+
role: r.role,
|
|
54
|
+
pending: parseInt(r.pending),
|
|
55
|
+
claimed: parseInt(r.claimed),
|
|
56
|
+
})),
|
|
57
|
+
by_type: byType.map((r) => ({
|
|
58
|
+
type: r.type,
|
|
59
|
+
pending: parseInt(r.pending),
|
|
60
|
+
claimed: parseInt(r.claimed),
|
|
61
|
+
resolved: parseInt(r.resolved),
|
|
62
|
+
})),
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
async function listDistinctTypes() {
|
|
66
|
+
const pool = (0, db_1.getPool)();
|
|
67
|
+
const { rows } = await pool.query(sql_1.LIST_DISTINCT_TYPES);
|
|
68
|
+
return rows.map((r) => r.type);
|
|
69
|
+
}
|
|
70
|
+
async function listEscalations(filters) {
|
|
71
|
+
const pool = (0, db_1.getPool)();
|
|
72
|
+
const conditions = [];
|
|
73
|
+
const values = [];
|
|
74
|
+
let idx = 1;
|
|
75
|
+
// RBAC: scope to roles the user is a member of
|
|
76
|
+
if (filters.visibleRoles) {
|
|
77
|
+
conditions.push(`role = ANY($${idx++}::text[])`);
|
|
78
|
+
values.push(filters.visibleRoles);
|
|
79
|
+
}
|
|
80
|
+
if (filters.status) {
|
|
81
|
+
conditions.push(`status = $${idx++}`);
|
|
82
|
+
values.push(filters.status);
|
|
83
|
+
}
|
|
84
|
+
if (filters.role) {
|
|
85
|
+
conditions.push(`role = $${idx++}`);
|
|
86
|
+
values.push(filters.role);
|
|
87
|
+
}
|
|
88
|
+
if (filters.type) {
|
|
89
|
+
conditions.push(`type = $${idx++}`);
|
|
90
|
+
values.push(filters.type);
|
|
91
|
+
}
|
|
92
|
+
if (filters.subtype) {
|
|
93
|
+
conditions.push(`subtype = $${idx++}`);
|
|
94
|
+
values.push(filters.subtype);
|
|
95
|
+
}
|
|
96
|
+
if (filters.assigned_to) {
|
|
97
|
+
conditions.push(`assigned_to = $${idx++}`);
|
|
98
|
+
values.push(filters.assigned_to);
|
|
99
|
+
}
|
|
100
|
+
if (filters.priority) {
|
|
101
|
+
conditions.push(`priority = $${idx++}`);
|
|
102
|
+
values.push(filters.priority);
|
|
103
|
+
}
|
|
104
|
+
const where = conditions.length ? `WHERE ${conditions.join(' AND ')}` : '';
|
|
105
|
+
const limit = filters.limit || 50;
|
|
106
|
+
const offset = filters.offset || 0;
|
|
107
|
+
const orderBy = buildOrderBy(filters.sort_by, filters.order);
|
|
108
|
+
const [countResult, dataResult] = await Promise.all([
|
|
109
|
+
pool.query(`SELECT COUNT(*) FROM lt_escalations ${where}`, values),
|
|
110
|
+
pool.query(`SELECT * FROM lt_escalations ${where} ORDER BY ${orderBy} LIMIT $${idx++} OFFSET $${idx++}`, [...values, limit, offset]),
|
|
111
|
+
]);
|
|
112
|
+
return {
|
|
113
|
+
escalations: dataResult.rows,
|
|
114
|
+
total: parseInt(countResult.rows[0].count, 10),
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* List available escalations: pending AND (unassigned OR expired claim).
|
|
119
|
+
*/
|
|
120
|
+
async function listAvailableEscalations(filters) {
|
|
121
|
+
const pool = (0, db_1.getPool)();
|
|
122
|
+
const conditions = [
|
|
123
|
+
"status = 'pending'",
|
|
124
|
+
'(assigned_to IS NULL OR assigned_until <= NOW())',
|
|
125
|
+
];
|
|
126
|
+
const values = [];
|
|
127
|
+
let idx = 1;
|
|
128
|
+
// RBAC: scope to roles the user is a member of
|
|
129
|
+
if (filters.visibleRoles) {
|
|
130
|
+
conditions.push(`role = ANY($${idx++}::text[])`);
|
|
131
|
+
values.push(filters.visibleRoles);
|
|
132
|
+
}
|
|
133
|
+
if (filters.role) {
|
|
134
|
+
conditions.push(`role = $${idx++}`);
|
|
135
|
+
values.push(filters.role);
|
|
136
|
+
}
|
|
137
|
+
if (filters.type) {
|
|
138
|
+
conditions.push(`type = $${idx++}`);
|
|
139
|
+
values.push(filters.type);
|
|
140
|
+
}
|
|
141
|
+
if (filters.subtype) {
|
|
142
|
+
conditions.push(`subtype = $${idx++}`);
|
|
143
|
+
values.push(filters.subtype);
|
|
144
|
+
}
|
|
145
|
+
if (filters.priority) {
|
|
146
|
+
conditions.push(`priority = $${idx++}`);
|
|
147
|
+
values.push(filters.priority);
|
|
148
|
+
}
|
|
149
|
+
const where = `WHERE ${conditions.join(' AND ')}`;
|
|
150
|
+
const limit = filters.limit || 50;
|
|
151
|
+
const offset = filters.offset || 0;
|
|
152
|
+
const orderBy = buildOrderBy(filters.sort_by, filters.order);
|
|
153
|
+
const [countResult, dataResult] = await Promise.all([
|
|
154
|
+
pool.query(`SELECT COUNT(*) FROM lt_escalations ${where}`, values),
|
|
155
|
+
pool.query(`SELECT * FROM lt_escalations ${where}
|
|
156
|
+
ORDER BY ${orderBy}
|
|
157
|
+
LIMIT $${idx++} OFFSET $${idx++}`, [...values, limit, offset]),
|
|
158
|
+
]);
|
|
159
|
+
return {
|
|
160
|
+
escalations: dataResult.rows,
|
|
161
|
+
total: parseInt(countResult.rows[0].count, 10),
|
|
162
|
+
};
|
|
163
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export declare const ENSURE_ROLE_EXISTS = "INSERT INTO lt_roles (role) VALUES ($1) ON CONFLICT DO NOTHING";
|
|
2
|
+
export declare const CREATE_ESCALATION = "INSERT INTO lt_escalations\n (type, subtype, description, priority, task_id,\n origin_id, parent_id, role, envelope, metadata, escalation_payload,\n workflow_id, task_queue, workflow_type, trace_id, span_id)\nVALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16)\nRETURNING *";
|
|
3
|
+
export declare const CLAIM_ESCALATION = "WITH prev AS (\n SELECT assigned_to, assigned_until\n FROM lt_escalations\n WHERE id = $1\n),\nupdated AS (\n UPDATE lt_escalations\n SET assigned_to = $2,\n claimed_at = NOW(),\n assigned_until = NOW() + INTERVAL '1 minute' * $3\n WHERE id = $1\n AND status = 'pending'\n AND (\n assigned_to IS NULL\n OR assigned_until <= NOW()\n OR assigned_to = $2\n )\n RETURNING *\n)\nSELECT updated.*,\n prev.assigned_to AS prev_assigned_to\nFROM updated\nCROSS JOIN prev";
|
|
4
|
+
export declare const RESOLVE_ESCALATION = "UPDATE lt_escalations\nSET status = 'resolved',\n resolved_at = NOW(),\n resolver_payload = $2\nWHERE id = $1\n AND status = 'pending'\nRETURNING *";
|
|
5
|
+
export declare const UPDATE_ESCALATIONS_PRIORITY = "UPDATE lt_escalations\nSET priority = $1, updated_at = NOW()\nWHERE id = ANY($2::uuid[])\n AND status = 'pending'";
|
|
6
|
+
export declare const GET_ESCALATION_ROLES = "SELECT DISTINCT role FROM lt_escalations WHERE id = ANY($1::uuid[])";
|
|
7
|
+
export declare const RELEASE_ESCALATION = "UPDATE lt_escalations\nSET assigned_to = NULL,\n assigned_until = NULL,\n claimed_at = NULL\nWHERE id = $1\n AND status = 'pending'\n AND assigned_to = $2\nRETURNING *";
|
|
8
|
+
export declare const RELEASE_EXPIRED_CLAIMS = "UPDATE lt_escalations\nSET assigned_to = NULL,\n assigned_until = NULL,\n claimed_at = NULL\nWHERE status = 'pending'\n AND assigned_to IS NOT NULL\n AND assigned_until < NOW()";
|
|
9
|
+
export declare const ESCALATE_TO_ROLE = "UPDATE lt_escalations\nSET role = $2,\n assigned_to = NULL,\n assigned_until = NULL,\n claimed_at = NULL,\n updated_at = NOW()\nWHERE id = $1\n AND status = 'pending'\nRETURNING *";
|
|
10
|
+
export declare const GET_ESCALATION = "SELECT * FROM lt_escalations WHERE id = $1";
|
|
11
|
+
export declare const GET_ESCALATIONS_BY_TASK_ID = "SELECT * FROM lt_escalations WHERE task_id = $1 ORDER BY created_at DESC";
|
|
12
|
+
export declare const GET_ESCALATIONS_BY_WORKFLOW_ID = "SELECT * FROM lt_escalations WHERE workflow_id = $1 ORDER BY created_at DESC";
|
|
13
|
+
export declare const GET_ESCALATIONS_BY_ORIGIN_ID = "SELECT * FROM lt_escalations WHERE origin_id = $1 ORDER BY created_at DESC";
|
|
14
|
+
/** Used by both bulkClaimEscalations and bulkAssignEscalations (identical SQL). */
|
|
15
|
+
export declare const BULK_CLAIM = "UPDATE lt_escalations\nSET assigned_to = $1,\n claimed_at = NOW(),\n assigned_until = NOW() + INTERVAL '1 minute' * $2\nWHERE id = ANY($3::uuid[])\n AND status = 'pending'\n AND (\n assigned_to IS NULL\n OR assigned_until <= NOW()\n OR assigned_to = $1\n )";
|
|
16
|
+
export declare const BULK_ASSIGN = "UPDATE lt_escalations\nSET assigned_to = $1,\n claimed_at = NOW(),\n assigned_until = NOW() + INTERVAL '1 minute' * $2\nWHERE id = ANY($3::uuid[])\n AND status = 'pending'\n AND (\n assigned_to IS NULL\n OR assigned_until <= NOW()\n OR assigned_to = $1\n )";
|
|
17
|
+
export declare const BULK_ESCALATE_TO_ROLE = "UPDATE lt_escalations\nSET role = $1,\n assigned_to = NULL,\n assigned_until = NULL,\n claimed_at = NULL,\n updated_at = NOW()\nWHERE id = ANY($2::uuid[])\n AND status = 'pending'";
|
|
18
|
+
export declare const BULK_RESOLVE_FOR_TRIAGE = "UPDATE lt_escalations\nSET status = 'resolved',\n resolved_at = NOW(),\n resolver_payload = $1\nWHERE id = ANY($2::uuid[])\n AND status = 'pending'\nRETURNING *";
|
|
19
|
+
export declare const UPDATE_ESCALATION_METADATA = "UPDATE lt_escalations\nSET metadata = COALESCE(metadata, '{}'::jsonb) || $2::jsonb,\n updated_at = NOW()\nWHERE id = $1\nRETURNING *";
|
|
20
|
+
export declare const ENRICH_ESCALATION_ROUTING = "UPDATE lt_escalations\nSET metadata = COALESCE(metadata, '{}'::jsonb) || $2::jsonb,\n workflow_type = COALESCE(workflow_type, $3),\n workflow_id = COALESCE(workflow_id, $4),\n task_queue = COALESCE(task_queue, $5),\n task_id = COALESCE(task_id, $6),\n updated_at = NOW()\nWHERE id = $1\nRETURNING *";
|
|
21
|
+
export declare const LIST_DISTINCT_TYPES = "SELECT DISTINCT type FROM lt_escalations ORDER BY type";
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ---------------------------------------------------------------------------
|
|
3
|
+
// Escalation SQL – externalized from crud.ts, bulk.ts, queries.ts
|
|
4
|
+
// ---------------------------------------------------------------------------
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.LIST_DISTINCT_TYPES = exports.ENRICH_ESCALATION_ROUTING = exports.UPDATE_ESCALATION_METADATA = exports.BULK_RESOLVE_FOR_TRIAGE = exports.BULK_ESCALATE_TO_ROLE = exports.BULK_ASSIGN = exports.BULK_CLAIM = exports.GET_ESCALATIONS_BY_ORIGIN_ID = exports.GET_ESCALATIONS_BY_WORKFLOW_ID = exports.GET_ESCALATIONS_BY_TASK_ID = exports.GET_ESCALATION = exports.ESCALATE_TO_ROLE = exports.RELEASE_EXPIRED_CLAIMS = exports.RELEASE_ESCALATION = exports.GET_ESCALATION_ROLES = exports.UPDATE_ESCALATIONS_PRIORITY = exports.RESOLVE_ESCALATION = exports.CLAIM_ESCALATION = exports.CREATE_ESCALATION = exports.ENSURE_ROLE_EXISTS = void 0;
|
|
7
|
+
// --- Role management -------------------------------------------------------
|
|
8
|
+
exports.ENSURE_ROLE_EXISTS = 'INSERT INTO lt_roles (role) VALUES ($1) ON CONFLICT DO NOTHING';
|
|
9
|
+
// --- Single-record CRUD ---------------------------------------------------
|
|
10
|
+
exports.CREATE_ESCALATION = `\
|
|
11
|
+
INSERT INTO lt_escalations
|
|
12
|
+
(type, subtype, description, priority, task_id,
|
|
13
|
+
origin_id, parent_id, role, envelope, metadata, escalation_payload,
|
|
14
|
+
workflow_id, task_queue, workflow_type, trace_id, span_id)
|
|
15
|
+
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16)
|
|
16
|
+
RETURNING *`;
|
|
17
|
+
exports.CLAIM_ESCALATION = `\
|
|
18
|
+
WITH prev AS (
|
|
19
|
+
SELECT assigned_to, assigned_until
|
|
20
|
+
FROM lt_escalations
|
|
21
|
+
WHERE id = $1
|
|
22
|
+
),
|
|
23
|
+
updated AS (
|
|
24
|
+
UPDATE lt_escalations
|
|
25
|
+
SET assigned_to = $2,
|
|
26
|
+
claimed_at = NOW(),
|
|
27
|
+
assigned_until = NOW() + INTERVAL '1 minute' * $3
|
|
28
|
+
WHERE id = $1
|
|
29
|
+
AND status = 'pending'
|
|
30
|
+
AND (
|
|
31
|
+
assigned_to IS NULL
|
|
32
|
+
OR assigned_until <= NOW()
|
|
33
|
+
OR assigned_to = $2
|
|
34
|
+
)
|
|
35
|
+
RETURNING *
|
|
36
|
+
)
|
|
37
|
+
SELECT updated.*,
|
|
38
|
+
prev.assigned_to AS prev_assigned_to
|
|
39
|
+
FROM updated
|
|
40
|
+
CROSS JOIN prev`;
|
|
41
|
+
exports.RESOLVE_ESCALATION = `\
|
|
42
|
+
UPDATE lt_escalations
|
|
43
|
+
SET status = 'resolved',
|
|
44
|
+
resolved_at = NOW(),
|
|
45
|
+
resolver_payload = $2
|
|
46
|
+
WHERE id = $1
|
|
47
|
+
AND status = 'pending'
|
|
48
|
+
RETURNING *`;
|
|
49
|
+
exports.UPDATE_ESCALATIONS_PRIORITY = `\
|
|
50
|
+
UPDATE lt_escalations
|
|
51
|
+
SET priority = $1, updated_at = NOW()
|
|
52
|
+
WHERE id = ANY($2::uuid[])
|
|
53
|
+
AND status = 'pending'`;
|
|
54
|
+
exports.GET_ESCALATION_ROLES = 'SELECT DISTINCT role FROM lt_escalations WHERE id = ANY($1::uuid[])';
|
|
55
|
+
exports.RELEASE_ESCALATION = `\
|
|
56
|
+
UPDATE lt_escalations
|
|
57
|
+
SET assigned_to = NULL,
|
|
58
|
+
assigned_until = NULL,
|
|
59
|
+
claimed_at = NULL
|
|
60
|
+
WHERE id = $1
|
|
61
|
+
AND status = 'pending'
|
|
62
|
+
AND assigned_to = $2
|
|
63
|
+
RETURNING *`;
|
|
64
|
+
exports.RELEASE_EXPIRED_CLAIMS = `\
|
|
65
|
+
UPDATE lt_escalations
|
|
66
|
+
SET assigned_to = NULL,
|
|
67
|
+
assigned_until = NULL,
|
|
68
|
+
claimed_at = NULL
|
|
69
|
+
WHERE status = 'pending'
|
|
70
|
+
AND assigned_to IS NOT NULL
|
|
71
|
+
AND assigned_until < NOW()`;
|
|
72
|
+
exports.ESCALATE_TO_ROLE = `\
|
|
73
|
+
UPDATE lt_escalations
|
|
74
|
+
SET role = $2,
|
|
75
|
+
assigned_to = NULL,
|
|
76
|
+
assigned_until = NULL,
|
|
77
|
+
claimed_at = NULL,
|
|
78
|
+
updated_at = NOW()
|
|
79
|
+
WHERE id = $1
|
|
80
|
+
AND status = 'pending'
|
|
81
|
+
RETURNING *`;
|
|
82
|
+
exports.GET_ESCALATION = 'SELECT * FROM lt_escalations WHERE id = $1';
|
|
83
|
+
exports.GET_ESCALATIONS_BY_TASK_ID = 'SELECT * FROM lt_escalations WHERE task_id = $1 ORDER BY created_at DESC';
|
|
84
|
+
exports.GET_ESCALATIONS_BY_WORKFLOW_ID = 'SELECT * FROM lt_escalations WHERE workflow_id = $1 ORDER BY created_at DESC';
|
|
85
|
+
exports.GET_ESCALATIONS_BY_ORIGIN_ID = 'SELECT * FROM lt_escalations WHERE origin_id = $1 ORDER BY created_at DESC';
|
|
86
|
+
// --- Bulk operations -------------------------------------------------------
|
|
87
|
+
/** Used by both bulkClaimEscalations and bulkAssignEscalations (identical SQL). */
|
|
88
|
+
exports.BULK_CLAIM = `\
|
|
89
|
+
UPDATE lt_escalations
|
|
90
|
+
SET assigned_to = $1,
|
|
91
|
+
claimed_at = NOW(),
|
|
92
|
+
assigned_until = NOW() + INTERVAL '1 minute' * $2
|
|
93
|
+
WHERE id = ANY($3::uuid[])
|
|
94
|
+
AND status = 'pending'
|
|
95
|
+
AND (
|
|
96
|
+
assigned_to IS NULL
|
|
97
|
+
OR assigned_until <= NOW()
|
|
98
|
+
OR assigned_to = $1
|
|
99
|
+
)`;
|
|
100
|
+
exports.BULK_ASSIGN = exports.BULK_CLAIM;
|
|
101
|
+
exports.BULK_ESCALATE_TO_ROLE = `\
|
|
102
|
+
UPDATE lt_escalations
|
|
103
|
+
SET role = $1,
|
|
104
|
+
assigned_to = NULL,
|
|
105
|
+
assigned_until = NULL,
|
|
106
|
+
claimed_at = NULL,
|
|
107
|
+
updated_at = NOW()
|
|
108
|
+
WHERE id = ANY($2::uuid[])
|
|
109
|
+
AND status = 'pending'`;
|
|
110
|
+
exports.BULK_RESOLVE_FOR_TRIAGE = `\
|
|
111
|
+
UPDATE lt_escalations
|
|
112
|
+
SET status = 'resolved',
|
|
113
|
+
resolved_at = NOW(),
|
|
114
|
+
resolver_payload = $1
|
|
115
|
+
WHERE id = ANY($2::uuid[])
|
|
116
|
+
AND status = 'pending'
|
|
117
|
+
RETURNING *`;
|
|
118
|
+
// --- Query helpers ---------------------------------------------------------
|
|
119
|
+
exports.UPDATE_ESCALATION_METADATA = `\
|
|
120
|
+
UPDATE lt_escalations
|
|
121
|
+
SET metadata = COALESCE(metadata, '{}'::jsonb) || $2::jsonb,
|
|
122
|
+
updated_at = NOW()
|
|
123
|
+
WHERE id = $1
|
|
124
|
+
RETURNING *`;
|
|
125
|
+
exports.ENRICH_ESCALATION_ROUTING = `\
|
|
126
|
+
UPDATE lt_escalations
|
|
127
|
+
SET metadata = COALESCE(metadata, '{}'::jsonb) || $2::jsonb,
|
|
128
|
+
workflow_type = COALESCE(workflow_type, $3),
|
|
129
|
+
workflow_id = COALESCE(workflow_id, $4),
|
|
130
|
+
task_queue = COALESCE(task_queue, $5),
|
|
131
|
+
task_id = COALESCE(task_id, $6),
|
|
132
|
+
updated_at = NOW()
|
|
133
|
+
WHERE id = $1
|
|
134
|
+
RETURNING *`;
|
|
135
|
+
exports.LIST_DISTINCT_TYPES = 'SELECT DISTINCT type FROM lt_escalations ORDER BY type';
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { LTEscalationRecord } from '../../types';
|
|
2
|
+
export interface CreateEscalationInput {
|
|
3
|
+
type: string;
|
|
4
|
+
subtype: string;
|
|
5
|
+
description?: string;
|
|
6
|
+
priority?: number;
|
|
7
|
+
task_id?: string;
|
|
8
|
+
origin_id?: string;
|
|
9
|
+
parent_id?: string;
|
|
10
|
+
role: string;
|
|
11
|
+
envelope: string;
|
|
12
|
+
metadata?: Record<string, any>;
|
|
13
|
+
escalation_payload?: string;
|
|
14
|
+
workflow_id?: string;
|
|
15
|
+
task_queue?: string;
|
|
16
|
+
workflow_type?: string;
|
|
17
|
+
trace_id?: string;
|
|
18
|
+
span_id?: string;
|
|
19
|
+
}
|
|
20
|
+
export interface ClaimResult {
|
|
21
|
+
escalation: LTEscalationRecord;
|
|
22
|
+
isExtension: boolean;
|
|
23
|
+
}
|
|
24
|
+
export interface EscalationStats {
|
|
25
|
+
pending: number;
|
|
26
|
+
claimed: number;
|
|
27
|
+
created: number;
|
|
28
|
+
resolved: number;
|
|
29
|
+
by_role: {
|
|
30
|
+
role: string;
|
|
31
|
+
pending: number;
|
|
32
|
+
claimed: number;
|
|
33
|
+
}[];
|
|
34
|
+
by_type: {
|
|
35
|
+
type: string;
|
|
36
|
+
pending: number;
|
|
37
|
+
claimed: number;
|
|
38
|
+
resolved: number;
|
|
39
|
+
}[];
|
|
40
|
+
}
|
|
41
|
+
export declare const VALID_PERIODS: Record<string, string>;
|
|
42
|
+
/** Columns allowed for user-chosen ORDER BY. */
|
|
43
|
+
export declare const SORTABLE_COLUMNS: Set<string>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SORTABLE_COLUMNS = exports.VALID_PERIODS = void 0;
|
|
4
|
+
exports.VALID_PERIODS = {
|
|
5
|
+
'1h': '1 hour',
|
|
6
|
+
'24h': '24 hours',
|
|
7
|
+
'7d': '7 days',
|
|
8
|
+
'30d': '30 days',
|
|
9
|
+
};
|
|
10
|
+
/** Columns allowed for user-chosen ORDER BY. */
|
|
11
|
+
exports.SORTABLE_COLUMNS = new Set([
|
|
12
|
+
'created_at', 'updated_at', 'priority', 'resolved_at', 'role', 'type',
|
|
13
|
+
]);
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { LTEscalationStrategy, ResolutionContext, ResolutionDirective } from '../../types/escalation-strategy';
|
|
2
|
+
/**
|
|
3
|
+
* Default escalation strategy.
|
|
4
|
+
*
|
|
5
|
+
* Always returns `{ action: 'rerun' }` — standard behavior where the
|
|
6
|
+
* resolver's payload is injected into the envelope and the original
|
|
7
|
+
* workflow is re-run. This is the strategy used when no MCP triage
|
|
8
|
+
* is configured.
|
|
9
|
+
*/
|
|
10
|
+
export declare class DefaultEscalationStrategy implements LTEscalationStrategy {
|
|
11
|
+
onResolution(_context: ResolutionContext): Promise<ResolutionDirective>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DefaultEscalationStrategy = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Default escalation strategy.
|
|
6
|
+
*
|
|
7
|
+
* Always returns `{ action: 'rerun' }` — standard behavior where the
|
|
8
|
+
* resolver's payload is injected into the envelope and the original
|
|
9
|
+
* workflow is re-run. This is the strategy used when no MCP triage
|
|
10
|
+
* is configured.
|
|
11
|
+
*/
|
|
12
|
+
class DefaultEscalationStrategy {
|
|
13
|
+
async onResolution(_context) {
|
|
14
|
+
return { action: 'rerun' };
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
exports.DefaultEscalationStrategy = DefaultEscalationStrategy;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { LTEscalationStrategy } from '../../types/escalation-strategy';
|
|
2
|
+
/**
|
|
3
|
+
* Singleton registry for the escalation strategy.
|
|
4
|
+
*
|
|
5
|
+
* Follows the same pattern as mcpRegistry (single adapter):
|
|
6
|
+
* - register(strategy) — set the active strategy
|
|
7
|
+
* - clear() — reset (for tests)
|
|
8
|
+
*
|
|
9
|
+
* The strategy is consulted during escalation resolution to determine
|
|
10
|
+
* whether to perform a standard re-run or route to the MCP triage
|
|
11
|
+
* orchestrator for dynamic remediation.
|
|
12
|
+
*/
|
|
13
|
+
declare class LTEscalationStrategyRegistry {
|
|
14
|
+
private strategy;
|
|
15
|
+
register(strategy: LTEscalationStrategy): void;
|
|
16
|
+
clear(): void;
|
|
17
|
+
get hasStrategy(): boolean;
|
|
18
|
+
get current(): LTEscalationStrategy | null;
|
|
19
|
+
}
|
|
20
|
+
export declare const escalationStrategyRegistry: LTEscalationStrategyRegistry;
|
|
21
|
+
export {};
|