@hotmeshio/long-tail 0.10.14 → 0.11.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 (344) hide show
  1. package/build/api/escalations/analytics.d.ts +6 -0
  2. package/build/api/escalations/analytics.js +123 -0
  3. package/build/api/escalations/index.d.ts +1 -0
  4. package/build/api/escalations/index.js +4 -1
  5. package/build/api/roles.d.ts +4 -0
  6. package/build/api/roles.js +8 -0
  7. package/build/api/scan-codes/choice.d.ts +11 -0
  8. package/build/api/scan-codes/choice.js +136 -0
  9. package/build/api/scan-codes/context.d.ts +24 -0
  10. package/build/api/scan-codes/context.js +86 -0
  11. package/build/api/scan-codes/execute.d.ts +1 -0
  12. package/build/api/scan-codes/execute.js +49 -244
  13. package/build/api/scan-codes/identity.d.ts +18 -0
  14. package/build/api/scan-codes/identity.js +116 -0
  15. package/build/api/scan-codes/index.d.ts +2 -0
  16. package/build/api/scan-codes/index.js +6 -1
  17. package/build/api/scan-codes/locate.d.ts +14 -0
  18. package/build/api/scan-codes/locate.js +127 -0
  19. package/build/api/scan-codes/present.d.ts +9 -0
  20. package/build/api/scan-codes/present.js +59 -0
  21. package/build/api/scan-codes/verbs.d.ts +15 -0
  22. package/build/api/scan-codes/verbs.js +205 -0
  23. package/build/bin/ltc.js +33 -0
  24. package/build/lib/cli/commands/escalations.d.ts +31 -0
  25. package/build/lib/cli/commands/escalations.js +88 -0
  26. package/build/lib/db/schemas/028_role_entity_facet.sql +18 -0
  27. package/build/lib/db/schemas/029_scan_scheme_kind.sql +31 -0
  28. package/build/modules/config.d.ts +5 -0
  29. package/build/modules/config.js +12 -0
  30. package/build/routes/escalations/acting.d.ts +12 -0
  31. package/build/routes/escalations/acting.js +25 -0
  32. package/build/routes/escalations/analytics.d.ts +8 -0
  33. package/build/routes/escalations/analytics.js +63 -0
  34. package/build/routes/escalations/index.js +3 -0
  35. package/build/routes/escalations/resolve.js +8 -1
  36. package/build/routes/escalations/single.js +13 -4
  37. package/build/routes/mcp-endpoint.js +4 -1
  38. package/build/routes/roles.js +1 -1
  39. package/build/routes/scan-codes.js +28 -2
  40. package/build/scripts/ortho-populate.js +14 -0
  41. package/build/scripts/printer-cycle.d.ts +25 -0
  42. package/build/scripts/printer-cycle.js +169 -0
  43. package/build/scripts/twin-farm.js +19 -5
  44. package/build/sdk/index.d.ts +2 -0
  45. package/build/sdk/index.js +3 -0
  46. package/build/services/escalation/aggregate-sql.d.ts +36 -0
  47. package/build/services/escalation/aggregate-sql.js +253 -0
  48. package/build/services/escalation/aggregate-validate.d.ts +57 -0
  49. package/build/services/escalation/aggregate-validate.js +224 -0
  50. package/build/services/escalation/aggregates.d.ts +26 -0
  51. package/build/services/escalation/aggregates.js +204 -0
  52. package/build/services/escalation/client.js +57 -21
  53. package/build/services/escalation/facet-sql.js +27 -0
  54. package/build/services/escalation/index.d.ts +2 -0
  55. package/build/services/escalation/index.js +8 -1
  56. package/build/services/escalation/metrics-cache.d.ts +18 -0
  57. package/build/services/escalation/metrics-cache.js +47 -1
  58. package/build/services/escalation/queries.js +2 -0
  59. package/build/services/iam/acting-identity.d.ts +16 -0
  60. package/build/services/iam/acting-identity.js +60 -0
  61. package/build/services/mcp/external-server.js +34 -26
  62. package/build/services/role/index.js +2 -0
  63. package/build/services/role/sql.d.ts +10 -2
  64. package/build/services/role/sql.js +14 -1
  65. package/build/services/role/types.d.ts +16 -0
  66. package/build/services/scan-code/read.js +4 -0
  67. package/build/services/scan-code/sql.d.ts +4 -4
  68. package/build/services/scan-code/sql.js +14 -8
  69. package/build/services/scan-code/validate.d.ts +2 -0
  70. package/build/services/scan-code/validate.js +86 -0
  71. package/build/services/scan-code/write.d.ts +4 -0
  72. package/build/services/scan-code/write.js +16 -2
  73. package/build/services/user/crud.d.ts +6 -0
  74. package/build/services/user/crud.js +16 -0
  75. package/build/services/user/index.d.ts +1 -1
  76. package/build/services/user/index.js +2 -1
  77. package/build/services/user/sql.d.ts +8 -0
  78. package/build/services/user/sql.js +9 -1
  79. package/build/system/index.js +17 -0
  80. package/build/system/mcp-servers/admin/escalations.js +34 -0
  81. package/build/system/mcp-servers/admin/index.js +2 -4
  82. package/build/system/mcp-servers/admin/scan-codes.js +17 -1
  83. package/build/system/mcp-servers/admin/schemas.d.ts +643 -25
  84. package/build/system/mcp-servers/admin/schemas.js +127 -19
  85. package/build/system/mcp-servers/admin/users.js +3 -1
  86. package/build/system/mcp-servers/human-queue-schemas.d.ts +2 -2
  87. package/build/system/seed/tool-manifests-admin.d.ts +2473 -1327
  88. package/build/system/seed/tool-manifests-admin.js +8 -10
  89. package/build/tsconfig.tsbuildinfo +1 -1
  90. package/build/types/analytics.d.ts +154 -0
  91. package/build/types/analytics.js +14 -0
  92. package/build/types/facets.d.ts +21 -0
  93. package/build/types/index.d.ts +5 -2
  94. package/build/types/index.js +5 -1
  95. package/build/types/scan-choice.d.ts +49 -0
  96. package/build/types/scan-choice.js +9 -0
  97. package/build/types/scan-code.d.ts +72 -1
  98. package/build/types/scan-code.js +30 -1
  99. package/dashboard/dist/assets/{AdminDashboard-Chg69wlx.js → AdminDashboard-D4ebrcNR.js} +2 -2
  100. package/dashboard/dist/assets/{AdminDashboard-Chg69wlx.js.map → AdminDashboard-D4ebrcNR.js.map} +1 -1
  101. package/dashboard/dist/assets/{AgentConfigPage-DRTFwbfC.js → AgentConfigPage-DP4KUuCX.js} +2 -2
  102. package/dashboard/dist/assets/{AgentConfigPage-DRTFwbfC.js.map → AgentConfigPage-DP4KUuCX.js.map} +1 -1
  103. package/dashboard/dist/assets/{AgentDetailPage-JKByfFIi.js → AgentDetailPage-ktYiR1kq.js} +3 -3
  104. package/dashboard/dist/assets/{AgentDetailPage-JKByfFIi.js.map → AgentDetailPage-ktYiR1kq.js.map} +1 -1
  105. package/dashboard/dist/assets/{AgentsPage-BlgEmKhA.js → AgentsPage-B4iqm4-h.js} +2 -2
  106. package/dashboard/dist/assets/{AgentsPage-BlgEmKhA.js.map → AgentsPage-B4iqm4-h.js.map} +1 -1
  107. package/dashboard/dist/assets/AvailableEscalationsPage-tL3mM1RG.js +2 -0
  108. package/dashboard/dist/assets/AvailableEscalationsPage-tL3mM1RG.js.map +1 -0
  109. package/dashboard/dist/assets/{BotPicker-CCVcz4Cq.js → BotPicker-CLrJuHnW.js} +2 -2
  110. package/dashboard/dist/assets/{BotPicker-CCVcz4Cq.js.map → BotPicker-CLrJuHnW.js.map} +1 -1
  111. package/dashboard/dist/assets/CapabilitiesPage-DG5V0tMT.js +2 -0
  112. package/dashboard/dist/assets/CapabilitiesPage-DG5V0tMT.js.map +1 -0
  113. package/dashboard/dist/assets/{CollapsibleSection-8YE965QX.js → CollapsibleSection-CvLHvVfU.js} +2 -2
  114. package/dashboard/dist/assets/{CollapsibleSection-8YE965QX.js.map → CollapsibleSection-CvLHvVfU.js.map} +1 -1
  115. package/dashboard/dist/assets/{CountdownTimer-Bxvq3D7j.js → CountdownTimer-Co57-iLY.js} +2 -2
  116. package/dashboard/dist/assets/{CountdownTimer-Bxvq3D7j.js.map → CountdownTimer-Co57-iLY.js.map} +1 -1
  117. package/dashboard/dist/assets/{CredentialsPage-Bn7_SX6-.js → CredentialsPage-qCJZ3rdi.js} +2 -2
  118. package/dashboard/dist/assets/{CredentialsPage-Bn7_SX6-.js.map → CredentialsPage-qCJZ3rdi.js.map} +1 -1
  119. package/dashboard/dist/assets/{CronLabel-Bn4mX_Yn.js → CronLabel-C3iKifDN.js} +2 -2
  120. package/dashboard/dist/assets/{CronLabel-Bn4mX_Yn.js.map → CronLabel-C3iKifDN.js.map} +1 -1
  121. package/dashboard/dist/assets/{CustomDurationPicker-pMcrFyW6.js → CustomDurationPicker-C-Szl4rU.js} +2 -2
  122. package/dashboard/dist/assets/{CustomDurationPicker-pMcrFyW6.js.map → CustomDurationPicker-C-Szl4rU.js.map} +1 -1
  123. package/dashboard/dist/assets/{DropZone-zCEGjjk-.js → DropZone-BWD9aGOz.js} +2 -2
  124. package/dashboard/dist/assets/{DropZone-zCEGjjk-.js.map → DropZone-BWD9aGOz.js.map} +1 -1
  125. package/dashboard/dist/assets/{ElapsedCell-BGO7IXEg.js → ElapsedCell-CamZk5o1.js} +2 -2
  126. package/dashboard/dist/assets/{ElapsedCell-BGO7IXEg.js.map → ElapsedCell-CamZk5o1.js.map} +1 -1
  127. package/dashboard/dist/assets/EntityTimelinePanel-CABCW2dS.js +2 -0
  128. package/dashboard/dist/assets/EntityTimelinePanel-CABCW2dS.js.map +1 -0
  129. package/dashboard/dist/assets/{EscalationListSchemaPage-CFDxbd50.js → EscalationListSchemaPage-BddDSfjl.js} +3 -3
  130. package/dashboard/dist/assets/{EscalationListSchemaPage-CFDxbd50.js.map → EscalationListSchemaPage-BddDSfjl.js.map} +1 -1
  131. package/dashboard/dist/assets/{EscalationSchemaPage-DnXPnDkz.js → EscalationSchemaPage-BRyCtw9R.js} +3 -3
  132. package/dashboard/dist/assets/{EscalationSchemaPage-DnXPnDkz.js.map → EscalationSchemaPage-BRyCtw9R.js.map} +1 -1
  133. package/dashboard/dist/assets/{EscalationsOverview-BZMVXrkK.js → EscalationsOverview-DUWYxJyD.js} +2 -2
  134. package/dashboard/dist/assets/{EscalationsOverview-BZMVXrkK.js.map → EscalationsOverview-DUWYxJyD.js.map} +1 -1
  135. package/dashboard/dist/assets/{EventTable-Bfi-f8as.js → EventTable-CtVuCgq6.js} +2 -2
  136. package/dashboard/dist/assets/{EventTable-Bfi-f8as.js.map → EventTable-CtVuCgq6.js.map} +1 -1
  137. package/dashboard/dist/assets/FilterBar-BYsBgOiE.js +2 -0
  138. package/dashboard/dist/assets/{FilterBar-Do7yR4xM.js.map → FilterBar-BYsBgOiE.js.map} +1 -1
  139. package/dashboard/dist/assets/{GraphInvokePage-d1ie4T7f.js → GraphInvokePage-CA4skPN2.js} +2 -2
  140. package/dashboard/dist/assets/{GraphInvokePage-d1ie4T7f.js.map → GraphInvokePage-CA4skPN2.js.map} +1 -1
  141. package/dashboard/dist/assets/HomePage-DwG-AnjQ.js +2 -0
  142. package/dashboard/dist/assets/{HomePage-BEeodImU.js.map → HomePage-DwG-AnjQ.js.map} +1 -1
  143. package/dashboard/dist/assets/ListToolbar-D86IN_hQ.js +2 -0
  144. package/dashboard/dist/assets/{ListToolbar-CLtw-1QN.js.map → ListToolbar-D86IN_hQ.js.map} +1 -1
  145. package/dashboard/dist/assets/{McpOverview-DIsy9TB3.js → McpOverview-CoEHGseD.js} +2 -2
  146. package/dashboard/dist/assets/{McpOverview-DIsy9TB3.js.map → McpOverview-CoEHGseD.js.map} +1 -1
  147. package/dashboard/dist/assets/{McpQueryDetailPage-6PomdsyD.js → McpQueryDetailPage-C9hMgJe1.js} +2 -2
  148. package/dashboard/dist/assets/{McpQueryDetailPage-6PomdsyD.js.map → McpQueryDetailPage-C9hMgJe1.js.map} +1 -1
  149. package/dashboard/dist/assets/{McpQueryPage-YMdQCXm9.js → McpQueryPage-B20Zn4QX.js} +2 -2
  150. package/dashboard/dist/assets/{McpQueryPage-YMdQCXm9.js.map → McpQueryPage-B20Zn4QX.js.map} +1 -1
  151. package/dashboard/dist/assets/{McpRunDetailPage-DsD1Gm2o.js → McpRunDetailPage-DDKHf-3R.js} +2 -2
  152. package/dashboard/dist/assets/{McpRunDetailPage-DsD1Gm2o.js.map → McpRunDetailPage-DDKHf-3R.js.map} +1 -1
  153. package/dashboard/dist/assets/{McpRunsPage--a5Jgb33.js → McpRunsPage-Puyn3iJr.js} +2 -2
  154. package/dashboard/dist/assets/{McpRunsPage--a5Jgb33.js.map → McpRunsPage-Puyn3iJr.js.map} +1 -1
  155. package/dashboard/dist/assets/{NamespacePill-wV6L4VW1.js → NamespacePill-C09QuOEz.js} +2 -2
  156. package/dashboard/dist/assets/{NamespacePill-wV6L4VW1.js.map → NamespacePill-C09QuOEz.js.map} +1 -1
  157. package/dashboard/dist/assets/OperationsPage-Bsrt4XTL.js +3 -0
  158. package/dashboard/dist/assets/OperationsPage-Bsrt4XTL.js.map +1 -0
  159. package/dashboard/dist/assets/OperatorDashboard-CXBbFLAL.js +2 -0
  160. package/dashboard/dist/assets/{OperatorDashboard-CkLfbxEh.js.map → OperatorDashboard-CXBbFLAL.js.map} +1 -1
  161. package/dashboard/dist/assets/{PageHeader-BtIr6r-8.js → PageHeader-B7YJxa4o.js} +2 -2
  162. package/dashboard/dist/assets/{PageHeader-BtIr6r-8.js.map → PageHeader-B7YJxa4o.js.map} +1 -1
  163. package/dashboard/dist/assets/{PageHeaderWithStats-C2sGqFQG.js → PageHeaderWithStats-gT-5ovJh.js} +2 -2
  164. package/dashboard/dist/assets/{PageHeaderWithStats-C2sGqFQG.js.map → PageHeaderWithStats-gT-5ovJh.js.map} +1 -1
  165. package/dashboard/dist/assets/{PersonaDetailPage-CCmOgKQb.js → PersonaDetailPage-BN5xNDDX.js} +2 -2
  166. package/dashboard/dist/assets/{PersonaDetailPage-CCmOgKQb.js.map → PersonaDetailPage-BN5xNDDX.js.map} +1 -1
  167. package/dashboard/dist/assets/PersonasPage-Bdtv6HPZ.js +2 -0
  168. package/dashboard/dist/assets/PersonasPage-Bdtv6HPZ.js.map +1 -0
  169. package/dashboard/dist/assets/{ProcessDetailPage-DT9BlJXK.js → ProcessDetailPage-BMg70ZAJ.js} +2 -2
  170. package/dashboard/dist/assets/{ProcessDetailPage-DT9BlJXK.js.map → ProcessDetailPage-BMg70ZAJ.js.map} +1 -1
  171. package/dashboard/dist/assets/{ProcessesListPage-DgSGzTDT.js → ProcessesListPage-_KvdxGhL.js} +2 -2
  172. package/dashboard/dist/assets/{ProcessesListPage-DgSGzTDT.js.map → ProcessesListPage-_KvdxGhL.js.map} +1 -1
  173. package/dashboard/dist/assets/RoleDetailPage-BM5BXc7j.js +8 -0
  174. package/dashboard/dist/assets/RoleDetailPage-BM5BXc7j.js.map +1 -0
  175. package/dashboard/dist/assets/{RolePill-BBYjhAPj.js → RolePill-CtYI1_k1.js} +2 -2
  176. package/dashboard/dist/assets/{RolePill-BBYjhAPj.js.map → RolePill-CtYI1_k1.js.map} +1 -1
  177. package/dashboard/dist/assets/RolesPage-Bv23VmUi.js +2 -0
  178. package/dashboard/dist/assets/RolesPage-Bv23VmUi.js.map +1 -0
  179. package/dashboard/dist/assets/{RunAsSelector-CateuvcC.js → RunAsSelector-D-Sjr7uB.js} +2 -2
  180. package/dashboard/dist/assets/{RunAsSelector-CateuvcC.js.map → RunAsSelector-D-Sjr7uB.js.map} +1 -1
  181. package/dashboard/dist/assets/ScanCodesPage-s3OEMJno.js +2 -0
  182. package/dashboard/dist/assets/ScanCodesPage-s3OEMJno.js.map +1 -0
  183. package/dashboard/dist/assets/ScanSchemeDetailPage-D8WQkZmw.js +2 -0
  184. package/dashboard/dist/assets/ScanSchemeDetailPage-D8WQkZmw.js.map +1 -0
  185. package/dashboard/dist/assets/ScanStationPage-CkRQaH5G.js +2 -0
  186. package/dashboard/dist/assets/ScanStationPage-CkRQaH5G.js.map +1 -0
  187. package/dashboard/dist/assets/{ScopeBadge-xs2Nhjy4.js → ScopeBadge-B76rOtA0.js} +2 -2
  188. package/dashboard/dist/assets/{ScopeBadge-xs2Nhjy4.js.map → ScopeBadge-B76rOtA0.js.map} +1 -1
  189. package/dashboard/dist/assets/{StickyPagination-Cg-QdYWL.js → StickyPagination-BpTIMOL5.js} +2 -2
  190. package/dashboard/dist/assets/{StickyPagination-Cg-QdYWL.js.map → StickyPagination-BpTIMOL5.js.map} +1 -1
  191. package/dashboard/dist/assets/{StreamMessageDetail-DEeuh4_-.js → StreamMessageDetail-ChoWrZzO.js} +2 -2
  192. package/dashboard/dist/assets/{StreamMessageDetail-DEeuh4_-.js.map → StreamMessageDetail-ChoWrZzO.js.map} +1 -1
  193. package/dashboard/dist/assets/{SwimlaneTimeline-DMY0jL2F.js → SwimlaneTimeline-nmIqEuEH.js} +2 -2
  194. package/dashboard/dist/assets/{SwimlaneTimeline-DMY0jL2F.js.map → SwimlaneTimeline-nmIqEuEH.js.map} +1 -1
  195. package/dashboard/dist/assets/{TagInput-BMmiV-MD.js → TagInput-BQAPOp17.js} +2 -2
  196. package/dashboard/dist/assets/{TagInput-BMmiV-MD.js.map → TagInput-BQAPOp17.js.map} +1 -1
  197. package/dashboard/dist/assets/{TaskDetailPage-CPbkIvfF.js → TaskDetailPage-KajZD2Cp.js} +2 -2
  198. package/dashboard/dist/assets/{TaskDetailPage-CPbkIvfF.js.map → TaskDetailPage-KajZD2Cp.js.map} +1 -1
  199. package/dashboard/dist/assets/{TaskQueuePill-DLgYaw1x.js → TaskQueuePill-C2NImrwl.js} +2 -2
  200. package/dashboard/dist/assets/{TaskQueuePill-DLgYaw1x.js.map → TaskQueuePill-C2NImrwl.js.map} +1 -1
  201. package/dashboard/dist/assets/{TasksListPage-CtHudKhQ.js → TasksListPage-CiqSfapP.js} +2 -2
  202. package/dashboard/dist/assets/{TasksListPage-CtHudKhQ.js.map → TasksListPage-CiqSfapP.js.map} +1 -1
  203. package/dashboard/dist/assets/{TimeAgo-BdHOizWg.js → TimeAgo-ClauexJj.js} +2 -2
  204. package/dashboard/dist/assets/{TimeAgo-BdHOizWg.js.map → TimeAgo-ClauexJj.js.map} +1 -1
  205. package/dashboard/dist/assets/{TimestampCell-FVukzKRe.js → TimestampCell-CXmbCnAJ.js} +2 -2
  206. package/dashboard/dist/assets/{TimestampCell-FVukzKRe.js.map → TimestampCell-CXmbCnAJ.js.map} +1 -1
  207. package/dashboard/dist/assets/{ToolPill-BvS53hxP.js → ToolPill-FOZm67TS.js} +2 -2
  208. package/dashboard/dist/assets/{ToolPill-BvS53hxP.js.map → ToolPill-FOZm67TS.js.map} +1 -1
  209. package/dashboard/dist/assets/{ToolTestPanel-HN0OCYTL.js → ToolTestPanel-DFUU0zGv.js} +2 -2
  210. package/dashboard/dist/assets/{ToolTestPanel-HN0OCYTL.js.map → ToolTestPanel-DFUU0zGv.js.map} +1 -1
  211. package/dashboard/dist/assets/{TopicDetailPage-DHdSpN61.js → TopicDetailPage-DuN5BrsI.js} +2 -2
  212. package/dashboard/dist/assets/{TopicDetailPage-DHdSpN61.js.map → TopicDetailPage-DuN5BrsI.js.map} +1 -1
  213. package/dashboard/dist/assets/TopicsPage-DZ1NQdYG.js +2 -0
  214. package/dashboard/dist/assets/{TopicsPage-Clr6Tl5P.js.map → TopicsPage-DZ1NQdYG.js.map} +1 -1
  215. package/dashboard/dist/assets/{UserName-BUVYyIAS.js → UserName-BPHG_MQs.js} +2 -2
  216. package/dashboard/dist/assets/{UserName-BUVYyIAS.js.map → UserName-BPHG_MQs.js.map} +1 -1
  217. package/dashboard/dist/assets/{WorkflowExecutionPage-kncWFfe5.js → WorkflowExecutionPage-D_Z-tIjR.js} +2 -2
  218. package/dashboard/dist/assets/{WorkflowExecutionPage-kncWFfe5.js.map → WorkflowExecutionPage-D_Z-tIjR.js.map} +1 -1
  219. package/dashboard/dist/assets/{WorkflowPill-BPC_Dc_I.js → WorkflowPill-C5TEWlfO.js} +2 -2
  220. package/dashboard/dist/assets/{WorkflowPill-BPC_Dc_I.js.map → WorkflowPill-C5TEWlfO.js.map} +1 -1
  221. package/dashboard/dist/assets/{WorkflowsDashboard-4ypPDGKx.js → WorkflowsDashboard-VMBW1WuR.js} +2 -2
  222. package/dashboard/dist/assets/{WorkflowsDashboard-4ypPDGKx.js.map → WorkflowsDashboard-VMBW1WuR.js.map} +1 -1
  223. package/dashboard/dist/assets/{WorkflowsOverview-CeQlZkkd.js → WorkflowsOverview-CUOXXcpg.js} +2 -2
  224. package/dashboard/dist/assets/{WorkflowsOverview-CeQlZkkd.js.map → WorkflowsOverview-CUOXXcpg.js.map} +1 -1
  225. package/dashboard/dist/assets/{YamlWorkflowDetailPage-DLAlEzwT.js → YamlWorkflowDetailPage-CsfzbboC.js} +2 -2
  226. package/dashboard/dist/assets/{YamlWorkflowDetailPage-DLAlEzwT.js.map → YamlWorkflowDetailPage-CsfzbboC.js.map} +1 -1
  227. package/dashboard/dist/assets/{YamlWorkflowsPage-DQhenKFT.js → YamlWorkflowsPage-BpgKLSGT.js} +2 -2
  228. package/dashboard/dist/assets/{YamlWorkflowsPage-DQhenKFT.js.map → YamlWorkflowsPage-BpgKLSGT.js.map} +1 -1
  229. package/dashboard/dist/assets/{agents-s3feet3W.js → agents-Cg2FVYQP.js} +2 -2
  230. package/dashboard/dist/assets/{agents-s3feet3W.js.map → agents-Cg2FVYQP.js.map} +1 -1
  231. package/dashboard/dist/assets/{bots-CkSd2rn9.js → bots-vtVLRKGt.js} +2 -2
  232. package/dashboard/dist/assets/{bots-CkSd2rn9.js.map → bots-vtVLRKGt.js.map} +1 -1
  233. package/dashboard/dist/assets/{capabilities-DA_r09tM.js → capabilities-DLsXhwlD.js} +2 -2
  234. package/dashboard/dist/assets/{capabilities-DA_r09tM.js.map → capabilities-DLsXhwlD.js.map} +1 -1
  235. package/dashboard/dist/assets/{controlplane-C9c25q21.js → controlplane-Js7dxpX4.js} +2 -2
  236. package/dashboard/dist/assets/{controlplane-C9c25q21.js.map → controlplane-Js7dxpX4.js.map} +1 -1
  237. package/dashboard/dist/assets/escalation-columns-h0NLAJss.js +2 -0
  238. package/dashboard/dist/assets/escalation-columns-h0NLAJss.js.map +1 -0
  239. package/dashboard/dist/assets/index-7c7FEe5S.js +3 -0
  240. package/dashboard/dist/assets/index-7c7FEe5S.js.map +1 -0
  241. package/dashboard/dist/assets/{index-WxE3ONia.js → index-BTzhV9ST.js} +2 -2
  242. package/dashboard/dist/assets/{index-WxE3ONia.js.map → index-BTzhV9ST.js.map} +1 -1
  243. package/dashboard/dist/assets/{index-BIcYbDVf.js → index-Bcv5k8Dw.js} +2 -2
  244. package/dashboard/dist/assets/{index-BIcYbDVf.js.map → index-Bcv5k8Dw.js.map} +1 -1
  245. package/dashboard/dist/assets/{index-BU5FFAJo.js → index-BjfoWzJL.js} +2 -2
  246. package/dashboard/dist/assets/{index-BU5FFAJo.js.map → index-BjfoWzJL.js.map} +1 -1
  247. package/dashboard/dist/assets/{index-C-MmR-jf.js → index-BvVJ538E.js} +2 -2
  248. package/dashboard/dist/assets/{index-C-MmR-jf.js.map → index-BvVJ538E.js.map} +1 -1
  249. package/dashboard/dist/assets/{index-Cw9poaez.js → index-CSpTj5DB.js} +2 -2
  250. package/dashboard/dist/assets/{index-Cw9poaez.js.map → index-CSpTj5DB.js.map} +1 -1
  251. package/dashboard/dist/assets/index-CcjdA7jA.js +65 -0
  252. package/dashboard/dist/assets/index-CcjdA7jA.js.map +1 -0
  253. package/dashboard/dist/assets/{index-S13oPvuS.js → index-DQi6CjqF.js} +2 -2
  254. package/dashboard/dist/assets/{index-S13oPvuS.js.map → index-DQi6CjqF.js.map} +1 -1
  255. package/dashboard/dist/assets/index-DglcqBHn.js +6 -0
  256. package/dashboard/dist/assets/index-DglcqBHn.js.map +1 -0
  257. package/dashboard/dist/assets/{index-DvoMXQqO.js → index-DlO3bCfu.js} +2 -2
  258. package/dashboard/dist/assets/{index-DvoMXQqO.js.map → index-DlO3bCfu.js.map} +1 -1
  259. package/dashboard/dist/assets/{index-Bo5TtX9l.js → index-FYQ9yPhO.js} +2 -2
  260. package/dashboard/dist/assets/{index-Bo5TtX9l.js.map → index-FYQ9yPhO.js.map} +1 -1
  261. package/dashboard/dist/assets/{index-Cmxzk4ay.js → index-KcaVfpWn.js} +2 -2
  262. package/dashboard/dist/assets/{index-Cmxzk4ay.js.map → index-KcaVfpWn.js.map} +1 -1
  263. package/dashboard/dist/assets/index-cFHoANSG.css +1 -0
  264. package/dashboard/dist/assets/{index--7Vdkzwd.js → index-vAkZ5dZe.js} +2 -2
  265. package/dashboard/dist/assets/{index--7Vdkzwd.js.map → index-vAkZ5dZe.js.map} +1 -1
  266. package/dashboard/dist/assets/{knowledge-Bpln0zy_.js → knowledge-Bkvl3cIz.js} +2 -2
  267. package/dashboard/dist/assets/{knowledge-Bpln0zy_.js.map → knowledge-Bkvl3cIz.js.map} +1 -1
  268. package/dashboard/dist/assets/{mcp-BqDq3RZH.js → mcp-DEtDLeIQ.js} +2 -2
  269. package/dashboard/dist/assets/{mcp-BqDq3RZH.js.map → mcp-DEtDLeIQ.js.map} +1 -1
  270. package/dashboard/dist/assets/{mcp-query-DGue75R6.js → mcp-query-BCRgnt0K.js} +2 -2
  271. package/dashboard/dist/assets/{mcp-query-DGue75R6.js.map → mcp-query-BCRgnt0K.js.map} +1 -1
  272. package/dashboard/dist/assets/{personas-B8z_sTiJ.js → personas-CABKq-0L.js} +2 -2
  273. package/dashboard/dist/assets/{personas-B8z_sTiJ.js.map → personas-CABKq-0L.js.map} +1 -1
  274. package/dashboard/dist/assets/{pipelines-DYgNd9nB.js → pipelines-fuN8dVNl.js} +2 -2
  275. package/dashboard/dist/assets/{pipelines-DYgNd9nB.js.map → pipelines-fuN8dVNl.js.map} +1 -1
  276. package/dashboard/dist/assets/{tasks-CJdjjhgO.js → tasks-u3YPNJBo.js} +2 -2
  277. package/dashboard/dist/assets/{tasks-CJdjjhgO.js.map → tasks-u3YPNJBo.js.map} +1 -1
  278. package/dashboard/dist/assets/{topics-DPrL8Dtq.js → topics-D37_RAIT.js} +2 -2
  279. package/dashboard/dist/assets/{topics-DPrL8Dtq.js.map → topics-D37_RAIT.js.map} +1 -1
  280. package/dashboard/dist/assets/useEventHooks-BbXfrFbq.js +2 -0
  281. package/dashboard/dist/assets/{useEventHooks-DXCgDgiu.js.map → useEventHooks-BbXfrFbq.js.map} +1 -1
  282. package/dashboard/dist/assets/{useNamespace-DnFZfy7N.js → useNamespace-DvuoFTda.js} +2 -2
  283. package/dashboard/dist/assets/{useNamespace-DnFZfy7N.js.map → useNamespace-DvuoFTda.js.map} +1 -1
  284. package/dashboard/dist/assets/{useYamlActivityEvents-kx5CLENv.js → useYamlActivityEvents-CL-Uf2cb.js} +2 -2
  285. package/dashboard/dist/assets/{useYamlActivityEvents-kx5CLENv.js.map → useYamlActivityEvents-CL-Uf2cb.js.map} +1 -1
  286. package/dashboard/dist/assets/{users-DKng7vAG.js → users-CMxw_HzK.js} +2 -2
  287. package/dashboard/dist/assets/{users-DKng7vAG.js.map → users-CMxw_HzK.js.map} +1 -1
  288. package/dashboard/dist/assets/{vendor-icons-CN-bAo9U.js → vendor-icons-Aw7bzBxa.js} +157 -137
  289. package/dashboard/dist/assets/vendor-icons-Aw7bzBxa.js.map +1 -0
  290. package/dashboard/dist/assets/{workflows-C4V0rMkM.js → workflows-Bez-o6fu.js} +2 -2
  291. package/dashboard/dist/assets/{workflows-C4V0rMkM.js.map → workflows-Bez-o6fu.js.map} +1 -1
  292. package/dashboard/dist/assets/{yaml-workflows-D3PAiJ9d.js → yaml-workflows-NrXcLsNm.js} +2 -2
  293. package/dashboard/dist/assets/{yaml-workflows-D3PAiJ9d.js.map → yaml-workflows-NrXcLsNm.js.map} +1 -1
  294. package/dashboard/dist/index.html +3 -3
  295. package/docs/api/http/escalations.md +133 -0
  296. package/docs/api/http/roles.md +6 -0
  297. package/docs/api/mcp/admin.md +53 -0
  298. package/docs/api/sdk/escalations.md +58 -0
  299. package/docs/cli.md +11 -0
  300. package/docs/dashboard.md +22 -20
  301. package/docs/data.md +12 -4
  302. package/docs/escalation-analytics.md +251 -0
  303. package/docs/hitl/roles.md +1 -1
  304. package/docs/hitl/x-lt-footer.md +1 -2
  305. package/docs/hitl-guide.md +3 -3
  306. package/docs/iam.md +12 -0
  307. package/docs/operations.md +17 -0
  308. package/docs/scan-codes.md +112 -0
  309. package/docs/sdk.md +1 -1
  310. package/package.json +2 -1
  311. package/build/system/mcp-servers/admin/ortho.d.ts +0 -10
  312. package/build/system/mcp-servers/admin/ortho.js +0 -242
  313. package/dashboard/dist/assets/AvailableEscalationsPage-C_7y692Q.js +0 -2
  314. package/dashboard/dist/assets/AvailableEscalationsPage-C_7y692Q.js.map +0 -1
  315. package/dashboard/dist/assets/CapabilitiesPage-Czi9jUwD.js +0 -2
  316. package/dashboard/dist/assets/CapabilitiesPage-Czi9jUwD.js.map +0 -1
  317. package/dashboard/dist/assets/FilterBar-Do7yR4xM.js +0 -2
  318. package/dashboard/dist/assets/HomePage-BEeodImU.js +0 -2
  319. package/dashboard/dist/assets/ListToolbar-CLtw-1QN.js +0 -2
  320. package/dashboard/dist/assets/OperationsPage-B2v9k3DT.js +0 -2
  321. package/dashboard/dist/assets/OperationsPage-B2v9k3DT.js.map +0 -1
  322. package/dashboard/dist/assets/OperatorDashboard-CkLfbxEh.js +0 -2
  323. package/dashboard/dist/assets/PersonasPage-BJkSuDTN.js +0 -2
  324. package/dashboard/dist/assets/PersonasPage-BJkSuDTN.js.map +0 -1
  325. package/dashboard/dist/assets/RoleDetailPage-DMphTvro.js +0 -8
  326. package/dashboard/dist/assets/RoleDetailPage-DMphTvro.js.map +0 -1
  327. package/dashboard/dist/assets/RolesPage-gi_kaot1.js +0 -2
  328. package/dashboard/dist/assets/RolesPage-gi_kaot1.js.map +0 -1
  329. package/dashboard/dist/assets/ScanCodesPage-CQ8RxMug.js +0 -2
  330. package/dashboard/dist/assets/ScanCodesPage-CQ8RxMug.js.map +0 -1
  331. package/dashboard/dist/assets/ScanSchemeDetailPage-puSbuxcV.js +0 -2
  332. package/dashboard/dist/assets/ScanSchemeDetailPage-puSbuxcV.js.map +0 -1
  333. package/dashboard/dist/assets/TopicsPage-Clr6Tl5P.js +0 -2
  334. package/dashboard/dist/assets/escalation-columns-Cp3UrT48.js +0 -2
  335. package/dashboard/dist/assets/escalation-columns-Cp3UrT48.js.map +0 -1
  336. package/dashboard/dist/assets/index--DG-qQBT.js +0 -65
  337. package/dashboard/dist/assets/index--DG-qQBT.js.map +0 -1
  338. package/dashboard/dist/assets/index-C7ABSOU2.js +0 -6
  339. package/dashboard/dist/assets/index-C7ABSOU2.js.map +0 -1
  340. package/dashboard/dist/assets/index-DEbY57_c.js +0 -3
  341. package/dashboard/dist/assets/index-DEbY57_c.js.map +0 -1
  342. package/dashboard/dist/assets/index-DnV6LSeY.css +0 -1
  343. package/dashboard/dist/assets/useEventHooks-DXCgDgiu.js +0 -2
  344. package/dashboard/dist/assets/vendor-icons-CN-bAo9U.js.map +0 -1
