@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,39 @@
|
|
|
1
|
+
import type { ExecutionExportOptions, WorkflowExecution } from '@hotmeshio/hotmesh/build/types/exporter';
|
|
2
|
+
import type { LTExportOptions, LTWorkflowExport } from '../../types';
|
|
3
|
+
import type { JobListParams, JobListResult } from './types';
|
|
4
|
+
/**
|
|
5
|
+
* Export the full workflow state for a given workflow (raw HotMesh format).
|
|
6
|
+
*
|
|
7
|
+
* Delegates to the HotMesh Durable `handle.export()` method and
|
|
8
|
+
* normalises the result into an `LTWorkflowExport`.
|
|
9
|
+
*/
|
|
10
|
+
export declare function exportWorkflow(workflowId: string, taskQueue: string, workflowName: string, options?: LTExportOptions): Promise<LTWorkflowExport>;
|
|
11
|
+
/**
|
|
12
|
+
* Return only the status semaphore for a workflow.
|
|
13
|
+
* 0 = complete, negative = interrupted.
|
|
14
|
+
*/
|
|
15
|
+
export declare function getWorkflowStatus(workflowId: string, taskQueue: string, workflowName: string): Promise<{
|
|
16
|
+
workflow_id: string;
|
|
17
|
+
status: number;
|
|
18
|
+
}>;
|
|
19
|
+
/**
|
|
20
|
+
* Export workflow state as a structured execution event history.
|
|
21
|
+
*
|
|
22
|
+
* Delegates to HotMesh's native `handle.exportExecution()` which produces
|
|
23
|
+
* typed events with ISO timestamps, durations, event cross-references,
|
|
24
|
+
* system/user classification, and a summary.
|
|
25
|
+
*/
|
|
26
|
+
export declare function exportWorkflowExecution(workflowId: string, taskQueue: string, workflowName: string, options?: ExecutionExportOptions): Promise<WorkflowExecution>;
|
|
27
|
+
/**
|
|
28
|
+
* Return the current job state of a workflow.
|
|
29
|
+
* If the workflow is complete this is also the output.
|
|
30
|
+
*/
|
|
31
|
+
export declare function getWorkflowState(workflowId: string, taskQueue: string, workflowName: string): Promise<{
|
|
32
|
+
workflow_id: string;
|
|
33
|
+
state: Record<string, any>;
|
|
34
|
+
}>;
|
|
35
|
+
/**
|
|
36
|
+
* List workflow jobs from durable.jobs where entity IS NOT NULL.
|
|
37
|
+
* Returns paginated results sorted by active first, then created_at DESC.
|
|
38
|
+
*/
|
|
39
|
+
export declare function listJobs(params: JobListParams): Promise<JobListResult>;
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.exportWorkflow = exportWorkflow;
|
|
4
|
+
exports.getWorkflowStatus = getWorkflowStatus;
|
|
5
|
+
exports.exportWorkflowExecution = exportWorkflowExecution;
|
|
6
|
+
exports.getWorkflowState = getWorkflowState;
|
|
7
|
+
exports.listJobs = listJobs;
|
|
8
|
+
const db_1 = require("../db");
|
|
9
|
+
const client_1 = require("./client");
|
|
10
|
+
const post_process_1 = require("./post-process");
|
|
11
|
+
/** Error thrown when a workflow job is not found (expired or never existed). */
|
|
12
|
+
class WorkflowNotFoundError extends Error {
|
|
13
|
+
constructor(workflowId) {
|
|
14
|
+
super(`${workflowId} Not Found`);
|
|
15
|
+
this.status = 404;
|
|
16
|
+
this.name = 'WorkflowNotFoundError';
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Export the full workflow state for a given workflow (raw HotMesh format).
|
|
21
|
+
*
|
|
22
|
+
* Delegates to the HotMesh Durable `handle.export()` method and
|
|
23
|
+
* normalises the result into an `LTWorkflowExport`.
|
|
24
|
+
*/
|
|
25
|
+
async function exportWorkflow(workflowId, taskQueue, workflowName, options) {
|
|
26
|
+
try {
|
|
27
|
+
const handle = await (0, client_1.getHandle)(taskQueue, workflowName, workflowId);
|
|
28
|
+
const raw = await handle.export({ ...options, enrich_inputs: true });
|
|
29
|
+
return {
|
|
30
|
+
workflow_id: workflowId,
|
|
31
|
+
data: raw.data,
|
|
32
|
+
state: raw.state,
|
|
33
|
+
status: raw.status,
|
|
34
|
+
timeline: raw.timeline,
|
|
35
|
+
transitions: raw.transitions,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
catch (err) {
|
|
39
|
+
if (err instanceof WorkflowNotFoundError)
|
|
40
|
+
throw err;
|
|
41
|
+
throw new WorkflowNotFoundError(workflowId);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Return only the status semaphore for a workflow.
|
|
46
|
+
* 0 = complete, negative = interrupted.
|
|
47
|
+
*/
|
|
48
|
+
async function getWorkflowStatus(workflowId, taskQueue, workflowName) {
|
|
49
|
+
try {
|
|
50
|
+
const handle = await (0, client_1.getHandle)(taskQueue, workflowName, workflowId);
|
|
51
|
+
const status = await handle.status();
|
|
52
|
+
return { workflow_id: workflowId, status };
|
|
53
|
+
}
|
|
54
|
+
catch {
|
|
55
|
+
throw new WorkflowNotFoundError(workflowId);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Export workflow state as a structured execution event history.
|
|
60
|
+
*
|
|
61
|
+
* Delegates to HotMesh's native `handle.exportExecution()` which produces
|
|
62
|
+
* typed events with ISO timestamps, durations, event cross-references,
|
|
63
|
+
* system/user classification, and a summary.
|
|
64
|
+
*/
|
|
65
|
+
async function exportWorkflowExecution(workflowId, taskQueue, workflowName, options) {
|
|
66
|
+
try {
|
|
67
|
+
const handle = await (0, client_1.getHandle)(taskQueue, workflowName, workflowId);
|
|
68
|
+
const execution = await handle.exportExecution({ ...options, enrich_inputs: true });
|
|
69
|
+
return (0, post_process_1.postProcessExecution)(execution);
|
|
70
|
+
}
|
|
71
|
+
catch (err) {
|
|
72
|
+
if (err instanceof WorkflowNotFoundError)
|
|
73
|
+
throw err;
|
|
74
|
+
throw new WorkflowNotFoundError(workflowId);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Return the current job state of a workflow.
|
|
79
|
+
* If the workflow is complete this is also the output.
|
|
80
|
+
*/
|
|
81
|
+
async function getWorkflowState(workflowId, taskQueue, workflowName) {
|
|
82
|
+
try {
|
|
83
|
+
const handle = await (0, client_1.getHandle)(taskQueue, workflowName, workflowId);
|
|
84
|
+
const state = await handle.state(true);
|
|
85
|
+
return { workflow_id: workflowId, state };
|
|
86
|
+
}
|
|
87
|
+
catch {
|
|
88
|
+
throw new WorkflowNotFoundError(workflowId);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
const JOB_SORTABLE_COLUMNS = new Set(['created_at', 'updated_at', 'entity', 'status']);
|
|
92
|
+
function buildJobOrderBy(sortBy, order) {
|
|
93
|
+
if (!sortBy || !JOB_SORTABLE_COLUMNS.has(sortBy)) {
|
|
94
|
+
return '(CASE WHEN j.status > 0 THEN 0 ELSE 1 END), j.created_at DESC';
|
|
95
|
+
}
|
|
96
|
+
const dir = order === 'asc' ? 'ASC' : 'DESC';
|
|
97
|
+
return `j.${sortBy} ${dir}`;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* List workflow jobs from durable.jobs where entity IS NOT NULL.
|
|
101
|
+
* Returns paginated results sorted by active first, then created_at DESC.
|
|
102
|
+
*/
|
|
103
|
+
async function listJobs(params) {
|
|
104
|
+
const limit = Math.min(params.limit ?? 20, 100);
|
|
105
|
+
const offset = params.offset ?? 0;
|
|
106
|
+
const pool = (0, db_1.getPool)();
|
|
107
|
+
const conditions = ['j.entity IS NOT NULL'];
|
|
108
|
+
const values = [];
|
|
109
|
+
let idx = 1;
|
|
110
|
+
if (params.registered === 'true') {
|
|
111
|
+
conditions.push(`EXISTS (SELECT 1 FROM lt_config_workflows c WHERE c.workflow_type = j.entity)`);
|
|
112
|
+
}
|
|
113
|
+
else if (params.registered === 'false') {
|
|
114
|
+
conditions.push(`NOT EXISTS (SELECT 1 FROM lt_config_workflows c WHERE c.workflow_type = j.entity)`);
|
|
115
|
+
}
|
|
116
|
+
if (params.entity) {
|
|
117
|
+
const entities = params.entity.split(',').map((e) => e.trim()).filter(Boolean);
|
|
118
|
+
if (entities.length === 1) {
|
|
119
|
+
conditions.push(`j.entity = $${idx++}`);
|
|
120
|
+
values.push(entities[0]);
|
|
121
|
+
}
|
|
122
|
+
else if (entities.length > 1) {
|
|
123
|
+
conditions.push(`j.entity = ANY($${idx++})`);
|
|
124
|
+
values.push(entities);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
if (params.search) {
|
|
128
|
+
conditions.push(`j.key ILIKE $${idx++}`);
|
|
129
|
+
values.push(`%${params.search}%`);
|
|
130
|
+
}
|
|
131
|
+
if (params.status === 'running') {
|
|
132
|
+
conditions.push('j.status > 0');
|
|
133
|
+
}
|
|
134
|
+
else if (params.status === 'completed') {
|
|
135
|
+
conditions.push('j.status = 0');
|
|
136
|
+
}
|
|
137
|
+
else if (params.status === 'failed') {
|
|
138
|
+
conditions.push('j.status < 0');
|
|
139
|
+
}
|
|
140
|
+
const where = conditions.join(' AND ');
|
|
141
|
+
const [countResult, dataResult] = await Promise.all([
|
|
142
|
+
pool.query(`SELECT COUNT(*) FROM durable.jobs j WHERE ${where}`, values),
|
|
143
|
+
pool.query(`SELECT j.key, j.entity, j.status, j.is_live, j.created_at, j.updated_at
|
|
144
|
+
FROM durable.jobs j
|
|
145
|
+
WHERE ${where}
|
|
146
|
+
ORDER BY ${buildJobOrderBy(params.sort_by, params.order)}
|
|
147
|
+
LIMIT $${idx++} OFFSET $${idx++}`, [...values, limit, offset]),
|
|
148
|
+
]);
|
|
149
|
+
const jobs = dataResult.rows.map((row) => ({
|
|
150
|
+
workflow_id: row.key.replace('hmsh:durable:j:', ''),
|
|
151
|
+
entity: row.entity,
|
|
152
|
+
status: (row.status > 0 ? 'running' : row.status === 0 ? 'completed' : 'failed'),
|
|
153
|
+
is_live: row.is_live,
|
|
154
|
+
created_at: row.created_at,
|
|
155
|
+
updated_at: row.updated_at,
|
|
156
|
+
}));
|
|
157
|
+
return { jobs, total: parseInt(countResult.rows[0].count, 10) };
|
|
158
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { WorkflowExecution } from '@hotmeshio/hotmesh/build/types/exporter';
|
|
2
|
+
/**
|
|
3
|
+
* Post-process execution events to improve timeline visualization:
|
|
4
|
+
*
|
|
5
|
+
* 1. Fire-and-forget child starts (`startChild`): set duration_ms = 0
|
|
6
|
+
* so they render as a narrow completed band instead of pending.
|
|
7
|
+
*
|
|
8
|
+
* 2. Completed signals (`waitFor` that received a signal): split into
|
|
9
|
+
* signal_wait_started + workflow_execution_signaled pair so the
|
|
10
|
+
* timeline can show the full wait duration as a band.
|
|
11
|
+
*
|
|
12
|
+
* 3. Running workflows: inject a pending signal_wait_started event
|
|
13
|
+
* after any fire-and-forget start that lacks a matching signal,
|
|
14
|
+
* so the timeline shows a growing orange "pending" band.
|
|
15
|
+
*/
|
|
16
|
+
export declare function postProcessExecution(execution: WorkflowExecution): WorkflowExecution;
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.postProcessExecution = postProcessExecution;
|
|
4
|
+
/**
|
|
5
|
+
* Post-process execution events to improve timeline visualization:
|
|
6
|
+
*
|
|
7
|
+
* 1. Fire-and-forget child starts (`startChild`): set duration_ms = 0
|
|
8
|
+
* so they render as a narrow completed band instead of pending.
|
|
9
|
+
*
|
|
10
|
+
* 2. Completed signals (`waitFor` that received a signal): split into
|
|
11
|
+
* signal_wait_started + workflow_execution_signaled pair so the
|
|
12
|
+
* timeline can show the full wait duration as a band.
|
|
13
|
+
*
|
|
14
|
+
* 3. Running workflows: inject a pending signal_wait_started event
|
|
15
|
+
* after any fire-and-forget start that lacks a matching signal,
|
|
16
|
+
* so the timeline shows a growing orange "pending" band.
|
|
17
|
+
*/
|
|
18
|
+
function postProcessExecution(execution) {
|
|
19
|
+
const events = execution.events.map((e) => ({
|
|
20
|
+
...e,
|
|
21
|
+
attributes: { ...e.attributes },
|
|
22
|
+
}));
|
|
23
|
+
const isRunning = !events.some((e) => e.event_type === 'workflow_execution_completed' ||
|
|
24
|
+
e.event_type === 'workflow_execution_failed');
|
|
25
|
+
let nextId = events.length > 0 ? Math.max(...events.map((e) => e.event_id)) + 1 : 1;
|
|
26
|
+
const toAdd = [];
|
|
27
|
+
// Enrich ltSignalParent activities with the workflow result as their payload.
|
|
28
|
+
// The activity returns void, but it sends execution.result to the parent --
|
|
29
|
+
// surfacing this makes the signal content visible in the UI.
|
|
30
|
+
let enriched = false;
|
|
31
|
+
if (execution.result) {
|
|
32
|
+
for (const evt of events) {
|
|
33
|
+
const attrs = evt.attributes;
|
|
34
|
+
if (evt.event_type === 'activity_task_completed' &&
|
|
35
|
+
attrs.activity_type === 'ltSignalParent' &&
|
|
36
|
+
(attrs.result === undefined || attrs.result === null)) {
|
|
37
|
+
attrs.result = execution.result;
|
|
38
|
+
enriched = true;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
// Existing signal completions and wait-start events (keyed by timeline_key)
|
|
43
|
+
const signalKeys = new Set(events
|
|
44
|
+
.filter((e) => e.event_type === 'workflow_execution_signaled')
|
|
45
|
+
.map((e) => e.attributes.timeline_key)
|
|
46
|
+
.filter(Boolean));
|
|
47
|
+
const existingWaitStarts = new Set(events
|
|
48
|
+
.filter((e) => e.event_type === 'signal_wait_started')
|
|
49
|
+
.map((e) => e.attributes.timeline_key)
|
|
50
|
+
.filter(Boolean));
|
|
51
|
+
for (const evt of events) {
|
|
52
|
+
const attrs = evt.attributes;
|
|
53
|
+
// 1. Fire-and-forget starts: completed instantly
|
|
54
|
+
if (evt.event_type === 'child_workflow_execution_started' &&
|
|
55
|
+
attrs.awaited === false &&
|
|
56
|
+
evt.duration_ms === null) {
|
|
57
|
+
evt.duration_ms = 0;
|
|
58
|
+
}
|
|
59
|
+
// 2. Completed signals: inject signal_wait_started before completion
|
|
60
|
+
if (evt.event_type === 'workflow_execution_signaled' &&
|
|
61
|
+
evt.duration_ms != null &&
|
|
62
|
+
evt.duration_ms > 0 &&
|
|
63
|
+
attrs.timeline_key &&
|
|
64
|
+
!existingWaitStarts.has(attrs.timeline_key)) {
|
|
65
|
+
const waitStartTime = new Date(new Date(evt.event_time).getTime() - evt.duration_ms).toISOString();
|
|
66
|
+
toAdd.push({
|
|
67
|
+
event_id: nextId++,
|
|
68
|
+
event_type: 'signal_wait_started',
|
|
69
|
+
category: 'signal',
|
|
70
|
+
event_time: waitStartTime,
|
|
71
|
+
duration_ms: null,
|
|
72
|
+
is_system: false,
|
|
73
|
+
attributes: {
|
|
74
|
+
kind: 'signal_wait_started',
|
|
75
|
+
signal_name: attrs.signal_name,
|
|
76
|
+
timeline_key: attrs.timeline_key,
|
|
77
|
+
execution_index: attrs.execution_index,
|
|
78
|
+
},
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
// 3. Running workflows: inject pending waits after unmatched fire-and-forget starts
|
|
83
|
+
if (isRunning) {
|
|
84
|
+
for (const evt of events) {
|
|
85
|
+
const attrs = evt.attributes;
|
|
86
|
+
if (evt.event_type === 'child_workflow_execution_started' &&
|
|
87
|
+
attrs.awaited === false) {
|
|
88
|
+
const startIndex = attrs.execution_index;
|
|
89
|
+
const childId = attrs.child_workflow_id;
|
|
90
|
+
const waitIndex = startIndex + 1;
|
|
91
|
+
const waitKey = `-wait-${waitIndex}-`;
|
|
92
|
+
if (!signalKeys.has(waitKey) && !existingWaitStarts.has(waitKey)) {
|
|
93
|
+
toAdd.push({
|
|
94
|
+
event_id: nextId++,
|
|
95
|
+
event_type: 'signal_wait_started',
|
|
96
|
+
category: 'signal',
|
|
97
|
+
event_time: evt.event_time,
|
|
98
|
+
duration_ms: null,
|
|
99
|
+
is_system: false,
|
|
100
|
+
attributes: {
|
|
101
|
+
kind: 'signal_wait_started',
|
|
102
|
+
signal_name: `lt-result-${childId}`,
|
|
103
|
+
timeline_key: waitKey,
|
|
104
|
+
execution_index: waitIndex,
|
|
105
|
+
},
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
if (toAdd.length === 0 && !enriched)
|
|
112
|
+
return execution;
|
|
113
|
+
if (toAdd.length === 0) {
|
|
114
|
+
return { ...execution, events };
|
|
115
|
+
}
|
|
116
|
+
events.push(...toAdd);
|
|
117
|
+
// Re-sort chronologically and re-number
|
|
118
|
+
events.sort((a, b) => {
|
|
119
|
+
const cmp = a.event_time.localeCompare(b.event_time);
|
|
120
|
+
return cmp !== 0 ? cmp : a.event_id - b.event_id;
|
|
121
|
+
});
|
|
122
|
+
for (let i = 0; i < events.length; i++) {
|
|
123
|
+
events[i].event_id = i + 1;
|
|
124
|
+
}
|
|
125
|
+
return {
|
|
126
|
+
...execution,
|
|
127
|
+
events,
|
|
128
|
+
summary: {
|
|
129
|
+
...execution.summary,
|
|
130
|
+
total_events: events.length,
|
|
131
|
+
},
|
|
132
|
+
};
|
|
133
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/** Filters accepted by the job listing service function. */
|
|
2
|
+
export interface JobListParams {
|
|
3
|
+
limit?: number;
|
|
4
|
+
offset?: number;
|
|
5
|
+
entity?: string;
|
|
6
|
+
search?: string;
|
|
7
|
+
status?: string;
|
|
8
|
+
sort_by?: string;
|
|
9
|
+
order?: string;
|
|
10
|
+
registered?: string;
|
|
11
|
+
}
|
|
12
|
+
/** A single job row returned by listJobs(). */
|
|
13
|
+
export interface JobRow {
|
|
14
|
+
workflow_id: string;
|
|
15
|
+
entity: string;
|
|
16
|
+
status: 'running' | 'completed' | 'failed';
|
|
17
|
+
is_live: boolean;
|
|
18
|
+
created_at: string;
|
|
19
|
+
updated_at: string;
|
|
20
|
+
}
|
|
21
|
+
/** Paginated result from listJobs(). */
|
|
22
|
+
export interface JobListResult {
|
|
23
|
+
jobs: JobRow[];
|
|
24
|
+
total: number;
|
|
25
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Convert HotMesh's compact timestamp (YYYYMMDDHHmmss.SSS) to ISO 8601.
|
|
3
|
+
*/
|
|
4
|
+
export declare function hmshTimestampToISO(ts: string): string;
|
|
5
|
+
/**
|
|
6
|
+
* Compute duration in milliseconds between two HotMesh compact timestamps.
|
|
7
|
+
*/
|
|
8
|
+
export declare function computeDuration(ac?: string, au?: string): number | null;
|
|
9
|
+
/**
|
|
10
|
+
* Deserialize a HotMesh serialized value.
|
|
11
|
+
* Prefix conventions: /s = JSON, /d = number, /t = true, /f = false, /n = null.
|
|
12
|
+
*/
|
|
13
|
+
export declare function fromString(value: string): unknown;
|
|
14
|
+
/**
|
|
15
|
+
* Validate and sanitize an app_id for use as a Postgres schema name.
|
|
16
|
+
*/
|
|
17
|
+
export declare function sanitizeAppId(appId: string): string;
|
|
18
|
+
/**
|
|
19
|
+
* Quote a schema name for safe use in SQL queries (Postgres identifier quoting).
|
|
20
|
+
*/
|
|
21
|
+
export declare function quoteSchema(schema: string): string;
|
|
22
|
+
/** Schema-qualified symbol lookup — schema is injected as an identifier, not a parameter. */
|
|
23
|
+
export declare const LOAD_SYMBOL_MAP: (schema: string) => string;
|
|
24
|
+
/**
|
|
25
|
+
* Load all symbol key mappings from {schema}.symbols for the given appId.
|
|
26
|
+
* Returns a reverse map: abbreviated 3-char key → human-readable path.
|
|
27
|
+
*/
|
|
28
|
+
export declare function loadSymbolMap(schema: string, appId: string): Promise<Record<string, string>>;
|
|
29
|
+
/**
|
|
30
|
+
* Inflate raw HotMesh job attributes using the symbol map.
|
|
31
|
+
* Converts abbreviated 3-char keys + dimensional indices into
|
|
32
|
+
* human-readable "dimensions/path" entries with deserialized values.
|
|
33
|
+
*
|
|
34
|
+
* Key patterns:
|
|
35
|
+
* "abc" → 3-char job-level key (metadata/jc, data/summary, etc.)
|
|
36
|
+
* "abc,N,M,..." → activity/transition key with dimensional index
|
|
37
|
+
* ":" → status semaphore
|
|
38
|
+
*/
|
|
39
|
+
export declare function inflateAttributes(attrs: Record<string, string>, symbolMap: Record<string, string>): Record<string, unknown>;
|
|
40
|
+
/**
|
|
41
|
+
* Rebuild a nested object from a flat "dim1/dim2/.../path" → value map.
|
|
42
|
+
*/
|
|
43
|
+
export declare function restoreHierarchy(flat: Record<string, unknown>): Record<string, unknown>;
|
|
44
|
+
export interface ActivityInfo {
|
|
45
|
+
name: string;
|
|
46
|
+
type: string;
|
|
47
|
+
step: string;
|
|
48
|
+
ac: string | null;
|
|
49
|
+
au: string | null;
|
|
50
|
+
traceId: string | null;
|
|
51
|
+
spanId: string | null;
|
|
52
|
+
error: string | null;
|
|
53
|
+
data: Record<string, unknown> | null;
|
|
54
|
+
dimensions: string;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Walk an inflated HotMesh hierarchy to extract all activities/transitions.
|
|
58
|
+
* Recurses through numeric dimension keys, collecting activity nodes that
|
|
59
|
+
* have an `output.metadata` subtree.
|
|
60
|
+
*/
|
|
61
|
+
export declare function extractActivities(hierarchy: Record<string, unknown>): ActivityInfo[];
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LOAD_SYMBOL_MAP = void 0;
|
|
4
|
+
exports.hmshTimestampToISO = hmshTimestampToISO;
|
|
5
|
+
exports.computeDuration = computeDuration;
|
|
6
|
+
exports.fromString = fromString;
|
|
7
|
+
exports.sanitizeAppId = sanitizeAppId;
|
|
8
|
+
exports.quoteSchema = quoteSchema;
|
|
9
|
+
exports.loadSymbolMap = loadSymbolMap;
|
|
10
|
+
exports.inflateAttributes = inflateAttributes;
|
|
11
|
+
exports.restoreHierarchy = restoreHierarchy;
|
|
12
|
+
exports.extractActivities = extractActivities;
|
|
13
|
+
const db_1 = require("./db");
|
|
14
|
+
// ── HotMesh timestamp helpers ───────────────────────────────────────────────
|
|
15
|
+
/**
|
|
16
|
+
* Convert HotMesh's compact timestamp (YYYYMMDDHHmmss.SSS) to ISO 8601.
|
|
17
|
+
*/
|
|
18
|
+
function hmshTimestampToISO(ts) {
|
|
19
|
+
if (!ts || ts.length < 14)
|
|
20
|
+
return ts;
|
|
21
|
+
const y = ts.slice(0, 4);
|
|
22
|
+
const mo = ts.slice(4, 6);
|
|
23
|
+
const d = ts.slice(6, 8);
|
|
24
|
+
const h = ts.slice(8, 10);
|
|
25
|
+
const mi = ts.slice(10, 12);
|
|
26
|
+
const rest = ts.slice(12); // ss.SSS
|
|
27
|
+
return `${y}-${mo}-${d}T${h}:${mi}:${rest}Z`;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Compute duration in milliseconds between two HotMesh compact timestamps.
|
|
31
|
+
*/
|
|
32
|
+
function computeDuration(ac, au) {
|
|
33
|
+
if (!ac || !au)
|
|
34
|
+
return null;
|
|
35
|
+
const s = new Date(hmshTimestampToISO(ac)).getTime();
|
|
36
|
+
const e = new Date(hmshTimestampToISO(au)).getTime();
|
|
37
|
+
return e >= s ? e - s : null;
|
|
38
|
+
}
|
|
39
|
+
// ── HotMesh serialization ───────────────────────────────────────────────────
|
|
40
|
+
/**
|
|
41
|
+
* Deserialize a HotMesh serialized value.
|
|
42
|
+
* Prefix conventions: /s = JSON, /d = number, /t = true, /f = false, /n = null.
|
|
43
|
+
*/
|
|
44
|
+
function fromString(value) {
|
|
45
|
+
if (typeof value !== 'string')
|
|
46
|
+
return undefined;
|
|
47
|
+
const prefix = value.slice(0, 2);
|
|
48
|
+
const rest = value.slice(2);
|
|
49
|
+
switch (prefix) {
|
|
50
|
+
case '/t': return true;
|
|
51
|
+
case '/f': return false;
|
|
52
|
+
case '/d': return Number(rest);
|
|
53
|
+
case '/n': return null;
|
|
54
|
+
case '/s': return JSON.parse(rest);
|
|
55
|
+
default: return value;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
// ── Schema helpers ──────────────────────────────────────────────────────────
|
|
59
|
+
/**
|
|
60
|
+
* Validate and sanitize an app_id for use as a Postgres schema name.
|
|
61
|
+
*/
|
|
62
|
+
function sanitizeAppId(appId) {
|
|
63
|
+
if (!/^[a-zA-Z0-9_.-]+$/.test(appId)) {
|
|
64
|
+
throw new Error('Invalid app_id: must contain only alphanumeric characters, underscores, hyphens, and dots');
|
|
65
|
+
}
|
|
66
|
+
return appId;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Quote a schema name for safe use in SQL queries (Postgres identifier quoting).
|
|
70
|
+
*/
|
|
71
|
+
function quoteSchema(schema) {
|
|
72
|
+
return `"${schema.replace(/"/g, '""')}"`;
|
|
73
|
+
}
|
|
74
|
+
// ── Symbol inflation ────────────────────────────────────────────────────────
|
|
75
|
+
/** Schema-qualified symbol lookup — schema is injected as an identifier, not a parameter. */
|
|
76
|
+
const LOAD_SYMBOL_MAP = (schema) => `SELECT key, field, value FROM ${schema}.symbols WHERE key LIKE $1`;
|
|
77
|
+
exports.LOAD_SYMBOL_MAP = LOAD_SYMBOL_MAP;
|
|
78
|
+
/**
|
|
79
|
+
* Load all symbol key mappings from {schema}.symbols for the given appId.
|
|
80
|
+
* Returns a reverse map: abbreviated 3-char key → human-readable path.
|
|
81
|
+
*/
|
|
82
|
+
async function loadSymbolMap(schema, appId) {
|
|
83
|
+
const pool = (0, db_1.getPool)();
|
|
84
|
+
const symKeyPrefix = `hmsh:${appId}:sym:keys:`;
|
|
85
|
+
try {
|
|
86
|
+
const result = await pool.query((0, exports.LOAD_SYMBOL_MAP)(schema), [`${symKeyPrefix}%`]);
|
|
87
|
+
const reverseMap = {};
|
|
88
|
+
for (const row of result.rows) {
|
|
89
|
+
const symbolName = row.key.slice(symKeyPrefix.length);
|
|
90
|
+
if (row.field && row.value && symbolName !== '') {
|
|
91
|
+
reverseMap[row.value] = row.field;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
return reverseMap;
|
|
95
|
+
}
|
|
96
|
+
catch (err) {
|
|
97
|
+
// Schema or symbols table may not exist yet — return empty map
|
|
98
|
+
// so attribute inflation falls back to raw abbreviated keys.
|
|
99
|
+
if (err.code === '42P01')
|
|
100
|
+
return {}; // undefined_table
|
|
101
|
+
throw err;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Inflate raw HotMesh job attributes using the symbol map.
|
|
106
|
+
* Converts abbreviated 3-char keys + dimensional indices into
|
|
107
|
+
* human-readable "dimensions/path" entries with deserialized values.
|
|
108
|
+
*
|
|
109
|
+
* Key patterns:
|
|
110
|
+
* "abc" → 3-char job-level key (metadata/jc, data/summary, etc.)
|
|
111
|
+
* "abc,N,M,..." → activity/transition key with dimensional index
|
|
112
|
+
* ":" → status semaphore
|
|
113
|
+
*/
|
|
114
|
+
function inflateAttributes(attrs, symbolMap) {
|
|
115
|
+
const flat = {};
|
|
116
|
+
const symKeyRegex = /^([a-zA-Z]{2,3})(,\d+(?:,\d+)*)?$/;
|
|
117
|
+
for (const [key, rawValue] of Object.entries(attrs)) {
|
|
118
|
+
if (key === ':') {
|
|
119
|
+
flat[':'] = rawValue;
|
|
120
|
+
continue;
|
|
121
|
+
}
|
|
122
|
+
const match = key.match(symKeyRegex);
|
|
123
|
+
if (match) {
|
|
124
|
+
const letters = match[1];
|
|
125
|
+
const dimSuffix = match[2] || '';
|
|
126
|
+
const inflatedPath = symbolMap[letters] || letters;
|
|
127
|
+
const dimensions = dimSuffix ? dimSuffix.slice(1).replace(/,/g, '/') + '/' : '';
|
|
128
|
+
flat[`${dimensions}${inflatedPath}`] = fromString(rawValue);
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
flat[key] = fromString(rawValue);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
return flat;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Rebuild a nested object from a flat "dim1/dim2/.../path" → value map.
|
|
138
|
+
*/
|
|
139
|
+
function restoreHierarchy(flat) {
|
|
140
|
+
const result = {};
|
|
141
|
+
for (const key in flat) {
|
|
142
|
+
if (flat[key] === undefined)
|
|
143
|
+
continue;
|
|
144
|
+
const keys = key.split('/');
|
|
145
|
+
let current = result;
|
|
146
|
+
for (let i = 0; i < keys.length; i++) {
|
|
147
|
+
if (i === keys.length - 1) {
|
|
148
|
+
current[keys[i]] = flat[key];
|
|
149
|
+
}
|
|
150
|
+
else {
|
|
151
|
+
current[keys[i]] = current[keys[i]] || {};
|
|
152
|
+
current = current[keys[i]];
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
return result;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Walk an inflated HotMesh hierarchy to extract all activities/transitions.
|
|
160
|
+
* Recurses through numeric dimension keys, collecting activity nodes that
|
|
161
|
+
* have an `output.metadata` subtree.
|
|
162
|
+
*/
|
|
163
|
+
function extractActivities(hierarchy) {
|
|
164
|
+
const activities = [];
|
|
165
|
+
function walk(node, dims) {
|
|
166
|
+
for (const key of Object.keys(node)) {
|
|
167
|
+
if (/^\d+$/.test(key)) {
|
|
168
|
+
walk(node[key], [...dims, key]);
|
|
169
|
+
continue;
|
|
170
|
+
}
|
|
171
|
+
const actNode = node[key];
|
|
172
|
+
if (!actNode || typeof actNode !== 'object')
|
|
173
|
+
continue;
|
|
174
|
+
const output = actNode['output'];
|
|
175
|
+
if (!output)
|
|
176
|
+
continue;
|
|
177
|
+
const meta = output['metadata'];
|
|
178
|
+
const data = output['data'];
|
|
179
|
+
if (!meta)
|
|
180
|
+
continue;
|
|
181
|
+
activities.push({
|
|
182
|
+
name: key,
|
|
183
|
+
type: meta['atp'] || 'worker',
|
|
184
|
+
step: meta['stp'] || key,
|
|
185
|
+
ac: meta['ac'] || null,
|
|
186
|
+
au: meta['au'] || null,
|
|
187
|
+
traceId: meta['l1s'] || null,
|
|
188
|
+
spanId: meta['l2s'] || null,
|
|
189
|
+
error: meta['err'] || null,
|
|
190
|
+
data: data || null,
|
|
191
|
+
dimensions: dims.join('/'),
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
walk(hierarchy, []);
|
|
196
|
+
activities.sort((a, b) => {
|
|
197
|
+
if (!a.ac)
|
|
198
|
+
return 1;
|
|
199
|
+
if (!b.ac)
|
|
200
|
+
return -1;
|
|
201
|
+
return a.ac.localeCompare(b.ac);
|
|
202
|
+
});
|
|
203
|
+
return activities;
|
|
204
|
+
}
|