@hotmeshio/long-tail 0.25.2 → 0.25.4

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 (200) hide show
  1. package/build/routes/oauth-server/authorize.js +4 -4
  2. package/build/services/auth/oauth-server/authorization.d.ts +5 -0
  3. package/build/services/auth/oauth-server/authorization.js +8 -0
  4. package/build/services/auth/oauth-server/metadata.d.ts +1 -1
  5. package/build/services/auth/oauth-server/metadata.js +2 -1
  6. package/dashboard/dist/assets/{AdminDashboard-B8MqNLiB.js → AdminDashboard-DlItqxFS.js} +2 -2
  7. package/dashboard/dist/assets/{AdminDashboard-B8MqNLiB.js.map → AdminDashboard-DlItqxFS.js.map} +1 -1
  8. package/dashboard/dist/assets/{AgentConfigPage-Yg81Eiuo.js → AgentConfigPage-BUmT4a7n.js} +2 -2
  9. package/dashboard/dist/assets/{AgentConfigPage-Yg81Eiuo.js.map → AgentConfigPage-BUmT4a7n.js.map} +1 -1
  10. package/dashboard/dist/assets/{AgentDetailPage-ZUGYEONO.js → AgentDetailPage-Cww8rlBi.js} +3 -3
  11. package/dashboard/dist/assets/{AgentDetailPage-ZUGYEONO.js.map → AgentDetailPage-Cww8rlBi.js.map} +1 -1
  12. package/dashboard/dist/assets/AgentsPage-C9UuUKhr.js +2 -0
  13. package/dashboard/dist/assets/{AgentsPage-CZIWMwak.js.map → AgentsPage-C9UuUKhr.js.map} +1 -1
  14. package/dashboard/dist/assets/{AvailableEscalationsPage-BVtpc4xO.js → AvailableEscalationsPage-DrvfXz70.js} +2 -2
  15. package/dashboard/dist/assets/{AvailableEscalationsPage-BVtpc4xO.js.map → AvailableEscalationsPage-DrvfXz70.js.map} +1 -1
  16. package/dashboard/dist/assets/{BotPicker-8bf0yOCT.js → BotPicker-CDq9XRMp.js} +2 -2
  17. package/dashboard/dist/assets/{BotPicker-8bf0yOCT.js.map → BotPicker-CDq9XRMp.js.map} +1 -1
  18. package/dashboard/dist/assets/{BulkAssignModal-B2lr1J6P.js → BulkAssignModal-jsvqtrEA.js} +2 -2
  19. package/dashboard/dist/assets/{BulkAssignModal-B2lr1J6P.js.map → BulkAssignModal-jsvqtrEA.js.map} +1 -1
  20. package/dashboard/dist/assets/{CapabilitiesPage-BQQBR2sj.js → CapabilitiesPage-CSCrI6B1.js} +2 -2
  21. package/dashboard/dist/assets/{CapabilitiesPage-BQQBR2sj.js.map → CapabilitiesPage-CSCrI6B1.js.map} +1 -1
  22. package/dashboard/dist/assets/{CollapsibleSection-DFW8TYyU.js → CollapsibleSection-uD9mn-CQ.js} +2 -2
  23. package/dashboard/dist/assets/{CollapsibleSection-DFW8TYyU.js.map → CollapsibleSection-uD9mn-CQ.js.map} +1 -1
  24. package/dashboard/dist/assets/{ConfirmDeleteModal-DGlOlQAo.js → ConfirmDeleteModal-BRmx2hA4.js} +2 -2
  25. package/dashboard/dist/assets/{ConfirmDeleteModal-DGlOlQAo.js.map → ConfirmDeleteModal-BRmx2hA4.js.map} +1 -1
  26. package/dashboard/dist/assets/{ConnectedAppsPage-CIM9gzHj.js → ConnectedAppsPage-DlMzE5a-.js} +2 -2
  27. package/dashboard/dist/assets/{ConnectedAppsPage-CIM9gzHj.js.map → ConnectedAppsPage-DlMzE5a-.js.map} +1 -1
  28. package/dashboard/dist/assets/{CountdownTimer-BD_iWm6S.js → CountdownTimer-sRuM4eM5.js} +2 -2
  29. package/dashboard/dist/assets/{CountdownTimer-BD_iWm6S.js.map → CountdownTimer-sRuM4eM5.js.map} +1 -1
  30. package/dashboard/dist/assets/{CredentialsPage-CTtUkvoD.js → CredentialsPage-bLYydwqa.js} +2 -2
  31. package/dashboard/dist/assets/{CredentialsPage-CTtUkvoD.js.map → CredentialsPage-bLYydwqa.js.map} +1 -1
  32. package/dashboard/dist/assets/{CronLabel-rZMptkYQ.js → CronLabel-D_ATDL2N.js} +2 -2
  33. package/dashboard/dist/assets/{CronLabel-rZMptkYQ.js.map → CronLabel-D_ATDL2N.js.map} +1 -1
  34. package/dashboard/dist/assets/{ElapsedCell-CmK9gHC5.js → ElapsedCell-groSMfqB.js} +2 -2
  35. package/dashboard/dist/assets/{ElapsedCell-CmK9gHC5.js.map → ElapsedCell-groSMfqB.js.map} +1 -1
  36. package/dashboard/dist/assets/{EntityTimelinePanel-Cfg0EMZs.js → EntityTimelinePanel-D-F3_A9m.js} +2 -2
  37. package/dashboard/dist/assets/{EntityTimelinePanel-Cfg0EMZs.js.map → EntityTimelinePanel-D-F3_A9m.js.map} +1 -1
  38. package/dashboard/dist/assets/{EscalationListSchemaPage-CPcbC1-9.js → EscalationListSchemaPage-Bad6Jrmr.js} +2 -2
  39. package/dashboard/dist/assets/{EscalationListSchemaPage-CPcbC1-9.js.map → EscalationListSchemaPage-Bad6Jrmr.js.map} +1 -1
  40. package/dashboard/dist/assets/{EscalationSchemaPage-BsYdNVN7.js → EscalationSchemaPage-BKi_npI9.js} +2 -2
  41. package/dashboard/dist/assets/{EscalationSchemaPage-BsYdNVN7.js.map → EscalationSchemaPage-BKi_npI9.js.map} +1 -1
  42. package/dashboard/dist/assets/{EscalationTimeline-D1enxZDs.js → EscalationTimeline-DQUUm3b1.js} +2 -2
  43. package/dashboard/dist/assets/{EscalationTimeline-D1enxZDs.js.map → EscalationTimeline-DQUUm3b1.js.map} +1 -1
  44. package/dashboard/dist/assets/{EscalationTitleSelect-DwqhnPKX.js → EscalationTitleSelect-3mhXh77a.js} +2 -2
  45. package/dashboard/dist/assets/{EscalationTitleSelect-DwqhnPKX.js.map → EscalationTitleSelect-3mhXh77a.js.map} +1 -1
  46. package/dashboard/dist/assets/{EscalationsOverview-ChuKh02E.js → EscalationsOverview-Qaov-uML.js} +2 -2
  47. package/dashboard/dist/assets/{EscalationsOverview-ChuKh02E.js.map → EscalationsOverview-Qaov-uML.js.map} +1 -1
  48. package/dashboard/dist/assets/{EventTable-GqZIKPce.js → EventTable-V4RF_n58.js} +2 -2
  49. package/dashboard/dist/assets/{EventTable-GqZIKPce.js.map → EventTable-V4RF_n58.js.map} +1 -1
  50. package/dashboard/dist/assets/{FilterBar-CqPFZkVU.js → FilterBar-BygWrnB1.js} +2 -2
  51. package/dashboard/dist/assets/{FilterBar-CqPFZkVU.js.map → FilterBar-BygWrnB1.js.map} +1 -1
  52. package/dashboard/dist/assets/{GraphInvokePage-_fB7mtBU.js → GraphInvokePage-Djslhf96.js} +2 -2
  53. package/dashboard/dist/assets/{GraphInvokePage-_fB7mtBU.js.map → GraphInvokePage-Djslhf96.js.map} +1 -1
  54. package/dashboard/dist/assets/{HomePage-BXA0Cz0F.js → HomePage-EjcNxlKx.js} +2 -2
  55. package/dashboard/dist/assets/{HomePage-BXA0Cz0F.js.map → HomePage-EjcNxlKx.js.map} +1 -1
  56. package/dashboard/dist/assets/{ListToolbar-Bf4DFITI.js → ListToolbar-RrEAePOX.js} +2 -2
  57. package/dashboard/dist/assets/{ListToolbar-Bf4DFITI.js.map → ListToolbar-RrEAePOX.js.map} +1 -1
  58. package/dashboard/dist/assets/{McpOverview-H61XQRji.js → McpOverview-8gqiL3Vj.js} +2 -2
  59. package/dashboard/dist/assets/{McpOverview-H61XQRji.js.map → McpOverview-8gqiL3Vj.js.map} +1 -1
  60. package/dashboard/dist/assets/{McpQueryDetailPage-wbwK8WWq.js → McpQueryDetailPage-COyn6Ak5.js} +2 -2
  61. package/dashboard/dist/assets/{McpQueryDetailPage-wbwK8WWq.js.map → McpQueryDetailPage-COyn6Ak5.js.map} +1 -1
  62. package/dashboard/dist/assets/{McpQueryPage-CYvVEk3G.js → McpQueryPage-Dj6Qj72w.js} +2 -2
  63. package/dashboard/dist/assets/{McpQueryPage-CYvVEk3G.js.map → McpQueryPage-Dj6Qj72w.js.map} +1 -1
  64. package/dashboard/dist/assets/{McpRunDetailPage-TZBX68i4.js → McpRunDetailPage-80fQn9iX.js} +2 -2
  65. package/dashboard/dist/assets/{McpRunDetailPage-TZBX68i4.js.map → McpRunDetailPage-80fQn9iX.js.map} +1 -1
  66. package/dashboard/dist/assets/{McpRunsPage-Cu91Mh52.js → McpRunsPage-DaSsI-EM.js} +2 -2
  67. package/dashboard/dist/assets/{McpRunsPage-Cu91Mh52.js.map → McpRunsPage-DaSsI-EM.js.map} +1 -1
  68. package/dashboard/dist/assets/{OperationsPage-D-6sKw6y.js → OperationsPage-BSu1o2gB.js} +2 -2
  69. package/dashboard/dist/assets/{OperationsPage-D-6sKw6y.js.map → OperationsPage-BSu1o2gB.js.map} +1 -1
  70. package/dashboard/dist/assets/{OperatorDashboard-DD8JUU3L.js → OperatorDashboard-HFI4WGIV.js} +2 -2
  71. package/dashboard/dist/assets/{OperatorDashboard-DD8JUU3L.js.map → OperatorDashboard-HFI4WGIV.js.map} +1 -1
  72. package/dashboard/dist/assets/{PersonaDetailPage-CGri6okV.js → PersonaDetailPage-D0qlBuGi.js} +2 -2
  73. package/dashboard/dist/assets/{PersonaDetailPage-CGri6okV.js.map → PersonaDetailPage-D0qlBuGi.js.map} +1 -1
  74. package/dashboard/dist/assets/{PersonasPage-DtHW6-Qx.js → PersonasPage-BJClu-5H.js} +2 -2
  75. package/dashboard/dist/assets/{PersonasPage-DtHW6-Qx.js.map → PersonasPage-BJClu-5H.js.map} +1 -1
  76. package/dashboard/dist/assets/{PortalPage-Dgbk_mzr.js → PortalPage-CucNZn_w.js} +2 -2
  77. package/dashboard/dist/assets/{PortalPage-Dgbk_mzr.js.map → PortalPage-CucNZn_w.js.map} +1 -1
  78. package/dashboard/dist/assets/{ProcessDetailPage-BdkacBrD.js → ProcessDetailPage-B9wMw0RV.js} +2 -2
  79. package/dashboard/dist/assets/{ProcessDetailPage-BdkacBrD.js.map → ProcessDetailPage-B9wMw0RV.js.map} +1 -1
  80. package/dashboard/dist/assets/{ProcessesListPage-DO5A-OfZ.js → ProcessesListPage-B6k4RpmR.js} +2 -2
  81. package/dashboard/dist/assets/{ProcessesListPage-DO5A-OfZ.js.map → ProcessesListPage-B6k4RpmR.js.map} +1 -1
  82. package/dashboard/dist/assets/{ResolverForm-CqGE5lf-.js → ResolverForm-ZVufJ4G-.js} +2 -2
  83. package/dashboard/dist/assets/{ResolverForm-CqGE5lf-.js.map → ResolverForm-ZVufJ4G-.js.map} +1 -1
  84. package/dashboard/dist/assets/{RoleDetailPage-DgVp0Hih.js → RoleDetailPage-CTbq0mz4.js} +2 -2
  85. package/dashboard/dist/assets/{RoleDetailPage-DgVp0Hih.js.map → RoleDetailPage-CTbq0mz4.js.map} +1 -1
  86. package/dashboard/dist/assets/{RolesPage-BmsWq83e.js → RolesPage-DBKxeam4.js} +2 -2
  87. package/dashboard/dist/assets/{RolesPage-BmsWq83e.js.map → RolesPage-DBKxeam4.js.map} +1 -1
  88. package/dashboard/dist/assets/RosterWidget-BkLAwEYB.js +2 -0
  89. package/dashboard/dist/assets/RosterWidget-BkLAwEYB.js.map +1 -0
  90. package/dashboard/dist/assets/{RunAsSelector-CyUWGp5P.js → RunAsSelector-D2DC4iDf.js} +2 -2
  91. package/dashboard/dist/assets/{RunAsSelector-CyUWGp5P.js.map → RunAsSelector-D2DC4iDf.js.map} +1 -1
  92. package/dashboard/dist/assets/{ScanCodesPage-Cy05JOt4.js → ScanCodesPage-BlKleaT0.js} +2 -2
  93. package/dashboard/dist/assets/{ScanCodesPage-Cy05JOt4.js.map → ScanCodesPage-BlKleaT0.js.map} +1 -1
  94. package/dashboard/dist/assets/{ScanSchemeDetailPage-BX1afzOg.js → ScanSchemeDetailPage-CTW6gofi.js} +2 -2
  95. package/dashboard/dist/assets/{ScanSchemeDetailPage-BX1afzOg.js.map → ScanSchemeDetailPage-CTW6gofi.js.map} +1 -1
  96. package/dashboard/dist/assets/{ScanStationPage-DLAB41tb.js → ScanStationPage-DPRjSPyT.js} +2 -2
  97. package/dashboard/dist/assets/{ScanStationPage-DLAB41tb.js.map → ScanStationPage-DPRjSPyT.js.map} +1 -1
  98. package/dashboard/dist/assets/{StickyPagination-BzUTnYYE.js → StickyPagination-CkmX3-Gu.js} +2 -2
  99. package/dashboard/dist/assets/{StickyPagination-BzUTnYYE.js.map → StickyPagination-CkmX3-Gu.js.map} +1 -1
  100. package/dashboard/dist/assets/{StreamMessageDetail-D0W1ekgG.js → StreamMessageDetail-Xm_n510s.js} +2 -2
  101. package/dashboard/dist/assets/{StreamMessageDetail-D0W1ekgG.js.map → StreamMessageDetail-Xm_n510s.js.map} +1 -1
  102. package/dashboard/dist/assets/{SwimlaneTimeline-BPBwmwuO.js → SwimlaneTimeline-De48aJan.js} +2 -2
  103. package/dashboard/dist/assets/{SwimlaneTimeline-BPBwmwuO.js.map → SwimlaneTimeline-De48aJan.js.map} +1 -1
  104. package/dashboard/dist/assets/{TaskDetailPage-VuaIXISy.js → TaskDetailPage-HycMx3O9.js} +2 -2
  105. package/dashboard/dist/assets/{TaskDetailPage-VuaIXISy.js.map → TaskDetailPage-HycMx3O9.js.map} +1 -1
  106. package/dashboard/dist/assets/{TasksListPage-KaUSoqos.js → TasksListPage-OIcFFp1C.js} +2 -2
  107. package/dashboard/dist/assets/{TasksListPage-KaUSoqos.js.map → TasksListPage-OIcFFp1C.js.map} +1 -1
  108. package/dashboard/dist/assets/{TimeAgo-C_E6u0fr.js → TimeAgo-OTC_55oZ.js} +2 -2
  109. package/dashboard/dist/assets/{TimeAgo-C_E6u0fr.js.map → TimeAgo-OTC_55oZ.js.map} +1 -1
  110. package/dashboard/dist/assets/{TimestampCell-CUJiAmax.js → TimestampCell-CAwIj_AI.js} +2 -2
  111. package/dashboard/dist/assets/{TimestampCell-CUJiAmax.js.map → TimestampCell-CAwIj_AI.js.map} +1 -1
  112. package/dashboard/dist/assets/{ToolTestPanel-Ch5nQANh.js → ToolTestPanel-8Vf6pfw4.js} +2 -2
  113. package/dashboard/dist/assets/{ToolTestPanel-Ch5nQANh.js.map → ToolTestPanel-8Vf6pfw4.js.map} +1 -1
  114. package/dashboard/dist/assets/{TopicDetailPage-BprToO7w.js → TopicDetailPage-iZW8rK9L.js} +2 -2
  115. package/dashboard/dist/assets/{TopicDetailPage-BprToO7w.js.map → TopicDetailPage-iZW8rK9L.js.map} +1 -1
  116. package/dashboard/dist/assets/{TopicsPage-8SmCnQ-E.js → TopicsPage-CqiEcj-W.js} +2 -2
  117. package/dashboard/dist/assets/{TopicsPage-8SmCnQ-E.js.map → TopicsPage-CqiEcj-W.js.map} +1 -1
  118. package/dashboard/dist/assets/{UserName-BkJryunF.js → UserName-DQFjuoib.js} +2 -2
  119. package/dashboard/dist/assets/{UserName-BkJryunF.js.map → UserName-DQFjuoib.js.map} +1 -1
  120. package/dashboard/dist/assets/{WorkflowExecutionPage-B2S5ODie.js → WorkflowExecutionPage-Di08wCbs.js} +2 -2
  121. package/dashboard/dist/assets/{WorkflowExecutionPage-B2S5ODie.js.map → WorkflowExecutionPage-Di08wCbs.js.map} +1 -1
  122. package/dashboard/dist/assets/{WorkflowsDashboard-CABuRCXp.js → WorkflowsDashboard-Bb8HlrTJ.js} +2 -2
  123. package/dashboard/dist/assets/{WorkflowsDashboard-CABuRCXp.js.map → WorkflowsDashboard-Bb8HlrTJ.js.map} +1 -1
  124. package/dashboard/dist/assets/{WorkflowsOverview-BPUHAj8T.js → WorkflowsOverview-Dta1kurk.js} +2 -2
  125. package/dashboard/dist/assets/{WorkflowsOverview-BPUHAj8T.js.map → WorkflowsOverview-Dta1kurk.js.map} +1 -1
  126. package/dashboard/dist/assets/{YamlWorkflowDetailPage-DZGjT-Tl.js → YamlWorkflowDetailPage-CfAajg68.js} +2 -2
  127. package/dashboard/dist/assets/{YamlWorkflowDetailPage-DZGjT-Tl.js.map → YamlWorkflowDetailPage-CfAajg68.js.map} +1 -1
  128. package/dashboard/dist/assets/{YamlWorkflowsPage-DIxHURlM.js → YamlWorkflowsPage-CQFUzT4t.js} +2 -2
  129. package/dashboard/dist/assets/{YamlWorkflowsPage-DIxHURlM.js.map → YamlWorkflowsPage-CQFUzT4t.js.map} +1 -1
  130. package/dashboard/dist/assets/{agents-BnDp2rcb.js → agents-PuftRTB2.js} +2 -2
  131. package/dashboard/dist/assets/{agents-BnDp2rcb.js.map → agents-PuftRTB2.js.map} +1 -1
  132. package/dashboard/dist/assets/{bots-maURYoyr.js → bots-BmEiPAWY.js} +2 -2
  133. package/dashboard/dist/assets/{bots-maURYoyr.js.map → bots-BmEiPAWY.js.map} +1 -1
  134. package/dashboard/dist/assets/{capabilities-5-TakMUh.js → capabilities-CRii4Soa.js} +2 -2
  135. package/dashboard/dist/assets/{capabilities-5-TakMUh.js.map → capabilities-CRii4Soa.js.map} +1 -1
  136. package/dashboard/dist/assets/{controlplane-BXVVTWoh.js → controlplane-DO_czaYo.js} +2 -2
  137. package/dashboard/dist/assets/{controlplane-BXVVTWoh.js.map → controlplane-DO_czaYo.js.map} +1 -1
  138. package/dashboard/dist/assets/{escalation-columns-v8gx8wFb.js → escalation-columns-CzCquCPh.js} +2 -2
  139. package/dashboard/dist/assets/{escalation-columns-v8gx8wFb.js.map → escalation-columns-CzCquCPh.js.map} +1 -1
  140. package/dashboard/dist/assets/{escalation-items-OWntjDaH.js → escalation-items-Cy0ZgJqV.js} +2 -2
  141. package/dashboard/dist/assets/{escalation-items-OWntjDaH.js.map → escalation-items-Cy0ZgJqV.js.map} +1 -1
  142. package/dashboard/dist/assets/{index-BIfY4mR2.js → index-2SM2_onB.js} +2 -2
  143. package/dashboard/dist/assets/{index-BIfY4mR2.js.map → index-2SM2_onB.js.map} +1 -1
  144. package/dashboard/dist/assets/{index-vgHzaGmW.js → index-4YaDUcKd.js} +2 -2
  145. package/dashboard/dist/assets/{index-vgHzaGmW.js.map → index-4YaDUcKd.js.map} +1 -1
  146. package/dashboard/dist/assets/{index-YGTGxcTF.js → index-CL_1VpGb.js} +2 -2
  147. package/dashboard/dist/assets/{index-YGTGxcTF.js.map → index-CL_1VpGb.js.map} +1 -1
  148. package/dashboard/dist/assets/{index-Dk7nwVpm.js → index-CZ7A3AcD.js} +2 -2
  149. package/dashboard/dist/assets/{index-Dk7nwVpm.js.map → index-CZ7A3AcD.js.map} +1 -1
  150. package/dashboard/dist/assets/{index-CvKegIVe.js → index-CfP2nKRc.js} +2 -2
  151. package/dashboard/dist/assets/{index-CvKegIVe.js.map → index-CfP2nKRc.js.map} +1 -1
  152. package/dashboard/dist/assets/{index-CR9rhAvN.js → index-Cga5IW3D.js} +2 -2
  153. package/dashboard/dist/assets/{index-CR9rhAvN.js.map → index-Cga5IW3D.js.map} +1 -1
  154. package/dashboard/dist/assets/{index-BTm3-qwq.js → index-Cx8xb-oU.js} +2 -2
  155. package/dashboard/dist/assets/{index-BTm3-qwq.js.map → index-Cx8xb-oU.js.map} +1 -1
  156. package/dashboard/dist/assets/{index-Dafrbwk_.js → index-DhSCCpqM.js} +2 -2
  157. package/dashboard/dist/assets/{index-Dafrbwk_.js.map → index-DhSCCpqM.js.map} +1 -1
  158. package/dashboard/dist/assets/{index-WPVpyoD3.js → index-DiaRlFYI.js} +2 -2
  159. package/dashboard/dist/assets/{index-WPVpyoD3.js.map → index-DiaRlFYI.js.map} +1 -1
  160. package/dashboard/dist/assets/{index-D7peGNN0.js → index-Dz6R8-Dw.js} +11 -11
  161. package/dashboard/dist/assets/index-Dz6R8-Dw.js.map +1 -0
  162. package/dashboard/dist/assets/{index-D_ojXTgO.js → index-Rwqrflm-.js} +2 -2
  163. package/dashboard/dist/assets/{index-D_ojXTgO.js.map → index-Rwqrflm-.js.map} +1 -1
  164. package/dashboard/dist/assets/{index-DvkcyTE2.js → index-XntldBd0.js} +2 -2
  165. package/dashboard/dist/assets/{index-DvkcyTE2.js.map → index-XntldBd0.js.map} +1 -1
  166. package/dashboard/dist/assets/{index-CWKs10VQ.js → index-jL2K6us4.js} +2 -2
  167. package/dashboard/dist/assets/{index-CWKs10VQ.js.map → index-jL2K6us4.js.map} +1 -1
  168. package/dashboard/dist/assets/{knowledge-L_zY1zmy.js → knowledge-CeUqGPuo.js} +2 -2
  169. package/dashboard/dist/assets/{knowledge-L_zY1zmy.js.map → knowledge-CeUqGPuo.js.map} +1 -1
  170. package/dashboard/dist/assets/{mcp-wCWFRA0T.js → mcp-Cx96NTeD.js} +2 -2
  171. package/dashboard/dist/assets/{mcp-wCWFRA0T.js.map → mcp-Cx96NTeD.js.map} +1 -1
  172. package/dashboard/dist/assets/{mcp-query-CFbGudkb.js → mcp-query-XAzWl0gm.js} +2 -2
  173. package/dashboard/dist/assets/{mcp-query-CFbGudkb.js.map → mcp-query-XAzWl0gm.js.map} +1 -1
  174. package/dashboard/dist/assets/{personas-B_VIacZJ.js → personas--4kjwyOw.js} +2 -2
  175. package/dashboard/dist/assets/{personas-B_VIacZJ.js.map → personas--4kjwyOw.js.map} +1 -1
  176. package/dashboard/dist/assets/{pipelines-Bv0Z8xQA.js → pipelines-PgkwvG7f.js} +2 -2
  177. package/dashboard/dist/assets/{pipelines-Bv0Z8xQA.js.map → pipelines-PgkwvG7f.js.map} +1 -1
  178. package/dashboard/dist/assets/{tasks-DP6yaNZs.js → tasks-CcYxdBa3.js} +2 -2
  179. package/dashboard/dist/assets/{tasks-DP6yaNZs.js.map → tasks-CcYxdBa3.js.map} +1 -1
  180. package/dashboard/dist/assets/{topics-UBSIcpSR.js → topics-_lik7cNY.js} +2 -2
  181. package/dashboard/dist/assets/{topics-UBSIcpSR.js.map → topics-_lik7cNY.js.map} +1 -1
  182. package/dashboard/dist/assets/{useDebouncedValue-R62q3Xpx.js → useDebouncedValue-Bm_AoxVx.js} +2 -2
  183. package/dashboard/dist/assets/{useDebouncedValue-R62q3Xpx.js.map → useDebouncedValue-Bm_AoxVx.js.map} +1 -1
  184. package/dashboard/dist/assets/{useNamespace-CAaszJDE.js → useNamespace-DgXXKdx5.js} +2 -2
  185. package/dashboard/dist/assets/{useNamespace-CAaszJDE.js.map → useNamespace-DgXXKdx5.js.map} +1 -1
  186. package/dashboard/dist/assets/{useYamlActivityEvents-emCp9U69.js → useYamlActivityEvents-Dj2qtGSd.js} +2 -2
  187. package/dashboard/dist/assets/{useYamlActivityEvents-emCp9U69.js.map → useYamlActivityEvents-Dj2qtGSd.js.map} +1 -1
  188. package/dashboard/dist/assets/{validate-C7yskdEn.js → validate-FlXCBBT6.js} +2 -2
  189. package/dashboard/dist/assets/{validate-C7yskdEn.js.map → validate-FlXCBBT6.js.map} +1 -1
  190. package/dashboard/dist/assets/{yaml-workflows-C2sOwz1p.js → yaml-workflows-B0_JxRYQ.js} +2 -2
  191. package/dashboard/dist/assets/{yaml-workflows-C2sOwz1p.js.map → yaml-workflows-B0_JxRYQ.js.map} +1 -1
  192. package/dashboard/dist/index.html +1 -1
  193. package/docs/hitl/x-lt-roster.md +1 -1
  194. package/docs/mcp.md +6 -1
  195. package/docs/scan-codes.md +5 -0
  196. package/package.json +1 -1
  197. package/dashboard/dist/assets/AgentsPage-CZIWMwak.js +0 -2
  198. package/dashboard/dist/assets/RosterWidget-DR-T4Izu.js +0 -2
  199. package/dashboard/dist/assets/RosterWidget-DR-T4Izu.js.map +0 -1
  200. package/dashboard/dist/assets/index-D7peGNN0.js.map +0 -1
@@ -1,8 +1,8 @@
1
- import{a as g,j as s}from"./vendor-query-DvWWuNIB.js";import{aj as at,ak as Yt,ac as zt,aS as Ie,aT as Kt,aB as ut,Z as Ce,ax as Oe,aU as Te,aV as Re,n as Le,q as _e,U as Se,aW as Fe,aX as Me,A as $e,aY as Pe,aZ as De,aN as We,a_ as Ue,a$ as Ge,b0 as qe,S as Je,b1 as He,b2 as Ve,aA as Be,O as Xe,H as Ye,b as ze,b3 as Ke,a as Qe,b4 as Ze,b5 as ts,b6 as es,ag as ss,an as ns,b7 as rs,b8 as is,b9 as os,ba as as,bb as ls,bc as cs,bd as ds,be as us,a3 as xs,M as ps,bf as fs,bg as ms,l as gs,bh as bs,bi as ys,a2 as hs,aM as js,bj as Ns,bk as vs,bl as ks,G as As,bm as Es,bn as ws,bo as Is,bp as Cs,bq as Os,br as Ts,r as Rs,a7 as Ls,bs as _s,ay as Ss,bt as Fs,bu as Ms,bv as $s,bw as Ps,bx as Ds,ar as Ws,by as Us,g as Gs,aD as qs,bz as Js,bA as Hs,bB as Vs,ao as Qt,$ as Bs,W as Xs,bC as Ys,a6 as Zt,X as zs}from"./vendor-icons-DUYcKTjP.js";import{a as Q,h as rt,i as pt,e as et,b as te,F as L,c as P,O as ee,d as Ks,I as Qs,R as Zs,s as tn,f as D,g as Y,j as en}from"./RosterWidget-DR-T4Izu.js";import{m as se,c as sn,a as B,g as nn,f as rn,b as on,h as an}from"./escalation-items-OWntjDaH.js";import{ah as z,aq as ln,b0 as ft,$ as cn,a9 as dn,s as un,b1 as xn,m as pn,J as fn,b2 as mn,O as gn,b3 as bn,ax as yn,b4 as hn,a_ as jn,i as Nn,M as ne,aA as vn,aB as kn,aC as An,b5 as En}from"./index-D7peGNN0.js";import{L as mt}from"./vendor-react-_9U4mKFr.js";import{r as gt,a as re}from"./validate-C7yskdEn.js";import{S as wn}from"./StatusBadge-DHVwxre2.js";import{E as In}from"./constants-CeBBTzf5.js";import{V as Cn}from"./WorkflowPill-DJLcK_CM.js";const ie=g.createContext(null),vi=ie.Provider;function On(t){const e=g.useContext(ie);return e&&e.field===t?e:null}function oe({notice:t}){return t?t.error?s.jsx("p",{role:"alert",className:"text-2xs text-status-error mt-1 animate-[field-error-in_0.3s_ease-out]","data-testid":"field-scan-notice",children:t.error},t.at):s.jsx("p",{role:"status",className:"text-2xs text-status-success mt-1","data-testid":"field-scan-notice",children:t.message??"Scanned"},t.at):null}const Tn={SCHEMA_VALIDATION:"schema_validation"};function Rn(t){return typeof t=="object"&&t!==null&&t.code===Tn.SCHEMA_VALIDATION&&Array.isArray(t.violations)}function Ot(t,e={}){const n=se(e,t),r={_form_schema:t};for(const[i,o]of Object.entries(t.properties??{})){const a=o.type==="object"?{}:"";r[i]=n[i]??o.default??a}return JSON.stringify(r,null,2)}function q(t,e){const n=e==null?void 0:e.title;if(typeof n=="string"&&n.trim().length>0)return n.trim();const r=t.split(/[_-]+/).filter(Boolean);return r.length<=1?t:r.map(i=>Ln(i)?i:i.charAt(0).toUpperCase()+i.slice(1)).join(" ")}function Ln(t){return t.length>1&&t===t.toUpperCase()&&/[A-Z]/.test(t)}function ae({errors:t,schema:e}){const n=r=>{const i=document.querySelector(`[data-field-key="${r}"]`);i&&(i.scrollIntoView({behavior:"smooth",block:"center"}),i.focus({preventScroll:!0}))};return t.length===0?s.jsx("p",{className:"text-xs text-text-tertiary italic",children:"No errors to display."}):s.jsxs("div",{className:"space-y-1",role:"alert","aria-live":"polite",children:[s.jsxs("p",{className:"text-2xs font-semibold uppercase tracking-wider text-status-error mb-4",children:[t.length," ",t.length===1?"issue":"issues"," to resolve"]}),s.jsx("div",{className:"space-y-1.5",children:t.map(({field:r,message:i})=>{var o;return s.jsxs("button",{onClick:()=>n(r),className:"w-full text-left flex items-start gap-3 px-3 py-2.5 rounded hover:bg-status-error/5 transition-colors group",children:[s.jsx(at,{className:"w-3.5 h-3.5 mt-0.5 shrink-0 text-status-error/60 group-hover:text-status-error transition-colors"}),s.jsxs("div",{children:[s.jsx("p",{className:"text-2xs font-semibold text-text-primary leading-snug",children:q(r,(o=e==null?void 0:e.properties)==null?void 0:o[r])}),s.jsx("p",{className:"text-2xs text-text-tertiary group-hover:text-text-secondary transition-colors leading-snug mt-0.5",children:i})]})]},r)})}),s.jsx("p",{className:"text-2xs text-text-quaternary mt-4 px-3",children:"Click an issue to scroll to and focus the field."})]})}const _n="x-lt-scan",Sn="x-lt-scan-submit",Tt="x-lt-order",Fn="Expected {{expected}}";function X(t){const e=t==null?void 0:t[_n];if(!e||typeof e!="object"||Array.isArray(e))return null;const n=e,r=Array.isArray(n.schemes)?n.schemes.filter(o=>Number.isInteger(o)):[];if(r.length===0)return null;const i=Array.isArray(n.expect)?n.expect.filter(o=>typeof o=="string"):void 0;return{schemes:r,value:n.value==="code"?"code":"target",...i!=null&&i.length?{expect:i}:{},expectError:typeof n["expect-error"]=="string"?n["expect-error"]:Fn,multiplicity:n.multiplicity==="count"?"count":"once",...typeof n.prompt=="string"&&n.prompt.trim()?{prompt:n.prompt}:{}}}function Mn(t,e){if(t===e)return!0;const n=/^[0-9]{8,14}$/;return n.test(t)&&n.test(e)&&t.padStart(14,"0")===e.padStart(14,"0")}function le(t,e){if(!t.expect)return null;const n=[];for(const r of t.expect){const i=Q(r,e),o=Array.isArray(i)?i:[i];for(const a of o)typeof a=="string"&&a?n.push(a):typeof a=="number"&&n.push(String(a))}return n}function $n(t,e){return t.expectError.replace(/\{\{\s*expected\s*\}\}/g,[...new Set(e)].join(", ")||"nothing")}function ce(t,e,n){const r=X(e);if(!r)return;const i=le(r,n);if(i===null)return;const o=Array.isArray(t)?t:t==null||t===""?[]:[t],a=r.multiplicity==="count"?[...i]:[...new Set(i)];for(const l of o){const c=a.findIndex(u=>Mn(String(l),u));if(c===-1)return $n(r,i);a.splice(c,1)}}function Pn(t,e){const n=X(t);if(n){const i=le(n,e);if(i!==null)return n.multiplicity==="count"?i.length:new Set(i).size}const r=t==null?void 0:t.maxItems;return typeof r=="number"?r:null}function ki(t,e,n,r){const i=X(n);if(!i)return{ok:!1,error:"This field takes no scans"};const o=i.value==="code"?e.code:e.target,a=n.type==="array",l=a?[...Array.isArray(t)?t:[],o]:o,c=ce(l,n,r);if(c)return{ok:!1,error:c};const u=n.maxItems;return a&&typeof u=="number"&&l.length>u?{ok:!1,error:`At most ${u}`}:{ok:!0,value:l}}function Dn(t,e){if(e.type==="array"){const n=e.maxItems;return typeof n!="number"||!Array.isArray(t)||t.length<n}return t==null||t===""}function Ai(t,e,n,r){const i=(t==null?void 0:t.properties)??{},o=Array.isArray(t==null?void 0:t[Tt])?t[Tt]:[],l=[...o.filter(c=>c in i),...Object.keys(i).filter(c=>!o.includes(c))].filter(c=>{var u;return(u=X(i[c]))==null?void 0:u.schemes.includes(n)});return l.length===0?null:r&&l.includes(r)?r:l.find(c=>Dn(e[c],i[c]))??l[0]}function Ei(t){return(t==null?void 0:t[Sn])===!0}function wi(t,e){const n=(t==null?void 0:t.properties)??{},r=new Set((t==null?void 0:t.required)??[]),i=Object.keys(n).filter(o=>X(n[o])&&r.has(o));return i.length===0?!1:i.every(o=>{const a=e[o];if(Array.isArray(a)){const l=n[o].minItems;return a.length>=(typeof l=="number"?l:1)}return a!=null&&a!==""})}const de="x-lt-options";function Rt(t){return typeof t=="string"||typeof t=="boolean"||typeof t=="number"&&Number.isFinite(t)}function Wn(t){return Array.isArray(t)&&t.length>0&&!t.some(e=>typeof e=="string")}function Lt(t){if(Rt(t))return{value:t,label:String(t)};if(t&&typeof t=="object"&&!Array.isArray(t)){const e=t,n=e.value!==void 0?e.value:e.id;if(Rt(n)&&typeof e.label=="string"&&e.label.length>0)return{value:n,label:e.label}}return null}function bt(t,e){if(!t)return;const n=t.enum;if(Array.isArray(n)&&n.length>0)return n.map(a=>({value:a,label:String(a)}));const r=t[de];if(Wn(r)){const a=r.map(Lt).filter(l=>l!==null);return a.length>0?a:void 0}const i=(typeof r=="string"?[r]:Array.isArray(r)?r:[]).filter(a=>typeof a=="string"&&a.length>0);if(i.length===0)return;const o=i.some(rt)?[]:void 0;for(const a of i){let l=a;if(rt(a)){const d=pt(a,e);if(d===null)continue;l=d}const c=Q(l,e);if(!Array.isArray(c))continue;const u=c.map(Lt).filter(d=>d!==null);if(u.length>0)return u}return o}function yt(t,e){const n=(typeof t=="string"?[t]:Array.isArray(t)?t:[]).filter(r=>typeof r=="string"&&r.length>0);if(n.length===0||!e)return[];for(const r of n){let i=r;if(rt(r)){const a=pt(r,e);if(a===null)continue;i=a}const o=Q(i,e);if(Array.isArray(o)&&o.length>0)return o}return[]}const Un="x-lt-default-checked";function Gn(t,e,n){if((t==null?void 0:t["x-lt-widget"])!=="checklist"||t[Un]!==!0||e&&typeof e=="object"&&!Array.isArray(e)&&Object.keys(e).length>0)return null;const r=yt(t["x-lt-source"],n);return r.length===0?null:Object.fromEntries(r.map(i=>[i.id,!0]))}function qn(t,e,n){if((e==null?void 0:e["x-lt-widget"])!=="checklist"||e["x-lt-require-all"]!==!0)return;const i=yt(e["x-lt-source"],n).filter(l=>l.required!==!1);if(i.length===0)return;const o=typeof t=="object"&&t!==null&&!Array.isArray(t)?t:{},a=i.filter(l=>!o[l.id]).length;if(a!==0)return`${a} of ${i.length} checks incomplete`}const _t="Invalid JSON";function it(t){return(t==null?void 0:t["x-lt-widget"])==="json"}function ue(t){return it(t)||(t==null?void 0:t[de])!==void 0}function St(t,e){return`${t} ${e}${t===1?"":"s"}`}function ht(t,e){const n=e==null?void 0:e.type;if(typeof n=="string"&&!(t==null||t===""))switch(n){case"string":return typeof t=="string"?void 0:"Expected text";case"number":return typeof t=="number"&&Number.isFinite(t)?void 0:"Expected a number";case"integer":return typeof t=="number"&&Number.isInteger(t)?void 0:"Expected a whole number";case"boolean":return typeof t=="boolean"?void 0:"Expected true or false";case"array":return Array.isArray(t)?void 0:it(e)&&typeof t=="string"?_t:"Expected a list";case"object":return typeof t=="object"&&!Array.isArray(t)?void 0:it(e)&&typeof t=="string"?_t:"Expected an object";default:return}}function jt(t,e,n){if(!e)return;const r=bt(e,n);if(r!==void 0&&t!==void 0&&t!==null&&t!==""&&!Array.isArray(t)){if(r.length===0)return"No valid options for this selection";if(!r.some(o=>o.value===t))return`Must be one of: ${r.map(o=>String(o.value)).join(", ")}`}const i=ce(t,e,n);if(i)return i;if(Array.isArray(t))return ue(e)?Jn(t,e,r,n):void 0;if(t!==null&&typeof t=="object")return Hn(t,e,n);if(typeof t=="string"){const o=t.trim();if(o==="")return;const a=H(e.minLength,e["x-lt-min-length"],n);if(a!==void 0&&o.length<a)return`Minimum ${a} character${a===1?"":"s"}`;const l=H(e.maxLength,e["x-lt-max-length"],n);if(l!==void 0&&o.length>l)return`Maximum ${l} characters (${o.length} entered)`;const c=e.pattern;if(c)try{if(!new RegExp(c).test(o))return e["x-lt-pattern-error"]??"Invalid format"}catch{}const u=e.format;if(u==="email"&&!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(o))return"Enter a valid email address";if(u==="uri"&&!/^https?:\/\/.+/.test(o))return"Enter a valid URL"}if(typeof t=="number"){const o=H(e.minimum,e["x-lt-minimum"],n),a=H(e.exclusiveMinimum,void 0,n),l=H(e.maximum,e["x-lt-maximum"],n),c=H(e.exclusiveMaximum,void 0,n);if(o!==void 0&&t<o)return`Minimum value is ${o}`;if(a!==void 0&&t<=a)return`Must be greater than ${a}`;if(l!==void 0&&t>l)return`Maximum value is ${l}`;if(c!==void 0&&t>=c)return`Must be less than ${c}`}}function Jn(t,e,n,r){if(t.length===0)return;if(n!==void 0){if(n.length===0)return"No valid options for this selection";if(t.some(l=>!n.some(c=>c.value===l)))return`Must be one of: ${n.map(l=>String(l.value)).join(", ")}`}const i=H(e.minItems,void 0,r);if(i!==void 0&&t.length<i)return`At least ${St(i,"item")}`;const o=H(e.maxItems,void 0,r);if(o!==void 0&&t.length>o)return`At most ${St(o,"item")}`;const a=e.items;if(a&&typeof a=="object"&&!Array.isArray(a)){const l=a;for(let c=0;c<t.length;c++){const u=ht(t[c],l)??jt(t[c],l,r);if(u)return`Item ${c+1}: ${u}`}}}function Hn(t,e,n){const r=Object.entries(t);if(r.length===0)return;const i=e.propertyNames,o=Array.isArray(i==null?void 0:i.enum)?i.enum.map(String):void 0;if(o){const l=r.find(([c])=>!o.includes(c));if(l)return`Unknown key "${l[0]}". Allowed: ${o.join(", ")}`}const a=e.additionalProperties;if(a&&typeof a=="object"&&!Array.isArray(a)){const l=a;for(const[c,u]of r){const d=ht(u,l)??jt(u,l,n);if(d)return`"${c}": ${d}`}}}function H(t,e,n){if(typeof t=="number")return t;if(typeof e=="string"&&n){const r=e.indexOf(".");if(r!==-1){const i=e.slice(0,r),o=e.slice(r+1),a=n[i];if(a&&typeof a=="object"){const l=o.split(".");let c=a;for(const u of l)if(c=c[u],c===void 0)break;if(typeof c=="number")return c;if(typeof c=="string"){const u=Number(c);if(!Number.isNaN(u))return u}}}}}function xe(t,e,n,r,i){if(!r)return;if(n){if(t==null||typeof t=="boolean"&&!t&&bt(e,i)===void 0||typeof t=="string"&&t.trim()===""||Array.isArray(t)&&t.length===0&&ue(e))return"Required";if(typeof t=="object"&&!Array.isArray(t)&&t!==null){const l=Object.values(t);if(l.length===0||!it(e)&&l.every(c=>!c))return"Required"}}const o=ht(t,e);if(o)return o;const a=qn(t,e,i);return a||jt(t,e,i)}const Vn="x-lt-require-any";function Bn(t){const e=t==null?void 0:t[Vn];return Array.isArray(e)?e.filter(n=>Array.isArray(n)).map(n=>n.filter(r=>typeof r=="string"&&r.length>0)).filter(n=>n.length>0):[]}function Xn(t){return t==null?!1:typeof t=="string"?t.trim().length>0:!0}const Yn="x-lt-require-sum";function zn(t){const e=t==null?void 0:t[Yn];if(!Array.isArray(e))return[];const n=[];for(const r of e){if(!r||typeof r!="object"||Array.isArray(r))continue;const{fields:i,minimum:o}=r;if(!Array.isArray(i))continue;const a=i.filter(l=>typeof l=="string"&&l.length>0);a.length!==0&&(o!==void 0&&typeof o!="number"||n.push({fields:a,minimum:typeof o=="number"?o:1}))}return n}function Kn(t){if(typeof t=="number"&&Number.isFinite(t))return t;if(typeof t=="string"&&t.trim()!==""){const e=Number(t);if(!Number.isNaN(e))return e}return 0}function pe(t,e,n){if(!t)return[];const r=t.properties??{},i=new Set(t.required??[]),o={...n??{},resolver:e,input:e},a=[];for(const[l,c]of Object.entries(r)){if(!et(c["x-lt-showIf"],o))continue;const u=xe(e[l],c,i.has(l)&&!te(c),!0,o);u&&a.push({field:l,message:u})}for(const l of Bn(t)){const c=l.filter(d=>r[d]&&et(r[d]["x-lt-showIf"],o));if(c.length===0||c.some(d=>Xn(e[d])))continue;const u=c.map(d=>r[d].title??d);a.push({field:c[0],message:`Enter a value for at least one of: ${u.join(", ")}`})}for(const l of zn(t)){const c=l.fields.filter(p=>r[p]&&et(r[p]["x-lt-showIf"],o));if(c.length===0||c.reduce((p,x)=>p+Kn(e[x]),0)>=l.minimum)continue;const d=c.map(p=>r[p].title??p);a.push({field:c[0],message:`Combined value of ${d.join(", ")} must be at least ${l.minimum}`})}return a}function Qn(t,e,n){if(!t)return[];const r=se(e,t);return pe(t,r,n)}function Ft(t,e){let n;try{n=JSON.parse(t)}catch{return{payload:null,errors:[],parseError:"Invalid JSON"}}const r=n._form_schema;if(r){const a=pe(r,n,e);if(a.length>0)return{payload:null,errors:a,parseError:null}}const{_form_schema:i,...o}=n;return{payload:sn(o,r),errors:[],parseError:null}}const Zn=2600;function tr({hint:t,onLockedClick:e,children:n}){const[r,i]=g.useState(null);g.useEffect(()=>{if(!r)return;const a=setTimeout(()=>i(null),Zn);return()=>clearTimeout(a)},[r]);const o=a=>{if(e==null||e(),t){const l=Math.min(Math.max(a.clientX,96),window.innerWidth-96);i(c=>({x:l,y:a.clientY,n:((c==null?void 0:c.n)??0)+1}))}};return s.jsxs("div",{className:"pb-8 max-w-form",onClick:o,"data-testid":"locked-form-frame",children:[n,t&&r&&s.jsxs("div",{role:"status",className:"fixed z-[60] pointer-events-none flex items-center gap-2 px-3 py-1.5 rounded-md bg-surface-raised border border-surface-border shadow-lg text-xs font-medium text-text-primary whitespace-nowrap animate-[click-hint_2.6s_ease-in-out_both]",style:{left:r.x,top:r.y-12},onAnimationEnd:()=>i(null),"data-testid":"locked-form-hint",children:[s.jsx(Yt,{className:"w-3.5 h-3.5 text-accent shrink-0",strokeWidth:1.5}),t]},r.n)]})}function er({fieldKey:t,value:e,onChange:n,schema:r,isRequired:i}){const o=g.useRef(null),a=(r==null?void 0:r.accept)??void 0,l=q(t,r),c=r==null?void 0:r.description,u=g.useCallback(p=>{var b;const x=(b=p.target.files)==null?void 0:b[0];if(!x)return;const f=new FileReader;f.onload=()=>{typeof f.result=="string"&&n(f.result)},f.readAsDataURL(x)},[n]),d=e.startsWith("data:");return s.jsxs("div",{children:[s.jsx(L,{isRequired:i,children:l}),c&&s.jsx("p",{className:"text-2xs text-text-tertiary mt-0.5",children:c}),s.jsxs("div",{className:"mt-1",children:[s.jsx("input",{ref:o,type:"file",accept:a,onChange:u,className:"hidden"}),s.jsx("button",{type:"button",onClick:()=>{var p;return(p=o.current)==null?void 0:p.click()},className:"btn-secondary text-xs px-3 py-1.5",children:d?"Replace file":"Choose file"}),d&&s.jsx("span",{className:"ml-2 text-xs text-status-success",children:"File attached"})]})]})}function sr({fieldKey:t,value:e,onChange:n,schema:r,isRequired:i}){const o=q(t,r),a=r==null?void 0:r.description,l=(r==null?void 0:r["x-lt-language"])??"",c=g.useCallback(u=>{if(u.key==="Tab"){u.preventDefault();const d=u.currentTarget,p=d.selectionStart,x=d.selectionEnd,f=e.substring(0,p)+" "+e.substring(x);n(f),requestAnimationFrame(()=>{d.selectionStart=d.selectionEnd=p+2})}},[e,n]);return s.jsxs("div",{children:[s.jsxs(L,{isRequired:i,children:[o,l&&s.jsx("span",{className:"ml-2 text-text-tertiary/60 normal-case font-normal",children:l})]}),a&&s.jsx("p",{className:"text-2xs text-text-tertiary mt-0.5",children:a}),s.jsx("textarea",{value:e,onChange:u=>n(u.target.value),onKeyDown:c,className:"input w-full mt-1 font-mono text-xs leading-relaxed",rows:10,spellCheck:!1})]})}function nr({fieldKey:t,value:e,onChange:n,schema:r,isRequired:i}){const o=g.useRef(null),[a,l]=g.useState(!1),c=q(t,r),u=r==null?void 0:r.description;g.useEffect(()=>{const m=o.current;if(!m)return;const y=m.getContext("2d");if(y&&(y.lineWidth=2,y.lineCap="round",y.strokeStyle="#1E1535",e&&e.startsWith("data:"))){const h=new Image;h.onload=()=>y.drawImage(h,0,0),h.src=e}},[]);const d=g.useCallback(m=>{const y=o.current,h=y.getBoundingClientRect(),A=h.width>0?y.width/h.width:1,j=h.height>0?y.height/h.height:1;return"touches"in m?{x:(m.touches[0].clientX-h.left)*A,y:(m.touches[0].clientY-h.top)*j}:{x:(m.clientX-h.left)*A,y:(m.clientY-h.top)*j}},[]),p=g.useCallback(m=>{var A;l(!0);const y=(A=o.current)==null?void 0:A.getContext("2d");if(!y)return;const h=d(m);y.beginPath(),y.moveTo(h.x,h.y)},[d]),x=g.useCallback(m=>{var A;if(!a)return;const y=(A=o.current)==null?void 0:A.getContext("2d");if(!y)return;const h=d(m);y.lineTo(h.x,h.y),y.stroke()},[a,d]),f=g.useCallback(()=>{l(!1);const m=o.current;m&&n(m.toDataURL("image/png"))},[n]),b=g.useCallback(()=>{const m=o.current;if(!m)return;const y=m.getContext("2d");y&&(y.clearRect(0,0,m.width,m.height),n(""))},[n]);return s.jsxs("div",{children:[s.jsx(L,{isRequired:i,children:c}),u&&s.jsx("p",{className:"text-2xs text-text-tertiary mt-0.5",children:u}),s.jsx("div",{className:"mt-1 max-w-[25rem] border border-surface-border rounded-md overflow-hidden bg-white",children:s.jsx("canvas",{ref:o,width:400,height:150,className:"w-full cursor-crosshair touch-none",onMouseDown:p,onMouseMove:x,onMouseUp:f,onMouseLeave:f,onTouchStart:p,onTouchMove:x,onTouchEnd:f})}),s.jsx("button",{type:"button",onClick:b,className:"mt-1 text-2xs text-text-tertiary hover:text-accent transition-colors",children:"Clear"})]})}function rr({fieldKey:t,value:e,onChange:n,schema:r,isRequired:i}){const o=q(t,r),a=r==null?void 0:r.description;return s.jsxs("div",{children:[s.jsx(L,{isRequired:i,children:o}),a&&s.jsx("p",{className:"text-2xs text-text-tertiary mt-0.5",children:a}),s.jsx("textarea",{value:e,onChange:l=>n(l.target.value),className:"input w-full mt-1 text-sm leading-relaxed",rows:8,placeholder:"Supports plain text. Markdown formatting is preserved."})]})}function ir({fieldKey:t,value:e,onChange:n,schema:r,isRequired:i}){const[o,a]=g.useState("write"),l=q(t,r),c=r==null?void 0:r.description;return(r==null?void 0:r.readOnly)===!0?s.jsx(z,{content:e,className:"my-1"}):s.jsxs("div",{children:[s.jsxs("div",{className:"flex items-center justify-between",children:[s.jsx(L,{isRequired:i,children:l}),s.jsx("div",{className:"flex items-center gap-0.5",children:["write","preview"].map(d=>s.jsx("button",{type:"button",onClick:()=>a(d),className:`px-2 py-0.5 text-2xs rounded transition-colors ${o===d?"bg-accent/10 text-accent font-semibold":"text-text-quaternary hover:text-text-secondary"}`,children:d==="write"?"Write":"Preview"},d))})]}),c&&s.jsx("p",{className:"text-2xs text-text-tertiary mt-0.5",children:c}),o==="write"?s.jsx("textarea",{value:e,onChange:d=>n(d.target.value),className:"input w-full mt-1 text-sm font-mono leading-relaxed",rows:10,placeholder:"Write markdown — headings, lists, tables, code blocks, and links all render."}):s.jsx("div",{className:"mt-1 px-3 py-2 border border-surface-border rounded min-h-[120px]",children:e.trim()?s.jsx(z,{content:e}):s.jsx("p",{className:"text-xs text-text-quaternary italic",children:"Nothing to preview."})})]})}const or=28;function ar({fieldKey:t,value:e,onChange:n,schema:r,escalationContext:i,isRequired:o,submitAttempted:a,error:l}){const c=(r==null?void 0:r["x-lt-require-all"])===!0,u=yt(r==null?void 0:r["x-lt-source"],i);let d={};try{e&&(d=JSON.parse(e))}catch{}const p=(()=>{const j=Gn(r,d,i);return j?JSON.stringify(j):null})();g.useEffect(()=>{p&&n(p)},[p]);const x=j=>n(JSON.stringify({...d,[j]:!d[j]})),f=q(t,r),b=r==null?void 0:r.description;if(u.length===0)return s.jsxs(s.Fragment,{children:[s.jsx("p",{className:"text-xs text-text-tertiary italic mt-1",children:"No checklist items. None of the field's x-lt-source paths resolved on this escalation."}),l&&s.jsx("p",{className:"text-2xs text-status-error mt-1 animate-[field-error-in_0.3s_ease-out]",children:l})]});const m=r==null?void 0:r["x-lt-variant"],y=m==="chips"||m==="rows"?m:c||u.some(j=>j.label.length>or)?"rows":"chips",h=u.filter(j=>d[j.id]).length,A=(u.find(j=>!d[j.id]&&j.required!==!1)??u[0]).id;return s.jsxs("div",{role:"group","aria-label":f,"aria-required":o||void 0,"aria-invalid":l?!0:void 0,children:[s.jsx(L,{isRequired:o,children:f}),b&&s.jsx(P,{children:b}),y==="chips"?s.jsx("div",{className:"flex flex-wrap gap-2 mt-2",children:u.map(j=>{const N=d[j.id]??!1,v=!N&&!!a&&h===0&&(j.required||o);return s.jsxs("label",{className:`inline-flex items-center gap-1.5 cursor-pointer select-none px-3.5 py-2 text-sm border transition-colors rounded-[var(--lt-radius-field)] ${N?"bg-accent border-accent text-text-inverse":v?"bg-surface-field border-status-error/60 text-status-error":"bg-surface-field border-surface-field-border text-text-secondary hover:border-accent hover:text-text-primary"}`,children:[s.jsx("input",{type:"checkbox",checked:N,onChange:()=>x(j.id),className:"sr-only","data-testid":`checklist-item-${j.id}`,...j.id===A?{"data-field-key":t}:{}}),N&&s.jsx(zt,{className:"w-3.5 h-3.5 shrink-0",strokeWidth:2.5}),j.label]},j.id)})}):s.jsx("div",{className:"space-y-2.5 mt-2",children:u.map(j=>{const N=d[j.id]??!1,v=!N&&!!a&&(c?j.required!==!1:h===0&&(j.required||o));return s.jsxs("label",{className:`flex items-start gap-3 cursor-pointer group select-none rounded px-2 py-1 -mx-2 transition-colors ${v?"bg-status-error/5":"hover:bg-surface-hover"}`,children:[s.jsx("input",{type:"checkbox",checked:N,onChange:()=>x(j.id),className:`mt-0.5 w-3.5 h-3.5 shrink-0 rounded ${v?"accent-status-error":"accent-accent"}`,"data-testid":`checklist-item-${j.id}`,...j.id===A?{"data-field-key":t}:{}}),s.jsxs("span",{className:`text-sm leading-snug transition-colors ${v?"text-status-error":"text-text-secondary group-hover:text-text-primary"}`,children:[j.label,j.required&&s.jsx("span",{className:`ml-0.5 text-2xs ${v?"text-status-error":"text-text-quaternary"}`,children:"*"})]})]},j.id)})}),s.jsx("p",{className:"text-2xs text-text-quaternary mt-3 tabular-nums",children:y==="chips"?s.jsxs(s.Fragment,{children:[h," selected",o&&h===0&&!!a&&s.jsx("span",{className:"ml-1 text-text-quaternary/60",children:"(check at least one)"})]}):s.jsxs(s.Fragment,{children:[h," / ",u.length," confirmed",c?s.jsxs("span",{className:"ml-1 text-text-quaternary/60",children:["(all required",u.some(j=>j.required===!1)?" except optional":"",")"]}):o&&h===0&&!!a&&s.jsx("span",{className:"ml-1 text-text-quaternary/60",children:"(at least one required)"})]})}),l&&s.jsx("p",{role:"alert",className:"text-2xs text-status-error mt-1 animate-[field-error-in_0.3s_ease-out]",children:l})]})}const lr=/\.(png|jpe?g|gif|webp|avif|bmp|svg)(\?.*)?$/i;function cr(t){var r,i,o,a;const e=t.trim();if(!e)return{kind:"none"};const n=(i=(r=/^data:([^;,]+)[;,]/.exec(e))==null?void 0:r[1])==null?void 0:i.toLowerCase();if(n)return n.startsWith("image/")?{kind:"image",src:e}:{kind:"file",href:e,label:n==="application/pdf"?"PDF":n,isData:!0};if(/^https?:\/\//i.test(e)){if(lr.test(e))return{kind:"image",src:e};const l=(a=(o=/\.([a-z0-9]{2,5})(\?.*)?$/i.exec(e))==null?void 0:o[1])==null?void 0:a.toUpperCase();return{kind:"file",href:e,label:l??"attachment",isData:!1}}return{kind:"none"}}function Mt({fieldKey:t,value:e,schema:n}){const[r,i]=g.useState(!1),o=cr(e??""),a=t.replace(/[_-]/g," "),l=n==null?void 0:n.description,c=s.jsxs(s.Fragment,{children:[s.jsx("label",{className:"text-2xs font-semibold uppercase tracking-widest text-text-tertiary",children:a}),l&&s.jsx("p",{className:"text-2xs text-text-tertiary mt-0.5",children:l})]});return o.kind==="none"?s.jsxs("div",{children:[c,s.jsx("p",{className:"text-xs text-text-quaternary italic mt-1",children:"No attachment"})]}):o.kind==="image"?s.jsxs("div",{children:[c,s.jsxs("div",{className:"mt-1",children:[s.jsx("button",{type:"button",onClick:()=>i(!0),className:"block rounded-[0.125em] border border-surface-border overflow-hidden hover:border-accent transition-colors",title:"View full size",children:s.jsx("img",{src:o.src,alt:t.replace(/[_-]/g," "),className:"max-h-48 max-w-full object-contain","data-testid":`attachment-image-${t}`})}),r&&s.jsx("div",{className:"fixed inset-0 z-[100] bg-text-primary/60 backdrop-blur-sm flex items-center justify-center p-8 cursor-zoom-out",onClick:()=>i(!1),role:"dialog","aria-modal":"true","aria-label":`${a} — full size`,children:s.jsx("img",{src:o.src,alt:a,className:"max-h-[90vh] max-w-[90vw] object-contain"})})]})]}):s.jsxs("div",{children:[c,s.jsx("div",{className:"mt-1",children:s.jsxs("a",{href:o.href,...o.isData?{download:`${t}.${o.label==="PDF"?"pdf":"bin"}`}:{target:"_blank",rel:"noopener noreferrer"},className:"inline-flex items-center gap-1.5 text-xs text-accent hover:text-accent-hover transition-colors","data-testid":`attachment-link-${t}`,children:[s.jsx(Ie,{className:"w-3.5 h-3.5",strokeWidth:1.5}),o.isData?`Download ${o.label}`:`Open ${o.label}`,o.isData?s.jsx(Kt,{className:"w-3 h-3",strokeWidth:1.5}):s.jsx(ut,{className:"w-3 h-3",strokeWidth:1.5})]})})]})}function dr({fieldKey:t,schema:e,escalationContext:n}){const r=(e==null?void 0:e["x-lt-href"])??"",i=r&&n?B(r,n):r,o=(e==null?void 0:e.title)??(e==null?void 0:e.description)??"Open",a=e==null?void 0:e.description,l=i.startsWith("/"),c=!i.trim();return s.jsxs("div",{"data-field-key":t,children:[s.jsx(L,{children:o}),a&&s.jsx(P,{children:a}),s.jsx("div",{className:"mt-1",children:c?s.jsx("span",{className:"text-xs text-text-quaternary italic",children:"No link configured"}):l?s.jsxs(mt,{to:i,className:"inline-flex items-center gap-1 text-xs text-accent hover:text-accent-hover transition-colors","data-testid":`link-widget-${t}`,children:[o,s.jsx(ut,{className:"w-3 h-3 shrink-0",strokeWidth:1.5})]}):s.jsxs("a",{href:i,target:"_blank",rel:"noreferrer",className:"inline-flex items-center gap-1 text-xs text-accent hover:text-accent-hover transition-colors","data-testid":`link-widget-${t}`,children:[o,s.jsx(ut,{className:"w-3 h-3 shrink-0",strokeWidth:1.5})]})})]})}const $t="—";function ur(t,e){if(!t||!e)return"";const n=t.indexOf(".");if(n===-1)return"";const r=t.slice(0,n),i=t.slice(n+1);try{const o=nn(e[r],i);return typeof o=="string"?o:""}catch{return""}}function xr(t,e){if(!t||t===$t)return $t;if(e==="age"){const n=new Date(t);return Number.isNaN(n.getTime())?t:ft(t)}return t}function pr({fieldKey:t,schema:e,escalationContext:n}){const r=e==null?void 0:e["x-lt-source"],i=(e==null?void 0:e["x-lt-fields"])??[],o=(e==null?void 0:e.title)??"Linked escalation",a=e==null?void 0:e.description,l=ur(r,n),{data:c,isLoading:u,isError:d}=ln(l);return s.jsxs("div",{"data-field-key":t,children:[s.jsx(L,{children:o}),a&&s.jsx(P,{children:a}),s.jsx("div",{className:"mt-1",children:!l||d?s.jsx("p",{className:"text-xs text-text-quaternary italic","data-testid":`escalation-widget-empty-${t}`,children:"No linked record"}):u?s.jsx(mr,{}):c?s.jsx(fr,{esc:c,fields:i,fieldKey:t}):s.jsx("p",{className:"text-xs text-text-quaternary italic",children:"No linked record"})})]})}function fr({esc:t,fields:e,fieldKey:n}){if(!t)return null;const r=gt(t);return s.jsxs("div",{className:"border-l-2 border-accent-faint pl-3 py-2 space-y-2","data-testid":`escalation-widget-card-${n}`,children:[s.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[s.jsxs("span",{className:"text-2xs font-semibold uppercase tracking-wider text-text-secondary",children:[t.type,t.subtype&&t.subtype!==t.type?` · ${t.subtype}`:""]}),s.jsx(wn,{status:t.status})]}),t.description&&s.jsx("p",{className:"text-xs text-text-primary leading-snug",children:t.description}),e.length>0&&s.jsx("dl",{className:"grid grid-cols-[auto_1fr] gap-x-4 gap-y-0.5",children:e.map(i=>{const o=B(i.value,r),a=xr(o,i.format);return s.jsxs("div",{className:"contents",children:[s.jsx("dt",{className:"text-2xs text-text-tertiary whitespace-nowrap",children:i.label}),s.jsx("dd",{className:"text-2xs text-text-primary",children:a})]},i.label)})}),s.jsxs("div",{className:"flex items-center justify-between gap-2",children:[s.jsxs("span",{className:"text-2xs text-text-quaternary",children:[t.role," · ",ft(t.created_at)]}),s.jsx(ee,{to:`/escalations/detail/${t.id}`})]})]})}function mr(){return s.jsxs("div",{className:"border-l-2 border-accent-faint pl-3 py-2 space-y-2 animate-pulse",children:[s.jsx("div",{className:"h-3 w-32 bg-surface-sunken rounded"}),s.jsx("div",{className:"h-3 w-48 bg-surface-sunken rounded"}),s.jsx("div",{className:"h-3 w-24 bg-surface-sunken rounded"})]})}function gr(t,e){if(!t)return{};const n={};for(const[r,i]of Object.entries(t))n[r]=typeof i=="string"?B(i,e):i;return n}function br(t,e,n){const r=gr(t.facets,e),i={role:t.role,status:t.status??"pending",facets:r,limit:t.limit,enabled:!!(t.role||Object.keys(r).length)};return t.assigned==="me"?{...i,assigned_to:n,available:!1,enabled:i.enabled&&!!n}:t.assigned==="any"?i:{...i,available:t.available??!0}}const Pt="—";function yr(t,e){if(!t||t===Pt)return Pt;if(e==="age"){const n=new Date(t);return Number.isNaN(n.getTime())?t:ft(t)}return t}function xt(t,e){return typeof t=="string"?B(t,e):Array.isArray(t)?t.map(n=>xt(n,e)):t&&typeof t=="object"?Object.fromEntries(Object.entries(t).map(([n,r])=>[n,xt(r,e)])):t}const hr="continue",jr=[{label:"Description",value:"{{escalation.description}}"},{label:"Role",value:"{{escalation.role}}"},{label:"Age",value:"{{escalation.created_at}}",format:"age"}];function Nr({fieldKey:t,schema:e,escalationContext:n}){const r=(e==null?void 0:e["x-lt-query"])??{},i=(e==null?void 0:e["x-lt-columns"])??jr,o=((e==null?void 0:e["x-lt-actions"])??[]).filter(O=>!(Array.isArray(O.roles)&&O.roles.length>0)),a=(e==null?void 0:e.title)??"Related items",l=e==null?void 0:e.description,c=n??{},{user:u}=cn(),d=br(r,c,u==null?void 0:u.userId),{data:p,isLoading:x}=dn({role:d.role,status:d.status,facets:d.facets,assigned_to:d.assigned_to,available:d.available,limit:d.limit??5,enabled:d.enabled,include:rn({columns:i,actions:o})?"envelope":void 0}),f=(p==null?void 0:p.escalations)??[],b=un(),[m,y]=g.useState({}),[h,A]=g.useState(null),[j,N]=g.useState(null),v=Ks(),I=(O,k)=>{N(null),v(hr,()=>F(O,k))},R=(O,k)=>{k.confirm?N({id:O.id,action:k}):I(O,k)},F=async(O,k)=>{const T=gt(O);A(O.id),y(w=>({...w,[O.id]:""}));try{await b.mutateAsync({id:O.id,resolverPayload:xt(k.resolverPayload,T)})}catch(w){y(M=>({...M,[O.id]:w.message}))}finally{A(null)}};return s.jsxs("div",{"data-field-key":t,children:[s.jsx(L,{children:a}),l&&s.jsx(P,{children:l}),s.jsx("div",{className:"mt-1","data-testid":`escalation-list-widget-${t}`,children:x?s.jsx(kr,{columns:i.length}):s.jsx(vr,{escalations:f,columns:i,fieldKey:t,actions:o,onAction:R,confirming:j,onConfirm:O=>j&&I(O,j.action),onCancel:()=>N(null),pendingRow:h,rowErrors:m})})]})}function vr({escalations:t,columns:e,fieldKey:n,actions:r,onAction:i,confirming:o,onConfirm:a,onCancel:l,pendingRow:c,rowErrors:u}){return t.length===0?s.jsx("p",{className:"text-xs text-text-quaternary italic py-1","data-testid":`escalation-list-empty-${n}`,children:"No items found"}):s.jsxs("table",{className:"w-full text-xs border-collapse","data-testid":`escalation-list-table-${n}`,children:[s.jsx("thead",{children:s.jsxs("tr",{className:"border-b border-surface-border",children:[e.map(d=>s.jsx("th",{className:"text-left text-2xs font-semibold uppercase tracking-wider text-text-tertiary pb-1 pr-3 last:pr-0",children:d.label},d.label)),r.length>0&&s.jsx("th",{className:"w-px"}),s.jsx("th",{className:"w-8"})]})}),s.jsx("tbody",{children:t.map(d=>{const p=gt(d),x=u[d.id];return s.jsxs("tr",{className:"border-b border-surface-border/50 last:border-0 hover:bg-surface-sunken/50 transition-colors",children:[e.map(f=>{const b=B(f.value,p),m=yr(b,f.format);return s.jsx("td",{className:"py-1 pr-3 last:pr-0 text-text-primary align-top",children:m},f.label)}),r.length>0&&s.jsxs("td",{className:"py-1 pr-2 align-top whitespace-nowrap",children:[(o==null?void 0:o.id)===d.id?s.jsx(Qs,{message:B(o.action.confirm??"",p),onConfirm:()=>a(d),onCancel:l,testId:`escalation-list-confirm-${d.id}`}):r.map(f=>s.jsx("button",{type:"button",onClick:()=>i(d,f),disabled:c===d.id,className:"px-2 py-0.5 text-2xs font-medium text-accent border border-accent/40 rounded hover:bg-accent/10 disabled:opacity-40 disabled:cursor-default transition-colors ml-1 first:ml-0","data-testid":`escalation-list-action-${d.id}`,children:f.label},f.label)),x&&s.jsx("p",{className:"text-2xs text-status-error mt-0.5 whitespace-normal max-w-[16rem]","data-testid":`escalation-list-action-error-${d.id}`,children:x})]}),s.jsx("td",{className:"py-1 pl-2 align-top",children:s.jsx(ee,{to:`/escalations/detail/${d.id}`})})]},d.id)})})]})}function kr({columns:t}){return s.jsx("div",{className:"space-y-1.5 animate-pulse",children:[0,1,2].map(e=>s.jsx("div",{className:"flex gap-4",children:Array.from({length:t},(n,r)=>s.jsx("div",{className:"h-3 bg-surface-sunken rounded flex-1"},r))},e))})}function fe(t,e){return{metadata:t??{},...e?{lookup:e}:{}}}const Ar="x-lt-invoke",K={LINK:"link",BUTTON:"button"},Er=/^\{\{\s*([^{}]+?)\s*\}\}$/;function st(t){return!!t&&typeof t=="object"&&!Array.isArray(t)}function wr(t){return t===K.LINK||t===K.BUTTON}function Ir(t){const e=t==null?void 0:t[Ar];if(!st(e))return null;const n=e.workflow;if(typeof n!="string"||n.trim().length===0)return null;const r=e.confirm;return{workflow:n.trim(),data:st(e.data)?e.data:{},metadata:st(e.metadata)?e.metadata:{},modal:e.modal===!0,confirm:typeof r=="string"&&r.trim().length>0?r:null,variant:wr(e.variant)?e.variant:K.LINK,icon:e.icon!==!1}}function ot(t,e){if(typeof t=="string"){const n=Er.exec(t);if(n){const r=Q(n[1],e??void 0);return r===null?void 0:r}return rt(t)?pt(t,e??void 0)??void 0:t}if(Array.isArray(t))return t.map(n=>ot(n,e)).filter(n=>n!==void 0);if(st(t)){const n={};for(const[r,i]of Object.entries(t)){const o=ot(i,e);o!==void 0&&(n[r]=o)}return n}return t}function Cr(t,e){return{data:ot(t.data,e),metadata:ot(t.metadata,e)}}const Nt={ACTIVITY:"Activity",ALERT:"AlertTriangle",ARCHIVE:"Archive",AWARD:"Award",BARCODE:"Barcode",BELL:"Bell",BOT:"Bot",BOX:"Box",BOXES:"Boxes",BUILDING:"Building2",CALENDAR:"Calendar",CAMERA:"Camera",CHECKLIST:"ListChecks",CLIPBOARD:"ClipboardList",CLIPBOARD_CHECK:"ClipboardCheck",CLOCK:"Clock",COG:"Cog",CPU:"Cpu",DATABASE:"Database",DOWNLOAD:"Download",DROPLETS:"Droplets",FACTORY:"Factory",FAN:"Fan",FILE:"FileText",FLAG:"Flag",FLAME:"Flame",GAUGE:"Gauge",HAMMER:"Hammer",HEART:"Heart",IMAGE:"Image",KEY:"Key",LAYERS:"Layers",LEAF:"Leaf",LIFEBUOY:"LifeBuoy",LOCK:"Lock",MAIL:"Mail",MAP:"Map",MEGAPHONE:"Megaphone",MESSAGE:"MessageSquare",PACKAGE:"Package",PALETTE:"Palette",PEN:"PenTool",PILL:"Pill",POWER:"Power",PRINTER:"Printer",RECEIPT:"Receipt",RECYCLE:"Recycle",REFRESH:"RefreshCw",ROCKET:"Rocket",ROUTE:"Route",RULER:"Ruler",SCALE:"Scale",SCAN:"ScanBarcode",SCISSORS:"Scissors",SEARCH:"Search",SEND:"Send",SERVER:"Server",SHIELD:"ShieldCheck",SHOPPING_CART:"ShoppingCart",SNOWFLAKE:"Snowflake",SPARKLES:"Sparkles",STAR:"Star",STORE:"Store",SUN:"Sun",TAG:"Tag",TEST_TUBE:"TestTube",THERMOMETER:"Thermometer",TRASH:"Trash2",TRUCK:"Truck",UPLOAD:"Upload",USER:"User",USERS:"Users",WAND:"Wand2",WAREHOUSE:"Warehouse",WIFI:"Wifi",WRENCH:"Wrench",ZAP:"Zap"},Or=new Set(Object.values(Nt));function Tr(t){return typeof t=="string"&&Or.has(t)}const Rr={Activity:Bs,AlertTriangle:Qt,Archive:Vs,Award:Hs,Barcode:Js,Bell:qs,Bot:Gs,Box:Us,Boxes:Ws,Building2:Ds,Calendar:Ps,Camera:$s,ClipboardCheck:Ms,ClipboardList:Fs,Clock:Ss,Cog:_s,Cpu:Ls,Database:Rs,Download:Kt,Droplets:Ts,Factory:Os,Fan:Cs,FileText:Is,Flag:ws,Flame:Es,Gauge:As,Hammer:ks,Heart:vs,Image:Ns,Key:js,Layers:hs,Leaf:ys,LifeBuoy:bs,ListChecks:gs,Lock:Yt,Mail:ms,Map:fs,Megaphone:ps,MessageSquare:xs,Package:us,Palette:ds,PenTool:cs,Pill:ls,Power:as,Printer:os,Receipt:is,Recycle:rs,RefreshCw:ns,Rocket:ss,Route:es,Ruler:ts,Scale:Ze,ScanBarcode:Qe,Scissors:Ke,Search:ze,Send:Ye,Server:Xe,ShieldCheck:Be,ShoppingCart:Ve,Snowflake:He,Sparkles:Je,Star:qe,Store:Ge,Sun:Ue,Tag:We,TestTube:De,Thermometer:Pe,Trash2:$e,Truck:Me,Upload:Fe,User:Se,Users:_e,Wand2:Le,Warehouse:Re,Wifi:Te,Wrench:Oe,Zap:Ce},Dt=Object.values(Nt),Lr=Object.fromEntries(Object.entries(Nt).map(([t,e])=>[e,t]));function _r(t){return Tr(t)?Rr[t]:null}function Ii(t){const e=t.trim().toLowerCase().replace(/[\s_-]+/g,"");return e?Dt.filter(n=>n.toLowerCase().includes(e)||Lr[n].toLowerCase().replace(/_/g,"").includes(e)):[...Dt]}function vt({icon:t,tier:e,className:n,strokeWidth:r=1.5}){const i=_r(t)??Cn[e]??Xs;return s.jsx(i,{className:n,strokeWidth:r,"aria-hidden":!0})}function Sr(t){return`${t.domain}/${t.key} ${t.current||t.version===null?"(current)":`v${t.version}`}`}const S={RUNNING:"running",COMPLETED:"completed",FAILED:"failed"};function Wt(t,e){return`lt.events.system.workflow.${t}.${e}`}function kt(t){const[e,n]=g.useState(S.RUNNING),[r,i]=g.useState(void 0);return g.useEffect(()=>{n(S.RUNNING),i(void 0)},[t]),xn(t?[Wt(t,"completed"),Wt(t,"failed")]:[],o=>{if(o.workflowId!==t)return;const a=o.type.endsWith(".failed");n(a?S.FAILED:S.COMPLETED),i(o.data),o.data===void 0&&pn(`/workflows/${encodeURIComponent(t)}/result`).then(l=>{var c;return i(a?l.error?{error:l.error}:void 0:(c=l.result)==null?void 0:c.data)}).catch(()=>{})}),{outcome:e,payload:r}}const Fr={[S.RUNNING]:"Working…",[S.COMPLETED]:"Completed",[S.FAILED]:"Failed"};function me({outcome:t,className:e=""}){const n=t===S.FAILED?"text-status-error":t===S.COMPLETED?"text-status-success":"text-text-secondary";return s.jsxs("p",{className:`flex items-center gap-1.5 text-xs ${n} ${e}`,role:"status","data-testid":"run-outcome",children:[Fr[t],t===S.RUNNING&&s.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-accent animate-pulse","aria-hidden":!0})]})}function ge({payload:t}){return!t||Object.keys(t).length===0?null:s.jsx("div",{className:"max-h-72 overflow-y-auto px-3 py-2 bg-surface-sunken","data-testid":"run-outline",children:s.jsx(mn,{data:t})})}function Mr({workflowId:t,outcome:e,executionPath:n}){const r=e===S.FAILED?"text-status-error":"text-status-success",i=e===S.RUNNING?"Started":e===S.COMPLETED?"Completed":"Failed";return s.jsxs("p",{className:"flex items-center gap-1.5 text-xs min-w-0",role:"status","data-testid":"started-run",children:[s.jsx("span",{className:r,children:i}),e===S.RUNNING&&s.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-accent animate-pulse","aria-hidden":!0}),s.jsx("span",{className:"text-text-quaternary",children:"·"}),s.jsx("span",{className:"font-mono text-text-secondary truncate",children:t}),n&&s.jsxs(s.Fragment,{children:[s.jsx("span",{className:"text-text-quaternary",children:"·"}),s.jsx(mt,{to:n,className:"text-accent hover:underline shrink-0",children:"View workflow →"})]})]})}function $r({payload:t}){return!t||Object.keys(t).length===0?null:s.jsx("div",{className:"mt-3 h-48 overflow-y-auto rounded-md border border-surface-border bg-surface-raised px-3 py-2","data-testid":"started-run-result",children:s.jsx(fn,{data:t,label:"Result"})})}const Pr="/workflows/executions",W={PAGE:"page",MODAL:"modal"};function be(t,e){const{realIsBuilder:n}=gn(),r=bn(),[i,o]=g.useState(null),[a,l]=g.useState([]),[c,u]=g.useState(null),d=g.useCallback(()=>{o(null),l([]),u(null),r.reset()},[r]);return{submit:g.useCallback(async(x,f)=>{o(null),l([]),u(null);const b={...f};e.certified&&(b.certified=!0);try{const m=await r.mutateAsync({workflowType:t.workflow_type,data:x,metadata:b,...e.overrideBot?{execute_as:e.overrideBot}:{}});u(m.workflowId)}catch(m){m instanceof yn&&Rn(m.body)?(l(m.body.violations),o(m.body.error)):o(m instanceof Error?m.message:"Invocation failed")}},[r,e.certified,e.overrideBot,t.workflow_type]),reset:d,pending:r.isPending,error:i,violations:a,startedId:c,executionPath:c&&n?`${Pr}/${encodeURIComponent(c)}`:null}}function At(){const{connected:t}=hn();return t?null:s.jsxs("p",{className:"flex items-center gap-1.5 text-2xs text-status-warning","data-testid":"events-warning",children:[s.jsx(Ys,{className:"w-3 h-3 shrink-0",strokeWidth:1.5}),"Live events are off, so the result will not appear here.",s.jsx("button",{type:"button",onClick:()=>window.location.reload(),className:"text-accent hover:underline",children:"Reconnect events"})]})}const Dr={[W.PAGE]:"sticky bottom-0 z-10 bg-surface border-t border-surface-border/40 pt-3 pb-16 -mb-16",[W.MODAL]:"border-t border-surface-border/40 pt-3"};function ye({onSubmit:t,onSubmitAgain:e,pending:n,error:r,issueCount:i=0,onShowIssues:o,startedId:a,executionPath:l,host:c=W.PAGE}){const u=c===W.PAGE,d=kt(u?a??"":""),p=u&&a!==null;return s.jsxs("div",{className:Dr[c],children:[s.jsxs("div",{className:"flex items-center justify-between gap-6 min-h-9",children:[s.jsxs("div",{className:"flex-1 min-w-0 flex flex-col gap-1",children:[s.jsx(At,{}),i>0&&o?s.jsxs("button",{type:"button",onClick:o,className:"flex items-center gap-1.5 text-xs text-status-error hover:underline","data-testid":"invoke-issues",children:[s.jsx(at,{className:"w-3.5 h-3.5",strokeWidth:1.5}),i," ",i===1?"issue":"issues"," to resolve"]}):r?s.jsx("p",{className:"text-xs text-status-error",role:"alert",children:r}):null,p&&s.jsx(Mr,{workflowId:a,outcome:d.outcome,executionPath:l})]}),s.jsx("div",{className:"shrink-0",children:p?s.jsx("button",{type:"button",onClick:e,className:"text-xs text-accent hover:underline","data-testid":"invoke-again",children:"Submit again"}):s.jsx("button",{type:"button",onClick:t,disabled:n,className:"btn-primary px-8 py-2","data-testid":"invoke-start",children:n?"Submitting…":"Submit"})})]}),p&&d.outcome!==S.RUNNING&&s.jsx($r,{payload:d.payload})]})}const tt="invoke-help",Wr=380,G={INSTRUCTIONS:"instructions",ISSUES:"issues"};function Ur({view:t,onViewChange:e,onClose:n,helpMarkdown:r,errors:i,schema:o}){const a=[];r&&a.push({id:G.INSTRUCTIONS,icon:Zt,label:"Instructions",content:s.jsx(z,{content:r})}),a.push({id:G.ISSUES,icon:at,label:"Issues",content:s.jsx(ae,{errors:i,schema:o})});const l=a.some(c=>c.id===t)?t:a[0].id;return s.jsx(Nn,{views:a,activeId:l,onViewChange:c=>e(c),onClose:n,stickyClassName:"h-full min-h-0",labelInline:!0})}function Gr({schema:t,context:e,errors:n,enabled:r=!0}){const i=jn(),o=r?i==null?void 0:i.setPanel:void 0,a=r?i==null?void 0:i.closePanel:void 0,l=(i==null?void 0:i.ownerKey)??null,c=(i==null?void 0:i.open)??!1,[u,d]=g.useState(null),p=g.useMemo(()=>on(t,e),[t,e]),x=g.useCallback(()=>{d(null),a==null||a(tt)},[a]);g.useEffect(()=>{!o||!u||o(s.jsx(Ur,{view:u,onViewChange:d,onClose:x,helpMarkdown:p,errors:n,schema:t}),{key:tt,width:Wr})},[o,u,p,n,t,x]),g.useEffect(()=>{u&&c&&l&&l!==tt&&d(null)},[u,c,l]);const f=g.useRef(a);return f.current=a,g.useEffect(()=>()=>{var b;(b=f.current)==null||b.call(f,tt)},[]),{helpMarkdown:p,hasInstructions:!!p,open:u!==null,showInstructions:()=>d(G.INSTRUCTIONS),showIssues:()=>d(G.ISSUES),close:x}}function qr({selected:t,schema:e,metadata:n,lookup:r,submission:i,lead:o,prefill:a,host:l=W.PAGE}){const c=l===W.MODAL,[u,d]=g.useState(()=>Ot(e,a)),[p,x]=g.useState(!1),[f,b]=g.useState([]),[m,y]=g.useState(null),[h,A]=g.useState(null);g.useEffect(()=>{d(Ot(e,a)),x(!1),b([]),y(null),A(null),i.reset()},[t.workflow_type]);const j=g.useMemo(()=>({...fe(n,r),resolver:null}),[n,r]),N=g.useMemo(()=>{try{const w=JSON.parse(u);return{...j,resolver:w,input:w}}catch{return j}},[u,j]);g.useEffect(()=>{p&&b(Ft(u,j).errors)},[u,p,j]);const v=f.length>0?f:i.violations,I=Gr({schema:e,context:N,errors:v,enabled:!c}),R=c?()=>A(G.ISSUES):I.showIssues,F=c?()=>A(w=>w===G.INSTRUCTIONS?null:G.INSTRUCTIONS):I.showInstructions;g.useEffect(()=>{i.violations.length>0&&R()},[i.violations]);const O=()=>{x(!0);const w=Ft(u,j);if(w.parseError){y(w.parseError);return}if(y(null),w.errors.length>0){b(w.errors),R();return}b([]),i.submit(w.payload,n)},k=c&&h===G.ISSUES&&v.length>0,T=c&&h===G.INSTRUCTIONS&&I.helpMarkdown;return s.jsxs("div",{"data-testid":"rich-invoke-form",children:[s.jsxs("div",{className:"space-y-6 pb-6",children:[o,T&&s.jsx("div",{className:"px-4 py-3 bg-surface-hover","data-testid":"invoke-inline-help",children:s.jsx(z,{content:I.helpMarkdown})}),s.jsx(ui,{value:u,onChange:d,submitAttempted:p,escalationContext:j,onOpenHelp:I.hasInstructions?F:void 0}),k&&s.jsx("div",{"data-testid":"invoke-inline-issues",children:s.jsx(ae,{errors:v,schema:e})})]}),s.jsx(ye,{onSubmitAgain:i.reset,onSubmit:O,pending:i.pending,error:m??i.error,issueCount:v.length,onShowIssues:R,startedId:i.startedId,executionPath:i.executionPath,host:l})]})}const Ut=`{
1
+ import{a as g,j as s}from"./vendor-query-DvWWuNIB.js";import{aj as at,ak as Yt,ac as zt,aS as Ie,aT as Kt,aB as ut,Z as Ce,ax as Oe,aU as Te,aV as Re,n as Le,q as _e,U as Se,aW as Fe,aX as Me,A as $e,aY as Pe,aZ as De,aN as We,a_ as Ue,a$ as Ge,b0 as qe,S as Je,b1 as He,b2 as Ve,aA as Be,O as Xe,H as Ye,b as ze,b3 as Ke,a as Qe,b4 as Ze,b5 as ts,b6 as es,ag as ss,an as ns,b7 as rs,b8 as is,b9 as os,ba as as,bb as ls,bc as cs,bd as ds,be as us,a3 as xs,M as ps,bf as fs,bg as ms,l as gs,bh as bs,bi as ys,a2 as hs,aM as js,bj as Ns,bk as vs,bl as ks,G as As,bm as Es,bn as ws,bo as Is,bp as Cs,bq as Os,br as Ts,r as Rs,a7 as Ls,bs as _s,ay as Ss,bt as Fs,bu as Ms,bv as $s,bw as Ps,bx as Ds,ar as Ws,by as Us,g as Gs,aD as qs,bz as Js,bA as Hs,bB as Vs,ao as Qt,$ as Bs,W as Xs,bC as Ys,a6 as Zt,X as zs}from"./vendor-icons-DUYcKTjP.js";import{a as Q,h as rt,i as pt,e as et,b as te,F as L,c as P,O as ee,d as Ks,I as Qs,R as Zs,s as tn,f as D,g as Y,j as en}from"./RosterWidget-BkLAwEYB.js";import{m as se,c as sn,a as B,g as nn,f as rn,b as on,h as an}from"./escalation-items-Cy0ZgJqV.js";import{ah as z,aq as ln,b0 as ft,$ as cn,a9 as dn,s as un,b1 as xn,m as pn,J as fn,b2 as mn,O as gn,b3 as bn,ax as yn,b4 as hn,a_ as jn,i as Nn,M as ne,aA as vn,aB as kn,aC as An,b5 as En}from"./index-Dz6R8-Dw.js";import{L as mt}from"./vendor-react-_9U4mKFr.js";import{r as gt,a as re}from"./validate-FlXCBBT6.js";import{S as wn}from"./StatusBadge-DHVwxre2.js";import{E as In}from"./constants-CeBBTzf5.js";import{V as Cn}from"./WorkflowPill-DJLcK_CM.js";const ie=g.createContext(null),vi=ie.Provider;function On(t){const e=g.useContext(ie);return e&&e.field===t?e:null}function oe({notice:t}){return t?t.error?s.jsx("p",{role:"alert",className:"text-2xs text-status-error mt-1 animate-[field-error-in_0.3s_ease-out]","data-testid":"field-scan-notice",children:t.error},t.at):s.jsx("p",{role:"status",className:"text-2xs text-status-success mt-1","data-testid":"field-scan-notice",children:t.message??"Scanned"},t.at):null}const Tn={SCHEMA_VALIDATION:"schema_validation"};function Rn(t){return typeof t=="object"&&t!==null&&t.code===Tn.SCHEMA_VALIDATION&&Array.isArray(t.violations)}function Ot(t,e={}){const n=se(e,t),r={_form_schema:t};for(const[i,o]of Object.entries(t.properties??{})){const a=o.type==="object"?{}:"";r[i]=n[i]??o.default??a}return JSON.stringify(r,null,2)}function q(t,e){const n=e==null?void 0:e.title;if(typeof n=="string"&&n.trim().length>0)return n.trim();const r=t.split(/[_-]+/).filter(Boolean);return r.length<=1?t:r.map(i=>Ln(i)?i:i.charAt(0).toUpperCase()+i.slice(1)).join(" ")}function Ln(t){return t.length>1&&t===t.toUpperCase()&&/[A-Z]/.test(t)}function ae({errors:t,schema:e}){const n=r=>{const i=document.querySelector(`[data-field-key="${r}"]`);i&&(i.scrollIntoView({behavior:"smooth",block:"center"}),i.focus({preventScroll:!0}))};return t.length===0?s.jsx("p",{className:"text-xs text-text-tertiary italic",children:"No errors to display."}):s.jsxs("div",{className:"space-y-1",role:"alert","aria-live":"polite",children:[s.jsxs("p",{className:"text-2xs font-semibold uppercase tracking-wider text-status-error mb-4",children:[t.length," ",t.length===1?"issue":"issues"," to resolve"]}),s.jsx("div",{className:"space-y-1.5",children:t.map(({field:r,message:i})=>{var o;return s.jsxs("button",{onClick:()=>n(r),className:"w-full text-left flex items-start gap-3 px-3 py-2.5 rounded hover:bg-status-error/5 transition-colors group",children:[s.jsx(at,{className:"w-3.5 h-3.5 mt-0.5 shrink-0 text-status-error/60 group-hover:text-status-error transition-colors"}),s.jsxs("div",{children:[s.jsx("p",{className:"text-2xs font-semibold text-text-primary leading-snug",children:q(r,(o=e==null?void 0:e.properties)==null?void 0:o[r])}),s.jsx("p",{className:"text-2xs text-text-tertiary group-hover:text-text-secondary transition-colors leading-snug mt-0.5",children:i})]})]},r)})}),s.jsx("p",{className:"text-2xs text-text-quaternary mt-4 px-3",children:"Click an issue to scroll to and focus the field."})]})}const _n="x-lt-scan",Sn="x-lt-scan-submit",Tt="x-lt-order",Fn="Expected {{expected}}";function X(t){const e=t==null?void 0:t[_n];if(!e||typeof e!="object"||Array.isArray(e))return null;const n=e,r=Array.isArray(n.schemes)?n.schemes.filter(o=>Number.isInteger(o)):[];if(r.length===0)return null;const i=Array.isArray(n.expect)?n.expect.filter(o=>typeof o=="string"):void 0;return{schemes:r,value:n.value==="code"?"code":"target",...i!=null&&i.length?{expect:i}:{},expectError:typeof n["expect-error"]=="string"?n["expect-error"]:Fn,multiplicity:n.multiplicity==="count"?"count":"once",...typeof n.prompt=="string"&&n.prompt.trim()?{prompt:n.prompt}:{}}}function Mn(t,e){if(t===e)return!0;const n=/^[0-9]{8,14}$/;return n.test(t)&&n.test(e)&&t.padStart(14,"0")===e.padStart(14,"0")}function le(t,e){if(!t.expect)return null;const n=[];for(const r of t.expect){const i=Q(r,e),o=Array.isArray(i)?i:[i];for(const a of o)typeof a=="string"&&a?n.push(a):typeof a=="number"&&n.push(String(a))}return n}function $n(t,e){return t.expectError.replace(/\{\{\s*expected\s*\}\}/g,[...new Set(e)].join(", ")||"nothing")}function ce(t,e,n){const r=X(e);if(!r)return;const i=le(r,n);if(i===null)return;const o=Array.isArray(t)?t:t==null||t===""?[]:[t],a=r.multiplicity==="count"?[...i]:[...new Set(i)];for(const l of o){const c=a.findIndex(u=>Mn(String(l),u));if(c===-1)return $n(r,i);a.splice(c,1)}}function Pn(t,e){const n=X(t);if(n){const i=le(n,e);if(i!==null)return n.multiplicity==="count"?i.length:new Set(i).size}const r=t==null?void 0:t.maxItems;return typeof r=="number"?r:null}function ki(t,e,n,r){const i=X(n);if(!i)return{ok:!1,error:"This field takes no scans"};const o=i.value==="code"?e.code:e.target,a=n.type==="array",l=a?[...Array.isArray(t)?t:[],o]:o,c=ce(l,n,r);if(c)return{ok:!1,error:c};const u=n.maxItems;return a&&typeof u=="number"&&l.length>u?{ok:!1,error:`At most ${u}`}:{ok:!0,value:l}}function Dn(t,e){if(e.type==="array"){const n=e.maxItems;return typeof n!="number"||!Array.isArray(t)||t.length<n}return t==null||t===""}function Ai(t,e,n,r){const i=(t==null?void 0:t.properties)??{},o=Array.isArray(t==null?void 0:t[Tt])?t[Tt]:[],l=[...o.filter(c=>c in i),...Object.keys(i).filter(c=>!o.includes(c))].filter(c=>{var u;return(u=X(i[c]))==null?void 0:u.schemes.includes(n)});return l.length===0?null:r&&l.includes(r)?r:l.find(c=>Dn(e[c],i[c]))??l[0]}function Ei(t){return(t==null?void 0:t[Sn])===!0}function wi(t,e){const n=(t==null?void 0:t.properties)??{},r=new Set((t==null?void 0:t.required)??[]),i=Object.keys(n).filter(o=>X(n[o])&&r.has(o));return i.length===0?!1:i.every(o=>{const a=e[o];if(Array.isArray(a)){const l=n[o].minItems;return a.length>=(typeof l=="number"?l:1)}return a!=null&&a!==""})}const de="x-lt-options";function Rt(t){return typeof t=="string"||typeof t=="boolean"||typeof t=="number"&&Number.isFinite(t)}function Wn(t){return Array.isArray(t)&&t.length>0&&!t.some(e=>typeof e=="string")}function Lt(t){if(Rt(t))return{value:t,label:String(t)};if(t&&typeof t=="object"&&!Array.isArray(t)){const e=t,n=e.value!==void 0?e.value:e.id;if(Rt(n)&&typeof e.label=="string"&&e.label.length>0)return{value:n,label:e.label}}return null}function bt(t,e){if(!t)return;const n=t.enum;if(Array.isArray(n)&&n.length>0)return n.map(a=>({value:a,label:String(a)}));const r=t[de];if(Wn(r)){const a=r.map(Lt).filter(l=>l!==null);return a.length>0?a:void 0}const i=(typeof r=="string"?[r]:Array.isArray(r)?r:[]).filter(a=>typeof a=="string"&&a.length>0);if(i.length===0)return;const o=i.some(rt)?[]:void 0;for(const a of i){let l=a;if(rt(a)){const d=pt(a,e);if(d===null)continue;l=d}const c=Q(l,e);if(!Array.isArray(c))continue;const u=c.map(Lt).filter(d=>d!==null);if(u.length>0)return u}return o}function yt(t,e){const n=(typeof t=="string"?[t]:Array.isArray(t)?t:[]).filter(r=>typeof r=="string"&&r.length>0);if(n.length===0||!e)return[];for(const r of n){let i=r;if(rt(r)){const a=pt(r,e);if(a===null)continue;i=a}const o=Q(i,e);if(Array.isArray(o)&&o.length>0)return o}return[]}const Un="x-lt-default-checked";function Gn(t,e,n){if((t==null?void 0:t["x-lt-widget"])!=="checklist"||t[Un]!==!0||e&&typeof e=="object"&&!Array.isArray(e)&&Object.keys(e).length>0)return null;const r=yt(t["x-lt-source"],n);return r.length===0?null:Object.fromEntries(r.map(i=>[i.id,!0]))}function qn(t,e,n){if((e==null?void 0:e["x-lt-widget"])!=="checklist"||e["x-lt-require-all"]!==!0)return;const i=yt(e["x-lt-source"],n).filter(l=>l.required!==!1);if(i.length===0)return;const o=typeof t=="object"&&t!==null&&!Array.isArray(t)?t:{},a=i.filter(l=>!o[l.id]).length;if(a!==0)return`${a} of ${i.length} checks incomplete`}const _t="Invalid JSON";function it(t){return(t==null?void 0:t["x-lt-widget"])==="json"}function ue(t){return it(t)||(t==null?void 0:t[de])!==void 0}function St(t,e){return`${t} ${e}${t===1?"":"s"}`}function ht(t,e){const n=e==null?void 0:e.type;if(typeof n=="string"&&!(t==null||t===""))switch(n){case"string":return typeof t=="string"?void 0:"Expected text";case"number":return typeof t=="number"&&Number.isFinite(t)?void 0:"Expected a number";case"integer":return typeof t=="number"&&Number.isInteger(t)?void 0:"Expected a whole number";case"boolean":return typeof t=="boolean"?void 0:"Expected true or false";case"array":return Array.isArray(t)?void 0:it(e)&&typeof t=="string"?_t:"Expected a list";case"object":return typeof t=="object"&&!Array.isArray(t)?void 0:it(e)&&typeof t=="string"?_t:"Expected an object";default:return}}function jt(t,e,n){if(!e)return;const r=bt(e,n);if(r!==void 0&&t!==void 0&&t!==null&&t!==""&&!Array.isArray(t)){if(r.length===0)return"No valid options for this selection";if(!r.some(o=>o.value===t))return`Must be one of: ${r.map(o=>String(o.value)).join(", ")}`}const i=ce(t,e,n);if(i)return i;if(Array.isArray(t))return ue(e)?Jn(t,e,r,n):void 0;if(t!==null&&typeof t=="object")return Hn(t,e,n);if(typeof t=="string"){const o=t.trim();if(o==="")return;const a=H(e.minLength,e["x-lt-min-length"],n);if(a!==void 0&&o.length<a)return`Minimum ${a} character${a===1?"":"s"}`;const l=H(e.maxLength,e["x-lt-max-length"],n);if(l!==void 0&&o.length>l)return`Maximum ${l} characters (${o.length} entered)`;const c=e.pattern;if(c)try{if(!new RegExp(c).test(o))return e["x-lt-pattern-error"]??"Invalid format"}catch{}const u=e.format;if(u==="email"&&!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(o))return"Enter a valid email address";if(u==="uri"&&!/^https?:\/\/.+/.test(o))return"Enter a valid URL"}if(typeof t=="number"){const o=H(e.minimum,e["x-lt-minimum"],n),a=H(e.exclusiveMinimum,void 0,n),l=H(e.maximum,e["x-lt-maximum"],n),c=H(e.exclusiveMaximum,void 0,n);if(o!==void 0&&t<o)return`Minimum value is ${o}`;if(a!==void 0&&t<=a)return`Must be greater than ${a}`;if(l!==void 0&&t>l)return`Maximum value is ${l}`;if(c!==void 0&&t>=c)return`Must be less than ${c}`}}function Jn(t,e,n,r){if(t.length===0)return;if(n!==void 0){if(n.length===0)return"No valid options for this selection";if(t.some(l=>!n.some(c=>c.value===l)))return`Must be one of: ${n.map(l=>String(l.value)).join(", ")}`}const i=H(e.minItems,void 0,r);if(i!==void 0&&t.length<i)return`At least ${St(i,"item")}`;const o=H(e.maxItems,void 0,r);if(o!==void 0&&t.length>o)return`At most ${St(o,"item")}`;const a=e.items;if(a&&typeof a=="object"&&!Array.isArray(a)){const l=a;for(let c=0;c<t.length;c++){const u=ht(t[c],l)??jt(t[c],l,r);if(u)return`Item ${c+1}: ${u}`}}}function Hn(t,e,n){const r=Object.entries(t);if(r.length===0)return;const i=e.propertyNames,o=Array.isArray(i==null?void 0:i.enum)?i.enum.map(String):void 0;if(o){const l=r.find(([c])=>!o.includes(c));if(l)return`Unknown key "${l[0]}". Allowed: ${o.join(", ")}`}const a=e.additionalProperties;if(a&&typeof a=="object"&&!Array.isArray(a)){const l=a;for(const[c,u]of r){const d=ht(u,l)??jt(u,l,n);if(d)return`"${c}": ${d}`}}}function H(t,e,n){if(typeof t=="number")return t;if(typeof e=="string"&&n){const r=e.indexOf(".");if(r!==-1){const i=e.slice(0,r),o=e.slice(r+1),a=n[i];if(a&&typeof a=="object"){const l=o.split(".");let c=a;for(const u of l)if(c=c[u],c===void 0)break;if(typeof c=="number")return c;if(typeof c=="string"){const u=Number(c);if(!Number.isNaN(u))return u}}}}}function xe(t,e,n,r,i){if(!r)return;if(n){if(t==null||typeof t=="boolean"&&!t&&bt(e,i)===void 0||typeof t=="string"&&t.trim()===""||Array.isArray(t)&&t.length===0&&ue(e))return"Required";if(typeof t=="object"&&!Array.isArray(t)&&t!==null){const l=Object.values(t);if(l.length===0||!it(e)&&l.every(c=>!c))return"Required"}}const o=ht(t,e);if(o)return o;const a=qn(t,e,i);return a||jt(t,e,i)}const Vn="x-lt-require-any";function Bn(t){const e=t==null?void 0:t[Vn];return Array.isArray(e)?e.filter(n=>Array.isArray(n)).map(n=>n.filter(r=>typeof r=="string"&&r.length>0)).filter(n=>n.length>0):[]}function Xn(t){return t==null?!1:typeof t=="string"?t.trim().length>0:!0}const Yn="x-lt-require-sum";function zn(t){const e=t==null?void 0:t[Yn];if(!Array.isArray(e))return[];const n=[];for(const r of e){if(!r||typeof r!="object"||Array.isArray(r))continue;const{fields:i,minimum:o}=r;if(!Array.isArray(i))continue;const a=i.filter(l=>typeof l=="string"&&l.length>0);a.length!==0&&(o!==void 0&&typeof o!="number"||n.push({fields:a,minimum:typeof o=="number"?o:1}))}return n}function Kn(t){if(typeof t=="number"&&Number.isFinite(t))return t;if(typeof t=="string"&&t.trim()!==""){const e=Number(t);if(!Number.isNaN(e))return e}return 0}function pe(t,e,n){if(!t)return[];const r=t.properties??{},i=new Set(t.required??[]),o={...n??{},resolver:e,input:e},a=[];for(const[l,c]of Object.entries(r)){if(!et(c["x-lt-showIf"],o))continue;const u=xe(e[l],c,i.has(l)&&!te(c),!0,o);u&&a.push({field:l,message:u})}for(const l of Bn(t)){const c=l.filter(d=>r[d]&&et(r[d]["x-lt-showIf"],o));if(c.length===0||c.some(d=>Xn(e[d])))continue;const u=c.map(d=>r[d].title??d);a.push({field:c[0],message:`Enter a value for at least one of: ${u.join(", ")}`})}for(const l of zn(t)){const c=l.fields.filter(p=>r[p]&&et(r[p]["x-lt-showIf"],o));if(c.length===0||c.reduce((p,x)=>p+Kn(e[x]),0)>=l.minimum)continue;const d=c.map(p=>r[p].title??p);a.push({field:c[0],message:`Combined value of ${d.join(", ")} must be at least ${l.minimum}`})}return a}function Qn(t,e,n){if(!t)return[];const r=se(e,t);return pe(t,r,n)}function Ft(t,e){let n;try{n=JSON.parse(t)}catch{return{payload:null,errors:[],parseError:"Invalid JSON"}}const r=n._form_schema;if(r){const a=pe(r,n,e);if(a.length>0)return{payload:null,errors:a,parseError:null}}const{_form_schema:i,...o}=n;return{payload:sn(o,r),errors:[],parseError:null}}const Zn=2600;function tr({hint:t,onLockedClick:e,children:n}){const[r,i]=g.useState(null);g.useEffect(()=>{if(!r)return;const a=setTimeout(()=>i(null),Zn);return()=>clearTimeout(a)},[r]);const o=a=>{if(e==null||e(),t){const l=Math.min(Math.max(a.clientX,96),window.innerWidth-96);i(c=>({x:l,y:a.clientY,n:((c==null?void 0:c.n)??0)+1}))}};return s.jsxs("div",{className:"pb-8 max-w-form",onClick:o,"data-testid":"locked-form-frame",children:[n,t&&r&&s.jsxs("div",{role:"status",className:"fixed z-[60] pointer-events-none flex items-center gap-2 px-3 py-1.5 rounded-md bg-surface-raised border border-surface-border shadow-lg text-xs font-medium text-text-primary whitespace-nowrap animate-[click-hint_2.6s_ease-in-out_both]",style:{left:r.x,top:r.y-12},onAnimationEnd:()=>i(null),"data-testid":"locked-form-hint",children:[s.jsx(Yt,{className:"w-3.5 h-3.5 text-accent shrink-0",strokeWidth:1.5}),t]},r.n)]})}function er({fieldKey:t,value:e,onChange:n,schema:r,isRequired:i}){const o=g.useRef(null),a=(r==null?void 0:r.accept)??void 0,l=q(t,r),c=r==null?void 0:r.description,u=g.useCallback(p=>{var b;const x=(b=p.target.files)==null?void 0:b[0];if(!x)return;const f=new FileReader;f.onload=()=>{typeof f.result=="string"&&n(f.result)},f.readAsDataURL(x)},[n]),d=e.startsWith("data:");return s.jsxs("div",{children:[s.jsx(L,{isRequired:i,children:l}),c&&s.jsx("p",{className:"text-2xs text-text-tertiary mt-0.5",children:c}),s.jsxs("div",{className:"mt-1",children:[s.jsx("input",{ref:o,type:"file",accept:a,onChange:u,className:"hidden"}),s.jsx("button",{type:"button",onClick:()=>{var p;return(p=o.current)==null?void 0:p.click()},className:"btn-secondary text-xs px-3 py-1.5",children:d?"Replace file":"Choose file"}),d&&s.jsx("span",{className:"ml-2 text-xs text-status-success",children:"File attached"})]})]})}function sr({fieldKey:t,value:e,onChange:n,schema:r,isRequired:i}){const o=q(t,r),a=r==null?void 0:r.description,l=(r==null?void 0:r["x-lt-language"])??"",c=g.useCallback(u=>{if(u.key==="Tab"){u.preventDefault();const d=u.currentTarget,p=d.selectionStart,x=d.selectionEnd,f=e.substring(0,p)+" "+e.substring(x);n(f),requestAnimationFrame(()=>{d.selectionStart=d.selectionEnd=p+2})}},[e,n]);return s.jsxs("div",{children:[s.jsxs(L,{isRequired:i,children:[o,l&&s.jsx("span",{className:"ml-2 text-text-tertiary/60 normal-case font-normal",children:l})]}),a&&s.jsx("p",{className:"text-2xs text-text-tertiary mt-0.5",children:a}),s.jsx("textarea",{value:e,onChange:u=>n(u.target.value),onKeyDown:c,className:"input w-full mt-1 font-mono text-xs leading-relaxed",rows:10,spellCheck:!1})]})}function nr({fieldKey:t,value:e,onChange:n,schema:r,isRequired:i}){const o=g.useRef(null),[a,l]=g.useState(!1),c=q(t,r),u=r==null?void 0:r.description;g.useEffect(()=>{const m=o.current;if(!m)return;const y=m.getContext("2d");if(y&&(y.lineWidth=2,y.lineCap="round",y.strokeStyle="#1E1535",e&&e.startsWith("data:"))){const h=new Image;h.onload=()=>y.drawImage(h,0,0),h.src=e}},[]);const d=g.useCallback(m=>{const y=o.current,h=y.getBoundingClientRect(),A=h.width>0?y.width/h.width:1,j=h.height>0?y.height/h.height:1;return"touches"in m?{x:(m.touches[0].clientX-h.left)*A,y:(m.touches[0].clientY-h.top)*j}:{x:(m.clientX-h.left)*A,y:(m.clientY-h.top)*j}},[]),p=g.useCallback(m=>{var A;l(!0);const y=(A=o.current)==null?void 0:A.getContext("2d");if(!y)return;const h=d(m);y.beginPath(),y.moveTo(h.x,h.y)},[d]),x=g.useCallback(m=>{var A;if(!a)return;const y=(A=o.current)==null?void 0:A.getContext("2d");if(!y)return;const h=d(m);y.lineTo(h.x,h.y),y.stroke()},[a,d]),f=g.useCallback(()=>{l(!1);const m=o.current;m&&n(m.toDataURL("image/png"))},[n]),b=g.useCallback(()=>{const m=o.current;if(!m)return;const y=m.getContext("2d");y&&(y.clearRect(0,0,m.width,m.height),n(""))},[n]);return s.jsxs("div",{children:[s.jsx(L,{isRequired:i,children:c}),u&&s.jsx("p",{className:"text-2xs text-text-tertiary mt-0.5",children:u}),s.jsx("div",{className:"mt-1 max-w-[25rem] border border-surface-border rounded-md overflow-hidden bg-white",children:s.jsx("canvas",{ref:o,width:400,height:150,className:"w-full cursor-crosshair touch-none",onMouseDown:p,onMouseMove:x,onMouseUp:f,onMouseLeave:f,onTouchStart:p,onTouchMove:x,onTouchEnd:f})}),s.jsx("button",{type:"button",onClick:b,className:"mt-1 text-2xs text-text-tertiary hover:text-accent transition-colors",children:"Clear"})]})}function rr({fieldKey:t,value:e,onChange:n,schema:r,isRequired:i}){const o=q(t,r),a=r==null?void 0:r.description;return s.jsxs("div",{children:[s.jsx(L,{isRequired:i,children:o}),a&&s.jsx("p",{className:"text-2xs text-text-tertiary mt-0.5",children:a}),s.jsx("textarea",{value:e,onChange:l=>n(l.target.value),className:"input w-full mt-1 text-sm leading-relaxed",rows:8,placeholder:"Supports plain text. Markdown formatting is preserved."})]})}function ir({fieldKey:t,value:e,onChange:n,schema:r,isRequired:i}){const[o,a]=g.useState("write"),l=q(t,r),c=r==null?void 0:r.description;return(r==null?void 0:r.readOnly)===!0?s.jsx(z,{content:e,className:"my-1"}):s.jsxs("div",{children:[s.jsxs("div",{className:"flex items-center justify-between",children:[s.jsx(L,{isRequired:i,children:l}),s.jsx("div",{className:"flex items-center gap-0.5",children:["write","preview"].map(d=>s.jsx("button",{type:"button",onClick:()=>a(d),className:`px-2 py-0.5 text-2xs rounded transition-colors ${o===d?"bg-accent/10 text-accent font-semibold":"text-text-quaternary hover:text-text-secondary"}`,children:d==="write"?"Write":"Preview"},d))})]}),c&&s.jsx("p",{className:"text-2xs text-text-tertiary mt-0.5",children:c}),o==="write"?s.jsx("textarea",{value:e,onChange:d=>n(d.target.value),className:"input w-full mt-1 text-sm font-mono leading-relaxed",rows:10,placeholder:"Write markdown — headings, lists, tables, code blocks, and links all render."}):s.jsx("div",{className:"mt-1 px-3 py-2 border border-surface-border rounded min-h-[120px]",children:e.trim()?s.jsx(z,{content:e}):s.jsx("p",{className:"text-xs text-text-quaternary italic",children:"Nothing to preview."})})]})}const or=28;function ar({fieldKey:t,value:e,onChange:n,schema:r,escalationContext:i,isRequired:o,submitAttempted:a,error:l}){const c=(r==null?void 0:r["x-lt-require-all"])===!0,u=yt(r==null?void 0:r["x-lt-source"],i);let d={};try{e&&(d=JSON.parse(e))}catch{}const p=(()=>{const j=Gn(r,d,i);return j?JSON.stringify(j):null})();g.useEffect(()=>{p&&n(p)},[p]);const x=j=>n(JSON.stringify({...d,[j]:!d[j]})),f=q(t,r),b=r==null?void 0:r.description;if(u.length===0)return s.jsxs(s.Fragment,{children:[s.jsx("p",{className:"text-xs text-text-tertiary italic mt-1",children:"No checklist items. None of the field's x-lt-source paths resolved on this escalation."}),l&&s.jsx("p",{className:"text-2xs text-status-error mt-1 animate-[field-error-in_0.3s_ease-out]",children:l})]});const m=r==null?void 0:r["x-lt-variant"],y=m==="chips"||m==="rows"?m:c||u.some(j=>j.label.length>or)?"rows":"chips",h=u.filter(j=>d[j.id]).length,A=(u.find(j=>!d[j.id]&&j.required!==!1)??u[0]).id;return s.jsxs("div",{role:"group","aria-label":f,"aria-required":o||void 0,"aria-invalid":l?!0:void 0,children:[s.jsx(L,{isRequired:o,children:f}),b&&s.jsx(P,{children:b}),y==="chips"?s.jsx("div",{className:"flex flex-wrap gap-2 mt-2",children:u.map(j=>{const N=d[j.id]??!1,v=!N&&!!a&&h===0&&(j.required||o);return s.jsxs("label",{className:`inline-flex items-center gap-1.5 cursor-pointer select-none px-3.5 py-2 text-sm border transition-colors rounded-[var(--lt-radius-field)] ${N?"bg-accent border-accent text-text-inverse":v?"bg-surface-field border-status-error/60 text-status-error":"bg-surface-field border-surface-field-border text-text-secondary hover:border-accent hover:text-text-primary"}`,children:[s.jsx("input",{type:"checkbox",checked:N,onChange:()=>x(j.id),className:"sr-only","data-testid":`checklist-item-${j.id}`,...j.id===A?{"data-field-key":t}:{}}),N&&s.jsx(zt,{className:"w-3.5 h-3.5 shrink-0",strokeWidth:2.5}),j.label]},j.id)})}):s.jsx("div",{className:"space-y-2.5 mt-2",children:u.map(j=>{const N=d[j.id]??!1,v=!N&&!!a&&(c?j.required!==!1:h===0&&(j.required||o));return s.jsxs("label",{className:`flex items-start gap-3 cursor-pointer group select-none rounded px-2 py-1 -mx-2 transition-colors ${v?"bg-status-error/5":"hover:bg-surface-hover"}`,children:[s.jsx("input",{type:"checkbox",checked:N,onChange:()=>x(j.id),className:`mt-0.5 w-3.5 h-3.5 shrink-0 rounded ${v?"accent-status-error":"accent-accent"}`,"data-testid":`checklist-item-${j.id}`,...j.id===A?{"data-field-key":t}:{}}),s.jsxs("span",{className:`text-sm leading-snug transition-colors ${v?"text-status-error":"text-text-secondary group-hover:text-text-primary"}`,children:[j.label,j.required&&s.jsx("span",{className:`ml-0.5 text-2xs ${v?"text-status-error":"text-text-quaternary"}`,children:"*"})]})]},j.id)})}),s.jsx("p",{className:"text-2xs text-text-quaternary mt-3 tabular-nums",children:y==="chips"?s.jsxs(s.Fragment,{children:[h," selected",o&&h===0&&!!a&&s.jsx("span",{className:"ml-1 text-text-quaternary/60",children:"(check at least one)"})]}):s.jsxs(s.Fragment,{children:[h," / ",u.length," confirmed",c?s.jsxs("span",{className:"ml-1 text-text-quaternary/60",children:["(all required",u.some(j=>j.required===!1)?" except optional":"",")"]}):o&&h===0&&!!a&&s.jsx("span",{className:"ml-1 text-text-quaternary/60",children:"(at least one required)"})]})}),l&&s.jsx("p",{role:"alert",className:"text-2xs text-status-error mt-1 animate-[field-error-in_0.3s_ease-out]",children:l})]})}const lr=/\.(png|jpe?g|gif|webp|avif|bmp|svg)(\?.*)?$/i;function cr(t){var r,i,o,a;const e=t.trim();if(!e)return{kind:"none"};const n=(i=(r=/^data:([^;,]+)[;,]/.exec(e))==null?void 0:r[1])==null?void 0:i.toLowerCase();if(n)return n.startsWith("image/")?{kind:"image",src:e}:{kind:"file",href:e,label:n==="application/pdf"?"PDF":n,isData:!0};if(/^https?:\/\//i.test(e)){if(lr.test(e))return{kind:"image",src:e};const l=(a=(o=/\.([a-z0-9]{2,5})(\?.*)?$/i.exec(e))==null?void 0:o[1])==null?void 0:a.toUpperCase();return{kind:"file",href:e,label:l??"attachment",isData:!1}}return{kind:"none"}}function Mt({fieldKey:t,value:e,schema:n}){const[r,i]=g.useState(!1),o=cr(e??""),a=t.replace(/[_-]/g," "),l=n==null?void 0:n.description,c=s.jsxs(s.Fragment,{children:[s.jsx("label",{className:"text-2xs font-semibold uppercase tracking-widest text-text-tertiary",children:a}),l&&s.jsx("p",{className:"text-2xs text-text-tertiary mt-0.5",children:l})]});return o.kind==="none"?s.jsxs("div",{children:[c,s.jsx("p",{className:"text-xs text-text-quaternary italic mt-1",children:"No attachment"})]}):o.kind==="image"?s.jsxs("div",{children:[c,s.jsxs("div",{className:"mt-1",children:[s.jsx("button",{type:"button",onClick:()=>i(!0),className:"block rounded-[0.125em] border border-surface-border overflow-hidden hover:border-accent transition-colors",title:"View full size",children:s.jsx("img",{src:o.src,alt:t.replace(/[_-]/g," "),className:"max-h-48 max-w-full object-contain","data-testid":`attachment-image-${t}`})}),r&&s.jsx("div",{className:"fixed inset-0 z-[100] bg-text-primary/60 backdrop-blur-sm flex items-center justify-center p-8 cursor-zoom-out",onClick:()=>i(!1),role:"dialog","aria-modal":"true","aria-label":`${a} — full size`,children:s.jsx("img",{src:o.src,alt:a,className:"max-h-[90vh] max-w-[90vw] object-contain"})})]})]}):s.jsxs("div",{children:[c,s.jsx("div",{className:"mt-1",children:s.jsxs("a",{href:o.href,...o.isData?{download:`${t}.${o.label==="PDF"?"pdf":"bin"}`}:{target:"_blank",rel:"noopener noreferrer"},className:"inline-flex items-center gap-1.5 text-xs text-accent hover:text-accent-hover transition-colors","data-testid":`attachment-link-${t}`,children:[s.jsx(Ie,{className:"w-3.5 h-3.5",strokeWidth:1.5}),o.isData?`Download ${o.label}`:`Open ${o.label}`,o.isData?s.jsx(Kt,{className:"w-3 h-3",strokeWidth:1.5}):s.jsx(ut,{className:"w-3 h-3",strokeWidth:1.5})]})})]})}function dr({fieldKey:t,schema:e,escalationContext:n}){const r=(e==null?void 0:e["x-lt-href"])??"",i=r&&n?B(r,n):r,o=(e==null?void 0:e.title)??(e==null?void 0:e.description)??"Open",a=e==null?void 0:e.description,l=i.startsWith("/"),c=!i.trim();return s.jsxs("div",{"data-field-key":t,children:[s.jsx(L,{children:o}),a&&s.jsx(P,{children:a}),s.jsx("div",{className:"mt-1",children:c?s.jsx("span",{className:"text-xs text-text-quaternary italic",children:"No link configured"}):l?s.jsxs(mt,{to:i,className:"inline-flex items-center gap-1 text-xs text-accent hover:text-accent-hover transition-colors","data-testid":`link-widget-${t}`,children:[o,s.jsx(ut,{className:"w-3 h-3 shrink-0",strokeWidth:1.5})]}):s.jsxs("a",{href:i,target:"_blank",rel:"noreferrer",className:"inline-flex items-center gap-1 text-xs text-accent hover:text-accent-hover transition-colors","data-testid":`link-widget-${t}`,children:[o,s.jsx(ut,{className:"w-3 h-3 shrink-0",strokeWidth:1.5})]})})]})}const $t="—";function ur(t,e){if(!t||!e)return"";const n=t.indexOf(".");if(n===-1)return"";const r=t.slice(0,n),i=t.slice(n+1);try{const o=nn(e[r],i);return typeof o=="string"?o:""}catch{return""}}function xr(t,e){if(!t||t===$t)return $t;if(e==="age"){const n=new Date(t);return Number.isNaN(n.getTime())?t:ft(t)}return t}function pr({fieldKey:t,schema:e,escalationContext:n}){const r=e==null?void 0:e["x-lt-source"],i=(e==null?void 0:e["x-lt-fields"])??[],o=(e==null?void 0:e.title)??"Linked escalation",a=e==null?void 0:e.description,l=ur(r,n),{data:c,isLoading:u,isError:d}=ln(l);return s.jsxs("div",{"data-field-key":t,children:[s.jsx(L,{children:o}),a&&s.jsx(P,{children:a}),s.jsx("div",{className:"mt-1",children:!l||d?s.jsx("p",{className:"text-xs text-text-quaternary italic","data-testid":`escalation-widget-empty-${t}`,children:"No linked record"}):u?s.jsx(mr,{}):c?s.jsx(fr,{esc:c,fields:i,fieldKey:t}):s.jsx("p",{className:"text-xs text-text-quaternary italic",children:"No linked record"})})]})}function fr({esc:t,fields:e,fieldKey:n}){if(!t)return null;const r=gt(t);return s.jsxs("div",{className:"border-l-2 border-accent-faint pl-3 py-2 space-y-2","data-testid":`escalation-widget-card-${n}`,children:[s.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[s.jsxs("span",{className:"text-2xs font-semibold uppercase tracking-wider text-text-secondary",children:[t.type,t.subtype&&t.subtype!==t.type?` · ${t.subtype}`:""]}),s.jsx(wn,{status:t.status})]}),t.description&&s.jsx("p",{className:"text-xs text-text-primary leading-snug",children:t.description}),e.length>0&&s.jsx("dl",{className:"grid grid-cols-[auto_1fr] gap-x-4 gap-y-0.5",children:e.map(i=>{const o=B(i.value,r),a=xr(o,i.format);return s.jsxs("div",{className:"contents",children:[s.jsx("dt",{className:"text-2xs text-text-tertiary whitespace-nowrap",children:i.label}),s.jsx("dd",{className:"text-2xs text-text-primary",children:a})]},i.label)})}),s.jsxs("div",{className:"flex items-center justify-between gap-2",children:[s.jsxs("span",{className:"text-2xs text-text-quaternary",children:[t.role," · ",ft(t.created_at)]}),s.jsx(ee,{to:`/escalations/detail/${t.id}`})]})]})}function mr(){return s.jsxs("div",{className:"border-l-2 border-accent-faint pl-3 py-2 space-y-2 animate-pulse",children:[s.jsx("div",{className:"h-3 w-32 bg-surface-sunken rounded"}),s.jsx("div",{className:"h-3 w-48 bg-surface-sunken rounded"}),s.jsx("div",{className:"h-3 w-24 bg-surface-sunken rounded"})]})}function gr(t,e){if(!t)return{};const n={};for(const[r,i]of Object.entries(t))n[r]=typeof i=="string"?B(i,e):i;return n}function br(t,e,n){const r=gr(t.facets,e),i={role:t.role,status:t.status??"pending",facets:r,limit:t.limit,enabled:!!(t.role||Object.keys(r).length)};return t.assigned==="me"?{...i,assigned_to:n,available:!1,enabled:i.enabled&&!!n}:t.assigned==="any"?i:{...i,available:t.available??!0}}const Pt="—";function yr(t,e){if(!t||t===Pt)return Pt;if(e==="age"){const n=new Date(t);return Number.isNaN(n.getTime())?t:ft(t)}return t}function xt(t,e){return typeof t=="string"?B(t,e):Array.isArray(t)?t.map(n=>xt(n,e)):t&&typeof t=="object"?Object.fromEntries(Object.entries(t).map(([n,r])=>[n,xt(r,e)])):t}const hr="continue",jr=[{label:"Description",value:"{{escalation.description}}"},{label:"Role",value:"{{escalation.role}}"},{label:"Age",value:"{{escalation.created_at}}",format:"age"}];function Nr({fieldKey:t,schema:e,escalationContext:n}){const r=(e==null?void 0:e["x-lt-query"])??{},i=(e==null?void 0:e["x-lt-columns"])??jr,o=((e==null?void 0:e["x-lt-actions"])??[]).filter(O=>!(Array.isArray(O.roles)&&O.roles.length>0)),a=(e==null?void 0:e.title)??"Related items",l=e==null?void 0:e.description,c=n??{},{user:u}=cn(),d=br(r,c,u==null?void 0:u.userId),{data:p,isLoading:x}=dn({role:d.role,status:d.status,facets:d.facets,assigned_to:d.assigned_to,available:d.available,limit:d.limit??5,enabled:d.enabled,include:rn({columns:i,actions:o})?"envelope":void 0}),f=(p==null?void 0:p.escalations)??[],b=un(),[m,y]=g.useState({}),[h,A]=g.useState(null),[j,N]=g.useState(null),v=Ks(),I=(O,k)=>{N(null),v(hr,()=>F(O,k))},R=(O,k)=>{k.confirm?N({id:O.id,action:k}):I(O,k)},F=async(O,k)=>{const T=gt(O);A(O.id),y(w=>({...w,[O.id]:""}));try{await b.mutateAsync({id:O.id,resolverPayload:xt(k.resolverPayload,T)})}catch(w){y(M=>({...M,[O.id]:w.message}))}finally{A(null)}};return s.jsxs("div",{"data-field-key":t,children:[s.jsx(L,{children:a}),l&&s.jsx(P,{children:l}),s.jsx("div",{className:"mt-1","data-testid":`escalation-list-widget-${t}`,children:x?s.jsx(kr,{columns:i.length}):s.jsx(vr,{escalations:f,columns:i,fieldKey:t,actions:o,onAction:R,confirming:j,onConfirm:O=>j&&I(O,j.action),onCancel:()=>N(null),pendingRow:h,rowErrors:m})})]})}function vr({escalations:t,columns:e,fieldKey:n,actions:r,onAction:i,confirming:o,onConfirm:a,onCancel:l,pendingRow:c,rowErrors:u}){return t.length===0?s.jsx("p",{className:"text-xs text-text-quaternary italic py-1","data-testid":`escalation-list-empty-${n}`,children:"No items found"}):s.jsxs("table",{className:"w-full text-xs border-collapse","data-testid":`escalation-list-table-${n}`,children:[s.jsx("thead",{children:s.jsxs("tr",{className:"border-b border-surface-border",children:[e.map(d=>s.jsx("th",{className:"text-left text-2xs font-semibold uppercase tracking-wider text-text-tertiary pb-1 pr-3 last:pr-0",children:d.label},d.label)),r.length>0&&s.jsx("th",{className:"w-px"}),s.jsx("th",{className:"w-8"})]})}),s.jsx("tbody",{children:t.map(d=>{const p=gt(d),x=u[d.id];return s.jsxs("tr",{className:"border-b border-surface-border/50 last:border-0 hover:bg-surface-sunken/50 transition-colors",children:[e.map(f=>{const b=B(f.value,p),m=yr(b,f.format);return s.jsx("td",{className:"py-1 pr-3 last:pr-0 text-text-primary align-top",children:m},f.label)}),r.length>0&&s.jsxs("td",{className:"py-1 pr-2 align-top whitespace-nowrap",children:[(o==null?void 0:o.id)===d.id?s.jsx(Qs,{message:B(o.action.confirm??"",p),onConfirm:()=>a(d),onCancel:l,testId:`escalation-list-confirm-${d.id}`}):r.map(f=>s.jsx("button",{type:"button",onClick:()=>i(d,f),disabled:c===d.id,className:"px-2 py-0.5 text-2xs font-medium text-accent border border-accent/40 rounded hover:bg-accent/10 disabled:opacity-40 disabled:cursor-default transition-colors ml-1 first:ml-0","data-testid":`escalation-list-action-${d.id}`,children:f.label},f.label)),x&&s.jsx("p",{className:"text-2xs text-status-error mt-0.5 whitespace-normal max-w-[16rem]","data-testid":`escalation-list-action-error-${d.id}`,children:x})]}),s.jsx("td",{className:"py-1 pl-2 align-top",children:s.jsx(ee,{to:`/escalations/detail/${d.id}`})})]},d.id)})})]})}function kr({columns:t}){return s.jsx("div",{className:"space-y-1.5 animate-pulse",children:[0,1,2].map(e=>s.jsx("div",{className:"flex gap-4",children:Array.from({length:t},(n,r)=>s.jsx("div",{className:"h-3 bg-surface-sunken rounded flex-1"},r))},e))})}function fe(t,e){return{metadata:t??{},...e?{lookup:e}:{}}}const Ar="x-lt-invoke",K={LINK:"link",BUTTON:"button"},Er=/^\{\{\s*([^{}]+?)\s*\}\}$/;function st(t){return!!t&&typeof t=="object"&&!Array.isArray(t)}function wr(t){return t===K.LINK||t===K.BUTTON}function Ir(t){const e=t==null?void 0:t[Ar];if(!st(e))return null;const n=e.workflow;if(typeof n!="string"||n.trim().length===0)return null;const r=e.confirm;return{workflow:n.trim(),data:st(e.data)?e.data:{},metadata:st(e.metadata)?e.metadata:{},modal:e.modal===!0,confirm:typeof r=="string"&&r.trim().length>0?r:null,variant:wr(e.variant)?e.variant:K.LINK,icon:e.icon!==!1}}function ot(t,e){if(typeof t=="string"){const n=Er.exec(t);if(n){const r=Q(n[1],e??void 0);return r===null?void 0:r}return rt(t)?pt(t,e??void 0)??void 0:t}if(Array.isArray(t))return t.map(n=>ot(n,e)).filter(n=>n!==void 0);if(st(t)){const n={};for(const[r,i]of Object.entries(t)){const o=ot(i,e);o!==void 0&&(n[r]=o)}return n}return t}function Cr(t,e){return{data:ot(t.data,e),metadata:ot(t.metadata,e)}}const Nt={ACTIVITY:"Activity",ALERT:"AlertTriangle",ARCHIVE:"Archive",AWARD:"Award",BARCODE:"Barcode",BELL:"Bell",BOT:"Bot",BOX:"Box",BOXES:"Boxes",BUILDING:"Building2",CALENDAR:"Calendar",CAMERA:"Camera",CHECKLIST:"ListChecks",CLIPBOARD:"ClipboardList",CLIPBOARD_CHECK:"ClipboardCheck",CLOCK:"Clock",COG:"Cog",CPU:"Cpu",DATABASE:"Database",DOWNLOAD:"Download",DROPLETS:"Droplets",FACTORY:"Factory",FAN:"Fan",FILE:"FileText",FLAG:"Flag",FLAME:"Flame",GAUGE:"Gauge",HAMMER:"Hammer",HEART:"Heart",IMAGE:"Image",KEY:"Key",LAYERS:"Layers",LEAF:"Leaf",LIFEBUOY:"LifeBuoy",LOCK:"Lock",MAIL:"Mail",MAP:"Map",MEGAPHONE:"Megaphone",MESSAGE:"MessageSquare",PACKAGE:"Package",PALETTE:"Palette",PEN:"PenTool",PILL:"Pill",POWER:"Power",PRINTER:"Printer",RECEIPT:"Receipt",RECYCLE:"Recycle",REFRESH:"RefreshCw",ROCKET:"Rocket",ROUTE:"Route",RULER:"Ruler",SCALE:"Scale",SCAN:"ScanBarcode",SCISSORS:"Scissors",SEARCH:"Search",SEND:"Send",SERVER:"Server",SHIELD:"ShieldCheck",SHOPPING_CART:"ShoppingCart",SNOWFLAKE:"Snowflake",SPARKLES:"Sparkles",STAR:"Star",STORE:"Store",SUN:"Sun",TAG:"Tag",TEST_TUBE:"TestTube",THERMOMETER:"Thermometer",TRASH:"Trash2",TRUCK:"Truck",UPLOAD:"Upload",USER:"User",USERS:"Users",WAND:"Wand2",WAREHOUSE:"Warehouse",WIFI:"Wifi",WRENCH:"Wrench",ZAP:"Zap"},Or=new Set(Object.values(Nt));function Tr(t){return typeof t=="string"&&Or.has(t)}const Rr={Activity:Bs,AlertTriangle:Qt,Archive:Vs,Award:Hs,Barcode:Js,Bell:qs,Bot:Gs,Box:Us,Boxes:Ws,Building2:Ds,Calendar:Ps,Camera:$s,ClipboardCheck:Ms,ClipboardList:Fs,Clock:Ss,Cog:_s,Cpu:Ls,Database:Rs,Download:Kt,Droplets:Ts,Factory:Os,Fan:Cs,FileText:Is,Flag:ws,Flame:Es,Gauge:As,Hammer:ks,Heart:vs,Image:Ns,Key:js,Layers:hs,Leaf:ys,LifeBuoy:bs,ListChecks:gs,Lock:Yt,Mail:ms,Map:fs,Megaphone:ps,MessageSquare:xs,Package:us,Palette:ds,PenTool:cs,Pill:ls,Power:as,Printer:os,Receipt:is,Recycle:rs,RefreshCw:ns,Rocket:ss,Route:es,Ruler:ts,Scale:Ze,ScanBarcode:Qe,Scissors:Ke,Search:ze,Send:Ye,Server:Xe,ShieldCheck:Be,ShoppingCart:Ve,Snowflake:He,Sparkles:Je,Star:qe,Store:Ge,Sun:Ue,Tag:We,TestTube:De,Thermometer:Pe,Trash2:$e,Truck:Me,Upload:Fe,User:Se,Users:_e,Wand2:Le,Warehouse:Re,Wifi:Te,Wrench:Oe,Zap:Ce},Dt=Object.values(Nt),Lr=Object.fromEntries(Object.entries(Nt).map(([t,e])=>[e,t]));function _r(t){return Tr(t)?Rr[t]:null}function Ii(t){const e=t.trim().toLowerCase().replace(/[\s_-]+/g,"");return e?Dt.filter(n=>n.toLowerCase().includes(e)||Lr[n].toLowerCase().replace(/_/g,"").includes(e)):[...Dt]}function vt({icon:t,tier:e,className:n,strokeWidth:r=1.5}){const i=_r(t)??Cn[e]??Xs;return s.jsx(i,{className:n,strokeWidth:r,"aria-hidden":!0})}function Sr(t){return`${t.domain}/${t.key} ${t.current||t.version===null?"(current)":`v${t.version}`}`}const S={RUNNING:"running",COMPLETED:"completed",FAILED:"failed"};function Wt(t,e){return`lt.events.system.workflow.${t}.${e}`}function kt(t){const[e,n]=g.useState(S.RUNNING),[r,i]=g.useState(void 0);return g.useEffect(()=>{n(S.RUNNING),i(void 0)},[t]),xn(t?[Wt(t,"completed"),Wt(t,"failed")]:[],o=>{if(o.workflowId!==t)return;const a=o.type.endsWith(".failed");n(a?S.FAILED:S.COMPLETED),i(o.data),o.data===void 0&&pn(`/workflows/${encodeURIComponent(t)}/result`).then(l=>{var c;return i(a?l.error?{error:l.error}:void 0:(c=l.result)==null?void 0:c.data)}).catch(()=>{})}),{outcome:e,payload:r}}const Fr={[S.RUNNING]:"Working…",[S.COMPLETED]:"Completed",[S.FAILED]:"Failed"};function me({outcome:t,className:e=""}){const n=t===S.FAILED?"text-status-error":t===S.COMPLETED?"text-status-success":"text-text-secondary";return s.jsxs("p",{className:`flex items-center gap-1.5 text-xs ${n} ${e}`,role:"status","data-testid":"run-outcome",children:[Fr[t],t===S.RUNNING&&s.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-accent animate-pulse","aria-hidden":!0})]})}function ge({payload:t}){return!t||Object.keys(t).length===0?null:s.jsx("div",{className:"max-h-72 overflow-y-auto px-3 py-2 bg-surface-sunken","data-testid":"run-outline",children:s.jsx(mn,{data:t})})}function Mr({workflowId:t,outcome:e,executionPath:n}){const r=e===S.FAILED?"text-status-error":"text-status-success",i=e===S.RUNNING?"Started":e===S.COMPLETED?"Completed":"Failed";return s.jsxs("p",{className:"flex items-center gap-1.5 text-xs min-w-0",role:"status","data-testid":"started-run",children:[s.jsx("span",{className:r,children:i}),e===S.RUNNING&&s.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-accent animate-pulse","aria-hidden":!0}),s.jsx("span",{className:"text-text-quaternary",children:"·"}),s.jsx("span",{className:"font-mono text-text-secondary truncate",children:t}),n&&s.jsxs(s.Fragment,{children:[s.jsx("span",{className:"text-text-quaternary",children:"·"}),s.jsx(mt,{to:n,className:"text-accent hover:underline shrink-0",children:"View workflow →"})]})]})}function $r({payload:t}){return!t||Object.keys(t).length===0?null:s.jsx("div",{className:"mt-3 h-48 overflow-y-auto rounded-md border border-surface-border bg-surface-raised px-3 py-2","data-testid":"started-run-result",children:s.jsx(fn,{data:t,label:"Result"})})}const Pr="/workflows/executions",W={PAGE:"page",MODAL:"modal"};function be(t,e){const{realIsBuilder:n}=gn(),r=bn(),[i,o]=g.useState(null),[a,l]=g.useState([]),[c,u]=g.useState(null),d=g.useCallback(()=>{o(null),l([]),u(null),r.reset()},[r]);return{submit:g.useCallback(async(x,f)=>{o(null),l([]),u(null);const b={...f};e.certified&&(b.certified=!0);try{const m=await r.mutateAsync({workflowType:t.workflow_type,data:x,metadata:b,...e.overrideBot?{execute_as:e.overrideBot}:{}});u(m.workflowId)}catch(m){m instanceof yn&&Rn(m.body)?(l(m.body.violations),o(m.body.error)):o(m instanceof Error?m.message:"Invocation failed")}},[r,e.certified,e.overrideBot,t.workflow_type]),reset:d,pending:r.isPending,error:i,violations:a,startedId:c,executionPath:c&&n?`${Pr}/${encodeURIComponent(c)}`:null}}function At(){const{connected:t}=hn();return t?null:s.jsxs("p",{className:"flex items-center gap-1.5 text-2xs text-status-warning","data-testid":"events-warning",children:[s.jsx(Ys,{className:"w-3 h-3 shrink-0",strokeWidth:1.5}),"Live events are off, so the result will not appear here.",s.jsx("button",{type:"button",onClick:()=>window.location.reload(),className:"text-accent hover:underline",children:"Reconnect events"})]})}const Dr={[W.PAGE]:"sticky bottom-0 z-10 bg-surface border-t border-surface-border/40 pt-3 pb-16 -mb-16",[W.MODAL]:"border-t border-surface-border/40 pt-3"};function ye({onSubmit:t,onSubmitAgain:e,pending:n,error:r,issueCount:i=0,onShowIssues:o,startedId:a,executionPath:l,host:c=W.PAGE}){const u=c===W.PAGE,d=kt(u?a??"":""),p=u&&a!==null;return s.jsxs("div",{className:Dr[c],children:[s.jsxs("div",{className:"flex items-center justify-between gap-6 min-h-9",children:[s.jsxs("div",{className:"flex-1 min-w-0 flex flex-col gap-1",children:[s.jsx(At,{}),i>0&&o?s.jsxs("button",{type:"button",onClick:o,className:"flex items-center gap-1.5 text-xs text-status-error hover:underline","data-testid":"invoke-issues",children:[s.jsx(at,{className:"w-3.5 h-3.5",strokeWidth:1.5}),i," ",i===1?"issue":"issues"," to resolve"]}):r?s.jsx("p",{className:"text-xs text-status-error",role:"alert",children:r}):null,p&&s.jsx(Mr,{workflowId:a,outcome:d.outcome,executionPath:l})]}),s.jsx("div",{className:"shrink-0",children:p?s.jsx("button",{type:"button",onClick:e,className:"text-xs text-accent hover:underline","data-testid":"invoke-again",children:"Submit again"}):s.jsx("button",{type:"button",onClick:t,disabled:n,className:"btn-primary px-8 py-2","data-testid":"invoke-start",children:n?"Submitting…":"Submit"})})]}),p&&d.outcome!==S.RUNNING&&s.jsx($r,{payload:d.payload})]})}const tt="invoke-help",Wr=380,G={INSTRUCTIONS:"instructions",ISSUES:"issues"};function Ur({view:t,onViewChange:e,onClose:n,helpMarkdown:r,errors:i,schema:o}){const a=[];r&&a.push({id:G.INSTRUCTIONS,icon:Zt,label:"Instructions",content:s.jsx(z,{content:r})}),a.push({id:G.ISSUES,icon:at,label:"Issues",content:s.jsx(ae,{errors:i,schema:o})});const l=a.some(c=>c.id===t)?t:a[0].id;return s.jsx(Nn,{views:a,activeId:l,onViewChange:c=>e(c),onClose:n,stickyClassName:"h-full min-h-0",labelInline:!0})}function Gr({schema:t,context:e,errors:n,enabled:r=!0}){const i=jn(),o=r?i==null?void 0:i.setPanel:void 0,a=r?i==null?void 0:i.closePanel:void 0,l=(i==null?void 0:i.ownerKey)??null,c=(i==null?void 0:i.open)??!1,[u,d]=g.useState(null),p=g.useMemo(()=>on(t,e),[t,e]),x=g.useCallback(()=>{d(null),a==null||a(tt)},[a]);g.useEffect(()=>{!o||!u||o(s.jsx(Ur,{view:u,onViewChange:d,onClose:x,helpMarkdown:p,errors:n,schema:t}),{key:tt,width:Wr})},[o,u,p,n,t,x]),g.useEffect(()=>{u&&c&&l&&l!==tt&&d(null)},[u,c,l]);const f=g.useRef(a);return f.current=a,g.useEffect(()=>()=>{var b;(b=f.current)==null||b.call(f,tt)},[]),{helpMarkdown:p,hasInstructions:!!p,open:u!==null,showInstructions:()=>d(G.INSTRUCTIONS),showIssues:()=>d(G.ISSUES),close:x}}function qr({selected:t,schema:e,metadata:n,lookup:r,submission:i,lead:o,prefill:a,host:l=W.PAGE}){const c=l===W.MODAL,[u,d]=g.useState(()=>Ot(e,a)),[p,x]=g.useState(!1),[f,b]=g.useState([]),[m,y]=g.useState(null),[h,A]=g.useState(null);g.useEffect(()=>{d(Ot(e,a)),x(!1),b([]),y(null),A(null),i.reset()},[t.workflow_type]);const j=g.useMemo(()=>({...fe(n,r),resolver:null}),[n,r]),N=g.useMemo(()=>{try{const w=JSON.parse(u);return{...j,resolver:w,input:w}}catch{return j}},[u,j]);g.useEffect(()=>{p&&b(Ft(u,j).errors)},[u,p,j]);const v=f.length>0?f:i.violations,I=Gr({schema:e,context:N,errors:v,enabled:!c}),R=c?()=>A(G.ISSUES):I.showIssues,F=c?()=>A(w=>w===G.INSTRUCTIONS?null:G.INSTRUCTIONS):I.showInstructions;g.useEffect(()=>{i.violations.length>0&&R()},[i.violations]);const O=()=>{x(!0);const w=Ft(u,j);if(w.parseError){y(w.parseError);return}if(y(null),w.errors.length>0){b(w.errors),R();return}b([]),i.submit(w.payload,n)},k=c&&h===G.ISSUES&&v.length>0,T=c&&h===G.INSTRUCTIONS&&I.helpMarkdown;return s.jsxs("div",{"data-testid":"rich-invoke-form",children:[s.jsxs("div",{className:"space-y-6 pb-6",children:[o,T&&s.jsx("div",{className:"px-4 py-3 bg-surface-hover","data-testid":"invoke-inline-help",children:s.jsx(z,{content:I.helpMarkdown})}),s.jsx(ui,{value:u,onChange:d,submitAttempted:p,escalationContext:j,onOpenHelp:I.hasInstructions?F:void 0}),k&&s.jsx("div",{"data-testid":"invoke-inline-issues",children:s.jsx(ae,{errors:v,schema:e})})]}),s.jsx(ye,{onSubmitAgain:i.reset,onSubmit:O,pending:i.pending,error:m??i.error,issueCount:v.length,onShowIssues:R,startedId:i.startedId,executionPath:i.executionPath,host:l})]})}const Ut=`{
2
2
  "data": {},
3
3
  "metadata": {}
4
4
  }`;function Jr(t){return typeof t=="boolean"?"boolean":typeof t=="number"?"number":Array.isArray(t)?"array":t!==null&&typeof t=="object"?"object":"string"}function Gt(t){if(!t)return[];const e=t.data;return!e||typeof e!="object"?[]:Object.entries(e).map(([n,r])=>({key:n,type:Jr(r),defaultValue:r}))}function ct(t){return{...t}}function qt(t,e){return JSON.stringify({data:t,metadata:e},null,2)}function Hr({selectedConfig:t,isJsonMode:e,hasFormView:n,jsonInput:r,formFields:i,dataFields:o,onJsonChange:a,onToggleMode:l,onUpdateFormField:c,onSetFormFields:u}){return s.jsxs("div",{children:[s.jsxs("div",{className:"flex items-baseline justify-between mb-2",children:[s.jsx("label",{className:"block text-xs text-text-secondary",children:"Envelope"}),s.jsxs("div",{className:"flex items-center gap-3",children:[n&&s.jsx("button",{type:"button",onClick:l,className:"text-2xs text-accent hover:underline",children:e?"Form view":"JSON view"}),t.envelope_schema?s.jsx("span",{className:"text-2xs text-accent",children:"Pre-filled from workflow config"}):s.jsx("span",{className:"text-2xs text-status-warning",children:"No template"})]})]}),!t.envelope_schema&&s.jsx("div",{className:"bg-surface-sunken border border-surface-border rounded px-4 py-3 mb-3",children:s.jsxs("p",{className:"text-xs text-text-secondary leading-relaxed",children:["This workflow has no input template. Edit the JSON directly below, or ",s.jsx(mt,{to:"/workflows/registry/new",className:"text-status-success hover:underline",children:"register it"})," in the Workflow Registry with an envelope schema for pre-filled fields and form-based input."]})}),e||!n?s.jsx("textarea",{value:r,onChange:d=>a(d.target.value),className:"input-json",rows:12,spellCheck:!1}):s.jsx("div",{className:"space-y-3",children:o.map(({key:d,type:p})=>{var m,y;const x=i[d],f=typeof x=="string"?x:JSON.stringify(x??(p==="array"?[]:{}),null,2),b=Math.min(20,Math.max(4,((y=(m=f==null?void 0:f.split)==null?void 0:m.call(f,`
5
5
  `))==null?void 0:y.length)??4));return s.jsxs("div",{children:[s.jsxs("label",{className:"block text-2xs font-semibold uppercase tracking-widest text-text-tertiary mb-1",children:[d,s.jsx("span",{className:"ml-2 font-normal normal-case",children:p})]}),p==="boolean"?s.jsxs("select",{value:String(x??!1),onChange:h=>c(d,h.target.value,p),className:"select text-xs w-full",children:[s.jsx("option",{value:"true",children:"true"}),s.jsx("option",{value:"false",children:"false"})]}):p==="object"||p==="array"?s.jsx("textarea",{value:f,onChange:h=>{try{c(d,JSON.parse(h.target.value),p)}catch{u({...i,[d]:h.target.value})}},className:"input-json w-full",rows:b,spellCheck:!1}):s.jsx("input",{type:p==="number"?"number":"text",value:String(x??""),onChange:h=>c(d,h.target.value,p),className:"input text-xs w-full"})]},d)})}),s.jsxs("p",{className:"text-2xs text-text-tertiary mt-1.5",children:["The envelope wraps your workflow input. ",s.jsx("code",{className:"text-accent/80",children:"data"})," holds workflow-specific fields; ",s.jsx("code",{className:"text-accent/80",children:"metadata"})," is optional context."]})]})}const Jt="lt:invoke:prefill";function Vr({selected:t,metadata:e,submission:n,lead:r,prefill:i,host:o=W.PAGE}){const[a,l]=g.useState(Ut),[c,u]=g.useState(""),[d,p]=g.useState({}),[x,f]=g.useState(!1),b=g.useMemo(()=>{const N=t.envelope_schema??null;if(!i||Object.keys(i).length===0)return N;const v=N==null?void 0:N.data,I={...v&&typeof v=="object"?v:{},...i};return{...N??{},data:I}},[t.envelope_schema,i]),m=g.useMemo(()=>Gt(b),[b]),y=m.length>0;g.useEffect(()=>{u(""),n.reset();const N=o===W.PAGE?sessionStorage.getItem(Jt):null;if(N){sessionStorage.removeItem(Jt),l(N);try{const I=JSON.parse(N),R=(I==null?void 0:I.data)??I;R&&typeof R=="object"&&p(ct(R))}catch{}f(!0);return}l(b?JSON.stringify(b,null,2):Ut);const v=b==null?void 0:b.data;p(v&&typeof v=="object"?ct(v):{}),f(!Gt(b).length)},[t.workflow_type]);const h=()=>{if(x)try{const N=JSON.parse(a);N.data&&typeof N.data=="object"&&p(ct(N.data))}catch{}else l(qt(d,e));f(!x)},A=(N,v,I)=>{let R=v;I==="number"?R=v===""?0:Number(v):I==="boolean"&&(R=v==="true"||v===!0);const F={...d,[N]:R};p(F),l(qt(F,e))},j=()=>{u("");let N;try{N=JSON.parse(a)}catch{u("Invalid JSON");return}const{data:v,metadata:I}=N;if(!v||typeof v!="object"){u('Envelope must include a "data" object');return}n.submit(v,I??{})};return s.jsxs("div",{children:[s.jsxs("div",{className:"space-y-6 pb-6",children:[r,s.jsx(Hr,{selectedConfig:t,isJsonMode:x,hasFormView:y,jsonInput:a,formFields:d,dataFields:m,onJsonChange:N=>{l(N),u("")},onToggleMode:h,onUpdateFormField:A,onSetFormFields:p})]}),s.jsx(ye,{onSubmitAgain:n.reset,onSubmit:j,pending:n.pending,error:c||n.error,startedId:n.startedId,executionPath:n.executionPath,host:o})]})}function Br({workflow:t,workflowId:e,onDone:n,onRetry:r}){var c;const i=kt(e),o=i.outcome===S.FAILED,a=i.outcome===S.RUNNING,l=o&&typeof((c=i.payload)==null?void 0:c.error)=="string"?i.payload.error:null;return s.jsxs("div",{className:"flex flex-col gap-4","data-testid":"run-receipt","data-outcome":i.outcome,children:[s.jsxs("div",{className:"flex items-center gap-3",children:[s.jsx(vt,{icon:t.icon,tier:t.tier,className:"w-6 h-6 shrink-0 text-accent"}),s.jsx(me,{outcome:i.outcome,className:"text-sm"})]}),a&&s.jsx(At,{}),l&&s.jsx("p",{className:"text-xs text-status-error",role:"alert",children:l}),!a&&s.jsx(ge,{payload:l?void 0:i.payload}),s.jsxs("div",{className:"flex justify-end gap-2 pt-2 border-t border-surface-border/40",children:[o&&s.jsx("button",{type:"button",onClick:r,className:"btn-secondary text-xs","data-testid":"run-retry",children:"Try again"}),s.jsx("button",{type:"button",onClick:n,className:"btn-primary text-xs px-6","data-testid":"run-done",children:a||o?"Close":"Done"})]})]})}function he(t,e){var r;const n=(r=t.envelope_schema)==null?void 0:r.metadata;return{...n&&typeof n=="object"?n:{},...e}}function Xr({workflow:t,prefill:e,onClose:n}){const r=g.useMemo(()=>he(t,e.metadata),[t,e.metadata]),i=Array.isArray(t.input_lookups)&&t.input_lookups.length>0,{data:o}=vn(t.workflow_type,i),a=g.useMemo(()=>o?kn(o.lookups):void 0,[o]),l=(o==null?void 0:o.lookups.filter(p=>p.missing))??[],c=be(t,{certified:t.certified,overrideBot:""}),u=t.description?s.jsx(z,{content:t.description,className:"text-xs text-text-secondary leading-relaxed"}):void 0,d=c.startedId!==null;return s.jsxs("div",{"data-testid":"invoke-modal",children:[d&&s.jsx(Br,{workflow:t,workflowId:c.startedId,onDone:n,onRetry:c.reset}),s.jsxs("div",{hidden:d,children:[l.length>0&&s.jsxs("p",{className:"flex items-center gap-1.5 text-2xs text-status-warning mb-4","data-testid":"lookup-missing",children:[s.jsx(Qt,{className:"w-3 h-3 shrink-0",strokeWidth:1.5}),l.map(Sr).join(", ")," ",l.length===1?"is":"are"," not available; the fields that read ",l.length===1?"it":"them"," fall back to plain inputs."]}),t.input_schema?s.jsx(qr,{selected:t,schema:t.input_schema,metadata:r,lookup:a,submission:c,lead:u,prefill:e.data,host:W.MODAL}):s.jsx(Vr,{selected:t,metadata:r,submission:c,lead:u,prefill:e.data,host:W.MODAL})]})]})}function Yr({open:t,onClose:e,workflow:n,prefill:r}){const i=s.jsxs("span",{className:"flex items-center gap-2 min-w-0",children:[s.jsx(vt,{icon:n.icon,tier:n.tier,className:"w-4 h-4 shrink-0 text-accent"}),s.jsx("span",{className:"truncate",title:n.workflow_type,children:re(n.workflow_type)})]});return s.jsx(ne,{open:t,onClose:e,title:i,maxWidth:"max-w-2xl",closeOnBackdrop:!1,children:s.jsx(Xr,{workflow:n,prefill:r,onClose:e})})}const zr={[K.LINK]:"inline-flex items-center gap-1.5 text-xs text-accent hover:text-accent-hover transition-colors",[K.BUTTON]:"btn-secondary inline-flex items-center gap-1.5 text-xs px-3 py-1.5"};function Kr({fieldKey:t,schema:e,escalationContext:n}){var u;const r=g.useMemo(()=>Ir(e),[e]),{data:i,isPending:o}=An(),a=i==null?void 0:i.find(d=>d.workflow_type===(r==null?void 0:r.workflow)),l=(u=n==null?void 0:n.escalation)==null?void 0:u.status,c=l!==void 0&&l!==In.PENDING;return!r||c?null:o?s.jsx("div",{className:"h-4 w-32 rounded bg-surface-hover animate-pulse","data-testid":`invoke-widget-${t}-loading`}):a?s.jsx(Qr,{fieldKey:t,schema:e,config:r,workflow:a,escalationContext:n}):null}function Qr({fieldKey:t,schema:e,config:n,workflow:r,escalationContext:i}){var k;const o=i,a=g.useMemo(()=>Cr(n,o),[n,o]),l=g.useMemo(()=>he(r,a.metadata),[r,a.metadata]),c=be(r,{certified:r.certified,overrideBot:""}),u=kt(c.startedId??""),[d,p]=g.useState([]),[x,f]=g.useState(!1),[b,m]=g.useState(!1),y=(e==null?void 0:e.title)??re(r.workflow_type),h=e==null?void 0:e.description,A=n.icon?s.jsx(vt,{icon:r.icon,tier:r.tier,className:"w-3.5 h-3.5 shrink-0"}):null,j=()=>{f(!1),c.submit(a.data,l)},N=()=>{if(n.modal){m(!0);return}if(p([]),r.input_schema){const T=Qn(r.input_schema,a.data,fe(l));if(T.length>0){p(T);return}}n.confirm?f(!0):j()},v=()=>{p([]),c.reset(),m(!0)},I=d.length>0?d:c.violations,R=c.startedId!==null,F=R&&u.outcome===S.RUNNING,O=R&&u.outcome===S.FAILED&&typeof((k=u.payload)==null?void 0:k.error)=="string"?u.payload.error:null;return s.jsxs("div",{"data-field-key":t,"data-testid":`invoke-widget-${t}`,children:[s.jsx(L,{children:y}),h&&s.jsx(P,{children:h}),s.jsxs("div",{className:"mt-1 flex flex-col gap-1.5",children:[R&&s.jsxs(s.Fragment,{children:[s.jsx(me,{outcome:u.outcome}),F&&s.jsx(At,{}),O&&s.jsx("p",{className:"text-2xs text-status-error",role:"alert",children:O}),!F&&s.jsx(ge,{payload:O?void 0:u.payload})]}),!F&&s.jsxs("button",{type:"button",onClick:N,disabled:c.pending,className:`self-start ${zr[n.variant]}`,"data-testid":`invoke-control-${t}`,children:[A,c.pending?"Starting…":y]}),I.length>0&&s.jsxs("div",{className:"text-2xs",role:"alert","data-testid":`invoke-issues-${t}`,children:[s.jsx("ul",{className:"space-y-0.5 text-status-error",children:I.map(T=>s.jsxs("li",{className:"flex items-start gap-1.5",children:[s.jsx(at,{className:"w-3 h-3 mt-px shrink-0",strokeWidth:1.5}),s.jsxs("span",{children:[s.jsx("span",{className:"font-semibold",children:T.field})," · ",T.message]})]},T.field))}),s.jsx("button",{type:"button",onClick:v,className:"mt-1 text-accent hover:underline","data-testid":`invoke-open-form-${t}`,children:"Open form"})]}),I.length===0&&c.error&&s.jsx("p",{className:"text-2xs text-status-error",role:"alert",children:c.error})]}),n.confirm&&s.jsxs(ne,{open:x,onClose:()=>f(!1),title:y,children:[s.jsx("p",{className:"text-sm text-text-secondary mb-5",children:B(n.confirm,i??{})}),s.jsxs("div",{className:"flex justify-end gap-2",children:[s.jsx("button",{type:"button",onClick:()=>f(!1),className:"btn-secondary text-xs",children:"Cancel"}),s.jsx("button",{type:"button",onClick:j,className:"btn-primary text-xs","data-testid":`invoke-confirm-${t}`,children:y})]})]}),s.jsx(Yr,{open:b,onClose:()=>m(!1),workflow:r,prefill:a})]})}const nt={"file-upload":er,"code-editor":sr,signature:nr,"rich-text":rr,markdown:ir,checklist:ar,attachment:Mt,image:Mt,link:dr,escalation:pr,"escalation-list":Nr,invoke:Kr,roster:Zs},je="textarea",Ne="json";function Zr(t){return t in nt||t===je||t===Ne}function Ht(t,e=""){if(!t||typeof t!="object"||Array.isArray(t))return[];const n=t,r=[],i=n["x-lt-widget"];typeof i=="string"&&e&&!Zr(i)&&r.push({path:e,widget:i});const o=n.properties;if(o&&typeof o=="object"&&!Array.isArray(o))for(const[a,l]of Object.entries(o))r.push(...Ht(l,e?`${e}.${a}`:a));return n.items&&r.push(...Ht(n.items,e)),r}const ti=new Set(["string","number","integer","boolean","array","object"]);function ei(t,e){const n=t==null?void 0:t.type;if(typeof n=="string"&&ti.has(n))return n;if(e==null)return"null";if(Array.isArray(e))return"array";const r=typeof e;return r==="number"||r==="boolean"||r==="string"?r:"object"}const dt="dictionary",si=new Set(["markdown","attachment","image"]);function ve(t,e){if(!e)return;const n=t==null?void 0:t["x-lt-section-options"],r=n==null?void 0:n[e];return r&&typeof r=="object"?r:void 0}function ni(t,e,n){var l,c;const r=(l=t==null?void 0:t.properties)==null?void 0:l[n];if((r==null?void 0:r.readOnly)!==!0)return!1;const i=r==null?void 0:r["x-lt-widget"];if(typeof i=="string"&&(si.has(i)||an(i)))return!1;const o=r==null?void 0:r["x-lt-display"];if(typeof o=="string")return o===dt;const a=(c=ve(t,e))==null?void 0:c.display;return typeof a=="string"?a===dt:(t==null?void 0:t["x-lt-display"])===dt}function ri(t,e,n,r){var o;const i=[];for(const a of t){const[l]=a,c=i[i.length-1];if(ni(e,n,l)){(c==null?void 0:c.kind)==="dictionary"?c.entries.push(a):i.push({kind:"dictionary",entries:[a]});continue}const u=(o=e==null?void 0:e.properties)==null?void 0:o[l],d=u==null?void 0:u["x-lt-column-group"];if(r==="two-column"&&typeof d=="string"&&d.trim()){(c==null?void 0:c.kind)==="column-group"&&c.name===d?c.entries.push(a):i.push({kind:"column-group",name:d,entries:[a]});continue}i.push({kind:"field",entry:a})}return i}function ii({value:t,options:e,nullable:n,fieldKey:r,label:i,helperText:o,isRequired:a,error:l,onBlur:c,ids:u,ariaProps:d,onChange:p}){const x=t==null||t===""?"":String(t),f=e.some(b=>String(b.value)===x);return s.jsxs("div",{children:[s.jsx(L,{isRequired:a,htmlFor:u.field,children:i}),o&&s.jsx(P,{id:u.help,children:o}),s.jsxs("select",{value:f?x:"",disabled:e.length===0,onChange:b=>{const m=e.find(y=>String(y.value)===b.target.value);p(m?m.value:null),c==null||c()},onBlur:c,"data-field-key":r,className:tn(!!l),...d,children:[(!f||n)&&s.jsx("option",{value:"",disabled:!n,children:"Choose…"}),e.map(b=>s.jsx("option",{value:String(b.value),children:b.label},String(b.value)))]}),s.jsx(D,{error:l,id:u.error})]})}function oi({value:t,options:e,fieldKey:n,label:r,helperText:i,isRequired:o,error:a,onBlur:l,ids:c,ariaProps:u,onChange:d}){const p=new Set(Array.isArray(t)?t:[]),x=f=>{const b=new Set(p);b.has(f)?b.delete(f):b.add(f),d(e.filter(m=>b.has(m.value)).map(m=>m.value)),l==null||l()};return s.jsxs("div",{role:"group","aria-label":r,"aria-required":o||void 0,"aria-invalid":a?!0:void 0,"aria-describedby":u["aria-describedby"],children:[s.jsx(L,{isRequired:o,children:r}),i&&s.jsx(P,{id:c.help,children:i}),e.length===0?s.jsx("p",{className:"text-xs text-text-tertiary italic mt-1",children:"No options yet"}):s.jsx("div",{className:"flex flex-wrap gap-2 mt-2",children:e.map((f,b)=>{const m=p.has(f.value);return s.jsxs("label",{className:`inline-flex items-center gap-1.5 cursor-pointer select-none px-3.5 py-2 text-sm border transition-colors rounded-[var(--lt-radius-field)] ${m?"bg-accent border-accent text-text-inverse":a?"bg-surface-field border-status-error/60 text-status-error":"bg-surface-field border-surface-field-border text-text-secondary hover:border-accent hover:text-text-primary"}`,children:[s.jsx("input",{type:"checkbox",checked:m,onChange:()=>x(f.value),className:"sr-only","data-testid":`multi-select-${n}-${String(f.value)}`,...b===0?{"data-field-key":n,id:c.field}:{}}),m&&s.jsx(zt,{className:"w-3.5 h-3.5 shrink-0",strokeWidth:2.5}),f.label]},String(f.value))})}),s.jsx(D,{error:a,id:c.error})]})}function Vt(t){return typeof t=="string"?t:t==null?"":JSON.stringify(t,null,2)}function Bt(t){try{return{ok:!0,value:JSON.parse(t)}}catch{return{ok:!1}}}function ai({value:t,fieldKey:e,label:n,helperText:r,isRequired:i,error:o,onBlur:a,ids:l,ariaProps:c,onChange:u}){const[d,p]=g.useState(()=>Vt(t));g.useEffect(()=>{if(typeof t=="string"){t!==d&&p(t);return}const f=Bt(d);!(f.ok&&JSON.stringify(f.value)===JSON.stringify(t??null))&&!(d.trim()===""&&t===null)&&p(Vt(t))},[t]);const x=d.split(`
6
6
  `).length;return s.jsxs("div",{children:[s.jsx(L,{isRequired:i,htmlFor:l.field,children:n}),r&&s.jsx(P,{id:l.help,children:r}),s.jsx("textarea",{value:d,onChange:f=>{const b=f.target.value;if(p(b),b.trim()===""){u(null);return}const m=Bt(b);u(m.ok?m.value:b)},onBlur:a,spellCheck:!1,"data-field-key":e,rows:Math.min(14,Math.max(4,x)),className:`${Y(!!o)} font-mono text-xs leading-relaxed`,...c}),s.jsx(D,{error:o,id:l.error})]})}function li({fieldKey:t,label:e,values:n,fieldSchema:r,helperText:i,isRequired:o,error:a,ids:l,notice:c,context:u,onChange:d}){const p=X(r),x=p?Pn(r,u):null,f=(p==null?void 0:p.prompt)??i,b=m=>d(n.filter((y,h)=>h!==m));return s.jsxs("div",{"data-field-key":t,tabIndex:p?-1:void 0,className:"outline-none",children:[s.jsxs("div",{className:"flex items-baseline justify-between gap-3",children:[s.jsx(L,{isRequired:o,children:e}),x!==null&&s.jsxs("span",{className:"text-2xs tabular-nums text-text-tertiary","data-testid":"list-field-count",children:[n.length," of ",x]})]}),i&&(n.length>0||!p)&&s.jsx(P,{id:l.help,children:i}),n.length===0&&p?s.jsx("p",{id:l.help,className:"text-xs text-text-tertiary mt-1 italic","data-testid":"list-field-empty",children:f??"Scan to add"}):s.jsx("div",{className:"flex flex-wrap gap-1.5 mt-1",children:n.map((m,y)=>s.jsxs("span",{className:"inline-flex items-center gap-1 px-2 py-0.5 text-2xs font-mono bg-surface-sunken rounded text-text-secondary",children:[String(m),p&&s.jsx("button",{type:"button",onClick:()=>b(y),className:"-mr-1 p-0.5 rounded text-text-quaternary hover:text-status-error hover:bg-surface-hover","aria-label":`Remove ${String(m)}`,"data-testid":"list-field-remove",children:s.jsx(zs,{className:"w-3 h-3",strokeWidth:2})})]},y))}),s.jsx(D,{error:a,id:l.error}),s.jsx(oe,{notice:c})]})}const Xt={date:"date","date-time":"datetime-local",email:"email",uri:"url"},ci={date:"max-w-48","date-time":"max-w-64"};function ke({fieldKey:t,value:e,onChange:n,onBlur:r,schema:i,isRequired:o,isReadOnly:a,error:l,escalationContext:c,submitAttempted:u}){var O;const d=(O=i==null?void 0:i.properties)==null?void 0:O[t],p=On(t),x=q(t,d),f=d==null?void 0:d["x-lt-widget"],b=ei(d,e),m=`lt-field-${t}`,y={field:m,help:`${m}-help`,error:`${m}-error`},h=typeof(d==null?void 0:d.description)=="string"&&d.description.length>0?d.description:void 0,A={id:m,"aria-required":o||void 0,"aria-invalid":l?!0:void 0,"aria-describedby":l?y.error:h?y.help:void 0},j={fieldKey:t,label:x,helperText:h,isRequired:o,error:l,onBlur:r,ids:y,ariaProps:A,onChange:n},N=f==="markdown"&&typeof e=="string",v=(f==="attachment"||f==="image")&&typeof e=="string",I=!!(f&&f in nt);if(a&&!N&&!v&&!I){const k=e===null?"null":typeof e=="object"?JSON.stringify(e,null,2):String(e);return s.jsxs("div",{children:[s.jsx(L,{isRequired:o,children:x}),s.jsx("p",{className:"text-sm text-text-secondary mt-0.5 whitespace-pre-wrap",children:k})]})}if(f===Ne&&(b==="array"||b==="object"))return s.jsx(ai,{...j,value:e});if(f&&f in nt){const k=nt[f],T=o||(d==null?void 0:d["x-lt-require-all"])===!0,w={fieldKey:t,schema:d,escalationContext:c,isRequired:T,submitAttempted:u,error:l};if((d==null?void 0:d.type)==="object"){const M=typeof e=="string"?e:typeof e=="object"&&e!==null&&!Array.isArray(e)?JSON.stringify(e):"";return s.jsx(k,{...w,value:M,onChange:V=>{try{n(JSON.parse(V))}catch{n(V)}}})}if(typeof e=="string")return s.jsx(k,{...w,value:e,onChange:M=>n(M)});if(typeof e=="object"&&e!==null&&!Array.isArray(e))return s.jsx(k,{...w,value:JSON.stringify(e),onChange:M=>{try{n(JSON.parse(M))}catch{n(M)}}})}const R=bt(d,c);if(b==="array"){if(R!==void 0&&(d==null?void 0:d["x-lt-options"])!==void 0)return s.jsx(oi,{...j,value:e,options:R})}else if(R!==void 0&&b!=="object")return s.jsx(ii,{...j,value:e,options:R,nullable:(d==null?void 0:d["x-lt-nullable"])===!0});switch(b){case"boolean":return s.jsxs("div",{children:[s.jsxs("label",{className:"flex items-center gap-2 cursor-pointer",children:[s.jsx("input",{type:"checkbox",checked:e===!0,onChange:k=>{n(k.target.checked),r==null||r()},className:"w-3.5 h-3.5 rounded accent-accent","data-field-key":t,...A}),s.jsxs("span",{className:"text-2xs font-semibold uppercase tracking-wider text-text-secondary",children:[x,o&&s.jsx("span",{className:"text-status-error ml-0.5",children:"*"})]})]}),h&&s.jsx(P,{id:y.help,children:h}),s.jsx(D,{error:l,id:y.error})]});case"number":case"integer":return s.jsxs("div",{children:[s.jsx(L,{isRequired:o,htmlFor:m,children:x}),h&&s.jsx(P,{id:y.help,children:h}),s.jsx("input",{type:"number",value:typeof e=="number"||typeof e=="string"?e:"",onChange:k=>n(parseFloat(k.target.value)||0),onBlur:r,step:"any","data-field-key":t,className:`${Y(!!l)} max-w-48`,...A}),s.jsx(D,{error:l,id:y.error})]});case"string":return F(typeof e=="string"?e:e==null?"":String(e));case"array":return!Array.isArray(e)&&!(e==null&&X(d))?F(e==null?"":String(e)):s.jsx(li,{fieldKey:t,label:x,values:Array.isArray(e)?e:[],fieldSchema:d,helperText:h,isRequired:o,error:l,ids:y,notice:p,context:c,onChange:n});case"object":{if(typeof e!="object"||e===null||Array.isArray(e))return F(e==null?"":String(e));const k=Object.entries(e);return s.jsxs("div",{children:[s.jsx(L,{isRequired:o,children:x}),s.jsx("div",{className:"ml-4 mt-2 pl-4 border-l border-accent-faint space-y-3",children:k.map(([T,w])=>s.jsx(ke,{fieldKey:T,value:w,onChange:M=>n({...e,[T]:M})},T))})]})}default:return s.jsxs("div",{children:[s.jsx(L,{isRequired:o,children:x}),s.jsx("p",{className:"text-xs text-text-tertiary italic mt-1",children:"null"})]})}function F(k){const T=d==null?void 0:d.format;if(T==="password")return s.jsxs("div",{children:[s.jsx(L,{isRequired:o,htmlFor:m,children:x}),h&&s.jsx(P,{id:y.help,children:h}),s.jsx("input",{type:"password",value:k,onChange:w=>n(w.target.value),onBlur:r,"data-field-key":t,className:Y(!!l),autoComplete:"off",...A}),s.jsx(D,{error:l,id:y.error})]});if(T&&T in Xt)return s.jsxs("div",{children:[s.jsx(L,{isRequired:o,htmlFor:m,children:x}),h&&s.jsx(P,{id:y.help,children:h}),s.jsx("input",{type:Xt[T],value:k,onChange:w=>n(w.target.value),onBlur:r,"data-field-key":t,className:`${Y(!!l)} ${ci[T]??""}`,...A}),s.jsx(D,{error:l,id:y.error})]});if(T==="textarea"||f===je||k.includes(`
7
7
  `)||k.length>80){const w=d==null?void 0:d.maxLength,M=d==null?void 0:d["x-lt-max-length"],V=M?Number(Q(M,c)):NaN,U=w??(Number.isFinite(V)?V:void 0),lt=U!==void 0&&k.length>U;return s.jsxs("div",{children:[s.jsx(L,{isRequired:o,htmlFor:m,children:x}),h&&s.jsx(P,{id:y.help,children:h}),s.jsx("textarea",{value:k,onChange:Z=>{n(Z.target.value),r==null||r()},onBlur:r,"data-field-key":t,className:`${Y(!!l)} leading-relaxed`,rows:Math.min(6,Math.max(3,Math.ceil(k.length/60))),...A}),U!==void 0&&s.jsxs("p",{className:`text-2xs mt-0.5 text-right tabular-nums ${lt?"text-status-error font-medium":"text-text-quaternary"}`,children:[k.length," / ",U]}),s.jsx(D,{error:l,id:y.error})]})}return s.jsxs("div",{children:[s.jsx(L,{isRequired:o,htmlFor:m,children:x}),h&&s.jsx(P,{id:y.help,children:h}),s.jsx("input",{type:"text",value:k,onChange:w=>n(w.target.value),onBlur:r,"data-field-key":t,className:Y(!!l),...A}),s.jsx(D,{error:l,id:y.error}),s.jsx(oe,{notice:p})]})}}function di({name:t,entries:e,formSchema:n,layout:r,renderField:i}){const o=ri(e,n,t,r),a=ve(n,t),l=(a==null?void 0:a.columns)??(r==="two-column"?2:1),c=d=>d.map(([p,x])=>{var f;return{key:p,label:q(p,(f=n==null?void 0:n.properties)==null?void 0:f[p]),value:x}}),u=()=>o.map((d,p)=>d.kind==="dictionary"?s.jsx("div",{className:r==="two-column"?"col-span-full":"",children:s.jsx(En,{items:c(d.entries),columns:l})},`dict-${p}`):d.kind==="column-group"?s.jsx("div",{className:"@container",children:s.jsx("div",{className:"grid grid-cols-1 @grp-cols:grid-cols-2 gap-x-4 gap-y-5",children:d.entries.map(x=>i(x))})},`group-${d.name}-${p}`):i(d.entry));return s.jsxs("div",{className:t?"border border-surface-border bg-surface-sunken rounded-[var(--lt-radius-section)] p-4 animate-[section-enter_0.25s_ease-out]":"",children:[t&&s.jsx("p",{className:"mb-4 text-[1.40625rem] font-semibold tracking-wider text-heading [font-variant-caps:small-caps]",children:t}),r==="two-column"?s.jsx("div",{className:"@container",children:s.jsx("div",{className:"grid grid-cols-1 @form-cols:grid-cols-2 gap-x-col-gap gap-y-5",children:u()})}):s.jsx("div",{className:"space-y-5",children:u()})]})}function ui({value:t,onChange:e,disabled:n,submitAttempted:r,escalationContext:i,onOpenHelp:o,onDisabledClick:a,disabledHint:l}){var Et,wt;const[c,u]=g.useState({}),[d,p]=g.useState({}),[x,f]=g.useState(null),[b,m]=g.useState(!1),[y,h]=g.useState(new Set);g.useEffect(()=>{try{const E=JSON.parse(t);if(typeof E=="object"&&E!==null&&!Array.isArray(E)){const _={},C={};for(const[$,J]of Object.entries(E))$.startsWith("_")||$.startsWith("$")?C[$]=J:_[$]=J;u(_),p(C),f(C._form_schema&&typeof C._form_schema=="object"?C._form_schema:null),m(!1)}}catch{m(!0)}},[t]);const A=g.useCallback(E=>{u(E),e(JSON.stringify({...E,...d},null,2))},[d,e]),j=g.useCallback((E,_)=>{A({...c,[E]:_})},[c,A]),N=g.useCallback(E=>{h(_=>{if(_.has(E))return _;const C=new Set(_);return C.add(E),C})},[]);if(b)return s.jsx("p",{className:"text-xs text-status-error",children:"Unable to parse resolver data as form. Use the JSON editor below."});const v=Object.entries(c);if(v.length===0)return s.jsx("p",{className:"text-xs text-text-tertiary italic",children:"No resolver fields defined."});const I=x==null?void 0:x["x-lt-order"],R=I?[...v].sort((E,_)=>{const C=I.indexOf(E[0]),$=I.indexOf(_[0]);return(C===-1?1/0:C)-($===-1?1/0:$)}):v,F={...i??{},resolver:c,input:c},O=R.filter(([E,_])=>{var $;const C=($=x==null?void 0:x.properties)==null?void 0:$[E];return te(C)||!et(C==null?void 0:C["x-lt-showIf"],F)?!1:!en(C,_)}),k=new Set((x==null?void 0:x.required)??[]),T=x==null?void 0:x["x-lt-layout"],w=x==null?void 0:x.title,M=x==null?void 0:x.description,V=typeof(x==null?void 0:x["x-lt-help"])=="string"||typeof(x==null?void 0:x["x-lt-context"])=="string",U=[];for(const E of O){const[_]=E,C=(Et=x==null?void 0:x.properties)==null?void 0:Et[_],$=((wt=C==null?void 0:C["x-lt-section"])==null?void 0:wt.trim())||null,J=U[U.length-1];!J||J.name!==$?U.push({name:$,entries:[E]}):J.entries.push(E)}const lt=([E,_])=>{var Ct;const C=(Ct=x==null?void 0:x.properties)==null?void 0:Ct[E],$=(C==null?void 0:C.readOnly)===!0,J=(C==null?void 0:C["x-lt-span"])??1,It=k.has(E),Ae=y.has(E)||!!r,Ee=xe(_,C,It,Ae,F);return s.jsx("div",{className:`animate-[field-enter_0.2s_ease-out] ${T==="two-column"&&J>=2?"col-span-full":""}`,children:s.jsx(ke,{fieldKey:E,value:_,onChange:we=>j(E,we),onBlur:()=>N(E),schema:x,isRequired:It,isReadOnly:$,error:Ee,escalationContext:F,submitAttempted:!!r})},E)},Z=s.jsxs("div",{className:n?"pointer-events-none":void 0,inert:n||void 0,"aria-disabled":n||void 0,children:[w&&s.jsxs("div",{className:"mb-1 flex items-center gap-1.5",children:[s.jsx("h3",{className:"heading-3",children:w}),V&&o&&s.jsx("button",{type:"button",onClick:o,title:"Open instructions","aria-label":"Open instructions",className:"p-1 rounded-md text-text-tertiary hover:text-accent hover:bg-surface-hover transition-colors",children:s.jsx(Zt,{className:"w-4 h-4",strokeWidth:1.5})})]}),M&&s.jsx("p",{className:"text-sm text-text-secondary leading-relaxed mb-6",children:M}),s.jsx("div",{className:"space-y-8",children:U.map((E,_)=>s.jsx(di,{name:E.name,entries:E.entries,formSchema:x,layout:T,renderField:lt},E.name??`__s${_}`))})]});return n?s.jsx(tr,{hint:l,onLockedClick:a,children:Z}):s.jsx("div",{className:"pb-8 max-w-form",children:Z})}export{ae as E,vi as F,Vr as L,ui as R,vt as W,ki as a,Ft as b,Ot as c,q as d,qr as e,fe as f,Ii as g,_r as h,Rn as i,Ht as j,Sr as l,Ai as p,br as r,wi as s,be as u,pe as v,Ei as w};
8
- //# sourceMappingURL=ResolverForm-CqGE5lf-.js.map
8
+ //# sourceMappingURL=ResolverForm-ZVufJ4G-.js.map