@hotmeshio/long-tail 0.25.0 → 0.25.2

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 (282) hide show
  1. package/build/api/escalations/batch-flag.d.ts +19 -0
  2. package/build/api/escalations/batch-flag.js +138 -0
  3. package/build/api/escalations/index.d.ts +2 -0
  4. package/build/api/escalations/index.js +8 -1
  5. package/build/api/escalations/roster-action.d.ts +37 -0
  6. package/build/api/escalations/roster-action.js +179 -0
  7. package/build/api/scan-codes/choice-roles.d.ts +3 -0
  8. package/build/api/scan-codes/choice-roles.js +48 -0
  9. package/build/api/scan-codes/choice.js +8 -0
  10. package/build/api/scan-codes/fill-labels.d.ts +15 -0
  11. package/build/api/scan-codes/fill-labels.js +99 -0
  12. package/build/api/scan-codes/hold.js +1 -0
  13. package/build/api/scan-codes/present.js +7 -2
  14. package/build/api/scan-codes/verb-fill.js +22 -5
  15. package/build/routes/escalations/resolve.js +45 -0
  16. package/build/sdk/index.d.ts +11 -0
  17. package/build/sdk/index.js +3 -0
  18. package/build/services/domain/seed.d.ts +12 -10
  19. package/build/services/domain/seed.js +31 -25
  20. package/build/services/escalation/batch-flag.d.ts +25 -0
  21. package/build/services/escalation/batch-flag.js +51 -0
  22. package/build/services/escalation/index.d.ts +1 -0
  23. package/build/services/escalation/index.js +1 -0
  24. package/build/services/escalation/roster.d.ts +3 -1
  25. package/build/services/escalation/roster.js +6 -1
  26. package/build/services/scan-code/validate-subject.js +16 -0
  27. package/build/services/scan-code/validate.js +7 -0
  28. package/build/shared/form-validation/index.d.ts +1 -0
  29. package/build/shared/form-validation/index.js +1 -0
  30. package/build/shared/form-validation/x-lt-actions.d.ts +80 -0
  31. package/build/shared/form-validation/x-lt-actions.js +133 -0
  32. package/build/shared/form-validation/x-lt-roster.d.ts +2 -0
  33. package/build/shared/form-validation/x-lt-roster.js +50 -6
  34. package/build/start/workers.d.ts +3 -0
  35. package/build/start/workers.js +15 -5
  36. package/build/tsconfig.tsbuildinfo +1 -1
  37. package/build/types/escalation.d.ts +19 -0
  38. package/build/types/escalation.js +4 -0
  39. package/build/types/index.d.ts +1 -1
  40. package/build/types/scan-choice.d.ts +9 -0
  41. package/build/types/scan-code/response.d.ts +2 -0
  42. package/build/types/scan-code/rule.d.ts +17 -0
  43. package/build/types/startup.d.ts +8 -1
  44. package/dashboard/dist/assets/{AdminDashboard-DWVRAu63.js → AdminDashboard-B8MqNLiB.js} +2 -2
  45. package/dashboard/dist/assets/{AdminDashboard-DWVRAu63.js.map → AdminDashboard-B8MqNLiB.js.map} +1 -1
  46. package/dashboard/dist/assets/{AgentConfigPage-Exjtjbvp.js → AgentConfigPage-Yg81Eiuo.js} +2 -2
  47. package/dashboard/dist/assets/{AgentConfigPage-Exjtjbvp.js.map → AgentConfigPage-Yg81Eiuo.js.map} +1 -1
  48. package/dashboard/dist/assets/{AgentDetailPage-nDbZo6RB.js → AgentDetailPage-ZUGYEONO.js} +3 -3
  49. package/dashboard/dist/assets/{AgentDetailPage-nDbZo6RB.js.map → AgentDetailPage-ZUGYEONO.js.map} +1 -1
  50. package/dashboard/dist/assets/{AgentsPage-Dsk9iHps.js → AgentsPage-CZIWMwak.js} +2 -2
  51. package/dashboard/dist/assets/{AgentsPage-Dsk9iHps.js.map → AgentsPage-CZIWMwak.js.map} +1 -1
  52. package/dashboard/dist/assets/AvailableEscalationsPage-BVtpc4xO.js +2 -0
  53. package/dashboard/dist/assets/{AvailableEscalationsPage-D1mCqj8Z.js.map → AvailableEscalationsPage-BVtpc4xO.js.map} +1 -1
  54. package/dashboard/dist/assets/{BotPicker-u5760MWZ.js → BotPicker-8bf0yOCT.js} +2 -2
  55. package/dashboard/dist/assets/{BotPicker-u5760MWZ.js.map → BotPicker-8bf0yOCT.js.map} +1 -1
  56. package/dashboard/dist/assets/{BulkAssignModal-CtISXXmW.js → BulkAssignModal-B2lr1J6P.js} +2 -2
  57. package/dashboard/dist/assets/{BulkAssignModal-CtISXXmW.js.map → BulkAssignModal-B2lr1J6P.js.map} +1 -1
  58. package/dashboard/dist/assets/{CapabilitiesPage-BKIlrQfU.js → CapabilitiesPage-BQQBR2sj.js} +2 -2
  59. package/dashboard/dist/assets/{CapabilitiesPage-BKIlrQfU.js.map → CapabilitiesPage-BQQBR2sj.js.map} +1 -1
  60. package/dashboard/dist/assets/{CollapsibleSection-DlBVTFqc.js → CollapsibleSection-DFW8TYyU.js} +2 -2
  61. package/dashboard/dist/assets/{CollapsibleSection-DlBVTFqc.js.map → CollapsibleSection-DFW8TYyU.js.map} +1 -1
  62. package/dashboard/dist/assets/{ConfirmDeleteModal-Pabkchg_.js → ConfirmDeleteModal-DGlOlQAo.js} +2 -2
  63. package/dashboard/dist/assets/{ConfirmDeleteModal-Pabkchg_.js.map → ConfirmDeleteModal-DGlOlQAo.js.map} +1 -1
  64. package/dashboard/dist/assets/{ConnectedAppsPage-DG2YZGN3.js → ConnectedAppsPage-CIM9gzHj.js} +2 -2
  65. package/dashboard/dist/assets/{ConnectedAppsPage-DG2YZGN3.js.map → ConnectedAppsPage-CIM9gzHj.js.map} +1 -1
  66. package/dashboard/dist/assets/{CountdownTimer-5t8S2qMi.js → CountdownTimer-BD_iWm6S.js} +2 -2
  67. package/dashboard/dist/assets/{CountdownTimer-5t8S2qMi.js.map → CountdownTimer-BD_iWm6S.js.map} +1 -1
  68. package/dashboard/dist/assets/{CredentialsPage-CPVbYQow.js → CredentialsPage-CTtUkvoD.js} +2 -2
  69. package/dashboard/dist/assets/{CredentialsPage-CPVbYQow.js.map → CredentialsPage-CTtUkvoD.js.map} +1 -1
  70. package/dashboard/dist/assets/{CronLabel-C7UbTrO-.js → CronLabel-rZMptkYQ.js} +2 -2
  71. package/dashboard/dist/assets/{CronLabel-C7UbTrO-.js.map → CronLabel-rZMptkYQ.js.map} +1 -1
  72. package/dashboard/dist/assets/{DropZone-DCZpORx-.js → DropZone-u1JGfR9G.js} +2 -2
  73. package/dashboard/dist/assets/{DropZone-DCZpORx-.js.map → DropZone-u1JGfR9G.js.map} +1 -1
  74. package/dashboard/dist/assets/{ElapsedCell-Yz7-LbtE.js → ElapsedCell-CmK9gHC5.js} +2 -2
  75. package/dashboard/dist/assets/{ElapsedCell-Yz7-LbtE.js.map → ElapsedCell-CmK9gHC5.js.map} +1 -1
  76. package/dashboard/dist/assets/{EntityTimelinePanel-xgPRdKEq.js → EntityTimelinePanel-Cfg0EMZs.js} +2 -2
  77. package/dashboard/dist/assets/{EntityTimelinePanel-xgPRdKEq.js.map → EntityTimelinePanel-Cfg0EMZs.js.map} +1 -1
  78. package/dashboard/dist/assets/{EscalationListSchemaPage-CqCd-y6B.js → EscalationListSchemaPage-CPcbC1-9.js} +3 -3
  79. package/dashboard/dist/assets/{EscalationListSchemaPage-CqCd-y6B.js.map → EscalationListSchemaPage-CPcbC1-9.js.map} +1 -1
  80. package/dashboard/dist/assets/{EscalationSchemaPage-D8YVQNph.js → EscalationSchemaPage-BsYdNVN7.js} +3 -3
  81. package/dashboard/dist/assets/{EscalationSchemaPage-D8YVQNph.js.map → EscalationSchemaPage-BsYdNVN7.js.map} +1 -1
  82. package/dashboard/dist/assets/EscalationTimeline-D1enxZDs.js +2 -0
  83. package/dashboard/dist/assets/{EscalationTimeline-D6jrDcBb.js.map → EscalationTimeline-D1enxZDs.js.map} +1 -1
  84. package/dashboard/dist/assets/{EscalationTitleSelect-CGGT-QTu.js → EscalationTitleSelect-DwqhnPKX.js} +2 -2
  85. package/dashboard/dist/assets/{EscalationTitleSelect-CGGT-QTu.js.map → EscalationTitleSelect-DwqhnPKX.js.map} +1 -1
  86. package/dashboard/dist/assets/{EscalationsOverview-B7O4ttP4.js → EscalationsOverview-ChuKh02E.js} +2 -2
  87. package/dashboard/dist/assets/{EscalationsOverview-B7O4ttP4.js.map → EscalationsOverview-ChuKh02E.js.map} +1 -1
  88. package/dashboard/dist/assets/{EventTable-DJniXnhe.js → EventTable-GqZIKPce.js} +2 -2
  89. package/dashboard/dist/assets/{EventTable-DJniXnhe.js.map → EventTable-GqZIKPce.js.map} +1 -1
  90. package/dashboard/dist/assets/{FilterBar-f-LEKcHI.js → FilterBar-CqPFZkVU.js} +2 -2
  91. package/dashboard/dist/assets/{FilterBar-f-LEKcHI.js.map → FilterBar-CqPFZkVU.js.map} +1 -1
  92. package/dashboard/dist/assets/{GraphInvokePage-CR0MtYv8.js → GraphInvokePage-_fB7mtBU.js} +2 -2
  93. package/dashboard/dist/assets/{GraphInvokePage-CR0MtYv8.js.map → GraphInvokePage-_fB7mtBU.js.map} +1 -1
  94. package/dashboard/dist/assets/{HomePage-HVw7T5ER.js → HomePage-BXA0Cz0F.js} +2 -2
  95. package/dashboard/dist/assets/{HomePage-HVw7T5ER.js.map → HomePage-BXA0Cz0F.js.map} +1 -1
  96. package/dashboard/dist/assets/{ListToolbar-CTGK5BXW.js → ListToolbar-Bf4DFITI.js} +2 -2
  97. package/dashboard/dist/assets/{ListToolbar-CTGK5BXW.js.map → ListToolbar-Bf4DFITI.js.map} +1 -1
  98. package/dashboard/dist/assets/{McpOverview-B2bbKKu2.js → McpOverview-H61XQRji.js} +2 -2
  99. package/dashboard/dist/assets/{McpOverview-B2bbKKu2.js.map → McpOverview-H61XQRji.js.map} +1 -1
  100. package/dashboard/dist/assets/{McpQueryDetailPage-DgLxwwJy.js → McpQueryDetailPage-wbwK8WWq.js} +2 -2
  101. package/dashboard/dist/assets/{McpQueryDetailPage-DgLxwwJy.js.map → McpQueryDetailPage-wbwK8WWq.js.map} +1 -1
  102. package/dashboard/dist/assets/{McpQueryPage-CSkczeJP.js → McpQueryPage-CYvVEk3G.js} +2 -2
  103. package/dashboard/dist/assets/{McpQueryPage-CSkczeJP.js.map → McpQueryPage-CYvVEk3G.js.map} +1 -1
  104. package/dashboard/dist/assets/{McpRunDetailPage-CrUsDPRD.js → McpRunDetailPage-TZBX68i4.js} +2 -2
  105. package/dashboard/dist/assets/{McpRunDetailPage-CrUsDPRD.js.map → McpRunDetailPage-TZBX68i4.js.map} +1 -1
  106. package/dashboard/dist/assets/{McpRunsPage-twxFdTtJ.js → McpRunsPage-Cu91Mh52.js} +2 -2
  107. package/dashboard/dist/assets/{McpRunsPage-twxFdTtJ.js.map → McpRunsPage-Cu91Mh52.js.map} +1 -1
  108. package/dashboard/dist/assets/{NamespacePill-CSZT2fA4.js → NamespacePill-C5epAgq6.js} +2 -2
  109. package/dashboard/dist/assets/{NamespacePill-CSZT2fA4.js.map → NamespacePill-C5epAgq6.js.map} +1 -1
  110. package/dashboard/dist/assets/{OperationsPage-gOVMrL_a.js → OperationsPage-D-6sKw6y.js} +3 -3
  111. package/dashboard/dist/assets/{OperationsPage-gOVMrL_a.js.map → OperationsPage-D-6sKw6y.js.map} +1 -1
  112. package/dashboard/dist/assets/OperatorDashboard-DD8JUU3L.js +2 -0
  113. package/dashboard/dist/assets/{OperatorDashboard-BoeZIyup.js.map → OperatorDashboard-DD8JUU3L.js.map} +1 -1
  114. package/dashboard/dist/assets/{PageHeader-C4z1ExF7.js → PageHeader-BSWIspNB.js} +2 -2
  115. package/dashboard/dist/assets/{PageHeader-C4z1ExF7.js.map → PageHeader-BSWIspNB.js.map} +1 -1
  116. package/dashboard/dist/assets/{PageHeaderWithStats-B_f_Sz_Q.js → PageHeaderWithStats-DDjopQ-k.js} +2 -2
  117. package/dashboard/dist/assets/{PageHeaderWithStats-B_f_Sz_Q.js.map → PageHeaderWithStats-DDjopQ-k.js.map} +1 -1
  118. package/dashboard/dist/assets/{PersonaDetailPage-CDktk1mi.js → PersonaDetailPage-CGri6okV.js} +2 -2
  119. package/dashboard/dist/assets/{PersonaDetailPage-CDktk1mi.js.map → PersonaDetailPage-CGri6okV.js.map} +1 -1
  120. package/dashboard/dist/assets/{PersonasPage-Bs097x07.js → PersonasPage-DtHW6-Qx.js} +2 -2
  121. package/dashboard/dist/assets/{PersonasPage-Bs097x07.js.map → PersonasPage-DtHW6-Qx.js.map} +1 -1
  122. package/dashboard/dist/assets/PortalPage-Dgbk_mzr.js +2 -0
  123. package/dashboard/dist/assets/{PortalPage-DjfjerpF.js.map → PortalPage-Dgbk_mzr.js.map} +1 -1
  124. package/dashboard/dist/assets/{ProcessDetailPage-B30RatjD.js → ProcessDetailPage-BdkacBrD.js} +2 -2
  125. package/dashboard/dist/assets/{ProcessDetailPage-B30RatjD.js.map → ProcessDetailPage-BdkacBrD.js.map} +1 -1
  126. package/dashboard/dist/assets/{ProcessesListPage-DrvjzgWT.js → ProcessesListPage-DO5A-OfZ.js} +2 -2
  127. package/dashboard/dist/assets/{ProcessesListPage-DrvjzgWT.js.map → ProcessesListPage-DO5A-OfZ.js.map} +1 -1
  128. package/dashboard/dist/assets/ResolverForm-CqGE5lf-.js +8 -0
  129. package/dashboard/dist/assets/ResolverForm-CqGE5lf-.js.map +1 -0
  130. package/dashboard/dist/assets/{RoleDetailPage-ClYgn-3d.js → RoleDetailPage-DgVp0Hih.js} +2 -2
  131. package/dashboard/dist/assets/{RoleDetailPage-ClYgn-3d.js.map → RoleDetailPage-DgVp0Hih.js.map} +1 -1
  132. package/dashboard/dist/assets/{RolePill-Bw_n7EpR.js → RolePill-CoETDpjF.js} +2 -2
  133. package/dashboard/dist/assets/{RolePill-Bw_n7EpR.js.map → RolePill-CoETDpjF.js.map} +1 -1
  134. package/dashboard/dist/assets/{RolesPage-B_3qWsvQ.js → RolesPage-BmsWq83e.js} +2 -2
  135. package/dashboard/dist/assets/{RolesPage-B_3qWsvQ.js.map → RolesPage-BmsWq83e.js.map} +1 -1
  136. package/dashboard/dist/assets/RosterWidget-DR-T4Izu.js +2 -0
  137. package/dashboard/dist/assets/RosterWidget-DR-T4Izu.js.map +1 -0
  138. package/dashboard/dist/assets/{RunAsSelector-CbJT50Hp.js → RunAsSelector-CyUWGp5P.js} +2 -2
  139. package/dashboard/dist/assets/{RunAsSelector-CbJT50Hp.js.map → RunAsSelector-CyUWGp5P.js.map} +1 -1
  140. package/dashboard/dist/assets/{ScanCodesPage-CIIDuh8w.js → ScanCodesPage-Cy05JOt4.js} +2 -2
  141. package/dashboard/dist/assets/{ScanCodesPage-CIIDuh8w.js.map → ScanCodesPage-Cy05JOt4.js.map} +1 -1
  142. package/dashboard/dist/assets/{ScanSchemeDetailPage-Bd3P3eyh.js → ScanSchemeDetailPage-BX1afzOg.js} +2 -2
  143. package/dashboard/dist/assets/{ScanSchemeDetailPage-Bd3P3eyh.js.map → ScanSchemeDetailPage-BX1afzOg.js.map} +1 -1
  144. package/dashboard/dist/assets/ScanStationPage-DLAB41tb.js +2 -0
  145. package/dashboard/dist/assets/ScanStationPage-DLAB41tb.js.map +1 -0
  146. package/dashboard/dist/assets/{ScopeBadge-CKgfwTy3.js → ScopeBadge-CGsTtqFr.js} +2 -2
  147. package/dashboard/dist/assets/{ScopeBadge-CKgfwTy3.js.map → ScopeBadge-CGsTtqFr.js.map} +1 -1
  148. package/dashboard/dist/assets/{StickyPagination-BNOuYZ1m.js → StickyPagination-BzUTnYYE.js} +2 -2
  149. package/dashboard/dist/assets/{StickyPagination-BNOuYZ1m.js.map → StickyPagination-BzUTnYYE.js.map} +1 -1
  150. package/dashboard/dist/assets/{StreamMessageDetail-ALVUnfF1.js → StreamMessageDetail-D0W1ekgG.js} +2 -2
  151. package/dashboard/dist/assets/{StreamMessageDetail-ALVUnfF1.js.map → StreamMessageDetail-D0W1ekgG.js.map} +1 -1
  152. package/dashboard/dist/assets/{SwimlaneTimeline-B5b8-xqI.js → SwimlaneTimeline-BPBwmwuO.js} +2 -2
  153. package/dashboard/dist/assets/{SwimlaneTimeline-B5b8-xqI.js.map → SwimlaneTimeline-BPBwmwuO.js.map} +1 -1
  154. package/dashboard/dist/assets/{TagInput-B6fMAqxd.js → TagInput-S7UuVT_M.js} +2 -2
  155. package/dashboard/dist/assets/{TagInput-B6fMAqxd.js.map → TagInput-S7UuVT_M.js.map} +1 -1
  156. package/dashboard/dist/assets/{TaskDetailPage-CoV3WcTA.js → TaskDetailPage-VuaIXISy.js} +2 -2
  157. package/dashboard/dist/assets/{TaskDetailPage-CoV3WcTA.js.map → TaskDetailPage-VuaIXISy.js.map} +1 -1
  158. package/dashboard/dist/assets/{TaskQueuePill-BnDp_DE6.js → TaskQueuePill-BlHNpYiZ.js} +2 -2
  159. package/dashboard/dist/assets/{TaskQueuePill-BnDp_DE6.js.map → TaskQueuePill-BlHNpYiZ.js.map} +1 -1
  160. package/dashboard/dist/assets/{TasksListPage-CkMmOYOE.js → TasksListPage-KaUSoqos.js} +2 -2
  161. package/dashboard/dist/assets/{TasksListPage-CkMmOYOE.js.map → TasksListPage-KaUSoqos.js.map} +1 -1
  162. package/dashboard/dist/assets/{TimeAgo-DVkFgECX.js → TimeAgo-C_E6u0fr.js} +2 -2
  163. package/dashboard/dist/assets/{TimeAgo-DVkFgECX.js.map → TimeAgo-C_E6u0fr.js.map} +1 -1
  164. package/dashboard/dist/assets/{TimestampCell-CfTc6Txy.js → TimestampCell-CUJiAmax.js} +2 -2
  165. package/dashboard/dist/assets/{TimestampCell-CfTc6Txy.js.map → TimestampCell-CUJiAmax.js.map} +1 -1
  166. package/dashboard/dist/assets/{ToolPill-BRZWo4l8.js → ToolPill-D40uLM_v.js} +2 -2
  167. package/dashboard/dist/assets/{ToolPill-BRZWo4l8.js.map → ToolPill-D40uLM_v.js.map} +1 -1
  168. package/dashboard/dist/assets/{ToolTestPanel-kvqZqM0A.js → ToolTestPanel-Ch5nQANh.js} +2 -2
  169. package/dashboard/dist/assets/{ToolTestPanel-kvqZqM0A.js.map → ToolTestPanel-Ch5nQANh.js.map} +1 -1
  170. package/dashboard/dist/assets/{TopicDetailPage-CjkAAyy8.js → TopicDetailPage-BprToO7w.js} +2 -2
  171. package/dashboard/dist/assets/{TopicDetailPage-CjkAAyy8.js.map → TopicDetailPage-BprToO7w.js.map} +1 -1
  172. package/dashboard/dist/assets/{TopicsPage-CJZnv50y.js → TopicsPage-8SmCnQ-E.js} +2 -2
  173. package/dashboard/dist/assets/{TopicsPage-CJZnv50y.js.map → TopicsPage-8SmCnQ-E.js.map} +1 -1
  174. package/dashboard/dist/assets/{UserName-CPJPZnN1.js → UserName-BkJryunF.js} +2 -2
  175. package/dashboard/dist/assets/{UserName-CPJPZnN1.js.map → UserName-BkJryunF.js.map} +1 -1
  176. package/dashboard/dist/assets/{WorkflowExecutionPage-46UV5pJd.js → WorkflowExecutionPage-B2S5ODie.js} +2 -2
  177. package/dashboard/dist/assets/{WorkflowExecutionPage-46UV5pJd.js.map → WorkflowExecutionPage-B2S5ODie.js.map} +1 -1
  178. package/dashboard/dist/assets/{WorkflowPill-Cly9Ln_3.js → WorkflowPill-DJLcK_CM.js} +2 -2
  179. package/dashboard/dist/assets/{WorkflowPill-Cly9Ln_3.js.map → WorkflowPill-DJLcK_CM.js.map} +1 -1
  180. package/dashboard/dist/assets/{WorkflowsDashboard-DtxYdQbQ.js → WorkflowsDashboard-CABuRCXp.js} +2 -2
  181. package/dashboard/dist/assets/{WorkflowsDashboard-DtxYdQbQ.js.map → WorkflowsDashboard-CABuRCXp.js.map} +1 -1
  182. package/dashboard/dist/assets/{WorkflowsOverview-Cg4LSfck.js → WorkflowsOverview-BPUHAj8T.js} +2 -2
  183. package/dashboard/dist/assets/{WorkflowsOverview-Cg4LSfck.js.map → WorkflowsOverview-BPUHAj8T.js.map} +1 -1
  184. package/dashboard/dist/assets/{YamlWorkflowDetailPage-Del-RCgi.js → YamlWorkflowDetailPage-DZGjT-Tl.js} +2 -2
  185. package/dashboard/dist/assets/{YamlWorkflowDetailPage-Del-RCgi.js.map → YamlWorkflowDetailPage-DZGjT-Tl.js.map} +1 -1
  186. package/dashboard/dist/assets/{YamlWorkflowsPage-BF6Jtx24.js → YamlWorkflowsPage-DIxHURlM.js} +2 -2
  187. package/dashboard/dist/assets/{YamlWorkflowsPage-BF6Jtx24.js.map → YamlWorkflowsPage-DIxHURlM.js.map} +1 -1
  188. package/dashboard/dist/assets/{agents-wL-3dMOX.js → agents-BnDp2rcb.js} +2 -2
  189. package/dashboard/dist/assets/{agents-wL-3dMOX.js.map → agents-BnDp2rcb.js.map} +1 -1
  190. package/dashboard/dist/assets/{bots-D72EsztP.js → bots-maURYoyr.js} +2 -2
  191. package/dashboard/dist/assets/{bots-D72EsztP.js.map → bots-maURYoyr.js.map} +1 -1
  192. package/dashboard/dist/assets/{capabilities-DXFo6bRb.js → capabilities-5-TakMUh.js} +2 -2
  193. package/dashboard/dist/assets/{capabilities-DXFo6bRb.js.map → capabilities-5-TakMUh.js.map} +1 -1
  194. package/dashboard/dist/assets/{controlplane-gQdOgVtH.js → controlplane-BXVVTWoh.js} +2 -2
  195. package/dashboard/dist/assets/{controlplane-gQdOgVtH.js.map → controlplane-BXVVTWoh.js.map} +1 -1
  196. package/dashboard/dist/assets/escalation-columns-v8gx8wFb.js +2 -0
  197. package/dashboard/dist/assets/{escalation-columns-CSE5wfWQ.js.map → escalation-columns-v8gx8wFb.js.map} +1 -1
  198. package/dashboard/dist/assets/escalation-items-OWntjDaH.js +2 -0
  199. package/dashboard/dist/assets/escalation-items-OWntjDaH.js.map +1 -0
  200. package/dashboard/dist/assets/{index-Btm8FtTQ.js → index-BIfY4mR2.js} +2 -2
  201. package/dashboard/dist/assets/{index-Btm8FtTQ.js.map → index-BIfY4mR2.js.map} +1 -1
  202. package/dashboard/dist/assets/{index-h1Useskt.js → index-BTm3-qwq.js} +2 -2
  203. package/dashboard/dist/assets/{index-h1Useskt.js.map → index-BTm3-qwq.js.map} +1 -1
  204. package/dashboard/dist/assets/{index-Cu0xdX2t.js → index-CR9rhAvN.js} +2 -2
  205. package/dashboard/dist/assets/{index-Cu0xdX2t.js.map → index-CR9rhAvN.js.map} +1 -1
  206. package/dashboard/dist/assets/index-CWKs10VQ.js +13 -0
  207. package/dashboard/dist/assets/{index-D1lfq5iZ.js.map → index-CWKs10VQ.js.map} +1 -1
  208. package/dashboard/dist/assets/index-CvKegIVe.js +3 -0
  209. package/dashboard/dist/assets/index-CvKegIVe.js.map +1 -0
  210. package/dashboard/dist/assets/{index-BaCDL5fh.js → index-D7peGNN0.js} +27 -27
  211. package/dashboard/dist/assets/index-D7peGNN0.js.map +1 -0
  212. package/dashboard/dist/assets/{index-CptTEhWp.js → index-D_ojXTgO.js} +2 -2
  213. package/dashboard/dist/assets/{index-CptTEhWp.js.map → index-D_ojXTgO.js.map} +1 -1
  214. package/dashboard/dist/assets/index-Dafrbwk_.js +2 -0
  215. package/dashboard/dist/assets/{index-BvH8T-jb.js.map → index-Dafrbwk_.js.map} +1 -1
  216. package/dashboard/dist/assets/{index-czgLyfSo.js → index-Dk7nwVpm.js} +2 -2
  217. package/dashboard/dist/assets/{index-czgLyfSo.js.map → index-Dk7nwVpm.js.map} +1 -1
  218. package/dashboard/dist/assets/{index-CDxOQ84B.js → index-DvkcyTE2.js} +2 -2
  219. package/dashboard/dist/assets/{index-CDxOQ84B.js.map → index-DvkcyTE2.js.map} +1 -1
  220. package/dashboard/dist/assets/{index-C1iuZ4Q5.js → index-WPVpyoD3.js} +2 -2
  221. package/dashboard/dist/assets/{index-C1iuZ4Q5.js.map → index-WPVpyoD3.js.map} +1 -1
  222. package/dashboard/dist/assets/{index-C-QQ5rKF.js → index-YGTGxcTF.js} +2 -2
  223. package/dashboard/dist/assets/{index-C-QQ5rKF.js.map → index-YGTGxcTF.js.map} +1 -1
  224. package/dashboard/dist/assets/{index-ujGmmwl6.js → index-vgHzaGmW.js} +2 -2
  225. package/dashboard/dist/assets/{index-ujGmmwl6.js.map → index-vgHzaGmW.js.map} +1 -1
  226. package/dashboard/dist/assets/{knowledge-150lsM68.js → knowledge-L_zY1zmy.js} +2 -2
  227. package/dashboard/dist/assets/{knowledge-150lsM68.js.map → knowledge-L_zY1zmy.js.map} +1 -1
  228. package/dashboard/dist/assets/{mcp-query-CDsSMaYq.js → mcp-query-CFbGudkb.js} +2 -2
  229. package/dashboard/dist/assets/{mcp-query-CDsSMaYq.js.map → mcp-query-CFbGudkb.js.map} +1 -1
  230. package/dashboard/dist/assets/{mcp-CRtY4v5W.js → mcp-wCWFRA0T.js} +2 -2
  231. package/dashboard/dist/assets/{mcp-CRtY4v5W.js.map → mcp-wCWFRA0T.js.map} +1 -1
  232. package/dashboard/dist/assets/{personas-C2Wm4ng1.js → personas-B_VIacZJ.js} +2 -2
  233. package/dashboard/dist/assets/{personas-C2Wm4ng1.js.map → personas-B_VIacZJ.js.map} +1 -1
  234. package/dashboard/dist/assets/{pipelines-BH0F9-jf.js → pipelines-Bv0Z8xQA.js} +2 -2
  235. package/dashboard/dist/assets/{pipelines-BH0F9-jf.js.map → pipelines-Bv0Z8xQA.js.map} +1 -1
  236. package/dashboard/dist/assets/{tasks-BkUVpaOa.js → tasks-DP6yaNZs.js} +2 -2
  237. package/dashboard/dist/assets/{tasks-BkUVpaOa.js.map → tasks-DP6yaNZs.js.map} +1 -1
  238. package/dashboard/dist/assets/{topics-Crl8HKHq.js → topics-UBSIcpSR.js} +2 -2
  239. package/dashboard/dist/assets/{topics-Crl8HKHq.js.map → topics-UBSIcpSR.js.map} +1 -1
  240. package/dashboard/dist/assets/{useDebouncedValue-Dk3r5xo-.js → useDebouncedValue-R62q3Xpx.js} +2 -2
  241. package/dashboard/dist/assets/{useDebouncedValue-Dk3r5xo-.js.map → useDebouncedValue-R62q3Xpx.js.map} +1 -1
  242. package/dashboard/dist/assets/{useNamespace-BXuyHKAs.js → useNamespace-CAaszJDE.js} +2 -2
  243. package/dashboard/dist/assets/{useNamespace-BXuyHKAs.js.map → useNamespace-CAaszJDE.js.map} +1 -1
  244. package/dashboard/dist/assets/{useYamlActivityEvents-DSlkjQfb.js → useYamlActivityEvents-emCp9U69.js} +2 -2
  245. package/dashboard/dist/assets/{useYamlActivityEvents-DSlkjQfb.js.map → useYamlActivityEvents-emCp9U69.js.map} +1 -1
  246. package/dashboard/dist/assets/validate-C7yskdEn.js +2 -0
  247. package/dashboard/dist/assets/validate-C7yskdEn.js.map +1 -0
  248. package/dashboard/dist/assets/{vendor-icons-C_DQEeBy.js → vendor-icons-DUYcKTjP.js} +2 -2
  249. package/dashboard/dist/assets/{vendor-icons-C_DQEeBy.js.map → vendor-icons-DUYcKTjP.js.map} +1 -1
  250. package/dashboard/dist/assets/{yaml-workflows-B230v5Za.js → yaml-workflows-C2sOwz1p.js} +2 -2
  251. package/dashboard/dist/assets/{yaml-workflows-B230v5Za.js.map → yaml-workflows-C2sOwz1p.js.map} +1 -1
  252. package/dashboard/dist/index.html +2 -2
  253. package/docs/accumulator.md +1 -1
  254. package/docs/api/http/escalations.md +33 -0
  255. package/docs/api/sdk/escalations.md +26 -1
  256. package/docs/code-owned-configuration.md +2 -2
  257. package/docs/domain-dictionary.md +19 -3
  258. package/docs/faceted-routing.md +4 -3
  259. package/docs/hitl/escalation.md +9 -0
  260. package/docs/hitl/x-lt-display.md +1 -1
  261. package/docs/hitl/x-lt-embed.md +2 -0
  262. package/docs/hitl/x-lt-roster.md +32 -8
  263. package/docs/scan-codes.md +45 -3
  264. package/package.json +2 -2
  265. package/dashboard/dist/assets/AvailableEscalationsPage-D1mCqj8Z.js +0 -2
  266. package/dashboard/dist/assets/EscalationTimeline-D6jrDcBb.js +0 -2
  267. package/dashboard/dist/assets/FormattedValue-CUtv1g3k.js +0 -2
  268. package/dashboard/dist/assets/FormattedValue-CUtv1g3k.js.map +0 -1
  269. package/dashboard/dist/assets/OperatorDashboard-BoeZIyup.js +0 -2
  270. package/dashboard/dist/assets/PortalPage-DjfjerpF.js +0 -2
  271. package/dashboard/dist/assets/ResolverForm-Bl8Pibyz.js +0 -8
  272. package/dashboard/dist/assets/ResolverForm-Bl8Pibyz.js.map +0 -1
  273. package/dashboard/dist/assets/ScanStationPage-BiO34nov.js +0 -2
  274. package/dashboard/dist/assets/ScanStationPage-BiO34nov.js.map +0 -1
  275. package/dashboard/dist/assets/escalation-columns-CSE5wfWQ.js +0 -2
  276. package/dashboard/dist/assets/escalation-items-BIgBWbaw.js +0 -2
  277. package/dashboard/dist/assets/escalation-items-BIgBWbaw.js.map +0 -1
  278. package/dashboard/dist/assets/index-BaCDL5fh.js.map +0 -1
  279. package/dashboard/dist/assets/index-BvH8T-jb.js +0 -2
  280. package/dashboard/dist/assets/index-CED9cLE2.js +0 -3
  281. package/dashboard/dist/assets/index-CED9cLE2.js.map +0 -1
  282. package/dashboard/dist/assets/index-D1lfq5iZ.js +0 -13
