@hotmeshio/long-tail 0.1.15 → 0.1.17

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 (368) hide show
  1. package/build/api/escalations/resolve.js +1 -0
  2. package/build/api/files.d.ts +4 -0
  3. package/build/api/files.js +14 -0
  4. package/build/api/settings.js +0 -3
  5. package/build/api/workflows/config.js +5 -0
  6. package/build/api/yaml-workflows/crud.js +25 -5
  7. package/build/index.d.ts +1 -2
  8. package/build/index.js +1 -4
  9. package/build/lib/db/schemas/002_seed.sql +3 -81
  10. package/build/lib/events/socketio.d.ts +12 -0
  11. package/build/lib/events/socketio.js +24 -1
  12. package/build/lib/storage/mime.js +20 -0
  13. package/build/routes/file-browser.js +30 -0
  14. package/build/routes/files.js +20 -18
  15. package/build/routes/index.js +2 -0
  16. package/build/routes/nats-credentials.d.ts +2 -0
  17. package/build/routes/nats-credentials.js +22 -0
  18. package/build/services/config/sql.d.ts +3 -0
  19. package/build/services/config/sql.js +15 -1
  20. package/build/services/config/write.d.ts +6 -0
  21. package/build/services/config/write.js +64 -0
  22. package/build/services/cron/index.d.ts +5 -0
  23. package/build/services/cron/index.js +30 -0
  24. package/build/services/insight/index.js +3 -0
  25. package/build/services/interceptor/activities/task.d.ts +1 -0
  26. package/build/services/interceptor/activities/task.js +2 -1
  27. package/build/services/interceptor/activities/workflow.js +1 -0
  28. package/build/services/interceptor/index.js +4 -4
  29. package/build/services/interceptor/lifecycle.js +1 -1
  30. package/build/services/mcp/db.d.ts +17 -0
  31. package/build/services/mcp/db.js +50 -0
  32. package/build/services/mcp/sql.d.ts +4 -1
  33. package/build/services/mcp/sql.js +9 -2
  34. package/build/services/oauth/index.js +4 -1
  35. package/build/services/oauth/providers/google.js +7 -2
  36. package/build/services/orchestrator/index.js +5 -0
  37. package/build/services/task/crud.js +1 -0
  38. package/build/services/task/sql.d.ts +1 -1
  39. package/build/services/task/sql.js +2 -2
  40. package/build/services/task/types.d.ts +2 -0
  41. package/build/services/workers/registry.js +3 -1
  42. package/build/services/workflow-invocation.js +8 -1
  43. package/build/services/yaml-workflow/workers/register.js +4 -2
  44. package/build/start/adapters.js +4 -1
  45. package/build/start/socket-auth.d.ts +13 -0
  46. package/build/start/socket-auth.js +32 -0
  47. package/build/start/workers.d.ts +2 -1
  48. package/build/start/workers.js +66 -6
  49. package/build/system/index.d.ts +12 -10
  50. package/build/system/index.js +240 -67
  51. package/build/system/mcp-servers/playwright/schemas.d.ts +12 -12
  52. package/build/system/seed/index.d.ts +0 -7
  53. package/build/system/seed/index.js +5 -46
  54. package/build/tsconfig.tsbuildinfo +1 -1
  55. package/build/types/index.d.ts +1 -1
  56. package/build/types/startup.d.ts +59 -2
  57. package/dashboard/dist/assets/AdminDashboard-CsTOErp1.js +2 -0
  58. package/dashboard/dist/assets/{AdminDashboard-NLryl1_B.js.map → AdminDashboard-CsTOErp1.js.map} +1 -1
  59. package/dashboard/dist/assets/AvailableEscalationsPage-BqQA3IJp.js +2 -0
  60. package/dashboard/dist/assets/{AvailableEscalationsPage-6vexlrk3.js.map → AvailableEscalationsPage-BqQA3IJp.js.map} +1 -1
  61. package/dashboard/dist/assets/BotPicker-C2xR1xay.js +2 -0
  62. package/dashboard/dist/assets/{BotPicker-DWhn0tr1.js.map → BotPicker-C2xR1xay.js.map} +1 -1
  63. package/dashboard/dist/assets/CollapsibleSection-CRtHQsAv.js +2 -0
  64. package/dashboard/dist/assets/{CollapsibleSection-CgYgQiOc.js.map → CollapsibleSection-CRtHQsAv.js.map} +1 -1
  65. package/dashboard/dist/assets/ConfirmDeleteModal-dOxidrSR.js +2 -0
  66. package/dashboard/dist/assets/{ConfirmDeleteModal-DCKAPXD3.js.map → ConfirmDeleteModal-dOxidrSR.js.map} +1 -1
  67. package/dashboard/dist/assets/CopyableId-DmLF-RqZ.js +2 -0
  68. package/dashboard/dist/assets/{CopyableId-DXkaAOYk.js.map → CopyableId-DmLF-RqZ.js.map} +1 -1
  69. package/dashboard/dist/assets/CredentialsPage-C7XT1bnO.js +2 -0
  70. package/dashboard/dist/assets/CredentialsPage-C7XT1bnO.js.map +1 -0
  71. package/dashboard/dist/assets/CustomDurationPicker-BABUv1V2.js +2 -0
  72. package/dashboard/dist/assets/{CustomDurationPicker-D2G1ldiF.js.map → CustomDurationPicker-BABUv1V2.js.map} +1 -1
  73. package/dashboard/dist/assets/DataTable-D3-wSEf0.js +2 -0
  74. package/dashboard/dist/assets/{DataTable-DXSUbA26.js.map → DataTable-D3-wSEf0.js.map} +1 -1
  75. package/dashboard/dist/assets/DropZone-DHKmMqRA.js +2 -0
  76. package/dashboard/dist/assets/DropZone-DHKmMqRA.js.map +1 -0
  77. package/dashboard/dist/assets/ElapsedCell-DrJif03B.js +2 -0
  78. package/dashboard/dist/assets/{ElapsedCell-CQGqkXP_.js.map → ElapsedCell-DrJif03B.js.map} +1 -1
  79. package/dashboard/dist/assets/EmptyState-BcsfPq9T.js +2 -0
  80. package/dashboard/dist/assets/EmptyState-BcsfPq9T.js.map +1 -0
  81. package/dashboard/dist/assets/EscalationsOverview-H6CwfeR-.js +2 -0
  82. package/dashboard/dist/assets/EscalationsOverview-H6CwfeR-.js.map +1 -0
  83. package/dashboard/dist/assets/EventTable-Dh3_9DAY.js +2 -0
  84. package/dashboard/dist/assets/{EventTable-BMJAPkMi.js.map → EventTable-Dh3_9DAY.js.map} +1 -1
  85. package/dashboard/dist/assets/FilterBar-Ck4K4rzu.js +2 -0
  86. package/dashboard/dist/assets/{FilterBar-DbVbCzH2.js.map → FilterBar-Ck4K4rzu.js.map} +1 -1
  87. package/dashboard/dist/assets/ListToolbar-CyEkulVR.js +2 -0
  88. package/dashboard/dist/assets/{ListToolbar-0XNuXj0M.js.map → ListToolbar-CyEkulVR.js.map} +1 -1
  89. package/dashboard/dist/assets/McpOverview-ChLa6Gl7.js +2 -0
  90. package/dashboard/dist/assets/{McpOverview-CeYnCzBN.js.map → McpOverview-ChLa6Gl7.js.map} +1 -1
  91. package/dashboard/dist/assets/McpQueryDetailPage-5Dsj6PlL.js +5 -0
  92. package/dashboard/dist/assets/McpQueryDetailPage-5Dsj6PlL.js.map +1 -0
  93. package/dashboard/dist/assets/McpQueryPage-D2DmDFPu.js +2 -0
  94. package/dashboard/dist/assets/McpQueryPage-D2DmDFPu.js.map +1 -0
  95. package/dashboard/dist/assets/McpRunDetailPage-ERVuNEEK.js +2 -0
  96. package/dashboard/dist/assets/{McpRunDetailPage-CZtodW_Z.js.map → McpRunDetailPage-ERVuNEEK.js.map} +1 -1
  97. package/dashboard/dist/assets/McpRunsPage-BKba-3Wl.js +2 -0
  98. package/dashboard/dist/assets/McpRunsPage-BKba-3Wl.js.map +1 -0
  99. package/dashboard/dist/assets/Modal-DEODGeqx.js +2 -0
  100. package/dashboard/dist/assets/{Modal-yyhUeKoA.js.map → Modal-DEODGeqx.js.map} +1 -1
  101. package/dashboard/dist/assets/OperatorDashboard-CJm_BTPU.js +2 -0
  102. package/dashboard/dist/assets/{OperatorDashboard-Ceh7OQtZ.js.map → OperatorDashboard-CJm_BTPU.js.map} +1 -1
  103. package/dashboard/dist/assets/PageHeader-B-SN5GZ2.js +2 -0
  104. package/dashboard/dist/assets/PageHeader-B-SN5GZ2.js.map +1 -0
  105. package/dashboard/dist/assets/PageHeaderWithStats-BZ3AGT5s.js +2 -0
  106. package/dashboard/dist/assets/PageHeaderWithStats-BZ3AGT5s.js.map +1 -0
  107. package/dashboard/dist/assets/PriorityBadge-DfQY9St9.js +2 -0
  108. package/dashboard/dist/assets/{PriorityBadge-BrPikMFy.js.map → PriorityBadge-DfQY9St9.js.map} +1 -1
  109. package/dashboard/dist/assets/ProcessDetailPage-vfnCDyQK.js +2 -0
  110. package/dashboard/dist/assets/{ProcessDetailPage-2miaYd8G.js.map → ProcessDetailPage-vfnCDyQK.js.map} +1 -1
  111. package/dashboard/dist/assets/ProcessesListPage-DcAN6AJK.js +2 -0
  112. package/dashboard/dist/assets/ProcessesListPage-DcAN6AJK.js.map +1 -0
  113. package/dashboard/dist/assets/RolePill-BhVC0cc3.js +2 -0
  114. package/dashboard/dist/assets/{RolePill-DxbJMfJu.js.map → RolePill-BhVC0cc3.js.map} +1 -1
  115. package/dashboard/dist/assets/RolesPage-DYSt2aAr.js +2 -0
  116. package/dashboard/dist/assets/RolesPage-DYSt2aAr.js.map +1 -0
  117. package/dashboard/dist/assets/RowActions-Dg-Fsm5O.js +2 -0
  118. package/dashboard/dist/assets/{RowActions-DurFwIwe.js.map → RowActions-Dg-Fsm5O.js.map} +1 -1
  119. package/dashboard/dist/assets/RunAsSelector-CD7_Dmb0.js +2 -0
  120. package/dashboard/dist/assets/{RunAsSelector-CNKraP6u.js.map → RunAsSelector-CD7_Dmb0.js.map} +1 -1
  121. package/dashboard/dist/assets/StatCard-DlgF0CJC.js +2 -0
  122. package/dashboard/dist/assets/{StatCard-CKplpK3w.js.map → StatCard-DlgF0CJC.js.map} +1 -1
  123. package/dashboard/dist/assets/StatusBadge-XQlNFwmH.js +2 -0
  124. package/dashboard/dist/assets/StatusBadge-XQlNFwmH.js.map +1 -0
  125. package/dashboard/dist/assets/StepIndicator-CuUIGxKk.js +2 -0
  126. package/dashboard/dist/assets/{StepIndicator-Dicx0WTZ.js.map → StepIndicator-CuUIGxKk.js.map} +1 -1
  127. package/dashboard/dist/assets/StickyPagination-F9FZsRy9.js +2 -0
  128. package/dashboard/dist/assets/{StickyPagination-B2jYvU3-.js.map → StickyPagination-F9FZsRy9.js.map} +1 -1
  129. package/dashboard/dist/assets/SwimlaneTimeline-CUl5RdXU.js +2 -0
  130. package/dashboard/dist/assets/SwimlaneTimeline-CUl5RdXU.js.map +1 -0
  131. package/dashboard/dist/assets/TagInput-DftaRHDV.js +2 -0
  132. package/dashboard/dist/assets/{TagInput-CypDZ6Kl.js.map → TagInput-DftaRHDV.js.map} +1 -1
  133. package/dashboard/dist/assets/TaskDetailPage-BoA-cfwW.js +2 -0
  134. package/dashboard/dist/assets/TaskDetailPage-BoA-cfwW.js.map +1 -0
  135. package/dashboard/dist/assets/TaskQueuePill-Ce8KlXtR.js +2 -0
  136. package/dashboard/dist/assets/TaskQueuePill-Ce8KlXtR.js.map +1 -0
  137. package/dashboard/dist/assets/TasksListPage-g6XIbhju.js +2 -0
  138. package/dashboard/dist/assets/{TasksListPage-D7CdkAeg.js.map → TasksListPage-g6XIbhju.js.map} +1 -1
  139. package/dashboard/dist/assets/TimeAgo-BihIwEbB.js +2 -0
  140. package/dashboard/dist/assets/{TimeAgo-B5LXB2aj.js.map → TimeAgo-BihIwEbB.js.map} +1 -1
  141. package/dashboard/dist/assets/TimestampCell-GOFcvE-i.js +2 -0
  142. package/dashboard/dist/assets/{TimestampCell-Crb9b0Gw.js.map → TimestampCell-GOFcvE-i.js.map} +1 -1
  143. package/dashboard/dist/assets/UserName-CmMVt4vS.js +2 -0
  144. package/dashboard/dist/assets/{UserName-OPg-nkRa.js.map → UserName-CmMVt4vS.js.map} +1 -1
  145. package/dashboard/dist/assets/WorkflowExecutionPage-soRFz_30.js +2 -0
  146. package/dashboard/dist/assets/{WorkflowExecutionPage-CcLVrs9b.js.map → WorkflowExecutionPage-soRFz_30.js.map} +1 -1
  147. package/dashboard/dist/assets/WorkflowPill-DUDDyBsj.js +2 -0
  148. package/dashboard/dist/assets/{WorkflowPill-CCV4MMj7.js.map → WorkflowPill-DUDDyBsj.js.map} +1 -1
  149. package/dashboard/dist/assets/WorkflowsDashboard-Be1A1zAT.js +2 -0
  150. package/dashboard/dist/assets/WorkflowsDashboard-Be1A1zAT.js.map +1 -0
  151. package/dashboard/dist/assets/WorkflowsOverview-z3Ztiz1y.js +2 -0
  152. package/dashboard/dist/assets/{WorkflowsOverview-DvShiYJV.js.map → WorkflowsOverview-z3Ztiz1y.js.map} +1 -1
  153. package/dashboard/dist/assets/YamlWorkflowsPage-C6qzcQcJ.js +2 -0
  154. package/dashboard/dist/assets/YamlWorkflowsPage-C6qzcQcJ.js.map +1 -0
  155. package/dashboard/dist/assets/{bots-Dqos20NE.js → bots-BZPXDh_y.js} +2 -2
  156. package/dashboard/dist/assets/{bots-Dqos20NE.js.map → bots-BZPXDh_y.js.map} +1 -1
  157. package/dashboard/dist/assets/escalation-DBUIq1Z4.js +2 -0
  158. package/dashboard/dist/assets/{escalation-A0CsbvNV.js.map → escalation-DBUIq1Z4.js.map} +1 -1
  159. package/dashboard/dist/assets/escalation-columns-DL4zsR8Y.js +2 -0
  160. package/dashboard/dist/assets/{escalation-columns-BpBJN6k4.js.map → escalation-columns-DL4zsR8Y.js.map} +1 -1
  161. package/dashboard/dist/assets/helpers-D50KFFkI.js +2 -0
  162. package/dashboard/dist/assets/{helpers-CmznCuAx.js.map → helpers-D50KFFkI.js.map} +1 -1
  163. package/dashboard/dist/assets/index-B-ioA6yv.js +2 -0
  164. package/dashboard/dist/assets/index-B-ioA6yv.js.map +1 -0
  165. package/dashboard/dist/assets/index-B-jzKfuv.js +2 -0
  166. package/dashboard/dist/assets/index-B-jzKfuv.js.map +1 -0
  167. package/dashboard/dist/assets/index-BMpoMc4A.js +2 -0
  168. package/dashboard/dist/assets/{index-Cr0Rqsj7.js.map → index-BMpoMc4A.js.map} +1 -1
  169. package/dashboard/dist/assets/index-BU04qgJt.js +15 -0
  170. package/dashboard/dist/assets/index-BU04qgJt.js.map +1 -0
  171. package/dashboard/dist/assets/index-BUjxYyxc.js +63 -0
  172. package/dashboard/dist/assets/index-BUjxYyxc.js.map +1 -0
  173. package/dashboard/dist/assets/index-BpoHVMV7.js +2 -0
  174. package/dashboard/dist/assets/index-BpoHVMV7.js.map +1 -0
  175. package/dashboard/dist/assets/index-CEnDYJOO.js +2 -0
  176. package/dashboard/dist/assets/index-CEnDYJOO.js.map +1 -0
  177. package/dashboard/dist/assets/index-CbuH92vk.js +6 -0
  178. package/dashboard/dist/assets/index-CbuH92vk.js.map +1 -0
  179. package/dashboard/dist/assets/index-D9_hZmsW.js +5 -0
  180. package/dashboard/dist/assets/{index-BYwD3kHN.js.map → index-D9_hZmsW.js.map} +1 -1
  181. package/dashboard/dist/assets/index-DrouIN-M.js +2 -0
  182. package/dashboard/dist/assets/{index-VnYkWW8r.js.map → index-DrouIN-M.js.map} +1 -1
  183. package/dashboard/dist/assets/index-DzICLMI7.js +2 -0
  184. package/dashboard/dist/assets/{index-XGOmZ117.js.map → index-DzICLMI7.js.map} +1 -1
  185. package/dashboard/dist/assets/index-efS5gKpv.css +1 -0
  186. package/dashboard/dist/assets/index-qT78AZDq.js +2 -0
  187. package/dashboard/dist/assets/index-qT78AZDq.js.map +1 -0
  188. package/dashboard/dist/assets/mcp-D0GrHRFe.js +2 -0
  189. package/dashboard/dist/assets/{mcp-DrWymhSu.js.map → mcp-D0GrHRFe.js.map} +1 -1
  190. package/dashboard/dist/assets/{mcp-query-BhUxVEMS.js → mcp-query-DC5woQn5.js} +2 -2
  191. package/dashboard/dist/assets/{mcp-query-BhUxVEMS.js.map → mcp-query-DC5woQn5.js.map} +1 -1
  192. package/dashboard/dist/assets/{mcp-runs-DUfz4mLd.js → mcp-runs-CsoVQoPB.js} +2 -2
  193. package/dashboard/dist/assets/{mcp-runs-DUfz4mLd.js.map → mcp-runs-CsoVQoPB.js.map} +1 -1
  194. package/dashboard/dist/assets/namespaces-unpIb4gX.js +2 -0
  195. package/dashboard/dist/assets/{namespaces-Cm6AY5sh.js.map → namespaces-unpIb4gX.js.map} +1 -1
  196. package/dashboard/dist/assets/{roles-2v1Kc7BJ.js → roles--kBaFljg.js} +2 -2
  197. package/dashboard/dist/assets/{roles-2v1Kc7BJ.js.map → roles--kBaFljg.js.map} +1 -1
  198. package/dashboard/dist/assets/settings-B96YkawY.js +2 -0
  199. package/dashboard/dist/assets/{settings-DTQNp6tH.js.map → settings-B96YkawY.js.map} +1 -1
  200. package/dashboard/dist/assets/{tasks-CS1rgG1s.js → tasks-D_1NCfOZ.js} +2 -2
  201. package/dashboard/dist/assets/{tasks-CS1rgG1s.js.map → tasks-D_1NCfOZ.js.map} +1 -1
  202. package/dashboard/dist/assets/{useEventHooks-BjXX8x3a.js → useEventHooks-BPjEkCpD.js} +2 -2
  203. package/dashboard/dist/assets/{useEventHooks-BjXX8x3a.js.map → useEventHooks-BPjEkCpD.js.map} +1 -1
  204. package/dashboard/dist/assets/{useExpandedRows-Cg9iq6Vy.js → useExpandedRows-CkcEntB-.js} +2 -2
  205. package/dashboard/dist/assets/{useExpandedRows-Cg9iq6Vy.js.map → useExpandedRows-CkcEntB-.js.map} +1 -1
  206. package/dashboard/dist/assets/{useFilterParams-CGRYFw_A.js → useFilterParams-DZCAaBC7.js} +2 -2
  207. package/dashboard/dist/assets/{useFilterParams-CGRYFw_A.js.map → useFilterParams-DZCAaBC7.js.map} +1 -1
  208. package/dashboard/dist/assets/{useYamlActivityEvents-BeR-nVWQ.js → useYamlActivityEvents-D3RQjfzo.js} +2 -2
  209. package/dashboard/dist/assets/{useYamlActivityEvents-BeR-nVWQ.js.map → useYamlActivityEvents-D3RQjfzo.js.map} +1 -1
  210. package/dashboard/dist/assets/{users-DYsdQ7Md.js → users-e2oatvoj.js} +2 -2
  211. package/dashboard/dist/assets/{users-DYsdQ7Md.js.map → users-e2oatvoj.js.map} +1 -1
  212. package/dashboard/dist/assets/{vendor-icons-CWl44VA6.js → vendor-icons-BkK55L-1.js} +103 -88
  213. package/dashboard/dist/assets/vendor-icons-BkK55L-1.js.map +1 -0
  214. package/dashboard/dist/assets/vendor-query-B2UbickB.js +18 -0
  215. package/dashboard/dist/assets/vendor-query-B2UbickB.js.map +1 -0
  216. package/dashboard/dist/assets/vendor-react-CX88sFS5.js +22 -0
  217. package/dashboard/dist/assets/vendor-react-CX88sFS5.js.map +1 -0
  218. package/dashboard/dist/assets/{workflows-2QAXh3UD.js → workflows-D6diL54s.js} +2 -2
  219. package/dashboard/dist/assets/{workflows-2QAXh3UD.js.map → workflows-D6diL54s.js.map} +1 -1
  220. package/dashboard/dist/assets/{yaml-workflows-sx8-UEE3.js → yaml-workflows-CAKU7LUu.js} +2 -2
  221. package/dashboard/dist/assets/{yaml-workflows-sx8-UEE3.js.map → yaml-workflows-CAKU7LUu.js.map} +1 -1
  222. package/dashboard/dist/index.html +5 -5
  223. package/docs/dashboard.md +233 -65
  224. package/package.json +3 -2
  225. package/build/examples/external-mcp-server/server.d.ts +0 -17
  226. package/build/examples/external-mcp-server/server.js +0 -116
  227. package/build/examples/index.d.ts +0 -2
  228. package/build/examples/index.js +0 -7
  229. package/build/examples/seed-data.d.ts +0 -55
  230. package/build/examples/seed-data.js +0 -161
  231. package/build/examples/seed.d.ts +0 -5
  232. package/build/examples/seed.js +0 -132
  233. package/build/examples/types/envelopes.d.ts +0 -69
  234. package/build/examples/types/envelopes.js +0 -8
  235. package/build/examples/types/index.d.ts +0 -10
  236. package/build/examples/types/index.js +0 -9
  237. package/build/examples/types/resolvers.d.ts +0 -27
  238. package/build/examples/types/resolvers.js +0 -9
  239. package/build/examples/workers.d.ts +0 -10
  240. package/build/examples/workers.js +0 -59
  241. package/build/examples/workflows/assembly-line/activities.d.ts +0 -28
  242. package/build/examples/workflows/assembly-line/activities.js +0 -53
  243. package/build/examples/workflows/assembly-line/index.d.ts +0 -17
  244. package/build/examples/workflows/assembly-line/index.js +0 -60
  245. package/build/examples/workflows/assembly-line/iterator.d.ts +0 -12
  246. package/build/examples/workflows/assembly-line/iterator.js +0 -54
  247. package/build/examples/workflows/assembly-line/reverter.d.ts +0 -18
  248. package/build/examples/workflows/assembly-line/reverter.js +0 -89
  249. package/build/examples/workflows/assembly-line/types.d.ts +0 -25
  250. package/build/examples/workflows/assembly-line/types.js +0 -8
  251. package/build/examples/workflows/assembly-line/worker.d.ts +0 -13
  252. package/build/examples/workflows/assembly-line/worker.js +0 -81
  253. package/build/examples/workflows/basic-echo/activities.d.ts +0 -20
  254. package/build/examples/workflows/basic-echo/activities.js +0 -55
  255. package/build/examples/workflows/basic-echo/index.d.ts +0 -14
  256. package/build/examples/workflows/basic-echo/index.js +0 -66
  257. package/build/examples/workflows/basic-signal/activities.d.ts +0 -17
  258. package/build/examples/workflows/basic-signal/activities.js +0 -18
  259. package/build/examples/workflows/basic-signal/index.d.ts +0 -17
  260. package/build/examples/workflows/basic-signal/index.js +0 -116
  261. package/build/examples/workflows/kitchen-sink/activities.d.ts +0 -40
  262. package/build/examples/workflows/kitchen-sink/activities.js +0 -46
  263. package/build/examples/workflows/kitchen-sink/index.d.ts +0 -22
  264. package/build/examples/workflows/kitchen-sink/index.js +0 -123
  265. package/build/examples/workflows/review-content/activities.d.ts +0 -10
  266. package/build/examples/workflows/review-content/activities.js +0 -44
  267. package/build/examples/workflows/review-content/index.d.ts +0 -10
  268. package/build/examples/workflows/review-content/index.js +0 -95
  269. package/build/examples/workflows/review-content/types.d.ts +0 -28
  270. package/build/examples/workflows/review-content/types.js +0 -2
  271. package/build/system/seed/server-definitions.d.ts +0 -3210
  272. package/build/system/seed/server-definitions.js +0 -232
  273. package/dashboard/dist/assets/AdminDashboard-NLryl1_B.js +0 -2
  274. package/dashboard/dist/assets/AvailableEscalationsPage-6vexlrk3.js +0 -2
  275. package/dashboard/dist/assets/BotPicker-DWhn0tr1.js +0 -2
  276. package/dashboard/dist/assets/CollapsibleSection-CgYgQiOc.js +0 -2
  277. package/dashboard/dist/assets/ConfirmDeleteModal-DCKAPXD3.js +0 -2
  278. package/dashboard/dist/assets/CopyableId-DXkaAOYk.js +0 -2
  279. package/dashboard/dist/assets/CredentialsPage-B361BOfU.js +0 -2
  280. package/dashboard/dist/assets/CredentialsPage-B361BOfU.js.map +0 -1
  281. package/dashboard/dist/assets/CustomDurationPicker-D2G1ldiF.js +0 -2
  282. package/dashboard/dist/assets/DataTable-DXSUbA26.js +0 -2
  283. package/dashboard/dist/assets/ElapsedCell-CQGqkXP_.js +0 -2
  284. package/dashboard/dist/assets/EmptyState-Dep92Wkg.js +0 -2
  285. package/dashboard/dist/assets/EmptyState-Dep92Wkg.js.map +0 -1
  286. package/dashboard/dist/assets/EscalationsOverview-DVEFVjs7.js +0 -2
  287. package/dashboard/dist/assets/EscalationsOverview-DVEFVjs7.js.map +0 -1
  288. package/dashboard/dist/assets/EventTable-BMJAPkMi.js +0 -2
  289. package/dashboard/dist/assets/FilterBar-DbVbCzH2.js +0 -2
  290. package/dashboard/dist/assets/ListToolbar-0XNuXj0M.js +0 -2
  291. package/dashboard/dist/assets/McpOverview-CeYnCzBN.js +0 -2
  292. package/dashboard/dist/assets/McpQueryDetailPage-t3qW3QNa.js +0 -5
  293. package/dashboard/dist/assets/McpQueryDetailPage-t3qW3QNa.js.map +0 -1
  294. package/dashboard/dist/assets/McpQueryPage-CfUcdzaj.js +0 -2
  295. package/dashboard/dist/assets/McpQueryPage-CfUcdzaj.js.map +0 -1
  296. package/dashboard/dist/assets/McpRunDetailPage-CZtodW_Z.js +0 -2
  297. package/dashboard/dist/assets/McpRunsPage-Dzgq7HGt.js +0 -2
  298. package/dashboard/dist/assets/McpRunsPage-Dzgq7HGt.js.map +0 -1
  299. package/dashboard/dist/assets/Modal-yyhUeKoA.js +0 -2
  300. package/dashboard/dist/assets/OperatorDashboard-Ceh7OQtZ.js +0 -2
  301. package/dashboard/dist/assets/PageHeader-CZ9a8cpr.js +0 -2
  302. package/dashboard/dist/assets/PageHeader-CZ9a8cpr.js.map +0 -1
  303. package/dashboard/dist/assets/PageHeaderWithStats-BJuNs5NM.js +0 -2
  304. package/dashboard/dist/assets/PageHeaderWithStats-BJuNs5NM.js.map +0 -1
  305. package/dashboard/dist/assets/PriorityBadge-BrPikMFy.js +0 -2
  306. package/dashboard/dist/assets/ProcessDetailPage-2miaYd8G.js +0 -2
  307. package/dashboard/dist/assets/ProcessesListPage-DqpRDqjk.js +0 -2
  308. package/dashboard/dist/assets/ProcessesListPage-DqpRDqjk.js.map +0 -1
  309. package/dashboard/dist/assets/RolePill-DxbJMfJu.js +0 -2
  310. package/dashboard/dist/assets/RolesPage-CYHRo21-.js +0 -2
  311. package/dashboard/dist/assets/RolesPage-CYHRo21-.js.map +0 -1
  312. package/dashboard/dist/assets/RowActions-DurFwIwe.js +0 -2
  313. package/dashboard/dist/assets/RunAsSelector-CNKraP6u.js +0 -2
  314. package/dashboard/dist/assets/StatCard-CKplpK3w.js +0 -2
  315. package/dashboard/dist/assets/StatusBadge-Dm0V1dNN.js +0 -2
  316. package/dashboard/dist/assets/StatusBadge-Dm0V1dNN.js.map +0 -1
  317. package/dashboard/dist/assets/StepIndicator-Dicx0WTZ.js +0 -2
  318. package/dashboard/dist/assets/StickyPagination-B2jYvU3-.js +0 -2
  319. package/dashboard/dist/assets/SwimlaneTimeline-ClwumkT1.js +0 -2
  320. package/dashboard/dist/assets/SwimlaneTimeline-ClwumkT1.js.map +0 -1
  321. package/dashboard/dist/assets/TagInput-CypDZ6Kl.js +0 -2
  322. package/dashboard/dist/assets/TaskDetailPage-DooDNJGT.js +0 -2
  323. package/dashboard/dist/assets/TaskDetailPage-DooDNJGT.js.map +0 -1
  324. package/dashboard/dist/assets/TaskQueuePill-C1hZ-j31.js +0 -2
  325. package/dashboard/dist/assets/TaskQueuePill-C1hZ-j31.js.map +0 -1
  326. package/dashboard/dist/assets/TasksListPage-D7CdkAeg.js +0 -2
  327. package/dashboard/dist/assets/TimeAgo-B5LXB2aj.js +0 -2
  328. package/dashboard/dist/assets/TimestampCell-Crb9b0Gw.js +0 -2
  329. package/dashboard/dist/assets/UserName-OPg-nkRa.js +0 -2
  330. package/dashboard/dist/assets/WorkflowExecutionPage-CcLVrs9b.js +0 -2
  331. package/dashboard/dist/assets/WorkflowPill-CCV4MMj7.js +0 -2
  332. package/dashboard/dist/assets/WorkflowsDashboard-DB1SncBi.js +0 -2
  333. package/dashboard/dist/assets/WorkflowsDashboard-DB1SncBi.js.map +0 -1
  334. package/dashboard/dist/assets/WorkflowsOverview-DvShiYJV.js +0 -2
  335. package/dashboard/dist/assets/YamlWorkflowsPage-DCBoMeGI.js +0 -2
  336. package/dashboard/dist/assets/YamlWorkflowsPage-DCBoMeGI.js.map +0 -1
  337. package/dashboard/dist/assets/escalation-A0CsbvNV.js +0 -2
  338. package/dashboard/dist/assets/escalation-columns-BpBJN6k4.js +0 -2
  339. package/dashboard/dist/assets/helpers-CmznCuAx.js +0 -2
  340. package/dashboard/dist/assets/index-BIeYV5QK.js +0 -2
  341. package/dashboard/dist/assets/index-BIeYV5QK.js.map +0 -1
  342. package/dashboard/dist/assets/index-BYwD3kHN.js +0 -5
  343. package/dashboard/dist/assets/index-C5TUqJu0.css +0 -1
  344. package/dashboard/dist/assets/index-C8-UaN4N.js +0 -2
  345. package/dashboard/dist/assets/index-C8-UaN4N.js.map +0 -1
  346. package/dashboard/dist/assets/index-CAj5LT9H.js +0 -15
  347. package/dashboard/dist/assets/index-CAj5LT9H.js.map +0 -1
  348. package/dashboard/dist/assets/index-CjxHCVxl.js +0 -2
  349. package/dashboard/dist/assets/index-CjxHCVxl.js.map +0 -1
  350. package/dashboard/dist/assets/index-Cr0Rqsj7.js +0 -2
  351. package/dashboard/dist/assets/index-DZHNte4o.js +0 -2
  352. package/dashboard/dist/assets/index-DZHNte4o.js.map +0 -1
  353. package/dashboard/dist/assets/index-VnYkWW8r.js +0 -2
  354. package/dashboard/dist/assets/index-XGOmZ117.js +0 -2
  355. package/dashboard/dist/assets/index-ZjOUzWhc.js +0 -2
  356. package/dashboard/dist/assets/index-ZjOUzWhc.js.map +0 -1
  357. package/dashboard/dist/assets/index-puKKZ5l8.js +0 -281
  358. package/dashboard/dist/assets/index-puKKZ5l8.js.map +0 -1
  359. package/dashboard/dist/assets/index-t5frSddy.js +0 -6
  360. package/dashboard/dist/assets/index-t5frSddy.js.map +0 -1
  361. package/dashboard/dist/assets/mcp-DrWymhSu.js +0 -2
  362. package/dashboard/dist/assets/namespaces-Cm6AY5sh.js +0 -2
  363. package/dashboard/dist/assets/settings-DTQNp6tH.js +0 -2
  364. package/dashboard/dist/assets/vendor-icons-CWl44VA6.js.map +0 -1
  365. package/dashboard/dist/assets/vendor-query-DLp59M9_.js +0 -35
  366. package/dashboard/dist/assets/vendor-query-DLp59M9_.js.map +0 -1
  367. package/dashboard/dist/assets/vendor-react-Co3Y8ikm.js +0 -26
  368. package/dashboard/dist/assets/vendor-react-Co3Y8ikm.js.map +0 -1
