@hotmeshio/long-tail 0.1.16 → 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 (359) 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/workflows/config.js +5 -0
  5. package/build/index.d.ts +0 -1
  6. package/build/index.js +1 -4
  7. package/build/lib/db/schemas/002_seed.sql +3 -81
  8. package/build/lib/storage/mime.js +20 -0
  9. package/build/routes/file-browser.js +30 -0
  10. package/build/routes/files.js +20 -18
  11. package/build/services/config/sql.d.ts +3 -0
  12. package/build/services/config/sql.js +15 -1
  13. package/build/services/config/write.d.ts +6 -0
  14. package/build/services/config/write.js +64 -0
  15. package/build/services/cron/index.d.ts +5 -0
  16. package/build/services/cron/index.js +30 -0
  17. package/build/services/insight/index.js +3 -0
  18. package/build/services/interceptor/activities/task.d.ts +1 -0
  19. package/build/services/interceptor/activities/task.js +2 -1
  20. package/build/services/interceptor/activities/workflow.js +1 -0
  21. package/build/services/interceptor/index.js +4 -4
  22. package/build/services/interceptor/lifecycle.js +1 -1
  23. package/build/services/mcp/db.d.ts +17 -0
  24. package/build/services/mcp/db.js +50 -0
  25. package/build/services/mcp/sql.d.ts +4 -1
  26. package/build/services/mcp/sql.js +9 -2
  27. package/build/services/oauth/index.js +4 -1
  28. package/build/services/oauth/providers/google.js +7 -2
  29. package/build/services/orchestrator/index.js +5 -0
  30. package/build/services/task/crud.js +1 -0
  31. package/build/services/task/sql.d.ts +1 -1
  32. package/build/services/task/sql.js +2 -2
  33. package/build/services/task/types.d.ts +2 -0
  34. package/build/services/workers/registry.js +3 -1
  35. package/build/services/workflow-invocation.js +8 -1
  36. package/build/start/workers.d.ts +2 -1
  37. package/build/start/workers.js +66 -6
  38. package/build/system/index.d.ts +12 -10
  39. package/build/system/index.js +240 -67
  40. package/build/system/mcp-servers/playwright/schemas.d.ts +12 -12
  41. package/build/system/seed/index.d.ts +0 -7
  42. package/build/system/seed/index.js +5 -46
  43. package/build/tsconfig.tsbuildinfo +1 -1
  44. package/build/types/index.d.ts +1 -1
  45. package/build/types/startup.d.ts +59 -2
  46. package/dashboard/dist/assets/AdminDashboard-CsTOErp1.js +2 -0
  47. package/dashboard/dist/assets/{AdminDashboard-Bprul9Eb.js.map → AdminDashboard-CsTOErp1.js.map} +1 -1
  48. package/dashboard/dist/assets/AvailableEscalationsPage-BqQA3IJp.js +2 -0
  49. package/dashboard/dist/assets/{AvailableEscalationsPage-H_z5mC10.js.map → AvailableEscalationsPage-BqQA3IJp.js.map} +1 -1
  50. package/dashboard/dist/assets/BotPicker-C2xR1xay.js +2 -0
  51. package/dashboard/dist/assets/{BotPicker-DcvILNUf.js.map → BotPicker-C2xR1xay.js.map} +1 -1
  52. package/dashboard/dist/assets/CollapsibleSection-CRtHQsAv.js +2 -0
  53. package/dashboard/dist/assets/{CollapsibleSection-BWPbzgEe.js.map → CollapsibleSection-CRtHQsAv.js.map} +1 -1
  54. package/dashboard/dist/assets/ConfirmDeleteModal-dOxidrSR.js +2 -0
  55. package/dashboard/dist/assets/{ConfirmDeleteModal-Cy6KVLfC.js.map → ConfirmDeleteModal-dOxidrSR.js.map} +1 -1
  56. package/dashboard/dist/assets/CopyableId-DmLF-RqZ.js +2 -0
  57. package/dashboard/dist/assets/{CopyableId-CRED8hvk.js.map → CopyableId-DmLF-RqZ.js.map} +1 -1
  58. package/dashboard/dist/assets/CredentialsPage-C7XT1bnO.js +2 -0
  59. package/dashboard/dist/assets/CredentialsPage-C7XT1bnO.js.map +1 -0
  60. package/dashboard/dist/assets/CustomDurationPicker-BABUv1V2.js +2 -0
  61. package/dashboard/dist/assets/{CustomDurationPicker-eOk2EqQ5.js.map → CustomDurationPicker-BABUv1V2.js.map} +1 -1
  62. package/dashboard/dist/assets/DataTable-D3-wSEf0.js +2 -0
  63. package/dashboard/dist/assets/{DataTable-bd2PTBJd.js.map → DataTable-D3-wSEf0.js.map} +1 -1
  64. package/dashboard/dist/assets/DropZone-DHKmMqRA.js +2 -0
  65. package/dashboard/dist/assets/DropZone-DHKmMqRA.js.map +1 -0
  66. package/dashboard/dist/assets/ElapsedCell-DrJif03B.js +2 -0
  67. package/dashboard/dist/assets/{ElapsedCell-BGo8vyus.js.map → ElapsedCell-DrJif03B.js.map} +1 -1
  68. package/dashboard/dist/assets/EmptyState-BcsfPq9T.js +2 -0
  69. package/dashboard/dist/assets/EmptyState-BcsfPq9T.js.map +1 -0
  70. package/dashboard/dist/assets/EscalationsOverview-H6CwfeR-.js +2 -0
  71. package/dashboard/dist/assets/EscalationsOverview-H6CwfeR-.js.map +1 -0
  72. package/dashboard/dist/assets/EventTable-Dh3_9DAY.js +2 -0
  73. package/dashboard/dist/assets/{EventTable-CmFhswLW.js.map → EventTable-Dh3_9DAY.js.map} +1 -1
  74. package/dashboard/dist/assets/FilterBar-Ck4K4rzu.js +2 -0
  75. package/dashboard/dist/assets/{FilterBar-BQNzsd3A.js.map → FilterBar-Ck4K4rzu.js.map} +1 -1
  76. package/dashboard/dist/assets/ListToolbar-CyEkulVR.js +2 -0
  77. package/dashboard/dist/assets/{ListToolbar-OWOn-HiC.js.map → ListToolbar-CyEkulVR.js.map} +1 -1
  78. package/dashboard/dist/assets/McpOverview-ChLa6Gl7.js +2 -0
  79. package/dashboard/dist/assets/{McpOverview-OkEzvClD.js.map → McpOverview-ChLa6Gl7.js.map} +1 -1
  80. package/dashboard/dist/assets/McpQueryDetailPage-5Dsj6PlL.js +5 -0
  81. package/dashboard/dist/assets/McpQueryDetailPage-5Dsj6PlL.js.map +1 -0
  82. package/dashboard/dist/assets/McpQueryPage-D2DmDFPu.js +2 -0
  83. package/dashboard/dist/assets/McpQueryPage-D2DmDFPu.js.map +1 -0
  84. package/dashboard/dist/assets/McpRunDetailPage-ERVuNEEK.js +2 -0
  85. package/dashboard/dist/assets/{McpRunDetailPage-DMeiG4i_.js.map → McpRunDetailPage-ERVuNEEK.js.map} +1 -1
  86. package/dashboard/dist/assets/McpRunsPage-BKba-3Wl.js +2 -0
  87. package/dashboard/dist/assets/McpRunsPage-BKba-3Wl.js.map +1 -0
  88. package/dashboard/dist/assets/Modal-DEODGeqx.js +2 -0
  89. package/dashboard/dist/assets/{Modal-Dir9Rlnx.js.map → Modal-DEODGeqx.js.map} +1 -1
  90. package/dashboard/dist/assets/OperatorDashboard-CJm_BTPU.js +2 -0
  91. package/dashboard/dist/assets/{OperatorDashboard-OqWC6Azy.js.map → OperatorDashboard-CJm_BTPU.js.map} +1 -1
  92. package/dashboard/dist/assets/PageHeader-B-SN5GZ2.js +2 -0
  93. package/dashboard/dist/assets/PageHeader-B-SN5GZ2.js.map +1 -0
  94. package/dashboard/dist/assets/PageHeaderWithStats-BZ3AGT5s.js +2 -0
  95. package/dashboard/dist/assets/PageHeaderWithStats-BZ3AGT5s.js.map +1 -0
  96. package/dashboard/dist/assets/PriorityBadge-DfQY9St9.js +2 -0
  97. package/dashboard/dist/assets/{PriorityBadge-C7D5d_HY.js.map → PriorityBadge-DfQY9St9.js.map} +1 -1
  98. package/dashboard/dist/assets/ProcessDetailPage-vfnCDyQK.js +2 -0
  99. package/dashboard/dist/assets/{ProcessDetailPage-DZIP6grw.js.map → ProcessDetailPage-vfnCDyQK.js.map} +1 -1
  100. package/dashboard/dist/assets/ProcessesListPage-DcAN6AJK.js +2 -0
  101. package/dashboard/dist/assets/ProcessesListPage-DcAN6AJK.js.map +1 -0
  102. package/dashboard/dist/assets/RolePill-BhVC0cc3.js +2 -0
  103. package/dashboard/dist/assets/{RolePill-D6nMxMvp.js.map → RolePill-BhVC0cc3.js.map} +1 -1
  104. package/dashboard/dist/assets/RolesPage-DYSt2aAr.js +2 -0
  105. package/dashboard/dist/assets/RolesPage-DYSt2aAr.js.map +1 -0
  106. package/dashboard/dist/assets/RowActions-Dg-Fsm5O.js +2 -0
  107. package/dashboard/dist/assets/{RowActions-JqgAB0p3.js.map → RowActions-Dg-Fsm5O.js.map} +1 -1
  108. package/dashboard/dist/assets/RunAsSelector-CD7_Dmb0.js +2 -0
  109. package/dashboard/dist/assets/{RunAsSelector-KAlKtitB.js.map → RunAsSelector-CD7_Dmb0.js.map} +1 -1
  110. package/dashboard/dist/assets/StatCard-DlgF0CJC.js +2 -0
  111. package/dashboard/dist/assets/{StatCard-B-WLhOaH.js.map → StatCard-DlgF0CJC.js.map} +1 -1
  112. package/dashboard/dist/assets/StatusBadge-XQlNFwmH.js +2 -0
  113. package/dashboard/dist/assets/StatusBadge-XQlNFwmH.js.map +1 -0
  114. package/dashboard/dist/assets/StepIndicator-CuUIGxKk.js +2 -0
  115. package/dashboard/dist/assets/{StepIndicator-D9Xvdf18.js.map → StepIndicator-CuUIGxKk.js.map} +1 -1
  116. package/dashboard/dist/assets/StickyPagination-F9FZsRy9.js +2 -0
  117. package/dashboard/dist/assets/{StickyPagination-CJHMzYJj.js.map → StickyPagination-F9FZsRy9.js.map} +1 -1
  118. package/dashboard/dist/assets/SwimlaneTimeline-CUl5RdXU.js +2 -0
  119. package/dashboard/dist/assets/SwimlaneTimeline-CUl5RdXU.js.map +1 -0
  120. package/dashboard/dist/assets/TagInput-DftaRHDV.js +2 -0
  121. package/dashboard/dist/assets/{TagInput-DcPnUnSJ.js.map → TagInput-DftaRHDV.js.map} +1 -1
  122. package/dashboard/dist/assets/TaskDetailPage-BoA-cfwW.js +2 -0
  123. package/dashboard/dist/assets/TaskDetailPage-BoA-cfwW.js.map +1 -0
  124. package/dashboard/dist/assets/TaskQueuePill-Ce8KlXtR.js +2 -0
  125. package/dashboard/dist/assets/TaskQueuePill-Ce8KlXtR.js.map +1 -0
  126. package/dashboard/dist/assets/TasksListPage-g6XIbhju.js +2 -0
  127. package/dashboard/dist/assets/{TasksListPage-DeewV4Gp.js.map → TasksListPage-g6XIbhju.js.map} +1 -1
  128. package/dashboard/dist/assets/TimeAgo-BihIwEbB.js +2 -0
  129. package/dashboard/dist/assets/{TimeAgo-DJZq-e4R.js.map → TimeAgo-BihIwEbB.js.map} +1 -1
  130. package/dashboard/dist/assets/TimestampCell-GOFcvE-i.js +2 -0
  131. package/dashboard/dist/assets/{TimestampCell-Dx5uwGfS.js.map → TimestampCell-GOFcvE-i.js.map} +1 -1
  132. package/dashboard/dist/assets/UserName-CmMVt4vS.js +2 -0
  133. package/dashboard/dist/assets/{UserName-CnGk7MgL.js.map → UserName-CmMVt4vS.js.map} +1 -1
  134. package/dashboard/dist/assets/WorkflowExecutionPage-soRFz_30.js +2 -0
  135. package/dashboard/dist/assets/{WorkflowExecutionPage-CPQ0fIwf.js.map → WorkflowExecutionPage-soRFz_30.js.map} +1 -1
  136. package/dashboard/dist/assets/WorkflowPill-DUDDyBsj.js +2 -0
  137. package/dashboard/dist/assets/{WorkflowPill-BrD5d1AG.js.map → WorkflowPill-DUDDyBsj.js.map} +1 -1
  138. package/dashboard/dist/assets/WorkflowsDashboard-Be1A1zAT.js +2 -0
  139. package/dashboard/dist/assets/WorkflowsDashboard-Be1A1zAT.js.map +1 -0
  140. package/dashboard/dist/assets/WorkflowsOverview-z3Ztiz1y.js +2 -0
  141. package/dashboard/dist/assets/{WorkflowsOverview-lBp2E6rN.js.map → WorkflowsOverview-z3Ztiz1y.js.map} +1 -1
  142. package/dashboard/dist/assets/YamlWorkflowsPage-C6qzcQcJ.js +2 -0
  143. package/dashboard/dist/assets/YamlWorkflowsPage-C6qzcQcJ.js.map +1 -0
  144. package/dashboard/dist/assets/{bots-fc_O_YIq.js → bots-BZPXDh_y.js} +2 -2
  145. package/dashboard/dist/assets/{bots-fc_O_YIq.js.map → bots-BZPXDh_y.js.map} +1 -1
  146. package/dashboard/dist/assets/escalation-DBUIq1Z4.js +2 -0
  147. package/dashboard/dist/assets/{escalation-BYhLYHBz.js.map → escalation-DBUIq1Z4.js.map} +1 -1
  148. package/dashboard/dist/assets/escalation-columns-DL4zsR8Y.js +2 -0
  149. package/dashboard/dist/assets/{escalation-columns-DjJyuC1g.js.map → escalation-columns-DL4zsR8Y.js.map} +1 -1
  150. package/dashboard/dist/assets/helpers-D50KFFkI.js +2 -0
  151. package/dashboard/dist/assets/{helpers-CQG3Rh2y.js.map → helpers-D50KFFkI.js.map} +1 -1
  152. package/dashboard/dist/assets/index-B-ioA6yv.js +2 -0
  153. package/dashboard/dist/assets/index-B-ioA6yv.js.map +1 -0
  154. package/dashboard/dist/assets/index-B-jzKfuv.js +2 -0
  155. package/dashboard/dist/assets/index-B-jzKfuv.js.map +1 -0
  156. package/dashboard/dist/assets/index-BMpoMc4A.js +2 -0
  157. package/dashboard/dist/assets/{index-D51PaQZY.js.map → index-BMpoMc4A.js.map} +1 -1
  158. package/dashboard/dist/assets/index-BU04qgJt.js +15 -0
  159. package/dashboard/dist/assets/index-BU04qgJt.js.map +1 -0
  160. package/dashboard/dist/assets/index-BUjxYyxc.js +63 -0
  161. package/dashboard/dist/assets/index-BUjxYyxc.js.map +1 -0
  162. package/dashboard/dist/assets/index-BpoHVMV7.js +2 -0
  163. package/dashboard/dist/assets/index-BpoHVMV7.js.map +1 -0
  164. package/dashboard/dist/assets/index-CEnDYJOO.js +2 -0
  165. package/dashboard/dist/assets/index-CEnDYJOO.js.map +1 -0
  166. package/dashboard/dist/assets/index-CbuH92vk.js +6 -0
  167. package/dashboard/dist/assets/index-CbuH92vk.js.map +1 -0
  168. package/dashboard/dist/assets/index-D9_hZmsW.js +5 -0
  169. package/dashboard/dist/assets/{index-KYpLvJKB.js.map → index-D9_hZmsW.js.map} +1 -1
  170. package/dashboard/dist/assets/index-DrouIN-M.js +2 -0
  171. package/dashboard/dist/assets/{index-DR4qQvlW.js.map → index-DrouIN-M.js.map} +1 -1
  172. package/dashboard/dist/assets/index-DzICLMI7.js +2 -0
  173. package/dashboard/dist/assets/{index-DNtXXy1o.js.map → index-DzICLMI7.js.map} +1 -1
  174. package/dashboard/dist/assets/index-efS5gKpv.css +1 -0
  175. package/dashboard/dist/assets/index-qT78AZDq.js +2 -0
  176. package/dashboard/dist/assets/index-qT78AZDq.js.map +1 -0
  177. package/dashboard/dist/assets/mcp-D0GrHRFe.js +2 -0
  178. package/dashboard/dist/assets/{mcp-D2XfRh8v.js.map → mcp-D0GrHRFe.js.map} +1 -1
  179. package/dashboard/dist/assets/{mcp-query-CIx_mIC7.js → mcp-query-DC5woQn5.js} +2 -2
  180. package/dashboard/dist/assets/{mcp-query-CIx_mIC7.js.map → mcp-query-DC5woQn5.js.map} +1 -1
  181. package/dashboard/dist/assets/{mcp-runs-C9_J4LIH.js → mcp-runs-CsoVQoPB.js} +2 -2
  182. package/dashboard/dist/assets/{mcp-runs-C9_J4LIH.js.map → mcp-runs-CsoVQoPB.js.map} +1 -1
  183. package/dashboard/dist/assets/namespaces-unpIb4gX.js +2 -0
  184. package/dashboard/dist/assets/{namespaces-BwMljx6f.js.map → namespaces-unpIb4gX.js.map} +1 -1
  185. package/dashboard/dist/assets/{roles-Bd_sTV6I.js → roles--kBaFljg.js} +2 -2
  186. package/dashboard/dist/assets/{roles-Bd_sTV6I.js.map → roles--kBaFljg.js.map} +1 -1
  187. package/dashboard/dist/assets/settings-B96YkawY.js +2 -0
  188. package/dashboard/dist/assets/{settings-BCb8eFyA.js.map → settings-B96YkawY.js.map} +1 -1
  189. package/dashboard/dist/assets/{tasks-Bq54qGGq.js → tasks-D_1NCfOZ.js} +2 -2
  190. package/dashboard/dist/assets/{tasks-Bq54qGGq.js.map → tasks-D_1NCfOZ.js.map} +1 -1
  191. package/dashboard/dist/assets/{useEventHooks-BTbGf536.js → useEventHooks-BPjEkCpD.js} +2 -2
  192. package/dashboard/dist/assets/{useEventHooks-BTbGf536.js.map → useEventHooks-BPjEkCpD.js.map} +1 -1
  193. package/dashboard/dist/assets/{useExpandedRows-Cg9iq6Vy.js → useExpandedRows-CkcEntB-.js} +2 -2
  194. package/dashboard/dist/assets/{useExpandedRows-Cg9iq6Vy.js.map → useExpandedRows-CkcEntB-.js.map} +1 -1
  195. package/dashboard/dist/assets/{useFilterParams-CGRYFw_A.js → useFilterParams-DZCAaBC7.js} +2 -2
  196. package/dashboard/dist/assets/{useFilterParams-CGRYFw_A.js.map → useFilterParams-DZCAaBC7.js.map} +1 -1
  197. package/dashboard/dist/assets/{useYamlActivityEvents-CsYP09W5.js → useYamlActivityEvents-D3RQjfzo.js} +2 -2
  198. package/dashboard/dist/assets/{useYamlActivityEvents-CsYP09W5.js.map → useYamlActivityEvents-D3RQjfzo.js.map} +1 -1
  199. package/dashboard/dist/assets/{users-BTBhafGc.js → users-e2oatvoj.js} +2 -2
  200. package/dashboard/dist/assets/{users-BTBhafGc.js.map → users-e2oatvoj.js.map} +1 -1
  201. package/dashboard/dist/assets/{vendor-icons-CWl44VA6.js → vendor-icons-BkK55L-1.js} +103 -88
  202. package/dashboard/dist/assets/vendor-icons-BkK55L-1.js.map +1 -0
  203. package/dashboard/dist/assets/vendor-query-B2UbickB.js +18 -0
  204. package/dashboard/dist/assets/vendor-query-B2UbickB.js.map +1 -0
  205. package/dashboard/dist/assets/vendor-react-CX88sFS5.js +22 -0
  206. package/dashboard/dist/assets/vendor-react-CX88sFS5.js.map +1 -0
  207. package/dashboard/dist/assets/{workflows-BkzA4ahe.js → workflows-D6diL54s.js} +2 -2
  208. package/dashboard/dist/assets/{workflows-BkzA4ahe.js.map → workflows-D6diL54s.js.map} +1 -1
  209. package/dashboard/dist/assets/{yaml-workflows-Cs0EYp0F.js → yaml-workflows-CAKU7LUu.js} +2 -2
  210. package/dashboard/dist/assets/{yaml-workflows-Cs0EYp0F.js.map → yaml-workflows-CAKU7LUu.js.map} +1 -1
  211. package/dashboard/dist/index.html +5 -5
  212. package/docs/dashboard.md +233 -65
  213. package/package.json +3 -2
  214. package/build/examples/external-mcp-server/server.d.ts +0 -17
  215. package/build/examples/external-mcp-server/server.js +0 -116
  216. package/build/examples/index.d.ts +0 -2
  217. package/build/examples/index.js +0 -7
  218. package/build/examples/seed-data.d.ts +0 -55
  219. package/build/examples/seed-data.js +0 -161
  220. package/build/examples/seed.d.ts +0 -5
  221. package/build/examples/seed.js +0 -132
  222. package/build/examples/types/envelopes.d.ts +0 -69
  223. package/build/examples/types/envelopes.js +0 -8
  224. package/build/examples/types/index.d.ts +0 -10
  225. package/build/examples/types/index.js +0 -9
  226. package/build/examples/types/resolvers.d.ts +0 -27
  227. package/build/examples/types/resolvers.js +0 -9
  228. package/build/examples/workers.d.ts +0 -10
  229. package/build/examples/workers.js +0 -59
  230. package/build/examples/workflows/assembly-line/activities.d.ts +0 -28
  231. package/build/examples/workflows/assembly-line/activities.js +0 -53
  232. package/build/examples/workflows/assembly-line/index.d.ts +0 -17
  233. package/build/examples/workflows/assembly-line/index.js +0 -60
  234. package/build/examples/workflows/assembly-line/iterator.d.ts +0 -12
  235. package/build/examples/workflows/assembly-line/iterator.js +0 -54
  236. package/build/examples/workflows/assembly-line/reverter.d.ts +0 -18
  237. package/build/examples/workflows/assembly-line/reverter.js +0 -89
  238. package/build/examples/workflows/assembly-line/types.d.ts +0 -25
  239. package/build/examples/workflows/assembly-line/types.js +0 -8
  240. package/build/examples/workflows/assembly-line/worker.d.ts +0 -13
  241. package/build/examples/workflows/assembly-line/worker.js +0 -81
  242. package/build/examples/workflows/basic-echo/activities.d.ts +0 -20
  243. package/build/examples/workflows/basic-echo/activities.js +0 -55
  244. package/build/examples/workflows/basic-echo/index.d.ts +0 -14
  245. package/build/examples/workflows/basic-echo/index.js +0 -66
  246. package/build/examples/workflows/basic-signal/activities.d.ts +0 -17
  247. package/build/examples/workflows/basic-signal/activities.js +0 -18
  248. package/build/examples/workflows/basic-signal/index.d.ts +0 -17
  249. package/build/examples/workflows/basic-signal/index.js +0 -116
  250. package/build/examples/workflows/kitchen-sink/activities.d.ts +0 -40
  251. package/build/examples/workflows/kitchen-sink/activities.js +0 -46
  252. package/build/examples/workflows/kitchen-sink/index.d.ts +0 -22
  253. package/build/examples/workflows/kitchen-sink/index.js +0 -123
  254. package/build/examples/workflows/review-content/activities.d.ts +0 -10
  255. package/build/examples/workflows/review-content/activities.js +0 -44
  256. package/build/examples/workflows/review-content/index.d.ts +0 -10
  257. package/build/examples/workflows/review-content/index.js +0 -95
  258. package/build/examples/workflows/review-content/types.d.ts +0 -28
  259. package/build/examples/workflows/review-content/types.js +0 -2
  260. package/build/lib/db/schemas/schemas/001_schema.sql +0 -485
  261. package/build/lib/db/schemas/schemas/002_seed.sql +0 -92
  262. package/build/system/seed/server-definitions.d.ts +0 -3210
  263. package/build/system/seed/server-definitions.js +0 -232
  264. package/dashboard/dist/assets/AdminDashboard-Bprul9Eb.js +0 -2
  265. package/dashboard/dist/assets/AvailableEscalationsPage-H_z5mC10.js +0 -2
  266. package/dashboard/dist/assets/BotPicker-DcvILNUf.js +0 -2
  267. package/dashboard/dist/assets/CollapsibleSection-BWPbzgEe.js +0 -2
  268. package/dashboard/dist/assets/ConfirmDeleteModal-Cy6KVLfC.js +0 -2
  269. package/dashboard/dist/assets/CopyableId-CRED8hvk.js +0 -2
  270. package/dashboard/dist/assets/CredentialsPage-BUdvxiE3.js +0 -2
  271. package/dashboard/dist/assets/CredentialsPage-BUdvxiE3.js.map +0 -1
  272. package/dashboard/dist/assets/CustomDurationPicker-eOk2EqQ5.js +0 -2
  273. package/dashboard/dist/assets/DataTable-bd2PTBJd.js +0 -2
  274. package/dashboard/dist/assets/ElapsedCell-BGo8vyus.js +0 -2
  275. package/dashboard/dist/assets/EmptyState-BygtU-Rh.js +0 -2
  276. package/dashboard/dist/assets/EmptyState-BygtU-Rh.js.map +0 -1
  277. package/dashboard/dist/assets/EscalationsOverview-DUEcN5MP.js +0 -2
  278. package/dashboard/dist/assets/EscalationsOverview-DUEcN5MP.js.map +0 -1
  279. package/dashboard/dist/assets/EventTable-CmFhswLW.js +0 -2
  280. package/dashboard/dist/assets/FilterBar-BQNzsd3A.js +0 -2
  281. package/dashboard/dist/assets/ListToolbar-OWOn-HiC.js +0 -2
  282. package/dashboard/dist/assets/McpOverview-OkEzvClD.js +0 -2
  283. package/dashboard/dist/assets/McpQueryDetailPage-C6Ih5sC_.js +0 -5
  284. package/dashboard/dist/assets/McpQueryDetailPage-C6Ih5sC_.js.map +0 -1
  285. package/dashboard/dist/assets/McpQueryPage-BAuOf5TL.js +0 -2
  286. package/dashboard/dist/assets/McpQueryPage-BAuOf5TL.js.map +0 -1
  287. package/dashboard/dist/assets/McpRunDetailPage-DMeiG4i_.js +0 -2
  288. package/dashboard/dist/assets/McpRunsPage-CG3cNJh8.js +0 -2
  289. package/dashboard/dist/assets/McpRunsPage-CG3cNJh8.js.map +0 -1
  290. package/dashboard/dist/assets/Modal-Dir9Rlnx.js +0 -2
  291. package/dashboard/dist/assets/OperatorDashboard-OqWC6Azy.js +0 -2
  292. package/dashboard/dist/assets/PageHeader-FJIemmrC.js +0 -2
  293. package/dashboard/dist/assets/PageHeader-FJIemmrC.js.map +0 -1
  294. package/dashboard/dist/assets/PageHeaderWithStats-Br5y9qNO.js +0 -2
  295. package/dashboard/dist/assets/PageHeaderWithStats-Br5y9qNO.js.map +0 -1
  296. package/dashboard/dist/assets/PriorityBadge-C7D5d_HY.js +0 -2
  297. package/dashboard/dist/assets/ProcessDetailPage-DZIP6grw.js +0 -2
  298. package/dashboard/dist/assets/ProcessesListPage-BQoPYkeB.js +0 -2
  299. package/dashboard/dist/assets/ProcessesListPage-BQoPYkeB.js.map +0 -1
  300. package/dashboard/dist/assets/RolePill-D6nMxMvp.js +0 -2
  301. package/dashboard/dist/assets/RolesPage-CwLnJFhy.js +0 -2
  302. package/dashboard/dist/assets/RolesPage-CwLnJFhy.js.map +0 -1
  303. package/dashboard/dist/assets/RowActions-JqgAB0p3.js +0 -2
  304. package/dashboard/dist/assets/RunAsSelector-KAlKtitB.js +0 -2
  305. package/dashboard/dist/assets/StatCard-B-WLhOaH.js +0 -2
  306. package/dashboard/dist/assets/StatusBadge-DVCf2ncM.js +0 -2
  307. package/dashboard/dist/assets/StatusBadge-DVCf2ncM.js.map +0 -1
  308. package/dashboard/dist/assets/StepIndicator-D9Xvdf18.js +0 -2
  309. package/dashboard/dist/assets/StickyPagination-CJHMzYJj.js +0 -2
  310. package/dashboard/dist/assets/SwimlaneTimeline-YiXPDyEL.js +0 -2
  311. package/dashboard/dist/assets/SwimlaneTimeline-YiXPDyEL.js.map +0 -1
  312. package/dashboard/dist/assets/TagInput-DcPnUnSJ.js +0 -2
  313. package/dashboard/dist/assets/TaskDetailPage-DftmYWD7.js +0 -2
  314. package/dashboard/dist/assets/TaskDetailPage-DftmYWD7.js.map +0 -1
  315. package/dashboard/dist/assets/TaskQueuePill-BzduBqwy.js +0 -2
  316. package/dashboard/dist/assets/TaskQueuePill-BzduBqwy.js.map +0 -1
  317. package/dashboard/dist/assets/TasksListPage-DeewV4Gp.js +0 -2
  318. package/dashboard/dist/assets/TimeAgo-DJZq-e4R.js +0 -2
  319. package/dashboard/dist/assets/TimestampCell-Dx5uwGfS.js +0 -2
  320. package/dashboard/dist/assets/UserName-CnGk7MgL.js +0 -2
  321. package/dashboard/dist/assets/WorkflowExecutionPage-CPQ0fIwf.js +0 -2
  322. package/dashboard/dist/assets/WorkflowPill-BrD5d1AG.js +0 -2
  323. package/dashboard/dist/assets/WorkflowsDashboard-BzjhABZP.js +0 -2
  324. package/dashboard/dist/assets/WorkflowsDashboard-BzjhABZP.js.map +0 -1
  325. package/dashboard/dist/assets/WorkflowsOverview-lBp2E6rN.js +0 -2
  326. package/dashboard/dist/assets/YamlWorkflowsPage-C_MkAp2i.js +0 -2
  327. package/dashboard/dist/assets/YamlWorkflowsPage-C_MkAp2i.js.map +0 -1
  328. package/dashboard/dist/assets/escalation-BYhLYHBz.js +0 -2
  329. package/dashboard/dist/assets/escalation-columns-DjJyuC1g.js +0 -2
  330. package/dashboard/dist/assets/helpers-CQG3Rh2y.js +0 -2
  331. package/dashboard/dist/assets/index-2nBhR7Dg.js +0 -2
  332. package/dashboard/dist/assets/index-2nBhR7Dg.js.map +0 -1
  333. package/dashboard/dist/assets/index-4IUoh_hd.js +0 -2
  334. package/dashboard/dist/assets/index-4IUoh_hd.js.map +0 -1
  335. package/dashboard/dist/assets/index-B2CqPzLK.js +0 -2
  336. package/dashboard/dist/assets/index-B2CqPzLK.js.map +0 -1
  337. package/dashboard/dist/assets/index-B78xalb4.js +0 -2
  338. package/dashboard/dist/assets/index-B78xalb4.js.map +0 -1
  339. package/dashboard/dist/assets/index-BI8r69O_.js +0 -2
  340. package/dashboard/dist/assets/index-BI8r69O_.js.map +0 -1
  341. package/dashboard/dist/assets/index-C5TUqJu0.css +0 -1
  342. package/dashboard/dist/assets/index-CUqCBBZG.js +0 -6
  343. package/dashboard/dist/assets/index-CUqCBBZG.js.map +0 -1
  344. package/dashboard/dist/assets/index-D51PaQZY.js +0 -2
  345. package/dashboard/dist/assets/index-DNtXXy1o.js +0 -2
  346. package/dashboard/dist/assets/index-DR4qQvlW.js +0 -2
  347. package/dashboard/dist/assets/index-Dh0PCbR-.js +0 -15
  348. package/dashboard/dist/assets/index-Dh0PCbR-.js.map +0 -1
  349. package/dashboard/dist/assets/index-KYpLvJKB.js +0 -5
  350. package/dashboard/dist/assets/index-sNrqYt0Q.js +0 -281
  351. package/dashboard/dist/assets/index-sNrqYt0Q.js.map +0 -1
  352. package/dashboard/dist/assets/mcp-D2XfRh8v.js +0 -2
  353. package/dashboard/dist/assets/namespaces-BwMljx6f.js +0 -2
  354. package/dashboard/dist/assets/settings-BCb8eFyA.js +0 -2
  355. package/dashboard/dist/assets/vendor-icons-CWl44VA6.js.map +0 -1
  356. package/dashboard/dist/assets/vendor-query-DLp59M9_.js +0 -35
  357. package/dashboard/dist/assets/vendor-query-DLp59M9_.js.map +0 -1
  358. package/dashboard/dist/assets/vendor-react-Co3Y8ikm.js +0 -26
  359. package/dashboard/dist/assets/vendor-react-Co3Y8ikm.js.map +0 -1
