@hotmeshio/long-tail 0.1.7 → 0.1.9
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 +3 -1
- package/build/api/auth.d.ts +11 -0
- package/build/api/auth.js +11 -0
- package/build/api/bot-accounts.d.ts +87 -0
- package/build/api/bot-accounts.js +87 -0
- package/build/api/controlplane.d.ts +48 -0
- package/build/api/controlplane.js +48 -0
- package/build/api/dba.d.ts +27 -0
- package/build/api/dba.js +27 -0
- package/build/api/escalations.d.ts +201 -0
- package/build/api/escalations.js +276 -5
- package/build/api/exports.d.ts +58 -0
- package/build/api/exports.js +58 -0
- package/build/api/insight.d.ts +57 -0
- package/build/api/insight.js +57 -0
- package/build/api/maintenance.d.ts +15 -0
- package/build/api/maintenance.js +15 -0
- package/build/api/mcp-runs.d.ts +27 -0
- package/build/api/mcp-runs.js +27 -0
- package/build/api/mcp.d.ts +108 -0
- package/build/api/mcp.js +108 -0
- package/build/api/namespaces.d.ts +13 -0
- package/build/api/namespaces.js +13 -0
- package/build/api/roles.d.ts +63 -0
- package/build/api/roles.js +63 -5
- package/build/api/settings.d.ts +8 -0
- package/build/api/settings.js +8 -0
- package/build/api/tasks.d.ts +68 -1
- package/build/api/tasks.js +92 -0
- package/build/api/users.d.ts +71 -0
- package/build/api/users.js +71 -5
- package/build/api/workflow-sets.d.ts +51 -0
- package/build/api/workflow-sets.js +51 -0
- package/build/api/workflows.d.ts +110 -0
- package/build/api/workflows.js +117 -1
- package/build/api/yaml-workflows.d.ts +195 -0
- package/build/api/yaml-workflows.js +195 -0
- package/build/examples/seed.js +18 -0
- package/build/examples/types/envelopes.d.ts +35 -0
- package/build/examples/types/index.d.ts +1 -1
- package/build/examples/workers.js +10 -0
- package/build/examples/workflows/assembly-line/activities.d.ts +28 -0
- package/build/examples/workflows/assembly-line/activities.js +53 -0
- package/build/examples/workflows/assembly-line/index.d.ts +17 -0
- package/build/examples/workflows/assembly-line/index.js +60 -0
- package/build/examples/workflows/assembly-line/iterator.d.ts +12 -0
- package/build/examples/workflows/assembly-line/iterator.js +54 -0
- package/build/examples/workflows/assembly-line/reverter.d.ts +18 -0
- package/build/examples/workflows/assembly-line/reverter.js +89 -0
- package/build/examples/workflows/assembly-line/types.d.ts +25 -0
- package/build/examples/workflows/assembly-line/types.js +8 -0
- package/build/examples/workflows/assembly-line/worker.d.ts +13 -0
- package/build/examples/workflows/assembly-line/worker.js +81 -0
- package/build/examples/workflows/basic-signal/activities.d.ts +17 -0
- package/build/examples/workflows/basic-signal/activities.js +18 -0
- package/build/examples/workflows/basic-signal/index.d.ts +17 -0
- package/build/examples/workflows/basic-signal/index.js +116 -0
- package/build/index.d.ts +1 -0
- package/build/index.js +4 -1
- package/build/lib/db/schemas/002_seed.sql +9 -1
- package/build/modules/ltconfig.d.ts +8 -1
- package/build/modules/ltconfig.js +12 -2
- package/build/routes/escalations/list.js +22 -0
- package/build/routes/tasks.js +23 -0
- package/build/routes/workflows/invocation.js +16 -10
- package/build/sdk/index.d.ts +26 -0
- package/build/sdk/index.js +2 -0
- package/build/services/interceptor/index.js +9 -3
- package/build/services/orchestrator/condition.d.ts +34 -0
- package/build/services/orchestrator/condition.js +92 -0
- package/build/services/workflow-invocation.d.ts +16 -3
- package/build/services/workflow-invocation.js +15 -7
- package/build/start/index.d.ts +24 -0
- package/build/start/index.js +24 -0
- package/build/start/workers.d.ts +6 -8
- package/build/start/workers.js +25 -2
- package/build/system/mcp-servers/admin/workflows.js +5 -0
- package/build/tsconfig.tsbuildinfo +1 -1
- package/build/types/envelope.d.ts +7 -0
- package/build/types/sdk.d.ts +2 -0
- package/build/types/startup.d.ts +29 -2
- package/dashboard/dist/assets/{AdminDashboard-DRjkRSjJ.js → AdminDashboard-DUrSBQOl.js} +2 -2
- package/dashboard/dist/assets/{AdminDashboard-DRjkRSjJ.js.map → AdminDashboard-DUrSBQOl.js.map} +1 -1
- package/dashboard/dist/assets/{AvailableEscalationsPage-CnivX4Tz.js → AvailableEscalationsPage-Dbd1qUK_.js} +2 -2
- package/dashboard/dist/assets/{AvailableEscalationsPage-CnivX4Tz.js.map → AvailableEscalationsPage-Dbd1qUK_.js.map} +1 -1
- package/dashboard/dist/assets/{BotPicker-DwwaBhTH.js → BotPicker-Cg5iNEkm.js} +2 -2
- package/dashboard/dist/assets/{BotPicker-DwwaBhTH.js.map → BotPicker-Cg5iNEkm.js.map} +1 -1
- package/dashboard/dist/assets/{CollapsibleSection-DQpaVA0M.js → CollapsibleSection-Kd9UIyeU.js} +2 -2
- package/dashboard/dist/assets/{CollapsibleSection-DQpaVA0M.js.map → CollapsibleSection-Kd9UIyeU.js.map} +1 -1
- package/dashboard/dist/assets/{ConfirmDeleteModal-B7JoDNvt.js → ConfirmDeleteModal-DZMgmlof.js} +2 -2
- package/dashboard/dist/assets/{ConfirmDeleteModal-B7JoDNvt.js.map → ConfirmDeleteModal-DZMgmlof.js.map} +1 -1
- package/dashboard/dist/assets/{CopyableId-AqoZayBG.js → CopyableId-cPFTRm8q.js} +2 -2
- package/dashboard/dist/assets/{CopyableId-AqoZayBG.js.map → CopyableId-cPFTRm8q.js.map} +1 -1
- package/dashboard/dist/assets/{CredentialsPage-qGw1kQzi.js → CredentialsPage-DJablIbs.js} +2 -2
- package/dashboard/dist/assets/{CredentialsPage-qGw1kQzi.js.map → CredentialsPage-DJablIbs.js.map} +1 -1
- package/dashboard/dist/assets/{CustomDurationPicker-D1HUQcd0.js → CustomDurationPicker-NgIP6YDW.js} +2 -2
- package/dashboard/dist/assets/{CustomDurationPicker-D1HUQcd0.js.map → CustomDurationPicker-NgIP6YDW.js.map} +1 -1
- package/dashboard/dist/assets/{DataTable-DKvSKoVG.js → DataTable-CTRhTAfT.js} +2 -2
- package/dashboard/dist/assets/{DataTable-DKvSKoVG.js.map → DataTable-CTRhTAfT.js.map} +1 -1
- package/dashboard/dist/assets/{ElapsedCell-B0yrReGQ.js → ElapsedCell-HcSJ_MMs.js} +2 -2
- package/dashboard/dist/assets/{ElapsedCell-B0yrReGQ.js.map → ElapsedCell-HcSJ_MMs.js.map} +1 -1
- package/dashboard/dist/assets/{EmptyState-X0fIzYID.js → EmptyState-joNbd4gg.js} +2 -2
- package/dashboard/dist/assets/{EmptyState-X0fIzYID.js.map → EmptyState-joNbd4gg.js.map} +1 -1
- package/dashboard/dist/assets/{EscalationsOverview-BQAT9W7r.js → EscalationsOverview-DpXDnQux.js} +2 -2
- package/dashboard/dist/assets/{EscalationsOverview-BQAT9W7r.js.map → EscalationsOverview-DpXDnQux.js.map} +1 -1
- package/dashboard/dist/assets/{EventTable-CX1KNLhZ.js → EventTable-CYem3v8n.js} +2 -2
- package/dashboard/dist/assets/{EventTable-CX1KNLhZ.js.map → EventTable-CYem3v8n.js.map} +1 -1
- package/dashboard/dist/assets/{FilterBar-DMTvuQy-.js → FilterBar-BiO8SOzc.js} +2 -2
- package/dashboard/dist/assets/{FilterBar-DMTvuQy-.js.map → FilterBar-BiO8SOzc.js.map} +1 -1
- package/dashboard/dist/assets/{ListToolbar-DTOSxoEy.js → ListToolbar-6yRDh2e9.js} +2 -2
- package/dashboard/dist/assets/{ListToolbar-DTOSxoEy.js.map → ListToolbar-6yRDh2e9.js.map} +1 -1
- package/dashboard/dist/assets/{McpOverview-BaKTIWrG.js → McpOverview-CUgSxkQe.js} +2 -2
- package/dashboard/dist/assets/{McpOverview-BaKTIWrG.js.map → McpOverview-CUgSxkQe.js.map} +1 -1
- package/dashboard/dist/assets/{McpQueryDetailPage-CC08T5k8.js → McpQueryDetailPage-BWbinTM_.js} +2 -2
- package/dashboard/dist/assets/{McpQueryDetailPage-CC08T5k8.js.map → McpQueryDetailPage-BWbinTM_.js.map} +1 -1
- package/dashboard/dist/assets/{McpQueryPage-CVfF9dYg.js → McpQueryPage-lV6kfDG5.js} +2 -2
- package/dashboard/dist/assets/{McpQueryPage-CVfF9dYg.js.map → McpQueryPage-lV6kfDG5.js.map} +1 -1
- package/dashboard/dist/assets/{McpRunDetailPage-CKs1RWeV.js → McpRunDetailPage-D6gaxH3_.js} +2 -2
- package/dashboard/dist/assets/{McpRunDetailPage-CKs1RWeV.js.map → McpRunDetailPage-D6gaxH3_.js.map} +1 -1
- package/dashboard/dist/assets/{McpRunsPage-CcPD_tY1.js → McpRunsPage-DKvTklh9.js} +2 -2
- package/dashboard/dist/assets/{McpRunsPage-CcPD_tY1.js.map → McpRunsPage-DKvTklh9.js.map} +1 -1
- package/dashboard/dist/assets/{Modal-_2AbWxJT.js → Modal-BuTvD0pz.js} +2 -2
- package/dashboard/dist/assets/{Modal-_2AbWxJT.js.map → Modal-BuTvD0pz.js.map} +1 -1
- package/dashboard/dist/assets/{OperatorDashboard-BGiRaRDr.js → OperatorDashboard-C9SSV96T.js} +2 -2
- package/dashboard/dist/assets/{OperatorDashboard-BGiRaRDr.js.map → OperatorDashboard-C9SSV96T.js.map} +1 -1
- package/dashboard/dist/assets/{PageHeader-DVr5Qyzm.js → PageHeader-BcTVF9ul.js} +2 -2
- package/dashboard/dist/assets/{PageHeader-DVr5Qyzm.js.map → PageHeader-BcTVF9ul.js.map} +1 -1
- package/dashboard/dist/assets/{PageHeaderWithStats-D0KRASML.js → PageHeaderWithStats-BI7JG5x6.js} +2 -2
- package/dashboard/dist/assets/{PageHeaderWithStats-D0KRASML.js.map → PageHeaderWithStats-BI7JG5x6.js.map} +1 -1
- package/dashboard/dist/assets/{PriorityBadge-Bx2559OU.js → PriorityBadge-DqVaOU65.js} +2 -2
- package/dashboard/dist/assets/{PriorityBadge-Bx2559OU.js.map → PriorityBadge-DqVaOU65.js.map} +1 -1
- package/dashboard/dist/assets/{ProcessDetailPage-69I--sry.js → ProcessDetailPage-hFMhf9qa.js} +2 -2
- package/dashboard/dist/assets/{ProcessDetailPage-69I--sry.js.map → ProcessDetailPage-hFMhf9qa.js.map} +1 -1
- package/dashboard/dist/assets/{ProcessesListPage-BDpUbua2.js → ProcessesListPage-ByVoBCQ3.js} +2 -2
- package/dashboard/dist/assets/{ProcessesListPage-BDpUbua2.js.map → ProcessesListPage-ByVoBCQ3.js.map} +1 -1
- package/dashboard/dist/assets/{RolePill-CcAqEaSt.js → RolePill-D9ZIkYiu.js} +2 -2
- package/dashboard/dist/assets/{RolePill-CcAqEaSt.js.map → RolePill-D9ZIkYiu.js.map} +1 -1
- package/dashboard/dist/assets/{RolesPage-Cl23Hjet.js → RolesPage-SMedMuqa.js} +2 -2
- package/dashboard/dist/assets/{RolesPage-Cl23Hjet.js.map → RolesPage-SMedMuqa.js.map} +1 -1
- package/dashboard/dist/assets/{RowActions-B4mqIt3Z.js → RowActions-yDhwwDbU.js} +2 -2
- package/dashboard/dist/assets/{RowActions-B4mqIt3Z.js.map → RowActions-yDhwwDbU.js.map} +1 -1
- package/dashboard/dist/assets/{StatCard-Cz_2OjAZ.js → StatCard-BrBnQFxh.js} +2 -2
- package/dashboard/dist/assets/{StatCard-Cz_2OjAZ.js.map → StatCard-BrBnQFxh.js.map} +1 -1
- package/dashboard/dist/assets/{StatusBadge-Wi2FJZsn.js → StatusBadge-xgb-lZku.js} +2 -2
- package/dashboard/dist/assets/{StatusBadge-Wi2FJZsn.js.map → StatusBadge-xgb-lZku.js.map} +1 -1
- package/dashboard/dist/assets/{StepIndicator-PW5NRDMb.js → StepIndicator-B9ps2SvM.js} +2 -2
- package/dashboard/dist/assets/{StepIndicator-PW5NRDMb.js.map → StepIndicator-B9ps2SvM.js.map} +1 -1
- package/dashboard/dist/assets/{StickyPagination-Bl2Uzz65.js → StickyPagination-DTIjBKN3.js} +2 -2
- package/dashboard/dist/assets/{StickyPagination-Bl2Uzz65.js.map → StickyPagination-DTIjBKN3.js.map} +1 -1
- package/dashboard/dist/assets/{SwimlaneTimeline-CUPqMd0z.js → SwimlaneTimeline-RK4Yu66z.js} +2 -2
- package/dashboard/dist/assets/{SwimlaneTimeline-CUPqMd0z.js.map → SwimlaneTimeline-RK4Yu66z.js.map} +1 -1
- package/dashboard/dist/assets/{TagInput-BLtf86Ly.js → TagInput-CdNUuqk4.js} +2 -2
- package/dashboard/dist/assets/{TagInput-BLtf86Ly.js.map → TagInput-CdNUuqk4.js.map} +1 -1
- package/dashboard/dist/assets/{TaskDetailPage-BXJFX74D.js → TaskDetailPage-C-nzaNea.js} +2 -2
- package/dashboard/dist/assets/{TaskDetailPage-BXJFX74D.js.map → TaskDetailPage-C-nzaNea.js.map} +1 -1
- package/dashboard/dist/assets/{TaskQueuePill-CWYj3xKe.js → TaskQueuePill-Lvr2-NzS.js} +2 -2
- package/dashboard/dist/assets/{TaskQueuePill-CWYj3xKe.js.map → TaskQueuePill-Lvr2-NzS.js.map} +1 -1
- package/dashboard/dist/assets/{TasksListPage-C3cX94Mw.js → TasksListPage-DSUmD84y.js} +2 -2
- package/dashboard/dist/assets/{TasksListPage-C3cX94Mw.js.map → TasksListPage-DSUmD84y.js.map} +1 -1
- package/dashboard/dist/assets/{TimeAgo-B_5yDDHV.js → TimeAgo-BZdLdrIh.js} +2 -2
- package/dashboard/dist/assets/{TimeAgo-B_5yDDHV.js.map → TimeAgo-BZdLdrIh.js.map} +1 -1
- package/dashboard/dist/assets/{TimestampCell-DRX724uU.js → TimestampCell-QX_0i5FK.js} +2 -2
- package/dashboard/dist/assets/{TimestampCell-DRX724uU.js.map → TimestampCell-QX_0i5FK.js.map} +1 -1
- package/dashboard/dist/assets/{UserName-Ca8FA469.js → UserName-DyZMXcBm.js} +2 -2
- package/dashboard/dist/assets/{UserName-Ca8FA469.js.map → UserName-DyZMXcBm.js.map} +1 -1
- package/dashboard/dist/assets/{WorkflowExecutionPage-BBYWEV2P.js → WorkflowExecutionPage-DjVxfZaF.js} +2 -2
- package/dashboard/dist/assets/{WorkflowExecutionPage-BBYWEV2P.js.map → WorkflowExecutionPage-DjVxfZaF.js.map} +1 -1
- package/dashboard/dist/assets/WorkflowPill-CZqGslD6.js +2 -0
- package/dashboard/dist/assets/WorkflowPill-CZqGslD6.js.map +1 -0
- package/dashboard/dist/assets/WorkflowsDashboard-DZjuiFZ0.js +2 -0
- package/dashboard/dist/assets/WorkflowsDashboard-DZjuiFZ0.js.map +1 -0
- package/dashboard/dist/assets/{WorkflowsOverview-03IRrDLg.js → WorkflowsOverview-CLnLRpOu.js} +2 -2
- package/dashboard/dist/assets/{WorkflowsOverview-03IRrDLg.js.map → WorkflowsOverview-CLnLRpOu.js.map} +1 -1
- package/dashboard/dist/assets/{YamlWorkflowsPage-DC2cLxVi.js → YamlWorkflowsPage-VjdhnLmO.js} +2 -2
- package/dashboard/dist/assets/{YamlWorkflowsPage-DC2cLxVi.js.map → YamlWorkflowsPage-VjdhnLmO.js.map} +1 -1
- package/dashboard/dist/assets/{bots-DZEXcgiJ.js → bots-DIM6lBoY.js} +2 -2
- package/dashboard/dist/assets/{bots-DZEXcgiJ.js.map → bots-DIM6lBoY.js.map} +1 -1
- package/dashboard/dist/assets/{escalation-Cw48lNaF.js → escalation-JOTuOqjq.js} +2 -2
- package/dashboard/dist/assets/{escalation-Cw48lNaF.js.map → escalation-JOTuOqjq.js.map} +1 -1
- package/dashboard/dist/assets/{escalation-columns-NINpo3qf.js → escalation-columns-Cyg58nkg.js} +2 -2
- package/dashboard/dist/assets/{escalation-columns-NINpo3qf.js.map → escalation-columns-Cyg58nkg.js.map} +1 -1
- package/dashboard/dist/assets/{helpers-fk_qr729.js → helpers-B1BDxBZd.js} +2 -2
- package/dashboard/dist/assets/{helpers-fk_qr729.js.map → helpers-B1BDxBZd.js.map} +1 -1
- package/dashboard/dist/assets/{helpers-Cuu3xKfr.js → helpers-BCix9c_m.js} +2 -2
- package/dashboard/dist/assets/{helpers-Cuu3xKfr.js.map → helpers-BCix9c_m.js.map} +1 -1
- package/dashboard/dist/assets/{index-Dj-z-x8M.js → index-BUK3qR-1.js} +2 -2
- package/dashboard/dist/assets/{index-Dj-z-x8M.js.map → index-BUK3qR-1.js.map} +1 -1
- package/dashboard/dist/assets/{index-BwN3KP_L.js → index-BYZX9tOb.js} +8 -8
- package/dashboard/dist/assets/index-BYZX9tOb.js.map +1 -0
- package/dashboard/dist/assets/{index-BIG3KooI.js → index-BcR6PfpY.js} +2 -2
- package/dashboard/dist/assets/{index-BIG3KooI.js.map → index-BcR6PfpY.js.map} +1 -1
- package/dashboard/dist/assets/index-BizfauqT.js +6 -0
- package/dashboard/dist/assets/index-BizfauqT.js.map +1 -0
- package/dashboard/dist/assets/{index-aRvL-dXp.js → index-Cf60K3x9.js} +2 -2
- package/dashboard/dist/assets/{index-aRvL-dXp.js.map → index-Cf60K3x9.js.map} +1 -1
- package/dashboard/dist/assets/{index-b03HlbnH.js → index-Cg5nfiYX.js} +2 -2
- package/dashboard/dist/assets/{index-b03HlbnH.js.map → index-Cg5nfiYX.js.map} +1 -1
- package/dashboard/dist/assets/index-D1wVX50Z.js +15 -0
- package/dashboard/dist/assets/index-D1wVX50Z.js.map +1 -0
- package/dashboard/dist/assets/{index-DwRytW9O.js → index-DDYFpi4l.js} +4 -4
- package/dashboard/dist/assets/index-DDYFpi4l.js.map +1 -0
- package/dashboard/dist/assets/{index-B98ipWxE.js → index-Di12t56M.js} +2 -2
- package/dashboard/dist/assets/{index-B98ipWxE.js.map → index-Di12t56M.js.map} +1 -1
- package/dashboard/dist/assets/{index-CORHB0WC.js → index-Ds0JoXS2.js} +2 -2
- package/dashboard/dist/assets/{index-CORHB0WC.js.map → index-Ds0JoXS2.js.map} +1 -1
- package/dashboard/dist/assets/{mcp-BZoFryNc.js → mcp-B_xbczAt.js} +2 -2
- package/dashboard/dist/assets/{mcp-BZoFryNc.js.map → mcp-B_xbczAt.js.map} +1 -1
- package/dashboard/dist/assets/{mcp-query-wiw1kwm8.js → mcp-query-B8-P_QoG.js} +2 -2
- package/dashboard/dist/assets/{mcp-query-wiw1kwm8.js.map → mcp-query-B8-P_QoG.js.map} +1 -1
- package/dashboard/dist/assets/{mcp-runs-BaEKnf5v.js → mcp-runs-CWeZinoF.js} +2 -2
- package/dashboard/dist/assets/{mcp-runs-BaEKnf5v.js.map → mcp-runs-CWeZinoF.js.map} +1 -1
- package/dashboard/dist/assets/{namespaces-BwnZI4_A.js → namespaces-C3WtdO_9.js} +2 -2
- package/dashboard/dist/assets/{namespaces-BwnZI4_A.js.map → namespaces-C3WtdO_9.js.map} +1 -1
- package/dashboard/dist/assets/{roles-Bgn1K8zU.js → roles-BDAsPpZG.js} +2 -2
- package/dashboard/dist/assets/{roles-Bgn1K8zU.js.map → roles-BDAsPpZG.js.map} +1 -1
- package/dashboard/dist/assets/{settings-CizYiutL.js → settings-Ife_UwAp.js} +2 -2
- package/dashboard/dist/assets/{settings-CizYiutL.js.map → settings-Ife_UwAp.js.map} +1 -1
- package/dashboard/dist/assets/{tasks-Bmte_hc4.js → tasks-BquNDHDI.js} +2 -2
- package/dashboard/dist/assets/{tasks-Bmte_hc4.js.map → tasks-BquNDHDI.js.map} +1 -1
- package/dashboard/dist/assets/{useEventHooks-CUCxpiI2.js → useEventHooks-anv_B2Yy.js} +2 -2
- package/dashboard/dist/assets/{useEventHooks-CUCxpiI2.js.map → useEventHooks-anv_B2Yy.js.map} +1 -1
- package/dashboard/dist/assets/{useYamlActivityEvents-Cum02Ej9.js → useYamlActivityEvents-DN-PTgVx.js} +2 -2
- package/dashboard/dist/assets/{useYamlActivityEvents-Cum02Ej9.js.map → useYamlActivityEvents-DN-PTgVx.js.map} +1 -1
- package/dashboard/dist/assets/{users-NSDgTt-z.js → users-CFcxB4v6.js} +2 -2
- package/dashboard/dist/assets/{users-NSDgTt-z.js.map → users-CFcxB4v6.js.map} +1 -1
- package/dashboard/dist/assets/{vendor-icons-D1DdudfH.js → vendor-icons-T4r2DSPD.js} +2 -2
- package/dashboard/dist/assets/{vendor-icons-D1DdudfH.js.map → vendor-icons-T4r2DSPD.js.map} +1 -1
- package/dashboard/dist/assets/{workflows-k0XRdGXx.js → workflows-CeRci9z3.js} +2 -2
- package/dashboard/dist/assets/{workflows-k0XRdGXx.js.map → workflows-CeRci9z3.js.map} +1 -1
- package/dashboard/dist/assets/{yaml-workflows-DAre8I78.js → yaml-workflows-DLwd2BOX.js} +2 -2
- package/dashboard/dist/assets/{yaml-workflows-DAre8I78.js.map → yaml-workflows-DLwd2BOX.js.map} +1 -1
- package/dashboard/dist/index.html +2 -2
- package/docs/api/{escalations.md → http/escalations.md} +99 -0
- package/docs/api/{tasks.md → http/tasks.md} +47 -0
- package/docs/api/sdk/auth.md +27 -0
- package/docs/api/sdk/bot-accounts.md +243 -0
- package/docs/api/sdk/controlplane.md +103 -0
- package/docs/api/sdk/dba.md +52 -0
- package/docs/api/sdk/escalations.md +511 -0
- package/docs/api/sdk/events.md +68 -0
- package/docs/api/sdk/exports.md +124 -0
- package/docs/api/sdk/insight.md +112 -0
- package/docs/api/sdk/maintenance.md +54 -0
- package/docs/api/sdk/mcp-runs.md +71 -0
- package/docs/api/sdk/mcp.md +250 -0
- package/docs/api/sdk/namespaces.md +43 -0
- package/docs/api/sdk/roles.md +183 -0
- package/docs/api/sdk/settings.md +24 -0
- package/docs/api/sdk/tasks.md +159 -0
- package/docs/api/sdk/users.md +196 -0
- package/docs/api/sdk/workflow-sets.md +135 -0
- package/docs/api/sdk/workflows.md +271 -0
- package/docs/api/sdk/yaml-workflows.md +408 -0
- package/package.json +1 -1
- package/dashboard/dist/assets/WorkflowPill-BXifAuLi.js +0 -2
- package/dashboard/dist/assets/WorkflowPill-BXifAuLi.js.map +0 -1
- package/dashboard/dist/assets/WorkflowsDashboard-Drl3juz9.js +0 -2
- package/dashboard/dist/assets/WorkflowsDashboard-Drl3juz9.js.map +0 -1
- package/dashboard/dist/assets/index-BwN3KP_L.js.map +0 -1
- package/dashboard/dist/assets/index-Bxe8h1x4.js +0 -17
- package/dashboard/dist/assets/index-Bxe8h1x4.js.map +0 -1
- package/dashboard/dist/assets/index-CNI7k7oB.js +0 -6
- package/dashboard/dist/assets/index-CNI7k7oB.js.map +0 -1
- package/dashboard/dist/assets/index-DwRytW9O.js.map +0 -1
- package/docs/epic-integration.md +0 -224
- package/docs/workflow-builder.md +0 -371
- /package/docs/api/{dba.md → http/dba.md} +0 -0
- /package/docs/api/{exports.md → http/exports.md} +0 -0
- /package/docs/api/{maintenance.md → http/maintenance.md} +0 -0
- /package/docs/api/{mcp-runs.md → http/mcp-runs.md} +0 -0
- /package/docs/api/{mcp-servers.md → http/mcp-servers.md} +0 -0
- /package/docs/api/{namespaces.md → http/namespaces.md} +0 -0
- /package/docs/api/{roles.md → http/roles.md} +0 -0
- /package/docs/api/{service-accounts.md → http/service-accounts.md} +0 -0
- /package/docs/api/{settings.md → http/settings.md} +0 -0
- /package/docs/api/{users.md → http/users.md} +0 -0
- /package/docs/api/{workflows.md → http/workflows.md} +0 -0
- /package/docs/api/{yaml-workflows.md → http/yaml-workflows.md} +0 -0
package/build/api/users.d.ts
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
import type { LTApiResult } from '../types/sdk';
|
|
2
2
|
import type { LTRoleType } from '../types';
|
|
3
|
+
/**
|
|
4
|
+
* List users with optional filters for role, role type, status, and pagination.
|
|
5
|
+
*
|
|
6
|
+
* @param input.role — filter by role name
|
|
7
|
+
* @param input.roleType — filter by role type (superadmin, admin, member)
|
|
8
|
+
* @param input.status — filter by user status
|
|
9
|
+
* @param input.limit — maximum number of users to return
|
|
10
|
+
* @param input.offset — number of users to skip for pagination
|
|
11
|
+
* @returns `{ status: 200, data: User[] }` on success
|
|
12
|
+
*/
|
|
3
13
|
export declare function listUsers(input: {
|
|
4
14
|
role?: string;
|
|
5
15
|
roleType?: LTRoleType;
|
|
@@ -7,9 +17,28 @@ export declare function listUsers(input: {
|
|
|
7
17
|
limit?: number;
|
|
8
18
|
offset?: number;
|
|
9
19
|
}): Promise<LTApiResult>;
|
|
20
|
+
/**
|
|
21
|
+
* Retrieve a single user by ID.
|
|
22
|
+
*
|
|
23
|
+
* @param input.id — the user's unique identifier
|
|
24
|
+
* @returns `{ status: 200, data: User }` on success, or `{ status: 404 }` if not found
|
|
25
|
+
*/
|
|
10
26
|
export declare function getUser(input: {
|
|
11
27
|
id: string;
|
|
12
28
|
}): Promise<LTApiResult>;
|
|
29
|
+
/**
|
|
30
|
+
* Create a new user. Requires admin privileges.
|
|
31
|
+
*
|
|
32
|
+
* Validates that external_id is present and that any provided roles have valid
|
|
33
|
+
* names and types. Returns 409 if a user with the same external_id already exists.
|
|
34
|
+
*
|
|
35
|
+
* @param input.external_id — external system identifier (required)
|
|
36
|
+
* @param input.email — user's email address
|
|
37
|
+
* @param input.display_name — user's display name
|
|
38
|
+
* @param input.roles — initial role assignments, each with a role name and type (superadmin, admin, member)
|
|
39
|
+
* @param input.metadata — arbitrary key-value metadata to attach to the user
|
|
40
|
+
* @returns `{ status: 201, data: User }` on success, or `{ status: 409 }` on duplicate external_id
|
|
41
|
+
*/
|
|
13
42
|
export declare function createUser(input: {
|
|
14
43
|
external_id?: string;
|
|
15
44
|
email?: string;
|
|
@@ -20,6 +49,18 @@ export declare function createUser(input: {
|
|
|
20
49
|
}[];
|
|
21
50
|
metadata?: Record<string, any>;
|
|
22
51
|
}): Promise<LTApiResult>;
|
|
52
|
+
/**
|
|
53
|
+
* Update an existing user's profile fields. Requires admin privileges.
|
|
54
|
+
*
|
|
55
|
+
* Only the provided fields are updated; omitted fields remain unchanged.
|
|
56
|
+
*
|
|
57
|
+
* @param input.id — the user's unique identifier (required)
|
|
58
|
+
* @param input.email — new email address
|
|
59
|
+
* @param input.display_name — new display name
|
|
60
|
+
* @param input.status — new user status
|
|
61
|
+
* @param input.metadata — replacement metadata object
|
|
62
|
+
* @returns `{ status: 200, data: User }` on success, or `{ status: 404 }` if not found
|
|
63
|
+
*/
|
|
23
64
|
export declare function updateUser(input: {
|
|
24
65
|
id: string;
|
|
25
66
|
email?: string;
|
|
@@ -27,17 +68,47 @@ export declare function updateUser(input: {
|
|
|
27
68
|
status?: string;
|
|
28
69
|
metadata?: Record<string, any>;
|
|
29
70
|
}): Promise<LTApiResult>;
|
|
71
|
+
/**
|
|
72
|
+
* Delete a user by ID. Requires admin privileges.
|
|
73
|
+
*
|
|
74
|
+
* @param input.id — the user's unique identifier
|
|
75
|
+
* @returns `{ status: 200, data: { deleted: true } }` on success, or `{ status: 404 }` if not found
|
|
76
|
+
*/
|
|
30
77
|
export declare function deleteUser(input: {
|
|
31
78
|
id: string;
|
|
32
79
|
}): Promise<LTApiResult>;
|
|
80
|
+
/**
|
|
81
|
+
* Retrieve all roles assigned to a user.
|
|
82
|
+
*
|
|
83
|
+
* @param input.id — the user's unique identifier
|
|
84
|
+
* @returns `{ status: 200, data: { roles: Role[] } }` on success
|
|
85
|
+
*/
|
|
33
86
|
export declare function getUserRoles(input: {
|
|
34
87
|
id: string;
|
|
35
88
|
}): Promise<LTApiResult>;
|
|
89
|
+
/**
|
|
90
|
+
* Assign a role to a user. Requires admin privileges.
|
|
91
|
+
*
|
|
92
|
+
* Validates that both role and type are provided and that the type is one of
|
|
93
|
+
* superadmin, admin, or member.
|
|
94
|
+
*
|
|
95
|
+
* @param input.id — the user's unique identifier
|
|
96
|
+
* @param input.role — the role name to assign
|
|
97
|
+
* @param input.type — the role type (superadmin, admin, or member)
|
|
98
|
+
* @returns `{ status: 201, data: UserRole }` on success
|
|
99
|
+
*/
|
|
36
100
|
export declare function addUserRole(input: {
|
|
37
101
|
id: string;
|
|
38
102
|
role: string;
|
|
39
103
|
type: string;
|
|
40
104
|
}): Promise<LTApiResult>;
|
|
105
|
+
/**
|
|
106
|
+
* Remove a role from a user. Requires admin privileges.
|
|
107
|
+
*
|
|
108
|
+
* @param input.id — the user's unique identifier
|
|
109
|
+
* @param input.role — the role name to remove
|
|
110
|
+
* @returns `{ status: 200, data: { removed: true } }` on success, or `{ status: 404 }` if role not found
|
|
111
|
+
*/
|
|
41
112
|
export declare function removeUserRole(input: {
|
|
42
113
|
id: string;
|
|
43
114
|
role: string;
|
package/build/api/users.js
CHANGED
|
@@ -42,6 +42,16 @@ exports.getUserRoles = getUserRoles;
|
|
|
42
42
|
exports.addUserRole = addUserRole;
|
|
43
43
|
exports.removeUserRole = removeUserRole;
|
|
44
44
|
const userService = __importStar(require("../services/user"));
|
|
45
|
+
/**
|
|
46
|
+
* List users with optional filters for role, role type, status, and pagination.
|
|
47
|
+
*
|
|
48
|
+
* @param input.role — filter by role name
|
|
49
|
+
* @param input.roleType — filter by role type (superadmin, admin, member)
|
|
50
|
+
* @param input.status — filter by user status
|
|
51
|
+
* @param input.limit — maximum number of users to return
|
|
52
|
+
* @param input.offset — number of users to skip for pagination
|
|
53
|
+
* @returns `{ status: 200, data: User[] }` on success
|
|
54
|
+
*/
|
|
45
55
|
async function listUsers(input) {
|
|
46
56
|
try {
|
|
47
57
|
const result = await userService.listUsers(input);
|
|
@@ -51,6 +61,12 @@ async function listUsers(input) {
|
|
|
51
61
|
return { status: 500, error: err.message };
|
|
52
62
|
}
|
|
53
63
|
}
|
|
64
|
+
/**
|
|
65
|
+
* Retrieve a single user by ID.
|
|
66
|
+
*
|
|
67
|
+
* @param input.id — the user's unique identifier
|
|
68
|
+
* @returns `{ status: 200, data: User }` on success, or `{ status: 404 }` if not found
|
|
69
|
+
*/
|
|
54
70
|
async function getUser(input) {
|
|
55
71
|
try {
|
|
56
72
|
const user = await userService.getUser(input.id);
|
|
@@ -63,7 +79,19 @@ async function getUser(input) {
|
|
|
63
79
|
return { status: 500, error: err.message };
|
|
64
80
|
}
|
|
65
81
|
}
|
|
66
|
-
|
|
82
|
+
/**
|
|
83
|
+
* Create a new user. Requires admin privileges.
|
|
84
|
+
*
|
|
85
|
+
* Validates that external_id is present and that any provided roles have valid
|
|
86
|
+
* names and types. Returns 409 if a user with the same external_id already exists.
|
|
87
|
+
*
|
|
88
|
+
* @param input.external_id — external system identifier (required)
|
|
89
|
+
* @param input.email — user's email address
|
|
90
|
+
* @param input.display_name — user's display name
|
|
91
|
+
* @param input.roles — initial role assignments, each with a role name and type (superadmin, admin, member)
|
|
92
|
+
* @param input.metadata — arbitrary key-value metadata to attach to the user
|
|
93
|
+
* @returns `{ status: 201, data: User }` on success, or `{ status: 409 }` on duplicate external_id
|
|
94
|
+
*/
|
|
67
95
|
async function createUser(input) {
|
|
68
96
|
try {
|
|
69
97
|
if (!input.external_id) {
|
|
@@ -95,7 +123,18 @@ async function createUser(input) {
|
|
|
95
123
|
return { status: 500, error: err.message };
|
|
96
124
|
}
|
|
97
125
|
}
|
|
98
|
-
|
|
126
|
+
/**
|
|
127
|
+
* Update an existing user's profile fields. Requires admin privileges.
|
|
128
|
+
*
|
|
129
|
+
* Only the provided fields are updated; omitted fields remain unchanged.
|
|
130
|
+
*
|
|
131
|
+
* @param input.id — the user's unique identifier (required)
|
|
132
|
+
* @param input.email — new email address
|
|
133
|
+
* @param input.display_name — new display name
|
|
134
|
+
* @param input.status — new user status
|
|
135
|
+
* @param input.metadata — replacement metadata object
|
|
136
|
+
* @returns `{ status: 200, data: User }` on success, or `{ status: 404 }` if not found
|
|
137
|
+
*/
|
|
99
138
|
async function updateUser(input) {
|
|
100
139
|
try {
|
|
101
140
|
const { id, ...fields } = input;
|
|
@@ -109,7 +148,12 @@ async function updateUser(input) {
|
|
|
109
148
|
return { status: 500, error: err.message };
|
|
110
149
|
}
|
|
111
150
|
}
|
|
112
|
-
|
|
151
|
+
/**
|
|
152
|
+
* Delete a user by ID. Requires admin privileges.
|
|
153
|
+
*
|
|
154
|
+
* @param input.id — the user's unique identifier
|
|
155
|
+
* @returns `{ status: 200, data: { deleted: true } }` on success, or `{ status: 404 }` if not found
|
|
156
|
+
*/
|
|
113
157
|
async function deleteUser(input) {
|
|
114
158
|
try {
|
|
115
159
|
const deleted = await userService.deleteUser(input.id);
|
|
@@ -122,6 +166,12 @@ async function deleteUser(input) {
|
|
|
122
166
|
return { status: 500, error: err.message };
|
|
123
167
|
}
|
|
124
168
|
}
|
|
169
|
+
/**
|
|
170
|
+
* Retrieve all roles assigned to a user.
|
|
171
|
+
*
|
|
172
|
+
* @param input.id — the user's unique identifier
|
|
173
|
+
* @returns `{ status: 200, data: { roles: Role[] } }` on success
|
|
174
|
+
*/
|
|
125
175
|
async function getUserRoles(input) {
|
|
126
176
|
try {
|
|
127
177
|
const roles = await userService.getUserRoles(input.id);
|
|
@@ -131,7 +181,17 @@ async function getUserRoles(input) {
|
|
|
131
181
|
return { status: 500, error: err.message };
|
|
132
182
|
}
|
|
133
183
|
}
|
|
134
|
-
|
|
184
|
+
/**
|
|
185
|
+
* Assign a role to a user. Requires admin privileges.
|
|
186
|
+
*
|
|
187
|
+
* Validates that both role and type are provided and that the type is one of
|
|
188
|
+
* superadmin, admin, or member.
|
|
189
|
+
*
|
|
190
|
+
* @param input.id — the user's unique identifier
|
|
191
|
+
* @param input.role — the role name to assign
|
|
192
|
+
* @param input.type — the role type (superadmin, admin, or member)
|
|
193
|
+
* @returns `{ status: 201, data: UserRole }` on success
|
|
194
|
+
*/
|
|
135
195
|
async function addUserRole(input) {
|
|
136
196
|
try {
|
|
137
197
|
if (!input.role || !input.type) {
|
|
@@ -147,7 +207,13 @@ async function addUserRole(input) {
|
|
|
147
207
|
return { status: 500, error: err.message };
|
|
148
208
|
}
|
|
149
209
|
}
|
|
150
|
-
|
|
210
|
+
/**
|
|
211
|
+
* Remove a role from a user. Requires admin privileges.
|
|
212
|
+
*
|
|
213
|
+
* @param input.id — the user's unique identifier
|
|
214
|
+
* @param input.role — the role name to remove
|
|
215
|
+
* @returns `{ status: 200, data: { removed: true } }` on success, or `{ status: 404 }` if role not found
|
|
216
|
+
*/
|
|
151
217
|
async function removeUserRole(input) {
|
|
152
218
|
try {
|
|
153
219
|
const removed = await userService.removeUserRole(input.id, input.role);
|
|
@@ -1,26 +1,77 @@
|
|
|
1
1
|
import type { LTApiResult, LTApiAuth } from '../types/sdk';
|
|
2
|
+
/**
|
|
3
|
+
* Create a new workflow set and kick off the LLM-powered planner.
|
|
4
|
+
*
|
|
5
|
+
* Persists the workflow set record, then starts an async planner workflow
|
|
6
|
+
* that generates the plan from the specification. Requires at least one
|
|
7
|
+
* LLM API key (OPENAI_API_KEY or ANTHROPIC_API_KEY) to be configured.
|
|
8
|
+
* Returns 409 if a workflow set with the same name already exists.
|
|
9
|
+
*
|
|
10
|
+
* @param input.name — unique name for the workflow set (required)
|
|
11
|
+
* @param input.description — optional description of the workflow set
|
|
12
|
+
* @param input.specification — free-text specification the planner uses to generate workflows (required)
|
|
13
|
+
* @param auth — authenticated user context; userId is forwarded to the planner
|
|
14
|
+
* @returns `{ status: 201, data: { ...set, source_workflow_id, planner_workflow_id } }` the created set with planner IDs
|
|
15
|
+
*/
|
|
2
16
|
export declare function createWorkflowSet(input: {
|
|
3
17
|
name: string;
|
|
4
18
|
description?: string;
|
|
5
19
|
specification: string;
|
|
6
20
|
}, auth?: LTApiAuth): Promise<LTApiResult>;
|
|
21
|
+
/**
|
|
22
|
+
* List workflow sets with optional filtering and pagination.
|
|
23
|
+
*
|
|
24
|
+
* @param input.status — filter by workflow set status
|
|
25
|
+
* @param input.search — free-text search term to match against set names or descriptions
|
|
26
|
+
* @param input.limit — maximum number of results to return
|
|
27
|
+
* @param input.offset — number of results to skip for pagination
|
|
28
|
+
* @returns `{ status: 200, data: WorkflowSet[] }` paginated list of workflow sets
|
|
29
|
+
*/
|
|
7
30
|
export declare function listWorkflowSets(input: {
|
|
8
31
|
status?: string;
|
|
9
32
|
search?: string;
|
|
10
33
|
limit?: number;
|
|
11
34
|
offset?: number;
|
|
12
35
|
}): Promise<LTApiResult>;
|
|
36
|
+
/**
|
|
37
|
+
* Retrieve a single workflow set by ID.
|
|
38
|
+
*
|
|
39
|
+
* @param input.id — unique identifier of the workflow set
|
|
40
|
+
* @returns `{ status: 200, data: WorkflowSet }` the workflow set record, or 404 if not found
|
|
41
|
+
*/
|
|
13
42
|
export declare function getWorkflowSet(input: {
|
|
14
43
|
id: string;
|
|
15
44
|
}): Promise<LTApiResult>;
|
|
45
|
+
/**
|
|
46
|
+
* Replace the plan and optional namespaces on a workflow set.
|
|
47
|
+
*
|
|
48
|
+
* @param input.id — unique identifier of the workflow set to update
|
|
49
|
+
* @param input.plan — array of plan entries (required, must be an array)
|
|
50
|
+
* @param input.namespaces — optional array of namespace definitions associated with the plan
|
|
51
|
+
* @returns `{ status: 200, data: WorkflowSet }` the updated workflow set, or 404 if not found
|
|
52
|
+
*/
|
|
16
53
|
export declare function updateWorkflowSetPlanApi(input: {
|
|
17
54
|
id: string;
|
|
18
55
|
plan: any[];
|
|
19
56
|
namespaces?: any[];
|
|
20
57
|
}): Promise<LTApiResult>;
|
|
58
|
+
/**
|
|
59
|
+
* Transition a workflow set from "planned" to "building" status.
|
|
60
|
+
*
|
|
61
|
+
* Returns 409 if the set is not currently in "planned" status.
|
|
62
|
+
*
|
|
63
|
+
* @param input.id — unique identifier of the workflow set to build
|
|
64
|
+
* @returns `{ status: 200, data: { status: 'building', id } }` confirmation the build has started
|
|
65
|
+
*/
|
|
21
66
|
export declare function buildWorkflowSet(input: {
|
|
22
67
|
id: string;
|
|
23
68
|
}): Promise<LTApiResult>;
|
|
69
|
+
/**
|
|
70
|
+
* Transition a workflow set to "deploying" status.
|
|
71
|
+
*
|
|
72
|
+
* @param input.id — unique identifier of the workflow set to deploy
|
|
73
|
+
* @returns `{ status: 200, data: { status: 'deploying', id } }` confirmation the deploy has started
|
|
74
|
+
*/
|
|
24
75
|
export declare function deployWorkflowSet(input: {
|
|
25
76
|
id: string;
|
|
26
77
|
}): Promise<LTApiResult>;
|
|
@@ -8,6 +8,20 @@ exports.buildWorkflowSet = buildWorkflowSet;
|
|
|
8
8
|
exports.deployWorkflowSet = deployWorkflowSet;
|
|
9
9
|
const workflow_sets_1 = require("../services/workflow-sets");
|
|
10
10
|
const insight_1 = require("../services/insight");
|
|
11
|
+
/**
|
|
12
|
+
* Create a new workflow set and kick off the LLM-powered planner.
|
|
13
|
+
*
|
|
14
|
+
* Persists the workflow set record, then starts an async planner workflow
|
|
15
|
+
* that generates the plan from the specification. Requires at least one
|
|
16
|
+
* LLM API key (OPENAI_API_KEY or ANTHROPIC_API_KEY) to be configured.
|
|
17
|
+
* Returns 409 if a workflow set with the same name already exists.
|
|
18
|
+
*
|
|
19
|
+
* @param input.name — unique name for the workflow set (required)
|
|
20
|
+
* @param input.description — optional description of the workflow set
|
|
21
|
+
* @param input.specification — free-text specification the planner uses to generate workflows (required)
|
|
22
|
+
* @param auth — authenticated user context; userId is forwarded to the planner
|
|
23
|
+
* @returns `{ status: 201, data: { ...set, source_workflow_id, planner_workflow_id } }` the created set with planner IDs
|
|
24
|
+
*/
|
|
11
25
|
async function createWorkflowSet(input, auth) {
|
|
12
26
|
try {
|
|
13
27
|
if (!input.specification || typeof input.specification !== 'string') {
|
|
@@ -47,6 +61,15 @@ async function createWorkflowSet(input, auth) {
|
|
|
47
61
|
return { status: 500, error: err.message };
|
|
48
62
|
}
|
|
49
63
|
}
|
|
64
|
+
/**
|
|
65
|
+
* List workflow sets with optional filtering and pagination.
|
|
66
|
+
*
|
|
67
|
+
* @param input.status — filter by workflow set status
|
|
68
|
+
* @param input.search — free-text search term to match against set names or descriptions
|
|
69
|
+
* @param input.limit — maximum number of results to return
|
|
70
|
+
* @param input.offset — number of results to skip for pagination
|
|
71
|
+
* @returns `{ status: 200, data: WorkflowSet[] }` paginated list of workflow sets
|
|
72
|
+
*/
|
|
50
73
|
async function listWorkflowSets(input) {
|
|
51
74
|
try {
|
|
52
75
|
const result = await (0, workflow_sets_1.listWorkflowSets)({
|
|
@@ -61,6 +84,12 @@ async function listWorkflowSets(input) {
|
|
|
61
84
|
return { status: 500, error: err.message };
|
|
62
85
|
}
|
|
63
86
|
}
|
|
87
|
+
/**
|
|
88
|
+
* Retrieve a single workflow set by ID.
|
|
89
|
+
*
|
|
90
|
+
* @param input.id — unique identifier of the workflow set
|
|
91
|
+
* @returns `{ status: 200, data: WorkflowSet }` the workflow set record, or 404 if not found
|
|
92
|
+
*/
|
|
64
93
|
async function getWorkflowSet(input) {
|
|
65
94
|
try {
|
|
66
95
|
const set = await (0, workflow_sets_1.getWorkflowSet)(input.id);
|
|
@@ -73,6 +102,14 @@ async function getWorkflowSet(input) {
|
|
|
73
102
|
return { status: 500, error: err.message };
|
|
74
103
|
}
|
|
75
104
|
}
|
|
105
|
+
/**
|
|
106
|
+
* Replace the plan and optional namespaces on a workflow set.
|
|
107
|
+
*
|
|
108
|
+
* @param input.id — unique identifier of the workflow set to update
|
|
109
|
+
* @param input.plan — array of plan entries (required, must be an array)
|
|
110
|
+
* @param input.namespaces — optional array of namespace definitions associated with the plan
|
|
111
|
+
* @returns `{ status: 200, data: WorkflowSet }` the updated workflow set, or 404 if not found
|
|
112
|
+
*/
|
|
76
113
|
async function updateWorkflowSetPlanApi(input) {
|
|
77
114
|
try {
|
|
78
115
|
if (!Array.isArray(input.plan)) {
|
|
@@ -88,6 +125,14 @@ async function updateWorkflowSetPlanApi(input) {
|
|
|
88
125
|
return { status: 500, error: err.message };
|
|
89
126
|
}
|
|
90
127
|
}
|
|
128
|
+
/**
|
|
129
|
+
* Transition a workflow set from "planned" to "building" status.
|
|
130
|
+
*
|
|
131
|
+
* Returns 409 if the set is not currently in "planned" status.
|
|
132
|
+
*
|
|
133
|
+
* @param input.id — unique identifier of the workflow set to build
|
|
134
|
+
* @returns `{ status: 200, data: { status: 'building', id } }` confirmation the build has started
|
|
135
|
+
*/
|
|
91
136
|
async function buildWorkflowSet(input) {
|
|
92
137
|
try {
|
|
93
138
|
const set = await (0, workflow_sets_1.getWorkflowSet)(input.id);
|
|
@@ -104,6 +149,12 @@ async function buildWorkflowSet(input) {
|
|
|
104
149
|
return { status: 500, error: err.message };
|
|
105
150
|
}
|
|
106
151
|
}
|
|
152
|
+
/**
|
|
153
|
+
* Transition a workflow set to "deploying" status.
|
|
154
|
+
*
|
|
155
|
+
* @param input.id — unique identifier of the workflow set to deploy
|
|
156
|
+
* @returns `{ status: 200, data: { status: 'deploying', id } }` confirmation the deploy has started
|
|
157
|
+
*/
|
|
107
158
|
async function deployWorkflowSet(input) {
|
|
108
159
|
try {
|
|
109
160
|
const set = await (0, workflow_sets_1.getWorkflowSet)(input.id);
|
package/build/api/workflows.d.ts
CHANGED
|
@@ -1,33 +1,134 @@
|
|
|
1
1
|
import type { LTApiResult, LTApiAuth } from '../types/sdk';
|
|
2
|
+
/**
|
|
3
|
+
* Start a workflow — proxy for `Durable.Client.workflow.start()`.
|
|
4
|
+
*
|
|
5
|
+
* Resolves the task queue, enforces auth/role constraints, builds the
|
|
6
|
+
* LTEnvelope with IAM context, and delegates to the Durable client.
|
|
7
|
+
* Any WorkflowOptions field (workflowId, expire, entity, namespace,
|
|
8
|
+
* search, signalIn, pending, etc.) can be passed via `options` and
|
|
9
|
+
* flows through to the Durable client unchanged.
|
|
10
|
+
*
|
|
11
|
+
* @see https://docs.hotmesh.io/types/types_durable.WorkflowOptions.html
|
|
12
|
+
*/
|
|
2
13
|
export declare function invokeWorkflow(input: {
|
|
3
14
|
type: string;
|
|
4
15
|
data?: Record<string, any>;
|
|
5
16
|
metadata?: Record<string, any>;
|
|
6
17
|
execute_as?: string;
|
|
18
|
+
/** Passthrough to Durable WorkflowOptions. */
|
|
19
|
+
options?: Record<string, any>;
|
|
7
20
|
}, auth: LTApiAuth): Promise<LTApiResult>;
|
|
21
|
+
/**
|
|
22
|
+
* Get the execution status of a workflow.
|
|
23
|
+
*
|
|
24
|
+
* Returns the HotMesh status code (0 = completed, 1 = running).
|
|
25
|
+
* Resolves the workflow handle via task record or worker registry.
|
|
26
|
+
*
|
|
27
|
+
* @param input.workflowId — HotMesh workflow ID
|
|
28
|
+
* @returns `{ status: 200, data: { workflowId, status } }` or 404
|
|
29
|
+
*/
|
|
8
30
|
export declare function getWorkflowStatus(input: {
|
|
9
31
|
workflowId: string;
|
|
10
32
|
}): Promise<LTApiResult>;
|
|
33
|
+
/**
|
|
34
|
+
* Get the result of a completed workflow.
|
|
35
|
+
*
|
|
36
|
+
* Returns 202 if the workflow is still running, 200 with the result
|
|
37
|
+
* payload when complete. Never blocks — always returns immediately.
|
|
38
|
+
*
|
|
39
|
+
* @param input.workflowId — HotMesh workflow ID
|
|
40
|
+
* @returns `{ status: 200, data: { workflowId, result } }` or 202 if running
|
|
41
|
+
*/
|
|
11
42
|
export declare function getWorkflowResult(input: {
|
|
12
43
|
workflowId: string;
|
|
13
44
|
}): Promise<LTApiResult>;
|
|
45
|
+
/**
|
|
46
|
+
* Terminate a running workflow.
|
|
47
|
+
*
|
|
48
|
+
* Interrupts the workflow execution immediately via HotMesh.
|
|
49
|
+
*
|
|
50
|
+
* @param input.workflowId — HotMesh workflow ID
|
|
51
|
+
* @returns `{ status: 200, data: { terminated: true, workflowId } }` or 404
|
|
52
|
+
*/
|
|
14
53
|
export declare function terminateWorkflow(input: {
|
|
15
54
|
workflowId: string;
|
|
16
55
|
}): Promise<LTApiResult>;
|
|
56
|
+
/**
|
|
57
|
+
* Export the full state of a workflow.
|
|
58
|
+
*
|
|
59
|
+
* Returns the serialized workflow state including all activity
|
|
60
|
+
* results, signals, and metadata.
|
|
61
|
+
*
|
|
62
|
+
* @param input.workflowId — HotMesh workflow ID
|
|
63
|
+
* @returns `{ status: 200, data: <exported state> }` or 404
|
|
64
|
+
*/
|
|
17
65
|
export declare function exportWorkflow(input: {
|
|
18
66
|
workflowId: string;
|
|
19
67
|
}): Promise<LTApiResult>;
|
|
68
|
+
/**
|
|
69
|
+
* List active workflow workers with their registration status.
|
|
70
|
+
*
|
|
71
|
+
* @param input.include_system — include system workflows (default: false)
|
|
72
|
+
* @returns `{ status: 200, data: { workers: [{ name, task_queue, registered, system }] } }`
|
|
73
|
+
*/
|
|
20
74
|
export declare function listWorkers(input: {
|
|
21
75
|
include_system?: boolean;
|
|
22
76
|
}): Promise<LTApiResult>;
|
|
77
|
+
/**
|
|
78
|
+
* Discover all known workflow types from workers, history, and config.
|
|
79
|
+
*
|
|
80
|
+
* Merges three sources: active in-memory workers, historical entities
|
|
81
|
+
* from the durable jobs table, and registered workflow configs. Returns
|
|
82
|
+
* a unified list with status flags for each type.
|
|
83
|
+
*
|
|
84
|
+
* @param input.include_system — include system workflows (default: false)
|
|
85
|
+
* @returns `{ status: 200, data: { workflows: [{ workflow_type, task_queue, registered, active, invocable, ... }] } }`
|
|
86
|
+
*/
|
|
23
87
|
export declare function listDiscoveredWorkflows(input: {
|
|
24
88
|
include_system?: boolean;
|
|
25
89
|
}): Promise<LTApiResult>;
|
|
90
|
+
/**
|
|
91
|
+
* List all cron-scheduled workflows and their active state.
|
|
92
|
+
*
|
|
93
|
+
* @returns `{ status: 200, data: { schedules: [{ workflow_type, cron_schedule, active, ... }] } }`
|
|
94
|
+
*/
|
|
26
95
|
export declare function getCronStatus(): Promise<LTApiResult>;
|
|
96
|
+
/**
|
|
97
|
+
* List all registered workflow configurations.
|
|
98
|
+
*
|
|
99
|
+
* @returns `{ status: 200, data: { workflows: LTWorkflowConfig[] } }`
|
|
100
|
+
*/
|
|
27
101
|
export declare function listWorkflowConfigs(): Promise<LTApiResult>;
|
|
102
|
+
/**
|
|
103
|
+
* Get a single workflow configuration by type.
|
|
104
|
+
*
|
|
105
|
+
* @param input.type — workflow type name (e.g. `"reviewContent"`)
|
|
106
|
+
* @returns `{ status: 200, data: <config> }` or 404
|
|
107
|
+
*/
|
|
28
108
|
export declare function getWorkflowConfig(input: {
|
|
29
109
|
type: string;
|
|
30
110
|
}): Promise<LTApiResult>;
|
|
111
|
+
/**
|
|
112
|
+
* Create or replace a workflow configuration.
|
|
113
|
+
*
|
|
114
|
+
* Invalidates the config cache and restarts the cron schedule if one
|
|
115
|
+
* is defined. Idempotent — safe to call repeatedly with the same input.
|
|
116
|
+
*
|
|
117
|
+
* @param input.type — workflow type name
|
|
118
|
+
* @param input.invocable — whether the workflow can be started via the API
|
|
119
|
+
* @param input.task_queue — HotMesh task queue
|
|
120
|
+
* @param input.default_role — default escalation role
|
|
121
|
+
* @param input.description — human-readable description
|
|
122
|
+
* @param input.execute_as — service account for proxy invocation
|
|
123
|
+
* @param input.roles — roles that can resolve escalations
|
|
124
|
+
* @param input.invocation_roles — roles that can invoke this workflow
|
|
125
|
+
* @param input.consumes — workflow types whose data this workflow consumes
|
|
126
|
+
* @param input.tool_tags — MCP tool tags for discovery
|
|
127
|
+
* @param input.envelope_schema — JSON Schema for envelope.data validation
|
|
128
|
+
* @param input.resolver_schema — JSON Schema for resolver payload validation
|
|
129
|
+
* @param input.cron_schedule — cron expression for scheduled execution
|
|
130
|
+
* @returns `{ status: 200, data: <saved config> }`
|
|
131
|
+
*/
|
|
31
132
|
export declare function upsertWorkflowConfig(input: {
|
|
32
133
|
type: string;
|
|
33
134
|
invocable?: boolean;
|
|
@@ -43,6 +144,15 @@ export declare function upsertWorkflowConfig(input: {
|
|
|
43
144
|
resolver_schema?: any;
|
|
44
145
|
cron_schedule?: string | null;
|
|
45
146
|
}): Promise<LTApiResult>;
|
|
147
|
+
/**
|
|
148
|
+
* Delete a workflow configuration.
|
|
149
|
+
*
|
|
150
|
+
* Removes the config record and invalidates the cache. Active workers
|
|
151
|
+
* continue running — this only removes the config/interceptor binding.
|
|
152
|
+
*
|
|
153
|
+
* @param input.type — workflow type name
|
|
154
|
+
* @returns `{ status: 200, data: { deleted: true, workflow_type } }` or 404
|
|
155
|
+
*/
|
|
46
156
|
export declare function deleteWorkflowConfig(input: {
|
|
47
157
|
type: string;
|
|
48
158
|
}): Promise<LTApiResult>;
|