@@ -1,59 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.exampleWorkers = void 0;
37
- const reviewContentWorkflow = __importStar(require("./workflows/review-content"));
38
- const kitchenSinkWorkflow = __importStar(require("./workflows/kitchen-sink"));
39
- const basicEchoWorkflow = __importStar(require("./workflows/basic-echo"));
40
- const assemblyLineWorkflow = __importStar(require("./workflows/assembly-line"));
41
- const workstationWorkflow = __importStar(require("./workflows/assembly-line/worker"));
42
- const stepIteratorWorkflow = __importStar(require("./workflows/assembly-line/iterator"));
43
- const reverterWorkflow = __importStar(require("./workflows/assembly-line/reverter"));
44
- const basicSignalWorkflow = __importStar(require("./workflows/basic-signal"));
45
- /**
46
- * Example workers that ship with Long Tail.
47
- * Pass these to `start({ workers: [...exampleWorkers] })` or enable
48
- * via `examples: true` in the start config.
49
- */
50
- exports.exampleWorkers = [
51
- { taskQueue: 'long-tail-examples', workflow: reviewContentWorkflow.reviewContent },
52
- { taskQueue: 'long-tail-examples', workflow: kitchenSinkWorkflow.kitchenSink },
53
- { taskQueue: 'long-tail-examples', workflow: basicEchoWorkflow.basicEcho },
54
- { taskQueue: 'long-tail-examples', workflow: assemblyLineWorkflow.assemblyLine },
55
- { taskQueue: 'long-tail-examples', workflow: workstationWorkflow.workstation },
56
- { taskQueue: 'long-tail-examples', workflow: stepIteratorWorkflow.stepIterator },
57
- { taskQueue: 'long-tail-examples', workflow: reverterWorkflow.reverter },
58
- { taskQueue: 'long-tail-examples', workflow: basicSignalWorkflow.basicSignal },
59
- ];
@@ -1,28 +0,0 @@
1
- /**
2
- * Assembly Line Activities
3
- *
4
- * Side-effect functions that run outside the deterministic workflow
5
- * sandbox. Each is wrapped via proxyActivities so results are
6
- * checkpointed and replayed on restart.
7
- *
8
- * Two responsibilities:
9
- * 1. Create an escalation with signal routing so the resolve API
10
- * can wake the paused child workflow.
11
- * 2. Signal the parent orchestrator when the child completes.
12
- */
13
- export declare function createStationEscalation(input: {
14
- role: string;
15
- stationName: string;
16
- instructions: string;
17
- workflowId: string;
18
- workflowType: string;
19
- taskQueue: string;
20
- signalId: string;
21
- }): Promise<string>;
22
- export declare function signalParent(input: {
23
- parentTaskQueue: string;
24
- parentWorkflowType: string;
25
- parentWorkflowId: string;
26
- signalId: string;
27
- data: any;
28
- }): Promise<void>;
@@ -1,53 +0,0 @@
1
- "use strict";
2
- /**
3
- * Assembly Line Activities
4
- *
5
- * Side-effect functions that run outside the deterministic workflow
6
- * sandbox. Each is wrapped via proxyActivities so results are
7
- * checkpointed and replayed on restart.
8
- *
9
- * Two responsibilities:
10
- * 1. Create an escalation with signal routing so the resolve API
11
- * can wake the paused child workflow.
12
- * 2. Signal the parent orchestrator when the child completes.
13
- */
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.createStationEscalation = createStationEscalation;
16
- exports.signalParent = signalParent;
17
- const hotmesh_1 = require("@hotmeshio/hotmesh");
18
- const db_1 = require("../../../lib/db");
19
- const escalation_1 = require("../../../services/escalation");
20
- // ── Create station escalation ──────────────────────────────────────
21
- async function createStationEscalation(input) {
22
- const escalation = await (0, escalation_1.createEscalation)({
23
- type: 'assemblyLine',
24
- subtype: input.stationName,
25
- description: input.instructions,
26
- priority: 2,
27
- role: input.role,
28
- envelope: JSON.stringify({ station: input.stationName }),
29
- workflow_id: input.workflowId,
30
- task_queue: input.taskQueue,
31
- workflow_type: input.workflowType,
32
- });
33
- await (0, escalation_1.enrichEscalationRouting)(escalation.id, {
34
- signal_routing: {
35
- engine: 'durable',
36
- taskQueue: input.taskQueue,
37
- workflowType: input.workflowType,
38
- workflowId: input.workflowId,
39
- signalId: input.signalId,
40
- },
41
- }, {
42
- workflowType: input.workflowType,
43
- workflowId: input.workflowId,
44
- taskQueue: input.taskQueue,
45
- });
46
- return escalation.id;
47
- }
48
- // ── Signal parent orchestrator ─────────────────────────────────────
49
- async function signalParent(input) {
50
- const client = new hotmesh_1.Durable.Client({ connection: (0, db_1.getConnection)() });
51
- const handle = await client.workflow.getHandle(input.parentTaskQueue, input.parentWorkflowType, input.parentWorkflowId);
52
- await handle.signal(input.signalId, input.data);
53
- }
@@ -1,17 +0,0 @@
1
- /**
2
- * Assembly Line — durable orchestrator with human task queues.
3
- *
4
- * Demonstrates the core composition pattern without the LT interceptor:
5
- * startChild → spawn a child workflow (fire-and-forget)
6
- * condition → pause until the child signals back
7
- * signal → child wakes the parent when done
8
- *
9
- * A product moves through sequential workstations. Each station
10
- * creates an escalation for a human operator, pauses, then signals
11
- * the parent when the human resolves it.
12
- *
13
- * No registration, no certification, no interceptor — just Durable
14
- * primitives and the escalation table.
15
- */
16
- import type { LTEnvelope } from '../../../types';
17
- export declare function assemblyLine(envelope: LTEnvelope): Promise<any>;
@@ -1,60 +0,0 @@
1
- "use strict";
2
- /**
3
- * Assembly Line — durable orchestrator with human task queues.
4
- *
5
- * Demonstrates the core composition pattern without the LT interceptor:
6
- * startChild → spawn a child workflow (fire-and-forget)
7
- * condition → pause until the child signals back
8
- * signal → child wakes the parent when done
9
- *
10
- * A product moves through sequential workstations. Each station
11
- * creates an escalation for a human operator, pauses, then signals
12
- * the parent when the human resolves it.
13
- *
14
- * No registration, no certification, no interceptor — just Durable
15
- * primitives and the escalation table.
16
- */
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.assemblyLine = assemblyLine;
19
- const hotmesh_1 = require("@hotmeshio/hotmesh");
20
- const defaults_1 = require("../../../modules/defaults");
21
- async function assemblyLine(envelope) {
22
- const { productName, stations } = envelope.data;
23
- const ctx = hotmesh_1.Durable.workflow.workflowInfo();
24
- const results = [];
25
- for (const [i, station] of stations.entries()) {
26
- const signalId = `station-${i}-${ctx.workflowId}`;
27
- const childWorkflowId = `workstation-${ctx.workflowId}-${i}`;
28
- // Spawn child — fire-and-forget; only the start is awaited
29
- await hotmesh_1.Durable.workflow.startChild({
30
- workflowName: 'workstation',
31
- args: [
32
- {
33
- data: {
34
- ...station,
35
- parentSignalId: signalId,
36
- parentTaskQueue: 'long-tail-examples',
37
- parentWorkflowType: 'assemblyLine',
38
- parentWorkflowId: ctx.workflowId,
39
- },
40
- metadata: { source: 'assembly-line', station: station.stationName },
41
- },
42
- ],
43
- taskQueue: 'long-tail-examples',
44
- workflowId: childWorkflowId,
45
- expire: defaults_1.JOB_EXPIRE_SECS,
46
- entity: 'workstation',
47
- });
48
- // Pause until the child signals back with its result
49
- const result = await hotmesh_1.Durable.workflow.condition(signalId);
50
- results.push(result);
51
- }
52
- return {
53
- type: 'return',
54
- data: {
55
- productName,
56
- stations: results,
57
- completedAt: new Date().toISOString(),
58
- },
59
- };
60
- }
@@ -1,12 +0,0 @@
1
- /**
2
- * Step Iterator — generic durable loop over dynamic steps.
3
- *
4
- * Proves that the number and shape of steps can be entirely
5
- * data-driven. The orchestrator knows nothing about grinder,
6
- * gluer, or any specific station — it just walks the list,
7
- * spawns a child for each, and waits for the signal.
8
- *
9
- * Reuses the same `workstation` child workflow as the assembly line.
10
- */
11
- import type { LTEnvelope } from '../../../types';
12
- export declare function stepIterator(envelope: LTEnvelope): Promise<any>;
@@ -1,54 +0,0 @@
1
- "use strict";
2
- /**
3
- * Step Iterator — generic durable loop over dynamic steps.
4
- *
5
- * Proves that the number and shape of steps can be entirely
6
- * data-driven. The orchestrator knows nothing about grinder,
7
- * gluer, or any specific station — it just walks the list,
8
- * spawns a child for each, and waits for the signal.
9
- *
10
- * Reuses the same `workstation` child workflow as the assembly line.
11
- */
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.stepIterator = stepIterator;
14
- const hotmesh_1 = require("@hotmeshio/hotmesh");
15
- const defaults_1 = require("../../../modules/defaults");
16
- async function stepIterator(envelope) {
17
- const { name, steps } = envelope.data;
18
- const ctx = hotmesh_1.Durable.workflow.workflowInfo();
19
- const results = [];
20
- for (const [i, step] of steps.entries()) {
21
- const signalId = `step-${i}-${ctx.workflowId}`;
22
- const childWorkflowId = `workstation-${ctx.workflowId}-${i}`;
23
- await hotmesh_1.Durable.workflow.startChild({
24
- workflowName: 'workstation',
25
- args: [
26
- {
27
- data: {
28
- ...step,
29
- parentSignalId: signalId,
30
- parentTaskQueue: 'long-tail-examples',
31
- parentWorkflowType: 'stepIterator',
32
- parentWorkflowId: ctx.workflowId,
33
- },
34
- metadata: { source: 'step-iterator', step: i },
35
- },
36
- ],
37
- taskQueue: 'long-tail-examples',
38
- workflowId: childWorkflowId,
39
- expire: defaults_1.JOB_EXPIRE_SECS,
40
- entity: 'workstation',
41
- });
42
- const result = await hotmesh_1.Durable.workflow.condition(signalId);
43
- results.push(result);
44
- }
45
- return {
46
- type: 'return',
47
- data: {
48
- name,
49
- totalSteps: steps.length,
50
- steps: results,
51
- completedAt: new Date().toISOString(),
52
- },
53
- };
54
- }
@@ -1,18 +0,0 @@
1
- /**
2
- * Reverter — durable step loop with revert support.
3
- *
4
- * Like stepIterator, but each human resolution can send the
5
- * pipeline backwards. The resolver payload controls flow:
6
- *
7
- * { approved: true } → advance to next step
8
- * { approved: false, revertSteps: 1 } → go back 1 step
9
- * { approved: false, revertSteps: 2 } → go back 2 steps
10
- *
11
- * The orchestrator tracks a monotonic attempt counter so every
12
- * child spawn gets a unique workflow ID and signal key — even
13
- * when revisiting a step after a revert.
14
- *
15
- * The full history (approvals + reverts) is recorded in the result.
16
- */
17
- import type { LTEnvelope } from '../../../types';
18
- export declare function reverter(envelope: LTEnvelope): Promise<any>;
@@ -1,89 +0,0 @@
1
- "use strict";
2
- /**
3
- * Reverter — durable step loop with revert support.
4
- *
5
- * Like stepIterator, but each human resolution can send the
6
- * pipeline backwards. The resolver payload controls flow:
7
- *
8
- * { approved: true } → advance to next step
9
- * { approved: false, revertSteps: 1 } → go back 1 step
10
- * { approved: false, revertSteps: 2 } → go back 2 steps
11
- *
12
- * The orchestrator tracks a monotonic attempt counter so every
13
- * child spawn gets a unique workflow ID and signal key — even
14
- * when revisiting a step after a revert.
15
- *
16
- * The full history (approvals + reverts) is recorded in the result.
17
- */
18
- Object.defineProperty(exports, "__esModule", { value: true });
19
- exports.reverter = reverter;
20
- const hotmesh_1 = require("@hotmeshio/hotmesh");
21
- const defaults_1 = require("../../../modules/defaults");
22
- async function reverter(envelope) {
23
- const { name, steps } = envelope.data;
24
- const ctx = hotmesh_1.Durable.workflow.workflowInfo();
25
- const history = [];
26
- const finalResults = [];
27
- let stepIndex = 0;
28
- let attempt = 0;
29
- while (stepIndex < steps.length) {
30
- const step = steps[stepIndex];
31
- const signalId = `step-${stepIndex}-a${attempt}-${ctx.workflowId}`;
32
- const childWorkflowId = `workstation-${ctx.workflowId}-${stepIndex}-a${attempt}`;
33
- await hotmesh_1.Durable.workflow.startChild({
34
- workflowName: 'workstation',
35
- args: [
36
- {
37
- data: {
38
- ...step,
39
- parentSignalId: signalId,
40
- parentTaskQueue: 'long-tail-examples',
41
- parentWorkflowType: 'reverter',
42
- parentWorkflowId: ctx.workflowId,
43
- },
44
- metadata: {
45
- source: 'reverter',
46
- step: stepIndex,
47
- attempt,
48
- totalSteps: steps.length,
49
- },
50
- },
51
- ],
52
- taskQueue: 'long-tail-examples',
53
- workflowId: childWorkflowId,
54
- expire: defaults_1.JOB_EXPIRE_SECS,
55
- entity: 'workstation',
56
- });
57
- const result = await hotmesh_1.Durable.workflow.condition(signalId);
58
- const approved = result.resolution?.approved !== false;
59
- const revertSteps = Number(result.resolution?.revertSteps) || 0;
60
- history.push({
61
- type: approved ? 'advance' : 'revert',
62
- stepIndex,
63
- stationName: step.stationName,
64
- attempt,
65
- resolution: result.resolution,
66
- completedAt: result.completedAt,
67
- });
68
- attempt++;
69
- if (approved) {
70
- finalResults[stepIndex] = result;
71
- stepIndex++;
72
- }
73
- else {
74
- // Clamp revert target to 0
75
- stepIndex = Math.max(0, stepIndex - revertSteps);
76
- }
77
- }
78
- return {
79
- type: 'return',
80
- data: {
81
- name,
82
- totalSteps: steps.length,
83
- totalAttempts: attempt,
84
- steps: finalResults,
85
- history,
86
- completedAt: new Date().toISOString(),
87
- },
88
- };
89
- }
@@ -1,25 +0,0 @@
1
- /**
2
- * Assembly Line types.
3
- *
4
- * Defines the station config passed in the envelope and the
5
- * result shape each station returns when a human resolves it.
6
- */
7
- export interface AssemblyLineStation {
8
- stationName: string;
9
- role: string;
10
- instructions: string;
11
- }
12
- export interface StationEnvelopeData {
13
- stationName: string;
14
- role: string;
15
- instructions: string;
16
- parentSignalId: string;
17
- parentTaskQueue: string;
18
- parentWorkflowType: string;
19
- parentWorkflowId: string;
20
- }
21
- export interface StationResult {
22
- stationName: string;
23
- resolution: Record<string, any>;
24
- completedAt: string;
25
- }
@@ -1,8 +0,0 @@
1
- "use strict";
2
- /**
3
- * Assembly Line types.
4
- *
5
- * Defines the station config passed in the envelope and the
6
- * result shape each station returns when a human resolves it.
7
- */
8
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,13 +0,0 @@
1
- /**
2
- * Workstation — child workflow for the assembly line.
3
- *
4
- * Each workstation:
5
- * 1. Creates an escalation assigned to its role (grinder, gluer, etc.)
6
- * 2. Pauses (condition) until a human claims and resolves the escalation
7
- * 3. Signals the parent orchestrator with the result
8
- *
9
- * No interceptor, no registration — just raw Durable primitives
10
- * and a direct escalation record with signal routing metadata.
11
- */
12
- import type { LTEnvelope } from '../../../types';
13
- export declare function workstation(envelope: LTEnvelope): Promise<any>;
@@ -1,81 +0,0 @@
1
- "use strict";
2
- /**
3
- * Workstation — child workflow for the assembly line.
4
- *
5
- * Each workstation:
6
- * 1. Creates an escalation assigned to its role (grinder, gluer, etc.)
7
- * 2. Pauses (condition) until a human claims and resolves the escalation
8
- * 3. Signals the parent orchestrator with the result
9
- *
10
- * No interceptor, no registration — just raw Durable primitives
11
- * and a direct escalation record with signal routing metadata.
12
- */
13
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
- if (k2 === undefined) k2 = k;
15
- var desc = Object.getOwnPropertyDescriptor(m, k);
16
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
- desc = { enumerable: true, get: function() { return m[k]; } };
18
- }
19
- Object.defineProperty(o, k2, desc);
20
- }) : (function(o, m, k, k2) {
21
- if (k2 === undefined) k2 = k;
22
- o[k2] = m[k];
23
- }));
24
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
- Object.defineProperty(o, "default", { enumerable: true, value: v });
26
- }) : function(o, v) {
27
- o["default"] = v;
28
- });
29
- var __importStar = (this && this.__importStar) || (function () {
30
- var ownKeys = function(o) {
31
- ownKeys = Object.getOwnPropertyNames || function (o) {
32
- var ar = [];
33
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
34
- return ar;
35
- };
36
- return ownKeys(o);
37
- };
38
- return function (mod) {
39
- if (mod && mod.__esModule) return mod;
40
- var result = {};
41
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
42
- __setModuleDefault(result, mod);
43
- return result;
44
- };
45
- })();
46
- Object.defineProperty(exports, "__esModule", { value: true });
47
- exports.workstation = workstation;
48
- const hotmesh_1 = require("@hotmeshio/hotmesh");
49
- const activities = __importStar(require("./activities"));
50
- const { createStationEscalation, signalParent } = hotmesh_1.Durable.workflow.proxyActivities({ activities });
51
- async function workstation(envelope) {
52
- const { stationName, role, instructions, parentSignalId, parentTaskQueue, parentWorkflowType, parentWorkflowId, } = envelope.data;
53
- const ctx = hotmesh_1.Durable.workflow.workflowInfo();
54
- const localSignalId = `station-done-${ctx.workflowId}`;
55
- // 1. Create escalation — human sees this in their queue
56
- await createStationEscalation({
57
- role,
58
- stationName,
59
- instructions,
60
- workflowId: ctx.workflowId,
61
- workflowType: 'workstation',
62
- taskQueue: 'long-tail-examples',
63
- signalId: localSignalId,
64
- });
65
- // 2. Pause until the human resolves the escalation
66
- const resolution = await hotmesh_1.Durable.workflow.condition(localSignalId);
67
- // 3. Build result and signal the parent orchestrator
68
- const result = {
69
- stationName,
70
- resolution,
71
- completedAt: new Date().toISOString(),
72
- };
73
- await signalParent({
74
- parentTaskQueue,
75
- parentWorkflowType,
76
- parentWorkflowId,
77
- signalId: parentSignalId,
78
- data: result,
79
- });
80
- return { type: 'return', data: result };
81
- }
@@ -1,20 +0,0 @@
1
- /**
2
- * Basic Echo Activities
3
- *
4
- * Single activity that echoes a message back with IAM context.
5
- * Demonstrates three ways to access identity inside a proxy activity:
6
- *
7
- * 1. `getActivityIdentity()` — recommended: one-call access to principal + credential exchange
8
- * 2. `getToolContext()` — lower-level access to ToolContext (principal, scopes, trace)
9
- * 3. `Durable.activity.getContext()` — raw HotMesh API for headers
10
- *
11
- * All work across process boundaries because headers travels
12
- * with the activity call via HotMesh's schema pipeline.
13
- */
14
- export declare function echo(input: {
15
- message: string;
16
- }): Promise<{
17
- message: string;
18
- echoedAt: string;
19
- identity: Record<string, unknown>;
20
- }>;
@@ -1,55 +0,0 @@
1
- "use strict";
2
- /**
3
- * Basic Echo Activities
4
- *
5
- * Single activity that echoes a message back with IAM context.
6
- * Demonstrates three ways to access identity inside a proxy activity:
7
- *
8
- * 1. `getActivityIdentity()` — recommended: one-call access to principal + credential exchange
9
- * 2. `getToolContext()` — lower-level access to ToolContext (principal, scopes, trace)
10
- * 3. `Durable.activity.getContext()` — raw HotMesh API for headers
11
- *
12
- * All work across process boundaries because headers travels
13
- * with the activity call via HotMesh's schema pipeline.
14
- */
15
- Object.defineProperty(exports, "__esModule", { value: true });
16
- exports.echo = echo;
17
- const hotmesh_1 = require("@hotmeshio/hotmesh");
18
- const context_1 = require("../../../services/iam/context");
19
- async function echo(input) {
20
- // Recommended: getActivityIdentity() — principal + getCredential() in one call
21
- // const identity = getActivityIdentity();
22
- // const token = await identity.getCredential('anthropic'); // credential exchange
23
- // Primary: getToolContext() reads from headers (injected by activity interceptor)
24
- const ctx = (0, context_1.getToolContext)();
25
- // Direct access: Durable.activity.getContext() shows the raw headers
26
- const activityCtx = hotmesh_1.Durable.activity.getContext();
27
- const rawPrincipal = activityCtx?.headers?.principal;
28
- const identity = ctx
29
- ? {
30
- source: 'getActivityIdentity',
31
- principal: {
32
- id: ctx.principal.id,
33
- type: ctx.principal.type,
34
- displayName: ctx.principal.displayName,
35
- roles: ctx.principal.roles,
36
- roleType: ctx.principal.roleType,
37
- },
38
- scopes: ctx.credentials.scopes,
39
- note: 'Also available via getActivityIdentity().getCredential(provider) for token exchange',
40
- }
41
- : rawPrincipal
42
- ? {
43
- source: 'headers',
44
- principal: rawPrincipal,
45
- }
46
- : {
47
- source: 'unavailable',
48
- note: 'no principal in envelope or headers',
49
- };
50
- return {
51
- message: input.message,
52
- echoedAt: new Date().toISOString(),
53
- identity,
54
- };
55
- }
@@ -1,14 +0,0 @@
1
- /**
2
- * Basic Echo Workflow
3
- *
4
- * Minimal durable workflow that:
5
- * 1. Sleeps for a configurable duration (durable timer)
6
- * 2. Echoes the input message back with IAM identity context
7
- *
8
- * Use this to verify:
9
- * - Durable workflow invocation from the dashboard
10
- * - IAM context availability (registered vs unregistered)
11
- * - Cron scheduling for plain durable workers
12
- */
13
- import type { LTEnvelope } from '../../../types';
14
- export declare function basicEcho(envelope: LTEnvelope): Promise<any>;