@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,110 @@
|
|
|
1
|
+
import type { LoggerOptions } from 'pino';
|
|
2
|
+
import type { LTAuthAdapter } from './auth';
|
|
3
|
+
import type { LTOAuthStartConfig } from './oauth';
|
|
4
|
+
import type { LTTelemetryAdapter } from './telemetry';
|
|
5
|
+
import type { LTEventAdapter } from './events';
|
|
6
|
+
import type { LTLoggerAdapter } from './logger';
|
|
7
|
+
import type { LTMaintenanceConfig } from './maintenance';
|
|
8
|
+
import type { LTMcpAdapter } from './mcp';
|
|
9
|
+
import type { LTEscalationStrategy } from './escalation-strategy';
|
|
10
|
+
export interface LTStartConfig {
|
|
11
|
+
/** PostgreSQL connection. Provide individual fields or a connectionString. */
|
|
12
|
+
database: {
|
|
13
|
+
host?: string;
|
|
14
|
+
port?: number;
|
|
15
|
+
user?: string;
|
|
16
|
+
password?: string;
|
|
17
|
+
database?: string;
|
|
18
|
+
connectionString?: string;
|
|
19
|
+
};
|
|
20
|
+
/** Embedded API server. Default: enabled on port 3000. */
|
|
21
|
+
server?: {
|
|
22
|
+
enabled?: boolean;
|
|
23
|
+
port?: number;
|
|
24
|
+
};
|
|
25
|
+
/** Workflow workers to start. Each entry registers a worker on the given queue. */
|
|
26
|
+
workers?: Array<{
|
|
27
|
+
taskQueue: string;
|
|
28
|
+
workflow: (...args: any[]) => any;
|
|
29
|
+
}>;
|
|
30
|
+
/** Interceptor defaults applied when a workflow escalates. */
|
|
31
|
+
interceptor?: {
|
|
32
|
+
defaultRole?: string;
|
|
33
|
+
};
|
|
34
|
+
/** Authentication. Defaults to the built-in JWT adapter using JWT_SECRET. */
|
|
35
|
+
auth?: {
|
|
36
|
+
/** JWT secret for the built-in adapter. */
|
|
37
|
+
secret?: string;
|
|
38
|
+
/** Replace the built-in JWT adapter entirely. */
|
|
39
|
+
adapter?: LTAuthAdapter;
|
|
40
|
+
/** OAuth/OIDC configuration for identity and resource OAuth. */
|
|
41
|
+
oauth?: LTOAuthStartConfig;
|
|
42
|
+
};
|
|
43
|
+
/** OpenTelemetry. Register before workers start. */
|
|
44
|
+
telemetry?: {
|
|
45
|
+
honeycomb?: {
|
|
46
|
+
apiKey: string;
|
|
47
|
+
serviceName?: string;
|
|
48
|
+
endpoint?: string;
|
|
49
|
+
traceUrl?: string;
|
|
50
|
+
};
|
|
51
|
+
adapter?: LTTelemetryAdapter;
|
|
52
|
+
};
|
|
53
|
+
/** Milestone event publishing. */
|
|
54
|
+
events?: {
|
|
55
|
+
nats?: {
|
|
56
|
+
url?: string;
|
|
57
|
+
subjectPrefix?: string;
|
|
58
|
+
token?: string;
|
|
59
|
+
};
|
|
60
|
+
adapters?: LTEventAdapter[];
|
|
61
|
+
};
|
|
62
|
+
/** Structured logging. Defaults to console.* when omitted. */
|
|
63
|
+
logging?: {
|
|
64
|
+
pino?: LoggerOptions;
|
|
65
|
+
adapter?: LTLoggerAdapter;
|
|
66
|
+
};
|
|
67
|
+
/**
|
|
68
|
+
* Database maintenance schedule.
|
|
69
|
+
* - `true` or `undefined` → default nightly 2 AM cleanup
|
|
70
|
+
* - `false` → disabled
|
|
71
|
+
* - `LTMaintenanceConfig` → custom schedule and rules
|
|
72
|
+
*/
|
|
73
|
+
maintenance?: LTMaintenanceConfig | boolean;
|
|
74
|
+
/**
|
|
75
|
+
* Escalation strategy. Controls what happens when a resolver submits.
|
|
76
|
+
* - `'default'` or omitted → standard re-run (today's behavior)
|
|
77
|
+
* - `'mcp'` → enables MCP triage orchestrator for `needsTriage` resolutions
|
|
78
|
+
* - `adapter` → replace with a custom `LTEscalationStrategy`
|
|
79
|
+
*/
|
|
80
|
+
escalation?: {
|
|
81
|
+
strategy?: 'default' | 'mcp';
|
|
82
|
+
adapter?: LTEscalationStrategy;
|
|
83
|
+
};
|
|
84
|
+
/**
|
|
85
|
+
* Load example workflows and seed sample data on startup.
|
|
86
|
+
* When `true`, appends the built-in example workers and starts
|
|
87
|
+
* a few sample workflows so the dashboard has data immediately.
|
|
88
|
+
*/
|
|
89
|
+
examples?: boolean;
|
|
90
|
+
/** MCP (Model Context Protocol) integration. */
|
|
91
|
+
mcp?: {
|
|
92
|
+
/** Built-in MCP server (human queue) configuration. */
|
|
93
|
+
server?: {
|
|
94
|
+
/** Enable the built-in human-queue MCP server. Default: true. */
|
|
95
|
+
enabled?: boolean;
|
|
96
|
+
/** Server name reported to MCP clients. Default: 'long-tail-human-queue'. */
|
|
97
|
+
name?: string;
|
|
98
|
+
};
|
|
99
|
+
/** MCP server IDs to auto-connect on startup. */
|
|
100
|
+
autoConnect?: string[];
|
|
101
|
+
/** Replace the built-in MCP adapter entirely. */
|
|
102
|
+
adapter?: LTMcpAdapter;
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
export interface LTInstance {
|
|
106
|
+
/** Durable client for starting workflows and querying state. */
|
|
107
|
+
client: any;
|
|
108
|
+
/** Graceful shutdown — stops workers, server, and adapters. */
|
|
109
|
+
shutdown: () => Promise<void>;
|
|
110
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
export type LTTaskStatus = 'pending' | 'in_progress' | 'completed' | 'needs_intervention' | 'cancelled';
|
|
2
|
+
export type LTTaskPriority = 1 | 2 | 3 | 4;
|
|
3
|
+
export interface LTTaskRecord {
|
|
4
|
+
id: string;
|
|
5
|
+
workflow_id: string;
|
|
6
|
+
workflow_type: string;
|
|
7
|
+
lt_type: string;
|
|
8
|
+
task_queue: string | null;
|
|
9
|
+
status: LTTaskStatus;
|
|
10
|
+
priority: LTTaskPriority;
|
|
11
|
+
signal_id: string;
|
|
12
|
+
parent_workflow_id: string;
|
|
13
|
+
origin_id: string | null;
|
|
14
|
+
parent_id: string | null;
|
|
15
|
+
started_at: Date;
|
|
16
|
+
completed_at: Date | null;
|
|
17
|
+
envelope: string;
|
|
18
|
+
metadata: Record<string, any> | null;
|
|
19
|
+
error: string | null;
|
|
20
|
+
milestones: LTMilestone[];
|
|
21
|
+
data: string | null;
|
|
22
|
+
trace_id: string | null;
|
|
23
|
+
span_id: string | null;
|
|
24
|
+
/** User or bot that initiated this task. */
|
|
25
|
+
initiated_by: string | null;
|
|
26
|
+
/** Principal type: 'user' or 'bot'. */
|
|
27
|
+
principal_type: string | null;
|
|
28
|
+
/** Executing principal (bot external_id) when proxy invocation is used. */
|
|
29
|
+
executing_as: string | null;
|
|
30
|
+
created_at: Date;
|
|
31
|
+
updated_at: Date;
|
|
32
|
+
}
|
|
33
|
+
export interface LTMilestone {
|
|
34
|
+
name: string;
|
|
35
|
+
value: string | number | boolean | Record<string, any>;
|
|
36
|
+
created_at?: string;
|
|
37
|
+
updated_at?: string;
|
|
38
|
+
[key: string]: any;
|
|
39
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pluggable telemetry adapter interface.
|
|
3
|
+
*
|
|
4
|
+
* Implement this to route HotMesh's OpenTelemetry spans to your
|
|
5
|
+
* observability backend (Honeycomb, Datadog, Grafana Tempo, etc.).
|
|
6
|
+
*
|
|
7
|
+
* The adapter's `connect()` method must register a global OTEL
|
|
8
|
+
* TracerProvider BEFORE HotMesh workers start, so that HotMesh's
|
|
9
|
+
* internal span creation is captured by the exporter.
|
|
10
|
+
*
|
|
11
|
+
* Usage:
|
|
12
|
+
* ```typescript
|
|
13
|
+
* import { LTTelemetryAdapter } from '@hotmeshio/long-tail';
|
|
14
|
+
*
|
|
15
|
+
* class MyDatadogAdapter implements LTTelemetryAdapter {
|
|
16
|
+
* async connect() { /* init OTEL SDK with Datadog exporter */ }
|
|
17
|
+
* async disconnect() { /* shutdown SDK */ }
|
|
18
|
+
* }
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export interface LTTelemetryAdapter {
|
|
22
|
+
/** Initialize the OTEL SDK and register the global TracerProvider */
|
|
23
|
+
connect(): Promise<void>;
|
|
24
|
+
/** Graceful shutdown — flush pending spans and close the exporter */
|
|
25
|
+
disconnect(): Promise<void>;
|
|
26
|
+
/**
|
|
27
|
+
* Optional URL template for deep-linking to a trace in your observability UI.
|
|
28
|
+
* Use `{traceId}` as a placeholder, e.g.:
|
|
29
|
+
* `https://ui.honeycomb.io/my-team/environments/prod/trace?trace_id={traceId}`
|
|
30
|
+
*/
|
|
31
|
+
traceUrl?: string;
|
|
32
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Universal identity context available to any tool/activity,
|
|
3
|
+
* regardless of invocation path (MCP server, proxy activity, direct worker).
|
|
4
|
+
*
|
|
5
|
+
* Converges the three identity paths:
|
|
6
|
+
* - MCP Server Tool: `args._auth` injection
|
|
7
|
+
* - Proxy Activity: `OrchestratorContext` via AsyncLocalStorage
|
|
8
|
+
* - YAML Worker: (previously no identity)
|
|
9
|
+
*
|
|
10
|
+
* Activities call `getToolContext()` to access identity without
|
|
11
|
+
* knowing how they were invoked.
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* The principal (human user or bot) on whose behalf a tool runs.
|
|
15
|
+
*/
|
|
16
|
+
export interface ToolPrincipal {
|
|
17
|
+
/** User or bot account ID (from lt_users). */
|
|
18
|
+
id: string;
|
|
19
|
+
/** 'user' for human accounts, 'bot' for service accounts. */
|
|
20
|
+
type: 'user' | 'bot';
|
|
21
|
+
/** Display name (for audit logs). */
|
|
22
|
+
displayName?: string;
|
|
23
|
+
/** RBAC role names from lt_user_roles. */
|
|
24
|
+
roles: string[];
|
|
25
|
+
/** Highest role type (superadmin > admin > member). */
|
|
26
|
+
roleType?: string;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Resolved credentials and scopes for this invocation.
|
|
30
|
+
*/
|
|
31
|
+
export interface ToolCredentials {
|
|
32
|
+
/** Short-lived delegation token scoped to this invocation. */
|
|
33
|
+
delegationToken?: string;
|
|
34
|
+
/** Scopes granted for this invocation. */
|
|
35
|
+
scopes: string[];
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Trace metadata for audit logging and lineage tracking.
|
|
39
|
+
*/
|
|
40
|
+
export interface ToolTrace {
|
|
41
|
+
/** Root workflow that initiated the chain. */
|
|
42
|
+
originId?: string;
|
|
43
|
+
/** Immediate parent workflow. */
|
|
44
|
+
parentId?: string;
|
|
45
|
+
/** Current workflow ID. */
|
|
46
|
+
workflowId?: string;
|
|
47
|
+
/** OpenTelemetry trace ID. */
|
|
48
|
+
traceId?: string;
|
|
49
|
+
/** OpenTelemetry span ID. */
|
|
50
|
+
spanId?: string;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Universal tool/activity identity context.
|
|
54
|
+
*
|
|
55
|
+
* Available via `getToolContext()` from `services/iam/context`.
|
|
56
|
+
*/
|
|
57
|
+
export interface ToolContext {
|
|
58
|
+
/** WHO — the authenticated principal (user or bot). */
|
|
59
|
+
principal: ToolPrincipal;
|
|
60
|
+
/** WHO initiated — the original human invoker when proxy invocation is used.
|
|
61
|
+
* Enables credential fallback to the human's tokens (e.g., their Gmail OAuth)
|
|
62
|
+
* even when the workflow executes as a bot. */
|
|
63
|
+
initiatingPrincipal?: ToolPrincipal;
|
|
64
|
+
/** WHAT — credentials and scopes for this invocation. */
|
|
65
|
+
credentials: ToolCredentials;
|
|
66
|
+
/** WHERE — position in the workflow chain. */
|
|
67
|
+
trace: ToolTrace;
|
|
68
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Universal identity context available to any tool/activity,
|
|
4
|
+
* regardless of invocation path (MCP server, proxy activity, direct worker).
|
|
5
|
+
*
|
|
6
|
+
* Converges the three identity paths:
|
|
7
|
+
* - MCP Server Tool: `args._auth` injection
|
|
8
|
+
* - Proxy Activity: `OrchestratorContext` via AsyncLocalStorage
|
|
9
|
+
* - YAML Worker: (previously no identity)
|
|
10
|
+
*
|
|
11
|
+
* Activities call `getToolContext()` to access identity without
|
|
12
|
+
* knowing how they were invoked.
|
|
13
|
+
*/
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export type LTUserStatus = 'active' | 'inactive' | 'suspended';
|
|
2
|
+
export type LTRoleType = 'superadmin' | 'admin' | 'member';
|
|
3
|
+
export interface LTUserRole {
|
|
4
|
+
role: string;
|
|
5
|
+
type: LTRoleType;
|
|
6
|
+
created_at: Date;
|
|
7
|
+
}
|
|
8
|
+
export interface LTUserRecord {
|
|
9
|
+
id: string;
|
|
10
|
+
external_id: string;
|
|
11
|
+
email: string | null;
|
|
12
|
+
display_name: string | null;
|
|
13
|
+
status: LTUserStatus;
|
|
14
|
+
metadata: Record<string, any> | null;
|
|
15
|
+
roles: LTUserRole[];
|
|
16
|
+
created_at: Date;
|
|
17
|
+
updated_at: Date;
|
|
18
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { LTMilestone } from './task';
|
|
2
|
+
/**
|
|
3
|
+
* Return this from a workflow when AI processing completes successfully.
|
|
4
|
+
*/
|
|
5
|
+
export interface LTReturn {
|
|
6
|
+
type: 'return';
|
|
7
|
+
data: Record<string, any>;
|
|
8
|
+
milestones?: LTMilestone[];
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Return this from a workflow to trigger human escalation.
|
|
12
|
+
* The LT interceptor will create an escalation record and
|
|
13
|
+
* pause the workflow until a human resolves it.
|
|
14
|
+
*/
|
|
15
|
+
export interface LTEscalation {
|
|
16
|
+
type: 'escalation';
|
|
17
|
+
data: Record<string, any>;
|
|
18
|
+
message: string;
|
|
19
|
+
role?: string;
|
|
20
|
+
priority?: 1 | 2 | 3 | 4;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Return this from a proxied activity to report incremental
|
|
24
|
+
* milestone progress. The interceptor appends these milestones
|
|
25
|
+
* to the task record and publishes them to NATS.
|
|
26
|
+
*/
|
|
27
|
+
export interface LTActivity<T = any> {
|
|
28
|
+
type: 'activity';
|
|
29
|
+
data: T;
|
|
30
|
+
milestones?: LTMilestone[];
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Union of all workflow return types.
|
|
34
|
+
*/
|
|
35
|
+
export type LTResult = LTReturn | LTEscalation | LTActivity;
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* YAML Workflow types — deterministic HotMesh workflows generated from MCP tool call sequences.
|
|
3
|
+
*/
|
|
4
|
+
export interface InputFieldMeta {
|
|
5
|
+
key: string;
|
|
6
|
+
type: string;
|
|
7
|
+
default?: unknown;
|
|
8
|
+
description: string;
|
|
9
|
+
classification: 'dynamic' | 'fixed' | 'wired';
|
|
10
|
+
source_step_index: number;
|
|
11
|
+
source_tool: string;
|
|
12
|
+
}
|
|
13
|
+
export type LTYamlWorkflowStatus = 'draft' | 'deployed' | 'active' | 'archived' | 'error';
|
|
14
|
+
export interface LTYamlWorkflowRecord {
|
|
15
|
+
id: string;
|
|
16
|
+
name: string;
|
|
17
|
+
description: string | null;
|
|
18
|
+
app_id: string;
|
|
19
|
+
app_version: string;
|
|
20
|
+
source_workflow_id: string | null;
|
|
21
|
+
source_workflow_type: string | null;
|
|
22
|
+
yaml_content: string;
|
|
23
|
+
graph_topic: string;
|
|
24
|
+
input_schema: Record<string, unknown>;
|
|
25
|
+
output_schema: Record<string, unknown>;
|
|
26
|
+
activity_manifest: ActivityManifestEntry[];
|
|
27
|
+
tags: string[];
|
|
28
|
+
status: LTYamlWorkflowStatus;
|
|
29
|
+
content_version: number;
|
|
30
|
+
deployed_content_version: number | null;
|
|
31
|
+
deployed_at: Date | null;
|
|
32
|
+
activated_at: Date | null;
|
|
33
|
+
input_field_meta?: InputFieldMeta[];
|
|
34
|
+
original_prompt: string | null;
|
|
35
|
+
category: string | null;
|
|
36
|
+
metadata: Record<string, unknown> | null;
|
|
37
|
+
created_at: Date;
|
|
38
|
+
updated_at: Date;
|
|
39
|
+
}
|
|
40
|
+
export interface LTYamlWorkflowVersionRecord {
|
|
41
|
+
id: string;
|
|
42
|
+
workflow_id: string;
|
|
43
|
+
version: number;
|
|
44
|
+
yaml_content: string;
|
|
45
|
+
activity_manifest: ActivityManifestEntry[];
|
|
46
|
+
input_schema: Record<string, unknown>;
|
|
47
|
+
output_schema: Record<string, unknown>;
|
|
48
|
+
change_summary: string | null;
|
|
49
|
+
created_at: Date;
|
|
50
|
+
}
|
|
51
|
+
export interface ActivityManifestEntry {
|
|
52
|
+
/** Activity id within the YAML graph (e.g., 'a1') */
|
|
53
|
+
activity_id: string;
|
|
54
|
+
/** Human-readable title */
|
|
55
|
+
title: string;
|
|
56
|
+
/** HotMesh activity type */
|
|
57
|
+
type: 'trigger' | 'worker' | 'hook';
|
|
58
|
+
/** Worker topic for routing (coarse stream grouping) */
|
|
59
|
+
topic: string;
|
|
60
|
+
/** Workflow name for dispatch routing within a shared topic stream */
|
|
61
|
+
workflow_name?: string;
|
|
62
|
+
/** How this activity executes at runtime */
|
|
63
|
+
tool_source: 'db' | 'mcp' | 'llm' | 'trigger' | 'transform' | 'signal';
|
|
64
|
+
/** For hook activities: the external signal topic (e.g., 'escalation.resolved.<graph>') */
|
|
65
|
+
hook_topic?: string;
|
|
66
|
+
/** For hook activities: the JSON Schema describing the expected signal payload */
|
|
67
|
+
signal_schema?: Record<string, unknown>;
|
|
68
|
+
/** Original MCP server ID that provided this tool (tool steps only) */
|
|
69
|
+
mcp_server_id?: string;
|
|
70
|
+
/** Tool name — MCP tool name or DB tool name (tool steps only) */
|
|
71
|
+
mcp_tool_name?: string;
|
|
72
|
+
/** Original arguments the LLM chose (stored for reference / defaults) */
|
|
73
|
+
tool_arguments?: Record<string, unknown>;
|
|
74
|
+
/** Input data mappings (e.g., { field: '{a1.output.data.x}' }) */
|
|
75
|
+
input_mappings: Record<string, string>;
|
|
76
|
+
/** Known output field names */
|
|
77
|
+
output_fields: string[];
|
|
78
|
+
/** LLM prompt template — use {field} for interpolation from input maps (llm steps only) */
|
|
79
|
+
prompt_template?: string;
|
|
80
|
+
/** LLM model identifier (llm steps only). Defaults to LLM_MODEL_SECONDARY from modules/defaults. */
|
|
81
|
+
model?: string;
|
|
82
|
+
/** Transform spec for reshape activities (transform steps only) */
|
|
83
|
+
transform_spec?: {
|
|
84
|
+
/** Source field to reshape (from prior step's output) */
|
|
85
|
+
sourceField: string;
|
|
86
|
+
/** Target field name for the reshaped output */
|
|
87
|
+
targetField: string;
|
|
88
|
+
/** Per-field mapping: target key → source key. null = computed. */
|
|
89
|
+
fieldMap: Record<string, string | null>;
|
|
90
|
+
/** Static defaults to inject into each reshaped item */
|
|
91
|
+
defaults?: Record<string, unknown>;
|
|
92
|
+
/** Derivation specs for computed fields (null in fieldMap) */
|
|
93
|
+
derivations?: Record<string, {
|
|
94
|
+
sourceKey: string;
|
|
95
|
+
strategy: 'slugify' | 'prefix' | 'template' | 'passthrough';
|
|
96
|
+
prefix?: string;
|
|
97
|
+
suffix?: string;
|
|
98
|
+
template?: string;
|
|
99
|
+
}>;
|
|
100
|
+
};
|
|
101
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const config_1 = require("vitest/config");
|
|
4
|
+
const dotenv_1 = require("dotenv");
|
|
5
|
+
// Load .env so API keys (OPENAI_API_KEY, etc.) are available via fork inheritance.
|
|
6
|
+
(0, dotenv_1.config)();
|
|
7
|
+
exports.default = (0, config_1.defineConfig)({
|
|
8
|
+
test: {
|
|
9
|
+
globals: true,
|
|
10
|
+
environment: 'node',
|
|
11
|
+
globalSetup: ['tests/setup/global.ts'],
|
|
12
|
+
setupFiles: ['tests/setup/clear-roles.ts'],
|
|
13
|
+
include: ['tests/**/*.test.ts'],
|
|
14
|
+
exclude: ['node_modules', 'build', 'tests/integration', 'tests/functional'],
|
|
15
|
+
testTimeout: 30_000,
|
|
16
|
+
hookTimeout: 60_000,
|
|
17
|
+
fileParallelism: false,
|
|
18
|
+
pool: 'forks',
|
|
19
|
+
env: {
|
|
20
|
+
NODE_ENV: 'test',
|
|
21
|
+
// ALWAYS use the test database — hardcoded to prevent .env or shell
|
|
22
|
+
// env from accidentally routing tests to the dev database.
|
|
23
|
+
POSTGRES_DB: 'longtail_test',
|
|
24
|
+
// HotMesh scout role TTL + loser retry interval.
|
|
25
|
+
// Default is 60s. We set 5s as a safety net in case role cleanup
|
|
26
|
+
// fails (e.g., crash). The primary fix is clearing stale roles
|
|
27
|
+
// in globalSetup before tests run.
|
|
28
|
+
HMSH_SCOUT_INTERVAL_SECONDS: '5',
|
|
29
|
+
HMSH_ROUTER_SCOUT_INTERVAL_SECONDS: '5',
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
});
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const config_1 = require("vitest/config");
|
|
4
|
+
const dotenv_1 = require("dotenv");
|
|
5
|
+
(0, dotenv_1.config)();
|
|
6
|
+
exports.default = (0, config_1.defineConfig)({
|
|
7
|
+
test: {
|
|
8
|
+
globals: true,
|
|
9
|
+
environment: 'node',
|
|
10
|
+
globalSetup: ['tests/setup/global.ts'],
|
|
11
|
+
setupFiles: ['tests/setup/clear-roles.ts'],
|
|
12
|
+
include: ['tests/integration/**/*.test.ts'],
|
|
13
|
+
exclude: ['node_modules', 'build'],
|
|
14
|
+
testTimeout: 120_000,
|
|
15
|
+
hookTimeout: 120_000,
|
|
16
|
+
fileParallelism: false,
|
|
17
|
+
pool: 'forks',
|
|
18
|
+
env: {
|
|
19
|
+
NODE_ENV: 'test',
|
|
20
|
+
POSTGRES_DB: 'longtail_test',
|
|
21
|
+
HMSH_SCOUT_INTERVAL_SECONDS: '5',
|
|
22
|
+
HMSH_ROUTER_SCOUT_INTERVAL_SECONDS: '5',
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
});
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LT_TASK_QUEUE = void 0;
|
|
4
|
+
exports.createClient = createClient;
|
|
5
|
+
const pg_1 = require("pg");
|
|
6
|
+
const hotmesh_1 = require("@hotmeshio/hotmesh");
|
|
7
|
+
const config_1 = require("../modules/config");
|
|
8
|
+
/** Default task queue for leaf workflows. */
|
|
9
|
+
exports.LT_TASK_QUEUE = 'long-tail-examples';
|
|
10
|
+
/**
|
|
11
|
+
* Create a Durable client for starting workflows and sending signals.
|
|
12
|
+
*/
|
|
13
|
+
function createClient() {
|
|
14
|
+
return new hotmesh_1.Durable.Client({
|
|
15
|
+
connection: {
|
|
16
|
+
class: pg_1.Client,
|
|
17
|
+
options: config_1.postgres_options,
|
|
18
|
+
},
|
|
19
|
+
});
|
|
20
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{j as e}from"./vendor-query-B2UbickB.js";import{c}from"./tasks-tRqClPns.js";import{m}from"./index-D8VH6K8B.js";import{d as o}from"./useNatsEvents-Xr43X1fG.js";import{u as d}from"./mcp-blCW6IL7.js";import"./vendor-react-Cw8Gy8NJ.js";import"./vendor-icons-ZTAKVwGc.js";function x({title:l,subtitle:a,stats:s,actions:i}){return e.jsxs("div",{className:"flex items-baseline justify-between mb-10",children:[e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx("h1",{className:"text-3xl font-light text-text-primary",children:l}),a&&e.jsx("span",{className:"text-sm text-text-tertiary font-light",children:a})]}),e.jsxs("div",{className:"flex items-center gap-5",children:[s==null?void 0:s.map(t=>e.jsxs("div",{className:"flex items-center gap-1.5 text-xs text-text-tertiary",children:[t.dotClass&&e.jsx("span",{className:`w-1.5 h-1.5 rounded-full ${t.dotClass}`}),e.jsx("span",{children:t.label}),e.jsx("span",{className:"font-medium text-text-secondary",children:t.value})]},t.label)),i&&e.jsx("div",{className:"flex items-center gap-3",children:i})]})]})}function g(){var n;o();const{data:l}=c({limit:1}),{data:a}=m({status:"pending",limit:1}),{data:s}=d(),i=((n=s==null?void 0:s.servers)==null?void 0:n.filter(r=>r.status==="connected").length)??0,t=s?`${i}/${s.total}`:"—";return e.jsx("div",{children:e.jsx(x,{title:"Admin",stats:[{label:"Tasks",value:(l==null?void 0:l.total)??"—"},{label:"Pending Escalations",value:(a==null?void 0:a.total)??"—",dotClass:"bg-status-pending"},{label:"MCP Servers",value:t},{label:"System",value:"Healthy",dotClass:"bg-status-success"}]})})}export{g as AdminDashboard};
|
|
2
|
+
//# sourceMappingURL=AdminDashboard-jfacvOC7.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AdminDashboard-jfacvOC7.js","sources":["../../src/components/common/layout/PageHeaderWithStats.tsx","../../src/pages/admin/AdminDashboard.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nexport interface InlineStat {\n label: string;\n value: string | number;\n dotClass?: string;\n}\n\ninterface PageHeaderWithStatsProps {\n title: string;\n subtitle?: string;\n stats?: InlineStat[];\n actions?: ReactNode;\n}\n\nexport function PageHeaderWithStats({\n title,\n subtitle,\n stats,\n actions,\n}: PageHeaderWithStatsProps) {\n return (\n <div className=\"flex items-baseline justify-between mb-10\">\n <div className=\"flex items-center gap-4\">\n <h1 className=\"text-3xl font-light text-text-primary\">{title}</h1>\n {subtitle && (\n <span className=\"text-sm text-text-tertiary font-light\">{subtitle}</span>\n )}\n </div>\n <div className=\"flex items-center gap-5\">\n {stats?.map((s) => (\n <div key={s.label} className=\"flex items-center gap-1.5 text-xs text-text-tertiary\">\n {s.dotClass && <span className={`w-1.5 h-1.5 rounded-full ${s.dotClass}`} />}\n <span>{s.label}</span>\n <span className=\"font-medium text-text-secondary\">{s.value}</span>\n </div>\n ))}\n {actions && <div className=\"flex items-center gap-3\">{actions}</div>}\n </div>\n </div>\n );\n}\n","import { useTasks } from '../../api/tasks';\nimport { useEscalations } from '../../api/escalations';\nimport { useEscalationListEvents } from '../../hooks/useNatsEvents';\nimport { useMcpServers } from '../../api/mcp';\nimport { PageHeaderWithStats } from '../../components/common/layout/PageHeaderWithStats';\n\nexport function AdminDashboard() {\n useEscalationListEvents();\n const { data: taskData } = useTasks({ limit: 1 });\n const { data: pendingEsc } = useEscalations({ status: 'pending', limit: 1 });\n const { data: mcpData } = useMcpServers();\n\n const connectedServers =\n mcpData?.servers?.filter((s) => s.status === 'connected').length ?? 0;\n const mcpLabel = mcpData ? `${connectedServers}/${mcpData.total}` : '—';\n\n return (\n <div>\n <PageHeaderWithStats\n title=\"Admin\"\n stats={[\n { label: 'Tasks', value: taskData?.total ?? '—' },\n { label: 'Pending Escalations', value: pendingEsc?.total ?? '—', dotClass: 'bg-status-pending' },\n { label: 'MCP Servers', value: mcpLabel },\n { label: 'System', value: 'Healthy', dotClass: 'bg-status-success' },\n ]}\n />\n </div>\n );\n}\n"],"names":["PageHeaderWithStats","title","subtitle","stats","actions","jsxs","jsx","s","AdminDashboard","useEscalationListEvents","taskData","useTasks","pendingEsc","useEscalations","mcpData","useMcpServers","connectedServers","_a","mcpLabel"],"mappings":"iRAeO,SAASA,EAAoB,CAClC,MAAAC,EACA,SAAAC,EACA,MAAAC,EACA,QAAAC,CACF,EAA6B,CAC3B,OACEC,EAAAA,KAAC,MAAA,CAAI,UAAU,4CACb,SAAA,CAAAA,EAAAA,KAAC,MAAA,CAAI,UAAU,0BACb,SAAA,CAAAC,EAAAA,IAAC,KAAA,CAAG,UAAU,wCAAyC,SAAAL,EAAM,EAC5DC,GACCI,EAAAA,IAAC,OAAA,CAAK,UAAU,wCAAyC,SAAAJ,CAAA,CAAS,CAAA,EAEtE,EACAG,EAAAA,KAAC,MAAA,CAAI,UAAU,0BACZ,SAAA,CAAAF,GAAA,YAAAA,EAAO,IAAKI,GACXF,EAAAA,KAAC,MAAA,CAAkB,UAAU,uDAC1B,SAAA,CAAAE,EAAE,UAAYD,MAAC,OAAA,CAAK,UAAW,4BAA4BC,EAAE,QAAQ,GAAI,EAC1ED,EAAAA,IAAC,OAAA,CAAM,SAAAC,EAAE,KAAA,CAAM,EACfD,EAAAA,IAAC,OAAA,CAAK,UAAU,kCAAmC,WAAE,KAAA,CAAM,CAAA,GAHnDC,EAAE,KAIZ,GAEDH,GAAWE,EAAAA,IAAC,MAAA,CAAI,UAAU,0BAA2B,SAAAF,CAAA,CAAQ,CAAA,CAAA,CAChE,CAAA,EACF,CAEJ,CCnCO,SAASI,GAAiB,OAC/BC,EAAA,EACA,KAAM,CAAE,KAAMC,CAAA,EAAaC,EAAS,CAAE,MAAO,EAAG,EAC1C,CAAE,KAAMC,CAAA,EAAeC,EAAe,CAAE,OAAQ,UAAW,MAAO,EAAG,EACrE,CAAE,KAAMC,CAAA,EAAYC,EAAA,EAEpBC,IACJC,EAAAH,GAAA,YAAAA,EAAS,UAAT,YAAAG,EAAkB,OAAQV,GAAMA,EAAE,SAAW,aAAa,SAAU,EAChEW,EAAWJ,EAAU,GAAGE,CAAgB,IAAIF,EAAQ,KAAK,GAAK,IAEpE,aACG,MAAA,CACC,SAAAR,EAAAA,IAACN,EAAA,CACC,MAAM,QACN,MAAO,CACL,CAAE,MAAO,QAAS,OAAOU,GAAA,YAAAA,EAAU,QAAS,GAAA,EAC5C,CAAE,MAAO,sBAAuB,OAAOE,GAAA,YAAAA,EAAY,QAAS,IAAK,SAAU,mBAAA,EAC3E,CAAE,MAAO,cAAe,MAAOM,CAAA,EAC/B,CAAE,MAAO,SAAU,MAAO,UAAW,SAAU,mBAAA,CAAoB,CACrE,CAAA,EAEJ,CAEJ"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{j as e,a as l}from"./vendor-query-B2UbickB.js";import{f as q,c as le,g as oe,h as re,i as ce,j as de,k as ue,l as me,m as xe}from"./index-D8VH6K8B.js";import{d as ge}from"./useNatsEvents-Xr43X1fG.js";import{u as he}from"./roles-ZNrqqnQl.js";import{u as pe}from"./useFilterParams-BaXUAkYK.js";import{D as fe}from"./DataTable-BDn1WBHS.js";import{S as be}from"./StickyPagination-F9FZsRy9.js";import{M as D}from"./Modal-B4rbIVAn.js";import{P as ye}from"./PageHeader-CpWFly5S.js";import{P as je}from"./constants-CgaZfe5d.js";import{u as H,C as G}from"./CustomDurationPicker-CAninCbl.js";import{u as Ce}from"./users-tMvNyOo8.js";import{E as ve,a as Se}from"./escalation-columns-D6aqStaY.js";import{R as ke,a as Ne}from"./RowActions-Dg-Fsm5O.js";import{m as Pe}from"./vendor-icons-ZTAKVwGc.js";import{b as we}from"./vendor-react-Cw8Gy8NJ.js";import"./EmptyState-2CmV-IaS.js";import"./settings-eBRSE0mQ.js";import"./FilterBar-Ck4K4rzu.js";import"./PriorityBadge-DfQY9St9.js";import"./RolePill-BTPa8L-P.js";import"./WorkflowPill-CCDSVaQj.js";import"./TimestampCell-DoWMKg6w.js";import"./TimeAgo-UPG6DoH8.js";import"./format-gXZXQ-HJ.js";import"./escalation-qalymbKB.js";const Ae=s=>s.isPriorityPending||s.isClaimPending||s.isAssignPending||s.isEscalatePending||s.isTriagePending;function Ee(s){const i=Ae(s),d=H();return e.jsxs("div",{className:"flex flex-wrap items-center gap-3 px-4 py-3 bg-accent/5 border border-accent/20 rounded-lg mb-4",children:[e.jsxs("span",{className:"text-xs font-medium text-accent",children:[s.selectedCount," selected"]}),e.jsx("div",{className:"w-px h-5 bg-surface-border"}),e.jsxs("select",{onChange:t=>{t.target.value&&(s.onSetPriority(parseInt(t.target.value)),t.target.value="")},disabled:i,className:"select text-xs py-1.5",defaultValue:"",children:[e.jsx("option",{value:"",disabled:!0,children:"Priority..."}),je.map(t=>e.jsx("option",{value:t.value,children:t.label},t.value))]}),e.jsxs("select",{onChange:t=>{t.target.value&&(s.onClaim(parseInt(t.target.value)),t.target.value="")},disabled:i,className:"select text-xs py-1.5",defaultValue:"",children:[e.jsx("option",{value:"",disabled:!0,children:"Claim for..."}),d.map(t=>e.jsx("option",{value:t.value,children:t.label},t.value))]}),e.jsx("button",{onClick:s.onAssign,disabled:i,className:"btn-secondary text-xs py-1.5",children:s.isAssignPending?"Assigning...":"Assign to..."}),s.availableRoles.length>0&&e.jsxs("select",{onChange:t=>{t.target.value&&(s.onEscalate(t.target.value),t.target.value="")},disabled:i,className:"select text-xs py-1.5",defaultValue:"",children:[e.jsx("option",{value:"",disabled:!0,children:"Escalate to..."}),s.availableRoles.map(t=>e.jsx("option",{value:t,children:t},t))]}),e.jsx("button",{onClick:s.onTriage,disabled:i,className:"btn-secondary text-xs py-1.5",children:s.isTriagePending?"Triaging...":"Triage"}),e.jsx("div",{className:"flex-1"}),e.jsx("button",{onClick:s.onClearSelection,className:"text-xs text-text-tertiary hover:text-text-primary transition-colors",children:"Clear"}),i&&e.jsx("span",{className:"text-xs text-text-tertiary animate-pulse",children:"Processing..."})]})}function Te({open:s,onClose:i,selectedCount:d,selectedRoles:t,onSubmit:C,isPending:o}){const{isSuperAdmin:p}=q(),r=H(),[b,u]=l.useState("user"),[x,v]=l.useState(null),[k,_]=l.useState(""),[S,I]=l.useState("30"),[c,g]=l.useState(0),O=l.useCallback(n=>g(n),[]),E=!p&&t.length===1?t[0]:void 0,{data:y,isLoading:N}=Ce({role:E,status:"active",limit:200}),P=l.useMemo(()=>{const n=(y==null?void 0:y.users)??[];if(!k.trim())return n;const f=k.toLowerCase();return n.filter(w=>{var h,R;return((h=w.display_name)==null?void 0:h.toLowerCase().includes(f))||((R=w.email)==null?void 0:R.toLowerCase().includes(f))})},[y==null?void 0:y.users,k]),T=()=>{u("user"),v(null),_(""),I("30"),g(0),i()},z=n=>{v(n),u("duration")},B=()=>{u("user")},F=()=>{if(!x)return;const n=S==="custom"?c:parseInt(S);!n||n<=0||C(x.id,n)};return e.jsx(D,{open:s,onClose:T,title:"Assign Escalations",children:e.jsxs("div",{className:"space-y-4",children:[b==="user"&&e.jsxs(e.Fragment,{children:[e.jsxs("p",{className:"text-sm text-text-secondary",children:["Select a user to assign"," ",e.jsx("span",{className:"font-medium text-text-primary",children:d})," ","escalation(s) to:"]}),e.jsx("input",{type:"text",value:k,onChange:n=>_(n.target.value),placeholder:"Search by name or email...",className:"input text-xs w-full",autoFocus:!0}),e.jsxs("div",{className:"max-h-60 overflow-y-auto border border-surface-border rounded-lg divide-y divide-surface-border",children:[N&&e.jsx("p",{className:"text-xs text-text-tertiary p-3",children:"Loading users..."}),!N&&P.length===0&&e.jsx("p",{className:"text-xs text-text-tertiary p-3",children:"No users found"}),P.map(n=>e.jsxs("button",{onClick:()=>z(n),className:"w-full text-left px-3 py-2 hover:bg-surface-hover transition-colors",children:[e.jsx("p",{className:"text-xs font-medium text-text-primary",children:n.display_name||n.external_id}),n.email&&e.jsx("p",{className:"text-[10px] text-text-tertiary",children:n.email})]},n.id))]}),e.jsx("div",{className:"flex justify-end pt-2",children:e.jsx("button",{onClick:T,className:"btn-secondary text-xs",children:"Cancel"})})]}),b==="duration"&&x&&e.jsxs(e.Fragment,{children:[e.jsxs("p",{className:"text-sm text-text-secondary",children:["Assign to"," ",e.jsx("span",{className:"font-medium text-text-primary",children:x.display_name||x.external_id})," ","for:"]}),e.jsxs("select",{value:S,onChange:n=>{I(n.target.value),g(0)},className:"select w-full text-sm",children:[r.map(n=>e.jsx("option",{value:n.value,children:n.label},n.value)),e.jsx("option",{value:"custom",children:"Other..."})]}),S==="custom"&&e.jsx(G,{onChange:O,autoFocus:!0}),e.jsxs("div",{className:"flex justify-end gap-3 pt-2",children:[e.jsx("button",{onClick:B,className:"btn-secondary text-xs",children:"Back"}),e.jsx("button",{onClick:F,disabled:o,className:"btn-primary text-xs",children:o?"Assigning...":"Assign"})]})]})]})})}function Be({open:s,onClose:i,selectedCount:d,onSubmit:t,isPending:C}){const[o,p]=l.useState(""),r=()=>{t(o||void 0)};return e.jsx(D,{open:s,onClose:i,title:"Submit for AI Triage",children:e.jsxs("div",{className:"space-y-4",children:[e.jsxs("p",{className:"text-sm text-text-secondary",children:["Submit ",e.jsx("span",{className:"font-medium text-text-primary",children:d})," escalation(s) for AI triage? The triage orchestrator will take over resolution."]}),e.jsxs("div",{children:[e.jsxs("label",{className:"text-xs font-medium text-text-secondary block mb-1",children:["Triage hint ",e.jsx("span",{className:"text-text-tertiary",children:"(optional)"})]}),e.jsx("input",{type:"text",value:o,onChange:b=>p(b.target.value),placeholder:"e.g., image_orientation",className:"input text-xs font-mono w-full"}),e.jsx("p",{className:"text-[10px] text-text-tertiary mt-1",children:"Guides the triage workflow on what remediation to apply"})]}),e.jsxs("div",{className:"flex justify-end gap-3 pt-2",children:[e.jsx("button",{onClick:i,className:"btn-secondary text-xs",children:"Cancel"}),e.jsx("button",{onClick:r,disabled:C,className:"btn-primary text-xs",children:C?"Submitting...":"Submit for Triage"})]})]})})}function M(s,i,d){return t=>{s.mutate(t,{onSuccess:()=>{i(),d==null||d()}})}}function Me(s){const i=()=>[...s.selectedIds];return{handleSetPriority:r=>{M(s.setPriority,s.clearSelection)({ids:i(),priority:r})},handleBulkClaim:r=>{M(s.bulkClaim,s.clearSelection)({ids:i(),durationMinutes:r})},handleBulkEscalate:r=>{M(s.bulkEscalate,s.clearSelection)({ids:i(),targetRole:r})},handleBulkTriage:r=>{M(s.bulkTriage,s.clearSelection,s.closeTriageModal)({ids:i(),hint:r})},handleBulkAssign:(r,b)=>{M(s.bulkAssign,s.clearSelection,s.closeAssignModal)({ids:i(),targetUserId:r,durationMinutes:b})}}}function it(){ge();const s=we(),{user:i,isSuperAdmin:d}=q(),{filters:t,setFilter:C,pagination:o,sort:p,setSort:r}=pe({filters:{role:"",type:"",priority:"",status:"available"}}),b=H(),[u,x]=l.useState(null),[v,k]=l.useState("30"),[_,S]=l.useState(0),I=l.useCallback(a=>S(a),[]),[c,g]=l.useState(new Set),[O,E]=l.useState(!1),[y,N]=l.useState(!1),P=le(),T=oe(),z=re(),B=ce(),F=de(),n=ue(),{data:f}=he(),{data:w}=me();l.useEffect(()=>{g(new Set)},[t.role,t.type,t.priority,t.status,o.page,o.pageSize]);const h=t.status||"",R=h==="available"||h==="claimed"?"pending":h==="resolved"?"resolved":void 0,{data:A,isLoading:Y,error:L}=xe({status:R,role:t.role||void 0,type:t.type||void 0,priority:t.priority?parseInt(t.priority):void 0,limit:o.pageSize,offset:o.offset,sort_by:p.sort_by||void 0,order:p.sort_by?p.order:void 0}),V=new Date,U=(A==null?void 0:A.escalations)??[],j=h==="available"?U.filter(a=>!a.assigned_to||!a.assigned_until||new Date(a.assigned_until)<=V):h==="claimed"?U.filter(a=>a.assigned_to&&a.assigned_until&&new Date(a.assigned_until)>V):U,$=h==="available"||h==="claimed"?j.length:(A==null?void 0:A.total)??0,J=d||(i==null?void 0:i.roles.some(a=>a.type==="admin")),K=l.useMemo(()=>{const a=new Set;for(const m of j)c.has(m.id)&&a.add(m.role);return[...a]},[j,c]),Q=l.useCallback(()=>g(new Set),[]),W=()=>{if(!u)return;const a=v==="custom"?_:parseInt(v);!a||a<=0||P.mutate({id:u.id,durationMinutes:a},{onSuccess:()=>{x(null),s(`/escalations/detail/${u.id}`)}})},{handleSetPriority:X,handleBulkClaim:Z,handleBulkEscalate:ee,handleBulkTriage:te,handleBulkAssign:se}=Me({selectedIds:c,clearSelection:Q,setPriority:T,bulkClaim:z,bulkEscalate:F,bulkTriage:n,bulkAssign:B,closeTriageModal:()=>E(!1),closeAssignModal:()=>N(!1)}),ae=a=>{const m=new Set(c);m.has(a)?m.delete(a):m.add(a),g(m)},ne=()=>{c.size===j.length?g(new Set):g(new Set(j.map(a=>a.id)))},ie=[J?{key:"select",label:e.jsx("input",{type:"checkbox",checked:j.length>0&&c.size===j.length,onChange:ne,className:"rounded"}),render:a=>e.jsx("input",{type:"checkbox",checked:c.has(a.id),onChange:m=>{m.stopPropagation(),ae(a.id)},onClick:m=>m.stopPropagation(),className:"rounded"}),className:"w-10"}:{key:"spacer",label:"",render:()=>null,className:"w-10"},...ve,{key:"actions",label:"",render:a=>e.jsx(ke,{children:e.jsx(Ne,{icon:Pe,title:"Claim escalation",onClick:()=>x(a)})}),className:"w-16 text-right"}];return e.jsxs("div",{children:[e.jsx(ye,{title:"All Escalations"}),e.jsx(Se,{filters:t,setFilter:C,roles:(f==null?void 0:f.roles)??[],types:(w==null?void 0:w.types)??[],showStatus:!0}),c.size>0&&e.jsx(Ee,{selectedCount:c.size,onClearSelection:()=>g(new Set),onSetPriority:X,onClaim:Z,onAssign:()=>N(!0),onEscalate:ee,onTriage:()=>E(!0),isPriorityPending:T.isPending,isClaimPending:z.isPending,isAssignPending:B.isPending,isEscalatePending:F.isPending,isTriagePending:n.isPending,availableRoles:(f==null?void 0:f.roles)??[]}),L&&e.jsx("div",{className:"mb-4 px-4 py-3 rounded-md bg-status-error/10 border border-status-error/20 text-xs text-status-error",children:L.message==="Session expired"?"Your session has expired. Please log in again.":`Failed to load escalations: ${L.message}`}),e.jsx(fe,{columns:ie,data:j,keyFn:a=>a.id,onRowClick:a=>s(`/escalations/detail/${a.id}`,{state:{from:"/escalations/available"}}),isLoading:Y,emptyMessage:L?"Unable to load data":"No available escalations",sort:p,onSort:r}),e.jsx(be,{page:o.page,totalPages:o.totalPages($),onPageChange:o.setPage,total:$,pageSize:o.pageSize,onPageSizeChange:o.setPageSize}),e.jsx(D,{open:!!u,onClose:()=>x(null),title:"Claim Escalation",children:e.jsxs("div",{className:"space-y-4",children:[e.jsxs("p",{className:"text-sm text-text-secondary",children:["Claim ",e.jsx("span",{className:"font-medium text-text-primary",children:u==null?void 0:u.type})," for:"]}),e.jsxs("select",{value:v,onChange:a=>{k(a.target.value),S(0)},className:"select w-full text-sm",children:[b.map(a=>e.jsx("option",{value:a.value,children:a.label},a.value)),e.jsx("option",{value:"custom",children:"Other..."})]}),v==="custom"&&e.jsx(G,{onChange:I,autoFocus:!0}),e.jsxs("div",{className:"flex justify-end gap-3 pt-2",children:[e.jsx("button",{onClick:()=>x(null),className:"btn-secondary text-xs",children:"Cancel"}),e.jsx("button",{onClick:W,className:"btn-primary text-xs",disabled:P.isPending,children:P.isPending?"Claiming...":"Claim"})]})]})}),e.jsx(Be,{open:O,onClose:()=>E(!1),selectedCount:c.size,onSubmit:te,isPending:n.isPending}),e.jsx(Te,{open:y,onClose:()=>N(!1),selectedCount:c.size,selectedRoles:K,onSubmit:se,isPending:B.isPending})]})}export{it as AvailableEscalationsPage};
|
|
2
|
+
//# sourceMappingURL=AvailableEscalationsPage-BglLDoT8.js.map
|