@hotmeshio/long-tail 0.1.6 → 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 +44 -4
- 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/schemas/004_workflow_sets.sql +29 -0
- package/build/lib/db/schemas/005_unique_graph_topic.sql +7 -0
- package/build/lib/db/schemas/011_system_workflow_configs.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/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 +46 -88
- package/build/routes/maintenance.js +41 -17
- package/build/routes/mcp-runs.js +52 -60
- package/build/routes/mcp.js +49 -177
- 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.js +12 -61
- package/build/routes/yaml-workflows/crud.js +30 -223
- package/build/routes/yaml-workflows/deployment.js +15 -115
- 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/export/index.js +6 -1
- package/build/services/hotmesh-utils.js +2 -4
- package/build/services/insight/index.d.ts +7 -0
- package/build/services/insight/index.js +30 -0
- package/build/services/mcp/client/tools.js +13 -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 +5 -0
- package/build/services/yaml-workflow/db.js +17 -0
- package/build/services/yaml-workflow/pipeline/build/wiring.js +14 -1
- package/build/services/yaml-workflow/pipeline/prompts.d.ts +1 -1
- package/build/services/yaml-workflow/pipeline/prompts.js +1 -1
- package/build/services/yaml-workflow/sql.d.ts +2 -1
- package/build/services/yaml-workflow/sql.js +8 -3
- package/build/services/yaml-workflow/types.d.ts +3 -0
- package/build/services/yaml-workflow/workers/callbacks.js +7 -1
- package/build/services/yaml-workflow/workers/register.js +7 -0
- package/build/start/adapters.js +4 -0
- package/build/system/index.js +6 -0
- package/build/system/mcp-servers/knowledge.js +1 -1
- package/build/system/seed/server-definitions.js +2 -1
- package/build/system/workflows/mcp-workflow-builder/activities/index.d.ts +1 -1
- package/build/system/workflows/mcp-workflow-builder/activities/index.js +2 -1
- package/build/system/workflows/mcp-workflow-builder/activities/tool-loader.d.ts +6 -0
- package/build/system/workflows/mcp-workflow-builder/activities/tool-loader.js +26 -0
- package/build/system/workflows/mcp-workflow-builder/index.js +26 -2
- package/build/system/workflows/mcp-workflow-builder/prompts.js +104 -35
- 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/tsconfig.tsbuildinfo +1 -1
- package/build/types/index.d.ts +1 -0
- 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/dashboard/dist/assets/{AdminDashboard-BXkKGkb5.js → AdminDashboard-DRjkRSjJ.js} +2 -2
- package/dashboard/dist/assets/{AdminDashboard-BXkKGkb5.js.map → AdminDashboard-DRjkRSjJ.js.map} +1 -1
- package/dashboard/dist/assets/{AvailableEscalationsPage-DcH592mc.js → AvailableEscalationsPage-CnivX4Tz.js} +2 -2
- package/dashboard/dist/assets/{AvailableEscalationsPage-DcH592mc.js.map → AvailableEscalationsPage-CnivX4Tz.js.map} +1 -1
- package/dashboard/dist/assets/BotPicker-DwwaBhTH.js +2 -0
- package/dashboard/dist/assets/{BotPicker-A6LtzyuO.js.map → BotPicker-DwwaBhTH.js.map} +1 -1
- package/dashboard/dist/assets/{CollapsibleSection-C7nL2_mv.js → CollapsibleSection-DQpaVA0M.js} +2 -2
- package/dashboard/dist/assets/{CollapsibleSection-C7nL2_mv.js.map → CollapsibleSection-DQpaVA0M.js.map} +1 -1
- package/dashboard/dist/assets/{ConfirmDeleteModal-CWFwJrSl.js → ConfirmDeleteModal-B7JoDNvt.js} +2 -2
- package/dashboard/dist/assets/{ConfirmDeleteModal-CWFwJrSl.js.map → ConfirmDeleteModal-B7JoDNvt.js.map} +1 -1
- package/dashboard/dist/assets/{CopyableId-DbZ5c3jh.js → CopyableId-AqoZayBG.js} +2 -2
- package/dashboard/dist/assets/{CopyableId-DbZ5c3jh.js.map → CopyableId-AqoZayBG.js.map} +1 -1
- package/dashboard/dist/assets/{CredentialsPage-ClWkmLPu.js → CredentialsPage-qGw1kQzi.js} +2 -2
- package/dashboard/dist/assets/{CredentialsPage-ClWkmLPu.js.map → CredentialsPage-qGw1kQzi.js.map} +1 -1
- package/dashboard/dist/assets/{CustomDurationPicker-CtH2hReF.js → CustomDurationPicker-D1HUQcd0.js} +2 -2
- package/dashboard/dist/assets/{CustomDurationPicker-CtH2hReF.js.map → CustomDurationPicker-D1HUQcd0.js.map} +1 -1
- package/dashboard/dist/assets/{DataTable-CM5ZcpPi.js → DataTable-DKvSKoVG.js} +2 -2
- package/dashboard/dist/assets/{DataTable-CM5ZcpPi.js.map → DataTable-DKvSKoVG.js.map} +1 -1
- package/dashboard/dist/assets/{ElapsedCell-CwqavyeC.js → ElapsedCell-B0yrReGQ.js} +2 -2
- package/dashboard/dist/assets/{ElapsedCell-CwqavyeC.js.map → ElapsedCell-B0yrReGQ.js.map} +1 -1
- package/dashboard/dist/assets/{EmptyState-BBn78pmm.js → EmptyState-X0fIzYID.js} +2 -2
- package/dashboard/dist/assets/{EmptyState-BBn78pmm.js.map → EmptyState-X0fIzYID.js.map} +1 -1
- package/dashboard/dist/assets/{EscalationsOverview-BcJ2E3X7.js → EscalationsOverview-BQAT9W7r.js} +2 -2
- package/dashboard/dist/assets/{EscalationsOverview-BcJ2E3X7.js.map → EscalationsOverview-BQAT9W7r.js.map} +1 -1
- package/dashboard/dist/assets/{EventTable-C1en_KZ0.js → EventTable-CX1KNLhZ.js} +2 -2
- package/dashboard/dist/assets/{EventTable-C1en_KZ0.js.map → EventTable-CX1KNLhZ.js.map} +1 -1
- package/dashboard/dist/assets/{FilterBar-CZTlrLQT.js → FilterBar-DMTvuQy-.js} +2 -2
- package/dashboard/dist/assets/{FilterBar-CZTlrLQT.js.map → FilterBar-DMTvuQy-.js.map} +1 -1
- package/dashboard/dist/assets/{ListToolbar-Cdbsapig.js → ListToolbar-DTOSxoEy.js} +2 -2
- package/dashboard/dist/assets/{ListToolbar-Cdbsapig.js.map → ListToolbar-DTOSxoEy.js.map} +1 -1
- package/dashboard/dist/assets/{McpOverview-CSpEJxKa.js → McpOverview-BaKTIWrG.js} +2 -2
- package/dashboard/dist/assets/{McpOverview-CSpEJxKa.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-9xdxgG4d.js → McpRunDetailPage-CKs1RWeV.js} +2 -2
- package/dashboard/dist/assets/{McpRunDetailPage-9xdxgG4d.js.map → McpRunDetailPage-CKs1RWeV.js.map} +1 -1
- package/dashboard/dist/assets/{McpRunsPage-wWLqHsd4.js → McpRunsPage-CcPD_tY1.js} +2 -2
- package/dashboard/dist/assets/{McpRunsPage-wWLqHsd4.js.map → McpRunsPage-CcPD_tY1.js.map} +1 -1
- package/dashboard/dist/assets/{Modal-kB_P7ZOr.js → Modal-_2AbWxJT.js} +2 -2
- package/dashboard/dist/assets/{Modal-kB_P7ZOr.js.map → Modal-_2AbWxJT.js.map} +1 -1
- package/dashboard/dist/assets/OperatorDashboard-BGiRaRDr.js +2 -0
- package/dashboard/dist/assets/{OperatorDashboard-jc0vrgDI.js.map → OperatorDashboard-BGiRaRDr.js.map} +1 -1
- package/dashboard/dist/assets/{PageHeader-NkOeBR05.js → PageHeader-DVr5Qyzm.js} +2 -2
- package/dashboard/dist/assets/{PageHeader-NkOeBR05.js.map → PageHeader-DVr5Qyzm.js.map} +1 -1
- package/dashboard/dist/assets/{PageHeaderWithStats-ywNhrmFK.js → PageHeaderWithStats-D0KRASML.js} +2 -2
- package/dashboard/dist/assets/{PageHeaderWithStats-ywNhrmFK.js.map → PageHeaderWithStats-D0KRASML.js.map} +1 -1
- package/dashboard/dist/assets/{PriorityBadge-B2MQbSxy.js → PriorityBadge-Bx2559OU.js} +2 -2
- package/dashboard/dist/assets/{PriorityBadge-B2MQbSxy.js.map → PriorityBadge-Bx2559OU.js.map} +1 -1
- package/dashboard/dist/assets/{ProcessDetailPage-B7z7IdqE.js → ProcessDetailPage-69I--sry.js} +2 -2
- package/dashboard/dist/assets/{ProcessDetailPage-B7z7IdqE.js.map → ProcessDetailPage-69I--sry.js.map} +1 -1
- package/dashboard/dist/assets/{ProcessesListPage-C-uHadO6.js → ProcessesListPage-BDpUbua2.js} +2 -2
- package/dashboard/dist/assets/{ProcessesListPage-C-uHadO6.js.map → ProcessesListPage-BDpUbua2.js.map} +1 -1
- package/dashboard/dist/assets/{RolePill-C1dgC-fK.js → RolePill-CcAqEaSt.js} +2 -2
- package/dashboard/dist/assets/{RolePill-C1dgC-fK.js.map → RolePill-CcAqEaSt.js.map} +1 -1
- package/dashboard/dist/assets/{RolesPage-BSxrD1vm.js → RolesPage-Cl23Hjet.js} +2 -2
- package/dashboard/dist/assets/{RolesPage-BSxrD1vm.js.map → RolesPage-Cl23Hjet.js.map} +1 -1
- package/dashboard/dist/assets/{RowActions-lYaHGI-v.js → RowActions-B4mqIt3Z.js} +2 -2
- package/dashboard/dist/assets/{RowActions-lYaHGI-v.js.map → RowActions-B4mqIt3Z.js.map} +1 -1
- package/dashboard/dist/assets/{StatCard-v2TiITVr.js → StatCard-Cz_2OjAZ.js} +2 -2
- package/dashboard/dist/assets/{StatCard-v2TiITVr.js.map → StatCard-Cz_2OjAZ.js.map} +1 -1
- package/dashboard/dist/assets/{StatusBadge-DWlxevgG.js → StatusBadge-Wi2FJZsn.js} +2 -2
- package/dashboard/dist/assets/{StatusBadge-DWlxevgG.js.map → StatusBadge-Wi2FJZsn.js.map} +1 -1
- package/dashboard/dist/assets/{StepIndicator-CRM4ft28.js → StepIndicator-PW5NRDMb.js} +2 -2
- package/dashboard/dist/assets/{StepIndicator-CRM4ft28.js.map → StepIndicator-PW5NRDMb.js.map} +1 -1
- package/dashboard/dist/assets/{StickyPagination-CF0EToEU.js → StickyPagination-Bl2Uzz65.js} +2 -2
- package/dashboard/dist/assets/{StickyPagination-CF0EToEU.js.map → StickyPagination-Bl2Uzz65.js.map} +1 -1
- package/dashboard/dist/assets/{SwimlaneTimeline-CNlj7fgg.js → SwimlaneTimeline-CUPqMd0z.js} +2 -2
- package/dashboard/dist/assets/{SwimlaneTimeline-CNlj7fgg.js.map → SwimlaneTimeline-CUPqMd0z.js.map} +1 -1
- package/dashboard/dist/assets/{TagInput-CH8qMGhC.js → TagInput-BLtf86Ly.js} +2 -2
- package/dashboard/dist/assets/{TagInput-CH8qMGhC.js.map → TagInput-BLtf86Ly.js.map} +1 -1
- package/dashboard/dist/assets/{TaskDetailPage-CdWo-6mu.js → TaskDetailPage-BXJFX74D.js} +2 -2
- package/dashboard/dist/assets/{TaskDetailPage-CdWo-6mu.js.map → TaskDetailPage-BXJFX74D.js.map} +1 -1
- package/dashboard/dist/assets/{TaskQueuePill-BPj4ogVG.js → TaskQueuePill-CWYj3xKe.js} +2 -2
- package/dashboard/dist/assets/{TaskQueuePill-BPj4ogVG.js.map → TaskQueuePill-CWYj3xKe.js.map} +1 -1
- package/dashboard/dist/assets/{TasksListPage-CtRkMpKU.js → TasksListPage-C3cX94Mw.js} +2 -2
- package/dashboard/dist/assets/{TasksListPage-CtRkMpKU.js.map → TasksListPage-C3cX94Mw.js.map} +1 -1
- package/dashboard/dist/assets/{TimeAgo-Di1a3X5P.js → TimeAgo-B_5yDDHV.js} +2 -2
- package/dashboard/dist/assets/{TimeAgo-Di1a3X5P.js.map → TimeAgo-B_5yDDHV.js.map} +1 -1
- package/dashboard/dist/assets/{TimestampCell-CqrXql-S.js → TimestampCell-DRX724uU.js} +2 -2
- package/dashboard/dist/assets/{TimestampCell-CqrXql-S.js.map → TimestampCell-DRX724uU.js.map} +1 -1
- package/dashboard/dist/assets/{UserName-BUFYCnRa.js → UserName-Ca8FA469.js} +2 -2
- package/dashboard/dist/assets/{UserName-BUFYCnRa.js.map → UserName-Ca8FA469.js.map} +1 -1
- package/dashboard/dist/assets/{WorkflowExecutionPage-25iusMml.js → WorkflowExecutionPage-BBYWEV2P.js} +2 -2
- package/dashboard/dist/assets/{WorkflowExecutionPage-25iusMml.js.map → WorkflowExecutionPage-BBYWEV2P.js.map} +1 -1
- package/dashboard/dist/assets/WorkflowPill-BXifAuLi.js +2 -0
- package/dashboard/dist/assets/{WorkflowPill-DPKOcbf4.js.map → WorkflowPill-BXifAuLi.js.map} +1 -1
- package/dashboard/dist/assets/{WorkflowsDashboard-BgxslssH.js → WorkflowsDashboard-Drl3juz9.js} +2 -2
- package/dashboard/dist/assets/{WorkflowsDashboard-BgxslssH.js.map → WorkflowsDashboard-Drl3juz9.js.map} +1 -1
- package/dashboard/dist/assets/{WorkflowsOverview-Doe5L-Re.js → WorkflowsOverview-03IRrDLg.js} +2 -2
- package/dashboard/dist/assets/{WorkflowsOverview-Doe5L-Re.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-Bi2_O1Ts.js → bots-DZEXcgiJ.js} +2 -2
- package/dashboard/dist/assets/{bots-Bi2_O1Ts.js.map → bots-DZEXcgiJ.js.map} +1 -1
- package/dashboard/dist/assets/{escalation-Ck1KlLkT.js → escalation-Cw48lNaF.js} +2 -2
- package/dashboard/dist/assets/{escalation-Ck1KlLkT.js.map → escalation-Cw48lNaF.js.map} +1 -1
- package/dashboard/dist/assets/{escalation-columns-ohDsj2eJ.js → escalation-columns-NINpo3qf.js} +2 -2
- package/dashboard/dist/assets/{escalation-columns-ohDsj2eJ.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-BoD2SgUY.js → helpers-fk_qr729.js} +2 -2
- package/dashboard/dist/assets/{helpers-BoD2SgUY.js.map → helpers-fk_qr729.js.map} +1 -1
- package/dashboard/dist/assets/index-B98ipWxE.js +2 -0
- package/dashboard/dist/assets/{index-D7zYZOnH.js.map → index-B98ipWxE.js.map} +1 -1
- package/dashboard/dist/assets/{index-BEtLIsML.js → index-BIG3KooI.js} +2 -2
- package/dashboard/dist/assets/{index-BEtLIsML.js.map → index-BIG3KooI.js.map} +1 -1
- package/dashboard/dist/assets/{index-DYyLF-Qb.js → index-BwN3KP_L.js} +5 -5
- package/dashboard/dist/assets/{index-DYyLF-Qb.js.map → index-BwN3KP_L.js.map} +1 -1
- package/dashboard/dist/assets/index-Bxe8h1x4.js +17 -0
- package/dashboard/dist/assets/{index-DOkHXmyf.js.map → index-Bxe8h1x4.js.map} +1 -1
- package/dashboard/dist/assets/{index-FuohTtaM.js → index-CNI7k7oB.js} +3 -3
- package/dashboard/dist/assets/{index-FuohTtaM.js.map → index-CNI7k7oB.js.map} +1 -1
- package/dashboard/dist/assets/{index-CZrJ09p-.js → index-CORHB0WC.js} +2 -2
- package/dashboard/dist/assets/{index-CZrJ09p-.js.map → index-CORHB0WC.js.map} +1 -1
- package/dashboard/dist/assets/{index-PyCTS05D.css → index-DcIKW-cZ.css} +1 -1
- package/dashboard/dist/assets/{index-D3NyVADW.js → index-Dj-z-x8M.js} +2 -2
- package/dashboard/dist/assets/index-Dj-z-x8M.js.map +1 -0
- package/dashboard/dist/assets/{index-Bn2xHDr8.js → index-DwRytW9O.js} +3 -3
- package/dashboard/dist/assets/{index-Bn2xHDr8.js.map → index-DwRytW9O.js.map} +1 -1
- package/dashboard/dist/assets/index-aRvL-dXp.js +2 -0
- package/dashboard/dist/assets/{index-Dk2Q51o0.js.map → index-aRvL-dXp.js.map} +1 -1
- package/dashboard/dist/assets/index-b03HlbnH.js +2 -0
- package/dashboard/dist/assets/{index-BpT-6WgJ.js.map → index-b03HlbnH.js.map} +1 -1
- package/dashboard/dist/assets/{mcp-CJtYjA7A.js → mcp-BZoFryNc.js} +2 -2
- package/dashboard/dist/assets/{mcp-CJtYjA7A.js.map → mcp-BZoFryNc.js.map} +1 -1
- 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-DUWm9Z4V.js → mcp-runs-BaEKnf5v.js} +2 -2
- package/dashboard/dist/assets/{mcp-runs-DUWm9Z4V.js.map → mcp-runs-BaEKnf5v.js.map} +1 -1
- package/dashboard/dist/assets/{namespaces-BM5P2qmL.js → namespaces-BwnZI4_A.js} +2 -2
- package/dashboard/dist/assets/{namespaces-BM5P2qmL.js.map → namespaces-BwnZI4_A.js.map} +1 -1
- package/dashboard/dist/assets/{roles-lv0shpjJ.js → roles-Bgn1K8zU.js} +2 -2
- package/dashboard/dist/assets/{roles-lv0shpjJ.js.map → roles-Bgn1K8zU.js.map} +1 -1
- package/dashboard/dist/assets/{settings-Wlq92mRo.js → settings-CizYiutL.js} +2 -2
- package/dashboard/dist/assets/{settings-Wlq92mRo.js.map → settings-CizYiutL.js.map} +1 -1
- package/dashboard/dist/assets/{tasks-BFGm4PuE.js → tasks-Bmte_hc4.js} +2 -2
- package/dashboard/dist/assets/{tasks-BFGm4PuE.js.map → tasks-Bmte_hc4.js.map} +1 -1
- package/dashboard/dist/assets/{useEventHooks-DIE6ue4x.js → useEventHooks-CUCxpiI2.js} +2 -2
- package/dashboard/dist/assets/{useEventHooks-DIE6ue4x.js.map → useEventHooks-CUCxpiI2.js.map} +1 -1
- package/dashboard/dist/assets/{useYamlActivityEvents-DCwSO73t.js → useYamlActivityEvents-Cum02Ej9.js} +2 -2
- package/dashboard/dist/assets/{useYamlActivityEvents-DCwSO73t.js.map → useYamlActivityEvents-Cum02Ej9.js.map} +1 -1
- package/dashboard/dist/assets/{users-tA5-K0wA.js → users-NSDgTt-z.js} +2 -2
- package/dashboard/dist/assets/{users-tA5-K0wA.js.map → users-NSDgTt-z.js.map} +1 -1
- package/dashboard/dist/assets/{vendor-icons-BiIug1SK.js → vendor-icons-D1DdudfH.js} +93 -73
- package/dashboard/dist/assets/vendor-icons-D1DdudfH.js.map +1 -0
- package/dashboard/dist/assets/{workflows-CfLc15Wr.js → workflows-k0XRdGXx.js} +2 -2
- package/dashboard/dist/assets/{workflows-CfLc15Wr.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/epic-integration.md +224 -0
- package/docs/events.md +28 -0
- package/docs/sdk.md +177 -0
- package/docs/story.md +157 -0
- package/docs/workflow-builder.md +371 -0
- package/package.json +3 -2
- 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/BotPicker-A6LtzyuO.js +0 -2
- package/dashboard/dist/assets/McpQueryDetailPage-DhqEI180.js +0 -5
- package/dashboard/dist/assets/McpQueryDetailPage-DhqEI180.js.map +0 -1
- package/dashboard/dist/assets/McpQueryPage-CIiVMlqo.js +0 -2
- package/dashboard/dist/assets/McpQueryPage-CIiVMlqo.js.map +0 -1
- package/dashboard/dist/assets/OperatorDashboard-jc0vrgDI.js +0 -2
- package/dashboard/dist/assets/RunAsSelector-CJDnyp93.js +0 -2
- package/dashboard/dist/assets/RunAsSelector-CJDnyp93.js.map +0 -1
- package/dashboard/dist/assets/WorkflowPill-DPKOcbf4.js +0 -2
- package/dashboard/dist/assets/YamlWorkflowsPage-BliAckJ6.js +0 -2
- package/dashboard/dist/assets/YamlWorkflowsPage-BliAckJ6.js.map +0 -1
- package/dashboard/dist/assets/index-BpT-6WgJ.js +0 -2
- package/dashboard/dist/assets/index-D3NyVADW.js.map +0 -1
- package/dashboard/dist/assets/index-D7zYZOnH.js +0 -2
- package/dashboard/dist/assets/index-DOkHXmyf.js +0 -17
- package/dashboard/dist/assets/index-Dk2Q51o0.js +0 -2
- package/dashboard/dist/assets/mcp-query-jQJQrs_7.js +0 -2
- package/dashboard/dist/assets/mcp-query-jQJQrs_7.js.map +0 -1
- package/dashboard/dist/assets/vendor-icons-BiIug1SK.js.map +0 -1
- package/dashboard/dist/assets/yaml-workflows-D7JXNqbM.js +0 -2
- package/dashboard/dist/assets/yaml-workflows-D7JXNqbM.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
|
@@ -34,11 +34,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
const express_1 = require("express");
|
|
37
|
-
const
|
|
38
|
-
const yamlDeployer = __importStar(require("../../services/yaml-workflow/deployer"));
|
|
39
|
-
const yamlWorkers = __importStar(require("../../services/yaml-workflow/workers"));
|
|
40
|
-
const invoke_1 = require("../../services/yaml-workflow/invoke");
|
|
41
|
-
const helpers_1 = require("./helpers");
|
|
37
|
+
const api = __importStar(require("../../api/yaml-workflows"));
|
|
42
38
|
const router = (0, express_1.Router)();
|
|
43
39
|
/**
|
|
44
40
|
* POST /api/yaml-workflows/:id/deploy
|
|
@@ -46,77 +42,16 @@ const router = (0, express_1.Router)();
|
|
|
46
42
|
* Bumps the version and deploys all graphs together.
|
|
47
43
|
*/
|
|
48
44
|
router.post('/:id/deploy', async (req, res) => {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
if (!wf) {
|
|
52
|
-
res.status(404).json({ error: 'YAML workflow not found' });
|
|
53
|
-
return;
|
|
54
|
-
}
|
|
55
|
-
// Use the version declared in the YAML (like package.json)
|
|
56
|
-
const deployVersion = wf.app_version || '1';
|
|
57
|
-
// Deploy + activate merged YAML for the full app_id
|
|
58
|
-
const siblings = await yamlDb.listYamlWorkflowsByAppId(wf.app_id);
|
|
59
|
-
await yamlDeployer.deployAppId(wf.app_id, deployVersion);
|
|
60
|
-
// Register workers and mark all non-archived siblings as active
|
|
61
|
-
for (const sibling of siblings) {
|
|
62
|
-
await yamlDb.updateYamlWorkflowVersion(sibling.id, deployVersion);
|
|
63
|
-
await yamlWorkers.registerWorkersForWorkflow(sibling);
|
|
64
|
-
if (sibling.status === 'draft' || sibling.status === 'deployed') {
|
|
65
|
-
await yamlDb.updateYamlWorkflowStatus(sibling.id, 'active');
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
// Mark content as deployed for the entire app_id
|
|
69
|
-
await yamlDb.markAppIdContentDeployed(wf.app_id);
|
|
70
|
-
const updated = await yamlDb.getYamlWorkflow(req.params.id);
|
|
71
|
-
res.json(updated);
|
|
72
|
-
}
|
|
73
|
-
catch (err) {
|
|
74
|
-
if ((0, helpers_1.isNotFoundError)(err)) {
|
|
75
|
-
res.status(404).json({ error: 'YAML workflow not found' });
|
|
76
|
-
return;
|
|
77
|
-
}
|
|
78
|
-
res.status(500).json({
|
|
79
|
-
error: err.message,
|
|
80
|
-
hint: err.message.includes('Duplicate activity id')
|
|
81
|
-
? 'Colliding activity IDs across workflows. A Claude Code repair was attempted — check server logs. You may need to archive conflicting workflows and recompile.'
|
|
82
|
-
: undefined,
|
|
83
|
-
});
|
|
84
|
-
}
|
|
45
|
+
const result = await api.deployYamlWorkflow({ id: req.params.id });
|
|
46
|
+
res.status(result.status).json(result.data ?? { error: result.error });
|
|
85
47
|
});
|
|
86
48
|
/**
|
|
87
49
|
* POST /api/yaml-workflows/:id/activate
|
|
88
50
|
* Activate the deployed version for this workflow's app_id and register all workers.
|
|
89
51
|
*/
|
|
90
52
|
router.post('/:id/activate', async (req, res) => {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
if (!wf) {
|
|
94
|
-
res.status(404).json({ error: 'YAML workflow not found' });
|
|
95
|
-
return;
|
|
96
|
-
}
|
|
97
|
-
if (wf.status !== 'deployed' && wf.status !== 'active') {
|
|
98
|
-
res.status(400).json({ error: 'Workflow must be deployed before activation' });
|
|
99
|
-
return;
|
|
100
|
-
}
|
|
101
|
-
await yamlDeployer.activateYamlWorkflow(wf.app_id, wf.app_version);
|
|
102
|
-
// Register workers for ALL workflows sharing this app_id
|
|
103
|
-
const siblings = await yamlDb.listYamlWorkflowsByAppId(wf.app_id);
|
|
104
|
-
for (const sibling of siblings) {
|
|
105
|
-
await yamlWorkers.registerWorkersForWorkflow(sibling);
|
|
106
|
-
if (sibling.status === 'deployed') {
|
|
107
|
-
await yamlDb.updateYamlWorkflowStatus(sibling.id, 'active');
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
const updated = await yamlDb.getYamlWorkflow(req.params.id);
|
|
111
|
-
res.json(updated);
|
|
112
|
-
}
|
|
113
|
-
catch (err) {
|
|
114
|
-
if ((0, helpers_1.isNotFoundError)(err)) {
|
|
115
|
-
res.status(404).json({ error: 'YAML workflow not found' });
|
|
116
|
-
return;
|
|
117
|
-
}
|
|
118
|
-
res.status(500).json({ error: err.message });
|
|
119
|
-
}
|
|
53
|
+
const result = await api.activateYamlWorkflow({ id: req.params.id });
|
|
54
|
+
res.status(result.status).json(result.data ?? { error: result.error });
|
|
120
55
|
});
|
|
121
56
|
/**
|
|
122
57
|
* POST /api/yaml-workflows/:id/invoke
|
|
@@ -124,56 +59,21 @@ router.post('/:id/activate', async (req, res) => {
|
|
|
124
59
|
* Body: { data, sync?: boolean }
|
|
125
60
|
*/
|
|
126
61
|
router.post('/:id/invoke', async (req, res) => {
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
return;
|
|
136
|
-
}
|
|
137
|
-
const result = await (0, invoke_1.invokeYamlWorkflow)(wf, {
|
|
138
|
-
data: req.body.data,
|
|
139
|
-
sync: req.body.sync,
|
|
140
|
-
timeout: req.body.timeout,
|
|
141
|
-
execute_as: req.body.execute_as,
|
|
142
|
-
userId: req.auth?.userId,
|
|
143
|
-
});
|
|
144
|
-
res.json(result);
|
|
145
|
-
}
|
|
146
|
-
catch (err) {
|
|
147
|
-
if ((0, helpers_1.isNotFoundError)(err)) {
|
|
148
|
-
res.status(404).json({ error: 'YAML workflow not found' });
|
|
149
|
-
return;
|
|
150
|
-
}
|
|
151
|
-
res.status(500).json({ error: err.message });
|
|
152
|
-
}
|
|
62
|
+
const result = await api.invokeYamlWorkflow({
|
|
63
|
+
id: req.params.id,
|
|
64
|
+
data: req.body.data,
|
|
65
|
+
sync: req.body.sync,
|
|
66
|
+
timeout: req.body.timeout,
|
|
67
|
+
execute_as: req.body.execute_as,
|
|
68
|
+
}, req.auth?.userId ? { userId: req.auth.userId } : undefined);
|
|
69
|
+
res.status(result.status).json(result.data ?? { error: result.error });
|
|
153
70
|
});
|
|
154
71
|
/**
|
|
155
72
|
* POST /api/yaml-workflows/:id/archive
|
|
156
73
|
* Archive a YAML workflow (stops accepting new invocations).
|
|
157
74
|
*/
|
|
158
75
|
router.post('/:id/archive', async (req, res) => {
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
if (!wf) {
|
|
162
|
-
res.status(404).json({ error: 'YAML workflow not found' });
|
|
163
|
-
return;
|
|
164
|
-
}
|
|
165
|
-
if (wf.status === 'active') {
|
|
166
|
-
await yamlDeployer.stopEngine(wf.app_id);
|
|
167
|
-
}
|
|
168
|
-
const updated = await yamlDb.updateYamlWorkflowStatus(wf.id, 'archived');
|
|
169
|
-
res.json(updated);
|
|
170
|
-
}
|
|
171
|
-
catch (err) {
|
|
172
|
-
if ((0, helpers_1.isNotFoundError)(err)) {
|
|
173
|
-
res.status(404).json({ error: 'YAML workflow not found' });
|
|
174
|
-
return;
|
|
175
|
-
}
|
|
176
|
-
res.status(500).json({ error: err.message });
|
|
177
|
-
}
|
|
76
|
+
const result = await api.archiveYamlWorkflow({ id: req.params.id });
|
|
77
|
+
res.status(result.status).json(result.data ?? { error: result.error });
|
|
178
78
|
});
|
|
179
79
|
exports.default = router;
|
|
@@ -34,83 +34,45 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
const express_1 = require("express");
|
|
37
|
-
const
|
|
38
|
-
const helpers_1 = require("./helpers");
|
|
37
|
+
const api = __importStar(require("../../api/yaml-workflows"));
|
|
39
38
|
const router = (0, express_1.Router)();
|
|
40
39
|
/**
|
|
41
40
|
* GET /api/yaml-workflows/:id/versions
|
|
42
41
|
* Return version history for a YAML workflow.
|
|
43
42
|
*/
|
|
44
43
|
router.get('/:id/versions', async (req, res) => {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
}
|
|
51
|
-
catch (err) {
|
|
52
|
-
if ((0, helpers_1.isNotFoundError)(err)) {
|
|
53
|
-
res.status(404).json({ error: 'YAML workflow not found' });
|
|
54
|
-
return;
|
|
55
|
-
}
|
|
56
|
-
res.status(500).json({ error: err.message });
|
|
57
|
-
}
|
|
44
|
+
const result = await api.getVersionHistory({
|
|
45
|
+
id: req.params.id,
|
|
46
|
+
limit: req.query.limit ? parseInt(req.query.limit, 10) : undefined,
|
|
47
|
+
offset: req.query.offset ? parseInt(req.query.offset, 10) : undefined,
|
|
48
|
+
});
|
|
49
|
+
res.status(result.status).json(result.data ?? { error: result.error });
|
|
58
50
|
});
|
|
59
51
|
/**
|
|
60
52
|
* GET /api/yaml-workflows/:id/versions/:version
|
|
61
53
|
* Return a single version snapshot with YAML, schemas, and manifest.
|
|
62
54
|
*/
|
|
63
55
|
router.get('/:id/versions/:version', async (req, res) => {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
}
|
|
70
|
-
const snapshot = await yamlDb.getVersionSnapshot(req.params.id, version);
|
|
71
|
-
if (!snapshot) {
|
|
72
|
-
res.status(404).json({ error: `Version ${version} not found` });
|
|
73
|
-
return;
|
|
74
|
-
}
|
|
75
|
-
res.json(snapshot);
|
|
76
|
-
}
|
|
77
|
-
catch (err) {
|
|
78
|
-
if ((0, helpers_1.isNotFoundError)(err)) {
|
|
79
|
-
res.status(404).json({ error: 'YAML workflow not found' });
|
|
80
|
-
return;
|
|
81
|
-
}
|
|
82
|
-
res.status(500).json({ error: err.message });
|
|
83
|
-
}
|
|
56
|
+
const result = await api.getVersionSnapshot({
|
|
57
|
+
id: req.params.id,
|
|
58
|
+
version: parseInt(req.params.version, 10),
|
|
59
|
+
});
|
|
60
|
+
res.status(result.status).json(result.data ?? { error: result.error });
|
|
84
61
|
});
|
|
85
62
|
/**
|
|
86
63
|
* GET /api/yaml-workflows/:id/yaml
|
|
87
64
|
* Return raw YAML content. Supports ?version=N query param.
|
|
88
65
|
*/
|
|
89
66
|
router.get('/:id/yaml', async (req, res) => {
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
return;
|
|
97
|
-
}
|
|
98
|
-
res.type('text/yaml').send(snapshot.yaml_content);
|
|
99
|
-
return;
|
|
100
|
-
}
|
|
101
|
-
const wf = await yamlDb.getYamlWorkflow(req.params.id);
|
|
102
|
-
if (!wf) {
|
|
103
|
-
res.status(404).json({ error: 'YAML workflow not found' });
|
|
104
|
-
return;
|
|
105
|
-
}
|
|
106
|
-
res.type('text/yaml').send(wf.yaml_content);
|
|
67
|
+
const result = await api.getYamlContent({
|
|
68
|
+
id: req.params.id,
|
|
69
|
+
version: req.query.version ? parseInt(req.query.version, 10) : undefined,
|
|
70
|
+
});
|
|
71
|
+
if (result.status === 200) {
|
|
72
|
+
res.type('text/yaml').send(result.data);
|
|
107
73
|
}
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
res.status(404).json({ error: 'YAML workflow not found' });
|
|
111
|
-
return;
|
|
112
|
-
}
|
|
113
|
-
res.status(500).json({ error: err.message });
|
|
74
|
+
else {
|
|
75
|
+
res.status(result.status).json({ error: result.error });
|
|
114
76
|
}
|
|
115
77
|
});
|
|
116
78
|
exports.default = router;
|
|
@@ -0,0 +1,327 @@
|
|
|
1
|
+
import * as tasksApi from '../api/tasks';
|
|
2
|
+
import * as escalationsApi from '../api/escalations';
|
|
3
|
+
import * as workflowsApi from '../api/workflows';
|
|
4
|
+
import * as yamlWorkflowsApi from '../api/yaml-workflows';
|
|
5
|
+
import * as usersApi from '../api/users';
|
|
6
|
+
import * as rolesApi from '../api/roles';
|
|
7
|
+
import * as authApi from '../api/auth';
|
|
8
|
+
import * as mcpApi from '../api/mcp';
|
|
9
|
+
import * as mcpRunsApi from '../api/mcp-runs';
|
|
10
|
+
import * as insightApi from '../api/insight';
|
|
11
|
+
import * as settingsApi from '../api/settings';
|
|
12
|
+
import * as exportsApi from '../api/exports';
|
|
13
|
+
import * as controlplaneApi from '../api/controlplane';
|
|
14
|
+
import * as botAccountsApi from '../api/bot-accounts';
|
|
15
|
+
import * as workflowSetsApi from '../api/workflow-sets';
|
|
16
|
+
import * as dbaApi from '../api/dba';
|
|
17
|
+
import * as namespacesApi from '../api/namespaces';
|
|
18
|
+
import * as maintenanceApi from '../api/maintenance';
|
|
19
|
+
import type { LTApiAuth, LTApiResult } from '../types/sdk';
|
|
20
|
+
import type { LTEvent, LTEventType } from '../types/events';
|
|
21
|
+
/**
|
|
22
|
+
* Options for createClient.
|
|
23
|
+
*/
|
|
24
|
+
export interface LTClientOptions {
|
|
25
|
+
/** Default auth context bound to every API call. Override per-call if needed. */
|
|
26
|
+
auth?: LTApiAuth;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Create a Long Tail SDK client for direct in-process API calls.
|
|
30
|
+
*
|
|
31
|
+
* All operations go through the same API layer as HTTP routes —
|
|
32
|
+
* same validation, same RBAC, same event publishing — without
|
|
33
|
+
* HTTP transport overhead.
|
|
34
|
+
*
|
|
35
|
+
* ```typescript
|
|
36
|
+
* import { createClient } from '@hotmeshio/long-tail/sdk';
|
|
37
|
+
*
|
|
38
|
+
* const lt = createClient({ auth: { userId: 'system' } });
|
|
39
|
+
*
|
|
40
|
+
* const result = await lt.escalations.claim({ id: 'esc_123', durationMinutes: 30 });
|
|
41
|
+
* // { status: 200, data: { escalation: {...}, isExtension: false } }
|
|
42
|
+
*
|
|
43
|
+
* lt.events.on('escalation.claimed', (event) => {
|
|
44
|
+
* console.log('claimed:', event.escalationId);
|
|
45
|
+
* });
|
|
46
|
+
* ```
|
|
47
|
+
*/
|
|
48
|
+
export declare function createClient(options?: LTClientOptions): {
|
|
49
|
+
tasks: {
|
|
50
|
+
list: typeof tasksApi.listTasks;
|
|
51
|
+
get: typeof tasksApi.getTask;
|
|
52
|
+
listProcesses: typeof tasksApi.listProcesses;
|
|
53
|
+
getProcess: typeof tasksApi.getProcess;
|
|
54
|
+
getProcessStats: typeof tasksApi.getProcessStats;
|
|
55
|
+
};
|
|
56
|
+
escalations: {
|
|
57
|
+
list: (input: {
|
|
58
|
+
status?: string;
|
|
59
|
+
role?: string;
|
|
60
|
+
type?: string;
|
|
61
|
+
subtype?: string;
|
|
62
|
+
assigned_to?: string;
|
|
63
|
+
priority?: number;
|
|
64
|
+
limit?: number;
|
|
65
|
+
offset?: number;
|
|
66
|
+
sort_by?: string;
|
|
67
|
+
order?: string;
|
|
68
|
+
}, auth?: LTApiAuth) => Promise<LTApiResult<any>>;
|
|
69
|
+
listAvailable: (input: {
|
|
70
|
+
role?: string;
|
|
71
|
+
type?: string;
|
|
72
|
+
subtype?: string;
|
|
73
|
+
priority?: number;
|
|
74
|
+
limit?: number;
|
|
75
|
+
offset?: number;
|
|
76
|
+
sort_by?: string;
|
|
77
|
+
order?: string;
|
|
78
|
+
}, auth?: LTApiAuth) => Promise<LTApiResult<any>>;
|
|
79
|
+
listTypes: typeof escalationsApi.listDistinctTypes;
|
|
80
|
+
getStats: (input: {
|
|
81
|
+
period?: string;
|
|
82
|
+
}, auth?: LTApiAuth) => Promise<LTApiResult<any>>;
|
|
83
|
+
get: (input: {
|
|
84
|
+
id: string;
|
|
85
|
+
}, auth?: LTApiAuth) => Promise<LTApiResult<any>>;
|
|
86
|
+
getByWorkflowId: typeof escalationsApi.getEscalationsByWorkflowId;
|
|
87
|
+
escalate: (input: {
|
|
88
|
+
id: string;
|
|
89
|
+
targetRole: string;
|
|
90
|
+
}, auth?: LTApiAuth) => Promise<LTApiResult<any>>;
|
|
91
|
+
claim: (input: {
|
|
92
|
+
id: string;
|
|
93
|
+
durationMinutes?: number;
|
|
94
|
+
}, auth?: LTApiAuth) => Promise<LTApiResult<any>>;
|
|
95
|
+
release: (input: {
|
|
96
|
+
id: string;
|
|
97
|
+
}, auth?: LTApiAuth) => Promise<LTApiResult<any>>;
|
|
98
|
+
resolve: (input: {
|
|
99
|
+
id: string;
|
|
100
|
+
resolverPayload: Record<string, any>;
|
|
101
|
+
}, auth?: LTApiAuth) => Promise<LTApiResult<any>>;
|
|
102
|
+
releaseExpired: typeof escalationsApi.releaseExpiredClaims;
|
|
103
|
+
updatePriority: (input: {
|
|
104
|
+
ids: string[];
|
|
105
|
+
priority: number;
|
|
106
|
+
}, auth?: LTApiAuth) => Promise<LTApiResult<any>>;
|
|
107
|
+
bulkClaim: (input: {
|
|
108
|
+
ids: string[];
|
|
109
|
+
durationMinutes?: number;
|
|
110
|
+
}, auth?: LTApiAuth) => Promise<LTApiResult<any>>;
|
|
111
|
+
bulkAssign: (input: {
|
|
112
|
+
ids: string[];
|
|
113
|
+
targetUserId: string;
|
|
114
|
+
durationMinutes?: number;
|
|
115
|
+
}, auth?: LTApiAuth) => Promise<LTApiResult<any>>;
|
|
116
|
+
bulkEscalate: (input: {
|
|
117
|
+
ids: string[];
|
|
118
|
+
targetRole: string;
|
|
119
|
+
}, auth?: LTApiAuth) => Promise<LTApiResult<any>>;
|
|
120
|
+
bulkTriage: (input: {
|
|
121
|
+
ids: string[];
|
|
122
|
+
hint?: string;
|
|
123
|
+
}, auth?: LTApiAuth) => Promise<LTApiResult<any>>;
|
|
124
|
+
};
|
|
125
|
+
workflows: {
|
|
126
|
+
invoke: (input: {
|
|
127
|
+
type: string;
|
|
128
|
+
data?: Record<string, any>;
|
|
129
|
+
metadata?: Record<string, any>;
|
|
130
|
+
execute_as?: string;
|
|
131
|
+
}, auth?: LTApiAuth) => Promise<LTApiResult<any>>;
|
|
132
|
+
getStatus: typeof workflowsApi.getWorkflowStatus;
|
|
133
|
+
getResult: typeof workflowsApi.getWorkflowResult;
|
|
134
|
+
terminate: typeof workflowsApi.terminateWorkflow;
|
|
135
|
+
export: typeof workflowsApi.exportWorkflow;
|
|
136
|
+
listWorkers: typeof workflowsApi.listWorkers;
|
|
137
|
+
listDiscovered: typeof workflowsApi.listDiscoveredWorkflows;
|
|
138
|
+
getCronStatus: typeof workflowsApi.getCronStatus;
|
|
139
|
+
listConfigs: typeof workflowsApi.listWorkflowConfigs;
|
|
140
|
+
getConfig: typeof workflowsApi.getWorkflowConfig;
|
|
141
|
+
upsertConfig: typeof workflowsApi.upsertWorkflowConfig;
|
|
142
|
+
deleteConfig: typeof workflowsApi.deleteWorkflowConfig;
|
|
143
|
+
};
|
|
144
|
+
yamlWorkflows: {
|
|
145
|
+
list: typeof yamlWorkflowsApi.listYamlWorkflows;
|
|
146
|
+
create: typeof yamlWorkflowsApi.createYamlWorkflow;
|
|
147
|
+
createDirect: typeof yamlWorkflowsApi.createYamlWorkflowDirect;
|
|
148
|
+
getAppIds: typeof yamlWorkflowsApi.getAppIds;
|
|
149
|
+
get: typeof yamlWorkflowsApi.getYamlWorkflow;
|
|
150
|
+
update: typeof yamlWorkflowsApi.updateYamlWorkflow;
|
|
151
|
+
regenerate: typeof yamlWorkflowsApi.regenerateYamlWorkflow;
|
|
152
|
+
delete: typeof yamlWorkflowsApi.deleteYamlWorkflow;
|
|
153
|
+
deploy: typeof yamlWorkflowsApi.deployYamlWorkflow;
|
|
154
|
+
activate: typeof yamlWorkflowsApi.activateYamlWorkflow;
|
|
155
|
+
invoke: (input: {
|
|
156
|
+
id: string;
|
|
157
|
+
data?: any;
|
|
158
|
+
sync?: boolean;
|
|
159
|
+
timeout?: number;
|
|
160
|
+
execute_as?: string;
|
|
161
|
+
}, auth?: LTApiAuth) => Promise<LTApiResult<any>>;
|
|
162
|
+
archive: typeof yamlWorkflowsApi.archiveYamlWorkflow;
|
|
163
|
+
getVersionHistory: typeof yamlWorkflowsApi.getVersionHistory;
|
|
164
|
+
getVersionSnapshot: typeof yamlWorkflowsApi.getVersionSnapshot;
|
|
165
|
+
getYamlContent: typeof yamlWorkflowsApi.getYamlContent;
|
|
166
|
+
setCronSchedule: typeof yamlWorkflowsApi.setCronSchedule;
|
|
167
|
+
clearCronSchedule: typeof yamlWorkflowsApi.clearCronSchedule;
|
|
168
|
+
getCronStatus: typeof yamlWorkflowsApi.getCronStatus;
|
|
169
|
+
};
|
|
170
|
+
users: {
|
|
171
|
+
list: typeof usersApi.listUsers;
|
|
172
|
+
get: typeof usersApi.getUser;
|
|
173
|
+
create: typeof usersApi.createUser;
|
|
174
|
+
update: typeof usersApi.updateUser;
|
|
175
|
+
delete: typeof usersApi.deleteUser;
|
|
176
|
+
getRoles: typeof usersApi.getUserRoles;
|
|
177
|
+
addRole: typeof usersApi.addUserRole;
|
|
178
|
+
removeRole: typeof usersApi.removeUserRole;
|
|
179
|
+
};
|
|
180
|
+
roles: {
|
|
181
|
+
list: typeof rolesApi.listRoles;
|
|
182
|
+
listWithDetails: typeof rolesApi.listRolesWithDetails;
|
|
183
|
+
create: typeof rolesApi.createRole;
|
|
184
|
+
delete: typeof rolesApi.deleteRole;
|
|
185
|
+
getEscalationChains: typeof rolesApi.getEscalationChains;
|
|
186
|
+
addEscalationChain: typeof rolesApi.addEscalationChain;
|
|
187
|
+
removeEscalationChain: typeof rolesApi.removeEscalationChain;
|
|
188
|
+
getEscalationTargets: typeof rolesApi.getEscalationTargets;
|
|
189
|
+
replaceEscalationTargets: typeof rolesApi.replaceEscalationTargets;
|
|
190
|
+
};
|
|
191
|
+
auth: {
|
|
192
|
+
login: typeof authApi.login;
|
|
193
|
+
};
|
|
194
|
+
mcp: {
|
|
195
|
+
listServers: typeof mcpApi.listMcpServers;
|
|
196
|
+
createServer: typeof mcpApi.createMcpServer;
|
|
197
|
+
testConnection: typeof mcpApi.testConnection;
|
|
198
|
+
getServer: typeof mcpApi.getMcpServer;
|
|
199
|
+
updateServer: typeof mcpApi.updateMcpServer;
|
|
200
|
+
deleteServer: typeof mcpApi.deleteMcpServer;
|
|
201
|
+
connectServer: typeof mcpApi.connectMcpServer;
|
|
202
|
+
disconnectServer: typeof mcpApi.disconnectMcpServer;
|
|
203
|
+
getCredentialStatus: (input: {
|
|
204
|
+
id: string;
|
|
205
|
+
}, auth?: LTApiAuth) => Promise<LTApiResult<any>>;
|
|
206
|
+
listTools: typeof mcpApi.listMcpServerTools;
|
|
207
|
+
callTool: (input: {
|
|
208
|
+
id: string;
|
|
209
|
+
toolName: string;
|
|
210
|
+
arguments?: Record<string, any>;
|
|
211
|
+
execute_as?: string;
|
|
212
|
+
}, auth?: LTApiAuth) => Promise<LTApiResult<any>>;
|
|
213
|
+
};
|
|
214
|
+
mcpRuns: {
|
|
215
|
+
listEntities: typeof mcpRunsApi.listEntities;
|
|
216
|
+
listJobs: typeof mcpRunsApi.listJobs;
|
|
217
|
+
getExecution: typeof mcpRunsApi.getJobExecution;
|
|
218
|
+
};
|
|
219
|
+
insight: {
|
|
220
|
+
mcpQuery: (input: {
|
|
221
|
+
prompt: string;
|
|
222
|
+
tags?: string[];
|
|
223
|
+
wait?: boolean;
|
|
224
|
+
direct?: boolean;
|
|
225
|
+
context?: any;
|
|
226
|
+
}, auth?: LTApiAuth) => Promise<LTApiResult<any>>;
|
|
227
|
+
buildWorkflow: (input: {
|
|
228
|
+
prompt: string;
|
|
229
|
+
tags?: string[];
|
|
230
|
+
wait?: boolean;
|
|
231
|
+
feedback?: string;
|
|
232
|
+
prior_yaml?: string;
|
|
233
|
+
answers?: any;
|
|
234
|
+
prior_questions?: any;
|
|
235
|
+
}, auth?: LTApiAuth) => Promise<LTApiResult<any>>;
|
|
236
|
+
refineWorkflow: (input: {
|
|
237
|
+
prompt: string;
|
|
238
|
+
prior_yaml: string;
|
|
239
|
+
feedback: string;
|
|
240
|
+
tags?: string[];
|
|
241
|
+
wait?: boolean;
|
|
242
|
+
}, auth?: LTApiAuth) => Promise<LTApiResult<any>>;
|
|
243
|
+
describeWorkflow: typeof insightApi.describeWorkflow;
|
|
244
|
+
};
|
|
245
|
+
settings: {
|
|
246
|
+
get: typeof settingsApi.getSettings;
|
|
247
|
+
};
|
|
248
|
+
exports: {
|
|
249
|
+
listJobs: typeof exportsApi.listJobs;
|
|
250
|
+
exportState: typeof exportsApi.exportWorkflowState;
|
|
251
|
+
exportExecution: typeof exportsApi.exportWorkflowExecution;
|
|
252
|
+
getStatus: typeof exportsApi.getWorkflowStatus;
|
|
253
|
+
getState: typeof exportsApi.getWorkflowState;
|
|
254
|
+
};
|
|
255
|
+
controlplane: {
|
|
256
|
+
listApps: typeof controlplaneApi.listApps;
|
|
257
|
+
rollCall: typeof controlplaneApi.rollCall;
|
|
258
|
+
throttle: typeof controlplaneApi.applyThrottle;
|
|
259
|
+
getStreamStats: typeof controlplaneApi.getStreamStats;
|
|
260
|
+
subscribe: typeof controlplaneApi.subscribeMesh;
|
|
261
|
+
};
|
|
262
|
+
botAccounts: {
|
|
263
|
+
list: typeof botAccountsApi.listBots;
|
|
264
|
+
get: typeof botAccountsApi.getBot;
|
|
265
|
+
create: (input: {
|
|
266
|
+
name: string;
|
|
267
|
+
description?: string;
|
|
268
|
+
display_name?: string;
|
|
269
|
+
roles?: {
|
|
270
|
+
role: string;
|
|
271
|
+
type: string;
|
|
272
|
+
}[];
|
|
273
|
+
}, auth?: LTApiAuth) => Promise<LTApiResult<any>>;
|
|
274
|
+
update: typeof botAccountsApi.updateBot;
|
|
275
|
+
delete: typeof botAccountsApi.deleteBot;
|
|
276
|
+
getRoles: typeof botAccountsApi.getBotRoles;
|
|
277
|
+
addRole: typeof botAccountsApi.addBotRole;
|
|
278
|
+
removeRole: typeof botAccountsApi.removeBotRole;
|
|
279
|
+
listKeys: typeof botAccountsApi.listBotKeys;
|
|
280
|
+
createKey: typeof botAccountsApi.createBotKey;
|
|
281
|
+
revokeKey: typeof botAccountsApi.revokeBotKey;
|
|
282
|
+
};
|
|
283
|
+
workflowSets: {
|
|
284
|
+
create: (input: {
|
|
285
|
+
name: string;
|
|
286
|
+
description?: string;
|
|
287
|
+
specification: string;
|
|
288
|
+
}, auth?: LTApiAuth) => Promise<LTApiResult<any>>;
|
|
289
|
+
list: typeof workflowSetsApi.listWorkflowSets;
|
|
290
|
+
get: typeof workflowSetsApi.getWorkflowSet;
|
|
291
|
+
updatePlan: typeof workflowSetsApi.updateWorkflowSetPlanApi;
|
|
292
|
+
build: typeof workflowSetsApi.buildWorkflowSet;
|
|
293
|
+
deploy: typeof workflowSetsApi.deployWorkflowSet;
|
|
294
|
+
};
|
|
295
|
+
dba: {
|
|
296
|
+
prune: typeof dbaApi.prune;
|
|
297
|
+
deploy: typeof dbaApi.deploy;
|
|
298
|
+
};
|
|
299
|
+
namespaces: {
|
|
300
|
+
list: typeof namespacesApi.listNamespaces;
|
|
301
|
+
register: typeof namespacesApi.registerNamespace;
|
|
302
|
+
};
|
|
303
|
+
maintenance: {
|
|
304
|
+
getConfig: typeof maintenanceApi.getMaintenanceConfig;
|
|
305
|
+
updateConfig: typeof maintenanceApi.updateMaintenanceConfig;
|
|
306
|
+
};
|
|
307
|
+
events: {
|
|
308
|
+
/**
|
|
309
|
+
* Subscribe to Long Tail events.
|
|
310
|
+
*
|
|
311
|
+
* Supports exact types (`'task.created'`), category wildcards (`'task.*'`),
|
|
312
|
+
* and global wildcard (`'*'`).
|
|
313
|
+
*
|
|
314
|
+
* Returns an unsubscribe function.
|
|
315
|
+
*
|
|
316
|
+
* ```typescript
|
|
317
|
+
* const unsub = lt.events.on('escalation.claimed', (event) => {
|
|
318
|
+
* console.log('claimed:', event.escalationId);
|
|
319
|
+
* });
|
|
320
|
+
* // Later: unsub();
|
|
321
|
+
* ```
|
|
322
|
+
*/
|
|
323
|
+
on: (pattern: LTEventType | "*" | (string & {}), callback: (event: LTEvent) => void) => (() => void);
|
|
324
|
+
};
|
|
325
|
+
};
|
|
326
|
+
/** The return type of createClient(). */
|
|
327
|
+
export type LTClient = ReturnType<typeof createClient>;
|