@@ -1,13 +0,0 @@
1
- import{a as d,j as e}from"./vendor-query-DvWWuNIB.js";import{aD as Z,aI as M,Y as ee,a as te,aJ as se,az as re,aA as oe,ay as ne}from"./index-BaCDL5fh.js";import{F as ae,b as le,a as ie}from"./FilterBar-f-LEKcHI.js";import{C as Q}from"./ConfirmDeleteModal-Pabkchg_.js";import{R as L}from"./RolePill-Bw_n7EpR.js";import{W as ce}from"./WorkflowPill-Cly9Ln_3.js";import{P as ue}from"./PageHeader-C4z1ExF7.js";import{O as de,ax as F,aA as B,aE as me,k as z,aF as xe,aG as H,a4 as pe,U as J,X as he,C as fe,ac as we,aH as T,m as ke,E as ve}from"./vendor-icons-C_DQEeBy.js";import{u as G,e as ge,f as je}from"./vendor-react-_9U4mKFr.js";import{B as ye}from"./BotPicker-u5760MWZ.js";import{N as Ne}from"./NamespacePill-CSZT2fA4.js";import{e as be,h as _e,R as Ce,j as Se,k as U}from"./ResolverForm-Bl8Pibyz.js";import"./escalation-items-BIgBWbaw.js";import"./bots-D72EsztP.js";import"./StatusBadge-DHVwxre2.js";import"./constants-CeBBTzf5.js";function Ie({tier:t}){return t==="certified"?e.jsxs("span",{className:"inline-flex items-center gap-1 text-2xs font-medium text-status-success",children:[e.jsx(B,{className:"w-3 h-3"}),"Certified"]}):t==="registered"?e.jsxs("span",{className:"inline-flex items-center gap-1 text-2xs font-medium text-text-secondary",children:[e.jsx(pe,{className:"w-3 h-3"}),"Registered"]}):e.jsxs("span",{className:"inline-flex items-center gap-1 text-2xs font-medium text-text-quaternary",children:[e.jsx(F,{className:"w-3 h-3"}),"Durable"]})}function et(){const t=G(),{data:o,isLoading:i}=Z(),m=M(),[u,p]=d.useState(""),[r,k]=d.useState(null),[f,g]=d.useState(null),a=o??[],y=d.useMemo(()=>[...new Set(a.map(l=>l.task_queue).filter(Boolean))].sort(),[a]),c=d.useMemo(()=>{const l=u.toLowerCase().trim();return(r?[r]:y).map(h=>({queue:h,workflows:a.filter(S=>{var N;return S.task_queue===h&&(!l||S.workflow_type.toLowerCase().includes(l)||((N=S.description)==null?void 0:N.toLowerCase().includes(l)))})})).filter(h=>h.workflows.length>0)},[a,y,u,r]),x=d.useMemo(()=>{const l=u.toLowerCase().trim();return r?[]:a.filter(s=>{var h;return!s.task_queue&&(!l||s.workflow_type.toLowerCase().includes(l)||((h=s.description)==null?void 0:h.toLowerCase().includes(l)))})},[a,u,r]),C=l=>{l.registered?t(`/workflows/registry/${encodeURIComponent(l.workflow_type)}`):t(`/workflows/registry/new?workflow_type=${encodeURIComponent(l.workflow_type)}&task_queue=${encodeURIComponent(l.task_queue??"")}`)},I=()=>{f&&m.mutate(f,{onSuccess:()=>g(null)})};return e.jsxs("div",{children:[e.jsx(ue,{title:"Registered Workflows",docsHash:"#docs:dashboard.md:workflow-registry",actions:e.jsx("button",{onClick:()=>t("/workflows/registry/new"),className:"btn-primary text-xs",children:"Register Workflow"})}),!i&&y.length>0&&e.jsxs(ae,{children:[e.jsx(le,{label:"Queue",value:r??"",onChange:l=>k(l||null),options:y.map(l=>({value:l,label:l}))}),e.jsx(ie,{label:"Search",value:u,onChange:p,placeholder:`${a.length} workflows…`})]}),i?e.jsx(We,{}):c.length===0&&x.length===0?e.jsx("p",{className:"text-sm text-text-tertiary mt-8",children:u||r?"No workflows match your filter.":"No workflows discovered yet."}):e.jsxs("div",{className:"space-y-10",children:[c.map(({queue:l,workflows:s})=>e.jsxs("div",{children:[e.jsxs("div",{className:"sticky top-[60px] z-10 bg-surface flex items-center gap-2 py-2 mb-2 border-b border-surface-border",children:[e.jsx(de,{className:"w-3 h-3 text-accent",strokeWidth:1.5}),e.jsx("h2",{className:"section-h2",children:l}),e.jsx("span",{className:"text-xs text-text-quaternary",children:s.length})]}),e.jsx($,{}),e.jsx("div",{className:"divide-y divide-surface-border/30",children:s.map(h=>e.jsx(A,{wf:h,onRowClick:C,onDelete:g,onNavigate:t},h.workflow_type))})]},l)),x.length>0&&e.jsxs("div",{children:[e.jsxs("div",{className:"sticky top-[60px] z-10 bg-surface flex items-center gap-2 py-2 mb-2 border-b border-surface-border",children:[e.jsx(F,{className:"w-3 h-3 text-text-quaternary",strokeWidth:1.5}),e.jsx("h2",{className:"section-h2",children:"No Queue"}),e.jsx("span",{className:"text-xs text-text-quaternary",children:x.length})]}),e.jsx($,{}),e.jsx("div",{className:"divide-y divide-surface-border/30",children:x.map(l=>e.jsx(A,{wf:l,onRowClick:C,onDelete:g,onNavigate:t},l.workflow_type))})]})]}),e.jsx(Q,{open:!!f,onClose:()=>g(null),onConfirm:I,title:"Unregister Workflow",description:e.jsxs(e.Fragment,{children:["Delete the registration for"," ",e.jsx("span",{className:"font-mono font-medium text-text-primary",children:f}),"? This removes its invocation settings, certification, and interceptor treatment; the workflow keeps running as a plain durable workflow. To demote certified → registered instead, open the workflow and uncheck Certify — that keeps every setting."]}),isPending:m.isPending,error:m.error})]})}const K="grid grid-cols-[minmax(0,1fr)_7rem_13rem_4.5rem] gap-x-6";function $(){return e.jsxs("div",{className:`${K} px-3 pb-2 pt-1`,children:[e.jsx("span",{className:"text-2xs font-medium text-text-quaternary",children:"Workflow"}),e.jsx("span",{className:"text-2xs font-medium text-text-quaternary",children:"Tier"}),e.jsx("span",{className:"text-2xs font-medium text-text-quaternary",children:"Access"}),e.jsx("span",{})]})}function A({wf:t,onRowClick:o,onDelete:i,onNavigate:m}){const u=t.roles??[],p=t.invocation_roles??[];return e.jsxs("div",{role:"button",tabIndex:0,onClick:()=>o(t),onKeyDown:r=>{(r.key==="Enter"||r.key===" ")&&o(t)},className:`group ${K} py-2 px-3 -mx-3 rounded-md cursor-pointer transition-colors items-center`,children:[e.jsxs("div",{className:"flex items-center gap-3 min-w-0",children:[e.jsx(ce,{type:t.workflow_type,size:"md",variant:t.tier==="certified"?"certified":t.tier==="registered"?"registered":"durable"}),t.description&&e.jsx("p",{className:"flex-1 min-w-0 truncate text-2xs text-text-tertiary group-hover:text-text-secondary transition-colors",children:t.description})]}),e.jsx("div",{children:e.jsx(Ie,{tier:t.tier??"durable"})}),e.jsxs("div",{className:"flex items-center gap-1.5 min-w-0 overflow-hidden whitespace-nowrap",children:[u.length>0&&e.jsxs(e.Fragment,{children:[e.jsx("span",{title:"Escalation roles",children:e.jsx(B,{className:"w-3 h-3 text-text-quaternary shrink-0"})}),u.map(r=>e.jsx(L,{role:r},`e-${r}`))]}),p.length>0&&e.jsxs(e.Fragment,{children:[e.jsx("span",{title:"Invocation roles",children:e.jsx(me,{className:"w-3 h-3 text-text-quaternary shrink-0"})}),p.map(r=>e.jsx(L,{role:r},`i-${r}`))]}),u.length===0&&p.length===0&&e.jsx("span",{className:"text-xs text-text-quaternary",children:"—"})]}),e.jsxs("div",{className:"flex items-center justify-end gap-2.5 opacity-0 group-hover:opacity-100 transition-opacity",children:[t.invocable&&e.jsx("button",{title:"Invoke workflow",onClick:r=>{r.stopPropagation(),m(`/workflows/start?type=${encodeURIComponent(t.workflow_type)}&mode=now`)},className:"text-text-quaternary hover:text-status-success transition-colors",children:e.jsx(z,{className:"w-3.5 h-3.5"})}),t.tier==="durable"&&e.jsx("button",{title:"Configure workflow",onClick:r=>{r.stopPropagation(),m(`/workflows/registry/new?workflow_type=${encodeURIComponent(t.workflow_type)}&task_queue=${encodeURIComponent(t.task_queue??"")}`)},className:"text-text-quaternary hover:text-status-info transition-colors",children:e.jsx(F,{className:"w-3.5 h-3.5"})}),t.tier==="registered"&&e.jsx("button",{title:"Certify workflow",onClick:r=>{r.stopPropagation(),m(`/workflows/registry/${encodeURIComponent(t.workflow_type)}`)},className:"text-text-quaternary hover:text-status-success transition-colors",children:e.jsx(xe,{className:"w-3.5 h-3.5"})}),t.registered&&e.jsx("button",{title:"Unregister workflow",onClick:r=>{r.stopPropagation(),i(t.workflow_type)},className:"text-text-quaternary hover:text-status-warning transition-colors",children:e.jsx(H,{className:"w-3.5 h-3.5"})})]})]})}function We(){return e.jsx("div",{className:"animate-pulse space-y-8 mt-4",children:[1,2].map(t=>e.jsxs("div",{children:[e.jsx("div",{className:"h-4 bg-surface-sunken rounded w-36 mb-4"}),e.jsx("div",{className:"space-y-4",children:[1,2,3].map(o=>e.jsxs("div",{className:"space-y-1.5",children:[e.jsx("div",{className:"h-3 bg-surface-sunken rounded w-48"}),e.jsx("div",{className:"h-3 bg-surface-sunken rounded w-full"})]},o))})]},t))})}function Re({selected:t,onChange:o,single:i,placeholder:m}){const{data:u}=ee(),p=(u==null?void 0:u.roles)??[],[r,k]=d.useState(!1),f=d.useRef(null);d.useEffect(()=>{const c=x=>{f.current&&!f.current.contains(x.target)&&k(!1)};return document.addEventListener("mousedown",c),()=>document.removeEventListener("mousedown",c)},[]);const g=c=>{i?(o(t.includes(c)?[]:[c]),k(!1)):o(t.includes(c)?t.filter(x=>x!==c):[...t,c])},a=c=>{o(t.filter(x=>x!==c))},y=m??(i?"Select role...":"Add roles...");return e.jsxs("div",{ref:f,className:"relative",children:[e.jsxs("button",{type:"button",onClick:()=>k(!r),className:"flex flex-wrap items-center gap-1.5 w-full min-h-[34px] px-2 py-1.5 bg-surface-sunken border border-surface-border rounded-md text-left cursor-pointer hover:border-accent/40 transition-colors focus:ring-1 focus:ring-accent focus:outline-none",children:[t.length===0&&e.jsx("span",{className:"text-xs text-text-tertiary",children:y}),t.map(c=>e.jsxs("span",{className:"inline-flex items-center gap-1 px-2 py-0.5 rounded-lg bg-accent/[0.08] text-text-secondary text-2xs",children:[e.jsx(J,{className:"w-2.5 h-2.5 shrink-0 text-accent/75"}),c,e.jsx("span",{role:"button",onClick:x=>{x.stopPropagation(),a(c)},className:"ml-0.5 hover:text-status-error transition-colors",children:e.jsx(he,{className:"w-2.5 h-2.5"})})]},c)),e.jsx(fe,{className:`w-3.5 h-3.5 ml-auto shrink-0 text-text-tertiary transition-transform ${r?"rotate-180":""}`})]}),r&&e.jsx("div",{className:"absolute z-[100] mt-1 w-full bg-surface-raised border border-surface-border rounded-md shadow-lg max-h-48 overflow-y-auto",children:p.length===0?e.jsx("p",{className:"px-3 py-2 text-xs text-text-tertiary",children:"No roles defined"}):p.map(c=>{const x=t.includes(c);return e.jsxs("button",{type:"button",onClick:()=>g(c),className:`flex items-center gap-2 w-full px-3 py-1.5 text-left text-xs transition-colors ${x?"bg-accent/[0.06] text-accent":"text-text-primary hover:bg-surface-sunken"}`,children:[e.jsx(J,{className:"w-3 h-3 shrink-0 text-accent/60"}),e.jsx("span",{className:"flex-1",children:c}),x&&e.jsx(we,{className:"w-3 h-3 shrink-0"})]},c)})})]})}function W(t){return t.split(",").map(o=>o.trim()).filter(Boolean)}const R={workflow_type:"",description:"",task_queue:"",default_role:"reviewer",invocable:!1,roles:"",invocation_roles:"",consumes:"",envelope_schema:"",input_schema:"",input_lookups:"",icon:"",resolver_schema:"",cron_schedule:"",execute_as:"",certified:!1};function qe(t){var m;const o=(t.roles??[]).join(", "),i=(t.consumes??[]).join(", ");return{workflow_type:t.workflow_type,description:t.description??"",task_queue:t.task_queue??"",default_role:t.default_role,invocable:t.invocable,roles:o,invocation_roles:(t.invocation_roles??[]).join(", "),consumes:i,envelope_schema:t.envelope_schema?JSON.stringify(t.envelope_schema,null,2):"",input_schema:t.input_schema?JSON.stringify(t.input_schema,null,2):"",input_lookups:(m=t.input_lookups)!=null&&m.length?JSON.stringify(t.input_lookups,null,2):"",icon:t.icon??"",resolver_schema:t.resolver_schema?JSON.stringify(t.resolver_schema,null,2):"",cron_schedule:t.cron_schedule??"",execute_as:t.execute_as??"",certified:t.certified}}function _(t){if(!t.trim())return!0;try{return JSON.parse(t),!0}catch{return!1}}function Pe(t){if(!t.trim())return null;try{const o=JSON.parse(t);return o&&typeof o=="object"&&!Array.isArray(o)&&o.properties?o:null}catch{return null}}function Fe({schemaText:t,lookup:o}){const i=d.useMemo(()=>Pe(t),[t]),m=d.useMemo(()=>i?be(i):"",[i]),[u,p]=d.useState(m);d.useEffect(()=>{p(m)},[m]);const r=d.useMemo(()=>({..._e({},o),resolver:null}),[o]);return i?e.jsx("div",{className:"@container","data-testid":"input-form-preview",children:e.jsx(Ce,{value:u,onChange:p,escalationContext:r})}):e.jsxs("p",{className:"text-2xs text-text-tertiary",children:["A schema with ",e.jsx("code",{className:"font-mono",children:"properties"})," previews here as the operator's form."]})}function Oe({value:t,onChange:o}){const[i,m]=d.useState(""),u=d.useMemo(()=>Se(i),[i]),p=U(t);return e.jsxs("div",{className:"space-y-2","data-testid":"workflow-icon-picker",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("input",{type:"text",value:i,onChange:r=>m(r.target.value),placeholder:"Filter icons…","aria-label":"Filter icons",className:"input text-2xs py-1 w-40"}),e.jsxs("span",{className:"flex items-center gap-1.5 text-2xs text-text-tertiary min-w-0",children:[p?e.jsx(p,{className:"w-3.5 h-3.5 text-accent shrink-0",strokeWidth:1.5}):e.jsx(T,{className:"w-3.5 h-3.5 shrink-0",strokeWidth:1.5}),e.jsx("span",{className:"font-mono truncate",children:t||"tier glyph"})]})]}),e.jsxs("div",{className:"flex flex-wrap gap-1",role:"listbox","aria-label":"Workflow icon",children:[e.jsx("button",{type:"button",role:"option","aria-selected":!t,title:"No icon (tier glyph)",onClick:()=>o(""),className:`p-1.5 rounded-md border transition-colors ${t?"border-transparent text-text-quaternary hover:bg-surface-hover hover:text-text-secondary":"border-accent bg-accent/10 text-accent"}`,children:e.jsx(T,{className:"w-4 h-4",strokeWidth:1.5})}),u.map(r=>{const k=U(r),f=t===r;return e.jsx("button",{type:"button",role:"option","aria-selected":f,title:r,onClick:()=>o(r),className:`p-1.5 rounded-md border transition-colors ${f?"border-accent bg-accent/10 text-accent":"border-transparent text-text-tertiary hover:bg-surface-hover hover:text-text-primary"}`,children:e.jsx(k,{className:"w-4 h-4",strokeWidth:1.5})},r)}),u.length===0&&e.jsx("p",{className:"text-2xs text-text-tertiary px-1 py-1.5",children:"No icon matches."})]})]})}function q({icon:t,color:o,children:i}){return e.jsxs("div",{className:"flex items-center gap-2 mb-4 pb-2 border-b border-surface-border",children:[e.jsx(t,{className:`w-4 h-4 ${o}`,strokeWidth:1.5}),e.jsx("h2",{className:"section-h2",children:i})]})}function j({label:t,hint:o,children:i}){return e.jsxs("div",{className:"space-y-1.5",children:[e.jsx("label",{className:"label",children:t}),i,o&&e.jsx("p",{className:"hint",children:o})]})}const P="input-json w-full";function De(t){return W(t)}function Ee(t){return t.join(", ")}const Le=new Set(["mcpQuery","mcpDeterministic","mcpQueryRouter","mcpTriage","mcpTriageRouter","mcpTriageDeterministic","insightQuery"]);function tt(){const{workflowType:t}=ge(),o=!t,i=G(),[m]=je(),{data:u,isLoading:p}=te(),r=se(),k=M(),[f,g]=d.useState(!1),a=(u==null?void 0:u.find(n=>n.workflow_type===t))??null,y=Array.isArray(a==null?void 0:a.input_lookups)&&a.input_lookups.length>0,{data:c}=re((a==null?void 0:a.workflow_type)??"",y),x=d.useMemo(()=>c?oe(c.lookups):void 0,[c]),{data:C}=ne({limit:500}),I=d.useMemo(()=>{const n=new Set((u??[]).map(v=>v.workflow_type));return[...new Set(((C==null?void 0:C.jobs)??[]).map(v=>v.entity))].filter(v=>!n.has(v)&&!Le.has(v)).sort()},[u,C]),l=d.useMemo(()=>{if(!o)return R;const n=m.get("workflow_type")??"",b=m.get("task_queue")??"";return n||b?{...R,workflow_type:n,task_queue:b}:R},[o,m]),[s,h]=d.useState(l),[S,N]=d.useState(""),[O,D]=d.useState(!1),w=d.useCallback((n,b)=>h(v=>({...v,[n]:b})),[]);d.useEffect(()=>{if(!O){if(o){h(l),D(!0);return}a&&(h(qe(a)),D(!0))}},[a,o,O,l]);const Y=()=>{if(!s.workflow_type.trim())return;N("");let n=null,b=null,v=null,E=null;try{s.envelope_schema.trim()&&(n=JSON.parse(s.envelope_schema))}catch{N("Invalid JSON in Envelope Schema");return}try{s.input_schema.trim()&&(b=JSON.parse(s.input_schema))}catch{N("Invalid JSON in Input Form");return}try{s.input_lookups.trim()&&(v=JSON.parse(s.input_lookups))}catch{N("Invalid JSON in Lookups");return}try{s.resolver_schema.trim()&&(E=JSON.parse(s.resolver_schema))}catch{N("Invalid JSON in Resolver Schema");return}r.mutate({workflow_type:s.workflow_type.trim(),description:s.description.trim()||null,task_queue:s.task_queue.trim()||null,default_role:s.default_role.trim()||"reviewer",invocable:s.invocable,certified:s.certified,roles:W(s.roles),invocation_roles:W(s.invocation_roles),consumes:W(s.consumes),envelope_schema:n,input_schema:b,input_lookups:v,icon:s.icon||null,resolver_schema:E,cron_schedule:s.cron_schedule.trim()||null,execute_as:s.execute_as.trim()||null},{onSuccess:()=>i("/workflows/registry")})};if(p)return e.jsxs("div",{className:"animate-pulse space-y-4",children:[e.jsx("div",{className:"h-8 bg-surface-sunken rounded w-64"}),e.jsx("div",{className:"h-40 bg-surface-sunken rounded"})]});if(!o&&!a)return e.jsx("p",{className:"text-sm text-text-secondary",children:"Config not found."});const V=!!s.workflow_type.trim()&&_(s.envelope_schema)&&_(s.input_schema)&&_(s.input_lookups)&&_(s.resolver_schema),X=o&&!s.workflow_type&&I.length>0;return e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-start justify-between mb-8",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"text-3xl font-light font-mono text-text-primary",children:o?"New Workflow":(a==null?void 0:a.workflow_type)??""}),a&&e.jsx("div",{className:"flex items-center gap-2 mt-2",children:e.jsx(Ne,{namespace:"durable"})})]}),e.jsxs("div",{className:"flex items-center gap-3 mt-1",children:[a&&e.jsxs("button",{onClick:()=>g(!0),className:"flex items-center gap-1.5 text-2xs text-status-warning hover:underline mr-3",title:"Delete this registration — the workflow returns to plain durable",children:[e.jsx(H,{className:"w-3 h-3",strokeWidth:1.5})," Unregister"]}),e.jsx("button",{onClick:()=>i("/workflows/registry"),className:"btn-ghost text-xs",children:"Cancel"}),e.jsx("button",{onClick:Y,disabled:!V||r.isPending,className:"btn-primary text-xs",children:r.isPending?"Saving…":o?"Register":"Save"})]})]}),e.jsxs("div",{className:"grid grid-cols-1 @wall:grid-cols-3 gap-x-14 gap-y-10",children:[e.jsxs("div",{children:[e.jsx(q,{icon:ke,color:"text-accent",children:"Identity"}),e.jsxs("div",{className:"space-y-5",children:[e.jsx(j,{label:"Workflow Type",hint:"Register a workflow to configure invocation and HITL escalation routing.",children:X?e.jsxs("div",{className:"space-y-2",children:[e.jsx("p",{className:"text-xs text-text-secondary",children:"Select a durable workflow to register:"}),e.jsx("div",{className:"grid gap-1",children:I.map(n=>e.jsx("button",{onClick:()=>w("workflow_type",n),className:"flex items-center gap-2 px-3 py-2 text-left text-xs font-mono rounded-md border border-surface-border hover:border-accent/50 hover:bg-accent/[0.04] transition-colors",children:n},n))}),e.jsxs("div",{className:"flex items-center gap-2 pt-1",children:[e.jsx("span",{className:"text-2xs text-text-tertiary",children:"or"}),e.jsx("input",{type:"text",onChange:n=>w("workflow_type",n.target.value),placeholder:"Enter type manually",className:"input font-mono flex-1"})]})]}):e.jsxs(e.Fragment,{children:[e.jsx("input",{type:"text",value:s.workflow_type,onChange:n=>w("workflow_type",n.target.value),disabled:!o,placeholder:"reviewContent",className:"input font-mono w-full"}),o&&s.workflow_type&&I.length>0&&e.jsx("button",{onClick:()=>w("workflow_type",""),className:"text-2xs text-accent hover:underline mt-1",children:"Choose from durable workflows"})]})}),e.jsx(j,{label:"Icon",hint:"Leads the workflow's row and heading on the Invoke Tool page so operators tell tools apart at a glance. Declared in code as WORKFLOW_ICONS.*",children:e.jsx(Oe,{value:s.icon,onChange:n=>w("icon",n)})}),e.jsx(j,{label:"Description",children:e.jsx("input",{type:"text",value:s.description,onChange:n=>w("description",n.target.value),placeholder:"Describe what this workflow does",className:"input text-xs w-full"})}),e.jsx(j,{label:"Task Queue",hint:"Durable task queue this workflow listens on.",children:e.jsx("input",{type:"text",value:s.task_queue,onChange:n=>w("task_queue",n.target.value),placeholder:"lt-review",className:"input font-mono w-full"})})]})]}),e.jsxs("div",{children:[e.jsx(q,{icon:z,color:"text-accent",children:"Invocation"}),e.jsxs("div",{className:"space-y-5",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsxs("label",{className:"flex items-center gap-2 cursor-pointer",children:[e.jsx("input",{type:"checkbox",checked:s.invocable,onChange:n=>w("invocable",n.target.checked),className:"w-4 h-4 rounded border-border accent-accent"}),e.jsx("span",{className:"text-xs text-text-primary font-medium",children:"Invocable"})]}),e.jsx("p",{className:"hint",children:"Allow this workflow to be started from the dashboard or API."})]}),s.invocable?e.jsxs(e.Fragment,{children:[e.jsx(j,{label:"Run As",hint:"Bot identity to run under. Default runs as the invoking user.",children:e.jsx(ye,{selected:s.execute_as,onChange:n=>w("execute_as",n)})}),e.jsx(j,{label:"Invocation Roles",hint:"Only users with these roles can start this workflow. Empty = all authenticated users.",children:e.jsx(Re,{selected:De(s.invocation_roles),onChange:n=>w("invocation_roles",Ee(n)),placeholder:"Select roles…"})}),e.jsxs(j,{label:"Input Form",hint:e.jsx("button",{type:"button",onClick:()=>{window.location.hash="#docs:hitl/invoke-form.md"},className:"text-accent hover:underline",children:"Authoring reference →"}),children:[e.jsx("textarea",{value:s.input_schema,onChange:n=>w("input_schema",n.target.value),placeholder:`{
2
- "x-lt-layout": "two-column",
3
- "required": ["serialNumber"],
4
- "properties": {
5
- "serialNumber": { "type": "string", "title": "Serial number", "description": "Read it off the label" }
6
- }
7
- }`,className:P,rows:14,spellCheck:!1,"data-testid":"input-form-editor"}),s.input_schema.trim()&&!_(s.input_schema)&&e.jsx("p",{className:"text-2xs text-status-error mt-1",children:"Invalid JSON"})]}),e.jsxs(j,{label:"Lookups",hint:e.jsxs(e.Fragment,{children:["Versioned knowledge refs read as ",e.jsx("code",{className:"font-mono",children:"lookup.<as>"}),". ",e.jsx("button",{type:"button",onClick:()=>{window.location.hash="#docs:hitl/lookups.md"},className:"text-accent hover:underline",children:"Lookups reference →"})]}),children:[e.jsx("textarea",{value:s.input_lookups,onChange:n=>w("input_lookups",n.target.value),placeholder:`[
8
- { "domain": "fleet", "key": "serial-numbers", "version": 1, "as": "serials" }
9
- ]`,className:P,rows:5,spellCheck:!1,"data-testid":"input-lookups-editor"}),s.input_lookups.trim()&&!_(s.input_lookups)&&e.jsx("p",{className:"text-2xs text-status-error mt-1",children:"Invalid JSON"})]}),e.jsxs(j,{label:s.input_schema.trim()?"Envelope Metadata":"Envelope Schema",hint:s.input_schema.trim()?e.jsxs(e.Fragment,{children:["With an input form, only ",e.jsx("code",{className:"font-mono",children:"metadata"})," is read from here and stamped on every run; ",e.jsx("code",{className:"font-mono",children:"data"})," comes from the form."]}):e.jsxs(e.Fragment,{children:["Pre-fills the JSON editor when invoking. Include ",e.jsx("code",{className:"font-mono",children:"data"})," (input) and optional ",e.jsx("code",{className:"font-mono",children:"metadata"}),". Declare an input form above for a rich, validated form instead."]}),children:[e.jsx("textarea",{value:s.envelope_schema,onChange:n=>w("envelope_schema",n.target.value),placeholder:`{
10
- "data": {},
11
- "metadata": {}
12
- }`,className:P,rows:8,spellCheck:!1}),s.envelope_schema.trim()&&!_(s.envelope_schema)&&e.jsx("p",{className:"text-2xs text-status-error mt-1",children:"Invalid JSON"})]})]}):e.jsxs("p",{className:"text-2xs text-text-tertiary py-2",children:["Enable ",e.jsx("span",{className:"font-medium text-text-secondary",children:"Invocable"})," to configure invocation roles and an input template."]})]})]}),e.jsxs("div",{className:"@wall:sticky @wall:top-0 self-start max-h-[calc(100vh-6rem)] overflow-y-auto",children:[e.jsx(q,{icon:ve,color:"text-accent",children:"Preview"}),s.invocable&&s.input_schema.trim()&&_(s.input_schema)?e.jsx(Fe,{schemaText:s.input_schema,lookup:x}):e.jsx("p",{className:"text-2xs text-text-tertiary leading-relaxed",children:s.invocable?"Declare an Input Form and it previews here as the operator's form, live as you type.":"Enable Invocable and declare an Input Form to preview the operator's form here."})]})]}),(S||r.error)&&e.jsx("p",{className:"text-xs text-status-error mt-8",children:S||r.error.message}),e.jsx(Q,{open:f,onClose:()=>g(!1),onConfirm:()=>k.mutate(a.workflow_type,{onSuccess:()=>i("/workflows/registry")}),title:"Unregister Workflow",description:e.jsxs(e.Fragment,{children:["Delete the registration for"," ",e.jsx("span",{className:"font-mono font-medium text-text-primary",children:a==null?void 0:a.workflow_type}),"? This removes its invocation settings, certification, and interceptor treatment; the workflow keeps running as a plain durable workflow. Escalation schemas versioned on roles are untouched."]}),isPending:k.isPending,error:k.error})]})}export{tt as WorkflowConfigDetailPage,et as WorkflowConfigsPage};
13
- //# sourceMappingURL=index-D1lfq5iZ.js.map