@hotmeshio/long-tail 0.1.5 → 0.1.7
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/README.md +78 -8
- package/build/api/auth.d.ts +5 -0
- package/build/api/auth.js +42 -0
- package/build/api/bot-accounts.d.ts +50 -0
- package/build/api/bot-accounts.js +215 -0
- package/build/api/controlplane.d.ts +20 -0
- package/build/api/controlplane.js +110 -0
- package/build/api/dba.d.ts +15 -0
- package/build/api/dba.js +68 -0
- package/build/api/escalations.d.ts +70 -0
- package/build/api/escalations.js +656 -0
- package/build/api/exports.d.ts +32 -0
- package/build/api/exports.js +146 -0
- package/build/api/index.d.ts +18 -0
- package/build/api/index.js +54 -0
- package/build/api/insight.d.ts +29 -0
- package/build/api/insight.js +90 -0
- package/build/api/maintenance.d.ts +7 -0
- package/build/api/maintenance.js +28 -0
- package/build/api/mcp-runs.d.ts +16 -0
- package/build/api/mcp-runs.js +62 -0
- package/build/api/mcp.d.ts +52 -0
- package/build/api/mcp.js +212 -0
- package/build/api/namespaces.d.ts +7 -0
- package/build/{routes/escalations/helpers.js → api/namespaces.js} +24 -12
- package/build/api/roles.d.ts +25 -0
- package/build/api/roles.js +159 -0
- package/build/api/settings.d.ts +2 -0
- package/build/api/settings.js +35 -0
- package/build/api/tasks.d.ts +27 -0
- package/build/api/tasks.js +96 -0
- package/build/api/users.d.ts +44 -0
- package/build/api/users.js +162 -0
- package/build/api/workflow-sets.d.ts +26 -0
- package/build/api/workflow-sets.js +119 -0
- package/build/api/workflows.d.ts +48 -0
- package/build/api/workflows.js +298 -0
- package/build/api/yaml-workflows.d.ts +87 -0
- package/build/api/yaml-workflows.js +556 -0
- package/build/index.d.ts +4 -0
- package/build/index.js +6 -1
- package/build/lib/db/migrate.js +3 -6
- package/{lib → build/lib}/db/schemas/001_schema.sql +3 -0
- package/build/lib/db/schemas/004_workflow_sets.sql +29 -0
- package/build/lib/db/schemas/005_unique_graph_topic.sql +7 -0
- package/{lib → build/lib}/db/schemas/011_system_workflow_configs.sql +14 -0
- package/build/lib/db/schemas/016_streamable_http.sql +7 -0
- package/build/lib/events/callback.d.ts +41 -0
- package/build/lib/events/callback.js +98 -0
- package/build/modules/config.js +1 -1
- package/build/routes/auth.js +37 -36
- package/build/routes/bot-accounts.js +34 -164
- package/build/routes/controlplane.js +20 -60
- package/build/routes/dba.js +18 -28
- package/build/routes/docs.js +25 -7
- package/build/routes/escalations/bulk.js +17 -192
- package/build/routes/escalations/list.js +29 -75
- package/build/routes/escalations/resolve.js +3 -193
- package/build/routes/escalations/single.js +13 -122
- package/build/routes/exports.js +44 -95
- package/build/routes/index.js +2 -0
- package/build/routes/insight.js +61 -40
- package/build/routes/maintenance.js +41 -17
- package/build/routes/mcp-runs.js +52 -60
- package/build/routes/mcp.js +55 -161
- package/build/routes/namespaces.js +9 -20
- package/build/routes/roles.js +23 -97
- package/build/routes/settings.js +37 -25
- package/build/routes/tasks.js +28 -64
- package/build/routes/users.js +24 -113
- package/build/routes/workflow-sets.d.ts +2 -0
- package/build/routes/workflow-sets.js +98 -0
- package/build/routes/workflows/config.js +23 -57
- package/build/routes/workflows/discovery.js +11 -85
- package/build/routes/workflows/invocation.js +16 -84
- package/build/routes/yaml-workflows/cron.d.ts +2 -0
- package/build/routes/yaml-workflows/cron.js +68 -0
- package/build/routes/yaml-workflows/crud.js +38 -193
- package/build/routes/yaml-workflows/deployment.js +15 -140
- package/build/routes/yaml-workflows/index.js +4 -1
- package/build/routes/yaml-workflows/versions.js +20 -58
- package/build/sdk/index.d.ts +327 -0
- package/build/sdk/index.js +298 -0
- package/build/services/controlplane/index.d.ts +1 -2
- package/build/services/controlplane/index.js +3 -3
- package/build/services/controlplane/sql.d.ts +2 -2
- package/build/services/controlplane/sql.js +4 -5
- package/build/services/controlplane/types.d.ts +1 -0
- package/build/services/cron/index.d.ts +17 -0
- package/build/services/cron/index.js +94 -1
- package/build/services/export/index.js +6 -1
- package/build/services/hotmesh-utils.js +2 -4
- package/build/services/insight/index.d.ts +18 -0
- package/build/services/insight/index.js +60 -0
- package/build/services/mcp/client/connection.d.ts +9 -0
- package/build/services/mcp/client/connection.js +49 -1
- package/build/services/mcp/client/tools.js +13 -1
- package/build/services/mcp/db-server/schemas.d.ts +2 -2
- package/build/services/mcp/db.d.ts +1 -1
- package/build/services/mcp/db.js +10 -0
- package/build/services/mcp/playwright-server/schemas.d.ts +4 -4
- package/build/services/mcp/sql.d.ts +1 -1
- package/build/services/mcp/sql.js +2 -2
- package/build/services/mcp/types.d.ts +3 -1
- package/build/services/mcp-runs/sql.js +1 -1
- package/build/services/workflow-sets/db.d.ts +16 -0
- package/build/services/workflow-sets/db.js +78 -0
- package/build/services/workflow-sets/index.d.ts +1 -0
- package/build/services/workflow-sets/index.js +11 -0
- package/build/services/workflow-sets/sql.d.ts +6 -0
- package/build/services/workflow-sets/sql.js +24 -0
- package/build/services/yaml-workflow/db-utils.d.ts +1 -0
- package/build/services/yaml-workflow/db-utils.js +4 -0
- package/build/services/yaml-workflow/db.d.ts +8 -0
- package/build/services/yaml-workflow/db.js +41 -0
- package/build/services/yaml-workflow/invoke.d.ts +19 -0
- package/build/services/yaml-workflow/invoke.js +80 -0
- package/build/services/yaml-workflow/pipeline/build/dag.js +1 -1
- package/build/services/yaml-workflow/pipeline/build/wiring.d.ts +1 -1
- package/build/services/yaml-workflow/pipeline/build/wiring.js +102 -2
- package/build/services/yaml-workflow/pipeline/prompts.d.ts +1 -1
- package/build/services/yaml-workflow/pipeline/prompts.js +44 -1
- package/build/services/yaml-workflow/sql.d.ts +5 -1
- package/build/services/yaml-workflow/sql.js +23 -3
- package/build/services/yaml-workflow/types.d.ts +16 -1
- package/build/services/yaml-workflow/workers/callbacks.js +16 -2
- package/build/services/yaml-workflow/workers/register.js +36 -1
- package/build/start/adapters.js +4 -0
- package/build/system/index.js +12 -0
- package/build/system/mcp-servers/admin/schemas.d.ts +12 -12
- package/build/system/mcp-servers/db-query/schemas.d.ts +2 -2
- package/build/system/mcp-servers/knowledge.js +1 -1
- package/build/system/mcp-servers/playwright/schemas.d.ts +18 -18
- package/build/system/mcp-servers/playwright-cli/schemas.d.ts +34 -34
- package/build/system/mcp-servers/playwright-cli/tools-capture.js +5 -1
- package/build/system/mcp-servers/vision.js +54 -17
- package/build/system/seed/server-definitions.d.ts +7 -0
- package/build/system/seed/server-definitions.js +6 -2
- package/build/system/seed/tool-manifests-workflows.d.ts +7 -0
- package/build/system/seed/tool-manifests-workflows.js +10 -3
- package/build/system/workflows/mcp-workflow-builder/activities/caches.d.ts +5 -0
- package/build/system/workflows/mcp-workflow-builder/activities/caches.js +8 -0
- package/build/system/workflows/mcp-workflow-builder/activities/index.d.ts +2 -0
- package/build/system/workflows/mcp-workflow-builder/activities/index.js +8 -0
- package/build/system/workflows/mcp-workflow-builder/activities/llm.d.ts +2 -0
- package/build/system/workflows/mcp-workflow-builder/activities/llm.js +25 -0
- package/build/system/workflows/mcp-workflow-builder/activities/tool-loader.d.ts +11 -0
- package/build/system/workflows/mcp-workflow-builder/activities/tool-loader.js +34 -0
- package/build/system/workflows/mcp-workflow-builder/index.d.ts +16 -0
- package/build/system/workflows/mcp-workflow-builder/index.js +253 -0
- package/build/system/workflows/mcp-workflow-builder/prompts.d.ts +8 -0
- package/build/system/workflows/mcp-workflow-builder/prompts.js +316 -0
- package/build/system/workflows/mcp-workflow-planner/activities/analyze.d.ts +11 -0
- package/build/system/workflows/mcp-workflow-planner/activities/analyze.js +36 -0
- package/build/system/workflows/mcp-workflow-planner/activities/index.d.ts +3 -0
- package/build/system/workflows/mcp-workflow-planner/activities/index.js +12 -0
- package/build/system/workflows/mcp-workflow-planner/activities/persist.d.ts +19 -0
- package/build/system/workflows/mcp-workflow-planner/activities/persist.js +55 -0
- package/build/system/workflows/mcp-workflow-planner/activities/plan.d.ts +10 -0
- package/build/system/workflows/mcp-workflow-planner/activities/plan.js +43 -0
- package/build/system/workflows/mcp-workflow-planner/index.d.ts +7 -0
- package/build/system/workflows/mcp-workflow-planner/index.js +152 -0
- package/build/system/workflows/mcp-workflow-planner/prompts.d.ts +7 -0
- package/build/system/workflows/mcp-workflow-planner/prompts.js +77 -0
- package/build/system/workflows/shared/tool-loader.js +3 -0
- package/build/tsconfig.tsbuildinfo +1 -1
- package/build/types/index.d.ts +1 -0
- package/build/types/mcp.d.ts +4 -3
- package/build/types/sdk.d.ts +27 -0
- package/build/types/sdk.js +2 -0
- package/build/types/workflow-set.d.ts +44 -0
- package/build/types/workflow-set.js +5 -0
- package/build/types/yaml-workflow.d.ts +6 -2
- package/dashboard/dist/assets/AdminDashboard-DRjkRSjJ.js +2 -0
- package/dashboard/dist/assets/{AdminDashboard-CTyAMUJR.js.map → AdminDashboard-DRjkRSjJ.js.map} +1 -1
- package/dashboard/dist/assets/AvailableEscalationsPage-CnivX4Tz.js +2 -0
- package/dashboard/dist/assets/AvailableEscalationsPage-CnivX4Tz.js.map +1 -0
- package/dashboard/dist/assets/BotPicker-DwwaBhTH.js +2 -0
- package/dashboard/dist/assets/{BotPicker-C51nKFEu.js.map → BotPicker-DwwaBhTH.js.map} +1 -1
- package/dashboard/dist/assets/{CollapsibleSection-BSyfd8uL.js → CollapsibleSection-DQpaVA0M.js} +2 -2
- package/dashboard/dist/assets/{CollapsibleSection-BSyfd8uL.js.map → CollapsibleSection-DQpaVA0M.js.map} +1 -1
- package/dashboard/dist/assets/{ConfirmDeleteModal-CBdhia5T.js → ConfirmDeleteModal-B7JoDNvt.js} +2 -2
- package/dashboard/dist/assets/{ConfirmDeleteModal-CBdhia5T.js.map → ConfirmDeleteModal-B7JoDNvt.js.map} +1 -1
- package/dashboard/dist/assets/{CopyableId-dGlewBCS.js → CopyableId-AqoZayBG.js} +2 -2
- package/dashboard/dist/assets/{CopyableId-dGlewBCS.js.map → CopyableId-AqoZayBG.js.map} +1 -1
- package/dashboard/dist/assets/CredentialsPage-qGw1kQzi.js +2 -0
- package/dashboard/dist/assets/CredentialsPage-qGw1kQzi.js.map +1 -0
- package/dashboard/dist/assets/{CustomDurationPicker-BataWFj8.js → CustomDurationPicker-D1HUQcd0.js} +2 -2
- package/dashboard/dist/assets/{CustomDurationPicker-BataWFj8.js.map → CustomDurationPicker-D1HUQcd0.js.map} +1 -1
- package/dashboard/dist/assets/{DataTable-B3uf5CCo.js → DataTable-DKvSKoVG.js} +2 -2
- package/dashboard/dist/assets/{DataTable-B3uf5CCo.js.map → DataTable-DKvSKoVG.js.map} +1 -1
- package/dashboard/dist/assets/{ElapsedCell-G5oSwTpT.js → ElapsedCell-B0yrReGQ.js} +2 -2
- package/dashboard/dist/assets/{ElapsedCell-G5oSwTpT.js.map → ElapsedCell-B0yrReGQ.js.map} +1 -1
- package/dashboard/dist/assets/{EmptyState-BChBJNGS.js → EmptyState-X0fIzYID.js} +2 -2
- package/dashboard/dist/assets/{EmptyState-BChBJNGS.js.map → EmptyState-X0fIzYID.js.map} +1 -1
- package/dashboard/dist/assets/{EscalationsOverview-CxUv8xjG.js → EscalationsOverview-BQAT9W7r.js} +2 -2
- package/dashboard/dist/assets/{EscalationsOverview-CxUv8xjG.js.map → EscalationsOverview-BQAT9W7r.js.map} +1 -1
- package/dashboard/dist/assets/{EventTable-CVt8B0BZ.js → EventTable-CX1KNLhZ.js} +2 -2
- package/dashboard/dist/assets/{EventTable-CVt8B0BZ.js.map → EventTable-CX1KNLhZ.js.map} +1 -1
- package/dashboard/dist/assets/{FilterBar-CShf0oe7.js → FilterBar-DMTvuQy-.js} +2 -2
- package/dashboard/dist/assets/{FilterBar-CShf0oe7.js.map → FilterBar-DMTvuQy-.js.map} +1 -1
- package/dashboard/dist/assets/ListToolbar-DTOSxoEy.js +2 -0
- package/dashboard/dist/assets/ListToolbar-DTOSxoEy.js.map +1 -0
- package/dashboard/dist/assets/{McpOverview-CbaZRnJl.js → McpOverview-BaKTIWrG.js} +2 -2
- package/dashboard/dist/assets/{McpOverview-CbaZRnJl.js.map → McpOverview-BaKTIWrG.js.map} +1 -1
- package/dashboard/dist/assets/McpQueryDetailPage-CC08T5k8.js +5 -0
- package/dashboard/dist/assets/McpQueryDetailPage-CC08T5k8.js.map +1 -0
- package/dashboard/dist/assets/McpQueryPage-CVfF9dYg.js +2 -0
- package/dashboard/dist/assets/McpQueryPage-CVfF9dYg.js.map +1 -0
- package/dashboard/dist/assets/McpRunDetailPage-CKs1RWeV.js +2 -0
- package/dashboard/dist/assets/McpRunDetailPage-CKs1RWeV.js.map +1 -0
- package/dashboard/dist/assets/McpRunsPage-CcPD_tY1.js +2 -0
- package/dashboard/dist/assets/McpRunsPage-CcPD_tY1.js.map +1 -0
- package/dashboard/dist/assets/{Modal-CI5RBPOQ.js → Modal-_2AbWxJT.js} +2 -2
- package/dashboard/dist/assets/{Modal-CI5RBPOQ.js.map → Modal-_2AbWxJT.js.map} +1 -1
- package/dashboard/dist/assets/OperatorDashboard-BGiRaRDr.js +2 -0
- package/dashboard/dist/assets/OperatorDashboard-BGiRaRDr.js.map +1 -0
- package/dashboard/dist/assets/{PageHeader-SMD9qtOO.js → PageHeader-DVr5Qyzm.js} +2 -2
- package/dashboard/dist/assets/{PageHeader-SMD9qtOO.js.map → PageHeader-DVr5Qyzm.js.map} +1 -1
- package/dashboard/dist/assets/{PageHeaderWithStats-TikLQsTp.js → PageHeaderWithStats-D0KRASML.js} +2 -2
- package/dashboard/dist/assets/{PageHeaderWithStats-TikLQsTp.js.map → PageHeaderWithStats-D0KRASML.js.map} +1 -1
- package/dashboard/dist/assets/{PriorityBadge-CQ0EsLTA.js → PriorityBadge-Bx2559OU.js} +2 -2
- package/dashboard/dist/assets/{PriorityBadge-CQ0EsLTA.js.map → PriorityBadge-Bx2559OU.js.map} +1 -1
- package/dashboard/dist/assets/ProcessDetailPage-69I--sry.js +2 -0
- package/dashboard/dist/assets/ProcessDetailPage-69I--sry.js.map +1 -0
- package/dashboard/dist/assets/ProcessesListPage-BDpUbua2.js +2 -0
- package/dashboard/dist/assets/ProcessesListPage-BDpUbua2.js.map +1 -0
- package/dashboard/dist/assets/{RolePill-Crj4TH5p.js → RolePill-CcAqEaSt.js} +2 -2
- package/dashboard/dist/assets/{RolePill-Crj4TH5p.js.map → RolePill-CcAqEaSt.js.map} +1 -1
- package/dashboard/dist/assets/{RolesPage-C_RInUwS.js → RolesPage-Cl23Hjet.js} +2 -2
- package/dashboard/dist/assets/{RolesPage-C_RInUwS.js.map → RolesPage-Cl23Hjet.js.map} +1 -1
- package/dashboard/dist/assets/{RowActions-Cp5HyK_w.js → RowActions-B4mqIt3Z.js} +2 -2
- package/dashboard/dist/assets/{RowActions-Cp5HyK_w.js.map → RowActions-B4mqIt3Z.js.map} +1 -1
- package/dashboard/dist/assets/{StatCard-BKZLSgNV.js → StatCard-Cz_2OjAZ.js} +2 -2
- package/dashboard/dist/assets/{StatCard-BKZLSgNV.js.map → StatCard-Cz_2OjAZ.js.map} +1 -1
- package/dashboard/dist/assets/{StatusBadge-BYNGGZK5.js → StatusBadge-Wi2FJZsn.js} +2 -2
- package/dashboard/dist/assets/{StatusBadge-BYNGGZK5.js.map → StatusBadge-Wi2FJZsn.js.map} +1 -1
- package/dashboard/dist/assets/StepIndicator-PW5NRDMb.js +2 -0
- package/dashboard/dist/assets/StepIndicator-PW5NRDMb.js.map +1 -0
- package/dashboard/dist/assets/{StickyPagination-CTosgiU2.js → StickyPagination-Bl2Uzz65.js} +2 -2
- package/dashboard/dist/assets/{StickyPagination-CTosgiU2.js.map → StickyPagination-Bl2Uzz65.js.map} +1 -1
- package/dashboard/dist/assets/{SwimlaneTimeline-ylG5Ps1s.js → SwimlaneTimeline-CUPqMd0z.js} +2 -2
- package/dashboard/dist/assets/{SwimlaneTimeline-ylG5Ps1s.js.map → SwimlaneTimeline-CUPqMd0z.js.map} +1 -1
- package/dashboard/dist/assets/TagInput-BLtf86Ly.js +2 -0
- package/dashboard/dist/assets/TagInput-BLtf86Ly.js.map +1 -0
- package/dashboard/dist/assets/{TaskDetailPage-C9pDGdD2.js → TaskDetailPage-BXJFX74D.js} +2 -2
- package/dashboard/dist/assets/{TaskDetailPage-C9pDGdD2.js.map → TaskDetailPage-BXJFX74D.js.map} +1 -1
- package/dashboard/dist/assets/{TaskQueuePill-BtJbZTT0.js → TaskQueuePill-CWYj3xKe.js} +2 -2
- package/dashboard/dist/assets/{TaskQueuePill-BtJbZTT0.js.map → TaskQueuePill-CWYj3xKe.js.map} +1 -1
- package/dashboard/dist/assets/{TasksListPage-DtFLUEhg.js → TasksListPage-C3cX94Mw.js} +2 -2
- package/dashboard/dist/assets/{TasksListPage-DtFLUEhg.js.map → TasksListPage-C3cX94Mw.js.map} +1 -1
- package/dashboard/dist/assets/{TimeAgo-WuM6xImZ.js → TimeAgo-B_5yDDHV.js} +2 -2
- package/dashboard/dist/assets/{TimeAgo-WuM6xImZ.js.map → TimeAgo-B_5yDDHV.js.map} +1 -1
- package/dashboard/dist/assets/{TimestampCell-IVL_-Upy.js → TimestampCell-DRX724uU.js} +2 -2
- package/dashboard/dist/assets/{TimestampCell-IVL_-Upy.js.map → TimestampCell-DRX724uU.js.map} +1 -1
- package/dashboard/dist/assets/{UserName-DU9qeg13.js → UserName-Ca8FA469.js} +2 -2
- package/dashboard/dist/assets/{UserName-DU9qeg13.js.map → UserName-Ca8FA469.js.map} +1 -1
- package/dashboard/dist/assets/WorkflowExecutionPage-BBYWEV2P.js +2 -0
- package/dashboard/dist/assets/WorkflowExecutionPage-BBYWEV2P.js.map +1 -0
- package/dashboard/dist/assets/WorkflowPill-BXifAuLi.js +2 -0
- package/dashboard/dist/assets/{WorkflowPill-Diw8iWBP.js.map → WorkflowPill-BXifAuLi.js.map} +1 -1
- package/dashboard/dist/assets/WorkflowsDashboard-Drl3juz9.js +2 -0
- package/dashboard/dist/assets/WorkflowsDashboard-Drl3juz9.js.map +1 -0
- package/dashboard/dist/assets/{WorkflowsOverview-CPuvA4t3.js → WorkflowsOverview-03IRrDLg.js} +2 -2
- package/dashboard/dist/assets/{WorkflowsOverview-CPuvA4t3.js.map → WorkflowsOverview-03IRrDLg.js.map} +1 -1
- package/dashboard/dist/assets/YamlWorkflowsPage-DC2cLxVi.js +2 -0
- package/dashboard/dist/assets/YamlWorkflowsPage-DC2cLxVi.js.map +1 -0
- package/dashboard/dist/assets/{bots-BPiZXf2h.js → bots-DZEXcgiJ.js} +2 -2
- package/dashboard/dist/assets/{bots-BPiZXf2h.js.map → bots-DZEXcgiJ.js.map} +1 -1
- package/dashboard/dist/assets/{escalation-DTY_OKRh.js → escalation-Cw48lNaF.js} +2 -2
- package/dashboard/dist/assets/{escalation-DTY_OKRh.js.map → escalation-Cw48lNaF.js.map} +1 -1
- package/dashboard/dist/assets/{escalation-columns-C91fHSkp.js → escalation-columns-NINpo3qf.js} +2 -2
- package/dashboard/dist/assets/{escalation-columns-C91fHSkp.js.map → escalation-columns-NINpo3qf.js.map} +1 -1
- package/dashboard/dist/assets/helpers-Cuu3xKfr.js +2 -0
- package/dashboard/dist/assets/helpers-Cuu3xKfr.js.map +1 -0
- package/dashboard/dist/assets/helpers-fk_qr729.js +2 -0
- package/dashboard/dist/assets/helpers-fk_qr729.js.map +1 -0
- package/dashboard/dist/assets/index-B98ipWxE.js +2 -0
- package/dashboard/dist/assets/{index-CDWOfCmi.js.map → index-B98ipWxE.js.map} +1 -1
- package/dashboard/dist/assets/{index-D_qEAYrg.js → index-BIG3KooI.js} +2 -2
- package/dashboard/dist/assets/{index-D_qEAYrg.js.map → index-BIG3KooI.js.map} +1 -1
- package/dashboard/dist/assets/{index-DSzSoku1.js → index-BwN3KP_L.js} +91 -93
- package/dashboard/dist/assets/index-BwN3KP_L.js.map +1 -0
- package/dashboard/dist/assets/index-Bxe8h1x4.js +17 -0
- package/dashboard/dist/assets/index-Bxe8h1x4.js.map +1 -0
- package/dashboard/dist/assets/index-CNI7k7oB.js +6 -0
- package/dashboard/dist/assets/index-CNI7k7oB.js.map +1 -0
- package/dashboard/dist/assets/index-CORHB0WC.js +2 -0
- package/dashboard/dist/assets/index-CORHB0WC.js.map +1 -0
- package/dashboard/dist/assets/index-DcIKW-cZ.css +1 -0
- package/dashboard/dist/assets/index-Dj-z-x8M.js +2 -0
- package/dashboard/dist/assets/index-Dj-z-x8M.js.map +1 -0
- package/dashboard/dist/assets/index-DwRytW9O.js +5 -0
- package/dashboard/dist/assets/index-DwRytW9O.js.map +1 -0
- package/dashboard/dist/assets/index-aRvL-dXp.js +2 -0
- package/dashboard/dist/assets/index-aRvL-dXp.js.map +1 -0
- package/dashboard/dist/assets/index-b03HlbnH.js +2 -0
- package/dashboard/dist/assets/{index-BtOwLI0K.js.map → index-b03HlbnH.js.map} +1 -1
- package/dashboard/dist/assets/mcp-BZoFryNc.js +2 -0
- package/dashboard/dist/assets/mcp-BZoFryNc.js.map +1 -0
- package/dashboard/dist/assets/mcp-query-wiw1kwm8.js +2 -0
- package/dashboard/dist/assets/mcp-query-wiw1kwm8.js.map +1 -0
- package/dashboard/dist/assets/{mcp-runs-DmXYJD19.js → mcp-runs-BaEKnf5v.js} +2 -2
- package/dashboard/dist/assets/{mcp-runs-DmXYJD19.js.map → mcp-runs-BaEKnf5v.js.map} +1 -1
- package/dashboard/dist/assets/{namespaces-DoGa7jc7.js → namespaces-BwnZI4_A.js} +2 -2
- package/dashboard/dist/assets/{namespaces-DoGa7jc7.js.map → namespaces-BwnZI4_A.js.map} +1 -1
- package/dashboard/dist/assets/{roles-wCdQ2Z7k.js → roles-Bgn1K8zU.js} +2 -2
- package/dashboard/dist/assets/{roles-wCdQ2Z7k.js.map → roles-Bgn1K8zU.js.map} +1 -1
- package/dashboard/dist/assets/{settings-DDe_L7JT.js → settings-CizYiutL.js} +2 -2
- package/dashboard/dist/assets/{settings-DDe_L7JT.js.map → settings-CizYiutL.js.map} +1 -1
- package/dashboard/dist/assets/{tasks-3Hih8Bt7.js → tasks-Bmte_hc4.js} +2 -2
- package/dashboard/dist/assets/{tasks-3Hih8Bt7.js.map → tasks-Bmte_hc4.js.map} +1 -1
- package/dashboard/dist/assets/useEventHooks-CUCxpiI2.js +2 -0
- package/dashboard/dist/assets/useEventHooks-CUCxpiI2.js.map +1 -0
- package/dashboard/dist/assets/useExpandedRows-Cg9iq6Vy.js +2 -0
- package/dashboard/dist/assets/useExpandedRows-Cg9iq6Vy.js.map +1 -0
- package/dashboard/dist/assets/{useYamlActivityEvents-B5dHec6Y.js → useYamlActivityEvents-Cum02Ej9.js} +2 -2
- package/dashboard/dist/assets/useYamlActivityEvents-Cum02Ej9.js.map +1 -0
- package/dashboard/dist/assets/{users-BTagPmGW.js → users-NSDgTt-z.js} +2 -2
- package/dashboard/dist/assets/{users-BTagPmGW.js.map → users-NSDgTt-z.js.map} +1 -1
- package/dashboard/dist/assets/{vendor-icons-DCLlGYO9.js → vendor-icons-D1DdudfH.js} +141 -66
- package/dashboard/dist/assets/vendor-icons-D1DdudfH.js.map +1 -0
- package/dashboard/dist/assets/{workflows-B20dR3NE.js → workflows-k0XRdGXx.js} +2 -2
- package/dashboard/dist/assets/{workflows-B20dR3NE.js.map → workflows-k0XRdGXx.js.map} +1 -1
- package/dashboard/dist/assets/yaml-workflows-DAre8I78.js +2 -0
- package/dashboard/dist/assets/yaml-workflows-DAre8I78.js.map +1 -0
- package/dashboard/dist/index.html +3 -3
- package/docs/api/mcp-servers.md +60 -2
- package/docs/architecture.md +3 -3
- package/docs/dashboard.md +1 -1
- package/docs/epic-integration.md +224 -0
- package/docs/escalation-strategies.md +2 -3
- package/docs/events.md +28 -0
- package/docs/mcp.md +301 -31
- package/docs/sdk.md +177 -0
- package/docs/story.md +157 -0
- package/docs/workflow-builder.md +371 -0
- package/package.json +5 -4
- package/build/routes/escalations/helpers.d.ts +0 -5
- package/build/routes/resolve.d.ts +0 -9
- package/build/routes/resolve.js +0 -19
- package/build/routes/yaml-workflows/helpers.d.ts +0 -2
- package/build/routes/yaml-workflows/helpers.js +0 -8
- package/dashboard/dist/assets/AdminDashboard-CTyAMUJR.js +0 -2
- package/dashboard/dist/assets/AvailableEscalationsPage-BMXV3Q4l.js +0 -2
- package/dashboard/dist/assets/AvailableEscalationsPage-BMXV3Q4l.js.map +0 -1
- package/dashboard/dist/assets/BotPicker-C51nKFEu.js +0 -2
- package/dashboard/dist/assets/CredentialsPage-CoBNFSAu.js +0 -2
- package/dashboard/dist/assets/CredentialsPage-CoBNFSAu.js.map +0 -1
- package/dashboard/dist/assets/McpQueryDetailPage-CGoR9XK6.js +0 -5
- package/dashboard/dist/assets/McpQueryDetailPage-CGoR9XK6.js.map +0 -1
- package/dashboard/dist/assets/McpQueryPage-BjXoYQuU.js +0 -2
- package/dashboard/dist/assets/McpQueryPage-BjXoYQuU.js.map +0 -1
- package/dashboard/dist/assets/McpRunDetailPage-DLkA5Aar.js +0 -2
- package/dashboard/dist/assets/McpRunDetailPage-DLkA5Aar.js.map +0 -1
- package/dashboard/dist/assets/McpRunsPage-DCh9n11D.js +0 -2
- package/dashboard/dist/assets/McpRunsPage-DCh9n11D.js.map +0 -1
- package/dashboard/dist/assets/OperatorDashboard-Dc80suXd.js +0 -2
- package/dashboard/dist/assets/OperatorDashboard-Dc80suXd.js.map +0 -1
- package/dashboard/dist/assets/ProcessDetailPage-B2GKuGzk.js +0 -2
- package/dashboard/dist/assets/ProcessDetailPage-B2GKuGzk.js.map +0 -1
- package/dashboard/dist/assets/ProcessesListPage-CTjI3Wn6.js +0 -2
- package/dashboard/dist/assets/ProcessesListPage-CTjI3Wn6.js.map +0 -1
- package/dashboard/dist/assets/RefreshButton-BcQDObrv.js +0 -2
- package/dashboard/dist/assets/RefreshButton-BcQDObrv.js.map +0 -1
- package/dashboard/dist/assets/RunAsSelector-BhyWtofX.js +0 -2
- package/dashboard/dist/assets/RunAsSelector-BhyWtofX.js.map +0 -1
- package/dashboard/dist/assets/WorkflowExecutionPage-DOocX81f.js +0 -2
- package/dashboard/dist/assets/WorkflowExecutionPage-DOocX81f.js.map +0 -1
- package/dashboard/dist/assets/WorkflowPill-Diw8iWBP.js +0 -2
- package/dashboard/dist/assets/WorkflowsDashboard-DDtUIrTy.js +0 -2
- package/dashboard/dist/assets/WorkflowsDashboard-DDtUIrTy.js.map +0 -1
- package/dashboard/dist/assets/YamlWorkflowsPage-DlwwkluN.js +0 -2
- package/dashboard/dist/assets/YamlWorkflowsPage-DlwwkluN.js.map +0 -1
- package/dashboard/dist/assets/helpers-DBUZ9pnG.js +0 -2
- package/dashboard/dist/assets/helpers-DBUZ9pnG.js.map +0 -1
- package/dashboard/dist/assets/index-BOeA-gfK.js +0 -17
- package/dashboard/dist/assets/index-BOeA-gfK.js.map +0 -1
- package/dashboard/dist/assets/index-BZ6K_kmL.js +0 -3
- package/dashboard/dist/assets/index-BZ6K_kmL.js.map +0 -1
- package/dashboard/dist/assets/index-Bpm0yeoi.js +0 -2
- package/dashboard/dist/assets/index-Bpm0yeoi.js.map +0 -1
- package/dashboard/dist/assets/index-BtOwLI0K.js +0 -2
- package/dashboard/dist/assets/index-CBF3ZvRZ.js +0 -6
- package/dashboard/dist/assets/index-CBF3ZvRZ.js.map +0 -1
- package/dashboard/dist/assets/index-CDWOfCmi.js +0 -2
- package/dashboard/dist/assets/index-Ce6sL__n.js +0 -2
- package/dashboard/dist/assets/index-Ce6sL__n.js.map +0 -1
- package/dashboard/dist/assets/index-DSzSoku1.js.map +0 -1
- package/dashboard/dist/assets/index-gCy9XX3W.css +0 -1
- package/dashboard/dist/assets/mcp-BzVpaaKF.js +0 -2
- package/dashboard/dist/assets/mcp-BzVpaaKF.js.map +0 -1
- package/dashboard/dist/assets/mcp-query-wTuxTTCV.js +0 -2
- package/dashboard/dist/assets/mcp-query-wTuxTTCV.js.map +0 -1
- package/dashboard/dist/assets/useNatsEvents-DeGKHFTX.js +0 -2
- package/dashboard/dist/assets/useNatsEvents-DeGKHFTX.js.map +0 -1
- package/dashboard/dist/assets/useYamlActivityEvents-B5dHec6Y.js.map +0 -1
- package/dashboard/dist/assets/vendor-icons-DCLlGYO9.js.map +0 -1
- package/dashboard/dist/assets/yaml-workflows-CaLPMQha.js +0 -2
- package/dashboard/dist/assets/yaml-workflows-CaLPMQha.js.map +0 -1
- package/docs/img/01-login.png +0 -0
- package/docs/img/02-dashboard-home.png +0 -0
- package/docs/img/03-processes-list.png +0 -0
- package/docs/img/04-escalations-list.png +0 -0
- package/docs/img/05-mcp-servers.png +0 -0
- package/docs/img/06-mcp-pipelines.png +0 -0
- package/docs/img/07-workflows-list.png +0 -0
- package/docs/img/compilation/01-query-submit.png +0 -0
- package/docs/img/compilation/02-mcp-servers.png +0 -0
- package/docs/img/compilation/03-query-completed.png +0 -0
- package/docs/img/compilation/04-wizard-original.png +0 -0
- package/docs/img/compilation/05-wizard-timeline.png +0 -0
- package/docs/img/compilation/06-wizard-profile.png +0 -0
- package/docs/img/compilation/07-wizard-deploy.png +0 -0
- package/docs/img/compilation/08-wizard-test-modal.png +0 -0
- package/docs/img/compilation/09-wizard-test-compare.png +0 -0
- package/docs/img/compilation/10-wizard-verify.png +0 -0
- package/lib/db/README.md +0 -8
- /package/{lib → build/lib}/db/schemas/002_seed.sql +0 -0
- /package/{lib → build/lib}/db/schemas/003_workflow_discovery.sql +0 -0
- /package/{lib → build/lib}/db/schemas/004_query_router.sql +0 -0
- /package/{lib → build/lib}/db/schemas/005_triage_router.sql +0 -0
- /package/{lib → build/lib}/db/schemas/006_oauth.sql +0 -0
- /package/{lib → build/lib}/db/schemas/007_security.sql +0 -0
- /package/{lib → build/lib}/db/schemas/008_bot_accounts.sql +0 -0
- /package/{lib → build/lib}/db/schemas/009_audit_trail.sql +0 -0
- /package/{lib → build/lib}/db/schemas/010_credential_providers.sql +0 -0
- /package/{lib → build/lib}/db/schemas/012_drop_modality.sql +0 -0
- /package/{lib → build/lib}/db/schemas/013_execute_as.sql +0 -0
- /package/{lib → build/lib}/db/schemas/014_ephemeral_credentials.sql +0 -0
- /package/{lib → build/lib}/db/schemas/015_knowledge.sql +0 -0
|
@@ -96,6 +96,13 @@ Specify directed edges showing how data flows between steps:
|
|
|
96
96
|
|
|
97
97
|
Session handles are critical — they maintain authenticated browser sessions, database connections, etc. They must be threaded from their producer through ALL subsequent steps that need them.
|
|
98
98
|
|
|
99
|
+
### Chain Analysis to Downstream Steps
|
|
100
|
+
When a step produces a meaningful result (analysis, extraction, description, computed value) and a later step consumes related data (saving, storing, forwarding, reporting), there MUST be a data_flow edge connecting them. Match by semantic intent, not just field name:
|
|
101
|
+
- Step produces \`description\` → downstream step takes \`value\` → edge with from_field: "description", to_field: "value"
|
|
102
|
+
- Step produces \`analysis.summary\` → downstream step takes \`content\` → edge with appropriate field mapping
|
|
103
|
+
|
|
104
|
+
If the original execution trace shows that a step's output was used (even indirectly) as input to a later step, the compiled version must preserve that data chain. A broken chain means the downstream step receives no data — the worst possible compilation error.
|
|
105
|
+
|
|
99
106
|
### Data Flow Transforms (CRITICAL for array reshaping)
|
|
100
107
|
When a source step produces an array of objects in one format but the consuming step expects a DIFFERENT format, add a \`transform\` to the data_flow edge. Compare the source step's result structure with the consuming step's actual arguments from the trace.
|
|
101
108
|
|
|
@@ -106,10 +113,20 @@ Add a transform with:
|
|
|
106
113
|
- \`field_map\`: maps target keys → source keys (e.g., \`{"url": "href"}\`). Use null for keys not in the source.
|
|
107
114
|
- \`defaults\`: static values to inject (e.g., \`{"wait_ms": 3000, "full_page": true}\`)
|
|
108
115
|
- \`derivations\`: for computed keys (null in field_map), how to derive them from source data
|
|
109
|
-
- strategy: "slugify" (lowercase, replace spaces/special with hyphens), "prefix", "template"
|
|
116
|
+
- strategy: "slugify" (lowercase, replace spaces/special with hyphens), "prefix", "template", "concat"
|
|
110
117
|
- source_key: which source field to derive from
|
|
111
118
|
- prefix/suffix/template: string manipulation params
|
|
112
119
|
|
|
120
|
+
Available derivation strategies:
|
|
121
|
+
- **slugify**: Lowercase, replace spaces/special chars with hyphens. Optionally add prefix/suffix.
|
|
122
|
+
- **prefix**: Prepend a static string.
|
|
123
|
+
- **template**: Format string with \`{value}\` (source field) and \`{date}\` (today's date as YYYY-MM-DD via @date.yyyymmdd).
|
|
124
|
+
- **concat**: Join multiple parts. Each part can use \`{value}\` and \`{date}\` placeholders.
|
|
125
|
+
Example: \`{ "strategy": "concat", "parts": ["{value}", "-", "{date}"] }\` produces \`my-slug-2026-04-17\`.
|
|
126
|
+
- **passthrough**: No transformation.
|
|
127
|
+
|
|
128
|
+
Use these when the workflow needs runtime-computed values (date-stamped filenames, slugified URLs, templated paths).
|
|
129
|
+
|
|
113
130
|
Example edge with transform:
|
|
114
131
|
\`\`\`
|
|
115
132
|
{
|
|
@@ -132,6 +149,27 @@ Example edge with transform:
|
|
|
132
149
|
|
|
133
150
|
IMPORTANT: Check EVERY array-typed data_flow edge. Compare the source step's result item keys with the consuming step's argument item keys. If they differ, add a transform. Look at the actual tool_arguments in the execution trace to determine the correct field_map, defaults, and derivations.
|
|
134
151
|
|
|
152
|
+
### Scalar Derivations on Data Flow Edges
|
|
153
|
+
When a scalar value needs runtime transformation before reaching its consumer, add a \`derivation\` to the data_flow edge (NOT a \`transform\` — transforms are for array reshaping). Derivations generate runtime expressions for string manipulation.
|
|
154
|
+
|
|
155
|
+
Common use case: the user's prompt mentions a pattern like "save with key slug-{date}" or "name it {something}-{today's date}". The trigger provides the base value, and the derivation appends or formats it at runtime.
|
|
156
|
+
|
|
157
|
+
Add a \`derivation\` field to the data_flow edge:
|
|
158
|
+
\`\`\`
|
|
159
|
+
{
|
|
160
|
+
"from_step": "trigger", "from_field": "key", "to_step": 3, "to_field": "key",
|
|
161
|
+
"is_session_wire": false,
|
|
162
|
+
"derivation": { "strategy": "concat", "parts": ["{value}", "-", "{date}"] }
|
|
163
|
+
}
|
|
164
|
+
\`\`\`
|
|
165
|
+
|
|
166
|
+
This produces a runtime-computed key like \`my-slug-2026-04-17\`. The \`{value}\` placeholder is the source field value; \`{date}\` is today's ISO date (YYYY-MM-DD).
|
|
167
|
+
|
|
168
|
+
Use derivations when:
|
|
169
|
+
- The user wants date-stamped keys, filenames, or identifiers
|
|
170
|
+
- A value needs a prefix/suffix added at runtime
|
|
171
|
+
- Two values need to be concatenated
|
|
172
|
+
|
|
135
173
|
### Input Classification
|
|
136
174
|
- **dynamic**: Simple values callers MUST provide: URLs, credentials, file paths, queries, search terms. These are always scalar strings, numbers, or booleans — NEVER complex objects or arrays.
|
|
137
175
|
- **fixed**: Implementation details with sensible defaults: selectors, timeouts, boolean flags, AND complex structured arguments like \`steps\` arrays, \`login\` objects, or \`pages\` arrays. These are baked into stored tool_arguments.
|
|
@@ -145,6 +183,11 @@ Flatten nested objects containing dynamic values. E.g., \`login: {url, username,
|
|
|
145
183
|
|
|
146
184
|
**Arrays that were DISCOVERED at runtime (by a prior step) are NOT inputs.** They flow between steps via data_flow edges. Only make an array a trigger input if the user explicitly provided it in their prompt. If the array was produced by a discovery step (extract_content, query, list), keep the discovery step as core and wire its output to the consuming step.
|
|
147
185
|
|
|
186
|
+
### Prompt-Mentioned Values Are Dynamic
|
|
187
|
+
If a scalar value (URL, domain name, file path, key name, slug, query string) appears verbatim or closely paraphrased in the user's original prompt, classify it as **dynamic**. The user explicitly chose that value for this execution and will want to change it next time. Only classify a prompt-mentioned value as fixed if it is unambiguously an implementation constant (a CSS selector, a timeout, a boolean flag).
|
|
188
|
+
|
|
189
|
+
This is the most common compilation error: treating the user's specific request values as universal defaults. When in doubt, make it dynamic.
|
|
190
|
+
|
|
148
191
|
### Data Flow Wiring Precision
|
|
149
192
|
- **Only wire inputs that semantically match.** A directory name (e.g., \`screenshot_dir = "screenshots"\`) must NOT be wired to a file path argument (e.g., \`screenshot_path\` which expects \`"screenshots/home.png"\`). If a tool argument needs a specific file path but the trigger only provides a directory, leave that argument unwired — the stored tool_arguments default will provide the correct value.
|
|
150
193
|
- **Trigger inputs should map to the EXACT tool argument they represent.** Don't reuse a trigger input for a different-purpose argument just because the names are vaguely related.
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
export declare const CREATE_YAML_WORKFLOW = "\n INSERT INTO lt_yaml_workflows\n (name, description, app_id, app_version, source_workflow_id,\n source_workflow_type, yaml_content, graph_topic,\n input_schema, output_schema, activity_manifest, input_field_meta,\n original_prompt, category, tags, metadata, content_version)\n VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, 1)\n RETURNING *";
|
|
1
|
+
export declare const CREATE_YAML_WORKFLOW = "\n INSERT INTO lt_yaml_workflows\n (name, description, app_id, app_version, source_workflow_id,\n source_workflow_type, yaml_content, graph_topic,\n input_schema, output_schema, activity_manifest, input_field_meta,\n original_prompt, category, tags, metadata, content_version,\n set_id, set_role, set_build_order)\n VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, 1, $17, $18, $19)\n RETURNING *";
|
|
2
|
+
export declare const CHECK_TOPIC_UNIQUE = "\n SELECT id, name FROM lt_yaml_workflows\n WHERE app_id = $1 AND graph_topic = $2 AND status != 'archived'\n LIMIT 1";
|
|
2
3
|
export declare const GET_YAML_WORKFLOW = "\n SELECT * FROM lt_yaml_workflows WHERE id = $1";
|
|
3
4
|
export declare const GET_YAML_WORKFLOW_BY_NAME = "\n SELECT * FROM lt_yaml_workflows WHERE name = $1";
|
|
4
5
|
export declare const UPDATE_YAML_WORKFLOW_VERSION = "\n UPDATE lt_yaml_workflows SET app_version = $2 WHERE id = $1";
|
|
@@ -15,5 +16,8 @@ export declare const DISCOVER_WORKFLOWS = "\n SELECT *,\n ts_rank_cd(search_
|
|
|
15
16
|
export declare const GET_VERSION_SNAPSHOT = "\n SELECT * FROM lt_yaml_workflow_versions\n WHERE workflow_id = $1 AND version = $2";
|
|
16
17
|
export declare const UPDATE_STATUS_BASE = "UPDATE lt_yaml_workflows SET status = $2";
|
|
17
18
|
export declare const UPDATE_STATUS_SUFFIX = " WHERE id = $1 RETURNING *";
|
|
19
|
+
export declare const UPDATE_CRON_SCHEDULE = "\n UPDATE lt_yaml_workflows\n SET cron_schedule = $2, cron_envelope = $3, execute_as = $4\n WHERE id = $1\n RETURNING *";
|
|
20
|
+
export declare const CLEAR_CRON_SCHEDULE = "\n UPDATE lt_yaml_workflows\n SET cron_schedule = NULL, cron_envelope = NULL, execute_as = NULL\n WHERE id = $1\n RETURNING *";
|
|
21
|
+
export declare const GET_CRON_SCHEDULED_WORKFLOWS = "\n SELECT * FROM lt_yaml_workflows\n WHERE cron_schedule IS NOT NULL AND status = 'active'\n ORDER BY name";
|
|
18
22
|
export declare const FIND_BY_TAGS_ANY = "\n SELECT * FROM lt_yaml_workflows\n WHERE status = 'active' AND tags && $1::text[]\n ORDER BY name";
|
|
19
23
|
export declare const FIND_BY_TAGS_ALL = "\n SELECT * FROM lt_yaml_workflows\n WHERE status = 'active' AND tags @> $1::text[]\n ORDER BY name";
|
|
@@ -1,15 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// ─── YAML workflow CRUD ─────────────────────────────────────────────────────
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.FIND_BY_TAGS_ALL = exports.FIND_BY_TAGS_ANY = exports.UPDATE_STATUS_SUFFIX = exports.UPDATE_STATUS_BASE = exports.GET_VERSION_SNAPSHOT = exports.DISCOVER_WORKFLOWS = exports.LIST_VERSIONS = exports.COUNT_VERSIONS = exports.CREATE_VERSION_SNAPSHOT = exports.MARK_APP_ID_CONTENT_DEPLOYED = exports.MARK_CONTENT_DEPLOYED = exports.GET_DISTINCT_APP_IDS = exports.LIST_BY_APP_ID = exports.GET_ACTIVE_YAML_WORKFLOWS = exports.DELETE_YAML_WORKFLOW = exports.UPDATE_YAML_WORKFLOW_VERSION = exports.GET_YAML_WORKFLOW_BY_NAME = exports.GET_YAML_WORKFLOW = exports.CREATE_YAML_WORKFLOW = void 0;
|
|
4
|
+
exports.FIND_BY_TAGS_ALL = exports.FIND_BY_TAGS_ANY = exports.GET_CRON_SCHEDULED_WORKFLOWS = exports.CLEAR_CRON_SCHEDULE = exports.UPDATE_CRON_SCHEDULE = exports.UPDATE_STATUS_SUFFIX = exports.UPDATE_STATUS_BASE = exports.GET_VERSION_SNAPSHOT = exports.DISCOVER_WORKFLOWS = exports.LIST_VERSIONS = exports.COUNT_VERSIONS = exports.CREATE_VERSION_SNAPSHOT = exports.MARK_APP_ID_CONTENT_DEPLOYED = exports.MARK_CONTENT_DEPLOYED = exports.GET_DISTINCT_APP_IDS = exports.LIST_BY_APP_ID = exports.GET_ACTIVE_YAML_WORKFLOWS = exports.DELETE_YAML_WORKFLOW = exports.UPDATE_YAML_WORKFLOW_VERSION = exports.GET_YAML_WORKFLOW_BY_NAME = exports.GET_YAML_WORKFLOW = exports.CHECK_TOPIC_UNIQUE = exports.CREATE_YAML_WORKFLOW = void 0;
|
|
5
5
|
exports.CREATE_YAML_WORKFLOW = `
|
|
6
6
|
INSERT INTO lt_yaml_workflows
|
|
7
7
|
(name, description, app_id, app_version, source_workflow_id,
|
|
8
8
|
source_workflow_type, yaml_content, graph_topic,
|
|
9
9
|
input_schema, output_schema, activity_manifest, input_field_meta,
|
|
10
|
-
original_prompt, category, tags, metadata, content_version
|
|
11
|
-
|
|
10
|
+
original_prompt, category, tags, metadata, content_version,
|
|
11
|
+
set_id, set_role, set_build_order)
|
|
12
|
+
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, 1, $17, $18, $19)
|
|
12
13
|
RETURNING *`;
|
|
14
|
+
exports.CHECK_TOPIC_UNIQUE = `
|
|
15
|
+
SELECT id, name FROM lt_yaml_workflows
|
|
16
|
+
WHERE app_id = $1 AND graph_topic = $2 AND status != 'archived'
|
|
17
|
+
LIMIT 1`;
|
|
13
18
|
exports.GET_YAML_WORKFLOW = `
|
|
14
19
|
SELECT * FROM lt_yaml_workflows WHERE id = $1`;
|
|
15
20
|
exports.GET_YAML_WORKFLOW_BY_NAME = `
|
|
@@ -72,6 +77,21 @@ exports.GET_VERSION_SNAPSHOT = `
|
|
|
72
77
|
// ─── Status updates ─────────────────────────────────────────────────────────
|
|
73
78
|
exports.UPDATE_STATUS_BASE = `UPDATE lt_yaml_workflows SET status = $2`;
|
|
74
79
|
exports.UPDATE_STATUS_SUFFIX = ` WHERE id = $1 RETURNING *`;
|
|
80
|
+
// ─── Cron scheduling ────────────────────────────────────────────────────────
|
|
81
|
+
exports.UPDATE_CRON_SCHEDULE = `
|
|
82
|
+
UPDATE lt_yaml_workflows
|
|
83
|
+
SET cron_schedule = $2, cron_envelope = $3, execute_as = $4
|
|
84
|
+
WHERE id = $1
|
|
85
|
+
RETURNING *`;
|
|
86
|
+
exports.CLEAR_CRON_SCHEDULE = `
|
|
87
|
+
UPDATE lt_yaml_workflows
|
|
88
|
+
SET cron_schedule = NULL, cron_envelope = NULL, execute_as = NULL
|
|
89
|
+
WHERE id = $1
|
|
90
|
+
RETURNING *`;
|
|
91
|
+
exports.GET_CRON_SCHEDULED_WORKFLOWS = `
|
|
92
|
+
SELECT * FROM lt_yaml_workflows
|
|
93
|
+
WHERE cron_schedule IS NOT NULL AND status = 'active'
|
|
94
|
+
ORDER BY name`;
|
|
75
95
|
// ─── Tag-based lookup ────────────────────────────────────────────────────────
|
|
76
96
|
exports.FIND_BY_TAGS_ANY = `
|
|
77
97
|
SELECT * FROM lt_yaml_workflows
|
|
@@ -24,6 +24,9 @@ export interface CreateYamlWorkflowInput {
|
|
|
24
24
|
category?: string;
|
|
25
25
|
tags?: string[];
|
|
26
26
|
metadata?: Record<string, unknown>;
|
|
27
|
+
set_id?: string;
|
|
28
|
+
set_role?: 'leaf' | 'composition' | 'router';
|
|
29
|
+
set_build_order?: number;
|
|
27
30
|
}
|
|
28
31
|
/** Mutable state accumulated while building the YAML DAG. */
|
|
29
32
|
export interface DagBuilder {
|
|
@@ -108,12 +111,24 @@ export interface DataFlowEdge {
|
|
|
108
111
|
/** For computed fields (null in fieldMap): derivation hint. */
|
|
109
112
|
derivations?: Record<string, {
|
|
110
113
|
sourceKey: string;
|
|
111
|
-
strategy: 'slugify' | 'prefix' | 'template' | 'passthrough';
|
|
114
|
+
strategy: 'slugify' | 'prefix' | 'template' | 'passthrough' | 'concat';
|
|
112
115
|
prefix?: string;
|
|
113
116
|
suffix?: string;
|
|
114
117
|
template?: string;
|
|
118
|
+
parts?: string[];
|
|
115
119
|
}>;
|
|
116
120
|
};
|
|
121
|
+
/**
|
|
122
|
+
* Scalar derivation applied to the wired value before it reaches the consumer.
|
|
123
|
+
* Generates a HotMesh @pipe expression in the YAML input maps.
|
|
124
|
+
*/
|
|
125
|
+
derivation?: {
|
|
126
|
+
strategy: 'concat' | 'template' | 'prefix' | 'slugify' | 'passthrough';
|
|
127
|
+
parts?: string[];
|
|
128
|
+
template?: string;
|
|
129
|
+
prefix?: string;
|
|
130
|
+
suffix?: string;
|
|
131
|
+
};
|
|
117
132
|
}
|
|
118
133
|
/** Per-step semantic annotation from the LLM. */
|
|
119
134
|
export interface StepSpec {
|
|
@@ -47,6 +47,8 @@ function compactForLlm(input) {
|
|
|
47
47
|
*/
|
|
48
48
|
function buildLlmCallback(activity) {
|
|
49
49
|
return async (data) => {
|
|
50
|
+
const wfName = data.data?.workflowName || activity.workflow_name || activity.activity_id;
|
|
51
|
+
logger_1.loggerRegistry.debug(`[yaml-workflow:worker] entering llm wf=${wfName} argKeys=[${Object.keys(data.data || {}).join(',')}]`);
|
|
50
52
|
const rawInput = (data.data || {});
|
|
51
53
|
const input = compactForLlm(rawInput);
|
|
52
54
|
const template = activity.prompt_template || '';
|
|
@@ -98,7 +100,7 @@ function buildLlmCallback(activity) {
|
|
|
98
100
|
catch {
|
|
99
101
|
result = { response: content };
|
|
100
102
|
}
|
|
101
|
-
logger_1.loggerRegistry.
|
|
103
|
+
logger_1.loggerRegistry.debug(`[yaml-workflow:worker] leaving llm wf=${wfName} resultType=${typeof result}`);
|
|
102
104
|
return {
|
|
103
105
|
metadata: { ...data.metadata },
|
|
104
106
|
data: result,
|
|
@@ -130,8 +132,16 @@ function applyDerivation(value, spec) {
|
|
|
130
132
|
result = (spec.prefix || '') + result + (spec.suffix || '');
|
|
131
133
|
break;
|
|
132
134
|
case 'template':
|
|
133
|
-
result = (spec.template || '{value}')
|
|
135
|
+
result = (spec.template || '{value}')
|
|
136
|
+
.replace(/\{value\}/g, result)
|
|
137
|
+
.replace(/\{date\}/g, new Date().toISOString().slice(0, 10));
|
|
134
138
|
break;
|
|
139
|
+
case 'concat': {
|
|
140
|
+
const parts = spec.parts || ['{value}'];
|
|
141
|
+
result = parts.map((p) => p.replace(/\{value\}/g, result)
|
|
142
|
+
.replace(/\{date\}/g, new Date().toISOString().slice(0, 10))).join('');
|
|
143
|
+
break;
|
|
144
|
+
}
|
|
135
145
|
case 'passthrough':
|
|
136
146
|
break;
|
|
137
147
|
}
|
|
@@ -146,9 +156,12 @@ function buildTransformCallback(activity) {
|
|
|
146
156
|
if (!spec)
|
|
147
157
|
throw new Error(`Transform activity ${activity.activity_id} missing transform_spec`);
|
|
148
158
|
return async (data) => {
|
|
159
|
+
const wfName = data.data?.workflowName || activity.workflow_name || activity.activity_id;
|
|
160
|
+
logger_1.loggerRegistry.debug(`[yaml-workflow:worker] entering transform wf=${wfName} source=${spec.sourceField} target=${spec.targetField} argKeys=[${Object.keys(data.data || {}).join(',')}]`);
|
|
149
161
|
const input = (data.data || {});
|
|
150
162
|
const sourceData = input[spec.sourceField];
|
|
151
163
|
if (!Array.isArray(sourceData)) {
|
|
164
|
+
logger_1.loggerRegistry.debug(`[yaml-workflow:worker] leaving transform wf=${wfName} passthrough (source not array)`);
|
|
152
165
|
// Pass through non-array data unchanged
|
|
153
166
|
return {
|
|
154
167
|
metadata: { ...data.metadata },
|
|
@@ -186,6 +199,7 @@ function buildTransformCallback(activity) {
|
|
|
186
199
|
});
|
|
187
200
|
// Return reshaped data alongside any other input fields (session handles, etc.)
|
|
188
201
|
const result = { ...input, [spec.targetField]: reshaped };
|
|
202
|
+
logger_1.loggerRegistry.debug(`[yaml-workflow:worker] leaving transform wf=${wfName} reshapedCount=${reshaped.length} resultKeys=[${Object.keys(result).join(',')}]`);
|
|
189
203
|
return {
|
|
190
204
|
metadata: { ...data.metadata },
|
|
191
205
|
data: result,
|
|
@@ -54,6 +54,11 @@ const registeredTopics = new Set();
|
|
|
54
54
|
* - 'llm' -> callLLM() with prompt template interpolation
|
|
55
55
|
*/
|
|
56
56
|
async function registerWorkersForWorkflow(workflow) {
|
|
57
|
+
const defaultRetry = {
|
|
58
|
+
maximumAttempts: 3,
|
|
59
|
+
backoffCoefficient: 2,
|
|
60
|
+
maximumInterval: 30,
|
|
61
|
+
};
|
|
57
62
|
const workerConfigs = [];
|
|
58
63
|
// Clear previously registered workers for this workflow so redeployments
|
|
59
64
|
// pick up updated manifests (e.g., new hook_topic bindings).
|
|
@@ -94,6 +99,7 @@ async function registerWorkersForWorkflow(workflow) {
|
|
|
94
99
|
topic: activity.topic,
|
|
95
100
|
workflowName: activity.workflow_name,
|
|
96
101
|
connection: (0, db_1.getConnection)(),
|
|
102
|
+
retry: defaultRetry,
|
|
97
103
|
callback: wrap((0, callbacks_1.buildTransformCallback)(activity)),
|
|
98
104
|
});
|
|
99
105
|
}
|
|
@@ -103,6 +109,7 @@ async function registerWorkersForWorkflow(workflow) {
|
|
|
103
109
|
topic: activity.topic,
|
|
104
110
|
workflowName: activity.workflow_name,
|
|
105
111
|
connection: (0, db_1.getConnection)(),
|
|
112
|
+
retry: defaultRetry,
|
|
106
113
|
callback: wrap((0, callbacks_1.buildLlmCallback)(activity)),
|
|
107
114
|
});
|
|
108
115
|
}
|
|
@@ -116,13 +123,17 @@ async function registerWorkersForWorkflow(workflow) {
|
|
|
116
123
|
topic: activity.topic,
|
|
117
124
|
workflowName: activity.workflow_name,
|
|
118
125
|
connection: (0, db_1.getConnection)(),
|
|
126
|
+
retry: defaultRetry,
|
|
119
127
|
callback: wrap(async (data) => {
|
|
128
|
+
const wfName = data.data?.workflowName || activity.workflow_name || toolName;
|
|
129
|
+
logger_1.loggerRegistry.debug(`[yaml-workflow:worker] entering db/${toolName} wf=${wfName} argKeys=[${Object.keys(data.data || {}).join(',')}]`);
|
|
120
130
|
const args = (data.data || {});
|
|
121
131
|
let mergedArgs = toolArgs ? { ...toolArgs, ...args } : args;
|
|
122
132
|
delete mergedArgs._scope;
|
|
123
133
|
delete mergedArgs.workflowName;
|
|
124
134
|
mergedArgs = await (0, ephemeral_1.exchangeTokensInArgs)(mergedArgs);
|
|
125
135
|
const result = await mcpClient.callServerTool(dbServerId, toolName, mergedArgs);
|
|
136
|
+
logger_1.loggerRegistry.debug(`[yaml-workflow:worker] leaving db/${toolName} wf=${wfName} resultKeys=[${Object.keys(result || {}).join(',')}]`);
|
|
126
137
|
return { metadata: { ...data.metadata }, data: result };
|
|
127
138
|
}),
|
|
128
139
|
});
|
|
@@ -136,6 +147,11 @@ async function registerWorkersForWorkflow(workflow) {
|
|
|
136
147
|
continue;
|
|
137
148
|
const storedArgs = activity.tool_arguments;
|
|
138
149
|
const yamlHookTopic = hookTopicByEscalationTool.get(activity.activity_id);
|
|
150
|
+
// Identify keys that are wired via input_mappings. When a wired key
|
|
151
|
+
// resolves to nothing (upstream step failed/returned null), we must
|
|
152
|
+
// NOT fall back to stored tool_arguments — that would leak hardcoded
|
|
153
|
+
// values from the original execution trace.
|
|
154
|
+
const wiredKeys = new Set(Object.keys(activity.input_mappings || {}).filter(k => k !== '_scope' && k !== 'workflowName'));
|
|
139
155
|
if (toolName === 'escalate_and_wait') {
|
|
140
156
|
logger_1.loggerRegistry.info(`[yaml-workflow] escalate_and_wait worker: activityId=${activity.activity_id}, hookTopic=${yamlHookTopic || 'NONE'}, mapKeys=[${[...hookTopicByEscalationTool.keys()].join(',')}]`);
|
|
141
157
|
}
|
|
@@ -143,16 +159,26 @@ async function registerWorkersForWorkflow(workflow) {
|
|
|
143
159
|
topic: activity.topic,
|
|
144
160
|
workflowName: activity.workflow_name,
|
|
145
161
|
connection: (0, db_1.getConnection)(),
|
|
162
|
+
retry: defaultRetry,
|
|
146
163
|
callback: wrap(async (data) => {
|
|
164
|
+
const wfName = data.data?.workflowName || activity.workflow_name || toolName;
|
|
165
|
+
logger_1.loggerRegistry.debug(`[yaml-workflow:worker] entering mcp/${toolName} wf=${wfName} server=${serverId} argKeys=[${Object.keys(data.data || {}).join(',')}]`);
|
|
147
166
|
const args = (data.data || {});
|
|
167
|
+
// Start from stored defaults, then strip any wired keys that
|
|
168
|
+
// didn't arrive (upstream failure) so stale defaults don't leak.
|
|
148
169
|
const mergedArgs = storedArgs ? { ...storedArgs } : {};
|
|
170
|
+
for (const wk of wiredKeys) {
|
|
171
|
+
if (!(wk in args))
|
|
172
|
+
delete mergedArgs[wk];
|
|
173
|
+
}
|
|
149
174
|
for (const [key, value] of Object.entries(args)) {
|
|
150
175
|
if (key === '_scope' || key === 'workflowName')
|
|
151
176
|
continue;
|
|
152
|
-
if (value !== undefined
|
|
177
|
+
if (value !== undefined) {
|
|
153
178
|
mergedArgs[key] = value;
|
|
154
179
|
}
|
|
155
180
|
}
|
|
181
|
+
logger_1.loggerRegistry.debug(`[yaml-workflow:worker] merged mcp/${toolName} wf=${wfName} mergedKeys=[${Object.keys(mergedArgs).join(',')}]`);
|
|
156
182
|
// For escalate_and_wait: inject YAML signal routing so the MCP tool
|
|
157
183
|
// stores engine:'yaml' + hookTopic + jobId in the escalation metadata
|
|
158
184
|
if (yamlHookTopic) {
|
|
@@ -172,6 +198,10 @@ async function registerWorkersForWorkflow(workflow) {
|
|
|
172
198
|
if (result && typeof result === 'object' && 'error' in result) {
|
|
173
199
|
logger_1.loggerRegistry.error(`[yaml-workflow:worker] ${toolName} error: ${JSON.stringify(result).slice(0, 200)}`);
|
|
174
200
|
}
|
|
201
|
+
if (result == null) {
|
|
202
|
+
logger_1.loggerRegistry.warn(`[yaml-workflow:worker] ${toolName} returned null/undefined`);
|
|
203
|
+
}
|
|
204
|
+
logger_1.loggerRegistry.debug(`[yaml-workflow:worker] leaving mcp/${toolName} wf=${wfName} resultKeys=[${Object.keys(result || {}).join(',')}]`);
|
|
175
205
|
return { metadata: { ...data.metadata }, data: result };
|
|
176
206
|
}),
|
|
177
207
|
});
|
|
@@ -186,6 +216,11 @@ async function registerWorkersForWorkflow(workflow) {
|
|
|
186
216
|
guid: `compiled::${workflow.graph_topic}-${hotmesh_1.HotMesh.guid()}`,
|
|
187
217
|
engine: {
|
|
188
218
|
connection: (0, db_1.getConnection)(),
|
|
219
|
+
retry: {
|
|
220
|
+
maximumAttempts: 3,
|
|
221
|
+
backoffCoefficient: 2,
|
|
222
|
+
maximumInterval: '30s',
|
|
223
|
+
},
|
|
189
224
|
},
|
|
190
225
|
workers: workerConfigs,
|
|
191
226
|
});
|
package/build/start/adapters.js
CHANGED
|
@@ -8,6 +8,7 @@ const honeycomb_1 = require("../lib/telemetry/honeycomb");
|
|
|
8
8
|
const events_1 = require("../lib/events");
|
|
9
9
|
const nats_1 = require("../lib/events/nats");
|
|
10
10
|
const socketio_1 = require("../lib/events/socketio");
|
|
11
|
+
const callback_1 = require("../lib/events/callback");
|
|
11
12
|
const maintenance_1 = require("../services/maintenance");
|
|
12
13
|
const maintenance_2 = require("../modules/maintenance");
|
|
13
14
|
const mcp_1 = require("../services/mcp");
|
|
@@ -47,6 +48,9 @@ function registerAdapters(startConfig) {
|
|
|
47
48
|
}
|
|
48
49
|
events_1.eventRegistry.register(new socketio_1.SocketIOEventAdapter());
|
|
49
50
|
}
|
|
51
|
+
// Always register the callback adapter for SDK event subscriptions.
|
|
52
|
+
// Zero-cost when no listeners are registered.
|
|
53
|
+
events_1.eventRegistry.register(new callback_1.CallbackEventAdapter());
|
|
50
54
|
// Maintenance
|
|
51
55
|
if (startConfig.maintenance === false) {
|
|
52
56
|
// Disabled
|
package/build/system/index.js
CHANGED
|
@@ -77,6 +77,18 @@ function getSystemWorkers() {
|
|
|
77
77
|
workers.push({ taskQueue: 'long-tail-system', workflow: mcpDeterministic });
|
|
78
78
|
}
|
|
79
79
|
catch { /* not available */ }
|
|
80
|
+
// ── Workflow builder (direct YAML construction) ──
|
|
81
|
+
try {
|
|
82
|
+
const { mcpWorkflowBuilder } = require('./workflows/mcp-workflow-builder');
|
|
83
|
+
workers.push({ taskQueue: 'long-tail-system', workflow: mcpWorkflowBuilder });
|
|
84
|
+
}
|
|
85
|
+
catch { /* not available */ }
|
|
86
|
+
// ── Workflow planner (multi-workflow plan mode) ──
|
|
87
|
+
try {
|
|
88
|
+
const { mcpWorkflowPlanner } = require('./workflows/mcp-workflow-planner');
|
|
89
|
+
workers.push({ taskQueue: 'long-tail-system', workflow: mcpWorkflowPlanner });
|
|
90
|
+
}
|
|
91
|
+
catch { /* not available */ }
|
|
80
92
|
}
|
|
81
93
|
return workers;
|
|
82
94
|
}
|
|
@@ -27,10 +27,10 @@ export declare const findTasksSchema: z.ZodObject<{
|
|
|
27
27
|
}, {
|
|
28
28
|
status?: string | undefined;
|
|
29
29
|
workflow_type?: string | undefined;
|
|
30
|
-
limit?: number | undefined;
|
|
31
30
|
workflow_id?: string | undefined;
|
|
32
|
-
|
|
31
|
+
limit?: number | undefined;
|
|
33
32
|
offset?: number | undefined;
|
|
33
|
+
origin_id?: string | undefined;
|
|
34
34
|
}>;
|
|
35
35
|
export declare const getProcessDetailSchema: z.ZodObject<{
|
|
36
36
|
origin_id: z.ZodString;
|
|
@@ -57,9 +57,9 @@ export declare const findEscalationsSchema: z.ZodObject<{
|
|
|
57
57
|
role?: string | undefined;
|
|
58
58
|
status?: "pending" | "resolved" | undefined;
|
|
59
59
|
type?: string | undefined;
|
|
60
|
-
priority?: number | undefined;
|
|
61
60
|
limit?: number | undefined;
|
|
62
61
|
offset?: number | undefined;
|
|
62
|
+
priority?: number | undefined;
|
|
63
63
|
}>;
|
|
64
64
|
export declare const getEscalationStatsSchema: z.ZodObject<{
|
|
65
65
|
period: z.ZodOptional<z.ZodString>;
|
|
@@ -180,12 +180,12 @@ export declare const listMcpServersSchema: z.ZodObject<{
|
|
|
180
180
|
limit: number;
|
|
181
181
|
offset: number;
|
|
182
182
|
status?: string | undefined;
|
|
183
|
-
search?: string | undefined;
|
|
184
183
|
tags?: string | undefined;
|
|
184
|
+
search?: string | undefined;
|
|
185
185
|
}, {
|
|
186
186
|
status?: string | undefined;
|
|
187
|
-
search?: string | undefined;
|
|
188
187
|
tags?: string | undefined;
|
|
188
|
+
search?: string | undefined;
|
|
189
189
|
limit?: number | undefined;
|
|
190
190
|
offset?: number | undefined;
|
|
191
191
|
}>;
|
|
@@ -199,14 +199,14 @@ export declare const updateMcpServerSchema: z.ZodObject<{
|
|
|
199
199
|
id: string;
|
|
200
200
|
name?: string | undefined;
|
|
201
201
|
description?: string | undefined;
|
|
202
|
-
auto_connect?: boolean | undefined;
|
|
203
202
|
tags?: string[] | undefined;
|
|
203
|
+
auto_connect?: boolean | undefined;
|
|
204
204
|
}, {
|
|
205
205
|
id: string;
|
|
206
206
|
name?: string | undefined;
|
|
207
207
|
description?: string | undefined;
|
|
208
|
-
auto_connect?: boolean | undefined;
|
|
209
208
|
tags?: string[] | undefined;
|
|
209
|
+
auto_connect?: boolean | undefined;
|
|
210
210
|
}>;
|
|
211
211
|
export declare const connectMcpServerSchema: z.ZodObject<{
|
|
212
212
|
id: z.ZodString;
|
|
@@ -233,15 +233,15 @@ export declare const listYamlWorkflowsSchema: z.ZodObject<{
|
|
|
233
233
|
limit: number;
|
|
234
234
|
offset: number;
|
|
235
235
|
status?: string | undefined;
|
|
236
|
-
search?: string | undefined;
|
|
237
236
|
app_id?: string | undefined;
|
|
238
237
|
source_workflow_id?: string | undefined;
|
|
238
|
+
search?: string | undefined;
|
|
239
239
|
}, {
|
|
240
240
|
status?: string | undefined;
|
|
241
|
-
search?: string | undefined;
|
|
242
|
-
limit?: number | undefined;
|
|
243
241
|
app_id?: string | undefined;
|
|
244
242
|
source_workflow_id?: string | undefined;
|
|
243
|
+
search?: string | undefined;
|
|
244
|
+
limit?: number | undefined;
|
|
245
245
|
offset?: number | undefined;
|
|
246
246
|
}>;
|
|
247
247
|
export declare const getYamlWorkflowSchema: z.ZodObject<{
|
|
@@ -266,8 +266,8 @@ export declare const createYamlWorkflowSchema: z.ZodObject<{
|
|
|
266
266
|
workflow_id: string;
|
|
267
267
|
workflow_name: string;
|
|
268
268
|
description?: string | undefined;
|
|
269
|
-
tags?: string[] | undefined;
|
|
270
269
|
app_id?: string | undefined;
|
|
270
|
+
tags?: string[] | undefined;
|
|
271
271
|
compilation_feedback?: string | undefined;
|
|
272
272
|
}, {
|
|
273
273
|
name: string;
|
|
@@ -275,8 +275,8 @@ export declare const createYamlWorkflowSchema: z.ZodObject<{
|
|
|
275
275
|
workflow_id: string;
|
|
276
276
|
workflow_name: string;
|
|
277
277
|
description?: string | undefined;
|
|
278
|
-
tags?: string[] | undefined;
|
|
279
278
|
app_id?: string | undefined;
|
|
279
|
+
tags?: string[] | undefined;
|
|
280
280
|
compilation_feedback?: string | undefined;
|
|
281
281
|
}>;
|
|
282
282
|
export declare const deployYamlWorkflowSchema: z.ZodObject<{
|
|
@@ -14,8 +14,8 @@ export declare const findTasksSchema: z.ZodObject<{
|
|
|
14
14
|
}, {
|
|
15
15
|
status?: "pending" | "in_progress" | "completed" | "needs_intervention" | "failed" | undefined;
|
|
16
16
|
workflow_type?: string | undefined;
|
|
17
|
-
limit?: number | undefined;
|
|
18
17
|
workflow_id?: string | undefined;
|
|
18
|
+
limit?: number | undefined;
|
|
19
19
|
origin_id?: string | undefined;
|
|
20
20
|
}>;
|
|
21
21
|
export declare const findEscalationsSchema: z.ZodObject<{
|
|
@@ -34,8 +34,8 @@ export declare const findEscalationsSchema: z.ZodObject<{
|
|
|
34
34
|
role?: string | undefined;
|
|
35
35
|
status?: "pending" | "resolved" | undefined;
|
|
36
36
|
type?: string | undefined;
|
|
37
|
-
priority?: number | undefined;
|
|
38
37
|
limit?: number | undefined;
|
|
38
|
+
priority?: number | undefined;
|
|
39
39
|
}>;
|
|
40
40
|
export declare const getProcessSummarySchema: z.ZodObject<{
|
|
41
41
|
workflow_type: z.ZodOptional<z.ZodString>;
|
|
@@ -41,7 +41,7 @@ const knowledge = __importStar(require("../activities/knowledge"));
|
|
|
41
41
|
const storeSchema = zod_1.z.object({
|
|
42
42
|
domain: zod_1.z.string().describe('Knowledge domain (namespace)'),
|
|
43
43
|
key: zod_1.z.string().describe('Unique key within domain'),
|
|
44
|
-
data: zod_1.z.record(zod_1.z.any()).describe('JSONB payload to store'),
|
|
44
|
+
data: zod_1.z.record(zod_1.z.any()).describe('JSONB object payload to store (must be an object, not a string — wrap text as { "description": "..." })'),
|
|
45
45
|
tags: zod_1.z.array(zod_1.z.string()).optional().describe('Categorization tags'),
|
|
46
46
|
});
|
|
47
47
|
const getSchema = zod_1.z.object({
|
|
@@ -71,29 +71,29 @@ export declare const screenshotSchema: z.ZodObject<{
|
|
|
71
71
|
describe: z.ZodOptional<z.ZodBoolean>;
|
|
72
72
|
}, "strip", z.ZodTypeAny, {
|
|
73
73
|
path: string;
|
|
74
|
-
url?: string | undefined;
|
|
75
74
|
page_id?: string | undefined;
|
|
76
75
|
_handle?: {
|
|
77
76
|
type: "playwright_page";
|
|
78
77
|
page_id: string;
|
|
79
78
|
cdp_endpoint?: string | undefined;
|
|
80
79
|
} | undefined;
|
|
80
|
+
url?: string | undefined;
|
|
81
|
+
selector?: string | undefined;
|
|
81
82
|
wait_until?: "load" | "domcontentloaded" | "networkidle" | undefined;
|
|
82
83
|
full_page?: boolean | undefined;
|
|
83
|
-
selector?: string | undefined;
|
|
84
84
|
describe?: boolean | undefined;
|
|
85
85
|
}, {
|
|
86
86
|
path: string;
|
|
87
|
-
url?: string | undefined;
|
|
88
87
|
page_id?: string | undefined;
|
|
89
88
|
_handle?: {
|
|
90
89
|
type: "playwright_page";
|
|
91
90
|
page_id: string;
|
|
92
91
|
cdp_endpoint?: string | undefined;
|
|
93
92
|
} | undefined;
|
|
93
|
+
url?: string | undefined;
|
|
94
|
+
selector?: string | undefined;
|
|
94
95
|
wait_until?: "load" | "domcontentloaded" | "networkidle" | undefined;
|
|
95
96
|
full_page?: boolean | undefined;
|
|
96
|
-
selector?: string | undefined;
|
|
97
97
|
describe?: boolean | undefined;
|
|
98
98
|
}>;
|
|
99
99
|
export declare const clickSchema: z.ZodObject<{
|
|
@@ -184,22 +184,22 @@ export declare const waitForSchema: z.ZodObject<{
|
|
|
184
184
|
timeout: z.ZodOptional<z.ZodNumber>;
|
|
185
185
|
}, "strip", z.ZodTypeAny, {
|
|
186
186
|
selector: string;
|
|
187
|
-
timeout?: number | undefined;
|
|
188
187
|
page_id?: string | undefined;
|
|
189
188
|
_handle?: {
|
|
190
189
|
type: "playwright_page";
|
|
191
190
|
page_id: string;
|
|
192
191
|
cdp_endpoint?: string | undefined;
|
|
193
192
|
} | undefined;
|
|
193
|
+
timeout?: number | undefined;
|
|
194
194
|
}, {
|
|
195
195
|
selector: string;
|
|
196
|
-
timeout?: number | undefined;
|
|
197
196
|
page_id?: string | undefined;
|
|
198
197
|
_handle?: {
|
|
199
198
|
type: "playwright_page";
|
|
200
199
|
page_id: string;
|
|
201
200
|
cdp_endpoint?: string | undefined;
|
|
202
201
|
} | undefined;
|
|
202
|
+
timeout?: number | undefined;
|
|
203
203
|
}>;
|
|
204
204
|
export declare const evaluateSchema: z.ZodObject<{
|
|
205
205
|
_handle: z.ZodOptional<z.ZodObject<{
|
|
@@ -283,10 +283,10 @@ export declare const runScriptStepSchema: z.ZodObject<{
|
|
|
283
283
|
not?: boolean | undefined;
|
|
284
284
|
url?: string | undefined;
|
|
285
285
|
path?: string | undefined;
|
|
286
|
-
|
|
286
|
+
selector?: string | undefined;
|
|
287
287
|
wait_until?: "load" | "domcontentloaded" | "networkidle" | undefined;
|
|
288
|
+
timeout?: number | undefined;
|
|
288
289
|
full_page?: boolean | undefined;
|
|
289
|
-
selector?: string | undefined;
|
|
290
290
|
describe?: boolean | undefined;
|
|
291
291
|
script?: string | undefined;
|
|
292
292
|
}, {
|
|
@@ -295,10 +295,10 @@ export declare const runScriptStepSchema: z.ZodObject<{
|
|
|
295
295
|
not?: boolean | undefined;
|
|
296
296
|
url?: string | undefined;
|
|
297
297
|
path?: string | undefined;
|
|
298
|
-
|
|
298
|
+
selector?: string | undefined;
|
|
299
299
|
wait_until?: "load" | "domcontentloaded" | "networkidle" | undefined;
|
|
300
|
+
timeout?: number | undefined;
|
|
300
301
|
full_page?: boolean | undefined;
|
|
301
|
-
selector?: string | undefined;
|
|
302
302
|
describe?: boolean | undefined;
|
|
303
303
|
script?: string | undefined;
|
|
304
304
|
}>;
|
|
@@ -334,10 +334,10 @@ export declare const runScriptSchema: z.ZodObject<{
|
|
|
334
334
|
not?: boolean | undefined;
|
|
335
335
|
url?: string | undefined;
|
|
336
336
|
path?: string | undefined;
|
|
337
|
-
|
|
337
|
+
selector?: string | undefined;
|
|
338
338
|
wait_until?: "load" | "domcontentloaded" | "networkidle" | undefined;
|
|
339
|
+
timeout?: number | undefined;
|
|
339
340
|
full_page?: boolean | undefined;
|
|
340
|
-
selector?: string | undefined;
|
|
341
341
|
describe?: boolean | undefined;
|
|
342
342
|
script?: string | undefined;
|
|
343
343
|
}, {
|
|
@@ -346,10 +346,10 @@ export declare const runScriptSchema: z.ZodObject<{
|
|
|
346
346
|
not?: boolean | undefined;
|
|
347
347
|
url?: string | undefined;
|
|
348
348
|
path?: string | undefined;
|
|
349
|
-
|
|
349
|
+
selector?: string | undefined;
|
|
350
350
|
wait_until?: "load" | "domcontentloaded" | "networkidle" | undefined;
|
|
351
|
+
timeout?: number | undefined;
|
|
351
352
|
full_page?: boolean | undefined;
|
|
352
|
-
selector?: string | undefined;
|
|
353
353
|
describe?: boolean | undefined;
|
|
354
354
|
script?: string | undefined;
|
|
355
355
|
}>, "many">;
|
|
@@ -360,10 +360,10 @@ export declare const runScriptSchema: z.ZodObject<{
|
|
|
360
360
|
not?: boolean | undefined;
|
|
361
361
|
url?: string | undefined;
|
|
362
362
|
path?: string | undefined;
|
|
363
|
-
|
|
363
|
+
selector?: string | undefined;
|
|
364
364
|
wait_until?: "load" | "domcontentloaded" | "networkidle" | undefined;
|
|
365
|
+
timeout?: number | undefined;
|
|
365
366
|
full_page?: boolean | undefined;
|
|
366
|
-
selector?: string | undefined;
|
|
367
367
|
describe?: boolean | undefined;
|
|
368
368
|
script?: string | undefined;
|
|
369
369
|
}[];
|
|
@@ -379,10 +379,10 @@ export declare const runScriptSchema: z.ZodObject<{
|
|
|
379
379
|
not?: boolean | undefined;
|
|
380
380
|
url?: string | undefined;
|
|
381
381
|
path?: string | undefined;
|
|
382
|
-
|
|
382
|
+
selector?: string | undefined;
|
|
383
383
|
wait_until?: "load" | "domcontentloaded" | "networkidle" | undefined;
|
|
384
|
+
timeout?: number | undefined;
|
|
384
385
|
full_page?: boolean | undefined;
|
|
385
|
-
selector?: string | undefined;
|
|
386
386
|
describe?: boolean | undefined;
|
|
387
387
|
script?: string | undefined;
|
|
388
388
|
}[];
|