@@ -25,6 +25,8 @@ exports.ADMIN_TOOLS = [
25
25
  { name: 'search_by_facets', description: 'Faceted search over a pond, scoped to the caller\'s role: status, availability, metadata facets, sorting, and paging.', read_safe: true, inputSchema: { type: 'object', properties: { role: { type: 'string' }, status: { type: 'string' }, available: { type: 'boolean' }, facets: { type: 'object' }, orderBy: { type: 'array' }, limit: { type: 'integer' }, offset: { type: 'integer' } }, required: ['role'] } },
26
26
  { name: 'claim_groups', description: 'Batch-claim complete origin groups (orders) in priority order over a pond, assigned to the calling principal.', read_safe: false, inputSchema: { type: 'object', properties: { query: { type: 'object' }, limit: { type: 'integer' }, durationMinutes: { type: 'integer' }, sizeFacet: { type: 'string' } }, required: ['query'] } },
27
27
  { name: 'claim_by_facets', description: 'Batch-claim individual rows matching a facet query, assigned to the calling principal. With allOrNone, commits only the full set.', read_safe: false, inputSchema: { type: 'object', properties: { query: { type: 'object' }, limit: { type: 'integer' }, durationMinutes: { type: 'integer' }, allOrNone: { type: 'boolean' } }, required: ['query'] } },
28
+ { name: 'aggregate_by_facets', description: 'Grouped analytics over the escalation intervals: membership (rows or distinct entities open at an instant, incl. past instants) or dwell (open-seconds per group within a window), grouped by role/subtype/status columns, metadata facet keys, or the derived entity STATE (query.entity + groupBy.state answers "how do the entities spend their time").', read_safe: true, inputSchema: { type: 'object', properties: { query: { type: 'object' }, groupBy: { type: 'object' }, measure: { type: 'object' }, distinctBy: { type: 'string' }, states: { type: 'array' }, liveStatuses: { type: 'array', items: { type: 'string' } }, orderBy: { type: 'array' }, limit: { type: 'integer' }, offset: { type: 'integer' } }, required: ['query', 'groupBy', 'measure'] } },
29
+ { name: 'timeline_by_facet', description: 'One entity\'s ordered escalation-interval timeline: [startedAt, endedAt) spans with durations in created_at order; open intervals report endedAt null; gaps are untracked time and are preserved.', read_safe: true, inputSchema: { type: 'object', properties: { facet: { type: 'object', properties: { key: { type: 'string' }, value: { type: 'string' } }, required: ['key', 'value'] }, query: { type: 'object' }, window: { type: 'object' }, select: { type: 'object' }, liveStatuses: { type: 'array', items: { type: 'string' } }, limit: { type: 'integer' } }, required: ['facet'] } },
28
30
  { name: 'find_by_metadata', description: 'Find escalations by a metadata key-value pair.', read_safe: true, inputSchema: { type: 'object', properties: { key: { type: 'string' }, value: { type: 'string' }, status: { type: 'string' }, limit: { type: 'integer' }, offset: { type: 'integer' } }, required: ['key', 'value'] } },
29
31
  { name: 'claim_by_metadata', description: 'Find and claim an escalation by metadata key-value pair. Supports provisionIfAbsent for JIT user+role provisioning (superadmin only).', read_safe: false, inputSchema: { type: 'object', properties: { key: { type: 'string' }, value: { type: 'string' }, durationMinutes: { type: 'integer' }, assignee: { type: 'string' }, metadata: { type: 'object' }, provisionIfAbsent: { type: 'object', description: 'JIT-provision assignee if absent: { displayName?, email?, roles?: [{ role, type? }] }' } }, required: ['key', 'value'] } },
30
32
  { name: 'resolve_by_metadata', description: 'Find and resolve an escalation by metadata key-value pair. Signal-backed escalations (metadata.signal_id) are signaled to the workflow instead of resolved directly.', read_safe: false, inputSchema: { type: 'object', properties: { key: { type: 'string' }, value: { type: 'string' }, resolverPayload: { type: 'object' }, assignee: { type: 'string' }, metadata: { type: 'object' } }, required: ['key', 'value', 'resolverPayload'] } },
@@ -59,7 +61,7 @@ exports.ADMIN_TOOLS = [
59
61
  { name: 'list_roles', description: 'List all distinct roles known to the system.', read_safe: true, inputSchema: { type: 'object', properties: {} } },
60
62
  { name: 'create_role', description: 'Create a new role. Lowercase alphanumeric with hyphens/underscores.', read_safe: false, inputSchema: { type: 'object', properties: { role: { type: 'string' } }, required: ['role'] } },
61
63
  { name: 'add_escalation_chain', description: 'Define an escalation path from one role to another.', read_safe: false, inputSchema: { type: 'object', properties: { source_role: { type: 'string' }, target_role: { type: 'string' } }, required: ['source_role', 'target_role'] } },
62
- { name: 'update_role', description: 'Update role metadata with PATCH semantics (omitted fields keep their values): display name, description, form/metadata/list schemas, properties bag, ops_visible flag, parent role, default_pins (member pinned-view seeds), and the typed operational targets. A schema change snapshots the pair into the version history.', read_safe: false, inputSchema: { type: 'object', properties: { role: { type: 'string' }, title: { type: 'string' }, description: { type: 'string' }, form_schema: { type: 'object' }, metadata_schema: { type: 'object' }, properties: { type: 'object' }, ops_visible: { type: 'boolean' }, ops_home_default: { type: 'boolean' }, parent_role: { type: 'string' }, sla_minutes: { type: 'number' }, target_per_hour: { type: 'number' }, worker_count: { type: 'integer' }, priority_threshold_minutes: { type: 'number' }, priority_facet: { type: 'string' }, upstream_roles: { type: 'array', items: { type: 'string' } }, list_schema: { type: 'object' }, default_pins: { type: 'array', items: { type: 'object', properties: { label: { type: 'string' }, url: { type: 'string' }, badge: { type: 'boolean' } }, required: ['label', 'url'] } }, change_summary: { type: 'string' } }, required: ['role'] } },
64
+ { name: 'update_role', description: 'Update role metadata with PATCH semantics (omitted fields keep their values): display name, description, form/metadata/list schemas, properties bag, ops_visible flag, parent role, default_pins (member pinned-view seeds), and the typed operational targets. A schema change snapshots the pair into the version history.', read_safe: false, inputSchema: { type: 'object', properties: { role: { type: 'string' }, title: { type: 'string' }, description: { type: 'string' }, form_schema: { type: 'object' }, metadata_schema: { type: 'object' }, properties: { type: 'object' }, ops_visible: { type: 'boolean' }, ops_home_default: { type: 'boolean' }, parent_role: { type: 'string' }, sla_minutes: { type: 'number' }, target_per_hour: { type: 'number' }, worker_count: { type: 'integer' }, priority_threshold_minutes: { type: 'number' }, priority_facet: { type: 'string' }, entity_facet: { type: 'string' }, entity_state_source: { type: 'string', enum: ['role', 'subtype'] }, upstream_roles: { type: 'array', items: { type: 'string' } }, list_schema: { type: 'object' }, default_pins: { type: 'array', items: { type: 'object', properties: { label: { type: 'string' }, url: { type: 'string' }, badge: { type: 'boolean' } }, required: ['label', 'url'] } }, change_summary: { type: 'string' } }, required: ['role'] } },
63
65
  { name: 'get_role_schema', description: 'Fetch a role\'s form_schema + metadata_schema pair — the live (latest) schema, or an immutable snapshot when a version is given (the version escalations pin via metadata.schema_version).', read_safe: true, inputSchema: { type: 'object', properties: { role: { type: 'string' }, version: { type: 'integer' } }, required: ['role'] } },
64
66
  { name: 'list_role_schema_versions', description: 'List a role\'s schema version history, newest first. Each schema edit creates a new version; fetch a full snapshot with get_role_schema.', read_safe: true, inputSchema: { type: 'object', properties: { role: { type: 'string' } }, required: ['role'] } },
65
67
  // ── personas.ts ─────────────────────────────────────────────────────────
@@ -122,15 +124,11 @@ exports.ADMIN_TOOLS = [
122
124
  { name: 'get_export_status', description: 'Return the numeric status semaphore for a workflow.', read_safe: true, inputSchema: { type: 'object', properties: { workflow_id: { type: 'string' } }, required: ['workflow_id'] } },
123
125
  // ── overview.ts ─────────────────────────────────────────────────────────
124
126
  { name: 'get_system_overview', description: 'Triage-ready system dashboard: escalation queue pressure, task throughput, hourly trends, infrastructure status, and process summary. One call for complete system state.', read_safe: true, inputSchema: { type: 'object', properties: { period: { type: 'string', enum: ['1h', '24h', '7d'], description: 'Time window (default: 24h)' } } } },
125
- // ── ortho.ts ─────────────────────────────────────────────────────────────
126
- { name: 'ortho_submit', description: 'Start a new orthotic manufacturing order through the 8-stage pipeline (design → review → print → grind → glue → finish → qa → ship). Returns a workflow_id used to track progress.', read_safe: false, inputSchema: { type: 'object', properties: { order_id: { type: 'string' }, item_type: { type: 'string' }, stages: { type: 'array', items: { type: 'string' } }, metadata: { type: 'object' } }, required: ['order_id', 'item_type'] } },
127
- { name: 'ortho_pending', description: 'List open ortho-pipeline stage escalations waiting to be completed. Optionally filter by stage name. Returns escalation IDs for use with ortho_complete_stage.', read_safe: true, inputSchema: { type: 'object', properties: { stage: { type: 'string' }, limit: { type: 'integer' } } } },
128
- { name: 'ortho_complete_stage', description: 'Complete a pending ortho pipeline stage escalation. Resolving automatically advances the workflow to the next stage.', read_safe: false, inputSchema: { type: 'object', properties: { escalation_id: { type: 'string' }, notes: { type: 'string' }, outcome: { type: 'object' } }, required: ['escalation_id', 'notes'] } },
129
- { name: 'ortho_status', description: 'Get the current status and completed stage results for an ortho pipeline workflow. Returns "running" while in progress or "complete" with the full stage history.', read_safe: true, inputSchema: { type: 'object', properties: { workflow_id: { type: 'string' } }, required: ['workflow_id'] } },
130
127
  // ── scan-codes.ts ────────────────────────────────────────────────────────
131
- { name: 'execute_scan_code', description: 'Execute a raw scan code (version:category:target): parse against the configured schemes, walk the rule\'s condition/action steps, and return a structured outcome. Mutating verbs act on escalations.', read_safe: false, inputSchema: { type: 'object', properties: { code: { type: 'string' } }, required: ['code'] } },
128
+ { name: 'execute_scan_code', description: 'Execute a raw scan code (version:category:target): parse against the configured schemes, walk the rule\'s condition/action steps, and return a structured outcome. Identity-kind schemes mint an acting-identity grant; with actingToken, mutating verbs attribute to the badged person.', read_safe: false, inputSchema: { type: 'object', properties: { code: { type: 'string' }, actingToken: { type: 'string' }, previousActingToken: { type: 'string' } }, required: ['code'] } },
129
+ { name: 'execute_scan_choice', description: 'Execute one choice presented by a PRESENT step (the info-choice screen). The pointer is re-validated against live config, row state, the acting-identity gate, and RBAC before the verb runs.', read_safe: false, inputSchema: { type: 'object', properties: { schemeVersion: { type: 'integer' }, category: { type: 'string' }, stepIndex: { type: 'integer' }, choiceIndex: { type: 'integer' }, escalationId: { type: 'string' }, actingToken: { type: 'string' } }, required: ['schemeVersion', 'category', 'stepIndex', 'choiceIndex', 'escalationId'] } },
132
130
  { name: 'list_scan_schemes', description: 'List all scan-code schemes: version digit, name, target metadata facet, and encoding (fixed digits or delimited text).', read_safe: true, inputSchema: { type: 'object', properties: {} } },
133
- { name: 'upsert_scan_scheme', description: 'Create or replace a scan scheme: which metadata facet the scanned target resolves against and how the code string parses.', read_safe: false, inputSchema: { type: 'object', properties: { version: { type: 'integer' }, name: { type: 'string' }, target_facet: { type: 'string' }, encoding: { type: 'string', enum: ['fixed', 'delimited'] }, delimiter: { type: 'string' }, target_length: { type: 'integer' }, enabled: { type: 'boolean' } }, required: ['version', 'name', 'target_facet'] } },
134
- { name: 'upsert_scan_rule', description: 'Create or replace a scan rule for a scheme category: friendly name, ordered condition/action steps (first matching query wins), and a no-match fallback screen.', read_safe: false, inputSchema: { type: 'object', properties: { scheme_version: { type: 'integer' }, category: { type: 'string' }, name: { type: 'string' }, steps: { type: 'array', items: { type: 'object' } }, fallback: { type: 'object' }, enabled: { type: 'boolean' } }, required: ['scheme_version', 'category', 'name', 'steps'] } },
135
- { name: 'delete_scan_rule', description: 'Delete one scan rule (scheme version + two-digit category).', read_safe: false, inputSchema: { type: 'object', properties: { scheme_version: { type: 'integer' }, category: { type: 'string' } }, required: ['scheme_version', 'category'] } },
131
+ { name: 'upsert_scan_scheme', description: 'Create or replace a scan scheme: which metadata facet the scanned target resolves against and how the code string parses. kind=identity turns the scheme into a badge layer minting acting-identity grants.', read_safe: false, inputSchema: { type: 'object', properties: { version: { type: 'integer' }, name: { type: 'string' }, target_facet: { type: 'string' }, encoding: { type: 'string', enum: ['fixed', 'delimited'] }, delimiter: { type: 'string' }, target_length: { type: 'integer' }, kind: { type: 'string', enum: ['action', 'identity'] }, grant_ttl_seconds: { type: 'integer' }, grant_max_uses: { type: 'integer' }, enabled: { type: 'boolean' } }, required: ['version', 'name', 'target_facet'] } },
132
+ { name: 'upsert_scan_rule', description: 'Create or replace a scan rule for a scheme category: friendly name, ordered condition/action steps (first matching query wins), a no-match fallback screen, and a not-primed screen for identity-required steps. present-verb steps carry a labeled choice set.', read_safe: false, inputSchema: { type: 'object', properties: { scheme_version: { type: 'integer' }, category: { type: 'string' }, name: { type: 'string' }, steps: { type: 'array', items: { type: 'object' } }, fallback: { type: 'object' }, notPrimed: { type: 'object' }, enabled: { type: 'boolean' } }, required: ['scheme_version', 'category', 'name', 'steps'] } },
133
+ { name: 'delete_scan_rule', description: 'Delete one scan rule (scheme version + single-digit category).', read_safe: false, inputSchema: { type: 'object', properties: { scheme_version: { type: 'integer' }, category: { type: 'string' } }, required: ['scheme_version', 'category'] } },
136
134
  ];
@@ -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/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/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/scan-codes/config.ts","../api/scan-codes/execute.ts","../api/scan-codes/index.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/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/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/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/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/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/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/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/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-query.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/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/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/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/persona.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/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/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/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/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/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/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/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/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/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/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-query.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/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/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/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"}
@@ -0,0 +1,154 @@
1
+ import type { FacetQuery } from './facets';
2
+ /** Top-level columns a caller may group/select on. Anything else is a facet. */
3
+ export declare const GROUPABLE_COLUMNS: readonly ["role", "subtype", "status"];
4
+ export type GroupableColumn = (typeof GROUPABLE_COLUMNS)[number];
5
+ /**
6
+ * The analytics filter — a FacetQuery's WHAT fields, plus the entity shortcut:
7
+ * `entity` names an entity facet key and resolves server-side to every role
8
+ * declaring it (`lt_roles.entity_facet`) — the entity's SYSTEM. Mutually
9
+ * exclusive with `role`/`roles`; the resolved system also implies
10
+ * `exists: [entity]` so stray rows without the entity stay out.
11
+ */
12
+ export type AnalyticsQuery = FacetQuery & {
13
+ entity?: string;
14
+ };
15
+ /** What to group the aggregate by. Empty groupBy → a single total row. */
16
+ export interface FacetGroupBy {
17
+ /** Whitelisted top-level columns (GROUPABLE_COLUMNS). */
18
+ columns?: GroupableColumn[];
19
+ /** Metadata facet keys, projected as text (NULL group key when absent). */
20
+ facets?: string[];
21
+ /**
22
+ * Group by the derived STATE label: each role contributes per its
23
+ * entity_state_source — its subtypes (`'subtype'`) or itself (`'role'`).
24
+ * Returned as `state` on each row. Mutually exclusive with `states[]`.
25
+ */
26
+ state?: boolean;
27
+ }
28
+ /** A time window, half-open `[from, to)`. */
29
+ export interface AnalyticsWindow {
30
+ from: Date | string;
31
+ to: Date | string;
32
+ }
33
+ /**
34
+ * The measure — exactly one kind.
35
+ * - `membership`: count entities/rows whose interval is open at `asOf`
36
+ * (default now). A past `asOf` reconstructs the live set at that moment.
37
+ * - `dwell`: seconds each group's intervals were open within the window,
38
+ * clipped to the window on both ends.
39
+ */
40
+ export type AggregateMeasure = {
41
+ kind: 'membership';
42
+ asOf?: Date | string;
43
+ } | {
44
+ kind: 'dwell';
45
+ window: AnalyticsWindow;
46
+ };
47
+ /** Predicate a group row must satisfy to receive a state label. */
48
+ export interface StateMatch {
49
+ role?: string;
50
+ roles?: string[];
51
+ subtype?: string;
52
+ /** Equality on projected facet values (text projections). */
53
+ facets?: Record<string, unknown>;
54
+ /** Projected facet must be non-NULL on the group. */
55
+ exists?: string[];
56
+ }
57
+ /** Order the RESULT groups (not the underlying rows). */
58
+ export interface AggregateOrder {
59
+ /** `count`, `dwellSeconds`, `sampleCount`, a grouped column, or a grouped facet key. */
60
+ field: string;
61
+ direction?: 'asc' | 'desc';
62
+ }
63
+ export interface AggregateByFacetsInput {
64
+ /**
65
+ * The filter. `role`/`roles` (or `entity`), `facets`, `block`, `range`,
66
+ * `exists` apply verbatim. `status`, `available`, and `jeopardy` are
67
+ * REJECTED here — liveness is derived from the interval + measure
68
+ * (`liveStatuses`).
69
+ */
70
+ query: AnalyticsQuery;
71
+ groupBy: FacetGroupBy;
72
+ measure: AggregateMeasure;
73
+ /**
74
+ * membership only: count DISTINCT of this metadata facet per group
75
+ * (e.g. a machine-id facet → entities, not rows). Omit → count rows.
76
+ */
77
+ distinctBy?: string;
78
+ /**
79
+ * Optional labeling: tag each group with the FIRST matching state name
80
+ * (evaluated top-to-bottom). Pure labeling; grouping is unchanged.
81
+ */
82
+ states?: Array<{
83
+ name: string;
84
+ match: StateMatch;
85
+ }>;
86
+ /** Statuses considered live. Default ['pending']. */
87
+ liveStatuses?: string[];
88
+ orderBy?: AggregateOrder[];
89
+ limit?: number;
90
+ offset?: number;
91
+ }
92
+ export interface AggregateRow {
93
+ /** Present iff requested in groupBy.columns. */
94
+ role?: string;
95
+ subtype?: string;
96
+ /** Current status — status history is not stored, so a past `asOf` still groups by the row's status NOW. */
97
+ status?: string;
98
+ /** One entry per groupBy.facets key; NULL when the facet is absent on the underlying rows. */
99
+ facets: Record<string, string | null>;
100
+ /** Present iff `states` supplied and one matched. */
101
+ state?: string;
102
+ /** membership: entities (with distinctBy) or rows (without). */
103
+ count?: number;
104
+ /** dwell: summed open-seconds within the window. */
105
+ dwellSeconds?: number;
106
+ /** Underlying escalation rows contributing to this group (pre-distinct). */
107
+ sampleCount: number;
108
+ }
109
+ /** `overflow` = the group cap was hit; more groups exist beyond this page. */
110
+ export interface AggregateByFacetsResult {
111
+ groups: AggregateRow[];
112
+ overflow: boolean;
113
+ }
114
+ export interface TimelineByFacetInput {
115
+ /** The entity, matched GIN-served (`metadata @> {key: value}`) — the value must be stored as a JSON string. */
116
+ facet: {
117
+ key: string;
118
+ value: string;
119
+ };
120
+ /** Optional extra filter / role scope (or `entity` — the derived system). Same field rules as the aggregate query. */
121
+ query?: AnalyticsQuery;
122
+ /** Only intervals overlapping the window (overlap-filtered, not clipped). */
123
+ window?: AnalyticsWindow;
124
+ select?: {
125
+ columns?: GroupableColumn[];
126
+ facets?: string[];
127
+ };
128
+ /** Statuses considered live. Default ['pending']. */
129
+ liveStatuses?: string[];
130
+ /**
131
+ * Interval ordering by start instant. Default 'asc' (the journey read
132
+ * top-down); 'desc' + `before` pages a long history recent-first.
133
+ */
134
+ order?: 'asc' | 'desc';
135
+ /** Strict upper bound on startedAt — the "load earlier" cursor. */
136
+ before?: Date | string;
137
+ limit?: number;
138
+ }
139
+ export interface TimelineInterval {
140
+ role: string;
141
+ subtype?: string;
142
+ status?: string;
143
+ facets: Record<string, string | null>;
144
+ /** created_at, ISO-8601 UTC. */
145
+ startedAt: string;
146
+ /** Instant the row left the live set; null = still open. */
147
+ endedAt: string | null;
148
+ /** To endedAt, else to window.to clamped at now. */
149
+ durationSeconds: number;
150
+ }
151
+ export interface TimelineByFacetResult {
152
+ intervals: TimelineInterval[];
153
+ overflow: boolean;
154
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ // ─── Faceted escalation analytics ────────────────────────────────────────────
3
+ //
4
+ // Grouped/temporal reads over the escalation queue. Every escalation is one
5
+ // open interval `[created_at, ended_at)` — `ended_at` is the instant the row
6
+ // left the live set (resolved / cancelled / expired), NULL while live. The
7
+ // aggregate surface reads that time-series three ways: membership at an
8
+ // instant, dwell (open-seconds) over a window, and a per-entity timeline.
9
+ // Like the rest of the faceted surface, "state" and "entity" stay caller
10
+ // concepts expressed as `(role, subtype)` + metadata facets.
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.GROUPABLE_COLUMNS = void 0;
13
+ /** Top-level columns a caller may group/select on. Anything else is a facet. */
14
+ exports.GROUPABLE_COLUMNS = ['role', 'subtype', 'status'];
@@ -24,12 +24,33 @@ export interface FacetQuery {
24
24
  roles?: string[];
25
25
  /** metadata @> facets — required facets (AND), GIN-served. */
26
26
  facets?: Record<string, any>;
27
+ /**
28
+ * metadata @> ANY(anyOf) — the row carries at least one of these facet sets
29
+ * (OR), GIN-served; the positive mirror of `block`. Targets an explicit set
30
+ * of entities (e.g. the current page of an entity table) in one query.
31
+ */
32
+ anyOf?: Record<string, any>[];
27
33
  /** NOT (metadata @> ANY(block)) — exclude units carrying any of these facet sets. */
28
34
  block?: Record<string, any>[];
29
35
  /** Numeric range predicates over metadata facets. */
30
36
  range?: FacetRange[];
31
37
  /** metadata ? key — facet must be present. */
32
38
  exists?: string[];
39
+ /**
40
+ * Case-insensitive prefix match on facet VALUES: metadata->>key ILIKE
41
+ * '<value>%' (LIKE wildcards in the value are escaped). Rides the same
42
+ * bounded scans as the rest of the filter — the locate affordance for
43
+ * entity keys (type or scan the leading characters of a serial).
44
+ */
45
+ prefix?: Record<string, string>;
46
+ /**
47
+ * Exact match on facet VALUES via the text projection: metadata->>key =
48
+ * '<value>'. Compares as text, so it round-trips whatever `groupBy` emits —
49
+ * booleans, enums, and numbers all surface as text — the correct way to scope
50
+ * to a categorical slice value the aggregate handed back (a jsonb-containment
51
+ * filter would need the native type the text projection has already lost).
52
+ */
53
+ equals?: Record<string, string>;
33
54
  status?: string;
34
55
  /** true = only available (unclaimed/expired); false = only held now. */
35
56
  available?: boolean;
@@ -3,6 +3,8 @@ export type { LTTaskStatus, LTTaskPriority, LTTaskRecord, LTMilestone, } from '.
3
3
  export type { LTEscalationStatus, LTEscalationPriority, LTEscalationRecord, EscalationResolution, } from './escalation';
4
4
  export { isEffectivelyClaimed, isAvailable, } from './escalation';
5
5
  export type { FacetRangeOp, FacetRange, FacetOrder, FacetQuery, ClaimedGroup, GroupSummary, } from './facets';
6
+ export type { GroupableColumn, AnalyticsQuery, FacetGroupBy, AnalyticsWindow, AggregateMeasure, StateMatch, AggregateOrder, AggregateByFacetsInput, AggregateRow, AggregateByFacetsResult, TimelineByFacetInput, TimelineInterval, TimelineByFacetResult, } from './analytics';
7
+ export { GROUPABLE_COLUMNS, } from './analytics';
6
8
  export type { LTReturn, LTEscalation, LTActivity, LTResult, } from './workflow';
7
9
  export type { LTWorkflowConfig, LTResolvedConfig, LTProviderData, } from './config';
8
10
  export type { AuthPayload, LTAuthAdapter, SSOIdentity, LTSSOConfig, } from './auth';
@@ -22,6 +24,7 @@ export type { DelegationTokenPayload, ToolAuthContext, ServiceTokenRecord, } fro
22
24
  export type { ToolContext, ToolPrincipal, ToolCredentials, ToolTrace, } from './tool-context';
23
25
  export type { LTOAuthProviderConfig, LTOAuthStartConfig, LTOAuthUserInfo, LTDecryptedToken, LTOAuthTokenRecord, } from './oauth';
24
26
  export type { LTApiResult, LTApiAuth, } from './sdk';
25
- export type { ScanEncoding, ScanVerb, ScanOutcome, ScanAvailability, ScanCardinality, ScanScheme, ScanStepQuery, ScanStepParams, ScanStep, ScanRuleFallback, ScanRule, ParsedScanCode, ScanExecuteRequest, ScanPendingAction, ScanExecuteResponse, } from './scan-code';
26
- export { SCAN_ENCODINGS, SCAN_VERBS, SCAN_MUTATING_VERBS, SCAN_OUTCOMES, SCAN_AVAILABILITY, SCAN_CARDINALITY, SCAN_PROVENANCE_KEYS, SCAN_TEMPLATE_TOKENS, } from './scan-code';
27
+ export type { ScanEncoding, ScanSchemeKind, ScanVerb, ScanOutcome, ScanAvailability, ScanCardinality, ScanScheme, ScanStepQuery, ScanStepParams, ScanStep, ScanRuleFallback, ScanRule, ParsedScanCode, ScanExecuteRequest, ScanPendingAction, ScanExecuteResponse, } from './scan-code';
28
+ export type { ScanChoice, ScanChoiceExecuteRequest, ScanPresentedChoice, } from './scan-choice';
29
+ export { SCAN_ENCODINGS, SCAN_SCHEME_KINDS, SCAN_VERBS, SCAN_MUTATING_VERBS, SCAN_OUTCOMES, SCAN_AVAILABILITY, SCAN_CARDINALITY, SCAN_PROVENANCE_KEYS, SCAN_TEMPLATE_TOKENS, ACTING_IDENTITY_LABEL, } from './scan-code';
27
30
  export type { LTAgent, LTAgentStatus, LTAgentStats, AgentCapability, AgentBehaviors, AgentSchedule, AgentTrigger, } from './agent';
@@ -1,11 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SCAN_TEMPLATE_TOKENS = exports.SCAN_PROVENANCE_KEYS = exports.SCAN_CARDINALITY = exports.SCAN_AVAILABILITY = exports.SCAN_OUTCOMES = exports.SCAN_MUTATING_VERBS = exports.SCAN_VERBS = exports.SCAN_ENCODINGS = exports.isAvailable = exports.isEffectivelyClaimed = void 0;
3
+ exports.ACTING_IDENTITY_LABEL = exports.SCAN_TEMPLATE_TOKENS = exports.SCAN_PROVENANCE_KEYS = exports.SCAN_CARDINALITY = exports.SCAN_AVAILABILITY = exports.SCAN_OUTCOMES = exports.SCAN_MUTATING_VERBS = exports.SCAN_VERBS = exports.SCAN_SCHEME_KINDS = exports.SCAN_ENCODINGS = exports.GROUPABLE_COLUMNS = exports.isAvailable = exports.isEffectivelyClaimed = void 0;
4
4
  var escalation_1 = require("./escalation");
5
5
  Object.defineProperty(exports, "isEffectivelyClaimed", { enumerable: true, get: function () { return escalation_1.isEffectivelyClaimed; } });
6
6
  Object.defineProperty(exports, "isAvailable", { enumerable: true, get: function () { return escalation_1.isAvailable; } });
7
+ var analytics_1 = require("./analytics");
8
+ Object.defineProperty(exports, "GROUPABLE_COLUMNS", { enumerable: true, get: function () { return analytics_1.GROUPABLE_COLUMNS; } });
7
9
  var scan_code_1 = require("./scan-code");
8
10
  Object.defineProperty(exports, "SCAN_ENCODINGS", { enumerable: true, get: function () { return scan_code_1.SCAN_ENCODINGS; } });
11
+ Object.defineProperty(exports, "SCAN_SCHEME_KINDS", { enumerable: true, get: function () { return scan_code_1.SCAN_SCHEME_KINDS; } });
9
12
  Object.defineProperty(exports, "SCAN_VERBS", { enumerable: true, get: function () { return scan_code_1.SCAN_VERBS; } });
10
13
  Object.defineProperty(exports, "SCAN_MUTATING_VERBS", { enumerable: true, get: function () { return scan_code_1.SCAN_MUTATING_VERBS; } });
11
14
  Object.defineProperty(exports, "SCAN_OUTCOMES", { enumerable: true, get: function () { return scan_code_1.SCAN_OUTCOMES; } });
@@ -13,3 +16,4 @@ Object.defineProperty(exports, "SCAN_AVAILABILITY", { enumerable: true, get: fun
13
16
  Object.defineProperty(exports, "SCAN_CARDINALITY", { enumerable: true, get: function () { return scan_code_1.SCAN_CARDINALITY; } });
14
17
  Object.defineProperty(exports, "SCAN_PROVENANCE_KEYS", { enumerable: true, get: function () { return scan_code_1.SCAN_PROVENANCE_KEYS; } });
15
18
  Object.defineProperty(exports, "SCAN_TEMPLATE_TOKENS", { enumerable: true, get: function () { return scan_code_1.SCAN_TEMPLATE_TOKENS; } });
19
+ Object.defineProperty(exports, "ACTING_IDENTITY_LABEL", { enumerable: true, get: function () { return scan_code_1.ACTING_IDENTITY_LABEL; } });
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Info-choice types: the labeled choice set a PRESENT step renders under the
3
+ * located reality, and the pointer the client sends back to execute one.
4
+ * The choices are the same escalation primitives as step verbs — presented,
5
+ * not auto-executed; the human's tap (or a second scan matching `code`) is
6
+ * the disambiguator.
7
+ */
8
+ import type { ScanStepParams, ScanVerb } from './scan-code';
9
+ /** One labeled choice on a PRESENT step. */
10
+ export interface ScanChoice {
11
+ /** Button text — what the associate reads. */
12
+ label: string;
13
+ verb: ScanVerb;
14
+ params?: ScanStepParams;
15
+ /** Ask-first dialog before the choice executes (presentational; the server re-validates). */
16
+ confirm?: {
17
+ prompt: string;
18
+ };
19
+ /** The choice executes only under a real acting identity (badge or a write-capable login). */
20
+ requireActingIdentity?: boolean;
21
+ /** Short token enabling double-scan selection (scan object, then an action card). */
22
+ code?: string;
23
+ }
24
+ /**
25
+ * A pointer to a presented choice, sent back for execution. The server
26
+ * re-validates everything the pointer references — config, row, identity,
27
+ * RBAC — before any verb runs; the pointer is never authority.
28
+ */
29
+ export interface ScanChoiceExecuteRequest {
30
+ schemeVersion: number;
31
+ category: string;
32
+ stepIndex: number;
33
+ choiceIndex: number;
34
+ escalationId: string;
35
+ actingToken?: string;
36
+ }
37
+ /** One presented choice as the client sees it (CHOICES outcome). */
38
+ export interface ScanPresentedChoice {
39
+ index: number;
40
+ label: string;
41
+ verb: ScanVerb;
42
+ confirm?: {
43
+ prompt: string;
44
+ };
45
+ requireActingIdentity?: boolean;
46
+ code?: string;
47
+ /** True = the identity requirement is unsatisfied; render the notPrimed affordance. */
48
+ withheld: boolean;
49
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ /**
3
+ * Info-choice types: the labeled choice set a PRESENT step renders under the
4
+ * located reality, and the pointer the client sends back to execute one.
5
+ * The choices are the same escalation primitives as step verbs — presented,
6
+ * not auto-executed; the human's tap (or a second scan matching `code`) is
7
+ * the disambiguator.
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });