@hotmeshio/long-tail 0.1.5 → 0.1.7

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