@hotmeshio/long-tail 0.17.2 → 0.18.1

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 (275) hide show
  1. package/build/api/escalations/index.d.ts +1 -0
  2. package/build/api/escalations/index.js +5 -1
  3. package/build/api/escalations/resolve-batch.d.ts +58 -0
  4. package/build/api/escalations/resolve-batch.js +247 -0
  5. package/build/api/escalations/resolve.d.ts +11 -0
  6. package/build/api/escalations/resolve.js +2 -0
  7. package/build/api/settings.js +2 -0
  8. package/build/index.js +6 -0
  9. package/build/lib/events/publish.d.ts +1 -1
  10. package/build/modules/search.d.ts +21 -0
  11. package/build/modules/search.js +55 -0
  12. package/build/routes/escalations/metadata.js +19 -0
  13. package/build/routes/escalations/resolve.js +41 -0
  14. package/build/sdk/index.d.ts +21 -0
  15. package/build/sdk/index.js +3 -0
  16. package/build/services/escalation/batch.d.ts +38 -0
  17. package/build/services/escalation/batch.js +85 -0
  18. package/build/services/escalation/crud.d.ts +7 -0
  19. package/build/services/escalation/crud.js +1 -0
  20. package/build/services/escalation/index.d.ts +1 -0
  21. package/build/services/escalation/index.js +1 -0
  22. package/build/services/orchestrator/condition.d.ts +28 -0
  23. package/build/services/orchestrator/condition.js +28 -0
  24. package/build/services/role/types.d.ts +18 -0
  25. package/build/services/role/types.js +6 -0
  26. package/build/start/adapters.js +2 -0
  27. package/build/system/mcp-servers/human-queue-schemas.d.ts +13 -0
  28. package/build/system/mcp-servers/human-queue-schemas.js +6 -1
  29. package/build/system/mcp-servers/human-queue.d.ts +3 -1
  30. package/build/system/mcp-servers/human-queue.js +38 -2
  31. package/build/tsconfig.tsbuildinfo +1 -1
  32. package/build/types/escalation.d.ts +24 -0
  33. package/build/types/escalation.js +18 -1
  34. package/build/types/events.d.ts +1 -1
  35. package/build/types/index.d.ts +2 -2
  36. package/build/types/index.js +2 -1
  37. package/build/types/startup.d.ts +12 -1
  38. package/dashboard/dist/assets/{AdminDashboard-B_AVB7tk.js → AdminDashboard-DDY8bceq.js} +2 -2
  39. package/dashboard/dist/assets/{AdminDashboard-B_AVB7tk.js.map → AdminDashboard-DDY8bceq.js.map} +1 -1
  40. package/dashboard/dist/assets/{AgentConfigPage-JoZko3JB.js → AgentConfigPage-D47sHnup.js} +6 -6
  41. package/dashboard/dist/assets/{AgentConfigPage-JoZko3JB.js.map → AgentConfigPage-D47sHnup.js.map} +1 -1
  42. package/dashboard/dist/assets/{AgentDetailPage-DfpR2Fgg.js → AgentDetailPage-DwrfByA2.js} +2 -2
  43. package/dashboard/dist/assets/{AgentDetailPage-DfpR2Fgg.js.map → AgentDetailPage-DwrfByA2.js.map} +1 -1
  44. package/dashboard/dist/assets/{AgentsPage-F2ixDk1Q.js → AgentsPage-CLSjlyXy.js} +2 -2
  45. package/dashboard/dist/assets/{AgentsPage-F2ixDk1Q.js.map → AgentsPage-CLSjlyXy.js.map} +1 -1
  46. package/dashboard/dist/assets/AvailableEscalationsPage-D2ukvuQh.js +2 -0
  47. package/dashboard/dist/assets/AvailableEscalationsPage-D2ukvuQh.js.map +1 -0
  48. package/dashboard/dist/assets/{BotPicker-B8Yal8Mm.js → BotPicker-CbL7gQFq.js} +2 -2
  49. package/dashboard/dist/assets/{BotPicker-B8Yal8Mm.js.map → BotPicker-CbL7gQFq.js.map} +1 -1
  50. package/dashboard/dist/assets/BulkAssignModal-CMSgvHIs.js +2 -0
  51. package/dashboard/dist/assets/{BulkAssignModal-ySfoaF7f.js.map → BulkAssignModal-CMSgvHIs.js.map} +1 -1
  52. package/dashboard/dist/assets/CapabilitiesPage-Q9Pe0y_p.js +2 -0
  53. package/dashboard/dist/assets/{CapabilitiesPage-BSJ2oFj6.js.map → CapabilitiesPage-Q9Pe0y_p.js.map} +1 -1
  54. package/dashboard/dist/assets/{CollapsibleSection-CcV88IUy.js → CollapsibleSection-BZOtaWPR.js} +2 -2
  55. package/dashboard/dist/assets/{CollapsibleSection-CcV88IUy.js.map → CollapsibleSection-BZOtaWPR.js.map} +1 -1
  56. package/dashboard/dist/assets/{ConfirmDeleteModal-CQsJUzEa.js → ConfirmDeleteModal-6CidwpPx.js} +2 -2
  57. package/dashboard/dist/assets/{ConfirmDeleteModal-CQsJUzEa.js.map → ConfirmDeleteModal-6CidwpPx.js.map} +1 -1
  58. package/dashboard/dist/assets/CountdownTimer-B5lM7PfE.js +2 -0
  59. package/dashboard/dist/assets/{CountdownTimer-C-E9MXMk.js.map → CountdownTimer-B5lM7PfE.js.map} +1 -1
  60. package/dashboard/dist/assets/CredentialsPage-dxjrUEyO.js +2 -0
  61. package/dashboard/dist/assets/{CredentialsPage-DrydlZ65.js.map → CredentialsPage-dxjrUEyO.js.map} +1 -1
  62. package/dashboard/dist/assets/{CronLabel-BxQmJXos.js → CronLabel-D8oo8eaA.js} +2 -2
  63. package/dashboard/dist/assets/{CronLabel-BxQmJXos.js.map → CronLabel-D8oo8eaA.js.map} +1 -1
  64. package/dashboard/dist/assets/{DropZone-Pv-v5RAs.js → DropZone-CWCh5ItZ.js} +2 -2
  65. package/dashboard/dist/assets/{DropZone-Pv-v5RAs.js.map → DropZone-CWCh5ItZ.js.map} +1 -1
  66. package/dashboard/dist/assets/{ElapsedCell-lszUXiyP.js → ElapsedCell-FHHQ69G3.js} +2 -2
  67. package/dashboard/dist/assets/{ElapsedCell-lszUXiyP.js.map → ElapsedCell-FHHQ69G3.js.map} +1 -1
  68. package/dashboard/dist/assets/EntityTimelinePanel-B5NuHnPF.js +2 -0
  69. package/dashboard/dist/assets/{EntityTimelinePanel-CwzIV87U.js.map → EntityTimelinePanel-B5NuHnPF.js.map} +1 -1
  70. package/dashboard/dist/assets/{EscalationListSchemaPage-D16uUVcG.js → EscalationListSchemaPage-D5L5lDNb.js} +3 -3
  71. package/dashboard/dist/assets/{EscalationListSchemaPage-D16uUVcG.js.map → EscalationListSchemaPage-D5L5lDNb.js.map} +1 -1
  72. package/dashboard/dist/assets/{EscalationSchemaPage-BLM3dUEw.js → EscalationSchemaPage-bYbfEpSB.js} +3 -3
  73. package/dashboard/dist/assets/{EscalationSchemaPage-BLM3dUEw.js.map → EscalationSchemaPage-bYbfEpSB.js.map} +1 -1
  74. package/dashboard/dist/assets/{EscalationsOverview-BlFjoKlR.js → EscalationsOverview-DjtIjL1b.js} +2 -2
  75. package/dashboard/dist/assets/{EscalationsOverview-BlFjoKlR.js.map → EscalationsOverview-DjtIjL1b.js.map} +1 -1
  76. package/dashboard/dist/assets/{EventTable-rTkMR8Zf.js → EventTable-CihVTREC.js} +2 -2
  77. package/dashboard/dist/assets/{EventTable-rTkMR8Zf.js.map → EventTable-CihVTREC.js.map} +1 -1
  78. package/dashboard/dist/assets/{FilterBar-BeVBUdfJ.js → FilterBar-Fin1IqHc.js} +2 -2
  79. package/dashboard/dist/assets/{FilterBar-BeVBUdfJ.js.map → FilterBar-Fin1IqHc.js.map} +1 -1
  80. package/dashboard/dist/assets/GraphInvokePage-D77ILPd3.js +2 -0
  81. package/dashboard/dist/assets/{GraphInvokePage-BV60xkVy.js.map → GraphInvokePage-D77ILPd3.js.map} +1 -1
  82. package/dashboard/dist/assets/HomePage-8XsQFqKL.js +2 -0
  83. package/dashboard/dist/assets/{HomePage-BA0RYzFc.js.map → HomePage-8XsQFqKL.js.map} +1 -1
  84. package/dashboard/dist/assets/{ListToolbar-4IfsUXfV.js → ListToolbar-DyHaJBTk.js} +2 -2
  85. package/dashboard/dist/assets/{ListToolbar-4IfsUXfV.js.map → ListToolbar-DyHaJBTk.js.map} +1 -1
  86. package/dashboard/dist/assets/{McpOverview-gDegMXvF.js → McpOverview-qz7Ivf0G.js} +2 -2
  87. package/dashboard/dist/assets/{McpOverview-gDegMXvF.js.map → McpOverview-qz7Ivf0G.js.map} +1 -1
  88. package/dashboard/dist/assets/{McpQueryDetailPage-CnCffPks.js → McpQueryDetailPage-D6MB4CZM.js} +3 -3
  89. package/dashboard/dist/assets/{McpQueryDetailPage-CnCffPks.js.map → McpQueryDetailPage-D6MB4CZM.js.map} +1 -1
  90. package/dashboard/dist/assets/McpQueryPage-BqqRF5cQ.js +2 -0
  91. package/dashboard/dist/assets/{McpQueryPage-CLEMtLOG.js.map → McpQueryPage-BqqRF5cQ.js.map} +1 -1
  92. package/dashboard/dist/assets/{McpRunDetailPage-tr-lrWVv.js → McpRunDetailPage-DxLEhzhn.js} +2 -2
  93. package/dashboard/dist/assets/{McpRunDetailPage-tr-lrWVv.js.map → McpRunDetailPage-DxLEhzhn.js.map} +1 -1
  94. package/dashboard/dist/assets/{McpRunsPage-nE0d_1Px.js → McpRunsPage-BOsS4Hdf.js} +2 -2
  95. package/dashboard/dist/assets/{McpRunsPage-nE0d_1Px.js.map → McpRunsPage-BOsS4Hdf.js.map} +1 -1
  96. package/dashboard/dist/assets/{NamespacePill-DONj6eUU.js → NamespacePill-CJikgGzE.js} +2 -2
  97. package/dashboard/dist/assets/{NamespacePill-DONj6eUU.js.map → NamespacePill-CJikgGzE.js.map} +1 -1
  98. package/dashboard/dist/assets/{OperationsPage-C8h1DN5Q.js → OperationsPage-Cj1mJLMC.js} +3 -3
  99. package/dashboard/dist/assets/{OperationsPage-C8h1DN5Q.js.map → OperationsPage-Cj1mJLMC.js.map} +1 -1
  100. package/dashboard/dist/assets/OperatorDashboard-C5rlijvh.js +2 -0
  101. package/dashboard/dist/assets/{OperatorDashboard-DCG8BFKE.js.map → OperatorDashboard-C5rlijvh.js.map} +1 -1
  102. package/dashboard/dist/assets/{PageHeader-CFVw67M6.js → PageHeader-DZmymFBS.js} +2 -2
  103. package/dashboard/dist/assets/{PageHeader-CFVw67M6.js.map → PageHeader-DZmymFBS.js.map} +1 -1
  104. package/dashboard/dist/assets/{PageHeaderWithStats-D9tQxILm.js → PageHeaderWithStats-DuAm6YK2.js} +2 -2
  105. package/dashboard/dist/assets/{PageHeaderWithStats-D9tQxILm.js.map → PageHeaderWithStats-DuAm6YK2.js.map} +1 -1
  106. package/dashboard/dist/assets/PersonaDetailPage-JBdVvT5g.js +2 -0
  107. package/dashboard/dist/assets/{PersonaDetailPage-BEVeJr1q.js.map → PersonaDetailPage-JBdVvT5g.js.map} +1 -1
  108. package/dashboard/dist/assets/PersonasPage-Xp_Gt6El.js +2 -0
  109. package/dashboard/dist/assets/{PersonasPage-B5fj2AK6.js.map → PersonasPage-Xp_Gt6El.js.map} +1 -1
  110. package/dashboard/dist/assets/{ProcessDetailPage-CWGby6KD.js → ProcessDetailPage-CHnzOzQn.js} +2 -2
  111. package/dashboard/dist/assets/{ProcessDetailPage-CWGby6KD.js.map → ProcessDetailPage-CHnzOzQn.js.map} +1 -1
  112. package/dashboard/dist/assets/{ProcessesListPage-nFdLMlfb.js → ProcessesListPage-DuXTS5-v.js} +2 -2
  113. package/dashboard/dist/assets/{ProcessesListPage-nFdLMlfb.js.map → ProcessesListPage-DuXTS5-v.js.map} +1 -1
  114. package/dashboard/dist/assets/RoleDetailPage-C9GGHNf4.js +8 -0
  115. package/dashboard/dist/assets/RoleDetailPage-C9GGHNf4.js.map +1 -0
  116. package/dashboard/dist/assets/{RolePill-Di_5hfvw.js → RolePill-C9LSs1aK.js} +2 -2
  117. package/dashboard/dist/assets/{RolePill-Di_5hfvw.js.map → RolePill-C9LSs1aK.js.map} +1 -1
  118. package/dashboard/dist/assets/RolesPage-h77-JOLd.js +2 -0
  119. package/dashboard/dist/assets/{RolesPage-DwprdPCA.js.map → RolesPage-h77-JOLd.js.map} +1 -1
  120. package/dashboard/dist/assets/{RunAsSelector-DGw9EKSR.js → RunAsSelector-DoLFJ0mZ.js} +2 -2
  121. package/dashboard/dist/assets/{RunAsSelector-DGw9EKSR.js.map → RunAsSelector-DoLFJ0mZ.js.map} +1 -1
  122. package/dashboard/dist/assets/{ScanCodesPage-RPi4qZ_l.js → ScanCodesPage-b5NZM_-f.js} +2 -2
  123. package/dashboard/dist/assets/{ScanCodesPage-RPi4qZ_l.js.map → ScanCodesPage-b5NZM_-f.js.map} +1 -1
  124. package/dashboard/dist/assets/ScanSchemeDetailPage-t7X6ekaW.js +2 -0
  125. package/dashboard/dist/assets/{ScanSchemeDetailPage-BKc4lUjc.js.map → ScanSchemeDetailPage-t7X6ekaW.js.map} +1 -1
  126. package/dashboard/dist/assets/ScanStationPage-r02hkTAG.js +2 -0
  127. package/dashboard/dist/assets/{ScanStationPage-DUfxcntB.js.map → ScanStationPage-r02hkTAG.js.map} +1 -1
  128. package/dashboard/dist/assets/{ScopeBadge-CqIIeWjK.js → ScopeBadge-CjyC7iyO.js} +2 -2
  129. package/dashboard/dist/assets/{ScopeBadge-CqIIeWjK.js.map → ScopeBadge-CjyC7iyO.js.map} +1 -1
  130. package/dashboard/dist/assets/{StickyPagination-DXOk5z5X.js → StickyPagination-BGHQbp0_.js} +2 -2
  131. package/dashboard/dist/assets/{StickyPagination-DXOk5z5X.js.map → StickyPagination-BGHQbp0_.js.map} +1 -1
  132. package/dashboard/dist/assets/{StreamMessageDetail-BB1h2zZN.js → StreamMessageDetail-C-wfdbLJ.js} +2 -2
  133. package/dashboard/dist/assets/{StreamMessageDetail-BB1h2zZN.js.map → StreamMessageDetail-C-wfdbLJ.js.map} +1 -1
  134. package/dashboard/dist/assets/{SwimlaneTimeline-CapKokLg.js → SwimlaneTimeline-Dnoz-me3.js} +2 -2
  135. package/dashboard/dist/assets/{SwimlaneTimeline-CapKokLg.js.map → SwimlaneTimeline-Dnoz-me3.js.map} +1 -1
  136. package/dashboard/dist/assets/{TagInput-BLwxTNsI.js → TagInput-D-vLSMQC.js} +2 -2
  137. package/dashboard/dist/assets/{TagInput-BLwxTNsI.js.map → TagInput-D-vLSMQC.js.map} +1 -1
  138. package/dashboard/dist/assets/{TaskDetailPage-Dfzdp97x.js → TaskDetailPage-c9IiAhVJ.js} +2 -2
  139. package/dashboard/dist/assets/{TaskDetailPage-Dfzdp97x.js.map → TaskDetailPage-c9IiAhVJ.js.map} +1 -1
  140. package/dashboard/dist/assets/{TaskQueuePill-DVgcqd-h.js → TaskQueuePill-sFRMrQ5D.js} +2 -2
  141. package/dashboard/dist/assets/{TaskQueuePill-DVgcqd-h.js.map → TaskQueuePill-sFRMrQ5D.js.map} +1 -1
  142. package/dashboard/dist/assets/{TasksListPage-DxlS7PTD.js → TasksListPage-Dor8LSc5.js} +2 -2
  143. package/dashboard/dist/assets/{TasksListPage-DxlS7PTD.js.map → TasksListPage-Dor8LSc5.js.map} +1 -1
  144. package/dashboard/dist/assets/{TimeAgo-Bv5viQ1m.js → TimeAgo-Dd8vmRnM.js} +2 -2
  145. package/dashboard/dist/assets/{TimeAgo-Bv5viQ1m.js.map → TimeAgo-Dd8vmRnM.js.map} +1 -1
  146. package/dashboard/dist/assets/{TimestampCell-DXNBf_eb.js → TimestampCell-qJfC6-iT.js} +2 -2
  147. package/dashboard/dist/assets/{TimestampCell-DXNBf_eb.js.map → TimestampCell-qJfC6-iT.js.map} +1 -1
  148. package/dashboard/dist/assets/{ToolPill-C6hkOqPx.js → ToolPill-OQ3mC11d.js} +2 -2
  149. package/dashboard/dist/assets/{ToolPill-C6hkOqPx.js.map → ToolPill-OQ3mC11d.js.map} +1 -1
  150. package/dashboard/dist/assets/{ToolTestPanel-f32mir7Q.js → ToolTestPanel-CEGY5jss.js} +2 -2
  151. package/dashboard/dist/assets/{ToolTestPanel-f32mir7Q.js.map → ToolTestPanel-CEGY5jss.js.map} +1 -1
  152. package/dashboard/dist/assets/{TopicDetailPage-D-N8Vsd4.js → TopicDetailPage-SI80ZTVv.js} +3 -3
  153. package/dashboard/dist/assets/{TopicDetailPage-D-N8Vsd4.js.map → TopicDetailPage-SI80ZTVv.js.map} +1 -1
  154. package/dashboard/dist/assets/{TopicsPage-hqlu32wg.js → TopicsPage-DiVB8tNr.js} +2 -2
  155. package/dashboard/dist/assets/{TopicsPage-hqlu32wg.js.map → TopicsPage-DiVB8tNr.js.map} +1 -1
  156. package/dashboard/dist/assets/UserName-Dmm456xT.js +2 -0
  157. package/dashboard/dist/assets/{UserName-BhA_ItNN.js.map → UserName-Dmm456xT.js.map} +1 -1
  158. package/dashboard/dist/assets/{WorkflowExecutionPage-BAgMKnhe.js → WorkflowExecutionPage-e-Q57yiJ.js} +2 -2
  159. package/dashboard/dist/assets/{WorkflowExecutionPage-BAgMKnhe.js.map → WorkflowExecutionPage-e-Q57yiJ.js.map} +1 -1
  160. package/dashboard/dist/assets/{WorkflowPill-CN-952iI.js → WorkflowPill-Dh3hIW1l.js} +2 -2
  161. package/dashboard/dist/assets/{WorkflowPill-CN-952iI.js.map → WorkflowPill-Dh3hIW1l.js.map} +1 -1
  162. package/dashboard/dist/assets/{WorkflowsDashboard-B2wYT_hj.js → WorkflowsDashboard-DLKzN80h.js} +2 -2
  163. package/dashboard/dist/assets/{WorkflowsDashboard-B2wYT_hj.js.map → WorkflowsDashboard-DLKzN80h.js.map} +1 -1
  164. package/dashboard/dist/assets/{WorkflowsOverview--jC5F9lz.js → WorkflowsOverview-J-ITQiO5.js} +2 -2
  165. package/dashboard/dist/assets/{WorkflowsOverview--jC5F9lz.js.map → WorkflowsOverview-J-ITQiO5.js.map} +1 -1
  166. package/dashboard/dist/assets/{YamlWorkflowDetailPage-BdB5eX8s.js → YamlWorkflowDetailPage-B_-ahhf1.js} +11 -11
  167. package/dashboard/dist/assets/{YamlWorkflowDetailPage-BdB5eX8s.js.map → YamlWorkflowDetailPage-B_-ahhf1.js.map} +1 -1
  168. package/dashboard/dist/assets/{YamlWorkflowsPage-BUQQU9II.js → YamlWorkflowsPage-DQNeERXU.js} +2 -2
  169. package/dashboard/dist/assets/{YamlWorkflowsPage-BUQQU9II.js.map → YamlWorkflowsPage-DQNeERXU.js.map} +1 -1
  170. package/dashboard/dist/assets/{agents-BF_S1J_z.js → agents-BsJ-MizQ.js} +2 -2
  171. package/dashboard/dist/assets/{agents-BF_S1J_z.js.map → agents-BsJ-MizQ.js.map} +1 -1
  172. package/dashboard/dist/assets/{bots-CGlEoWAu.js → bots-q1UYqaIh.js} +2 -2
  173. package/dashboard/dist/assets/{bots-CGlEoWAu.js.map → bots-q1UYqaIh.js.map} +1 -1
  174. package/dashboard/dist/assets/{capabilities-Pq8pG0kX.js → capabilities-BvjPXUcJ.js} +2 -2
  175. package/dashboard/dist/assets/{capabilities-Pq8pG0kX.js.map → capabilities-BvjPXUcJ.js.map} +1 -1
  176. package/dashboard/dist/assets/{controlplane-dY6a4iYT.js → controlplane-BwlNpoJ_.js} +2 -2
  177. package/dashboard/dist/assets/{controlplane-dY6a4iYT.js.map → controlplane-BwlNpoJ_.js.map} +1 -1
  178. package/dashboard/dist/assets/escalation-columns-Bo3PfIZj.js +2 -0
  179. package/dashboard/dist/assets/{escalation-columns-CBUTda5U.js.map → escalation-columns-Bo3PfIZj.js.map} +1 -1
  180. package/dashboard/dist/assets/index-8Gmtvd8e.js +2 -0
  181. package/dashboard/dist/assets/{index-BHfISWyn.js.map → index-8Gmtvd8e.js.map} +1 -1
  182. package/dashboard/dist/assets/{index-CivQGQpu.js → index-B8JfGtQB.js} +3 -3
  183. package/dashboard/dist/assets/{index-CivQGQpu.js.map → index-B8JfGtQB.js.map} +1 -1
  184. package/dashboard/dist/assets/index-Bb9ZZUyB.js +5 -0
  185. package/dashboard/dist/assets/{index-BTksPQZe.js.map → index-Bb9ZZUyB.js.map} +1 -1
  186. package/dashboard/dist/assets/{index-BrFGgfjR.js → index-BhzsR_gZ.js} +2 -2
  187. package/dashboard/dist/assets/{index-BrFGgfjR.js.map → index-BhzsR_gZ.js.map} +1 -1
  188. package/dashboard/dist/assets/{index-DrlZc3C0.js → index-BvGIyZUt.js} +2 -2
  189. package/dashboard/dist/assets/{index-DrlZc3C0.js.map → index-BvGIyZUt.js.map} +1 -1
  190. package/dashboard/dist/assets/{index-Bn-6MP9-.js → index-CldVY0UQ.js} +2 -2
  191. package/dashboard/dist/assets/{index-Bn-6MP9-.js.map → index-CldVY0UQ.js.map} +1 -1
  192. package/dashboard/dist/assets/index-D88VWEVp.js +67 -0
  193. package/dashboard/dist/assets/index-D88VWEVp.js.map +1 -0
  194. package/dashboard/dist/assets/{index-ByYeo8P7.js → index-DBvkaa-B.js} +4 -4
  195. package/dashboard/dist/assets/{index-ByYeo8P7.js.map → index-DBvkaa-B.js.map} +1 -1
  196. package/dashboard/dist/assets/{index-D0bjzVum.js → index-DDHoDZRg.js} +2 -2
  197. package/dashboard/dist/assets/{index-D0bjzVum.js.map → index-DDHoDZRg.js.map} +1 -1
  198. package/dashboard/dist/assets/index-DsKqDMs4.js +2 -0
  199. package/dashboard/dist/assets/{index-BWtW5puE.js.map → index-DsKqDMs4.js.map} +1 -1
  200. package/dashboard/dist/assets/index-Hbbox1A4.js +2 -0
  201. package/dashboard/dist/assets/{index-U7HShN30.js.map → index-Hbbox1A4.js.map} +1 -1
  202. package/dashboard/dist/assets/index-O9uuK2yO.js +2 -0
  203. package/dashboard/dist/assets/{index-CwQn-nhR.js.map → index-O9uuK2yO.js.map} +1 -1
  204. package/dashboard/dist/assets/index-cvmt1plS.js +2 -0
  205. package/dashboard/dist/assets/{index-D1KCPoRr.js.map → index-cvmt1plS.js.map} +1 -1
  206. package/dashboard/dist/assets/index-qU_dXqP4.css +1 -0
  207. package/dashboard/dist/assets/{knowledge-8_TilyaY.js → knowledge-DM0tNphj.js} +2 -2
  208. package/dashboard/dist/assets/{knowledge-8_TilyaY.js.map → knowledge-DM0tNphj.js.map} +1 -1
  209. package/dashboard/dist/assets/{mcp-hY3O2HJa.js → mcp-CQ_TD2P9.js} +2 -2
  210. package/dashboard/dist/assets/{mcp-hY3O2HJa.js.map → mcp-CQ_TD2P9.js.map} +1 -1
  211. package/dashboard/dist/assets/{mcp-query-CA8NEf2e.js → mcp-query-BP7KSGhc.js} +2 -2
  212. package/dashboard/dist/assets/{mcp-query-CA8NEf2e.js.map → mcp-query-BP7KSGhc.js.map} +1 -1
  213. package/dashboard/dist/assets/metadata-display--TzK0REC.js +2 -0
  214. package/dashboard/dist/assets/metadata-display--TzK0REC.js.map +1 -0
  215. package/dashboard/dist/assets/{personas-DrWgQ94s.js → personas-DclHdHKK.js} +2 -2
  216. package/dashboard/dist/assets/{personas-DrWgQ94s.js.map → personas-DclHdHKK.js.map} +1 -1
  217. package/dashboard/dist/assets/{pipelines-DdgSlafC.js → pipelines-LwuKJfj-.js} +2 -2
  218. package/dashboard/dist/assets/{pipelines-DdgSlafC.js.map → pipelines-LwuKJfj-.js.map} +1 -1
  219. package/dashboard/dist/assets/{tasks-UyjER1TA.js → tasks-CDs-Li2v.js} +2 -2
  220. package/dashboard/dist/assets/{tasks-UyjER1TA.js.map → tasks-CDs-Li2v.js.map} +1 -1
  221. package/dashboard/dist/assets/{topics-CIc5SpT_.js → topics-BeOSelBX.js} +2 -2
  222. package/dashboard/dist/assets/{topics-CIc5SpT_.js.map → topics-BeOSelBX.js.map} +1 -1
  223. package/dashboard/dist/assets/{useDebouncedValue-CmUqBRK4.js → useDebouncedValue-DhhAKjDC.js} +2 -2
  224. package/dashboard/dist/assets/{useDebouncedValue-CmUqBRK4.js.map → useDebouncedValue-DhhAKjDC.js.map} +1 -1
  225. package/dashboard/dist/assets/{useNamespace-BOZOwXTE.js → useNamespace-C-E2gNEK.js} +2 -2
  226. package/dashboard/dist/assets/{useNamespace-BOZOwXTE.js.map → useNamespace-C-E2gNEK.js.map} +1 -1
  227. package/dashboard/dist/assets/{useYamlActivityEvents-BsTpIsba.js → useYamlActivityEvents-CmLzX3YU.js} +2 -2
  228. package/dashboard/dist/assets/{useYamlActivityEvents-BsTpIsba.js.map → useYamlActivityEvents-CmLzX3YU.js.map} +1 -1
  229. package/dashboard/dist/assets/{vendor-icons-h-jlRSb9.js → vendor-icons-R9b9gQ04.js} +2 -2
  230. package/dashboard/dist/assets/{vendor-icons-h-jlRSb9.js.map → vendor-icons-R9b9gQ04.js.map} +1 -1
  231. package/dashboard/dist/assets/{workflows-BkFI3IwE.js → workflows-CYv1CTU0.js} +2 -2
  232. package/dashboard/dist/assets/{workflows-BkFI3IwE.js.map → workflows-CYv1CTU0.js.map} +1 -1
  233. package/dashboard/dist/assets/{yaml-workflows-CeeqNi9k.js → yaml-workflows-BgAsc6-I.js} +2 -2
  234. package/dashboard/dist/assets/{yaml-workflows-CeeqNi9k.js.map → yaml-workflows-BgAsc6-I.js.map} +1 -1
  235. package/dashboard/dist/index.html +3 -3
  236. package/docs/api/sdk/escalations.md +87 -0
  237. package/docs/dashboard.md +23 -1
  238. package/docs/faceted-routing.md +34 -0
  239. package/docs/hitl/escalation.md +29 -0
  240. package/docs/hitl/resolution.md +33 -0
  241. package/docs/sdk.md +1 -1
  242. package/package.json +2 -2
  243. package/dashboard/dist/assets/AvailableEscalationsPage-D-W4OP55.js +0 -2
  244. package/dashboard/dist/assets/AvailableEscalationsPage-D-W4OP55.js.map +0 -1
  245. package/dashboard/dist/assets/BulkAssignModal-ySfoaF7f.js +0 -2
  246. package/dashboard/dist/assets/CapabilitiesPage-BSJ2oFj6.js +0 -2
  247. package/dashboard/dist/assets/CountdownTimer-C-E9MXMk.js +0 -2
  248. package/dashboard/dist/assets/CredentialsPage-DrydlZ65.js +0 -2
  249. package/dashboard/dist/assets/EntityTimelinePanel-CwzIV87U.js +0 -2
  250. package/dashboard/dist/assets/GraphInvokePage-BV60xkVy.js +0 -2
  251. package/dashboard/dist/assets/HomePage-BA0RYzFc.js +0 -2
  252. package/dashboard/dist/assets/McpQueryPage-CLEMtLOG.js +0 -2
  253. package/dashboard/dist/assets/Modal-BU7No9NH.js +0 -2
  254. package/dashboard/dist/assets/Modal-BU7No9NH.js.map +0 -1
  255. package/dashboard/dist/assets/OperatorDashboard-DCG8BFKE.js +0 -2
  256. package/dashboard/dist/assets/PersonaDetailPage-BEVeJr1q.js +0 -2
  257. package/dashboard/dist/assets/PersonasPage-B5fj2AK6.js +0 -2
  258. package/dashboard/dist/assets/RoleDetailPage-OmOdRm1F.js +0 -8
  259. package/dashboard/dist/assets/RoleDetailPage-OmOdRm1F.js.map +0 -1
  260. package/dashboard/dist/assets/RolesPage-DwprdPCA.js +0 -2
  261. package/dashboard/dist/assets/ScanSchemeDetailPage-BKc4lUjc.js +0 -2
  262. package/dashboard/dist/assets/ScanStationPage-DUfxcntB.js +0 -2
  263. package/dashboard/dist/assets/UserName-BhA_ItNN.js +0 -2
  264. package/dashboard/dist/assets/escalation-columns-CBUTda5U.js +0 -2
  265. package/dashboard/dist/assets/index-BHfISWyn.js +0 -2
  266. package/dashboard/dist/assets/index-BTksPQZe.js +0 -5
  267. package/dashboard/dist/assets/index-BWtW5puE.js +0 -2
  268. package/dashboard/dist/assets/index-CwQn-nhR.js +0 -2
  269. package/dashboard/dist/assets/index-D1KCPoRr.js +0 -2
  270. package/dashboard/dist/assets/index-D9rtK9QF.js +0 -67
  271. package/dashboard/dist/assets/index-D9rtK9QF.js.map +0 -1
  272. package/dashboard/dist/assets/index-U7HShN30.js +0 -2
  273. package/dashboard/dist/assets/index-fUqvRHOe.css +0 -1
  274. package/dashboard/dist/assets/metadata-display-DHjqWkLG.js +0 -2
  275. package/dashboard/dist/assets/metadata-display-DHjqWkLG.js.map +0 -1
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveBatchItem = resolveBatchItem;
4
+ exports.resolveBatchItemBySignalKey = resolveBatchItemBySignalKey;
5
+ exports.resolveBatchItemByMetadata = resolveBatchItemByMetadata;
6
+ const escalation_wire_1 = require("../../lib/events/escalation-wire");
7
+ const client_1 = require("./client");
8
+ const crud_1 = require("./crud");
9
+ const map_1 = require("./map");
10
+ /**
11
+ * Fills one declared item of a batch escalation in a single atomic SDK
12
+ * statement (guarded fill + facet recompute + resolve-and-wake on the last
13
+ * item). Interim fills publish `escalation.updated` with progress; the
14
+ * completing fill publishes the standard `escalation.resolved`. Failure
15
+ * outcomes publish nothing — the row was untouched.
16
+ */
17
+ async function resolveBatchItem(id, itemKey, payload, metadata, assertClaim, resolvedBy) {
18
+ const client = await (0, client_1.escalations)();
19
+ const result = await client.resolveBatchItem({
20
+ id,
21
+ itemKey,
22
+ payload,
23
+ metadata,
24
+ assertClaim,
25
+ resolvedBy,
26
+ });
27
+ return settleBatchOutcome(result, itemKey);
28
+ }
29
+ /**
30
+ * Batch-item fill selecting the row by its `signal_key` — the deterministic
31
+ * home signal id the parent parked on. For callers that already own that
32
+ * identity (a child calling home, a webhook), skipping both the UUID lookup
33
+ * and any facet duplication. Same event contract as {@link resolveBatchItem}.
34
+ */
35
+ async function resolveBatchItemBySignalKey(signalKey, itemKey, payload, metadata, resolvedBy) {
36
+ const client = await (0, client_1.escalations)();
37
+ const result = await client.resolveBatchItem({
38
+ signalKey,
39
+ itemKey,
40
+ payload,
41
+ metadata,
42
+ resolvedBy,
43
+ });
44
+ return settleBatchOutcome(result, itemKey);
45
+ }
46
+ /**
47
+ * Batch-item fill selecting the row by metadata facet — the highest-priority
48
+ * pending row whose metadata contains the key/value, scoped by `roles`.
49
+ * Same event contract as {@link resolveBatchItem}.
50
+ */
51
+ async function resolveBatchItemByMetadata(key, value, itemKey, payload, roles, metadata, resolvedBy) {
52
+ const client = await (0, client_1.escalations)();
53
+ const result = await client.resolveBatchItemByMetadata({
54
+ key,
55
+ value,
56
+ roles,
57
+ itemKey,
58
+ payload,
59
+ metadata,
60
+ resolvedBy,
61
+ });
62
+ return settleBatchOutcome(result, itemKey);
63
+ }
64
+ function settleBatchOutcome(result, itemKey) {
65
+ if (!result.ok) {
66
+ return { outcome: result.outcome, remaining: -1, escalation: null };
67
+ }
68
+ const escalation = (0, map_1.toEscalationRecord)(result.entry);
69
+ const completed = result.outcome === 'completed';
70
+ (0, crud_1.publishEscalationChange)({
71
+ type: completed ? 'escalation.resolved' : 'escalation.updated',
72
+ source: 'service',
73
+ workflowId: escalation.workflow_id || '',
74
+ workflowName: escalation.workflow_type || '',
75
+ taskQueue: escalation.task_queue || '',
76
+ escalationId: escalation.id,
77
+ role: escalation.role,
78
+ status: completed ? 'resolved' : 'pending',
79
+ data: (0, escalation_wire_1.escalationEventData)(escalation, {
80
+ item_key: itemKey,
81
+ remaining: result.remaining,
82
+ }),
83
+ });
84
+ return { outcome: result.outcome, remaining: result.remaining, escalation };
85
+ }
@@ -1,5 +1,12 @@
1
+ import { publishEscalationEvent } from '../../lib/events/publish';
1
2
  import type { LTEscalationRecord } from '../../types';
2
3
  import type { CreateEscalationInput, ClaimResult } from './types';
4
+ /**
5
+ * Every escalation write publishes an event AND drops this container's cached
6
+ * aggregates — the event triggers a dashboard refetch, which must observe the
7
+ * write rather than a pre-change aggregate held for up to a cache TTL.
8
+ */
9
+ export declare function publishEscalationChange(...args: Parameters<typeof publishEscalationEvent>): Promise<void>;
3
10
  export declare function createEscalation(input: CreateEscalationInput): Promise<LTEscalationRecord>;
4
11
  /**
5
12
  * Atomic claim. Implicit model — status stays 'pending'; "claimed" is
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.publishEscalationChange = publishEscalationChange;
3
4
  exports.createEscalation = createEscalation;
4
5
  exports.claimEscalation = claimEscalation;
5
6
  exports.resolveEscalation = resolveEscalation;
@@ -1,5 +1,6 @@
1
1
  export * from './types';
2
2
  export * from './crud';
3
+ export * from './batch';
3
4
  export * from './bulk';
4
5
  export * from './queries';
5
6
  export * from './resolver-validation';
@@ -17,6 +17,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.AnalyticsInputError = exports.resetAnalyticsCaches = exports.resolveEntitySystem = exports.timelineByFacet = exports.aggregateByFacets = exports.claimByFacets = exports.claimGroups = exports.countByFacets = exports.searchGroups = exports.searchByFacets = exports.ensureFacetReady = exports.ensureEscalationCompatView = void 0;
18
18
  __exportStar(require("./types"), exports);
19
19
  __exportStar(require("./crud"), exports);
20
+ __exportStar(require("./batch"), exports);
20
21
  __exportStar(require("./bulk"), exports);
21
22
  __exportStar(require("./queries"), exports);
22
23
  __exportStar(require("./resolver-validation"), exports);
@@ -91,6 +91,34 @@ export type ConditionEscalationConfig = Types.ConditionQueueConfig & {
91
91
  * }
92
92
  * ```
93
93
  *
94
+ * **Batch accumulation — one wait, N contributions (hotmesh 0.28.0+).** Declare
95
+ * `batch` item keys and the escalation resolves only when every declared item
96
+ * has been submitted via `resolveBatchItem` (HTTP: POST
97
+ * /:id/resolve-batch-item or /resolve-batch-item-by-metadata). Interim
98
+ * submissions are cheap atomic fills — the row stays pending,
99
+ * `metadata.batch_pending`/`batch_count` track progress as queryable facets,
100
+ * and payloads accumulate in `envelope.batch_items`. The LAST item resolves
101
+ * the row and resumes this wait with the full collection, all in one
102
+ * statement. Each item validates against the SAME versioned role form a
103
+ * single-item resolver gets (`schemaVersion` pins apply per item). Type the
104
+ * generic as the collection:
105
+ *
106
+ * ```typescript
107
+ * const parts = await conditional<Record<'cut' | 'weld' | 'paint', StationResultV1>>(signalId, {
108
+ * role: 'assembly',
109
+ * description: instructions,
110
+ * metadata: { orderId },
111
+ * batch: ['cut', 'weld', 'paint'],
112
+ * timeout: '24h', // SLA covers the whole collection
113
+ * });
114
+ * if (parts === false) { /* expired — partial items audit on the row *​/ }
115
+ * if (parts === null) { /* cancelled *​/ }
116
+ * ```
117
+ *
118
+ * `timeout`/cancel semantics are unchanged (`false`/`null`); partially filled
119
+ * items persist on the terminal row for audit. A plain resolve on a batch row
120
+ * remains an admin override that resolves the whole row with its payload.
121
+ *
94
122
  * **Resolution provenance — the reserved `$resolution` key.** When the resolve
95
123
  * carries the resolver's identity (the API layer supplies it for interactive
96
124
  * and webhook resolves), the payload delivered here includes
@@ -137,6 +137,34 @@ function toEngineConfig(escalation) {
137
137
  * }
138
138
  * ```
139
139
  *
140
+ * **Batch accumulation — one wait, N contributions (hotmesh 0.28.0+).** Declare
141
+ * `batch` item keys and the escalation resolves only when every declared item
142
+ * has been submitted via `resolveBatchItem` (HTTP: POST
143
+ * /:id/resolve-batch-item or /resolve-batch-item-by-metadata). Interim
144
+ * submissions are cheap atomic fills — the row stays pending,
145
+ * `metadata.batch_pending`/`batch_count` track progress as queryable facets,
146
+ * and payloads accumulate in `envelope.batch_items`. The LAST item resolves
147
+ * the row and resumes this wait with the full collection, all in one
148
+ * statement. Each item validates against the SAME versioned role form a
149
+ * single-item resolver gets (`schemaVersion` pins apply per item). Type the
150
+ * generic as the collection:
151
+ *
152
+ * ```typescript
153
+ * const parts = await conditional<Record<'cut' | 'weld' | 'paint', StationResultV1>>(signalId, {
154
+ * role: 'assembly',
155
+ * description: instructions,
156
+ * metadata: { orderId },
157
+ * batch: ['cut', 'weld', 'paint'],
158
+ * timeout: '24h', // SLA covers the whole collection
159
+ * });
160
+ * if (parts === false) { /* expired — partial items audit on the row *​/ }
161
+ * if (parts === null) { /* cancelled *​/ }
162
+ * ```
163
+ *
164
+ * `timeout`/cancel semantics are unchanged (`false`/`null`); partially filled
165
+ * items persist on the terminal row for audit. A plain resolve on a batch row
166
+ * remains an admin override that resolves the whole row with its payload.
167
+ *
140
168
  * **Resolution provenance — the reserved `$resolution` key.** When the resolve
141
169
  * carries the resolver's identity (the API layer supplies it for interactive
142
170
  * and webhook resolves), the payload delivered here includes
@@ -15,13 +15,31 @@ export interface EscalationChain {
15
15
  * MEMBER of exactly this one role, the dashboard drops the left nav, the
16
16
  * role's escalation list becomes home, and navigation is held to the list,
17
17
  * the detail page, and the scan screens. Multi-role users get full chrome.
18
+ * - LINK_VARIABLES: RoleLinkVariable[] — metadata facet names members bind
19
+ * per device. Pins may reference `{lt:name}` as a whole facet value
20
+ * (e.g. `facets={"facility":"{lt:facility}"}`); the dashboard substitutes
21
+ * the device's bound value at render time, falls back to the declared
22
+ * default, and drops the facet entirely when both are unset.
18
23
  */
19
24
  export declare const ROLE_PROPERTY_KEYS: {
20
25
  readonly ON_CANCEL: "on_cancel";
21
26
  readonly ON_TIMEOUT: "on_timeout";
22
27
  readonly WORKED_BY: "worked_by";
23
28
  readonly KIOSK: "kiosk";
29
+ readonly LINK_VARIABLES: "link_variables";
24
30
  };
31
+ /**
32
+ * One link-variable declaration inside `properties.link_variables`. `name` is
33
+ * the metadata facet key (facet-key charset); `label` is the human annotation
34
+ * the binding modal shows; `default` is the value used when the device has no
35
+ * binding. Values are strings — jsonb containment is type-sensitive, so
36
+ * numeric facets are not templatable.
37
+ */
38
+ export interface RoleLinkVariable {
39
+ name: string;
40
+ label?: string;
41
+ default?: string;
42
+ }
25
43
  export interface RoleDetail {
26
44
  role: string;
27
45
  title: string | null;
@@ -14,10 +14,16 @@ exports.ROLE_PROPERTY_KEYS = void 0;
14
14
  * MEMBER of exactly this one role, the dashboard drops the left nav, the
15
15
  * role's escalation list becomes home, and navigation is held to the list,
16
16
  * the detail page, and the scan screens. Multi-role users get full chrome.
17
+ * - LINK_VARIABLES: RoleLinkVariable[] — metadata facet names members bind
18
+ * per device. Pins may reference `{lt:name}` as a whole facet value
19
+ * (e.g. `facets={"facility":"{lt:facility}"}`); the dashboard substitutes
20
+ * the device's bound value at render time, falls back to the declared
21
+ * default, and drops the facet entirely when both are unset.
17
22
  */
18
23
  exports.ROLE_PROPERTY_KEYS = {
19
24
  ON_CANCEL: 'on_cancel',
20
25
  ON_TIMEOUT: 'on_timeout',
21
26
  WORKED_BY: 'worked_by',
22
27
  KIOSK: 'kiosk',
28
+ LINK_VARIABLES: 'link_variables',
23
29
  };
@@ -16,6 +16,7 @@ const escalation_strategy_1 = require("../services/escalation-strategy");
16
16
  const default_1 = require("../services/escalation-strategy/default");
17
17
  const mcp_2 = require("../services/escalation-strategy/mcp");
18
18
  const features_1 = require("../modules/features");
19
+ const search_1 = require("../modules/search");
19
20
  const branding_1 = require("../modules/branding");
20
21
  const socket_auth_1 = require("./socket-auth");
21
22
  /**
@@ -25,6 +26,7 @@ const socket_auth_1 = require("./socket-auth");
25
26
  function registerAdapters(startConfig) {
26
27
  // Dashboard feature flags (default permissive; deployment opts out).
27
28
  (0, features_1.configureFeatureFlags)(startConfig.features);
29
+ (0, search_1.configureSearch)(startConfig.search);
28
30
  (0, branding_1.configureBranding)(startConfig.branding);
29
31
  // Logging (register first so subsequent log calls use it)
30
32
  if (startConfig.logging?.adapter) {
@@ -64,6 +64,19 @@ export declare const resolveEscalationSchema: z.ZodObject<{
64
64
  payload: Record<string, any>;
65
65
  escalation_id: string;
66
66
  }>;
67
+ export declare const resolveBatchItemSchema: z.ZodObject<{
68
+ escalation_id: z.ZodString;
69
+ item_key: z.ZodString;
70
+ payload: z.ZodRecord<z.ZodString, z.ZodAny>;
71
+ }, "strip", z.ZodTypeAny, {
72
+ item_key: string;
73
+ payload: Record<string, any>;
74
+ escalation_id: string;
75
+ }, {
76
+ item_key: string;
77
+ payload: Record<string, any>;
78
+ escalation_id: string;
79
+ }>;
67
80
  export declare const escalateAndWaitSchema: z.ZodObject<{
68
81
  role: z.ZodString;
69
82
  message: z.ZodString;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.escalateAndWaitSchema = exports.resolveEscalationSchema = exports.claimAndResolveSchema = exports.getAvailableWorkSchema = exports.checkResolutionSchema = exports.escalateSchema = void 0;
3
+ exports.escalateAndWaitSchema = exports.resolveBatchItemSchema = exports.resolveEscalationSchema = exports.claimAndResolveSchema = exports.getAvailableWorkSchema = exports.checkResolutionSchema = exports.escalateSchema = void 0;
4
4
  const zod_1 = require("zod");
5
5
  // ── Schemas (extracted to break TS2589 deep-instantiation in registerTool generics) ──
6
6
  exports.escalateSchema = zod_1.z.object({
@@ -37,6 +37,11 @@ exports.resolveEscalationSchema = zod_1.z.object({
37
37
  escalation_id: zod_1.z.string().describe('The escalation ID to resolve'),
38
38
  payload: zod_1.z.record(zod_1.z.any()).describe(RESOLVER_PAYLOAD_DESC),
39
39
  });
40
+ exports.resolveBatchItemSchema = zod_1.z.object({
41
+ escalation_id: zod_1.z.string().describe('The batch escalation ID'),
42
+ item_key: zod_1.z.string().describe('The declared batch item key this submission fills'),
43
+ payload: zod_1.z.record(zod_1.z.any()).describe(RESOLVER_PAYLOAD_DESC),
44
+ });
40
45
  exports.escalateAndWaitSchema = zod_1.z.object({
41
46
  role: zod_1.z.string().describe('Target role for the escalation (e.g., "reviewer")'),
42
47
  message: zod_1.z.string().describe('Description of what input is needed from the human'),
@@ -2,11 +2,13 @@ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
2
  /**
3
3
  * Create the Long Tail Human Queue MCP server.
4
4
  *
5
- * Registers five tools that expose the escalation API:
5
+ * Registers the tools that expose the escalation API:
6
6
  * - escalate_to_human — create a new escalation (fire-and-forget)
7
7
  * - check_resolution — check escalation status
8
8
  * - get_available_work — list available escalations by role
9
9
  * - claim_and_resolve — claim + resolve in one step
10
+ * - resolve_escalation — resolve an already-claimed escalation
11
+ * - resolve_batch_item — submit one declared item of a batch escalation
10
12
  * - escalate_and_wait — create escalation and return signal for durable wait
11
13
  *
12
14
  * The server is created with tools registered but no transport
@@ -73,11 +73,13 @@ async function checkResolveToolPayload(escalationId, payload) {
73
73
  /**
74
74
  * Create the Long Tail Human Queue MCP server.
75
75
  *
76
- * Registers five tools that expose the escalation API:
76
+ * Registers the tools that expose the escalation API:
77
77
  * - escalate_to_human — create a new escalation (fire-and-forget)
78
78
  * - check_resolution — check escalation status
79
79
  * - get_available_work — list available escalations by role
80
80
  * - claim_and_resolve — claim + resolve in one step
81
+ * - resolve_escalation — resolve an already-claimed escalation
82
+ * - resolve_batch_item — submit one declared item of a batch escalation
81
83
  * - escalate_and_wait — create escalation and return signal for durable wait
82
84
  *
83
85
  * The server is created with tools registered but no transport
@@ -263,6 +265,40 @@ async function createHumanQueueServer(options) {
263
265
  }],
264
266
  };
265
267
  });
268
+ // ── resolve_batch_item ─────────────────────────────────────────────
269
+ server.registerTool('resolve_batch_item', {
270
+ title: 'Resolve Batch Item',
271
+ description: 'Submit ONE declared item of a batch escalation (a wait created with batch item keys). '
272
+ + 'Interim items return outcome "accepted" with the count remaining; the LAST item completes the '
273
+ + 'escalation and wakes the waiting workflow with the full item collection. Duplicate or undeclared '
274
+ + 'item keys are rejected. The payload validates against the same form_schema a single-item resolve uses.',
275
+ inputSchema: human_queue_schemas_1.resolveBatchItemSchema,
276
+ }, async (args) => {
277
+ const rejected = await checkResolveToolPayload(args.escalation_id, args.payload);
278
+ if (rejected)
279
+ return rejected;
280
+ const result = await escalationService.resolveBatchItem(args.escalation_id, args.item_key, args.payload, { source: 'mcp_server' });
281
+ if (result.outcome !== 'accepted' && result.outcome !== 'completed') {
282
+ return {
283
+ content: [{
284
+ type: 'text',
285
+ text: JSON.stringify({ error: `Batch item not accepted: ${result.outcome}`, outcome: result.outcome }),
286
+ }],
287
+ isError: true,
288
+ };
289
+ }
290
+ return {
291
+ content: [{
292
+ type: 'text',
293
+ text: JSON.stringify({
294
+ escalation_id: args.escalation_id,
295
+ outcome: result.outcome,
296
+ remaining: result.remaining,
297
+ status: result.escalation?.status,
298
+ }),
299
+ }],
300
+ };
301
+ });
266
302
  // ── escalate_and_wait ──────────────────────────────────────────────
267
303
  server.registerTool('escalate_and_wait', {
268
304
  title: 'Escalate and Wait',
@@ -314,7 +350,7 @@ async function createHumanQueueServer(options) {
314
350
  }],
315
351
  };
316
352
  });
317
- logger_1.loggerRegistry.info(`[lt-mcp:server] ${name} ready (5 tools registered)`);
353
+ logger_1.loggerRegistry.info(`[lt-mcp:server] ${name} ready (7 tools registered)`);
318
354
  return server;
319
355
  }
320
356
  /** Get the current MCP server instance. */
@@ -1 +1 @@
1
- {"root":["../index.ts","../vitest.config.ts","../vitest.integration.config.ts","../adapters/express.ts","../api/agent-subscriptions.ts","../api/agents.ts","../api/announcements.ts","../api/auth-sso.ts","../api/auth.ts","../api/bot-accounts.ts","../api/capabilities.ts","../api/controlplane.ts","../api/dba.ts","../api/diagnostics.ts","../api/domain.ts","../api/exports.ts","../api/files.ts","../api/index.ts","../api/insight.ts","../api/knowledge.ts","../api/maintenance.ts","../api/me.ts","../api/namespaces.ts","../api/overview.ts","../api/personas.ts","../api/pipelines.ts","../api/roles.ts","../api/settings.ts","../api/tasks.ts","../api/topics.ts","../api/users.ts","../api/workflow-sets.ts","../api/escalations/analytics.ts","../api/escalations/bulk.ts","../api/escalations/cancel.ts","../api/escalations/claim.ts","../api/escalations/create.ts","../api/escalations/facets.ts","../api/escalations/helpers.ts","../api/escalations/index.ts","../api/escalations/list.ts","../api/escalations/lookups.ts","../api/escalations/metadata.ts","../api/escalations/resolve.ts","../api/escalations/single.ts","../api/mcp/index.ts","../api/mcp/servers.ts","../api/mcp/tools.ts","../api/scan-codes/choice.ts","../api/scan-codes/config.ts","../api/scan-codes/context.ts","../api/scan-codes/execute.ts","../api/scan-codes/identity.ts","../api/scan-codes/index.ts","../api/scan-codes/locate.ts","../api/scan-codes/present.ts","../api/scan-codes/verbs.ts","../api/workflows/config.ts","../api/workflows/discovery.ts","../api/workflows/index.ts","../api/workflows/invocation.ts","../api/yaml-workflows/cron.ts","../api/yaml-workflows/crud.ts","../api/yaml-workflows/deploy.ts","../api/yaml-workflows/helpers.ts","../api/yaml-workflows/index.ts","../api/yaml-workflows/versions.ts","../bin/ltc.ts","../lib/typed-resolution.ts","../lib/cli/auth.ts","../lib/cli/client.ts","../lib/cli/compile.ts","../lib/cli/format.ts","../lib/cli/init.ts","../lib/cli/output.ts","../lib/cli/scanner.ts","../lib/cli/types.ts","../lib/cli/commands/escalations.ts","../lib/cli/commands/knowledge.ts","../lib/cli/commands/mcp.ts","../lib/cli/commands/personas.ts","../lib/cli/commands/pipelines.ts","../lib/cli/commands/roles.ts","../lib/cli/commands/status.ts","../lib/cli/commands/streams.ts","../lib/cli/commands/users.ts","../lib/cli/commands/workflows.ts","../lib/db/index.ts","../lib/db/migrate.ts","../lib/events/callback.ts","../lib/events/escalation-wire.ts","../lib/events/index.ts","../lib/events/matching.ts","../lib/events/memory.ts","../lib/events/nats-ws-proxy.ts","../lib/events/nats.ts","../lib/events/publish.ts","../lib/events/socketio.ts","../lib/events/system-events.ts","../lib/json-path/pick.ts","../lib/logger/index.ts","../lib/logger/pino.ts","../lib/storage/index.ts","../lib/storage/local.ts","../lib/storage/mime.ts","../lib/storage/s3.ts","../lib/storage/types.ts","../lib/telemetry/honeycomb.ts","../lib/telemetry/index.ts","../modules/auth.ts","../modules/branding.ts","../modules/config.ts","../modules/defaults.ts","../modules/features.ts","../modules/ltconfig.ts","../modules/maintenance.ts","../modules/sso.ts","../modules/utils.ts","../modules/version.ts","../routes/agents.ts","../routes/announcements.ts","../routes/auth-sso.ts","../routes/auth.ts","../routes/bot-accounts.ts","../routes/capabilities.ts","../routes/controlplane.ts","../routes/dba.ts","../routes/delegation.ts","../routes/diagnostics.ts","../routes/docs.ts","../routes/domain.ts","../routes/exports.ts","../routes/file-browser.ts","../routes/files.ts","../routes/index.ts","../routes/insight.ts","../routes/knowledge.ts","../routes/maintenance.ts","../routes/mcp-endpoint.ts","../routes/mcp.ts","../routes/me.ts","../routes/namespaces.ts","../routes/nats-credentials.ts","../routes/oauth.ts","../routes/overview.ts","../routes/personas.ts","../routes/pipelines.ts","../routes/roles.ts","../routes/scan-codes.ts","../routes/settings.ts","../routes/tasks.ts","../routes/topics.ts","../routes/users.ts","../routes/workflow-sets.ts","../routes/escalations/acting.ts","../routes/escalations/analytics.ts","../routes/escalations/bulk.ts","../routes/escalations/facets.ts","../routes/escalations/index.ts","../routes/escalations/list.ts","../routes/escalations/metadata.ts","../routes/escalations/resolve.ts","../routes/escalations/single.ts","../routes/workflows/config.ts","../routes/workflows/discovery.ts","../routes/workflows/index.ts","../routes/workflows/invocation.ts","../routes/yaml-workflows/cron.ts","../routes/yaml-workflows/crud.ts","../routes/yaml-workflows/deployment.ts","../routes/yaml-workflows/index.ts","../routes/yaml-workflows/versions.ts","../scripts/ortho-populate.ts","../scripts/printer-cycle.ts","../scripts/process-helpers.ts","../scripts/process.ts","../scripts/token.ts","../scripts/twin-farm.ts","../sdk/index.ts","../services/dba.ts","../services/hotmesh-utils.ts","../services/workflow-invocation.ts","../services/agent/index.ts","../services/agent/input-mapper.ts","../services/agent/sql.ts","../services/agent/subscription-sql.ts","../services/agent/subscriptions.ts","../services/agent/trigger-registry.ts","../services/announcement/index.ts","../services/announcement/sql.ts","../services/auth/bot-api-key.ts","../services/auth/delegation.ts","../services/auth/index.ts","../services/auth/service-token.ts","../services/auth/sql.ts","../services/config/cache.ts","../services/config/index.ts","../services/config/provider.ts","../services/config/read.ts","../services/config/sql.ts","../services/config/write.ts","../services/controlplane/index.ts","../services/controlplane/quorum-bridge.ts","../services/controlplane/sql.ts","../services/controlplane/stream-messages-sql.ts","../services/controlplane/types.ts","../services/cron/index.ts","../services/diagnostics/index.ts","../services/diagnostics/patterns.ts","../services/domain/index.ts","../services/domain/read.ts","../services/domain/seed.ts","../services/domain/sql.ts","../services/domain/validate.ts","../services/domain/write.ts","../services/escalation/aggregate-sql.ts","../services/escalation/aggregate-validate.ts","../services/escalation/aggregates.ts","../services/escalation/bulk.ts","../services/escalation/client.ts","../services/escalation/crud.ts","../services/escalation/facet-sql.ts","../services/escalation/facets.ts","../services/escalation/index.ts","../services/escalation/map.ts","../services/escalation/metrics-cache.ts","../services/escalation/queries.ts","../services/escalation/resolver-validation.ts","../services/escalation/sql.ts","../services/escalation/submit-guard.ts","../services/escalation/types.ts","../services/escalation-strategy/default.ts","../services/escalation-strategy/index.ts","../services/escalation-strategy/mcp.ts","../services/export/client.ts","../services/export/index.ts","../services/export/post-process.ts","../services/export/types.ts","../services/iam/acting-identity.ts","../services/iam/activity.ts","../services/iam/bots.ts","../services/iam/context.ts","../services/iam/credentials.ts","../services/iam/envelope.ts","../services/iam/ephemeral.ts","../services/iam/index.ts","../services/iam/principal.ts","../services/iam/resolve.ts","../services/iam/sql.ts","../services/insight/index.ts","../services/insight/prompts.ts","../services/interceptor/activity-interceptor.ts","../services/interceptor/completion.ts","../services/interceptor/context.ts","../services/interceptor/escalation.ts","../services/interceptor/index.ts","../services/interceptor/lifecycle.ts","../services/interceptor/state.ts","../services/interceptor/types.ts","../services/interceptor/activities/config.ts","../services/interceptor/activities/escalation.ts","../services/interceptor/activities/index.ts","../services/interceptor/activities/task.ts","../services/interceptor/activities/workflow.ts","../services/knowledge/index.ts","../services/knowledge/lookup-cache.ts","../services/knowledge/sql.ts","../services/llm/detect.ts","../services/llm/index.ts","../services/llm/translate.ts","../services/llm/types.ts","../services/llm/providers/anthropic.ts","../services/llm/providers/openai.ts","../services/maintenance/index.ts","../services/mcp/adapter.ts","../services/mcp/db.ts","../services/mcp/exposure.ts","../services/mcp/external-server.ts","../services/mcp/index.ts","../services/mcp/register-tool.ts","../services/mcp/seed-service-account.ts","../services/mcp/server-lifecycle.ts","../services/mcp/server-tools.ts","../services/mcp/server.ts","../services/mcp/sql.ts","../services/mcp/types.ts","../services/mcp/workflow-compiler-server.ts","../services/mcp/workflow-server.ts","../services/mcp/client/connection-dispatch.ts","../services/mcp/client/connection-lifecycle.ts","../services/mcp/client/connection-test.ts","../services/mcp/client/connection.ts","../services/mcp/client/index.ts","../services/mcp/client/tools.ts","../services/mcp/db-server/index.ts","../services/mcp/db-server/schemas.ts","../services/mcp/db-server/tools.ts","../services/mcp/playwright-server/index.ts","../services/mcp/playwright-server/lifecycle.ts","../services/mcp/playwright-server/schemas.ts","../services/mcp/playwright-server/tools.ts","../services/namespace/index.ts","../services/namespace/sql.ts","../services/namespace/types.ts","../services/oauth/crypto.ts","../services/oauth/db.ts","../services/oauth/index.ts","../services/oauth/sql.ts","../services/oauth/state.ts","../services/oauth/providers/anthropic.ts","../services/oauth/providers/github.ts","../services/oauth/providers/google.ts","../services/oauth/providers/index.ts","../services/oauth/providers/microsoft.ts","../services/oauth/providers/mock.ts","../services/oauth/providers/registry.ts","../services/oauth/providers/types.ts","../services/orchestrator/condition.ts","../services/orchestrator/index.ts","../services/orchestrator/types.ts","../services/overview/index.ts","../services/overview/sql.ts","../services/persona/index.ts","../services/persona/sql.ts","../services/persona/types.ts","../services/pipelines/enrichment.ts","../services/pipelines/events.ts","../services/pipelines/execution-builder.ts","../services/pipelines/index.ts","../services/pipelines/queries.ts","../services/pipelines/sql.ts","../services/pipelines/types.ts","../services/role/enforcement-cache.ts","../services/role/index.ts","../services/role/schema-validator.ts","../services/role/seed.ts","../services/role/sql.ts","../services/role/types.ts","../services/scan-code/index.ts","../services/scan-code/parse.ts","../services/scan-code/read.ts","../services/scan-code/sql.ts","../services/scan-code/validate.ts","../services/scan-code/write.ts","../services/task/crud.ts","../services/task/index.ts","../services/task/process.ts","../services/task/resolve.ts","../services/task/sql.ts","../services/task/types.ts","../services/topics/index.ts","../services/topics/sql.ts","../services/topics/system-topics.ts","../services/user/auth.ts","../services/user/crud.ts","../services/user/index.ts","../services/user/preferences.ts","../services/user/rbac.ts","../services/user/roles.ts","../services/user/scope.ts","../services/user/seed-admin.ts","../services/user/sql.ts","../services/user/sso-provision.ts","../services/user/types.ts","../services/workers/registry.ts","../services/workflow-sets/db.ts","../services/workflow-sets/index.ts","../services/workflow-sets/sql.ts","../services/yaml-workflow/builder-regenerate.ts","../services/yaml-workflow/db-utils.ts","../services/yaml-workflow/db-versions.ts","../services/yaml-workflow/db.ts","../services/yaml-workflow/deployer-helpers.ts","../services/yaml-workflow/deployer.ts","../services/yaml-workflow/generator.ts","../services/yaml-workflow/index.ts","../services/yaml-workflow/input-analyzer-helpers.ts","../services/yaml-workflow/input-analyzer.ts","../services/yaml-workflow/invoke.ts","../services/yaml-workflow/pipe-validator.ts","../services/yaml-workflow/sql.ts","../services/yaml-workflow/types.ts","../services/yaml-workflow/durable-compiler/index.ts","../services/yaml-workflow/durable-compiler/parser.ts","../services/yaml-workflow/durable-compiler/prompts.ts","../services/yaml-workflow/durable-compiler/types.ts","../services/yaml-workflow/pattern-detector/array-source.ts","../services/yaml-workflow/pattern-detector/collapse.ts","../services/yaml-workflow/pattern-detector/index.ts","../services/yaml-workflow/pattern-detector/run-detection.ts","../services/yaml-workflow/pattern-detector/types.ts","../services/yaml-workflow/pipeline/analyze.ts","../services/yaml-workflow/pipeline/extract-helpers.ts","../services/yaml-workflow/pipeline/extract.ts","../services/yaml-workflow/pipeline/index.ts","../services/yaml-workflow/pipeline/prompt-templates.ts","../services/yaml-workflow/pipeline/prompts.ts","../services/yaml-workflow/pipeline/validate.ts","../services/yaml-workflow/pipeline/build/dag-assembly.ts","../services/yaml-workflow/pipeline/build/dag.ts","../services/yaml-workflow/pipeline/build/index.ts","../services/yaml-workflow/pipeline/build/iteration.ts","../services/yaml-workflow/pipeline/build/metadata.ts","../services/yaml-workflow/pipeline/build/transform.ts","../services/yaml-workflow/pipeline/build/utils.ts","../services/yaml-workflow/pipeline/build/wiring.ts","../services/yaml-workflow/pipeline/compile/index.ts","../services/yaml-workflow/pipeline/compile/llm-call.ts","../services/yaml-workflow/pipeline/compile/parse-plan.ts","../services/yaml-workflow/pipeline/compile/summarize.ts","../services/yaml-workflow/workers/callbacks.ts","../services/yaml-workflow/workers/events.ts","../services/yaml-workflow/workers/index.ts","../services/yaml-workflow/workers/register.ts","../services/yaml-workflow/workers/scope.ts","../shared/form-validation/ctx-path.ts","../shared/form-validation/derive-field-label.ts","../shared/form-validation/field-validator.ts","../shared/form-validation/index.ts","../shared/form-validation/validate-resolver-payload.ts","../shared/form-validation/x-lt-bind.ts","../shared/form-validation/x-lt-help.ts","../shared/form-validation/x-lt-labels.ts","../shared/form-validation/x-lt-options.ts","../shared/form-validation/x-lt-query.ts","../shared/form-validation/x-lt-require-any.ts","../shared/form-validation/x-lt-require-sum.ts","../shared/form-validation/x-lt-show-if.ts","../shared/form-validation/x-lt-submit-guard.ts","../shared/form-validation/x-lt-submit-on-claim.ts","../shared/form-validation/x-lt-transition.ts","../start/adapters.ts","../start/apply-report.ts","../start/config.ts","../start/graph-workflows.ts","../start/index.ts","../start/server.ts","../start/socket-auth.ts","../start/workers.ts","../system/index.ts","../system/activities/claude-code.ts","../system/activities/file-storage.ts","../system/activities/http.ts","../system/activities/knowledge.ts","../system/activities/oauth.ts","../system/activities/schema-exchange.ts","../system/activities/sql.ts","../system/activities/triage/cache.ts","../system/activities/triage/context.ts","../system/activities/triage/discovery.ts","../system/activities/triage/index.ts","../system/activities/triage/llm.ts","../system/activities/triage/tools.ts","../system/mcp-servers/claude-code.ts","../system/mcp-servers/docs.ts","../system/mcp-servers/events.ts","../system/mcp-servers/file-storage.ts","../system/mcp-servers/http-fetch.ts","../system/mcp-servers/human-queue-schemas.ts","../system/mcp-servers/human-queue.ts","../system/mcp-servers/knowledge.ts","../system/mcp-servers/oauth.ts","../system/mcp-servers/schema-exchange.ts","../system/mcp-servers/translation.ts","../system/mcp-servers/vision-prompts.ts","../system/mcp-servers/vision.ts","../system/mcp-servers/workflow-compiler.ts","../system/mcp-servers/workflow.ts","../system/mcp-servers/admin/agent-subscriptions.ts","../system/mcp-servers/admin/agents.ts","../system/mcp-servers/admin/announcements.ts","../system/mcp-servers/admin/bot-accounts.ts","../system/mcp-servers/admin/controlplane.ts","../system/mcp-servers/admin/diagnostics.ts","../system/mcp-servers/admin/domain-context.ts","../system/mcp-servers/admin/escalations.ts","../system/mcp-servers/admin/exports.ts","../system/mcp-servers/admin/index.ts","../system/mcp-servers/admin/maintenance.ts","../system/mcp-servers/admin/mcp-servers.ts","../system/mcp-servers/admin/overview.ts","../system/mcp-servers/admin/personas.ts","../system/mcp-servers/admin/pipelines.ts","../system/mcp-servers/admin/scan-codes.ts","../system/mcp-servers/admin/schemas.ts","../system/mcp-servers/admin/settings.ts","../system/mcp-servers/admin/tasks.ts","../system/mcp-servers/admin/topics.ts","../system/mcp-servers/admin/users.ts","../system/mcp-servers/admin/workflow-config.ts","../system/mcp-servers/admin/workflows.ts","../system/mcp-servers/admin/yaml-workflows.ts","../system/mcp-servers/db-query/index.ts","../system/mcp-servers/db-query/schemas.ts","../system/mcp-servers/db-query/tools.ts","../system/seed/index.ts","../system/seed/tool-manifests-admin.ts","../system/seed/tool-manifests-data.ts","../system/seed/tool-manifests-escalation.ts","../system/seed/tool-manifests-events.ts","../system/seed/tool-manifests-knowledge.ts","../system/seed/tool-manifests-workflows.ts","../system/workflows/tool-result-guard.ts","../system/workflows/capability-invoke/activities.ts","../system/workflows/capability-invoke/index.ts","../system/workflows/mcp-deterministic/activities.ts","../system/workflows/mcp-deterministic/index.ts","../system/workflows/mcp-query/index.ts","../system/workflows/mcp-query/prompts.ts","../system/workflows/mcp-query/strategy-advisors.ts","../system/workflows/mcp-query/types.ts","../system/workflows/mcp-query/activities/caches.ts","../system/workflows/mcp-query/activities/discovery.ts","../system/workflows/mcp-query/activities/index.ts","../system/workflows/mcp-query/activities/llm.ts","../system/workflows/mcp-query/activities/tool-executor.ts","../system/workflows/mcp-query/activities/tool-loader.ts","../system/workflows/mcp-query-router/activities.ts","../system/workflows/mcp-query-router/index.ts","../system/workflows/mcp-query-router/prompts.ts","../system/workflows/mcp-triage/activities-proxy.ts","../system/workflows/mcp-triage/index.ts","../system/workflows/mcp-triage/prompts.ts","../system/workflows/mcp-triage/response-builders.ts","../system/workflows/mcp-triage/response.ts","../system/workflows/mcp-triage/types.ts","../system/workflows/mcp-triage-deterministic/activities.ts","../system/workflows/mcp-triage-deterministic/index.ts","../system/workflows/mcp-triage-router/activities.ts","../system/workflows/mcp-triage-router/index.ts","../system/workflows/mcp-workflow-builder/index.ts","../system/workflows/mcp-workflow-builder/prompts.ts","../system/workflows/mcp-workflow-builder/activities/caches.ts","../system/workflows/mcp-workflow-builder/activities/index.ts","../system/workflows/mcp-workflow-builder/activities/llm.ts","../system/workflows/mcp-workflow-builder/activities/tool-loader.ts","../system/workflows/mcp-workflow-planner/index.ts","../system/workflows/mcp-workflow-planner/prompts.ts","../system/workflows/mcp-workflow-planner/activities/analyze.ts","../system/workflows/mcp-workflow-planner/activities/index.ts","../system/workflows/mcp-workflow-planner/activities/persist.ts","../system/workflows/mcp-workflow-planner/activities/plan.ts","../system/workflows/shared/discovery.ts","../system/workflows/shared/index.ts","../system/workflows/shared/llm-caller.ts","../system/workflows/shared/prompts.ts","../system/workflows/shared/strategy-advisors.ts","../system/workflows/shared/tool-executor.ts","../system/workflows/shared/tool-loader.ts","../system/workflows/shared/types.ts","../themes/midnight.ts","../types/agent.ts","../types/analytics.ts","../types/auth.ts","../types/config.ts","../types/delegation.ts","../types/discovery.ts","../types/domain-manifest.ts","../types/envelope.ts","../types/escalation-strategy.ts","../types/escalation.ts","../types/events.ts","../types/export.ts","../types/express.d.ts","../types/facets.ts","../types/index.ts","../types/logger.ts","../types/maintenance.ts","../types/mcp.ts","../types/oauth.ts","../types/persona.ts","../types/scan-choice.ts","../types/scan-code.ts","../types/sdk.ts","../types/startup.ts","../types/task.ts","../types/telemetry.ts","../types/tool-context.ts","../types/user.ts","../types/validation.ts","../types/workflow-set.ts","../types/workflow.ts","../types/yaml-workflow.ts","../workers/index.ts"],"version":"5.9.3"}
1
+ {"root":["../index.ts","../vitest.config.ts","../vitest.integration.config.ts","../adapters/express.ts","../api/agent-subscriptions.ts","../api/agents.ts","../api/announcements.ts","../api/auth-sso.ts","../api/auth.ts","../api/bot-accounts.ts","../api/capabilities.ts","../api/controlplane.ts","../api/dba.ts","../api/diagnostics.ts","../api/domain.ts","../api/exports.ts","../api/files.ts","../api/index.ts","../api/insight.ts","../api/knowledge.ts","../api/maintenance.ts","../api/me.ts","../api/namespaces.ts","../api/overview.ts","../api/personas.ts","../api/pipelines.ts","../api/roles.ts","../api/settings.ts","../api/tasks.ts","../api/topics.ts","../api/users.ts","../api/workflow-sets.ts","../api/escalations/analytics.ts","../api/escalations/bulk.ts","../api/escalations/cancel.ts","../api/escalations/claim.ts","../api/escalations/create.ts","../api/escalations/facets.ts","../api/escalations/helpers.ts","../api/escalations/index.ts","../api/escalations/list.ts","../api/escalations/lookups.ts","../api/escalations/metadata.ts","../api/escalations/resolve-batch.ts","../api/escalations/resolve.ts","../api/escalations/single.ts","../api/mcp/index.ts","../api/mcp/servers.ts","../api/mcp/tools.ts","../api/scan-codes/choice.ts","../api/scan-codes/config.ts","../api/scan-codes/context.ts","../api/scan-codes/execute.ts","../api/scan-codes/identity.ts","../api/scan-codes/index.ts","../api/scan-codes/locate.ts","../api/scan-codes/present.ts","../api/scan-codes/verbs.ts","../api/workflows/config.ts","../api/workflows/discovery.ts","../api/workflows/index.ts","../api/workflows/invocation.ts","../api/yaml-workflows/cron.ts","../api/yaml-workflows/crud.ts","../api/yaml-workflows/deploy.ts","../api/yaml-workflows/helpers.ts","../api/yaml-workflows/index.ts","../api/yaml-workflows/versions.ts","../bin/ltc.ts","../lib/typed-resolution.ts","../lib/cli/auth.ts","../lib/cli/client.ts","../lib/cli/compile.ts","../lib/cli/format.ts","../lib/cli/init.ts","../lib/cli/output.ts","../lib/cli/scanner.ts","../lib/cli/types.ts","../lib/cli/commands/escalations.ts","../lib/cli/commands/knowledge.ts","../lib/cli/commands/mcp.ts","../lib/cli/commands/personas.ts","../lib/cli/commands/pipelines.ts","../lib/cli/commands/roles.ts","../lib/cli/commands/status.ts","../lib/cli/commands/streams.ts","../lib/cli/commands/users.ts","../lib/cli/commands/workflows.ts","../lib/db/index.ts","../lib/db/migrate.ts","../lib/events/callback.ts","../lib/events/escalation-wire.ts","../lib/events/index.ts","../lib/events/matching.ts","../lib/events/memory.ts","../lib/events/nats-ws-proxy.ts","../lib/events/nats.ts","../lib/events/publish.ts","../lib/events/socketio.ts","../lib/events/system-events.ts","../lib/json-path/pick.ts","../lib/logger/index.ts","../lib/logger/pino.ts","../lib/storage/index.ts","../lib/storage/local.ts","../lib/storage/mime.ts","../lib/storage/s3.ts","../lib/storage/types.ts","../lib/telemetry/honeycomb.ts","../lib/telemetry/index.ts","../modules/auth.ts","../modules/branding.ts","../modules/config.ts","../modules/defaults.ts","../modules/features.ts","../modules/ltconfig.ts","../modules/maintenance.ts","../modules/search.ts","../modules/sso.ts","../modules/utils.ts","../modules/version.ts","../routes/agents.ts","../routes/announcements.ts","../routes/auth-sso.ts","../routes/auth.ts","../routes/bot-accounts.ts","../routes/capabilities.ts","../routes/controlplane.ts","../routes/dba.ts","../routes/delegation.ts","../routes/diagnostics.ts","../routes/docs.ts","../routes/domain.ts","../routes/exports.ts","../routes/file-browser.ts","../routes/files.ts","../routes/index.ts","../routes/insight.ts","../routes/knowledge.ts","../routes/maintenance.ts","../routes/mcp-endpoint.ts","../routes/mcp.ts","../routes/me.ts","../routes/namespaces.ts","../routes/nats-credentials.ts","../routes/oauth.ts","../routes/overview.ts","../routes/personas.ts","../routes/pipelines.ts","../routes/roles.ts","../routes/scan-codes.ts","../routes/settings.ts","../routes/tasks.ts","../routes/topics.ts","../routes/users.ts","../routes/workflow-sets.ts","../routes/escalations/acting.ts","../routes/escalations/analytics.ts","../routes/escalations/bulk.ts","../routes/escalations/facets.ts","../routes/escalations/index.ts","../routes/escalations/list.ts","../routes/escalations/metadata.ts","../routes/escalations/resolve.ts","../routes/escalations/single.ts","../routes/workflows/config.ts","../routes/workflows/discovery.ts","../routes/workflows/index.ts","../routes/workflows/invocation.ts","../routes/yaml-workflows/cron.ts","../routes/yaml-workflows/crud.ts","../routes/yaml-workflows/deployment.ts","../routes/yaml-workflows/index.ts","../routes/yaml-workflows/versions.ts","../scripts/ortho-populate.ts","../scripts/printer-cycle.ts","../scripts/process-helpers.ts","../scripts/process.ts","../scripts/token.ts","../scripts/twin-farm.ts","../sdk/index.ts","../services/dba.ts","../services/hotmesh-utils.ts","../services/workflow-invocation.ts","../services/agent/index.ts","../services/agent/input-mapper.ts","../services/agent/sql.ts","../services/agent/subscription-sql.ts","../services/agent/subscriptions.ts","../services/agent/trigger-registry.ts","../services/announcement/index.ts","../services/announcement/sql.ts","../services/auth/bot-api-key.ts","../services/auth/delegation.ts","../services/auth/index.ts","../services/auth/service-token.ts","../services/auth/sql.ts","../services/config/cache.ts","../services/config/index.ts","../services/config/provider.ts","../services/config/read.ts","../services/config/sql.ts","../services/config/write.ts","../services/controlplane/index.ts","../services/controlplane/quorum-bridge.ts","../services/controlplane/sql.ts","../services/controlplane/stream-messages-sql.ts","../services/controlplane/types.ts","../services/cron/index.ts","../services/diagnostics/index.ts","../services/diagnostics/patterns.ts","../services/domain/index.ts","../services/domain/read.ts","../services/domain/seed.ts","../services/domain/sql.ts","../services/domain/validate.ts","../services/domain/write.ts","../services/escalation/aggregate-sql.ts","../services/escalation/aggregate-validate.ts","../services/escalation/aggregates.ts","../services/escalation/batch.ts","../services/escalation/bulk.ts","../services/escalation/client.ts","../services/escalation/crud.ts","../services/escalation/facet-sql.ts","../services/escalation/facets.ts","../services/escalation/index.ts","../services/escalation/map.ts","../services/escalation/metrics-cache.ts","../services/escalation/queries.ts","../services/escalation/resolver-validation.ts","../services/escalation/sql.ts","../services/escalation/submit-guard.ts","../services/escalation/types.ts","../services/escalation-strategy/default.ts","../services/escalation-strategy/index.ts","../services/escalation-strategy/mcp.ts","../services/export/client.ts","../services/export/index.ts","../services/export/post-process.ts","../services/export/types.ts","../services/iam/acting-identity.ts","../services/iam/activity.ts","../services/iam/bots.ts","../services/iam/context.ts","../services/iam/credentials.ts","../services/iam/envelope.ts","../services/iam/ephemeral.ts","../services/iam/index.ts","../services/iam/principal.ts","../services/iam/resolve.ts","../services/iam/sql.ts","../services/insight/index.ts","../services/insight/prompts.ts","../services/interceptor/activity-interceptor.ts","../services/interceptor/completion.ts","../services/interceptor/context.ts","../services/interceptor/escalation.ts","../services/interceptor/index.ts","../services/interceptor/lifecycle.ts","../services/interceptor/state.ts","../services/interceptor/types.ts","../services/interceptor/activities/config.ts","../services/interceptor/activities/escalation.ts","../services/interceptor/activities/index.ts","../services/interceptor/activities/task.ts","../services/interceptor/activities/workflow.ts","../services/knowledge/index.ts","../services/knowledge/lookup-cache.ts","../services/knowledge/sql.ts","../services/llm/detect.ts","../services/llm/index.ts","../services/llm/translate.ts","../services/llm/types.ts","../services/llm/providers/anthropic.ts","../services/llm/providers/openai.ts","../services/maintenance/index.ts","../services/mcp/adapter.ts","../services/mcp/db.ts","../services/mcp/exposure.ts","../services/mcp/external-server.ts","../services/mcp/index.ts","../services/mcp/register-tool.ts","../services/mcp/seed-service-account.ts","../services/mcp/server-lifecycle.ts","../services/mcp/server-tools.ts","../services/mcp/server.ts","../services/mcp/sql.ts","../services/mcp/types.ts","../services/mcp/workflow-compiler-server.ts","../services/mcp/workflow-server.ts","../services/mcp/client/connection-dispatch.ts","../services/mcp/client/connection-lifecycle.ts","../services/mcp/client/connection-test.ts","../services/mcp/client/connection.ts","../services/mcp/client/index.ts","../services/mcp/client/tools.ts","../services/mcp/db-server/index.ts","../services/mcp/db-server/schemas.ts","../services/mcp/db-server/tools.ts","../services/mcp/playwright-server/index.ts","../services/mcp/playwright-server/lifecycle.ts","../services/mcp/playwright-server/schemas.ts","../services/mcp/playwright-server/tools.ts","../services/namespace/index.ts","../services/namespace/sql.ts","../services/namespace/types.ts","../services/oauth/crypto.ts","../services/oauth/db.ts","../services/oauth/index.ts","../services/oauth/sql.ts","../services/oauth/state.ts","../services/oauth/providers/anthropic.ts","../services/oauth/providers/github.ts","../services/oauth/providers/google.ts","../services/oauth/providers/index.ts","../services/oauth/providers/microsoft.ts","../services/oauth/providers/mock.ts","../services/oauth/providers/registry.ts","../services/oauth/providers/types.ts","../services/orchestrator/condition.ts","../services/orchestrator/index.ts","../services/orchestrator/types.ts","../services/overview/index.ts","../services/overview/sql.ts","../services/persona/index.ts","../services/persona/sql.ts","../services/persona/types.ts","../services/pipelines/enrichment.ts","../services/pipelines/events.ts","../services/pipelines/execution-builder.ts","../services/pipelines/index.ts","../services/pipelines/queries.ts","../services/pipelines/sql.ts","../services/pipelines/types.ts","../services/role/enforcement-cache.ts","../services/role/index.ts","../services/role/schema-validator.ts","../services/role/seed.ts","../services/role/sql.ts","../services/role/types.ts","../services/scan-code/index.ts","../services/scan-code/parse.ts","../services/scan-code/read.ts","../services/scan-code/sql.ts","../services/scan-code/validate.ts","../services/scan-code/write.ts","../services/task/crud.ts","../services/task/index.ts","../services/task/process.ts","../services/task/resolve.ts","../services/task/sql.ts","../services/task/types.ts","../services/topics/index.ts","../services/topics/sql.ts","../services/topics/system-topics.ts","../services/user/auth.ts","../services/user/crud.ts","../services/user/index.ts","../services/user/preferences.ts","../services/user/rbac.ts","../services/user/roles.ts","../services/user/scope.ts","../services/user/seed-admin.ts","../services/user/sql.ts","../services/user/sso-provision.ts","../services/user/types.ts","../services/workers/registry.ts","../services/workflow-sets/db.ts","../services/workflow-sets/index.ts","../services/workflow-sets/sql.ts","../services/yaml-workflow/builder-regenerate.ts","../services/yaml-workflow/db-utils.ts","../services/yaml-workflow/db-versions.ts","../services/yaml-workflow/db.ts","../services/yaml-workflow/deployer-helpers.ts","../services/yaml-workflow/deployer.ts","../services/yaml-workflow/generator.ts","../services/yaml-workflow/index.ts","../services/yaml-workflow/input-analyzer-helpers.ts","../services/yaml-workflow/input-analyzer.ts","../services/yaml-workflow/invoke.ts","../services/yaml-workflow/pipe-validator.ts","../services/yaml-workflow/sql.ts","../services/yaml-workflow/types.ts","../services/yaml-workflow/durable-compiler/index.ts","../services/yaml-workflow/durable-compiler/parser.ts","../services/yaml-workflow/durable-compiler/prompts.ts","../services/yaml-workflow/durable-compiler/types.ts","../services/yaml-workflow/pattern-detector/array-source.ts","../services/yaml-workflow/pattern-detector/collapse.ts","../services/yaml-workflow/pattern-detector/index.ts","../services/yaml-workflow/pattern-detector/run-detection.ts","../services/yaml-workflow/pattern-detector/types.ts","../services/yaml-workflow/pipeline/analyze.ts","../services/yaml-workflow/pipeline/extract-helpers.ts","../services/yaml-workflow/pipeline/extract.ts","../services/yaml-workflow/pipeline/index.ts","../services/yaml-workflow/pipeline/prompt-templates.ts","../services/yaml-workflow/pipeline/prompts.ts","../services/yaml-workflow/pipeline/validate.ts","../services/yaml-workflow/pipeline/build/dag-assembly.ts","../services/yaml-workflow/pipeline/build/dag.ts","../services/yaml-workflow/pipeline/build/index.ts","../services/yaml-workflow/pipeline/build/iteration.ts","../services/yaml-workflow/pipeline/build/metadata.ts","../services/yaml-workflow/pipeline/build/transform.ts","../services/yaml-workflow/pipeline/build/utils.ts","../services/yaml-workflow/pipeline/build/wiring.ts","../services/yaml-workflow/pipeline/compile/index.ts","../services/yaml-workflow/pipeline/compile/llm-call.ts","../services/yaml-workflow/pipeline/compile/parse-plan.ts","../services/yaml-workflow/pipeline/compile/summarize.ts","../services/yaml-workflow/workers/callbacks.ts","../services/yaml-workflow/workers/events.ts","../services/yaml-workflow/workers/index.ts","../services/yaml-workflow/workers/register.ts","../services/yaml-workflow/workers/scope.ts","../shared/form-validation/ctx-path.ts","../shared/form-validation/derive-field-label.ts","../shared/form-validation/field-validator.ts","../shared/form-validation/index.ts","../shared/form-validation/validate-resolver-payload.ts","../shared/form-validation/x-lt-bind.ts","../shared/form-validation/x-lt-help.ts","../shared/form-validation/x-lt-labels.ts","../shared/form-validation/x-lt-options.ts","../shared/form-validation/x-lt-query.ts","../shared/form-validation/x-lt-require-any.ts","../shared/form-validation/x-lt-require-sum.ts","../shared/form-validation/x-lt-show-if.ts","../shared/form-validation/x-lt-submit-guard.ts","../shared/form-validation/x-lt-submit-on-claim.ts","../shared/form-validation/x-lt-transition.ts","../start/adapters.ts","../start/apply-report.ts","../start/config.ts","../start/graph-workflows.ts","../start/index.ts","../start/server.ts","../start/socket-auth.ts","../start/workers.ts","../system/index.ts","../system/activities/claude-code.ts","../system/activities/file-storage.ts","../system/activities/http.ts","../system/activities/knowledge.ts","../system/activities/oauth.ts","../system/activities/schema-exchange.ts","../system/activities/sql.ts","../system/activities/triage/cache.ts","../system/activities/triage/context.ts","../system/activities/triage/discovery.ts","../system/activities/triage/index.ts","../system/activities/triage/llm.ts","../system/activities/triage/tools.ts","../system/mcp-servers/claude-code.ts","../system/mcp-servers/docs.ts","../system/mcp-servers/events.ts","../system/mcp-servers/file-storage.ts","../system/mcp-servers/http-fetch.ts","../system/mcp-servers/human-queue-schemas.ts","../system/mcp-servers/human-queue.ts","../system/mcp-servers/knowledge.ts","../system/mcp-servers/oauth.ts","../system/mcp-servers/schema-exchange.ts","../system/mcp-servers/translation.ts","../system/mcp-servers/vision-prompts.ts","../system/mcp-servers/vision.ts","../system/mcp-servers/workflow-compiler.ts","../system/mcp-servers/workflow.ts","../system/mcp-servers/admin/agent-subscriptions.ts","../system/mcp-servers/admin/agents.ts","../system/mcp-servers/admin/announcements.ts","../system/mcp-servers/admin/bot-accounts.ts","../system/mcp-servers/admin/controlplane.ts","../system/mcp-servers/admin/diagnostics.ts","../system/mcp-servers/admin/domain-context.ts","../system/mcp-servers/admin/escalations.ts","../system/mcp-servers/admin/exports.ts","../system/mcp-servers/admin/index.ts","../system/mcp-servers/admin/maintenance.ts","../system/mcp-servers/admin/mcp-servers.ts","../system/mcp-servers/admin/overview.ts","../system/mcp-servers/admin/personas.ts","../system/mcp-servers/admin/pipelines.ts","../system/mcp-servers/admin/scan-codes.ts","../system/mcp-servers/admin/schemas.ts","../system/mcp-servers/admin/settings.ts","../system/mcp-servers/admin/tasks.ts","../system/mcp-servers/admin/topics.ts","../system/mcp-servers/admin/users.ts","../system/mcp-servers/admin/workflow-config.ts","../system/mcp-servers/admin/workflows.ts","../system/mcp-servers/admin/yaml-workflows.ts","../system/mcp-servers/db-query/index.ts","../system/mcp-servers/db-query/schemas.ts","../system/mcp-servers/db-query/tools.ts","../system/seed/index.ts","../system/seed/tool-manifests-admin.ts","../system/seed/tool-manifests-data.ts","../system/seed/tool-manifests-escalation.ts","../system/seed/tool-manifests-events.ts","../system/seed/tool-manifests-knowledge.ts","../system/seed/tool-manifests-workflows.ts","../system/workflows/tool-result-guard.ts","../system/workflows/capability-invoke/activities.ts","../system/workflows/capability-invoke/index.ts","../system/workflows/mcp-deterministic/activities.ts","../system/workflows/mcp-deterministic/index.ts","../system/workflows/mcp-query/index.ts","../system/workflows/mcp-query/prompts.ts","../system/workflows/mcp-query/strategy-advisors.ts","../system/workflows/mcp-query/types.ts","../system/workflows/mcp-query/activities/caches.ts","../system/workflows/mcp-query/activities/discovery.ts","../system/workflows/mcp-query/activities/index.ts","../system/workflows/mcp-query/activities/llm.ts","../system/workflows/mcp-query/activities/tool-executor.ts","../system/workflows/mcp-query/activities/tool-loader.ts","../system/workflows/mcp-query-router/activities.ts","../system/workflows/mcp-query-router/index.ts","../system/workflows/mcp-query-router/prompts.ts","../system/workflows/mcp-triage/activities-proxy.ts","../system/workflows/mcp-triage/index.ts","../system/workflows/mcp-triage/prompts.ts","../system/workflows/mcp-triage/response-builders.ts","../system/workflows/mcp-triage/response.ts","../system/workflows/mcp-triage/types.ts","../system/workflows/mcp-triage-deterministic/activities.ts","../system/workflows/mcp-triage-deterministic/index.ts","../system/workflows/mcp-triage-router/activities.ts","../system/workflows/mcp-triage-router/index.ts","../system/workflows/mcp-workflow-builder/index.ts","../system/workflows/mcp-workflow-builder/prompts.ts","../system/workflows/mcp-workflow-builder/activities/caches.ts","../system/workflows/mcp-workflow-builder/activities/index.ts","../system/workflows/mcp-workflow-builder/activities/llm.ts","../system/workflows/mcp-workflow-builder/activities/tool-loader.ts","../system/workflows/mcp-workflow-planner/index.ts","../system/workflows/mcp-workflow-planner/prompts.ts","../system/workflows/mcp-workflow-planner/activities/analyze.ts","../system/workflows/mcp-workflow-planner/activities/index.ts","../system/workflows/mcp-workflow-planner/activities/persist.ts","../system/workflows/mcp-workflow-planner/activities/plan.ts","../system/workflows/shared/discovery.ts","../system/workflows/shared/index.ts","../system/workflows/shared/llm-caller.ts","../system/workflows/shared/prompts.ts","../system/workflows/shared/strategy-advisors.ts","../system/workflows/shared/tool-executor.ts","../system/workflows/shared/tool-loader.ts","../system/workflows/shared/types.ts","../themes/midnight.ts","../types/agent.ts","../types/analytics.ts","../types/auth.ts","../types/config.ts","../types/delegation.ts","../types/discovery.ts","../types/domain-manifest.ts","../types/envelope.ts","../types/escalation-strategy.ts","../types/escalation.ts","../types/events.ts","../types/export.ts","../types/express.d.ts","../types/facets.ts","../types/index.ts","../types/logger.ts","../types/maintenance.ts","../types/mcp.ts","../types/oauth.ts","../types/persona.ts","../types/scan-choice.ts","../types/scan-code.ts","../types/sdk.ts","../types/startup.ts","../types/task.ts","../types/telemetry.ts","../types/tool-context.ts","../types/user.ts","../types/validation.ts","../types/workflow-set.ts","../types/workflow.ts","../types/yaml-workflow.ts","../workers/index.ts"],"version":"5.9.3"}
@@ -6,6 +6,30 @@ import type { Types } from '@hotmeshio/hotmesh';
6
6
  * Re-exported from the HotMesh SDK so workflow authors import one package.
7
7
  */
8
8
  export type EscalationResolution = Types.EscalationResolution;
9
+ /**
10
+ * Outcome vocabulary for batch-item submissions (`resolveBatchItem`).
11
+ * `completed` = this was the last declared item: the row resolved and the
12
+ * waiting workflow was woken with the full collection. `accepted` = interim
13
+ * fill; the row stays pending. Re-exported from the HotMesh SDK.
14
+ */
15
+ export type BatchItemOutcome = Types.BatchItemOutcome;
16
+ /**
17
+ * Reserved batch-accumulator keys, written by the SDK's `batch` fold at
18
+ * escalation creation. Facets (`batch_pending`, `batch_count`, `batch_keys`)
19
+ * live on the GIN-indexed metadata surface; the payload accumulator
20
+ * (`batch_items`) lives on the unindexed envelope — payloads are plumbing,
21
+ * not facets.
22
+ */
23
+ export declare const ESCALATION_BATCH_KEYS: {
24
+ /** Metadata: item keys still awaiting submission (queryable via `@>`). */
25
+ readonly PENDING: "batch_pending";
26
+ /** Metadata: count of items still awaiting submission. */
27
+ readonly COUNT: "batch_count";
28
+ /** Metadata: the immutable declared item-key list. */
29
+ readonly KEYS: "batch_keys";
30
+ /** Envelope: the accumulated `Record<itemKey, payload>` map. */
31
+ readonly ITEMS: "batch_items";
32
+ };
9
33
  /**
10
34
  * Reserved keys inside `lt_escalations.metadata`. Everything else in the bag
11
35
  * is caller-owned. These ride the GIN-indexed surface so they survive the
@@ -1,9 +1,26 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ESCALATION_ENVELOPE_KEYS = exports.ESCALATION_METADATA_KEYS = void 0;
3
+ exports.ESCALATION_ENVELOPE_KEYS = exports.ESCALATION_METADATA_KEYS = exports.ESCALATION_BATCH_KEYS = void 0;
4
4
  exports.assertLookupRefs = assertLookupRefs;
5
5
  exports.isEffectivelyClaimed = isEffectivelyClaimed;
6
6
  exports.isAvailable = isAvailable;
7
+ /**
8
+ * Reserved batch-accumulator keys, written by the SDK's `batch` fold at
9
+ * escalation creation. Facets (`batch_pending`, `batch_count`, `batch_keys`)
10
+ * live on the GIN-indexed metadata surface; the payload accumulator
11
+ * (`batch_items`) lives on the unindexed envelope — payloads are plumbing,
12
+ * not facets.
13
+ */
14
+ exports.ESCALATION_BATCH_KEYS = {
15
+ /** Metadata: item keys still awaiting submission (queryable via `@>`). */
16
+ PENDING: 'batch_pending',
17
+ /** Metadata: count of items still awaiting submission. */
18
+ COUNT: 'batch_count',
19
+ /** Metadata: the immutable declared item-key list. */
20
+ KEYS: 'batch_keys',
21
+ /** Envelope: the accumulated `Record<itemKey, payload>` map. */
22
+ ITEMS: 'batch_items',
23
+ };
7
24
  /**
8
25
  * Reserved keys inside `lt_escalations.metadata`. Everything else in the bag
9
26
  * is caller-owned. These ride the GIN-indexed surface so they survive the
@@ -18,7 +18,7 @@ import type { LTMilestone } from './task';
18
18
  *
19
19
  * The `*` segments in these patterns are replaced with actual IDs at publish time.
20
20
  */
21
- export type LTSystemEventPattern = `system.task.${string}.created` | `system.task.${string}.started` | `system.task.${string}.completed` | `system.task.${string}.escalated` | `system.task.${string}.failed` | `system.escalation.${string}.${string}.created` | `system.escalation.${string}.${string}.resolved` | `system.escalation.${string}.${string}.claimed` | `system.escalation.${string}.${string}.released` | `system.escalation.${string}.${string}.cancelled` | `system.escalation.${string}.${string}.reassigned` | `system.escalation.${string}.${string}.expired` | `system.workflow.${string}.started` | `system.workflow.${string}.completed` | `system.workflow.${string}.failed` | `system.activity.${string}.${string}.started` | `system.activity.${string}.${string}.completed` | `system.activity.${string}.${string}.failed` | `system.knowledge.${string}.stored` | `system.knowledge.${string}.deleted` | 'system.file.stored' | 'system.file.deleted' | `system.agent.${string}.started` | `system.agent.${string}.completed` | `system.agent.${string}.failed` | `system.agent.${string}.status_changed` | `system.agent.${string}.triggers_changed` | `system.milestone.${string}`;
21
+ export type LTSystemEventPattern = `system.task.${string}.created` | `system.task.${string}.started` | `system.task.${string}.completed` | `system.task.${string}.escalated` | `system.task.${string}.failed` | `system.escalation.${string}.${string}.created` | `system.escalation.${string}.${string}.resolved` | `system.escalation.${string}.${string}.claimed` | `system.escalation.${string}.${string}.released` | `system.escalation.${string}.${string}.cancelled` | `system.escalation.${string}.${string}.reassigned` | `system.escalation.${string}.${string}.expired` | `system.escalation.${string}.${string}.updated` | `system.workflow.${string}.started` | `system.workflow.${string}.completed` | `system.workflow.${string}.failed` | `system.activity.${string}.${string}.started` | `system.activity.${string}.${string}.completed` | `system.activity.${string}.${string}.failed` | `system.knowledge.${string}.stored` | `system.knowledge.${string}.deleted` | 'system.file.stored' | 'system.file.deleted' | `system.agent.${string}.started` | `system.agent.${string}.completed` | `system.agent.${string}.failed` | `system.agent.${string}.status_changed` | `system.agent.${string}.triggers_changed` | `system.milestone.${string}`;
22
22
  /** @deprecated Use LTSystemEventPattern for system events. Kept for backward compat. */
23
23
  export type LTEventType = LTSystemEventPattern;
24
24
  /**