@@ -1,66 +0,0 @@
1
- "use strict";
2
- /**
3
- * Basic Echo Workflow
4
- *
5
- * Minimal durable workflow that:
6
- * 1. Sleeps for a configurable duration (durable timer)
7
- * 2. Echoes the input message back with IAM identity context
8
- *
9
- * Use this to verify:
10
- * - Durable workflow invocation from the dashboard
11
- * - IAM context availability (registered vs unregistered)
12
- * - Cron scheduling for plain durable workers
13
- */
14
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
15
- if (k2 === undefined) k2 = k;
16
- var desc = Object.getOwnPropertyDescriptor(m, k);
17
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
18
- desc = { enumerable: true, get: function() { return m[k]; } };
19
- }
20
- Object.defineProperty(o, k2, desc);
21
- }) : (function(o, m, k, k2) {
22
- if (k2 === undefined) k2 = k;
23
- o[k2] = m[k];
24
- }));
25
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
26
- Object.defineProperty(o, "default", { enumerable: true, value: v });
27
- }) : function(o, v) {
28
- o["default"] = v;
29
- });
30
- var __importStar = (this && this.__importStar) || (function () {
31
- var ownKeys = function(o) {
32
- ownKeys = Object.getOwnPropertyNames || function (o) {
33
- var ar = [];
34
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
35
- return ar;
36
- };
37
- return ownKeys(o);
38
- };
39
- return function (mod) {
40
- if (mod && mod.__esModule) return mod;
41
- var result = {};
42
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
43
- __setModuleDefault(result, mod);
44
- return result;
45
- };
46
- })();
47
- Object.defineProperty(exports, "__esModule", { value: true });
48
- exports.basicEcho = basicEcho;
49
- const hotmesh_1 = require("@hotmeshio/hotmesh");
50
- const activities = __importStar(require("./activities"));
51
- const { echo } = hotmesh_1.Durable.workflow.proxyActivities({
52
- activities,
53
- });
54
- async function basicEcho(envelope) {
55
- const { message = 'Hello, Long Tail!', sleepSeconds = 1 } = envelope.data;
56
- await hotmesh_1.Durable.workflow.sleep(`${sleepSeconds} seconds`);
57
- const echoResult = await echo({ message });
58
- return {
59
- type: 'return',
60
- data: {
61
- ...echoResult,
62
- sleepSeconds,
63
- userId: envelope.lt?.userId,
64
- },
65
- };
66
- }
@@ -1,17 +0,0 @@
1
- /**
2
- * Basic Signal Activities
3
- *
4
- * Simple activity for post-resolution processing. The escalation
5
- * creation and resolution are handled via interceptor activities
6
- * (ltCreateEscalation / ltResolveEscalation) proxied from the workflow.
7
- */
8
- export declare function processApproval(input: {
9
- approved: boolean;
10
- notes: string;
11
- message: string;
12
- }): Promise<{
13
- message: string;
14
- approved: boolean;
15
- notes: string;
16
- processedAt: string;
17
- }>;
@@ -1,18 +0,0 @@
1
- "use strict";
2
- /**
3
- * Basic Signal Activities
4
- *
5
- * Simple activity for post-resolution processing. The escalation
6
- * creation and resolution are handled via interceptor activities
7
- * (ltCreateEscalation / ltResolveEscalation) proxied from the workflow.
8
- */
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.processApproval = processApproval;
11
- async function processApproval(input) {
12
- return {
13
- message: input.message,
14
- approved: input.approved,
15
- notes: input.notes,
16
- processedAt: new Date().toISOString(),
17
- };
18
- }
@@ -1,17 +0,0 @@
1
- /**
2
- * Basic Signal Workflow
3
- *
4
- * Lightweight signal-based escalation — the workflow stays running
5
- * while waiting for human input. No interceptor, no certification.
6
- *
7
- * 1. Creates an escalation with `signal_id` in metadata
8
- * 2. Pauses via `conditionLT(signalId)` — workflow stays alive
9
- * 3. Dashboard resolver signals in with the form payload
10
- * 4. `conditionLT` resolves the escalation via durable activity
11
- * 5. Workflow continues with the clean resolver payload
12
- *
13
- * This demonstrates the lightweight alternative to the certified
14
- * interceptor pattern — same escalation UX, simpler wiring.
15
- */
16
- import type { LTEnvelope } from '../../../types';
17
- export declare function basicSignal(envelope: LTEnvelope): Promise<any>;
@@ -1,116 +0,0 @@
1
- "use strict";
2
- /**
3
- * Basic Signal Workflow
4
- *
5
- * Lightweight signal-based escalation — the workflow stays running
6
- * while waiting for human input. No interceptor, no certification.
7
- *
8
- * 1. Creates an escalation with `signal_id` in metadata
9
- * 2. Pauses via `conditionLT(signalId)` — workflow stays alive
10
- * 3. Dashboard resolver signals in with the form payload
11
- * 4. `conditionLT` resolves the escalation via durable activity
12
- * 5. Workflow continues with the clean resolver payload
13
- *
14
- * This demonstrates the lightweight alternative to the certified
15
- * interceptor pattern — same escalation UX, simpler wiring.
16
- */
17
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
18
- if (k2 === undefined) k2 = k;
19
- var desc = Object.getOwnPropertyDescriptor(m, k);
20
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
21
- desc = { enumerable: true, get: function() { return m[k]; } };
22
- }
23
- Object.defineProperty(o, k2, desc);
24
- }) : (function(o, m, k, k2) {
25
- if (k2 === undefined) k2 = k;
26
- o[k2] = m[k];
27
- }));
28
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
29
- Object.defineProperty(o, "default", { enumerable: true, value: v });
30
- }) : function(o, v) {
31
- o["default"] = v;
32
- });
33
- var __importStar = (this && this.__importStar) || (function () {
34
- var ownKeys = function(o) {
35
- ownKeys = Object.getOwnPropertyNames || function (o) {
36
- var ar = [];
37
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
38
- return ar;
39
- };
40
- return ownKeys(o);
41
- };
42
- return function (mod) {
43
- if (mod && mod.__esModule) return mod;
44
- var result = {};
45
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
46
- __setModuleDefault(result, mod);
47
- return result;
48
- };
49
- })();
50
- Object.defineProperty(exports, "__esModule", { value: true });
51
- exports.basicSignal = basicSignal;
52
- const hotmesh_1 = require("@hotmeshio/hotmesh");
53
- const condition_1 = require("../../../services/orchestrator/condition");
54
- const interceptorActivities = __importStar(require("../../../services/interceptor/activities"));
55
- const activities = __importStar(require("./activities"));
56
- const LT_ACTIVITY_QUEUE = 'lt-interceptor';
57
- async function basicSignal(envelope) {
58
- const { message = 'Please review and approve.', role = 'reviewer' } = envelope.data;
59
- const { ltCreateEscalation } = hotmesh_1.Durable.workflow.proxyActivities({
60
- activities: interceptorActivities,
61
- taskQueue: LT_ACTIVITY_QUEUE,
62
- retry: { maximumAttempts: 3 },
63
- });
64
- const { processApproval } = hotmesh_1.Durable.workflow.proxyActivities({
65
- activities,
66
- });
67
- const ctx = hotmesh_1.Durable.workflow.workflowInfo();
68
- const signalId = `approval-${ctx.workflowId}`;
69
- // Create escalation with signal_id — dashboard knows to signal, not re-run.
70
- //
71
- // The resolver_schema registered in the workflow config provides the
72
- // default form. To override per-instance, pass metadata.form_schema:
73
- //
74
- // metadata: {
75
- // signal_id: signalId,
76
- // form_schema: {
77
- // properties: {
78
- // approved: { type: 'boolean', default: false, description: 'Approve?' },
79
- // notes: { type: 'string', default: '', description: 'Reviewer notes' },
80
- // environment: { type: 'string', enum: ['staging', 'production'] },
81
- // api_key: { type: 'string', format: 'password', description: 'Deploy key (ephemeral)' },
82
- // confidence: { type: 'number', default: 0, description: 'Confidence 0-1' },
83
- // },
84
- // },
85
- // },
86
- //
87
- // When form_schema is present it overrides the workflow config's
88
- // resolver_schema for this specific escalation instance.
89
- await ltCreateEscalation({
90
- type: 'signal-approval',
91
- subtype: 'basic-signal',
92
- description: message,
93
- role,
94
- envelope: JSON.stringify(envelope),
95
- workflowId: ctx.workflowId,
96
- workflowType: 'basicSignal',
97
- taskQueue: ctx.taskQueue,
98
- metadata: {
99
- signal_id: signalId,
100
- // No form_schema here — the workflow config's resolver_schema is used.
101
- // Pass form_schema to override per-instance (see comment above).
102
- },
103
- });
104
- // Pause — conditionLT handles $escalation_id stripping and resolution
105
- const decision = await (0, condition_1.conditionLT)(signalId);
106
- // Continue with the clean resolver payload
107
- const result = await processApproval({
108
- approved: decision.approved,
109
- notes: decision.notes || '',
110
- message,
111
- });
112
- return {
113
- type: 'return',
114
- data: result,
115
- };
116
- }
@@ -1,40 +0,0 @@
1
- /**
2
- * Kitchen Sink Activities
3
- *
4
- * Each function is a side effect wrapped as a durable activity.
5
- * When proxied via Durable.workflow.proxyActivities(), each call
6
- * becomes a checkpointed step — cached on replay, retried on failure.
7
- *
8
- * Use these as a starting point for your own activities.
9
- */
10
- /** Simple greeting — the most basic activity possible. */
11
- export declare function greet(name: string): Promise<string>;
12
- /** Simulate an API call that fetches data from an external source. */
13
- export declare function fetchData(key: string): Promise<{
14
- key: string;
15
- value: string;
16
- fetchedAt: string;
17
- }>;
18
- /** Transform and merge data from multiple sources. */
19
- export declare function transformData(input: {
20
- greeting: string;
21
- dataA: {
22
- key: string;
23
- value: string;
24
- };
25
- dataB: {
26
- key: string;
27
- value: string;
28
- };
29
- }): Promise<{
30
- summary: string;
31
- merged: Record<string, string>;
32
- }>;
33
- /** Simulate sending a notification (email, Slack, webhook, etc). */
34
- export declare function notifyComplete(summary: {
35
- status: string;
36
- result: any;
37
- }): Promise<{
38
- notified: boolean;
39
- timestamp: string;
40
- }>;
@@ -1,46 +0,0 @@
1
- "use strict";
2
- /**
3
- * Kitchen Sink Activities
4
- *
5
- * Each function is a side effect wrapped as a durable activity.
6
- * When proxied via Durable.workflow.proxyActivities(), each call
7
- * becomes a checkpointed step — cached on replay, retried on failure.
8
- *
9
- * Use these as a starting point for your own activities.
10
- */
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.greet = greet;
13
- exports.fetchData = fetchData;
14
- exports.transformData = transformData;
15
- exports.notifyComplete = notifyComplete;
16
- /** Simple greeting — the most basic activity possible. */
17
- async function greet(name) {
18
- return `Hello, ${name}!`;
19
- }
20
- /** Simulate an API call that fetches data from an external source. */
21
- async function fetchData(key) {
22
- // In production, this would call a real API.
23
- return {
24
- key,
25
- value: `data-for-${key}`,
26
- fetchedAt: new Date().toISOString(),
27
- };
28
- }
29
- /** Transform and merge data from multiple sources. */
30
- async function transformData(input) {
31
- return {
32
- summary: `${input.greeting} Merged ${input.dataA.key} + ${input.dataB.key}.`,
33
- merged: {
34
- [input.dataA.key]: input.dataA.value,
35
- [input.dataB.key]: input.dataB.value,
36
- },
37
- };
38
- }
39
- /** Simulate sending a notification (email, Slack, webhook, etc). */
40
- async function notifyComplete(summary) {
41
- // In production, this would call a notification service.
42
- return {
43
- notified: true,
44
- timestamp: new Date().toISOString(),
45
- };
46
- }
@@ -1,22 +0,0 @@
1
- /**
2
- * Kitchen Sink Workflow
3
- *
4
- * Demonstrates every Durable primitive in one workflow:
5
- *
6
- * 1. proxyActivities — turn functions into durable, checkpointed steps
7
- * 2. Activity calls — each call is cached on replay (deterministic)
8
- * 3. Sleep — durable timer that survives process crashes
9
- * 4. Parallel calls — Promise.all with multiple activities
10
- * 5. waitFor — pause until an external signal arrives
11
- * 6. Conditional flow — branch based on signal data
12
- *
13
- * Use this as a copy-paste starting point for your own workflows.
14
- *
15
- * Structure:
16
- * examples/workflows/kitchen-sink/
17
- * ├── activities.ts ← side-effect functions (API calls, DB writes, etc.)
18
- * ├── index.ts ← this file (the workflow — must be deterministic)
19
- * └── orchestrator.ts ← entry point wrapper using executeLT
20
- */
21
- import type { LTEnvelope } from '../../../types';
22
- export declare function kitchenSink(envelope: LTEnvelope): Promise<any>;
@@ -1,123 +0,0 @@
1
- "use strict";
2
- /**
3
- * Kitchen Sink Workflow
4
- *
5
- * Demonstrates every Durable primitive in one workflow:
6
- *
7
- * 1. proxyActivities — turn functions into durable, checkpointed steps
8
- * 2. Activity calls — each call is cached on replay (deterministic)
9
- * 3. Sleep — durable timer that survives process crashes
10
- * 4. Parallel calls — Promise.all with multiple activities
11
- * 5. waitFor — pause until an external signal arrives
12
- * 6. Conditional flow — branch based on signal data
13
- *
14
- * Use this as a copy-paste starting point for your own workflows.
15
- *
16
- * Structure:
17
- * examples/workflows/kitchen-sink/
18
- * ├── activities.ts ← side-effect functions (API calls, DB writes, etc.)
19
- * ├── index.ts ← this file (the workflow — must be deterministic)
20
- * └── orchestrator.ts ← entry point wrapper using executeLT
21
- */
22
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
23
- if (k2 === undefined) k2 = k;
24
- var desc = Object.getOwnPropertyDescriptor(m, k);
25
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
26
- desc = { enumerable: true, get: function() { return m[k]; } };
27
- }
28
- Object.defineProperty(o, k2, desc);
29
- }) : (function(o, m, k, k2) {
30
- if (k2 === undefined) k2 = k;
31
- o[k2] = m[k];
32
- }));
33
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
34
- Object.defineProperty(o, "default", { enumerable: true, value: v });
35
- }) : function(o, v) {
36
- o["default"] = v;
37
- });
38
- var __importStar = (this && this.__importStar) || (function () {
39
- var ownKeys = function(o) {
40
- ownKeys = Object.getOwnPropertyNames || function (o) {
41
- var ar = [];
42
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
43
- return ar;
44
- };
45
- return ownKeys(o);
46
- };
47
- return function (mod) {
48
- if (mod && mod.__esModule) return mod;
49
- var result = {};
50
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
51
- __setModuleDefault(result, mod);
52
- return result;
53
- };
54
- })();
55
- Object.defineProperty(exports, "__esModule", { value: true });
56
- exports.kitchenSink = kitchenSink;
57
- const hotmesh_1 = require("@hotmeshio/hotmesh");
58
- const activities = __importStar(require("./activities"));
59
- const { greet, fetchData, transformData, notifyComplete } = hotmesh_1.Durable.workflow.proxyActivities({
60
- activities,
61
- retry: {
62
- maximumAttempts: 3,
63
- backoffCoefficient: 2,
64
- maximumInterval: '10 seconds',
65
- },
66
- });
67
- // ── Workflow function ───────────────────────────────────────────────────────
68
- async function kitchenSink(envelope) {
69
- const { name = 'World', mode = 'full' } = envelope.data;
70
- // ── 1. Activity call ──────────────────────────────────────────────────
71
- // Each proxied call is a durable checkpoint. If the process crashes after
72
- // this completes, the cached result is replayed — the function isn't re-run.
73
- const greeting = await greet(name);
74
- // ── 2. Durable sleep ──────────────────────────────────────────────────
75
- // Survives crashes. If the process restarts during the sleep, it resumes
76
- // where it left off — no drift, no double-execution.
77
- await hotmesh_1.Durable.workflow.sleep('2 seconds');
78
- // ── 3. Parallel activities ────────────────────────────────────────────
79
- // Promise.all works naturally. Both activities run concurrently and each
80
- // is independently checkpointed.
81
- const [dataA, dataB] = await Promise.all([
82
- fetchData('source-a'),
83
- fetchData('source-b'),
84
- ]);
85
- // ── 4. Transform (another activity) ──────────────────────────────────
86
- const result = await transformData({ greeting, dataA, dataB });
87
- // ── 5. Quick mode: skip signal wait ───────────────────────────────────
88
- if (mode === 'quick') {
89
- await notifyComplete({ status: 'auto-approved', result });
90
- return {
91
- type: 'return',
92
- data: { greeting, result, mode, completedAt: new Date().toISOString() },
93
- };
94
- }
95
- // ── 6. Escalation ────────────────────────────────────────────────────
96
- // Return type 'escalation' to pause and wait for human input.
97
- // The interceptor creates an escalation record in the database.
98
- // When the operator resolves it, the workflow is re-run with
99
- // envelope.resolver containing their decision.
100
- if (!envelope.resolver) {
101
- return {
102
- type: 'escalation',
103
- data: { greeting, result },
104
- message: `Kitchen sink workflow needs approval (name: ${name})`,
105
- role: 'reviewer',
106
- };
107
- }
108
- // ── 7. Re-entry after human resolution ────────────────────────────────
109
- // envelope.resolver contains the operator's payload from the dashboard.
110
- // No resolver_schema is defined for this workflow — any response from
111
- // the human (or triage) means "approved". The workflow completes.
112
- await notifyComplete({ status: 'approved', result });
113
- return {
114
- type: 'return',
115
- data: {
116
- greeting,
117
- result,
118
- resolver: envelope.resolver,
119
- approved: true,
120
- completedAt: new Date().toISOString(),
121
- },
122
- };
123
- }
@@ -1,10 +0,0 @@
1
- import type { ReviewAnalysis } from './types';
2
- /**
3
- * Simulates AI content analysis. In production, this would call
4
- * an LLM or classification model to analyze the content.
5
- *
6
- * The activity interceptor creates an 'llm' milestone in the
7
- * "before" phase when this activity is invoked (configured via
8
- * the milestones mapping passed to createLTActivityInterceptor).
9
- */
10
- export declare function analyzeContent(content: string, contentType?: string): Promise<ReviewAnalysis>;
@@ -1,44 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.analyzeContent = analyzeContent;
4
- /**
5
- * Simulates AI content analysis. In production, this would call
6
- * an LLM or classification model to analyze the content.
7
- *
8
- * The activity interceptor creates an 'llm' milestone in the
9
- * "before" phase when this activity is invoked (configured via
10
- * the milestones mapping passed to createLTActivityInterceptor).
11
- */
12
- async function analyzeContent(content, contentType) {
13
- // Simulate analysis latency
14
- await new Promise((resolve) => setTimeout(resolve, 100));
15
- const flags = [];
16
- let confidence = 0.95;
17
- const text = content ?? '';
18
- // Simple heuristic simulation
19
- if (text.length < 10) {
20
- flags.push('too_short');
21
- confidence -= 0.3;
22
- }
23
- if (text.includes('REVIEW_ME')) {
24
- flags.push('manual_review_requested');
25
- confidence = 0.1;
26
- }
27
- if (text.includes('ERROR')) {
28
- flags.push('error_detected');
29
- confidence -= 0.4;
30
- }
31
- if (text.includes('WRONG_LANGUAGE')) {
32
- flags.push('wrong_language');
33
- confidence = 0.15;
34
- }
35
- const approved = confidence > 0.85 && flags.length === 0;
36
- return {
37
- approved,
38
- confidence: Math.max(0, Math.min(1, confidence)),
39
- flags,
40
- summary: flags.length
41
- ? `Content flagged: ${flags.join(', ')}`
42
- : 'Content approved by AI analysis',
43
- };
44
- }
@@ -1,10 +0,0 @@
1
- import type { LTEnvelope } from '../../../types';
2
- import type { ReviewContentReturn, ReviewContentEscalation } from './types';
3
- /**
4
- * Review Content workflow.
5
- *
6
- * Analyzes content using AI. If confidence is high, auto-approves.
7
- * If confidence is low (or flags are raised), escalates to a human reviewer.
8
- * On re-run after human resolution, returns the resolver data directly.
9
- */
10
- export declare function reviewContent(envelope: LTEnvelope): Promise<ReviewContentReturn | ReviewContentEscalation>;
@@ -1,95 +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.reviewContent = reviewContent;
37
- const hotmesh_1 = require("@hotmeshio/hotmesh");
38
- const activities = __importStar(require("./activities"));
39
- const { analyzeContent } = hotmesh_1.Durable.workflow.proxyActivities({
40
- activities,
41
- });
42
- const CONFIDENCE_THRESHOLD = 0.85;
43
- /**
44
- * Review Content workflow.
45
- *
46
- * Analyzes content using AI. If confidence is high, auto-approves.
47
- * If confidence is low (or flags are raised), escalates to a human reviewer.
48
- * On re-run after human resolution, returns the resolver data directly.
49
- */
50
- async function reviewContent(envelope) {
51
- const { contentId, content, contentType } = envelope.data;
52
- // If this is a re-run with human-provided resolver data, return it
53
- if (envelope.resolver) {
54
- return {
55
- type: 'return',
56
- milestones: [
57
- { name: 'ai_review', value: 'escalated' },
58
- { name: 'resolved_by_human', value: true },
59
- ],
60
- data: {
61
- contentId,
62
- ...envelope.resolver,
63
- },
64
- };
65
- }
66
- // Step 1: AI analysis (activity interceptor creates 'llm' milestone before this runs)
67
- const analysis = await analyzeContent(content, contentType);
68
- // Step 2: Confidence check
69
- if (analysis.confidence >= CONFIDENCE_THRESHOLD && analysis.approved) {
70
- return {
71
- type: 'return',
72
- milestones: [
73
- { name: 'llm', value: 'content_analysis' },
74
- { name: 'ai_review', value: 'approved' },
75
- { name: 'confidence', value: analysis.confidence },
76
- ],
77
- data: {
78
- contentId,
79
- approved: true,
80
- analysis,
81
- },
82
- };
83
- }
84
- // Step 3: Escalate to human
85
- return {
86
- type: 'escalation',
87
- data: {
88
- contentId,
89
- content,
90
- analysis,
91
- },
92
- message: `Content review needed (confidence: ${analysis.confidence}, flags: ${analysis.flags.join(', ') || 'none'})`,
93
- role: 'reviewer',
94
- };
95
- }
@@ -1,28 +0,0 @@
1
- import type { LTReturn, LTEscalation } from '../../../types';
2
- export interface ReviewContentInput {
3
- contentId: string;
4
- content: string;
5
- contentType?: string;
6
- }
7
- export interface ReviewAnalysis {
8
- approved: boolean;
9
- confidence: number;
10
- flags: string[];
11
- summary: string;
12
- }
13
- export interface ReviewContentReturnData {
14
- contentId: string;
15
- approved: boolean;
16
- analysis: ReviewAnalysis;
17
- }
18
- export interface ReviewContentReturn extends LTReturn {
19
- data: ReviewContentReturnData;
20
- }
21
- export interface ReviewContentEscalationData {
22
- contentId: string;
23
- content: string;
24
- analysis: ReviewAnalysis;
25
- }
26
- export interface ReviewContentEscalation extends LTEscalation {
27
- data: ReviewContentEscalationData;
28
- }
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });