@hotmeshio/long-tail 0.10.2 → 0.10.3

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 (283) hide show
  1. package/README.md +1 -0
  2. package/build/api/bot-accounts.d.ts +4 -0
  3. package/build/api/bot-accounts.js +3 -1
  4. package/build/api/escalations/metadata.js +21 -1
  5. package/build/api/escalations/resolve.d.ts +8 -0
  6. package/build/api/escalations/resolve.js +82 -3
  7. package/build/api/roles.d.ts +2 -0
  8. package/build/api/roles.js +4 -0
  9. package/build/bin/ltc.js +10 -1
  10. package/build/lib/cli/client.d.ts +4 -1
  11. package/build/lib/cli/client.js +4 -2
  12. package/build/lib/db/schemas/023_role_enforce_schema.sql +18 -0
  13. package/build/lib/typed-resolution.d.ts +35 -0
  14. package/build/lib/typed-resolution.js +37 -0
  15. package/build/modules/config.d.ts +1 -0
  16. package/build/modules/config.js +5 -0
  17. package/build/routes/bot-accounts.js +3 -1
  18. package/build/sdk/index.d.ts +4 -0
  19. package/build/sdk/index.js +14 -0
  20. package/build/services/escalation/crud.d.ts +18 -6
  21. package/build/services/escalation/crud.js +18 -2
  22. package/build/services/escalation/index.d.ts +1 -0
  23. package/build/services/escalation/index.js +1 -0
  24. package/build/services/escalation/resolver-validation.d.ts +28 -0
  25. package/build/services/escalation/resolver-validation.js +95 -0
  26. package/build/services/escalation/sql.d.ts +12 -2
  27. package/build/services/escalation/sql.js +22 -2
  28. package/build/services/iam/bots.d.ts +4 -1
  29. package/build/services/iam/bots.js +5 -3
  30. package/build/services/iam/sql.d.ts +2 -2
  31. package/build/services/iam/sql.js +15 -1
  32. package/build/services/role/enforcement-cache.d.ts +21 -0
  33. package/build/services/role/enforcement-cache.js +0 -0
  34. package/build/services/role/index.js +5 -0
  35. package/build/services/role/sql.d.ts +12 -2
  36. package/build/services/role/sql.js +15 -2
  37. package/build/services/role/types.d.ts +9 -0
  38. package/build/shared/form-validation/field-validator.d.ts +45 -0
  39. package/build/shared/form-validation/field-validator.js +214 -0
  40. package/build/shared/form-validation/index.d.ts +11 -0
  41. package/build/shared/form-validation/index.js +27 -0
  42. package/build/shared/form-validation/validate-resolver-payload.d.ts +41 -0
  43. package/build/shared/form-validation/validate-resolver-payload.js +62 -0
  44. package/build/shared/form-validation/x-lt-bind.d.ts +41 -0
  45. package/build/shared/form-validation/x-lt-bind.js +110 -0
  46. package/build/shared/form-validation/x-lt-help.d.ts +21 -0
  47. package/build/shared/form-validation/x-lt-help.js +91 -0
  48. package/build/shared/form-validation/x-lt-show-if.d.ts +7 -0
  49. package/build/shared/form-validation/x-lt-show-if.js +84 -0
  50. package/build/system/mcp-servers/admin/schemas.d.ts +3 -0
  51. package/build/system/mcp-servers/admin/schemas.js +1 -0
  52. package/build/system/mcp-servers/admin/users.js +3 -1
  53. package/build/system/mcp-servers/human-queue-schemas.d.ts +4 -4
  54. package/build/system/mcp-servers/human-queue-schemas.js +4 -1
  55. package/build/system/mcp-servers/human-queue.js +41 -2
  56. package/build/tsconfig.tsbuildinfo +1 -1
  57. package/build/types/sdk.d.ts +6 -1
  58. package/build/types/validation.d.ts +43 -0
  59. package/build/types/validation.js +28 -0
  60. package/dashboard/dist/assets/{AdminDashboard-Dy031e9g.js → AdminDashboard-DQLGybZ9.js} +2 -2
  61. package/dashboard/dist/assets/{AdminDashboard-Dy031e9g.js.map → AdminDashboard-DQLGybZ9.js.map} +1 -1
  62. package/dashboard/dist/assets/{AgentConfigPage-CqmtYBbC.js → AgentConfigPage-4JgMpuYJ.js} +3 -3
  63. package/dashboard/dist/assets/AgentConfigPage-4JgMpuYJ.js.map +1 -0
  64. package/dashboard/dist/assets/{AgentDetailPage-oYLBrN74.js → AgentDetailPage-DCgKokgX.js} +2 -2
  65. package/dashboard/dist/assets/{AgentDetailPage-oYLBrN74.js.map → AgentDetailPage-DCgKokgX.js.map} +1 -1
  66. package/dashboard/dist/assets/{AgentsPage-CHczRx5N.js → AgentsPage-BK_8VKZO.js} +2 -2
  67. package/dashboard/dist/assets/{AgentsPage-CHczRx5N.js.map → AgentsPage-BK_8VKZO.js.map} +1 -1
  68. package/dashboard/dist/assets/AvailableEscalationsPage-Dp1rsIHC.js +2 -0
  69. package/dashboard/dist/assets/AvailableEscalationsPage-Dp1rsIHC.js.map +1 -0
  70. package/dashboard/dist/assets/BotPicker-DvUnYEJk.js +2 -0
  71. package/dashboard/dist/assets/BotPicker-DvUnYEJk.js.map +1 -0
  72. package/dashboard/dist/assets/{CapabilitiesPage-lQJGZ_-t.js → CapabilitiesPage-CJ5ldY8w.js} +2 -2
  73. package/dashboard/dist/assets/{CapabilitiesPage-lQJGZ_-t.js.map → CapabilitiesPage-CJ5ldY8w.js.map} +1 -1
  74. package/dashboard/dist/assets/{CollapsibleSection-CHWP0WI6.js → CollapsibleSection-BXOpfs3z.js} +2 -2
  75. package/dashboard/dist/assets/{CollapsibleSection-CHWP0WI6.js.map → CollapsibleSection-BXOpfs3z.js.map} +1 -1
  76. package/dashboard/dist/assets/{CountdownTimer-TXsRlTU4.js → CountdownTimer-D20FNwS-.js} +2 -2
  77. package/dashboard/dist/assets/{CountdownTimer-TXsRlTU4.js.map → CountdownTimer-D20FNwS-.js.map} +1 -1
  78. package/dashboard/dist/assets/{CredentialsPage-BKxS-1sA.js → CredentialsPage-vZ2psNnd.js} +2 -2
  79. package/dashboard/dist/assets/{CredentialsPage-BKxS-1sA.js.map → CredentialsPage-vZ2psNnd.js.map} +1 -1
  80. package/dashboard/dist/assets/{CronLabel-Bd2G0Rap.js → CronLabel-KRkqNSYs.js} +2 -2
  81. package/dashboard/dist/assets/{CronLabel-Bd2G0Rap.js.map → CronLabel-KRkqNSYs.js.map} +1 -1
  82. package/dashboard/dist/assets/{CustomDurationPicker-j4bBrDJ6.js → CustomDurationPicker-C-vGsrFl.js} +2 -2
  83. package/dashboard/dist/assets/CustomDurationPicker-C-vGsrFl.js.map +1 -0
  84. package/dashboard/dist/assets/{DropZone-DNDEgMpJ.js → DropZone-C3NdMtwK.js} +2 -2
  85. package/dashboard/dist/assets/{DropZone-DNDEgMpJ.js.map → DropZone-C3NdMtwK.js.map} +1 -1
  86. package/dashboard/dist/assets/{ElapsedCell-g7GO7f8L.js → ElapsedCell-DNH-XHOS.js} +2 -2
  87. package/dashboard/dist/assets/{ElapsedCell-g7GO7f8L.js.map → ElapsedCell-DNH-XHOS.js.map} +1 -1
  88. package/dashboard/dist/assets/{EscalationListSchemaPage-CIJ-OgVC.js → EscalationListSchemaPage-BIW1qxjC.js} +3 -3
  89. package/dashboard/dist/assets/{EscalationListSchemaPage-CIJ-OgVC.js.map → EscalationListSchemaPage-BIW1qxjC.js.map} +1 -1
  90. package/dashboard/dist/assets/{EscalationSchemaPage-C7dHgG8e.js → EscalationSchemaPage-Fj2IwQXQ.js} +3 -3
  91. package/dashboard/dist/assets/{EscalationSchemaPage-C7dHgG8e.js.map → EscalationSchemaPage-Fj2IwQXQ.js.map} +1 -1
  92. package/dashboard/dist/assets/{EscalationsOverview-D8NrATg2.js → EscalationsOverview-BVUx0vZH.js} +2 -2
  93. package/dashboard/dist/assets/{EscalationsOverview-D8NrATg2.js.map → EscalationsOverview-BVUx0vZH.js.map} +1 -1
  94. package/dashboard/dist/assets/{EventTable-DBV1P2ME.js → EventTable-Dm4zZaRl.js} +2 -2
  95. package/dashboard/dist/assets/{EventTable-DBV1P2ME.js.map → EventTable-Dm4zZaRl.js.map} +1 -1
  96. package/dashboard/dist/assets/{GraphInvokePage-DbHvggQ_.js → GraphInvokePage-D4f074qh.js} +2 -2
  97. package/dashboard/dist/assets/GraphInvokePage-D4f074qh.js.map +1 -0
  98. package/dashboard/dist/assets/HomePage-DQ0bb_M_.js +2 -0
  99. package/dashboard/dist/assets/HomePage-DQ0bb_M_.js.map +1 -0
  100. package/dashboard/dist/assets/{ListToolbar-KC6LGtKP.js → ListToolbar-CItVkLQ-.js} +2 -2
  101. package/dashboard/dist/assets/{ListToolbar-KC6LGtKP.js.map → ListToolbar-CItVkLQ-.js.map} +1 -1
  102. package/dashboard/dist/assets/{McpOverview-BDZC9Hvl.js → McpOverview-ByYVDldF.js} +2 -2
  103. package/dashboard/dist/assets/{McpOverview-BDZC9Hvl.js.map → McpOverview-ByYVDldF.js.map} +1 -1
  104. package/dashboard/dist/assets/{McpQueryDetailPage-CXhgX1pS.js → McpQueryDetailPage-DYuIdJiH.js} +2 -2
  105. package/dashboard/dist/assets/{McpQueryDetailPage-CXhgX1pS.js.map → McpQueryDetailPage-DYuIdJiH.js.map} +1 -1
  106. package/dashboard/dist/assets/{McpQueryPage-CsKNXUhb.js → McpQueryPage-C9C4mPC0.js} +2 -2
  107. package/dashboard/dist/assets/{McpQueryPage-CsKNXUhb.js.map → McpQueryPage-C9C4mPC0.js.map} +1 -1
  108. package/dashboard/dist/assets/McpRunDetailPage-CWHKhx8n.js +2 -0
  109. package/dashboard/dist/assets/McpRunDetailPage-CWHKhx8n.js.map +1 -0
  110. package/dashboard/dist/assets/{McpRunsPage-f5hDbpLo.js → McpRunsPage-DMamEjjr.js} +2 -2
  111. package/dashboard/dist/assets/{McpRunsPage-f5hDbpLo.js.map → McpRunsPage-DMamEjjr.js.map} +1 -1
  112. package/dashboard/dist/assets/{NamespacePill-C4u6Go1W.js → NamespacePill-B3YOa1xo.js} +2 -2
  113. package/dashboard/dist/assets/{NamespacePill-C4u6Go1W.js.map → NamespacePill-B3YOa1xo.js.map} +1 -1
  114. package/dashboard/dist/assets/{OperationsPage-D37cZ8Qh.js → OperationsPage-CVPDugQz.js} +2 -2
  115. package/dashboard/dist/assets/OperationsPage-CVPDugQz.js.map +1 -0
  116. package/dashboard/dist/assets/OperatorDashboard-CK-4GREp.js +2 -0
  117. package/dashboard/dist/assets/{OperatorDashboard-_axS17fp.js.map → OperatorDashboard-CK-4GREp.js.map} +1 -1
  118. package/dashboard/dist/assets/{PageHeader-Bxa1XFz0.js → PageHeader-poyTWcUA.js} +2 -2
  119. package/dashboard/dist/assets/{PageHeader-Bxa1XFz0.js.map → PageHeader-poyTWcUA.js.map} +1 -1
  120. package/dashboard/dist/assets/{PageHeaderWithStats-D_sO0MqJ.js → PageHeaderWithStats-CAmspbl9.js} +2 -2
  121. package/dashboard/dist/assets/{PageHeaderWithStats-D_sO0MqJ.js.map → PageHeaderWithStats-CAmspbl9.js.map} +1 -1
  122. package/dashboard/dist/assets/{ProcessDetailPage-D8pAWUXx.js → ProcessDetailPage-BBCwv1bQ.js} +2 -2
  123. package/dashboard/dist/assets/{ProcessDetailPage-D8pAWUXx.js.map → ProcessDetailPage-BBCwv1bQ.js.map} +1 -1
  124. package/dashboard/dist/assets/{ProcessesListPage-CoQEi_Su.js → ProcessesListPage-m70xmTZx.js} +2 -2
  125. package/dashboard/dist/assets/{ProcessesListPage-CoQEi_Su.js.map → ProcessesListPage-m70xmTZx.js.map} +1 -1
  126. package/dashboard/dist/assets/RoleDetailPage-l865Cx3n.js +8 -0
  127. package/dashboard/dist/assets/RoleDetailPage-l865Cx3n.js.map +1 -0
  128. package/dashboard/dist/assets/RolePill-C0SWz9X7.js +2 -0
  129. package/dashboard/dist/assets/RolePill-C0SWz9X7.js.map +1 -0
  130. package/dashboard/dist/assets/RolesPage-Wzfjz7Wc.js +2 -0
  131. package/dashboard/dist/assets/RolesPage-Wzfjz7Wc.js.map +1 -0
  132. package/dashboard/dist/assets/{RunAsSelector-BebF8Lib.js → RunAsSelector-DlnIolTf.js} +2 -2
  133. package/dashboard/dist/assets/{RunAsSelector-BebF8Lib.js.map → RunAsSelector-DlnIolTf.js.map} +1 -1
  134. package/dashboard/dist/assets/{SlidePanel-BDVDuwIf.js → SlidePanel-Bm9B6zIA.js} +2 -2
  135. package/dashboard/dist/assets/{SlidePanel-BDVDuwIf.js.map → SlidePanel-Bm9B6zIA.js.map} +1 -1
  136. package/dashboard/dist/assets/{StickyPagination-Cd83AHd_.js → StickyPagination-BHF5fTt5.js} +2 -2
  137. package/dashboard/dist/assets/{StickyPagination-Cd83AHd_.js.map → StickyPagination-BHF5fTt5.js.map} +1 -1
  138. package/dashboard/dist/assets/{StreamMessageDetail-BIXbrZM0.js → StreamMessageDetail-Dgp1lzay.js} +2 -2
  139. package/dashboard/dist/assets/{StreamMessageDetail-BIXbrZM0.js.map → StreamMessageDetail-Dgp1lzay.js.map} +1 -1
  140. package/dashboard/dist/assets/{SwimlaneTimeline-CC5qZjYo.js → SwimlaneTimeline-BlptZ8lr.js} +2 -2
  141. package/dashboard/dist/assets/{SwimlaneTimeline-CC5qZjYo.js.map → SwimlaneTimeline-BlptZ8lr.js.map} +1 -1
  142. package/dashboard/dist/assets/{TagInput-C2gi47M8.js → TagInput-CM3AV5Ky.js} +2 -2
  143. package/dashboard/dist/assets/{TagInput-C2gi47M8.js.map → TagInput-CM3AV5Ky.js.map} +1 -1
  144. package/dashboard/dist/assets/{TaskDetailPage-DnjhW7qv.js → TaskDetailPage-f5K9dVPG.js} +2 -2
  145. package/dashboard/dist/assets/{TaskDetailPage-DnjhW7qv.js.map → TaskDetailPage-f5K9dVPG.js.map} +1 -1
  146. package/dashboard/dist/assets/{TaskQueuePill-BPP0Almh.js → TaskQueuePill-BZYmqdcv.js} +2 -2
  147. package/dashboard/dist/assets/{TaskQueuePill-BPP0Almh.js.map → TaskQueuePill-BZYmqdcv.js.map} +1 -1
  148. package/dashboard/dist/assets/{TasksListPage-DySfZFgs.js → TasksListPage-BPyPG6UY.js} +2 -2
  149. package/dashboard/dist/assets/{TasksListPage-DySfZFgs.js.map → TasksListPage-BPyPG6UY.js.map} +1 -1
  150. package/dashboard/dist/assets/{TimeAgo-BKOl-7Tt.js → TimeAgo-CBaGbueK.js} +2 -2
  151. package/dashboard/dist/assets/{TimeAgo-BKOl-7Tt.js.map → TimeAgo-CBaGbueK.js.map} +1 -1
  152. package/dashboard/dist/assets/{TimestampCell-DGOsba-A.js → TimestampCell-Z5kDrR9U.js} +2 -2
  153. package/dashboard/dist/assets/{TimestampCell-DGOsba-A.js.map → TimestampCell-Z5kDrR9U.js.map} +1 -1
  154. package/dashboard/dist/assets/{ToolPill-D74TkYB-.js → ToolPill-D_-m3lUO.js} +2 -2
  155. package/dashboard/dist/assets/{ToolPill-D74TkYB-.js.map → ToolPill-D_-m3lUO.js.map} +1 -1
  156. package/dashboard/dist/assets/{ToolTestPanel-Bez6OyRL.js → ToolTestPanel-DFrP_aMx.js} +2 -2
  157. package/dashboard/dist/assets/{ToolTestPanel-Bez6OyRL.js.map → ToolTestPanel-DFrP_aMx.js.map} +1 -1
  158. package/dashboard/dist/assets/{TopicDetailPage-BHccgkU_.js → TopicDetailPage-Cj9qXnTW.js} +3 -3
  159. package/dashboard/dist/assets/TopicDetailPage-Cj9qXnTW.js.map +1 -0
  160. package/dashboard/dist/assets/{TopicsPage-5yW63ELl.js → TopicsPage-Dyq6niOv.js} +2 -2
  161. package/dashboard/dist/assets/{TopicsPage-5yW63ELl.js.map → TopicsPage-Dyq6niOv.js.map} +1 -1
  162. package/dashboard/dist/assets/{UserName-DcXhOSVm.js → UserName-DOX2P-8M.js} +2 -2
  163. package/dashboard/dist/assets/{UserName-DcXhOSVm.js.map → UserName-DOX2P-8M.js.map} +1 -1
  164. package/dashboard/dist/assets/WorkflowExecutionPage-Cb_dSIoq.js +2 -0
  165. package/dashboard/dist/assets/WorkflowExecutionPage-Cb_dSIoq.js.map +1 -0
  166. package/dashboard/dist/assets/{WorkflowPill-Fjc2q9U9.js → WorkflowPill-CyYYPB7b.js} +2 -2
  167. package/dashboard/dist/assets/{WorkflowPill-Fjc2q9U9.js.map → WorkflowPill-CyYYPB7b.js.map} +1 -1
  168. package/dashboard/dist/assets/{WorkflowsDashboard-C0Bbrd5M.js → WorkflowsDashboard-DJpMO5IY.js} +2 -2
  169. package/dashboard/dist/assets/{WorkflowsDashboard-C0Bbrd5M.js.map → WorkflowsDashboard-DJpMO5IY.js.map} +1 -1
  170. package/dashboard/dist/assets/{WorkflowsOverview-D8MkSMex.js → WorkflowsOverview-CCC_KaXz.js} +2 -2
  171. package/dashboard/dist/assets/{WorkflowsOverview-D8MkSMex.js.map → WorkflowsOverview-CCC_KaXz.js.map} +1 -1
  172. package/dashboard/dist/assets/{YamlWorkflowDetailPage-BcbrYhDI.js → YamlWorkflowDetailPage-C3ntUyoZ.js} +2 -2
  173. package/dashboard/dist/assets/{YamlWorkflowDetailPage-BcbrYhDI.js.map → YamlWorkflowDetailPage-C3ntUyoZ.js.map} +1 -1
  174. package/dashboard/dist/assets/{YamlWorkflowsPage-9Ki54d-9.js → YamlWorkflowsPage-ju-9JDXg.js} +2 -2
  175. package/dashboard/dist/assets/{YamlWorkflowsPage-9Ki54d-9.js.map → YamlWorkflowsPage-ju-9JDXg.js.map} +1 -1
  176. package/dashboard/dist/assets/{agents-CopQ3t5o.js → agents-gs9fea8r.js} +2 -2
  177. package/dashboard/dist/assets/{agents-CopQ3t5o.js.map → agents-gs9fea8r.js.map} +1 -1
  178. package/dashboard/dist/assets/bots-DYxAHrob.js +2 -0
  179. package/dashboard/dist/assets/bots-DYxAHrob.js.map +1 -0
  180. package/dashboard/dist/assets/{capabilities-5JRieYUy.js → capabilities-BJoxz6DJ.js} +2 -2
  181. package/dashboard/dist/assets/{capabilities-5JRieYUy.js.map → capabilities-BJoxz6DJ.js.map} +1 -1
  182. package/dashboard/dist/assets/{controlplane-B4rT6tIw.js → controlplane-BeDZgDDf.js} +2 -2
  183. package/dashboard/dist/assets/{controlplane-B4rT6tIw.js.map → controlplane-BeDZgDDf.js.map} +1 -1
  184. package/dashboard/dist/assets/escalation-columns-CZ4fl0IE.js +2 -0
  185. package/dashboard/dist/assets/escalation-columns-CZ4fl0IE.js.map +1 -0
  186. package/dashboard/dist/assets/{index-CUZJHXew.js → index-BMM3Xug7.js} +2 -2
  187. package/dashboard/dist/assets/index-BMM3Xug7.js.map +1 -0
  188. package/dashboard/dist/assets/index-BMXkxgnK.js +2 -0
  189. package/dashboard/dist/assets/{index-BOJMUk4F.js.map → index-BMXkxgnK.js.map} +1 -1
  190. package/dashboard/dist/assets/{index-mcAkQblr.js → index-Bj1Mjjiv.js} +2 -2
  191. package/dashboard/dist/assets/{index-mcAkQblr.js.map → index-Bj1Mjjiv.js.map} +1 -1
  192. package/dashboard/dist/assets/{index-iOb3sGsC.js → index-BqVb13tE.js} +2 -2
  193. package/dashboard/dist/assets/index-BqVb13tE.js.map +1 -0
  194. package/dashboard/dist/assets/{index-CDHDoHYz.js → index-CGrtjUdj.js} +2 -2
  195. package/dashboard/dist/assets/{index-CDHDoHYz.js.map → index-CGrtjUdj.js.map} +1 -1
  196. package/dashboard/dist/assets/{index-BAi89Xpm.js → index-CQ8cd4JZ.js} +2 -2
  197. package/dashboard/dist/assets/{index-BAi89Xpm.js.map → index-CQ8cd4JZ.js.map} +1 -1
  198. package/dashboard/dist/assets/{index-B68A3v-S.js → index-CruL35yU.js} +2 -2
  199. package/dashboard/dist/assets/{index-B68A3v-S.js.map → index-CruL35yU.js.map} +1 -1
  200. package/dashboard/dist/assets/index-DAM1Dm1F.js +2 -0
  201. package/dashboard/dist/assets/index-DAM1Dm1F.js.map +1 -0
  202. package/dashboard/dist/assets/{index-Dd1RxGNw.js → index-DZ7PWRg1.js} +2 -2
  203. package/dashboard/dist/assets/{index-Dd1RxGNw.js.map → index-DZ7PWRg1.js.map} +1 -1
  204. package/dashboard/dist/assets/{index-BxgtIqvl.js → index-DfbrPOP3.js} +2 -2
  205. package/dashboard/dist/assets/{index-BxgtIqvl.js.map → index-DfbrPOP3.js.map} +1 -1
  206. package/dashboard/dist/assets/index-DwuM7Fka.js +5 -0
  207. package/dashboard/dist/assets/index-DwuM7Fka.js.map +1 -0
  208. package/dashboard/dist/assets/index-DycfrrTK.js +63 -0
  209. package/dashboard/dist/assets/index-DycfrrTK.js.map +1 -0
  210. package/dashboard/dist/assets/{index-BrgYykPV.js → index-tbvwCdvQ.js} +2 -2
  211. package/dashboard/dist/assets/{index-BrgYykPV.js.map → index-tbvwCdvQ.js.map} +1 -1
  212. package/dashboard/dist/assets/index-zP2ncT4m.css +1 -0
  213. package/dashboard/dist/assets/{knowledge-B9bmoXOe.js → knowledge-DZnI1Fdk.js} +2 -2
  214. package/dashboard/dist/assets/{knowledge-B9bmoXOe.js.map → knowledge-DZnI1Fdk.js.map} +1 -1
  215. package/dashboard/dist/assets/{mcp-DYMFBOFz.js → mcp-BB_m6UyI.js} +2 -2
  216. package/dashboard/dist/assets/{mcp-DYMFBOFz.js.map → mcp-BB_m6UyI.js.map} +1 -1
  217. package/dashboard/dist/assets/{mcp-query-wloSpyPM.js → mcp-query-BTSWn0de.js} +2 -2
  218. package/dashboard/dist/assets/{mcp-query-wloSpyPM.js.map → mcp-query-BTSWn0de.js.map} +1 -1
  219. package/dashboard/dist/assets/{pipelines-DBXX6TEi.js → pipelines-CvGQLyUz.js} +2 -2
  220. package/dashboard/dist/assets/{pipelines-DBXX6TEi.js.map → pipelines-CvGQLyUz.js.map} +1 -1
  221. package/dashboard/dist/assets/task-queues-7-sHKPsN.js +2 -0
  222. package/dashboard/dist/assets/task-queues-7-sHKPsN.js.map +1 -0
  223. package/dashboard/dist/assets/{tasks-CD3-C7tP.js → tasks-BbgOhCVm.js} +2 -2
  224. package/dashboard/dist/assets/{tasks-CD3-C7tP.js.map → tasks-BbgOhCVm.js.map} +1 -1
  225. package/dashboard/dist/assets/{topics-D8pKi6zA.js → topics-D9usuYHv.js} +2 -2
  226. package/dashboard/dist/assets/{topics-D8pKi6zA.js.map → topics-D9usuYHv.js.map} +1 -1
  227. package/dashboard/dist/assets/{useEventHooks-DV9pLDOW.js → useEventHooks-DxnqYVPg.js} +2 -2
  228. package/dashboard/dist/assets/{useEventHooks-DV9pLDOW.js.map → useEventHooks-DxnqYVPg.js.map} +1 -1
  229. package/dashboard/dist/assets/{useNamespace-DykYhZY9.js → useNamespace-CBAn0o5z.js} +2 -2
  230. package/dashboard/dist/assets/{useNamespace-DykYhZY9.js.map → useNamespace-CBAn0o5z.js.map} +1 -1
  231. package/dashboard/dist/assets/{useYamlActivityEvents-By044UAv.js → useYamlActivityEvents-blOlKGDO.js} +2 -2
  232. package/dashboard/dist/assets/{useYamlActivityEvents-By044UAv.js.map → useYamlActivityEvents-blOlKGDO.js.map} +1 -1
  233. package/dashboard/dist/assets/{users-mI9goDjj.js → users-CYVJHgNM.js} +2 -2
  234. package/dashboard/dist/assets/{users-mI9goDjj.js.map → users-CYVJHgNM.js.map} +1 -1
  235. package/dashboard/dist/assets/{vendor-icons-ihWGa7_d.js → vendor-icons-B98-XxNc.js} +2 -2
  236. package/dashboard/dist/assets/{vendor-icons-ihWGa7_d.js.map → vendor-icons-B98-XxNc.js.map} +1 -1
  237. package/dashboard/dist/assets/{workflows-DCUilz68.js → workflows-csQAJF0G.js} +2 -2
  238. package/dashboard/dist/assets/{workflows-DCUilz68.js.map → workflows-csQAJF0G.js.map} +1 -1
  239. package/dashboard/dist/assets/{yaml-workflows-DWNMP1PT.js → yaml-workflows-CctsTDby.js} +2 -2
  240. package/dashboard/dist/assets/{yaml-workflows-DWNMP1PT.js.map → yaml-workflows-CctsTDby.js.map} +1 -1
  241. package/dashboard/dist/index.html +3 -3
  242. package/docs/api/http/escalations.md +15 -1
  243. package/docs/api/http/roles.md +2 -0
  244. package/docs/hitl/x-lt-list-schema.md +8 -1
  245. package/docs/hitl-guide.md +3 -2
  246. package/docs/schema-enforcement.md +149 -0
  247. package/package.json +1 -1
  248. package/dashboard/dist/assets/AgentConfigPage-CqmtYBbC.js.map +0 -1
  249. package/dashboard/dist/assets/AvailableEscalationsPage-DDVuivEE.js +0 -2
  250. package/dashboard/dist/assets/AvailableEscalationsPage-DDVuivEE.js.map +0 -1
  251. package/dashboard/dist/assets/BotPicker-2QEIpc-K.js +0 -2
  252. package/dashboard/dist/assets/BotPicker-2QEIpc-K.js.map +0 -1
  253. package/dashboard/dist/assets/CustomDurationPicker-j4bBrDJ6.js.map +0 -1
  254. package/dashboard/dist/assets/GraphInvokePage-DbHvggQ_.js.map +0 -1
  255. package/dashboard/dist/assets/HomePage-BpexnDO_.js +0 -2
  256. package/dashboard/dist/assets/HomePage-BpexnDO_.js.map +0 -1
  257. package/dashboard/dist/assets/McpRunDetailPage-BM3mUSlH.js +0 -2
  258. package/dashboard/dist/assets/McpRunDetailPage-BM3mUSlH.js.map +0 -1
  259. package/dashboard/dist/assets/OperationsPage-D37cZ8Qh.js.map +0 -1
  260. package/dashboard/dist/assets/OperatorDashboard-_axS17fp.js +0 -2
  261. package/dashboard/dist/assets/RoleDetailPage-ufbypNNR.js +0 -8
  262. package/dashboard/dist/assets/RoleDetailPage-ufbypNNR.js.map +0 -1
  263. package/dashboard/dist/assets/RolePill-DLwmVMam.js +0 -2
  264. package/dashboard/dist/assets/RolePill-DLwmVMam.js.map +0 -1
  265. package/dashboard/dist/assets/RolesPage-CxpXm4Sw.js +0 -2
  266. package/dashboard/dist/assets/RolesPage-CxpXm4Sw.js.map +0 -1
  267. package/dashboard/dist/assets/TopicDetailPage-BHccgkU_.js.map +0 -1
  268. package/dashboard/dist/assets/WorkflowExecutionPage-CDDLled5.js +0 -2
  269. package/dashboard/dist/assets/WorkflowExecutionPage-CDDLled5.js.map +0 -1
  270. package/dashboard/dist/assets/bots-CAYJYL9E.js +0 -2
  271. package/dashboard/dist/assets/bots-CAYJYL9E.js.map +0 -1
  272. package/dashboard/dist/assets/escalation-columns-BbS5X61l.js +0 -2
  273. package/dashboard/dist/assets/escalation-columns-BbS5X61l.js.map +0 -1
  274. package/dashboard/dist/assets/index-BJ0jjFsI.js +0 -5
  275. package/dashboard/dist/assets/index-BJ0jjFsI.js.map +0 -1
  276. package/dashboard/dist/assets/index-BOJMUk4F.js +0 -2
  277. package/dashboard/dist/assets/index-C0cHXaX-.css +0 -1
  278. package/dashboard/dist/assets/index-CUZJHXew.js.map +0 -1
  279. package/dashboard/dist/assets/index-D5n_e59T.js +0 -2
  280. package/dashboard/dist/assets/index-D5n_e59T.js.map +0 -1
  281. package/dashboard/dist/assets/index-DIgiIoou.js +0 -63
  282. package/dashboard/dist/assets/index-DIgiIoou.js.map +0 -1
  283. package/dashboard/dist/assets/index-iOb3sGsC.js.map +0 -1
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.evaluateShowIf = evaluateShowIf;
4
+ /**
5
+ * x-lt-showIf — conditional field visibility. A form_schema property may
6
+ * declare `x-lt-showIf: "domain.path"` to show the field only when the value
7
+ * at that path is present and truthy. Prefix `!` to invert: show when absent
8
+ * or falsy.
9
+ *
10
+ * Equality forms compare the resolved value's string form:
11
+ * "domain.path=VALUE" — show when String(value) equals VALUE
12
+ * "domain.path!=VALUE" — show when it does not
13
+ * An absent value compares as the empty string, so `=X` is false and `!=X` is
14
+ * true when the path is missing. VALUE is the raw remainder after the operator
15
+ * (trimmed; no quoting). The truthy/! forms are unchanged.
16
+ *
17
+ * Domains follow the same `domain.path` convention as x-lt-help tokens:
18
+ * metadata — the escalation row's metadata dict
19
+ * payload — the escalation context payload (escalation_payload)
20
+ * envelope — the workflow-sent input envelope
21
+ * escalation — top-level escalation row fields
22
+ * resolver — the submitted resolver payload
23
+ *
24
+ * A missing or non-string condition always shows the field (opt-in, safe default).
25
+ */
26
+ const x_lt_bind_1 = require("./x-lt-bind");
27
+ const x_lt_help_1 = require("./x-lt-help");
28
+ function isTruthy(value) {
29
+ return value !== null && value !== undefined && value !== '' && value !== false && value !== 0;
30
+ }
31
+ /** The value's comparable string form; absent compares as the empty string. */
32
+ function asComparable(value) {
33
+ if (value === null || value === undefined)
34
+ return '';
35
+ if (typeof value === 'object')
36
+ return JSON.stringify(value);
37
+ return String(value);
38
+ }
39
+ function resolvePath(expr, ctx) {
40
+ const dot = expr.indexOf('.');
41
+ const domain = (dot === -1 ? expr : expr.slice(0, dot));
42
+ if (!x_lt_help_1.HELP_DOMAINS.includes(domain))
43
+ return { known: false, value: undefined };
44
+ const root = ctx[domain];
45
+ if (dot === -1)
46
+ return { known: true, value: root };
47
+ try {
48
+ return { known: true, value: (0, x_lt_bind_1.getDeep)(root, expr.slice(dot + 1)) };
49
+ }
50
+ catch {
51
+ return { known: true, value: undefined };
52
+ }
53
+ }
54
+ /**
55
+ * Evaluates an x-lt-showIf condition. Returns true when the field should be
56
+ * shown. Returns true when condition is absent, non-string, or context is null.
57
+ */
58
+ function evaluateShowIf(condition, ctx) {
59
+ if (typeof condition !== 'string' || condition.length === 0)
60
+ return true;
61
+ if (!ctx)
62
+ return true;
63
+ const negate = condition.startsWith('!');
64
+ const expr = negate ? condition.slice(1) : condition;
65
+ // Equality forms — `!=` first so it never parses as `=` with a `!` in the path.
66
+ const neqAt = expr.indexOf('!=');
67
+ const eqAt = expr.indexOf('=');
68
+ if (neqAt !== -1 || (eqAt !== -1 && eqAt !== neqAt + 1)) {
69
+ const isNeq = neqAt !== -1 && (eqAt === -1 || neqAt < eqAt);
70
+ const opAt = isNeq ? neqAt : eqAt;
71
+ const path = expr.slice(0, opAt).trim();
72
+ const expected = expr.slice(opAt + (isNeq ? 2 : 1)).trim();
73
+ const { known, value } = resolvePath(path, ctx);
74
+ if (!known)
75
+ return true; // unknown domain — safe default, same as truthy form
76
+ const matches = asComparable(value) === expected;
77
+ const result = isNeq ? !matches : matches;
78
+ return negate ? !result : result;
79
+ }
80
+ const { known, value } = resolvePath(expr, ctx);
81
+ if (!known)
82
+ return true;
83
+ return negate ? !isTruthy(value) : isTruthy(value);
84
+ }
@@ -567,6 +567,7 @@ export declare const updateRoleSchema: z.ZodObject<{
567
567
  worker_count: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
568
568
  priority_threshold_minutes: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
569
569
  priority_facet: z.ZodOptional<z.ZodNullable<z.ZodString>>;
570
+ enforce_schema: z.ZodOptional<z.ZodBoolean>;
570
571
  upstream_roles: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
571
572
  list_schema: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodAny>>>;
572
573
  default_pins: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
@@ -603,6 +604,7 @@ export declare const updateRoleSchema: z.ZodObject<{
603
604
  worker_count?: number | null | undefined;
604
605
  priority_threshold_minutes?: number | null | undefined;
605
606
  priority_facet?: string | null | undefined;
607
+ enforce_schema?: boolean | undefined;
606
608
  upstream_roles?: string[] | null | undefined;
607
609
  change_summary?: string | undefined;
608
610
  }, {
@@ -625,6 +627,7 @@ export declare const updateRoleSchema: z.ZodObject<{
625
627
  worker_count?: number | null | undefined;
626
628
  priority_threshold_minutes?: number | null | undefined;
627
629
  priority_facet?: string | null | undefined;
630
+ enforce_schema?: boolean | undefined;
628
631
  upstream_roles?: string[] | null | undefined;
629
632
  change_summary?: string | undefined;
630
633
  }>;
@@ -249,6 +249,7 @@ exports.updateRoleSchema = zod_1.z.object({
249
249
  worker_count: zod_1.z.number().nullable().optional().describe('Capacity at this station (staff or machine count). One of the capacity settings.'),
250
250
  priority_threshold_minutes: zod_1.z.number().min(0).nullable().optional().describe('Max age in minutes before a pending unclaimed escalation counts toward the Pace Board priority count. Falls back to sla_minutes when null.'),
251
251
  priority_facet: zod_1.z.string().regex(facet_sql_1.FACET_KEY).nullable().optional().describe('lt_escalations.metadata key holding the age origin for the priority count as an ISO 8601 UTC timestamp (e.g. authorized_at). Falls back to created_at when null. When set, items missing the key or holding an unparseable value are not counted.'),
252
+ enforce_schema: zod_1.z.boolean().optional().describe('When true, every resolve surface validates the submitted resolverPayload against the escalation\'s form schema (the same pass the dashboard runs) and rejects violations with a structured schema_validation error before any state changes.'),
252
253
  upstream_roles: zod_1.z.array(zod_1.z.string()).nullable().optional().describe('Replace the set of roles this station draws input from across other sequences (parent_role stays the single prior step in its own sequence). Omitted = preserve; null or [] = clear.'),
253
254
  list_schema: zod_1.z.record(zod_1.z.any()).nullable().optional().describe('JSON contract (x-lt-* markup) that richly formats this role\'s escalation LIST page. Versioned independently of form_schema; the list always renders the latest version.'),
254
255
  default_pins: zod_1.z.array(zod_1.z.object({
@@ -195,7 +195,8 @@ function registerUserTools(server) {
195
195
  title: 'Update Role',
196
196
  description: 'Update role metadata with PATCH semantics — omitted fields keep their ' +
197
197
  'values. Covers display name, description, form/metadata/list schemas, ' +
198
- 'the free properties bag, ops_visible flag, parent role, default_pins ' +
198
+ 'the free properties bag, ops_visible flag, enforce_schema ' +
199
+ '(server-side resolver validation), parent role, default_pins ' +
199
200
  '(member pinned-view seeds), and the typed operational targets ' +
200
201
  '(sla_minutes, target_per_hour, worker_count, ' +
201
202
  'priority_threshold_minutes, priority_facet).',
@@ -214,6 +215,7 @@ function registerUserTools(server) {
214
215
  worker_count: args.worker_count,
215
216
  priority_threshold_minutes: args.priority_threshold_minutes,
216
217
  priority_facet: args.priority_facet,
218
+ enforce_schema: args.enforce_schema,
217
219
  upstream_roles: args.upstream_roles,
218
220
  list_schema: args.list_schema,
219
221
  default_pins: args.default_pins,
@@ -46,23 +46,23 @@ export declare const claimAndResolveSchema: z.ZodObject<{
46
46
  resolver_id: z.ZodString;
47
47
  payload: z.ZodRecord<z.ZodString, z.ZodAny>;
48
48
  }, "strip", z.ZodTypeAny, {
49
+ payload: Record<string, any>;
49
50
  escalation_id: string;
50
51
  resolver_id: string;
51
- payload: Record<string, any>;
52
52
  }, {
53
+ payload: Record<string, any>;
53
54
  escalation_id: string;
54
55
  resolver_id: string;
55
- payload: Record<string, any>;
56
56
  }>;
57
57
  export declare const resolveEscalationSchema: z.ZodObject<{
58
58
  escalation_id: z.ZodString;
59
59
  payload: z.ZodRecord<z.ZodString, z.ZodAny>;
60
60
  }, "strip", z.ZodTypeAny, {
61
- escalation_id: string;
62
61
  payload: Record<string, any>;
63
- }, {
64
62
  escalation_id: string;
63
+ }, {
65
64
  payload: Record<string, any>;
65
+ escalation_id: string;
66
66
  }>;
67
67
  export declare const escalateAndWaitSchema: z.ZodObject<{
68
68
  role: z.ZodString;
@@ -24,7 +24,10 @@ exports.getAvailableWorkSchema = zod_1.z.object({
24
24
  // The payload is stored exactly as submitted — the resolver payload IS the
25
25
  // payload. Shape it to match the role form's x-lt-bind paths (see the form_schema
26
26
  // check_resolution returns for a pending escalation); no server-side transform.
27
- const RESOLVER_PAYLOAD_DESC = 'Resolution payload, stored as-is. Match the shape the workflow consumes (the form_schema\'s x-lt-bind paths).';
27
+ const RESOLVER_PAYLOAD_DESC = 'Resolution payload, stored as-is. Match the shape the workflow consumes (the form_schema\'s x-lt-bind paths). '
28
+ + 'Roles with enforce_schema validate it server-side: required fields (respecting x-lt-showIf), declared types '
29
+ + '(number vs string), enums, bounds, patterns, and x-lt-require-all checklists. Violations return a '
30
+ + 'schema_validation error listing each field.';
28
31
  exports.claimAndResolveSchema = zod_1.z.object({
29
32
  escalation_id: zod_1.z.string().describe('The escalation ID to claim and resolve'),
30
33
  resolver_id: zod_1.z.string().describe('Identifier for who/what is resolving'),
@@ -40,9 +40,36 @@ const crypto = __importStar(require("crypto"));
40
40
  const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
41
41
  const logger_1 = require("../../lib/logger");
42
42
  const escalationService = __importStar(require("../../services/escalation"));
43
+ const resolver_validation_1 = require("../../services/escalation/resolver-validation");
44
+ const enforcement_cache_1 = require("../../services/role/enforcement-cache");
43
45
  const escalation_1 = require("../../types/escalation");
44
46
  const human_queue_schemas_1 = require("./human-queue-schemas");
45
47
  let server = null;
48
+ /**
49
+ * Schema enforcement for the MCP resolve tools — the same gate the HTTP
50
+ * surfaces run (agents and the sim workforce submit through these tools, so
51
+ * they get the same contract and the same canonical violation body). Costs
52
+ * zero reads when no role enforces (cached set); otherwise one row read.
53
+ * Returns the MCP error content when the payload is rejected, null to proceed.
54
+ */
55
+ async function checkResolveToolPayload(escalationId, payload) {
56
+ const enforcing = await (0, enforcement_cache_1.getEnforcingRoles)();
57
+ if (enforcing.size === 0)
58
+ return null;
59
+ const escalation = await escalationService.getEscalation(escalationId);
60
+ if (!escalation || !enforcing.has(escalation.role))
61
+ return null;
62
+ const report = await (0, resolver_validation_1.checkResolverPayload)(escalation, payload);
63
+ if (!report)
64
+ return null;
65
+ return {
66
+ content: [{
67
+ type: 'text',
68
+ text: JSON.stringify((0, resolver_validation_1.toValidationErrorBody)(report)),
69
+ }],
70
+ isError: true,
71
+ };
72
+ }
46
73
  /**
47
74
  * Create the Long Tail Human Queue MCP server.
48
75
  *
@@ -129,6 +156,11 @@ async function createHumanQueueServer(options) {
129
156
  else if (escalation.status === 'pending' && detail.form_schema) {
130
157
  // The shape the resolver payload should take (fields + x-lt-bind paths).
131
158
  result.form_schema = detail.form_schema;
159
+ // Tell the agent when this role ENFORCES the form: an incomplete or
160
+ // mis-typed payload will be rejected with a schema_validation error.
161
+ if ((await (0, enforcement_cache_1.getEnforcingRoles)()).has(escalation.role)) {
162
+ result.schema_enforced = true;
163
+ }
132
164
  }
133
165
  return {
134
166
  content: [{ type: 'text', text: JSON.stringify(result) }],
@@ -163,9 +195,13 @@ async function createHumanQueueServer(options) {
163
195
  // ── claim_and_resolve ───────────────────────────────────────────────
164
196
  server.registerTool('claim_and_resolve', {
165
197
  title: 'Claim and Resolve',
166
- description: 'Claim an escalation and immediately resolve it with a payload. Atomic operation.',
198
+ description: 'Claim an escalation and immediately resolve it with a payload. Atomic operation. Roles with enforce_schema validate the payload against the form_schema (see check_resolution) and reject violations with a schema_validation error listing each field.',
167
199
  inputSchema: human_queue_schemas_1.claimAndResolveSchema,
168
200
  }, async (args) => {
201
+ // Validate BEFORE claiming — a rejected payload must never strand a claim.
202
+ const rejected = await checkResolveToolPayload(args.escalation_id, args.payload);
203
+ if (rejected)
204
+ return rejected;
169
205
  const claimed = await escalationService.claimEscalation(args.escalation_id, args.resolver_id, 5);
170
206
  if (!claimed) {
171
207
  return {
@@ -200,9 +236,12 @@ async function createHumanQueueServer(options) {
200
236
  // ── resolve_escalation ──────────────────────────────────────────────
201
237
  server.registerTool('resolve_escalation', {
202
238
  title: 'Resolve Escalation',
203
- description: 'Resolve an already-claimed escalation with a payload. Use when the claim happened externally (e.g. via API).',
239
+ description: 'Resolve an already-claimed escalation with a payload. Use when the claim happened externally (e.g. via API). Roles with enforce_schema validate the payload against the form_schema (see check_resolution) and reject violations with a schema_validation error listing each field.',
204
240
  inputSchema: human_queue_schemas_1.resolveEscalationSchema,
205
241
  }, async (args) => {
242
+ const rejected = await checkResolveToolPayload(args.escalation_id, args.payload);
243
+ if (rejected)
244
+ return rejected;
206
245
  const resolved = await escalationService.resolveEscalation(args.escalation_id, args.payload);
207
246
  if (!resolved) {
208
247
  return {
@@ -1 +1 @@
1
- {"root":["../index.ts","../vitest.config.ts","../vitest.integration.config.ts","../adapters/express.ts","../api/agent-subscriptions.ts","../api/agents.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/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/pipelines.ts","../api/roles.ts","../api/settings.ts","../api/tasks.ts","../api/topics.ts","../api/users.ts","../api/workflow-sets.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/metadata.ts","../api/escalations/resolve.ts","../api/escalations/single.ts","../api/mcp/index.ts","../api/mcp/servers.ts","../api/mcp/tools.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/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/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/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/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/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/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/pipelines.ts","../routes/roles.ts","../routes/settings.ts","../routes/tasks.ts","../routes/topics.ts","../routes/users.ts","../routes/workflow-sets.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/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/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/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/sql.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/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/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/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/index.ts","../services/role/schema-validator.ts","../services/role/sql.ts","../services/role/types.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","../start/adapters.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/bot-accounts.ts","../system/mcp-servers/admin/controlplane.ts","../system/mcp-servers/admin/diagnostics.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/ortho.ts","../system/mcp-servers/admin/overview.ts","../system/mcp-servers/admin/pipelines.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","../types/agent.ts","../types/auth.ts","../types/config.ts","../types/delegation.ts","../types/discovery.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/sdk.ts","../types/startup.ts","../types/task.ts","../types/telemetry.ts","../types/tool-context.ts","../types/user.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/auth-sso.ts","../api/auth.ts","../api/bot-accounts.ts","../api/capabilities.ts","../api/controlplane.ts","../api/dba.ts","../api/diagnostics.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/pipelines.ts","../api/roles.ts","../api/settings.ts","../api/tasks.ts","../api/topics.ts","../api/users.ts","../api/workflow-sets.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/metadata.ts","../api/escalations/resolve.ts","../api/escalations/single.ts","../api/mcp/index.ts","../api/mcp/servers.ts","../api/mcp/tools.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/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/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/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/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/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/pipelines.ts","../routes/roles.ts","../routes/settings.ts","../routes/tasks.ts","../routes/topics.ts","../routes/users.ts","../routes/workflow-sets.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/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/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/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/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/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/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/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/sql.ts","../services/role/types.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/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-show-if.ts","../start/adapters.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/bot-accounts.ts","../system/mcp-servers/admin/controlplane.ts","../system/mcp-servers/admin/diagnostics.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/ortho.ts","../system/mcp-servers/admin/overview.ts","../system/mcp-servers/admin/pipelines.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","../types/agent.ts","../types/auth.ts","../types/config.ts","../types/delegation.ts","../types/discovery.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/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"}
@@ -11,10 +11,15 @@
11
11
  export interface LTApiResult<T = any> {
12
12
  /** HTTP-equivalent status code */
13
13
  status: number;
14
- /** Success payload (present when status is 2xx) */
14
+ /** Success payload (present when status is 2xx). On structured errors (e.g.
15
+ * 422 schema validation) it carries the canonical error body so routes
16
+ * serialize the full shape and SDK callers read it without re-fetching. */
15
17
  data?: T;
16
18
  /** Error message (present when status is 4xx/5xx) */
17
19
  error?: string;
20
+ /** Machine-readable error code (types/validation.ts LT_ERROR_CODES) for
21
+ * errors callers are expected to branch on, e.g. 'schema_validation'. */
22
+ code?: string;
18
23
  }
19
24
  /**
20
25
  * Auth context passed to API-layer functions.
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Canonical validation-error shapes — one vocabulary across every surface.
3
+ *
4
+ * When server-side resolver schema enforcement rejects a payload, the API
5
+ * layer returns status 422 with `LTValidationErrorBody` as the response body.
6
+ * The same body shape flows to every consumer:
7
+ * - HTTP routes serialize it as the JSON response body
8
+ * - SDK callers receive it as `result.data` (with `result.code` set)
9
+ * - MCP resolve tools return it as the tool's JSON error content
10
+ * - the CLI prints the violation list beneath the error line
11
+ * - the dashboard maps `violations` into the same errors panel the
12
+ * pre-submission pass feeds
13
+ */
14
+ /** Machine-readable error codes carried on error envelopes and bodies. */
15
+ export declare const LT_ERROR_CODES: {
16
+ /** The resolver payload failed the role's enforced form schema. */
17
+ readonly SCHEMA_VALIDATION: "schema_validation";
18
+ };
19
+ export type LTErrorCode = (typeof LT_ERROR_CODES)[keyof typeof LT_ERROR_CODES];
20
+ /**
21
+ * One field-level violation — the same `{ field, message }` pair the dashboard
22
+ * validation panel renders. Bulk surfaces add `escalationId` so a violation is
23
+ * attributable to the row that produced it.
24
+ */
25
+ export interface LTFieldViolation {
26
+ field: string;
27
+ message: string;
28
+ escalationId?: string;
29
+ }
30
+ /** The 422 response body for a schema-validation rejection. */
31
+ export interface LTValidationErrorBody {
32
+ /** Human-readable summary, e.g. "resolverPayload failed schema validation (2 violations)". */
33
+ error: string;
34
+ code: typeof LT_ERROR_CODES.SCHEMA_VALIDATION;
35
+ /** Every field-level violation, in schema property order. */
36
+ violations: LTFieldViolation[];
37
+ /** The role whose enforced schema rejected the payload. */
38
+ role: string;
39
+ /** The schema version validated against; null when the role's live (unversioned) schema applied. */
40
+ schemaVersion: number | null;
41
+ }
42
+ /** Narrow an unknown response body to the canonical validation-error shape. */
43
+ export declare function isValidationErrorBody(body: unknown): body is LTValidationErrorBody;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ /**
3
+ * Canonical validation-error shapes — one vocabulary across every surface.
4
+ *
5
+ * When server-side resolver schema enforcement rejects a payload, the API
6
+ * layer returns status 422 with `LTValidationErrorBody` as the response body.
7
+ * The same body shape flows to every consumer:
8
+ * - HTTP routes serialize it as the JSON response body
9
+ * - SDK callers receive it as `result.data` (with `result.code` set)
10
+ * - MCP resolve tools return it as the tool's JSON error content
11
+ * - the CLI prints the violation list beneath the error line
12
+ * - the dashboard maps `violations` into the same errors panel the
13
+ * pre-submission pass feeds
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.LT_ERROR_CODES = void 0;
17
+ exports.isValidationErrorBody = isValidationErrorBody;
18
+ /** Machine-readable error codes carried on error envelopes and bodies. */
19
+ exports.LT_ERROR_CODES = {
20
+ /** The resolver payload failed the role's enforced form schema. */
21
+ SCHEMA_VALIDATION: 'schema_validation',
22
+ };
23
+ /** Narrow an unknown response body to the canonical validation-error shape. */
24
+ function isValidationErrorBody(body) {
25
+ return (typeof body === 'object' && body !== null
26
+ && body.code === exports.LT_ERROR_CODES.SCHEMA_VALIDATION
27
+ && Array.isArray(body.violations));
28
+ }
@@ -1,2 +1,2 @@
1
- import{j as o}from"./vendor-query-B2UbickB.js";import{c as n}from"./tasks-CD3-C7tP.js";import{k as m}from"./index-DIgiIoou.js";import{f as c}from"./useEventHooks-DV9pLDOW.js";import{u}from"./mcp-DYMFBOFz.js";import{P as d}from"./PageHeaderWithStats-D_sO0MqJ.js";import"./vendor-react-CXumBFUA.js";import"./vendor-icons-ihWGa7_d.js";function j(){var a;c();const{data:s}=n({limit:1}),{data:e}=m({status:"pending",limit:1}),{data:t}=u(),r=((a=t==null?void 0:t.servers)==null?void 0:a.filter(i=>i.status==="connected").length)??0,l=t?`${r}/${t.total}`:"—";return o.jsx("div",{children:o.jsx(d,{title:"Admin",stats:[{label:"Tasks",value:(s==null?void 0:s.total)??"—"},{label:"Pending Escalations",value:(e==null?void 0:e.total)??"—",dotClass:"bg-status-pending"},{label:"MCP Servers",value:l},{label:"System",value:"Healthy",dotClass:"bg-status-success"}]})})}export{j as AdminDashboard};
2
- //# sourceMappingURL=AdminDashboard-Dy031e9g.js.map
1
+ import{j as o}from"./vendor-query-B2UbickB.js";import{c as n}from"./tasks-BbgOhCVm.js";import{k as m}from"./index-DycfrrTK.js";import{f as c}from"./useEventHooks-DxnqYVPg.js";import{u}from"./mcp-BB_m6UyI.js";import{P as d}from"./PageHeaderWithStats-CAmspbl9.js";import"./vendor-react-CXumBFUA.js";import"./vendor-icons-B98-XxNc.js";function j(){var a;c();const{data:s}=n({limit:1}),{data:e}=m({status:"pending",limit:1}),{data:t}=u(),r=((a=t==null?void 0:t.servers)==null?void 0:a.filter(i=>i.status==="connected").length)??0,l=t?`${r}/${t.total}`:"—";return o.jsx("div",{children:o.jsx(d,{title:"Admin",stats:[{label:"Tasks",value:(s==null?void 0:s.total)??"—"},{label:"Pending Escalations",value:(e==null?void 0:e.total)??"—",dotClass:"bg-status-pending"},{label:"MCP Servers",value:l},{label:"System",value:"Healthy",dotClass:"bg-status-success"}]})})}export{j as AdminDashboard};
2
+ //# sourceMappingURL=AdminDashboard-DQLGybZ9.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AdminDashboard-Dy031e9g.js","sources":["../../src/pages/admin/AdminDashboard.tsx"],"sourcesContent":["import { useTasks } from '../../api/tasks';\nimport { useEscalations } from '../../api/escalations';\nimport { useEscalationListEvents } from '../../hooks/useEventHooks';\nimport { useMcpServers } from '../../api/mcp';\nimport { PageHeaderWithStats } from '../../components/common/layout/PageHeaderWithStats';\n\nexport function AdminDashboard() {\n useEscalationListEvents();\n const { data: taskData } = useTasks({ limit: 1 });\n const { data: pendingEsc } = useEscalations({ status: 'pending', limit: 1 });\n const { data: mcpData } = useMcpServers();\n\n const connectedServers =\n mcpData?.servers?.filter((s) => s.status === 'connected').length ?? 0;\n const mcpLabel = mcpData ? `${connectedServers}/${mcpData.total}` : '—';\n\n return (\n <div>\n <PageHeaderWithStats\n title=\"Admin\"\n stats={[\n { label: 'Tasks', value: taskData?.total ?? '—' },\n { label: 'Pending Escalations', value: pendingEsc?.total ?? '—', dotClass: 'bg-status-pending' },\n { label: 'MCP Servers', value: mcpLabel },\n { label: 'System', value: 'Healthy', dotClass: 'bg-status-success' },\n ]}\n />\n </div>\n );\n}\n"],"names":["AdminDashboard","useEscalationListEvents","taskData","useTasks","pendingEsc","useEscalations","mcpData","useMcpServers","connectedServers","_a","s","mcpLabel","jsx","PageHeaderWithStats"],"mappings":"4UAMO,SAASA,GAAiB,OAC/BC,EAAA,EACA,KAAM,CAAE,KAAMC,CAAA,EAAaC,EAAS,CAAE,MAAO,EAAG,EAC1C,CAAE,KAAMC,CAAA,EAAeC,EAAe,CAAE,OAAQ,UAAW,MAAO,EAAG,EACrE,CAAE,KAAMC,CAAA,EAAYC,EAAA,EAEpBC,IACJC,EAAAH,GAAA,YAAAA,EAAS,UAAT,YAAAG,EAAkB,OAAQC,GAAMA,EAAE,SAAW,aAAa,SAAU,EAChEC,EAAWL,EAAU,GAAGE,CAAgB,IAAIF,EAAQ,KAAK,GAAK,IAEpE,aACG,MAAA,CACC,SAAAM,EAAAA,IAACC,EAAA,CACC,MAAM,QACN,MAAO,CACL,CAAE,MAAO,QAAS,OAAOX,GAAA,YAAAA,EAAU,QAAS,GAAA,EAC5C,CAAE,MAAO,sBAAuB,OAAOE,GAAA,YAAAA,EAAY,QAAS,IAAK,SAAU,mBAAA,EAC3E,CAAE,MAAO,cAAe,MAAOO,CAAA,EAC/B,CAAE,MAAO,SAAU,MAAO,UAAW,SAAU,mBAAA,CAAoB,CACrE,CAAA,EAEJ,CAEJ"}
1
+ {"version":3,"file":"AdminDashboard-DQLGybZ9.js","sources":["../../src/pages/admin/AdminDashboard.tsx"],"sourcesContent":["import { useTasks } from '../../api/tasks';\nimport { useEscalations } from '../../api/escalations';\nimport { useEscalationListEvents } from '../../hooks/useEventHooks';\nimport { useMcpServers } from '../../api/mcp';\nimport { PageHeaderWithStats } from '../../components/common/layout/PageHeaderWithStats';\n\nexport function AdminDashboard() {\n useEscalationListEvents();\n const { data: taskData } = useTasks({ limit: 1 });\n const { data: pendingEsc } = useEscalations({ status: 'pending', limit: 1 });\n const { data: mcpData } = useMcpServers();\n\n const connectedServers =\n mcpData?.servers?.filter((s) => s.status === 'connected').length ?? 0;\n const mcpLabel = mcpData ? `${connectedServers}/${mcpData.total}` : '—';\n\n return (\n <div>\n <PageHeaderWithStats\n title=\"Admin\"\n stats={[\n { label: 'Tasks', value: taskData?.total ?? '—' },\n { label: 'Pending Escalations', value: pendingEsc?.total ?? '—', dotClass: 'bg-status-pending' },\n { label: 'MCP Servers', value: mcpLabel },\n { label: 'System', value: 'Healthy', dotClass: 'bg-status-success' },\n ]}\n />\n </div>\n );\n}\n"],"names":["AdminDashboard","useEscalationListEvents","taskData","useTasks","pendingEsc","useEscalations","mcpData","useMcpServers","connectedServers","_a","s","mcpLabel","jsx","PageHeaderWithStats"],"mappings":"4UAMO,SAASA,GAAiB,OAC/BC,EAAA,EACA,KAAM,CAAE,KAAMC,CAAA,EAAaC,EAAS,CAAE,MAAO,EAAG,EAC1C,CAAE,KAAMC,CAAA,EAAeC,EAAe,CAAE,OAAQ,UAAW,MAAO,EAAG,EACrE,CAAE,KAAMC,CAAA,EAAYC,EAAA,EAEpBC,IACJC,EAAAH,GAAA,YAAAA,EAAS,UAAT,YAAAG,EAAkB,OAAQC,GAAMA,EAAE,SAAW,aAAa,SAAU,EAChEC,EAAWL,EAAU,GAAGE,CAAgB,IAAIF,EAAQ,KAAK,GAAK,IAEpE,aACG,MAAA,CACC,SAAAM,EAAAA,IAACC,EAAA,CACC,MAAM,QACN,MAAO,CACL,CAAE,MAAO,QAAS,OAAOX,GAAA,YAAAA,EAAU,QAAS,GAAA,EAC5C,CAAE,MAAO,sBAAuB,OAAOE,GAAA,YAAAA,EAAY,QAAS,IAAK,SAAU,mBAAA,EAC3E,CAAE,MAAO,cAAe,MAAOO,CAAA,EAC/B,CAAE,MAAO,SAAU,MAAO,UAAW,SAAU,mBAAA,CAAoB,CACrE,CAAA,EAEJ,CAEJ"}