@hotmeshio/long-tail 0.21.0 → 0.21.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (217) hide show
  1. package/build/api/escalations/accumulate.d.ts +8 -0
  2. package/build/api/escalations/accumulate.js +25 -0
  3. package/build/api/escalations/index.d.ts +1 -1
  4. package/build/api/escalations/index.js +2 -1
  5. package/build/api/scan-codes/context.d.ts +14 -1
  6. package/build/api/scan-codes/context.js +30 -2
  7. package/build/api/scan-codes/identity.js +1 -0
  8. package/build/api/scan-codes/verbs.d.ts +9 -3
  9. package/build/api/scan-codes/verbs.js +77 -23
  10. package/build/index.d.ts +2 -1
  11. package/build/index.js +3 -2
  12. package/build/routes/escalations/accumulate.js +8 -0
  13. package/build/sdk/index.d.ts +3 -0
  14. package/build/sdk/index.js +1 -0
  15. package/build/services/scan-code/index.d.ts +1 -1
  16. package/build/services/scan-code/index.js +3 -1
  17. package/build/services/scan-code/parse.d.ts +17 -3
  18. package/build/services/scan-code/parse.js +37 -4
  19. package/build/services/scan-code/validate.js +19 -0
  20. package/build/system/mcp-servers/admin/escalations.js +6 -1
  21. package/build/system/mcp-servers/admin/schemas.d.ts +6 -3
  22. package/build/system/mcp-servers/admin/schemas.js +2 -1
  23. package/build/system/seed/tool-manifests-admin.d.ts +189 -0
  24. package/build/system/seed/tool-manifests-admin.js +1 -1
  25. package/build/types/index.d.ts +2 -2
  26. package/build/types/index.js +2 -1
  27. package/build/types/scan-code.d.ts +31 -1
  28. package/build/types/scan-code.js +20 -2
  29. package/dashboard/dist/assets/{AdminDashboard-uarpHB88.js → AdminDashboard-Covdam48.js} +2 -2
  30. package/dashboard/dist/assets/{AdminDashboard-uarpHB88.js.map → AdminDashboard-Covdam48.js.map} +1 -1
  31. package/dashboard/dist/assets/{AgentConfigPage-BcUaDD5E.js → AgentConfigPage-CE1k6J5r.js} +2 -2
  32. package/dashboard/dist/assets/{AgentConfigPage-BcUaDD5E.js.map → AgentConfigPage-CE1k6J5r.js.map} +1 -1
  33. package/dashboard/dist/assets/{AgentDetailPage-BaZBhK6i.js → AgentDetailPage-CWJZIZP1.js} +2 -2
  34. package/dashboard/dist/assets/{AgentDetailPage-BaZBhK6i.js.map → AgentDetailPage-CWJZIZP1.js.map} +1 -1
  35. package/dashboard/dist/assets/{AgentsPage-CuVFSDc4.js → AgentsPage---Dg5ufF.js} +2 -2
  36. package/dashboard/dist/assets/{AgentsPage-CuVFSDc4.js.map → AgentsPage---Dg5ufF.js.map} +1 -1
  37. package/dashboard/dist/assets/{AvailableEscalationsPage-iO5NyyIK.js → AvailableEscalationsPage-CpbC8oTN.js} +2 -2
  38. package/dashboard/dist/assets/{AvailableEscalationsPage-iO5NyyIK.js.map → AvailableEscalationsPage-CpbC8oTN.js.map} +1 -1
  39. package/dashboard/dist/assets/{BotPicker-CClMby6B.js → BotPicker-D3drO3-T.js} +2 -2
  40. package/dashboard/dist/assets/{BotPicker-CClMby6B.js.map → BotPicker-D3drO3-T.js.map} +1 -1
  41. package/dashboard/dist/assets/{BulkAssignModal-BL8FRgkN.js → BulkAssignModal-BOAWsViq.js} +2 -2
  42. package/dashboard/dist/assets/{BulkAssignModal-BL8FRgkN.js.map → BulkAssignModal-BOAWsViq.js.map} +1 -1
  43. package/dashboard/dist/assets/{CapabilitiesPage-D53ogPor.js → CapabilitiesPage-RGgD3YZO.js} +2 -2
  44. package/dashboard/dist/assets/{CapabilitiesPage-D53ogPor.js.map → CapabilitiesPage-RGgD3YZO.js.map} +1 -1
  45. package/dashboard/dist/assets/{CollapsibleSection-ow8jpbtD.js → CollapsibleSection-DNkZn87n.js} +2 -2
  46. package/dashboard/dist/assets/{CollapsibleSection-ow8jpbtD.js.map → CollapsibleSection-DNkZn87n.js.map} +1 -1
  47. package/dashboard/dist/assets/{ConfirmDeleteModal-CeEDt9iJ.js → ConfirmDeleteModal-BqzOwhPr.js} +2 -2
  48. package/dashboard/dist/assets/{ConfirmDeleteModal-CeEDt9iJ.js.map → ConfirmDeleteModal-BqzOwhPr.js.map} +1 -1
  49. package/dashboard/dist/assets/{CountdownTimer-CSqyZMCG.js → CountdownTimer-BaexQMK6.js} +2 -2
  50. package/dashboard/dist/assets/{CountdownTimer-CSqyZMCG.js.map → CountdownTimer-BaexQMK6.js.map} +1 -1
  51. package/dashboard/dist/assets/{CredentialsPage-Dx7SxA23.js → CredentialsPage-D7abp0aS.js} +2 -2
  52. package/dashboard/dist/assets/{CredentialsPage-Dx7SxA23.js.map → CredentialsPage-D7abp0aS.js.map} +1 -1
  53. package/dashboard/dist/assets/{CronLabel-LYPxpvNN.js → CronLabel-DZiWmTwJ.js} +2 -2
  54. package/dashboard/dist/assets/{CronLabel-LYPxpvNN.js.map → CronLabel-DZiWmTwJ.js.map} +1 -1
  55. package/dashboard/dist/assets/{ElapsedCell-BZJTSm9N.js → ElapsedCell-BdGO_w4v.js} +2 -2
  56. package/dashboard/dist/assets/{ElapsedCell-BZJTSm9N.js.map → ElapsedCell-BdGO_w4v.js.map} +1 -1
  57. package/dashboard/dist/assets/{EntityTimelinePanel-0wIIW2en.js → EntityTimelinePanel-DIDcF5Yu.js} +2 -2
  58. package/dashboard/dist/assets/{EntityTimelinePanel-0wIIW2en.js.map → EntityTimelinePanel-DIDcF5Yu.js.map} +1 -1
  59. package/dashboard/dist/assets/{EscalationListSchemaPage-CoYvtMzj.js → EscalationListSchemaPage-C28rn9XC.js} +2 -2
  60. package/dashboard/dist/assets/{EscalationListSchemaPage-CoYvtMzj.js.map → EscalationListSchemaPage-C28rn9XC.js.map} +1 -1
  61. package/dashboard/dist/assets/{EscalationListView-DWFHPufv.js → EscalationListView-CkBnkpDJ.js} +2 -2
  62. package/dashboard/dist/assets/{EscalationListView-DWFHPufv.js.map → EscalationListView-CkBnkpDJ.js.map} +1 -1
  63. package/dashboard/dist/assets/{EscalationSchemaPage-C9Xu_A25.js → EscalationSchemaPage-W5r0A1kj.js} +2 -2
  64. package/dashboard/dist/assets/{EscalationSchemaPage-C9Xu_A25.js.map → EscalationSchemaPage-W5r0A1kj.js.map} +1 -1
  65. package/dashboard/dist/assets/{EscalationTimeline-D8W2LNNk.js → EscalationTimeline-DKyTz6sM.js} +2 -2
  66. package/dashboard/dist/assets/{EscalationTimeline-D8W2LNNk.js.map → EscalationTimeline-DKyTz6sM.js.map} +1 -1
  67. package/dashboard/dist/assets/{EscalationTitleSelect-DLK8NWMp.js → EscalationTitleSelect-CzKfavri.js} +2 -2
  68. package/dashboard/dist/assets/{EscalationTitleSelect-DLK8NWMp.js.map → EscalationTitleSelect-CzKfavri.js.map} +1 -1
  69. package/dashboard/dist/assets/{EscalationsOverview-CW57FaP9.js → EscalationsOverview-Tdu3Yx2c.js} +2 -2
  70. package/dashboard/dist/assets/{EscalationsOverview-CW57FaP9.js.map → EscalationsOverview-Tdu3Yx2c.js.map} +1 -1
  71. package/dashboard/dist/assets/{EventTable-D1ctWhKf.js → EventTable-DiIxOJwO.js} +2 -2
  72. package/dashboard/dist/assets/{EventTable-D1ctWhKf.js.map → EventTable-DiIxOJwO.js.map} +1 -1
  73. package/dashboard/dist/assets/{FilterBar-C-iur-Nj.js → FilterBar-CvMBCVIo.js} +2 -2
  74. package/dashboard/dist/assets/{FilterBar-C-iur-Nj.js.map → FilterBar-CvMBCVIo.js.map} +1 -1
  75. package/dashboard/dist/assets/{GraphInvokePage-CcA_44M4.js → GraphInvokePage-DO-yyhi6.js} +2 -2
  76. package/dashboard/dist/assets/{GraphInvokePage-CcA_44M4.js.map → GraphInvokePage-DO-yyhi6.js.map} +1 -1
  77. package/dashboard/dist/assets/{HomePage-Dc085ghJ.js → HomePage-DSS3eHR2.js} +2 -2
  78. package/dashboard/dist/assets/{HomePage-Dc085ghJ.js.map → HomePage-DSS3eHR2.js.map} +1 -1
  79. package/dashboard/dist/assets/{ListToolbar-h_ziBt4O.js → ListToolbar-C3-Tqqub.js} +2 -2
  80. package/dashboard/dist/assets/{ListToolbar-h_ziBt4O.js.map → ListToolbar-C3-Tqqub.js.map} +1 -1
  81. package/dashboard/dist/assets/{McpOverview-qXXhbNWV.js → McpOverview-DEJmsdVi.js} +2 -2
  82. package/dashboard/dist/assets/{McpOverview-qXXhbNWV.js.map → McpOverview-DEJmsdVi.js.map} +1 -1
  83. package/dashboard/dist/assets/{McpQueryDetailPage-SEzSbZrd.js → McpQueryDetailPage-DYJr16l7.js} +2 -2
  84. package/dashboard/dist/assets/{McpQueryDetailPage-SEzSbZrd.js.map → McpQueryDetailPage-DYJr16l7.js.map} +1 -1
  85. package/dashboard/dist/assets/{McpQueryPage-Cy0V0kv9.js → McpQueryPage-BBcG_UuU.js} +2 -2
  86. package/dashboard/dist/assets/{McpQueryPage-Cy0V0kv9.js.map → McpQueryPage-BBcG_UuU.js.map} +1 -1
  87. package/dashboard/dist/assets/{McpRunDetailPage-DjJO5vSb.js → McpRunDetailPage-C6xw0kBg.js} +2 -2
  88. package/dashboard/dist/assets/{McpRunDetailPage-DjJO5vSb.js.map → McpRunDetailPage-C6xw0kBg.js.map} +1 -1
  89. package/dashboard/dist/assets/{McpRunsPage-BfjiJ8mM.js → McpRunsPage-CRQqrF4Q.js} +2 -2
  90. package/dashboard/dist/assets/{McpRunsPage-BfjiJ8mM.js.map → McpRunsPage-CRQqrF4Q.js.map} +1 -1
  91. package/dashboard/dist/assets/{OperationsPage-dJcER0T_.js → OperationsPage-Dlfwzf-0.js} +2 -2
  92. package/dashboard/dist/assets/{OperationsPage-dJcER0T_.js.map → OperationsPage-Dlfwzf-0.js.map} +1 -1
  93. package/dashboard/dist/assets/{OperatorDashboard-zCkW4eqk.js → OperatorDashboard-DoiDGZ9R.js} +2 -2
  94. package/dashboard/dist/assets/{OperatorDashboard-zCkW4eqk.js.map → OperatorDashboard-DoiDGZ9R.js.map} +1 -1
  95. package/dashboard/dist/assets/{PersonaDetailPage-Cx6L3Jvu.js → PersonaDetailPage-BzbA4Prr.js} +2 -2
  96. package/dashboard/dist/assets/{PersonaDetailPage-Cx6L3Jvu.js.map → PersonaDetailPage-BzbA4Prr.js.map} +1 -1
  97. package/dashboard/dist/assets/{PersonasPage-DOgGUlJl.js → PersonasPage-B36yn4hU.js} +2 -2
  98. package/dashboard/dist/assets/{PersonasPage-DOgGUlJl.js.map → PersonasPage-B36yn4hU.js.map} +1 -1
  99. package/dashboard/dist/assets/{PortalPage-BKuL1BeJ.js → PortalPage-BkD4YfDf.js} +2 -2
  100. package/dashboard/dist/assets/{PortalPage-BKuL1BeJ.js.map → PortalPage-BkD4YfDf.js.map} +1 -1
  101. package/dashboard/dist/assets/{ProcessDetailPage-BFcFSDUv.js → ProcessDetailPage-BT0eiBWY.js} +2 -2
  102. package/dashboard/dist/assets/{ProcessDetailPage-BFcFSDUv.js.map → ProcessDetailPage-BT0eiBWY.js.map} +1 -1
  103. package/dashboard/dist/assets/{ProcessesListPage-BaHV2cXp.js → ProcessesListPage-BEqeeNae.js} +2 -2
  104. package/dashboard/dist/assets/{ProcessesListPage-BaHV2cXp.js.map → ProcessesListPage-BEqeeNae.js.map} +1 -1
  105. package/dashboard/dist/assets/{ResolverForm-Bgc0Zrya.js → ResolverForm-BwgjIX97.js} +2 -2
  106. package/dashboard/dist/assets/{ResolverForm-Bgc0Zrya.js.map → ResolverForm-BwgjIX97.js.map} +1 -1
  107. package/dashboard/dist/assets/{RoleDetailPage-BPY6i3CU.js → RoleDetailPage-BFuLNJXa.js} +2 -2
  108. package/dashboard/dist/assets/{RoleDetailPage-BPY6i3CU.js.map → RoleDetailPage-BFuLNJXa.js.map} +1 -1
  109. package/dashboard/dist/assets/{RolesPage-DSqqKPbv.js → RolesPage-80quJU5-.js} +2 -2
  110. package/dashboard/dist/assets/{RolesPage-DSqqKPbv.js.map → RolesPage-80quJU5-.js.map} +1 -1
  111. package/dashboard/dist/assets/{RunAsSelector-B29iWwel.js → RunAsSelector-BoePhWVD.js} +2 -2
  112. package/dashboard/dist/assets/{RunAsSelector-B29iWwel.js.map → RunAsSelector-BoePhWVD.js.map} +1 -1
  113. package/dashboard/dist/assets/{ScanCodesPage-S8aAJfnC.js → ScanCodesPage-Cu1bKEix.js} +2 -2
  114. package/dashboard/dist/assets/{ScanCodesPage-S8aAJfnC.js.map → ScanCodesPage-Cu1bKEix.js.map} +1 -1
  115. package/dashboard/dist/assets/ScanSchemeDetailPage-D9AbS6UY.js +2 -0
  116. package/dashboard/dist/assets/ScanSchemeDetailPage-D9AbS6UY.js.map +1 -0
  117. package/dashboard/dist/assets/{ScanStationPage-R9t1-CeQ.js → ScanStationPage-gcZGefvT.js} +2 -2
  118. package/dashboard/dist/assets/{ScanStationPage-R9t1-CeQ.js.map → ScanStationPage-gcZGefvT.js.map} +1 -1
  119. package/dashboard/dist/assets/{StickyPagination-CkW_A507.js → StickyPagination-9ITrei_d.js} +2 -2
  120. package/dashboard/dist/assets/{StickyPagination-CkW_A507.js.map → StickyPagination-9ITrei_d.js.map} +1 -1
  121. package/dashboard/dist/assets/{StreamMessageDetail-yzWX0wac.js → StreamMessageDetail-BkYvEHFY.js} +2 -2
  122. package/dashboard/dist/assets/{StreamMessageDetail-yzWX0wac.js.map → StreamMessageDetail-BkYvEHFY.js.map} +1 -1
  123. package/dashboard/dist/assets/{SwimlaneTimeline-Cf4DXFxj.js → SwimlaneTimeline-B1rotFix.js} +2 -2
  124. package/dashboard/dist/assets/{SwimlaneTimeline-Cf4DXFxj.js.map → SwimlaneTimeline-B1rotFix.js.map} +1 -1
  125. package/dashboard/dist/assets/{TaskDetailPage-DCDcEps9.js → TaskDetailPage-zhn_U_eC.js} +2 -2
  126. package/dashboard/dist/assets/{TaskDetailPage-DCDcEps9.js.map → TaskDetailPage-zhn_U_eC.js.map} +1 -1
  127. package/dashboard/dist/assets/{TasksListPage-BBATgpf7.js → TasksListPage-CNbNeagx.js} +2 -2
  128. package/dashboard/dist/assets/{TasksListPage-BBATgpf7.js.map → TasksListPage-CNbNeagx.js.map} +1 -1
  129. package/dashboard/dist/assets/{TimeAgo-CSNVEjch.js → TimeAgo-0YVMBwls.js} +2 -2
  130. package/dashboard/dist/assets/{TimeAgo-CSNVEjch.js.map → TimeAgo-0YVMBwls.js.map} +1 -1
  131. package/dashboard/dist/assets/{TimestampCell-Du1nBrPn.js → TimestampCell-DB7r3np8.js} +2 -2
  132. package/dashboard/dist/assets/{TimestampCell-Du1nBrPn.js.map → TimestampCell-DB7r3np8.js.map} +1 -1
  133. package/dashboard/dist/assets/{ToolTestPanel-CF-h_5Rg.js → ToolTestPanel-BLfA02wv.js} +2 -2
  134. package/dashboard/dist/assets/{ToolTestPanel-CF-h_5Rg.js.map → ToolTestPanel-BLfA02wv.js.map} +1 -1
  135. package/dashboard/dist/assets/{TopicDetailPage-Dr1UmWcp.js → TopicDetailPage-eAqPKShq.js} +2 -2
  136. package/dashboard/dist/assets/{TopicDetailPage-Dr1UmWcp.js.map → TopicDetailPage-eAqPKShq.js.map} +1 -1
  137. package/dashboard/dist/assets/{TopicsPage-CUUo-Ylf.js → TopicsPage-BNNWD-zl.js} +2 -2
  138. package/dashboard/dist/assets/{TopicsPage-CUUo-Ylf.js.map → TopicsPage-BNNWD-zl.js.map} +1 -1
  139. package/dashboard/dist/assets/{UserName-kBh1dc39.js → UserName-Pw46tO_k.js} +2 -2
  140. package/dashboard/dist/assets/{UserName-kBh1dc39.js.map → UserName-Pw46tO_k.js.map} +1 -1
  141. package/dashboard/dist/assets/{WorkflowExecutionPage-CCRSbnDx.js → WorkflowExecutionPage-DvA51lT3.js} +2 -2
  142. package/dashboard/dist/assets/{WorkflowExecutionPage-CCRSbnDx.js.map → WorkflowExecutionPage-DvA51lT3.js.map} +1 -1
  143. package/dashboard/dist/assets/{WorkflowsDashboard-BNQVvyek.js → WorkflowsDashboard-DFDTwnhn.js} +2 -2
  144. package/dashboard/dist/assets/{WorkflowsDashboard-BNQVvyek.js.map → WorkflowsDashboard-DFDTwnhn.js.map} +1 -1
  145. package/dashboard/dist/assets/{WorkflowsOverview-DswubNJN.js → WorkflowsOverview-5i2Tcy-p.js} +2 -2
  146. package/dashboard/dist/assets/{WorkflowsOverview-DswubNJN.js.map → WorkflowsOverview-5i2Tcy-p.js.map} +1 -1
  147. package/dashboard/dist/assets/{YamlWorkflowDetailPage-Cw9Dlmup.js → YamlWorkflowDetailPage-p4VEYZS0.js} +2 -2
  148. package/dashboard/dist/assets/{YamlWorkflowDetailPage-Cw9Dlmup.js.map → YamlWorkflowDetailPage-p4VEYZS0.js.map} +1 -1
  149. package/dashboard/dist/assets/{YamlWorkflowsPage-DB8xnIXy.js → YamlWorkflowsPage-Cq-hMVxl.js} +2 -2
  150. package/dashboard/dist/assets/{YamlWorkflowsPage-DB8xnIXy.js.map → YamlWorkflowsPage-Cq-hMVxl.js.map} +1 -1
  151. package/dashboard/dist/assets/{agents-BwEnf6N9.js → agents-EyBPJMYa.js} +2 -2
  152. package/dashboard/dist/assets/{agents-BwEnf6N9.js.map → agents-EyBPJMYa.js.map} +1 -1
  153. package/dashboard/dist/assets/{bots-CCmJTT2u.js → bots-DX6jjqtF.js} +2 -2
  154. package/dashboard/dist/assets/{bots-CCmJTT2u.js.map → bots-DX6jjqtF.js.map} +1 -1
  155. package/dashboard/dist/assets/{capabilities-BZHgp_nh.js → capabilities-ZdLv9xBQ.js} +2 -2
  156. package/dashboard/dist/assets/{capabilities-BZHgp_nh.js.map → capabilities-ZdLv9xBQ.js.map} +1 -1
  157. package/dashboard/dist/assets/{controlplane-CyfwUlFA.js → controlplane-CpvZaJuw.js} +2 -2
  158. package/dashboard/dist/assets/{controlplane-CyfwUlFA.js.map → controlplane-CpvZaJuw.js.map} +1 -1
  159. package/dashboard/dist/assets/{escalation-columns-BJPTNmLW.js → escalation-columns-Mvsze5eV.js} +2 -2
  160. package/dashboard/dist/assets/{escalation-columns-BJPTNmLW.js.map → escalation-columns-Mvsze5eV.js.map} +1 -1
  161. package/dashboard/dist/assets/{index-CDrqqbSR.js → index-B_GT23TE.js} +3 -3
  162. package/dashboard/dist/assets/{index-CDrqqbSR.js.map → index-B_GT23TE.js.map} +1 -1
  163. package/dashboard/dist/assets/{index-CVwzCZ43.js → index-BbCjGO3M.js} +2 -2
  164. package/dashboard/dist/assets/{index-CVwzCZ43.js.map → index-BbCjGO3M.js.map} +1 -1
  165. package/dashboard/dist/assets/{index-CuVkSmj5.js → index-Bhb89oHH.js} +2 -2
  166. package/dashboard/dist/assets/{index-CuVkSmj5.js.map → index-Bhb89oHH.js.map} +1 -1
  167. package/dashboard/dist/assets/{index-3gbd5neL.js → index-CgUcYveM.js} +33 -33
  168. package/dashboard/dist/assets/index-CgUcYveM.js.map +1 -0
  169. package/dashboard/dist/assets/{index-BAAVTyZ-.js → index-Cn8uJsd7.js} +2 -2
  170. package/dashboard/dist/assets/{index-BAAVTyZ-.js.map → index-Cn8uJsd7.js.map} +1 -1
  171. package/dashboard/dist/assets/{index-C7KHqOTQ.js → index-D-Xs4rAW.js} +2 -2
  172. package/dashboard/dist/assets/{index-C7KHqOTQ.js.map → index-D-Xs4rAW.js.map} +1 -1
  173. package/dashboard/dist/assets/{index-DZ8X_Gp4.js → index-DGmzBY9D.js} +2 -2
  174. package/dashboard/dist/assets/{index-DZ8X_Gp4.js.map → index-DGmzBY9D.js.map} +1 -1
  175. package/dashboard/dist/assets/{index-DBWS5QL8.js → index-DZhtP2Ok.js} +2 -2
  176. package/dashboard/dist/assets/{index-DBWS5QL8.js.map → index-DZhtP2Ok.js.map} +1 -1
  177. package/dashboard/dist/assets/{index-ClVbfe4z.js → index-DkrBFFSO.js} +2 -2
  178. package/dashboard/dist/assets/{index-ClVbfe4z.js.map → index-DkrBFFSO.js.map} +1 -1
  179. package/dashboard/dist/assets/{index-BC6Jenlo.js → index-Eo-l3Lqo.js} +2 -2
  180. package/dashboard/dist/assets/{index-BC6Jenlo.js.map → index-Eo-l3Lqo.js.map} +1 -1
  181. package/dashboard/dist/assets/{index-DIWCI6HC.js → index-PfSRKerc.js} +2 -2
  182. package/dashboard/dist/assets/{index-DIWCI6HC.js.map → index-PfSRKerc.js.map} +1 -1
  183. package/dashboard/dist/assets/{index-DAuX_PlL.js → index-oFKUFGQL.js} +2 -2
  184. package/dashboard/dist/assets/{index-DAuX_PlL.js.map → index-oFKUFGQL.js.map} +1 -1
  185. package/dashboard/dist/assets/{index-CaGF6TCC.js → index-z5Hpeidu.js} +2 -2
  186. package/dashboard/dist/assets/{index-CaGF6TCC.js.map → index-z5Hpeidu.js.map} +1 -1
  187. package/dashboard/dist/assets/{knowledge-CqyLhUMg.js → knowledge-CgloEkaf.js} +2 -2
  188. package/dashboard/dist/assets/{knowledge-CqyLhUMg.js.map → knowledge-CgloEkaf.js.map} +1 -1
  189. package/dashboard/dist/assets/{mcp-Cvu6bFYH.js → mcp-Bix7QYO7.js} +2 -2
  190. package/dashboard/dist/assets/{mcp-Cvu6bFYH.js.map → mcp-Bix7QYO7.js.map} +1 -1
  191. package/dashboard/dist/assets/{mcp-query-qC6A3e9l.js → mcp-query-o-sGX2ST.js} +2 -2
  192. package/dashboard/dist/assets/{mcp-query-qC6A3e9l.js.map → mcp-query-o-sGX2ST.js.map} +1 -1
  193. package/dashboard/dist/assets/{personas-BKN_lJuV.js → personas-30azkJ_s.js} +2 -2
  194. package/dashboard/dist/assets/{personas-BKN_lJuV.js.map → personas-30azkJ_s.js.map} +1 -1
  195. package/dashboard/dist/assets/{pipelines-BldIfv85.js → pipelines-Bfk2GFK7.js} +2 -2
  196. package/dashboard/dist/assets/{pipelines-BldIfv85.js.map → pipelines-Bfk2GFK7.js.map} +1 -1
  197. package/dashboard/dist/assets/{tasks-B-Uay8uL.js → tasks-CpdopewW.js} +2 -2
  198. package/dashboard/dist/assets/{tasks-B-Uay8uL.js.map → tasks-CpdopewW.js.map} +1 -1
  199. package/dashboard/dist/assets/{topics-438EQogt.js → topics--bvCV9Yp.js} +2 -2
  200. package/dashboard/dist/assets/{topics-438EQogt.js.map → topics--bvCV9Yp.js.map} +1 -1
  201. package/dashboard/dist/assets/{useDebouncedValue-Cw8hYZ8y.js → useDebouncedValue-Da0lPmj3.js} +2 -2
  202. package/dashboard/dist/assets/{useDebouncedValue-Cw8hYZ8y.js.map → useDebouncedValue-Da0lPmj3.js.map} +1 -1
  203. package/dashboard/dist/assets/{useNamespace-D1218GQ8.js → useNamespace-DD_Esl6n.js} +2 -2
  204. package/dashboard/dist/assets/{useNamespace-D1218GQ8.js.map → useNamespace-DD_Esl6n.js.map} +1 -1
  205. package/dashboard/dist/assets/{useYamlActivityEvents-BAQf_y_U.js → useYamlActivityEvents-AeAhZJJk.js} +2 -2
  206. package/dashboard/dist/assets/{useYamlActivityEvents-BAQf_y_U.js.map → useYamlActivityEvents-AeAhZJJk.js.map} +1 -1
  207. package/dashboard/dist/assets/{yaml-workflows-CN01gEB0.js → yaml-workflows-BHAOOGvn.js} +2 -2
  208. package/dashboard/dist/assets/{yaml-workflows-CN01gEB0.js.map → yaml-workflows-BHAOOGvn.js.map} +1 -1
  209. package/dashboard/dist/index.html +1 -1
  210. package/docs/accumulator.md +3 -3
  211. package/docs/api/http/escalations.md +2 -1
  212. package/docs/api/sdk/escalations.md +3 -2
  213. package/docs/scan-codes.md +20 -9
  214. package/package.json +1 -1
  215. package/dashboard/dist/assets/ScanSchemeDetailPage-CUBRAtmJ.js +0 -2
  216. package/dashboard/dist/assets/ScanSchemeDetailPage-CUBRAtmJ.js.map +0 -1
  217. package/dashboard/dist/assets/index-3gbd5neL.js.map +0 -1
@@ -1,7 +1,7 @@
1
- import{j as s,a as g}from"./vendor-query-DvWWuNIB.js";import{ai as rt,aj as Xt,ab as Kt,aH as je,aI as zt,aA as dt,aJ as Ne,Z as ve,aw as ke,aK as we,aL as Ee,m as Ae,p as Ie,U as Ce,aM as Oe,aN as Te,z as Re,aO as _e,aP as Le,aQ as Se,aR as Me,aS as Fe,aT as Pe,S as $e,aU as De,aV as We,az as Ue,K as Je,A as Ge,b as He,aW as qe,a as Ve,aX as Be,aY as Ye,aZ as Xe,af as Ke,am as ze,a_ as Qe,a$ as Ze,b0 as ts,b1 as es,b2 as ss,b3 as ns,b4 as rs,b5 as is,a2 as as,M as os,b6 as ls,b7 as cs,k as ds,b8 as us,b9 as xs,a1 as ps,ba as fs,bb as ms,bc as gs,bd as bs,G as hs,be as ys,bf as js,bg as Ns,bh as vs,bi as ks,bj as ws,q as Es,a6 as As,bk as Is,ax as Cs,bl as Os,bm as Ts,bn as Rs,bo as _s,bp as Ls,aq as Ss,bq as Ms,f as Fs,aC as Ps,br as $s,bs as Ds,bt as Ws,an as Qt,_ as Us,W as Js,bu as Gs,a5 as Zt}from"./vendor-icons-B7OcUM6b.js";import{m as te,g as xt,H as Hs,e as qs,a as q,r as pt,s as Vs,b as Bs,c as ee}from"./EscalationListView-DWFHPufv.js";import{af as K,al as Ys,aF as ft,$ as Xs,a9 as Ks,s as zs,aG as Qs,J as Zs,aH as tn,O as en,aI as sn,ar as nn,aJ as rn,aK as an,i as on,M as se,au as ln,av as cn,aw as dn}from"./index-3gbd5neL.js";import{L as it}from"./vendor-react-_9U4mKFr.js";import{S as un}from"./StatusBadge-DHVwxre2.js";import{E as xn}from"./constants-CeBBTzf5.js";import{V as pn}from"./WorkflowPill-ZepbO_ny.js";const fn={SCHEMA_VALIDATION:"schema_validation"};function mn(t){return typeof t=="object"&&t!==null&&t.code===fn.SCHEMA_VALIDATION&&Array.isArray(t.violations)}function Ot(t,e={}){const r=te(e,t),n={_form_schema:t};for(const[i,a]of Object.entries(t.properties??{})){const o=a.type==="object"?{}:"";n[i]=r[i]??a.default??o}return JSON.stringify(n,null,2)}function U(t,e){const r=e==null?void 0:e.title;if(typeof r=="string"&&r.trim().length>0)return r.trim();const n=t.split(/[_-]+/).filter(Boolean);return n.length<=1?t:n.map(i=>gn(i)?i:i.charAt(0).toUpperCase()+i.slice(1)).join(" ")}function gn(t){return t.length>1&&t===t.toUpperCase()&&/[A-Z]/.test(t)}function ne({errors:t,schema:e}){const r=n=>{const i=document.querySelector(`[data-field-key="${n}"]`);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:n,message:i})=>{var a;return s.jsxs("button",{onClick:()=>r(n),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(rt,{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:U(n,(a=e==null?void 0:e.properties)==null?void 0:a[n])}),s.jsx("p",{className:"text-2xs text-text-tertiary group-hover:text-text-secondary transition-colors leading-snug mt-0.5",children:i})]})]},n)})}),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 bn=/\{\{\s*([^{}]+?)\s*\}\}/g;function et(t){return typeof t=="string"&&/\{\{[^{}]+\}\}/.test(t)}function Q(t,e){if(!e)return;const r=t.indexOf("."),n=e[r===-1?t:t.slice(0,r)];if(r===-1)return n;if(!(n===null||typeof n!="object"))return xt(n,t.slice(r+1))}function mt(t,e){let r=!1;const n=t.replace(bn,(i,a)=>{const o=Q(a,e);return typeof o=="string"&&o.trim().length>0?o:typeof o=="number"&&Number.isFinite(o)?String(o):(r=!0,"")});return r?null:n}const re="x-lt-options";function Tt(t){return typeof t=="string"||typeof t=="boolean"||typeof t=="number"&&Number.isFinite(t)}function hn(t){return Array.isArray(t)&&t.length>0&&!t.some(e=>typeof e=="string")}function Rt(t){if(Tt(t))return{value:t,label:String(t)};if(t&&typeof t=="object"&&!Array.isArray(t)){const e=t,r=e.value!==void 0?e.value:e.id;if(Tt(r)&&typeof e.label=="string"&&e.label.length>0)return{value:r,label:e.label}}return null}function gt(t,e){if(!t)return;const r=t.enum;if(Array.isArray(r)&&r.length>0)return r.map(o=>({value:o,label:String(o)}));const n=t[re];if(hn(n)){const o=n.map(Rt).filter(l=>l!==null);return o.length>0?o:void 0}const i=(typeof n=="string"?[n]:Array.isArray(n)?n:[]).filter(o=>typeof o=="string"&&o.length>0);if(i.length===0)return;const a=i.some(et)?[]:void 0;for(const o of i){let l=o;if(et(o)){const c=mt(o,e);if(c===null)continue;l=c}const d=Q(l,e);if(!Array.isArray(d))continue;const u=d.map(Rt).filter(c=>c!==null);if(u.length>0)return u}return a}function bt(t,e){const r=(typeof t=="string"?[t]:Array.isArray(t)?t:[]).filter(n=>typeof n=="string"&&n.length>0);if(r.length===0||!e)return[];for(const n of r){let i=n;if(et(n)){const o=mt(n,e);if(o===null)continue;i=o}const a=Q(i,e);if(Array.isArray(a)&&a.length>0)return a}return[]}const yn="x-lt-default-checked";function jn(t,e,r){if((t==null?void 0:t["x-lt-widget"])!=="checklist"||t[yn]!==!0||e&&typeof e=="object"&&!Array.isArray(e)&&Object.keys(e).length>0)return null;const n=bt(t["x-lt-source"],r);return n.length===0?null:Object.fromEntries(n.map(i=>[i.id,!0]))}function Nn(t,e,r){if((e==null?void 0:e["x-lt-widget"])!=="checklist"||e["x-lt-require-all"]!==!0)return;const i=bt(e["x-lt-source"],r).filter(l=>l.required!==!1);if(i.length===0)return;const a=typeof t=="object"&&t!==null&&!Array.isArray(t)?t:{},o=i.filter(l=>!a[l.id]).length;if(o!==0)return`${o} of ${i.length} checks incomplete`}const _t="Invalid JSON";function st(t){return(t==null?void 0:t["x-lt-widget"])==="json"}function ie(t){return st(t)||(t==null?void 0:t[re])!==void 0}function Lt(t,e){return`${t} ${e}${t===1?"":"s"}`}function ht(t,e){const r=e==null?void 0:e.type;if(typeof r=="string"&&!(t==null||t===""))switch(r){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:st(e)&&typeof t=="string"?_t:"Expected a list";case"object":return typeof t=="object"&&!Array.isArray(t)?void 0:st(e)&&typeof t=="string"?_t:"Expected an object";default:return}}function yt(t,e,r){if(!e)return;const n=gt(e,r);if(n!==void 0&&t!==void 0&&t!==null&&t!==""&&!Array.isArray(t)){if(n.length===0)return"No valid options for this selection";if(!n.some(i=>i.value===t))return`Must be one of: ${n.map(i=>String(i.value)).join(", ")}`}if(Array.isArray(t))return ie(e)?vn(t,e,n,r):void 0;if(t!==null&&typeof t=="object")return kn(t,e,r);if(typeof t=="string"){const i=t.trim();if(i==="")return;const a=H(e.minLength,e["x-lt-min-length"],r);if(a!==void 0&&i.length<a)return`Minimum ${a} character${a===1?"":"s"}`;const o=H(e.maxLength,e["x-lt-max-length"],r);if(o!==void 0&&i.length>o)return`Maximum ${o} characters (${i.length} entered)`;const l=e.pattern;if(l)try{if(!new RegExp(l).test(i))return e["x-lt-pattern-error"]??"Invalid format"}catch{}const d=e.format;if(d==="email"&&!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(i))return"Enter a valid email address";if(d==="uri"&&!/^https?:\/\/.+/.test(i))return"Enter a valid URL"}if(typeof t=="number"){const i=H(e.minimum,e["x-lt-minimum"],r),a=H(e.exclusiveMinimum,void 0,r),o=H(e.maximum,e["x-lt-maximum"],r),l=H(e.exclusiveMaximum,void 0,r);if(i!==void 0&&t<i)return`Minimum value is ${i}`;if(a!==void 0&&t<=a)return`Must be greater than ${a}`;if(o!==void 0&&t>o)return`Maximum value is ${o}`;if(l!==void 0&&t>=l)return`Must be less than ${l}`}}function vn(t,e,r,n){if(t.length===0)return;if(r!==void 0){if(r.length===0)return"No valid options for this selection";if(t.some(l=>!r.some(d=>d.value===l)))return`Must be one of: ${r.map(l=>String(l.value)).join(", ")}`}const i=H(e.minItems,void 0,n);if(i!==void 0&&t.length<i)return`At least ${Lt(i,"item")}`;const a=H(e.maxItems,void 0,n);if(a!==void 0&&t.length>a)return`At most ${Lt(a,"item")}`;const o=e.items;if(o&&typeof o=="object"&&!Array.isArray(o)){const l=o;for(let d=0;d<t.length;d++){const u=ht(t[d],l)??yt(t[d],l,n);if(u)return`Item ${d+1}: ${u}`}}}function kn(t,e,r){const n=Object.entries(t);if(n.length===0)return;const i=e.propertyNames,a=Array.isArray(i==null?void 0:i.enum)?i.enum.map(String):void 0;if(a){const l=n.find(([d])=>!a.includes(d));if(l)return`Unknown key "${l[0]}". Allowed: ${a.join(", ")}`}const o=e.additionalProperties;if(o&&typeof o=="object"&&!Array.isArray(o)){const l=o;for(const[d,u]of n){const c=ht(u,l)??yt(u,l,r);if(c)return`"${d}": ${c}`}}}function H(t,e,r){if(typeof t=="number")return t;if(typeof e=="string"&&r){const n=e.indexOf(".");if(n!==-1){const i=e.slice(0,n),a=e.slice(n+1),o=r[i];if(o&&typeof o=="object"){const l=a.split(".");let d=o;for(const u of l)if(d=d[u],d===void 0)break;if(typeof d=="number")return d;if(typeof d=="string"){const u=Number(d);if(!Number.isNaN(u))return u}}}}}function ae(t,e,r,n,i){if(!n)return;if(r){if(t==null||typeof t=="boolean"&&!t&&gt(e,i)===void 0||typeof t=="string"&&t.trim()===""||Array.isArray(t)&&t.length===0&&ie(e))return"Required";if(typeof t=="object"&&!Array.isArray(t)&&t!==null){const l=Object.values(t);if(l.length===0||!st(e)&&l.every(d=>!d))return"Required"}}const a=ht(t,e);if(a)return a;const o=Nn(t,e,i);return o||yt(t,e,i)}function St(t){return t!=null&&t!==""&&t!==!1&&t!==0}function wn(t){return t==null?"":typeof t=="object"?JSON.stringify(t):String(t)}function Mt(t,e){const r=t.indexOf("."),n=r===-1?t:t.slice(0,r);if(!Hs.includes(n))return{known:!1,value:void 0};const i=e[n];if(r===-1)return{known:!0,value:i};try{return{known:!0,value:xt(i,t.slice(r+1))}}catch{return{known:!0,value:void 0}}}function X(t,e){if(Array.isArray(t))return t.every(d=>X(d,e));if(typeof t!="string"||t.length===0||!e)return!0;const r=t.startsWith("!"),n=r?t.slice(1):t,i=n.indexOf("!="),a=n.indexOf("=");if(i!==-1||a!==-1&&a!==i+1){const d=i!==-1&&(a===-1||i<a),u=d?i:a,c=n.slice(0,u).trim(),x=n.slice(u+(d?2:1)).trim(),{known:p,value:m}=Mt(c,e);if(!p)return!0;const b=wn(m)===x,f=d?!b:b;return r?!f:f}const{known:o,value:l}=Mt(n,e);return o?r?!St(l):St(l):!0}function En(t,e){return(t==null?void 0:t["x-lt-hide-if-empty"])!==!0?!1:e==null||e===""||e===!1||e===0}const An="x-lt-require-any";function In(t){const e=t==null?void 0:t[An];return Array.isArray(e)?e.filter(r=>Array.isArray(r)).map(r=>r.filter(n=>typeof n=="string"&&n.length>0)).filter(r=>r.length>0):[]}function Cn(t){return t==null?!1:typeof t=="string"?t.trim().length>0:!0}const On="x-lt-require-sum";function Tn(t){const e=t==null?void 0:t[On];if(!Array.isArray(e))return[];const r=[];for(const n of e){if(!n||typeof n!="object"||Array.isArray(n))continue;const{fields:i,minimum:a}=n;if(!Array.isArray(i))continue;const o=i.filter(l=>typeof l=="string"&&l.length>0);o.length!==0&&(a!==void 0&&typeof a!="number"||r.push({fields:o,minimum:typeof a=="number"?a:1}))}return r}function Rn(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 oe(t,e,r){if(!t)return[];const n=t.properties??{},i=new Set(t.required??[]),a={...r??{},resolver:e,input:e},o=[];for(const[l,d]of Object.entries(n)){if(!X(d["x-lt-showIf"],a))continue;const u=ae(e[l],d,i.has(l),!0,a);u&&o.push({field:l,message:u})}for(const l of In(t)){const d=l.filter(c=>n[c]&&X(n[c]["x-lt-showIf"],a));if(d.length===0||d.some(c=>Cn(e[c])))continue;const u=d.map(c=>n[c].title??c);o.push({field:d[0],message:`Enter a value for at least one of: ${u.join(", ")}`})}for(const l of Tn(t)){const d=l.fields.filter(x=>n[x]&&X(n[x]["x-lt-showIf"],a));if(d.length===0||d.reduce((x,p)=>x+Rn(e[p]),0)>=l.minimum)continue;const c=d.map(x=>n[x].title??x);o.push({field:d[0],message:`Combined value of ${c.join(", ")} must be at least ${l.minimum}`})}return o}function _n(t,e,r){if(!t)return[];const n=te(e,t);return oe(t,n,r)}function Ft(t,e){let r;try{r=JSON.parse(t)}catch{return{payload:null,errors:[],parseError:"Invalid JSON"}}const n=r._form_schema;if(n){const o=oe(n,r,e);if(o.length>0)return{payload:null,errors:o,parseError:null}}const{_form_schema:i,...a}=r;return{payload:qs(a,n),errors:[],parseError:null}}const Ln=2600;function Sn({hint:t,onLockedClick:e,children:r}){const[n,i]=g.useState(null);g.useEffect(()=>{if(!n)return;const o=setTimeout(()=>i(null),Ln);return()=>clearTimeout(o)},[n]);const a=o=>{if(e==null||e(),t){const l=Math.min(Math.max(o.clientX,96),window.innerWidth-96);i(d=>({x:l,y:o.clientY,n:((d==null?void 0:d.n)??0)+1}))}};return s.jsxs("div",{className:"pb-8 max-w-form",onClick:a,"data-testid":"locked-form-frame",children:[r,t&&n&&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:n.x,top:n.y-12},onAnimationEnd:()=>i(null),"data-testid":"locked-form-hint",children:[s.jsx(Xt,{className:"w-3.5 h-3.5 text-accent shrink-0",strokeWidth:1.5}),t]},n.n)]})}function R({children:t,isRequired:e,htmlFor:r}){return s.jsxs("label",{htmlFor:r,className:"block text-2xs font-semibold uppercase tracking-wider text-text-secondary",children:[t,e&&s.jsx("span",{className:"text-status-error ml-0.5",children:"*"})]})}function P({id:t,children:e}){return s.jsx("p",{id:t,className:"text-2xs text-text-tertiary mt-0.5 leading-snug",children:e})}function D({error:t,id:e}){return t?s.jsx("p",{id:e,role:"alert",className:"text-2xs text-status-error mt-1 animate-[field-error-in_0.3s_ease-out]",children:t}):null}function Y(t){return t?"input text-sm w-full mt-1 border-status-error/50 focus:border-status-error animate-[field-shake_0.4s_ease-in-out]":"input text-sm w-full mt-1"}function Mn(t){return t?"select text-sm mt-1 min-w-[min(16rem,100%)] max-w-full border-status-error/50 focus:border-status-error animate-[field-shake_0.4s_ease-in-out]":"select text-sm mt-1 min-w-[min(16rem,100%)] max-w-full"}function Fn({fieldKey:t,value:e,onChange:r,schema:n,isRequired:i}){const a=g.useRef(null),o=(n==null?void 0:n.accept)??void 0,l=U(t,n),d=n==null?void 0:n.description,u=g.useCallback(x=>{var b;const p=(b=x.target.files)==null?void 0:b[0];if(!p)return;const m=new FileReader;m.onload=()=>{typeof m.result=="string"&&r(m.result)},m.readAsDataURL(p)},[r]),c=e.startsWith("data:");return s.jsxs("div",{children:[s.jsx(R,{isRequired:i,children:l}),d&&s.jsx("p",{className:"text-2xs text-text-tertiary mt-0.5",children:d}),s.jsxs("div",{className:"mt-1",children:[s.jsx("input",{ref:a,type:"file",accept:o,onChange:u,className:"hidden"}),s.jsx("button",{type:"button",onClick:()=>{var x;return(x=a.current)==null?void 0:x.click()},className:"btn-secondary text-xs px-3 py-1.5",children:c?"Replace file":"Choose file"}),c&&s.jsx("span",{className:"ml-2 text-xs text-status-success",children:"File attached"})]})]})}function Pn({fieldKey:t,value:e,onChange:r,schema:n,isRequired:i}){const a=U(t,n),o=n==null?void 0:n.description,l=(n==null?void 0:n["x-lt-language"])??"",d=g.useCallback(u=>{if(u.key==="Tab"){u.preventDefault();const c=u.currentTarget,x=c.selectionStart,p=c.selectionEnd,m=e.substring(0,x)+" "+e.substring(p);r(m),requestAnimationFrame(()=>{c.selectionStart=c.selectionEnd=x+2})}},[e,r]);return s.jsxs("div",{children:[s.jsxs(R,{isRequired:i,children:[a,l&&s.jsx("span",{className:"ml-2 text-text-tertiary/60 normal-case font-normal",children:l})]}),o&&s.jsx("p",{className:"text-2xs text-text-tertiary mt-0.5",children:o}),s.jsx("textarea",{value:e,onChange:u=>r(u.target.value),onKeyDown:d,className:"input w-full mt-1 font-mono text-xs leading-relaxed",rows:10,spellCheck:!1})]})}function $n({fieldKey:t,value:e,onChange:r,schema:n,isRequired:i}){const a=g.useRef(null),[o,l]=g.useState(!1),d=U(t,n),u=n==null?void 0:n.description;g.useEffect(()=>{const f=a.current;if(!f)return;const h=f.getContext("2d");if(h&&(h.lineWidth=2,h.lineCap="round",h.strokeStyle="#1E1535",e&&e.startsWith("data:"))){const j=new Image;j.onload=()=>h.drawImage(j,0,0),j.src=e}},[]);const c=g.useCallback(f=>{const h=a.current,j=h.getBoundingClientRect(),A=j.width>0?h.width/j.width:1,y=j.height>0?h.height/j.height:1;return"touches"in f?{x:(f.touches[0].clientX-j.left)*A,y:(f.touches[0].clientY-j.top)*y}:{x:(f.clientX-j.left)*A,y:(f.clientY-j.top)*y}},[]),x=g.useCallback(f=>{var A;l(!0);const h=(A=a.current)==null?void 0:A.getContext("2d");if(!h)return;const j=c(f);h.beginPath(),h.moveTo(j.x,j.y)},[c]),p=g.useCallback(f=>{var A;if(!o)return;const h=(A=a.current)==null?void 0:A.getContext("2d");if(!h)return;const j=c(f);h.lineTo(j.x,j.y),h.stroke()},[o,c]),m=g.useCallback(()=>{l(!1);const f=a.current;f&&r(f.toDataURL("image/png"))},[r]),b=g.useCallback(()=>{const f=a.current;if(!f)return;const h=f.getContext("2d");h&&(h.clearRect(0,0,f.width,f.height),r(""))},[r]);return s.jsxs("div",{children:[s.jsx(R,{isRequired:i,children:d}),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:a,width:400,height:150,className:"w-full cursor-crosshair touch-none",onMouseDown:x,onMouseMove:p,onMouseUp:m,onMouseLeave:m,onTouchStart:x,onTouchMove:p,onTouchEnd:m})}),s.jsx("button",{type:"button",onClick:b,className:"mt-1 text-2xs text-text-tertiary hover:text-accent transition-colors",children:"Clear"})]})}function Dn({fieldKey:t,value:e,onChange:r,schema:n,isRequired:i}){const a=U(t,n),o=n==null?void 0:n.description;return s.jsxs("div",{children:[s.jsx(R,{isRequired:i,children:a}),o&&s.jsx("p",{className:"text-2xs text-text-tertiary mt-0.5",children:o}),s.jsx("textarea",{value:e,onChange:l=>r(l.target.value),className:"input w-full mt-1 text-sm leading-relaxed",rows:8,placeholder:"Supports plain text. Markdown formatting is preserved."})]})}function Wn({fieldKey:t,value:e,onChange:r,schema:n,isRequired:i}){const[a,o]=g.useState("write"),l=U(t,n),d=n==null?void 0:n.description;return(n==null?void 0:n.readOnly)===!0?s.jsx(K,{content:e,className:"my-1"}):s.jsxs("div",{children:[s.jsxs("div",{className:"flex items-center justify-between",children:[s.jsx(R,{isRequired:i,children:l}),s.jsx("div",{className:"flex items-center gap-0.5",children:["write","preview"].map(c=>s.jsx("button",{type:"button",onClick:()=>o(c),className:`px-2 py-0.5 text-2xs rounded transition-colors ${a===c?"bg-accent/10 text-accent font-semibold":"text-text-quaternary hover:text-text-secondary"}`,children:c==="write"?"Write":"Preview"},c))})]}),d&&s.jsx("p",{className:"text-2xs text-text-tertiary mt-0.5",children:d}),a==="write"?s.jsx("textarea",{value:e,onChange:c=>r(c.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(K,{content:e}):s.jsx("p",{className:"text-xs text-text-quaternary italic",children:"Nothing to preview."})})]})}const Un=28;function Jn({fieldKey:t,value:e,onChange:r,schema:n,escalationContext:i,isRequired:a,submitAttempted:o,error:l}){const d=(n==null?void 0:n["x-lt-require-all"])===!0,u=bt(n==null?void 0:n["x-lt-source"],i);let c={};try{e&&(c=JSON.parse(e))}catch{}const x=(()=>{const y=jn(n,c,i);return y?JSON.stringify(y):null})();g.useEffect(()=>{x&&r(x)},[x]);const p=y=>r(JSON.stringify({...c,[y]:!c[y]})),m=U(t,n),b=n==null?void 0:n.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 f=n==null?void 0:n["x-lt-variant"],h=f==="chips"||f==="rows"?f:d||u.some(y=>y.label.length>Un)?"rows":"chips",j=u.filter(y=>c[y.id]).length,A=(u.find(y=>!c[y.id]&&y.required!==!1)??u[0]).id;return s.jsxs("div",{role:"group","aria-label":m,"aria-required":a||void 0,"aria-invalid":l?!0:void 0,children:[s.jsx(R,{isRequired:a,children:m}),b&&s.jsx(P,{children:b}),h==="chips"?s.jsx("div",{className:"flex flex-wrap gap-2 mt-2",children:u.map(y=>{const N=c[y.id]??!1,v=!N&&!!o&&j===0&&(y.required||a);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:()=>p(y.id),className:"sr-only","data-testid":`checklist-item-${y.id}`,...y.id===A?{"data-field-key":t}:{}}),N&&s.jsx(Kt,{className:"w-3.5 h-3.5 shrink-0",strokeWidth:2.5}),y.label]},y.id)})}):s.jsx("div",{className:"space-y-2.5 mt-2",children:u.map(y=>{const N=c[y.id]??!1,v=!N&&!!o&&(d?y.required!==!1:j===0&&(y.required||a));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:()=>p(y.id),className:`mt-0.5 w-3.5 h-3.5 shrink-0 rounded ${v?"accent-status-error":"accent-accent"}`,"data-testid":`checklist-item-${y.id}`,...y.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:[y.label,y.required&&s.jsx("span",{className:`ml-0.5 text-2xs ${v?"text-status-error":"text-text-quaternary"}`,children:"*"})]})]},y.id)})}),s.jsx("p",{className:"text-2xs text-text-quaternary mt-3 tabular-nums",children:h==="chips"?s.jsxs(s.Fragment,{children:[j," selected",a&&j===0&&!!o&&s.jsx("span",{className:"ml-1 text-text-quaternary/60",children:"(check at least one)"})]}):s.jsxs(s.Fragment,{children:[j," / ",u.length," confirmed",d?s.jsxs("span",{className:"ml-1 text-text-quaternary/60",children:["(all required",u.some(y=>y.required===!1)?" except optional":"",")"]}):a&&j===0&&!!o&&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 Gn=/\.(png|jpe?g|gif|webp|avif|bmp|svg)(\?.*)?$/i;function Hn(t){var n,i,a,o;const e=t.trim();if(!e)return{kind:"none"};const r=(i=(n=/^data:([^;,]+)[;,]/.exec(e))==null?void 0:n[1])==null?void 0:i.toLowerCase();if(r)return r.startsWith("image/")?{kind:"image",src:e}:{kind:"file",href:e,label:r==="application/pdf"?"PDF":r,isData:!0};if(/^https?:\/\//i.test(e)){if(Gn.test(e))return{kind:"image",src:e};const l=(o=(a=/\.([a-z0-9]{2,5})(\?.*)?$/i.exec(e))==null?void 0:a[1])==null?void 0:o.toUpperCase();return{kind:"file",href:e,label:l??"attachment",isData:!1}}return{kind:"none"}}function Pt({fieldKey:t,value:e,schema:r}){const[n,i]=g.useState(!1),a=Hn(e??""),o=t.replace(/[_-]/g," "),l=r==null?void 0:r.description,d=s.jsxs(s.Fragment,{children:[s.jsx("label",{className:"text-2xs font-semibold uppercase tracking-widest text-text-tertiary",children:o}),l&&s.jsx("p",{className:"text-2xs text-text-tertiary mt-0.5",children:l})]});return a.kind==="none"?s.jsxs("div",{children:[d,s.jsx("p",{className:"text-xs text-text-quaternary italic mt-1",children:"No attachment"})]}):a.kind==="image"?s.jsxs("div",{children:[d,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:a.src,alt:t.replace(/[_-]/g," "),className:"max-h-48 max-w-full object-contain","data-testid":`attachment-image-${t}`})}),n&&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":`${o} — full size`,children:s.jsx("img",{src:a.src,alt:o,className:"max-h-[90vh] max-w-[90vw] object-contain"})})]})]}):s.jsxs("div",{children:[d,s.jsx("div",{className:"mt-1",children:s.jsxs("a",{href:a.href,...a.isData?{download:`${t}.${a.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(je,{className:"w-3.5 h-3.5",strokeWidth:1.5}),a.isData?`Download ${a.label}`:`Open ${a.label}`,a.isData?s.jsx(zt,{className:"w-3 h-3",strokeWidth:1.5}):s.jsx(dt,{className:"w-3 h-3",strokeWidth:1.5})]})})]})}function qn({fieldKey:t,schema:e,escalationContext:r}){const n=(e==null?void 0:e["x-lt-href"])??"",i=n&&r?q(n,r):n,a=(e==null?void 0:e.title)??(e==null?void 0:e.description)??"Open",o=e==null?void 0:e.description,l=i.startsWith("/"),d=!i.trim();return s.jsxs("div",{"data-field-key":t,children:[s.jsx(R,{children:a}),o&&s.jsx(P,{children:o}),s.jsx("div",{className:"mt-1",children:d?s.jsx("span",{className:"text-xs text-text-quaternary italic",children:"No link configured"}):l?s.jsxs(it,{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:[a,s.jsx(dt,{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:[a,s.jsx(dt,{className:"w-3 h-3 shrink-0",strokeWidth:1.5})]})})]})}function le({to:t,className:e=""}){return s.jsxs(it,{to:t,title:"View details",tabIndex:-1,className:`inline-flex items-center justify-center w-6 h-6 shrink-0 rounded border border-surface-border text-accent/70 hover:text-accent hover:border-accent/60 hover:bg-accent/5 transition-colors ${e}`,children:[s.jsx(Ne,{className:"w-3.5 h-3.5",strokeWidth:2}),s.jsx("span",{className:"sr-only",children:"View details"})]})}const $t="—";function Vn(t,e){if(!t||!e)return"";const r=t.indexOf(".");if(r===-1)return"";const n=t.slice(0,r),i=t.slice(r+1);try{const a=xt(e[n],i);return typeof a=="string"?a:""}catch{return""}}function Bn(t,e){if(!t||t===$t)return $t;if(e==="age"){const r=new Date(t);return Number.isNaN(r.getTime())?t:ft(t)}return t}function Yn({fieldKey:t,schema:e,escalationContext:r}){const n=e==null?void 0:e["x-lt-source"],i=(e==null?void 0:e["x-lt-fields"])??[],a=(e==null?void 0:e.title)??"Linked escalation",o=e==null?void 0:e.description,l=Vn(n,r),{data:d,isLoading:u,isError:c}=Ys(l);return s.jsxs("div",{"data-field-key":t,children:[s.jsx(R,{children:a}),o&&s.jsx(P,{children:o}),s.jsx("div",{className:"mt-1",children:!l||c?s.jsx("p",{className:"text-xs text-text-quaternary italic","data-testid":`escalation-widget-empty-${t}`,children:"No linked record"}):u?s.jsx(Kn,{}):d?s.jsx(Xn,{esc:d,fields:i,fieldKey:t}):s.jsx("p",{className:"text-xs text-text-quaternary italic",children:"No linked record"})})]})}function Xn({esc:t,fields:e,fieldKey:r}){if(!t)return null;const n=pt(t);return s.jsxs("div",{className:"border-l-2 border-accent-faint pl-3 py-2 space-y-2","data-testid":`escalation-widget-card-${r}`,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(un,{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 a=q(i.value,n),o=Bn(a,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:o})]},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(le,{to:`/escalations/detail/${t.id}`})]})]})}function Kn(){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 zn(t,e){if(!t)return{};const r={};for(const[n,i]of Object.entries(t))r[n]=typeof i=="string"?q(i,e):i;return r}function Qn(t,e,r){const n=zn(t.facets,e),i={role:t.role,status:t.status??"pending",facets:n,limit:t.limit,enabled:!!(t.role||Object.keys(n).length)};return t.assigned==="me"?{...i,assigned_to:r,available:!1,enabled:i.enabled&&!!r}:t.assigned==="any"?i:{...i,available:t.available??!0}}const Zn=[{label:"Description",value:"{{escalation.description}}"},{label:"Role",value:"{{escalation.role}}"},{label:"Age",value:"{{escalation.created_at}}",format:"age"}],Dt="—";function tr(t,e){if(!t||t===Dt)return Dt;if(e==="age"){const r=new Date(t);return Number.isNaN(r.getTime())?t:ft(t)}return t}function ut(t,e){return typeof t=="string"?q(t,e):Array.isArray(t)?t.map(r=>ut(r,e)):t&&typeof t=="object"?Object.fromEntries(Object.entries(t).map(([r,n])=>[r,ut(n,e)])):t}function er({fieldKey:t,schema:e,escalationContext:r}){const n=(e==null?void 0:e["x-lt-query"])??{},i=(e==null?void 0:e["x-lt-columns"])??Zn,a=(e==null?void 0:e["x-lt-actions"])??[],o=(e==null?void 0:e.title)??"Related items",l=e==null?void 0:e.description,d=r??{},{user:u}=Xs(),c=Qn(n,d,u==null?void 0:u.userId),{data:x,isLoading:p}=Ks({role:c.role,status:c.status,facets:c.facets,assigned_to:c.assigned_to,available:c.available,limit:c.limit??5,enabled:c.enabled,include:Vs({columns:i,actions:a})?"envelope":void 0}),m=(x==null?void 0:x.escalations)??[],b=zs(),[f,h]=g.useState({}),[j,A]=g.useState(null),y=async(N,v)=>{const k=pt(N);if(!(v.confirm&&!window.confirm(q(v.confirm,k)))){A(N.id),h(C=>({...C,[N.id]:""}));try{await b.mutateAsync({id:N.id,resolverPayload:ut(v.resolverPayload,k)})}catch(C){h(M=>({...M,[N.id]:C.message}))}finally{A(null)}}};return s.jsxs("div",{"data-field-key":t,children:[s.jsx(R,{children:o}),l&&s.jsx(P,{children:l}),s.jsx("div",{className:"mt-1","data-testid":`escalation-list-widget-${t}`,children:p?s.jsx(nr,{columns:i.length}):s.jsx(sr,{escalations:m,columns:i,fieldKey:t,actions:a,onAction:y,pendingRow:j,rowErrors:f})})]})}function sr({escalations:t,columns:e,fieldKey:r,actions:n,onAction:i,pendingRow:a,rowErrors:o}){return t.length===0?s.jsx("p",{className:"text-xs text-text-quaternary italic py-1","data-testid":`escalation-list-empty-${r}`,children:"No items found"}):s.jsxs("table",{className:"w-full text-xs border-collapse","data-testid":`escalation-list-table-${r}`,children:[s.jsx("thead",{children:s.jsxs("tr",{className:"border-b border-surface-border",children:[e.map(l=>s.jsx("th",{className:"text-left text-2xs font-semibold uppercase tracking-wider text-text-tertiary pb-1 pr-3 last:pr-0",children:l.label},l.label)),n.length>0&&s.jsx("th",{className:"w-px"}),s.jsx("th",{className:"w-8"})]})}),s.jsx("tbody",{children:t.map(l=>{const d=pt(l),u=o[l.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(c=>{const x=q(c.value,d),p=tr(x,c.format);return s.jsx("td",{className:"py-1 pr-3 last:pr-0 text-text-primary align-top",children:p},c.label)}),n.length>0&&s.jsxs("td",{className:"py-1 pr-2 align-top whitespace-nowrap",children:[n.map(c=>s.jsx("button",{type:"button",onClick:()=>i(l,c),disabled:a===l.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-${l.id}`,children:c.label},c.label)),u&&s.jsx("p",{className:"text-2xs text-status-error mt-0.5 whitespace-normal max-w-[16rem]","data-testid":`escalation-list-action-error-${l.id}`,children:u})]}),s.jsx("td",{className:"py-1 pl-2 align-top",children:s.jsx(le,{to:`/escalations/detail/${l.id}`})})]},l.id)})})]})}function nr({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},(r,n)=>s.jsx("div",{className:"h-3 bg-surface-sunken rounded flex-1"},n))},e))})}function ce(t,e){return{metadata:t??{},...e?{lookup:e}:{}}}const rr="x-lt-invoke",z={LINK:"link",BUTTON:"button"},ir=/^\{\{\s*([^{}]+?)\s*\}\}$/;function tt(t){return!!t&&typeof t=="object"&&!Array.isArray(t)}function ar(t){return t===z.LINK||t===z.BUTTON}function or(t){const e=t==null?void 0:t[rr];if(!tt(e))return null;const r=e.workflow;if(typeof r!="string"||r.trim().length===0)return null;const n=e.confirm;return{workflow:r.trim(),data:tt(e.data)?e.data:{},metadata:tt(e.metadata)?e.metadata:{},modal:e.modal===!0,confirm:typeof n=="string"&&n.trim().length>0?n:null,variant:ar(e.variant)?e.variant:z.LINK,icon:e.icon!==!1}}function nt(t,e){if(typeof t=="string"){const r=ir.exec(t);if(r){const n=Q(r[1],e??void 0);return n===null?void 0:n}return et(t)?mt(t,e??void 0)??void 0:t}if(Array.isArray(t))return t.map(r=>nt(r,e)).filter(r=>r!==void 0);if(tt(t)){const r={};for(const[n,i]of Object.entries(t)){const a=nt(i,e);a!==void 0&&(r[n]=a)}return r}return t}function lr(t,e){return{data:nt(t.data,e),metadata:nt(t.metadata,e)}}const jt={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"},cr=new Set(Object.values(jt));function dr(t){return typeof t=="string"&&cr.has(t)}const ur={Activity:Us,AlertTriangle:Qt,Archive:Ws,Award:Ds,Barcode:$s,Bell:Ps,Bot:Fs,Box:Ms,Boxes:Ss,Building2:Ls,Calendar:_s,Camera:Rs,ClipboardCheck:Ts,ClipboardList:Os,Clock:Cs,Cog:Is,Cpu:As,Database:Es,Download:zt,Droplets:ws,Factory:ks,Fan:vs,FileText:Ns,Flag:js,Flame:ys,Gauge:hs,Hammer:bs,Heart:gs,Image:ms,Key:fs,Layers:ps,Leaf:xs,LifeBuoy:us,ListChecks:ds,Lock:Xt,Mail:cs,Map:ls,Megaphone:os,MessageSquare:as,Package:is,Palette:rs,PenTool:ns,Pill:ss,Power:es,Printer:ts,Receipt:Ze,Recycle:Qe,RefreshCw:ze,Rocket:Ke,Route:Xe,Ruler:Ye,Scale:Be,ScanBarcode:Ve,Scissors:qe,Search:He,Send:Ge,Server:Je,ShieldCheck:Ue,ShoppingCart:We,Snowflake:De,Sparkles:$e,Star:Pe,Store:Fe,Sun:Me,Tag:Se,TestTube:Le,Thermometer:_e,Trash2:Re,Truck:Te,Upload:Oe,User:Ce,Users:Ie,Wand2:Ae,Warehouse:Ee,Wifi:we,Wrench:ke,Zap:ve},Wt=Object.values(jt),xr=Object.fromEntries(Object.entries(jt).map(([t,e])=>[e,t]));function pr(t){return dr(t)?ur[t]:null}function Zr(t){const e=t.trim().toLowerCase().replace(/[\s_-]+/g,"");return e?Wt.filter(r=>r.toLowerCase().includes(e)||xr[r].toLowerCase().replace(/_/g,"").includes(e)):[...Wt]}function Nt({icon:t,tier:e,className:r,strokeWidth:n=1.5}){const i=pr(t)??pn[e]??Js;return s.jsx(i,{className:r,strokeWidth:n,"aria-hidden":!0})}const S={RUNNING:"running",COMPLETED:"completed",FAILED:"failed"};function Ut(t,e){return`lt.events.system.workflow.${t}.${e}`}function vt(t){const[e,r]=g.useState(S.RUNNING),[n,i]=g.useState(void 0);return g.useEffect(()=>{r(S.RUNNING),i(void 0)},[t]),Qs(t?[Ut(t,"completed"),Ut(t,"failed")]:[],a=>{a.workflowId===t&&(r(a.type.endsWith(".failed")?S.FAILED:S.COMPLETED),i(a.data))}),{outcome:e,payload:n}}const fr={[S.RUNNING]:"Working…",[S.COMPLETED]:"Completed",[S.FAILED]:"Failed"};function de({outcome:t,className:e=""}){const r=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 ${r} ${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 ue({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(tn,{data:t})})}function mr({workflowId:t,outcome:e,executionPath:r}){const n=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:n,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}),r&&s.jsxs(s.Fragment,{children:[s.jsx("span",{className:"text-text-quaternary",children:"·"}),s.jsx(it,{to:r,className:"text-accent hover:underline shrink-0",children:"View workflow →"})]})]})}function gr({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(Zs,{data:t,label:"Result"})})}const br="/workflows/executions",$={PAGE:"page",MODAL:"modal"};function xe(t,e){const{realIsBuilder:r}=en(),n=sn(),[i,a]=g.useState(null),[o,l]=g.useState([]),[d,u]=g.useState(null),c=g.useCallback(()=>{a(null),l([]),u(null),n.reset()},[n]);return{submit:g.useCallback(async(p,m)=>{a(null),l([]),u(null);const b={...m};e.certified&&(b.certified=!0);try{const f=await n.mutateAsync({workflowType:t.workflow_type,data:p,metadata:b,...e.overrideBot?{execute_as:e.overrideBot}:{}});u(f.workflowId)}catch(f){f instanceof nn&&mn(f.body)?(l(f.body.violations),a(f.body.error)):a(f instanceof Error?f.message:"Invocation failed")}},[n,e.certified,e.overrideBot,t.workflow_type]),reset:c,pending:n.isPending,error:i,violations:o,startedId:d,executionPath:d&&r?`${br}/${encodeURIComponent(d)}`:null}}function kt(){const{connected:t}=rn();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(Gs,{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 hr={[$.PAGE]:"sticky bottom-0 z-10 bg-surface border-t border-surface-border/40 pt-3 pb-16 -mb-16",[$.MODAL]:"border-t border-surface-border/40 pt-3"};function pe({onSubmit:t,onSubmitAgain:e,pending:r,error:n,issueCount:i=0,onShowIssues:a,startedId:o,executionPath:l,host:d=$.PAGE}){const u=d===$.PAGE,c=vt(u?o??"":""),x=u&&o!==null;return s.jsxs("div",{className:hr[d],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(kt,{}),i>0&&a?s.jsxs("button",{type:"button",onClick:a,className:"flex items-center gap-1.5 text-xs text-status-error hover:underline","data-testid":"invoke-issues",children:[s.jsx(rt,{className:"w-3.5 h-3.5",strokeWidth:1.5}),i," ",i===1?"issue":"issues"," to resolve"]}):n?s.jsx("p",{className:"text-xs text-status-error",role:"alert",children:n}):null,x&&s.jsx(mr,{workflowId:o,outcome:c.outcome,executionPath:l})]}),s.jsx("div",{className:"shrink-0",children:x?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:r,className:"btn-primary px-8 py-2","data-testid":"invoke-start",children:r?"Submitting…":"Submit"})})]}),x&&c.outcome!==S.RUNNING&&s.jsx(gr,{payload:c.payload})]})}const Z="invoke-help",yr=380,W={INSTRUCTIONS:"instructions",ISSUES:"issues"};function jr({view:t,onViewChange:e,onClose:r,helpMarkdown:n,errors:i,schema:a}){const o=[];n&&o.push({id:W.INSTRUCTIONS,icon:Zt,label:"Instructions",content:s.jsx(K,{content:n})}),o.push({id:W.ISSUES,icon:rt,label:"Issues",content:s.jsx(ne,{errors:i,schema:a})});const l=o.some(d=>d.id===t)?t:o[0].id;return s.jsx(on,{views:o,activeId:l,onViewChange:d=>e(d),onClose:r,stickyClassName:"h-full min-h-0",labelInline:!0})}function Nr({schema:t,context:e,errors:r,enabled:n=!0}){const i=an(),a=n?i==null?void 0:i.setPanel:void 0,o=n?i==null?void 0:i.closePanel:void 0,l=(i==null?void 0:i.ownerKey)??null,d=(i==null?void 0:i.open)??!1,[u,c]=g.useState(null),x=g.useMemo(()=>Bs(t,e),[t,e]),p=g.useCallback(()=>{c(null),o==null||o(Z)},[o]);g.useEffect(()=>{!a||!u||a(s.jsx(jr,{view:u,onViewChange:c,onClose:p,helpMarkdown:x,errors:r,schema:t}),{key:Z,width:yr})},[a,u,x,r,t,p]),g.useEffect(()=>{u&&d&&l&&l!==Z&&c(null)},[u,d,l]);const m=g.useRef(o);return m.current=o,g.useEffect(()=>()=>{var b;(b=m.current)==null||b.call(m,Z)},[]),{helpMarkdown:x,hasInstructions:!!x,open:u!==null,showInstructions:()=>c(W.INSTRUCTIONS),showIssues:()=>c(W.ISSUES),close:p}}function vr({selected:t,schema:e,metadata:r,lookup:n,submission:i,lead:a,prefill:o,host:l=$.PAGE}){const d=l===$.MODAL,[u,c]=g.useState(()=>Ot(e,o)),[x,p]=g.useState(!1),[m,b]=g.useState([]),[f,h]=g.useState(null),[j,A]=g.useState(null);g.useEffect(()=>{c(Ot(e,o)),p(!1),b([]),h(null),A(null),i.reset()},[t.workflow_type]);const y=g.useMemo(()=>({...ce(r,n),resolver:null}),[r,n]),N=g.useMemo(()=>{try{const T=JSON.parse(u);return{...y,resolver:T,input:T}}catch{return y}},[u,y]);g.useEffect(()=>{x&&b(Ft(u,y).errors)},[u,x,y]);const v=m.length>0?m:i.violations,k=Nr({schema:e,context:N,errors:v,enabled:!d}),C=d?()=>A(W.ISSUES):k.showIssues,M=d?()=>A(T=>T===W.INSTRUCTIONS?null:W.INSTRUCTIONS):k.showInstructions;g.useEffect(()=>{i.violations.length>0&&C()},[i.violations]);const E=()=>{p(!0);const T=Ft(u,y);if(T.parseError){h(T.parseError);return}if(h(null),T.errors.length>0){b(T.errors),C();return}b([]),i.submit(T.payload,r)},_=d&&j===W.ISSUES&&v.length>0,O=d&&j===W.INSTRUCTIONS&&k.helpMarkdown;return s.jsxs("div",{"data-testid":"rich-invoke-form",children:[s.jsxs("div",{className:"space-y-6 pb-6",children:[a,O&&s.jsx("div",{className:"px-4 py-3 bg-surface-hover","data-testid":"invoke-inline-help",children:s.jsx(K,{content:k.helpMarkdown})}),s.jsx(Hr,{value:u,onChange:c,submitAttempted:x,escalationContext:y,onOpenHelp:k.hasInstructions?M:void 0}),_&&s.jsx("div",{"data-testid":"invoke-inline-issues",children:s.jsx(ne,{errors:v,schema:e})})]}),s.jsx(pe,{onSubmitAgain:i.reset,onSubmit:E,pending:i.pending,error:f??i.error,issueCount:v.length,onShowIssues:C,startedId:i.startedId,executionPath:i.executionPath,host:l})]})}const Jt=`{
1
+ import{j as s,a as g}from"./vendor-query-DvWWuNIB.js";import{ai as rt,aj as Xt,ab as Kt,aH as je,aI as zt,aA as dt,aJ as Ne,Z as ve,aw as ke,aK as we,aL as Ee,m as Ae,p as Ie,U as Ce,aM as Oe,aN as Te,z as Re,aO as _e,aP as Le,aQ as Se,aR as Me,aS as Fe,aT as Pe,S as $e,aU as De,aV as We,az as Ue,K as Je,A as Ge,b as He,aW as qe,a as Ve,aX as Be,aY as Ye,aZ as Xe,af as Ke,am as ze,a_ as Qe,a$ as Ze,b0 as ts,b1 as es,b2 as ss,b3 as ns,b4 as rs,b5 as is,a2 as as,M as os,b6 as ls,b7 as cs,k as ds,b8 as us,b9 as xs,a1 as ps,ba as fs,bb as ms,bc as gs,bd as bs,G as hs,be as ys,bf as js,bg as Ns,bh as vs,bi as ks,bj as ws,q as Es,a6 as As,bk as Is,ax as Cs,bl as Os,bm as Ts,bn as Rs,bo as _s,bp as Ls,aq as Ss,bq as Ms,f as Fs,aC as Ps,br as $s,bs as Ds,bt as Ws,an as Qt,_ as Us,W as Js,bu as Gs,a5 as Zt}from"./vendor-icons-B7OcUM6b.js";import{m as te,g as xt,H as Hs,e as qs,a as q,r as pt,s as Vs,b as Bs,c as ee}from"./EscalationListView-CkBnkpDJ.js";import{af as K,al as Ys,aF as ft,$ as Xs,a9 as Ks,s as zs,aG as Qs,J as Zs,aH as tn,O as en,aI as sn,ar as nn,aJ as rn,aK as an,i as on,M as se,au as ln,av as cn,aw as dn}from"./index-CgUcYveM.js";import{L as it}from"./vendor-react-_9U4mKFr.js";import{S as un}from"./StatusBadge-DHVwxre2.js";import{E as xn}from"./constants-CeBBTzf5.js";import{V as pn}from"./WorkflowPill-ZepbO_ny.js";const fn={SCHEMA_VALIDATION:"schema_validation"};function mn(t){return typeof t=="object"&&t!==null&&t.code===fn.SCHEMA_VALIDATION&&Array.isArray(t.violations)}function Ot(t,e={}){const r=te(e,t),n={_form_schema:t};for(const[i,a]of Object.entries(t.properties??{})){const o=a.type==="object"?{}:"";n[i]=r[i]??a.default??o}return JSON.stringify(n,null,2)}function U(t,e){const r=e==null?void 0:e.title;if(typeof r=="string"&&r.trim().length>0)return r.trim();const n=t.split(/[_-]+/).filter(Boolean);return n.length<=1?t:n.map(i=>gn(i)?i:i.charAt(0).toUpperCase()+i.slice(1)).join(" ")}function gn(t){return t.length>1&&t===t.toUpperCase()&&/[A-Z]/.test(t)}function ne({errors:t,schema:e}){const r=n=>{const i=document.querySelector(`[data-field-key="${n}"]`);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:n,message:i})=>{var a;return s.jsxs("button",{onClick:()=>r(n),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(rt,{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:U(n,(a=e==null?void 0:e.properties)==null?void 0:a[n])}),s.jsx("p",{className:"text-2xs text-text-tertiary group-hover:text-text-secondary transition-colors leading-snug mt-0.5",children:i})]})]},n)})}),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 bn=/\{\{\s*([^{}]+?)\s*\}\}/g;function et(t){return typeof t=="string"&&/\{\{[^{}]+\}\}/.test(t)}function Q(t,e){if(!e)return;const r=t.indexOf("."),n=e[r===-1?t:t.slice(0,r)];if(r===-1)return n;if(!(n===null||typeof n!="object"))return xt(n,t.slice(r+1))}function mt(t,e){let r=!1;const n=t.replace(bn,(i,a)=>{const o=Q(a,e);return typeof o=="string"&&o.trim().length>0?o:typeof o=="number"&&Number.isFinite(o)?String(o):(r=!0,"")});return r?null:n}const re="x-lt-options";function Tt(t){return typeof t=="string"||typeof t=="boolean"||typeof t=="number"&&Number.isFinite(t)}function hn(t){return Array.isArray(t)&&t.length>0&&!t.some(e=>typeof e=="string")}function Rt(t){if(Tt(t))return{value:t,label:String(t)};if(t&&typeof t=="object"&&!Array.isArray(t)){const e=t,r=e.value!==void 0?e.value:e.id;if(Tt(r)&&typeof e.label=="string"&&e.label.length>0)return{value:r,label:e.label}}return null}function gt(t,e){if(!t)return;const r=t.enum;if(Array.isArray(r)&&r.length>0)return r.map(o=>({value:o,label:String(o)}));const n=t[re];if(hn(n)){const o=n.map(Rt).filter(l=>l!==null);return o.length>0?o:void 0}const i=(typeof n=="string"?[n]:Array.isArray(n)?n:[]).filter(o=>typeof o=="string"&&o.length>0);if(i.length===0)return;const a=i.some(et)?[]:void 0;for(const o of i){let l=o;if(et(o)){const c=mt(o,e);if(c===null)continue;l=c}const d=Q(l,e);if(!Array.isArray(d))continue;const u=d.map(Rt).filter(c=>c!==null);if(u.length>0)return u}return a}function bt(t,e){const r=(typeof t=="string"?[t]:Array.isArray(t)?t:[]).filter(n=>typeof n=="string"&&n.length>0);if(r.length===0||!e)return[];for(const n of r){let i=n;if(et(n)){const o=mt(n,e);if(o===null)continue;i=o}const a=Q(i,e);if(Array.isArray(a)&&a.length>0)return a}return[]}const yn="x-lt-default-checked";function jn(t,e,r){if((t==null?void 0:t["x-lt-widget"])!=="checklist"||t[yn]!==!0||e&&typeof e=="object"&&!Array.isArray(e)&&Object.keys(e).length>0)return null;const n=bt(t["x-lt-source"],r);return n.length===0?null:Object.fromEntries(n.map(i=>[i.id,!0]))}function Nn(t,e,r){if((e==null?void 0:e["x-lt-widget"])!=="checklist"||e["x-lt-require-all"]!==!0)return;const i=bt(e["x-lt-source"],r).filter(l=>l.required!==!1);if(i.length===0)return;const a=typeof t=="object"&&t!==null&&!Array.isArray(t)?t:{},o=i.filter(l=>!a[l.id]).length;if(o!==0)return`${o} of ${i.length} checks incomplete`}const _t="Invalid JSON";function st(t){return(t==null?void 0:t["x-lt-widget"])==="json"}function ie(t){return st(t)||(t==null?void 0:t[re])!==void 0}function Lt(t,e){return`${t} ${e}${t===1?"":"s"}`}function ht(t,e){const r=e==null?void 0:e.type;if(typeof r=="string"&&!(t==null||t===""))switch(r){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:st(e)&&typeof t=="string"?_t:"Expected a list";case"object":return typeof t=="object"&&!Array.isArray(t)?void 0:st(e)&&typeof t=="string"?_t:"Expected an object";default:return}}function yt(t,e,r){if(!e)return;const n=gt(e,r);if(n!==void 0&&t!==void 0&&t!==null&&t!==""&&!Array.isArray(t)){if(n.length===0)return"No valid options for this selection";if(!n.some(i=>i.value===t))return`Must be one of: ${n.map(i=>String(i.value)).join(", ")}`}if(Array.isArray(t))return ie(e)?vn(t,e,n,r):void 0;if(t!==null&&typeof t=="object")return kn(t,e,r);if(typeof t=="string"){const i=t.trim();if(i==="")return;const a=H(e.minLength,e["x-lt-min-length"],r);if(a!==void 0&&i.length<a)return`Minimum ${a} character${a===1?"":"s"}`;const o=H(e.maxLength,e["x-lt-max-length"],r);if(o!==void 0&&i.length>o)return`Maximum ${o} characters (${i.length} entered)`;const l=e.pattern;if(l)try{if(!new RegExp(l).test(i))return e["x-lt-pattern-error"]??"Invalid format"}catch{}const d=e.format;if(d==="email"&&!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(i))return"Enter a valid email address";if(d==="uri"&&!/^https?:\/\/.+/.test(i))return"Enter a valid URL"}if(typeof t=="number"){const i=H(e.minimum,e["x-lt-minimum"],r),a=H(e.exclusiveMinimum,void 0,r),o=H(e.maximum,e["x-lt-maximum"],r),l=H(e.exclusiveMaximum,void 0,r);if(i!==void 0&&t<i)return`Minimum value is ${i}`;if(a!==void 0&&t<=a)return`Must be greater than ${a}`;if(o!==void 0&&t>o)return`Maximum value is ${o}`;if(l!==void 0&&t>=l)return`Must be less than ${l}`}}function vn(t,e,r,n){if(t.length===0)return;if(r!==void 0){if(r.length===0)return"No valid options for this selection";if(t.some(l=>!r.some(d=>d.value===l)))return`Must be one of: ${r.map(l=>String(l.value)).join(", ")}`}const i=H(e.minItems,void 0,n);if(i!==void 0&&t.length<i)return`At least ${Lt(i,"item")}`;const a=H(e.maxItems,void 0,n);if(a!==void 0&&t.length>a)return`At most ${Lt(a,"item")}`;const o=e.items;if(o&&typeof o=="object"&&!Array.isArray(o)){const l=o;for(let d=0;d<t.length;d++){const u=ht(t[d],l)??yt(t[d],l,n);if(u)return`Item ${d+1}: ${u}`}}}function kn(t,e,r){const n=Object.entries(t);if(n.length===0)return;const i=e.propertyNames,a=Array.isArray(i==null?void 0:i.enum)?i.enum.map(String):void 0;if(a){const l=n.find(([d])=>!a.includes(d));if(l)return`Unknown key "${l[0]}". Allowed: ${a.join(", ")}`}const o=e.additionalProperties;if(o&&typeof o=="object"&&!Array.isArray(o)){const l=o;for(const[d,u]of n){const c=ht(u,l)??yt(u,l,r);if(c)return`"${d}": ${c}`}}}function H(t,e,r){if(typeof t=="number")return t;if(typeof e=="string"&&r){const n=e.indexOf(".");if(n!==-1){const i=e.slice(0,n),a=e.slice(n+1),o=r[i];if(o&&typeof o=="object"){const l=a.split(".");let d=o;for(const u of l)if(d=d[u],d===void 0)break;if(typeof d=="number")return d;if(typeof d=="string"){const u=Number(d);if(!Number.isNaN(u))return u}}}}}function ae(t,e,r,n,i){if(!n)return;if(r){if(t==null||typeof t=="boolean"&&!t&&gt(e,i)===void 0||typeof t=="string"&&t.trim()===""||Array.isArray(t)&&t.length===0&&ie(e))return"Required";if(typeof t=="object"&&!Array.isArray(t)&&t!==null){const l=Object.values(t);if(l.length===0||!st(e)&&l.every(d=>!d))return"Required"}}const a=ht(t,e);if(a)return a;const o=Nn(t,e,i);return o||yt(t,e,i)}function St(t){return t!=null&&t!==""&&t!==!1&&t!==0}function wn(t){return t==null?"":typeof t=="object"?JSON.stringify(t):String(t)}function Mt(t,e){const r=t.indexOf("."),n=r===-1?t:t.slice(0,r);if(!Hs.includes(n))return{known:!1,value:void 0};const i=e[n];if(r===-1)return{known:!0,value:i};try{return{known:!0,value:xt(i,t.slice(r+1))}}catch{return{known:!0,value:void 0}}}function X(t,e){if(Array.isArray(t))return t.every(d=>X(d,e));if(typeof t!="string"||t.length===0||!e)return!0;const r=t.startsWith("!"),n=r?t.slice(1):t,i=n.indexOf("!="),a=n.indexOf("=");if(i!==-1||a!==-1&&a!==i+1){const d=i!==-1&&(a===-1||i<a),u=d?i:a,c=n.slice(0,u).trim(),x=n.slice(u+(d?2:1)).trim(),{known:p,value:m}=Mt(c,e);if(!p)return!0;const b=wn(m)===x,f=d?!b:b;return r?!f:f}const{known:o,value:l}=Mt(n,e);return o?r?!St(l):St(l):!0}function En(t,e){return(t==null?void 0:t["x-lt-hide-if-empty"])!==!0?!1:e==null||e===""||e===!1||e===0}const An="x-lt-require-any";function In(t){const e=t==null?void 0:t[An];return Array.isArray(e)?e.filter(r=>Array.isArray(r)).map(r=>r.filter(n=>typeof n=="string"&&n.length>0)).filter(r=>r.length>0):[]}function Cn(t){return t==null?!1:typeof t=="string"?t.trim().length>0:!0}const On="x-lt-require-sum";function Tn(t){const e=t==null?void 0:t[On];if(!Array.isArray(e))return[];const r=[];for(const n of e){if(!n||typeof n!="object"||Array.isArray(n))continue;const{fields:i,minimum:a}=n;if(!Array.isArray(i))continue;const o=i.filter(l=>typeof l=="string"&&l.length>0);o.length!==0&&(a!==void 0&&typeof a!="number"||r.push({fields:o,minimum:typeof a=="number"?a:1}))}return r}function Rn(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 oe(t,e,r){if(!t)return[];const n=t.properties??{},i=new Set(t.required??[]),a={...r??{},resolver:e,input:e},o=[];for(const[l,d]of Object.entries(n)){if(!X(d["x-lt-showIf"],a))continue;const u=ae(e[l],d,i.has(l),!0,a);u&&o.push({field:l,message:u})}for(const l of In(t)){const d=l.filter(c=>n[c]&&X(n[c]["x-lt-showIf"],a));if(d.length===0||d.some(c=>Cn(e[c])))continue;const u=d.map(c=>n[c].title??c);o.push({field:d[0],message:`Enter a value for at least one of: ${u.join(", ")}`})}for(const l of Tn(t)){const d=l.fields.filter(x=>n[x]&&X(n[x]["x-lt-showIf"],a));if(d.length===0||d.reduce((x,p)=>x+Rn(e[p]),0)>=l.minimum)continue;const c=d.map(x=>n[x].title??x);o.push({field:d[0],message:`Combined value of ${c.join(", ")} must be at least ${l.minimum}`})}return o}function _n(t,e,r){if(!t)return[];const n=te(e,t);return oe(t,n,r)}function Ft(t,e){let r;try{r=JSON.parse(t)}catch{return{payload:null,errors:[],parseError:"Invalid JSON"}}const n=r._form_schema;if(n){const o=oe(n,r,e);if(o.length>0)return{payload:null,errors:o,parseError:null}}const{_form_schema:i,...a}=r;return{payload:qs(a,n),errors:[],parseError:null}}const Ln=2600;function Sn({hint:t,onLockedClick:e,children:r}){const[n,i]=g.useState(null);g.useEffect(()=>{if(!n)return;const o=setTimeout(()=>i(null),Ln);return()=>clearTimeout(o)},[n]);const a=o=>{if(e==null||e(),t){const l=Math.min(Math.max(o.clientX,96),window.innerWidth-96);i(d=>({x:l,y:o.clientY,n:((d==null?void 0:d.n)??0)+1}))}};return s.jsxs("div",{className:"pb-8 max-w-form",onClick:a,"data-testid":"locked-form-frame",children:[r,t&&n&&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:n.x,top:n.y-12},onAnimationEnd:()=>i(null),"data-testid":"locked-form-hint",children:[s.jsx(Xt,{className:"w-3.5 h-3.5 text-accent shrink-0",strokeWidth:1.5}),t]},n.n)]})}function R({children:t,isRequired:e,htmlFor:r}){return s.jsxs("label",{htmlFor:r,className:"block text-2xs font-semibold uppercase tracking-wider text-text-secondary",children:[t,e&&s.jsx("span",{className:"text-status-error ml-0.5",children:"*"})]})}function P({id:t,children:e}){return s.jsx("p",{id:t,className:"text-2xs text-text-tertiary mt-0.5 leading-snug",children:e})}function D({error:t,id:e}){return t?s.jsx("p",{id:e,role:"alert",className:"text-2xs text-status-error mt-1 animate-[field-error-in_0.3s_ease-out]",children:t}):null}function Y(t){return t?"input text-sm w-full mt-1 border-status-error/50 focus:border-status-error animate-[field-shake_0.4s_ease-in-out]":"input text-sm w-full mt-1"}function Mn(t){return t?"select text-sm mt-1 min-w-[min(16rem,100%)] max-w-full border-status-error/50 focus:border-status-error animate-[field-shake_0.4s_ease-in-out]":"select text-sm mt-1 min-w-[min(16rem,100%)] max-w-full"}function Fn({fieldKey:t,value:e,onChange:r,schema:n,isRequired:i}){const a=g.useRef(null),o=(n==null?void 0:n.accept)??void 0,l=U(t,n),d=n==null?void 0:n.description,u=g.useCallback(x=>{var b;const p=(b=x.target.files)==null?void 0:b[0];if(!p)return;const m=new FileReader;m.onload=()=>{typeof m.result=="string"&&r(m.result)},m.readAsDataURL(p)},[r]),c=e.startsWith("data:");return s.jsxs("div",{children:[s.jsx(R,{isRequired:i,children:l}),d&&s.jsx("p",{className:"text-2xs text-text-tertiary mt-0.5",children:d}),s.jsxs("div",{className:"mt-1",children:[s.jsx("input",{ref:a,type:"file",accept:o,onChange:u,className:"hidden"}),s.jsx("button",{type:"button",onClick:()=>{var x;return(x=a.current)==null?void 0:x.click()},className:"btn-secondary text-xs px-3 py-1.5",children:c?"Replace file":"Choose file"}),c&&s.jsx("span",{className:"ml-2 text-xs text-status-success",children:"File attached"})]})]})}function Pn({fieldKey:t,value:e,onChange:r,schema:n,isRequired:i}){const a=U(t,n),o=n==null?void 0:n.description,l=(n==null?void 0:n["x-lt-language"])??"",d=g.useCallback(u=>{if(u.key==="Tab"){u.preventDefault();const c=u.currentTarget,x=c.selectionStart,p=c.selectionEnd,m=e.substring(0,x)+" "+e.substring(p);r(m),requestAnimationFrame(()=>{c.selectionStart=c.selectionEnd=x+2})}},[e,r]);return s.jsxs("div",{children:[s.jsxs(R,{isRequired:i,children:[a,l&&s.jsx("span",{className:"ml-2 text-text-tertiary/60 normal-case font-normal",children:l})]}),o&&s.jsx("p",{className:"text-2xs text-text-tertiary mt-0.5",children:o}),s.jsx("textarea",{value:e,onChange:u=>r(u.target.value),onKeyDown:d,className:"input w-full mt-1 font-mono text-xs leading-relaxed",rows:10,spellCheck:!1})]})}function $n({fieldKey:t,value:e,onChange:r,schema:n,isRequired:i}){const a=g.useRef(null),[o,l]=g.useState(!1),d=U(t,n),u=n==null?void 0:n.description;g.useEffect(()=>{const f=a.current;if(!f)return;const h=f.getContext("2d");if(h&&(h.lineWidth=2,h.lineCap="round",h.strokeStyle="#1E1535",e&&e.startsWith("data:"))){const j=new Image;j.onload=()=>h.drawImage(j,0,0),j.src=e}},[]);const c=g.useCallback(f=>{const h=a.current,j=h.getBoundingClientRect(),A=j.width>0?h.width/j.width:1,y=j.height>0?h.height/j.height:1;return"touches"in f?{x:(f.touches[0].clientX-j.left)*A,y:(f.touches[0].clientY-j.top)*y}:{x:(f.clientX-j.left)*A,y:(f.clientY-j.top)*y}},[]),x=g.useCallback(f=>{var A;l(!0);const h=(A=a.current)==null?void 0:A.getContext("2d");if(!h)return;const j=c(f);h.beginPath(),h.moveTo(j.x,j.y)},[c]),p=g.useCallback(f=>{var A;if(!o)return;const h=(A=a.current)==null?void 0:A.getContext("2d");if(!h)return;const j=c(f);h.lineTo(j.x,j.y),h.stroke()},[o,c]),m=g.useCallback(()=>{l(!1);const f=a.current;f&&r(f.toDataURL("image/png"))},[r]),b=g.useCallback(()=>{const f=a.current;if(!f)return;const h=f.getContext("2d");h&&(h.clearRect(0,0,f.width,f.height),r(""))},[r]);return s.jsxs("div",{children:[s.jsx(R,{isRequired:i,children:d}),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:a,width:400,height:150,className:"w-full cursor-crosshair touch-none",onMouseDown:x,onMouseMove:p,onMouseUp:m,onMouseLeave:m,onTouchStart:x,onTouchMove:p,onTouchEnd:m})}),s.jsx("button",{type:"button",onClick:b,className:"mt-1 text-2xs text-text-tertiary hover:text-accent transition-colors",children:"Clear"})]})}function Dn({fieldKey:t,value:e,onChange:r,schema:n,isRequired:i}){const a=U(t,n),o=n==null?void 0:n.description;return s.jsxs("div",{children:[s.jsx(R,{isRequired:i,children:a}),o&&s.jsx("p",{className:"text-2xs text-text-tertiary mt-0.5",children:o}),s.jsx("textarea",{value:e,onChange:l=>r(l.target.value),className:"input w-full mt-1 text-sm leading-relaxed",rows:8,placeholder:"Supports plain text. Markdown formatting is preserved."})]})}function Wn({fieldKey:t,value:e,onChange:r,schema:n,isRequired:i}){const[a,o]=g.useState("write"),l=U(t,n),d=n==null?void 0:n.description;return(n==null?void 0:n.readOnly)===!0?s.jsx(K,{content:e,className:"my-1"}):s.jsxs("div",{children:[s.jsxs("div",{className:"flex items-center justify-between",children:[s.jsx(R,{isRequired:i,children:l}),s.jsx("div",{className:"flex items-center gap-0.5",children:["write","preview"].map(c=>s.jsx("button",{type:"button",onClick:()=>o(c),className:`px-2 py-0.5 text-2xs rounded transition-colors ${a===c?"bg-accent/10 text-accent font-semibold":"text-text-quaternary hover:text-text-secondary"}`,children:c==="write"?"Write":"Preview"},c))})]}),d&&s.jsx("p",{className:"text-2xs text-text-tertiary mt-0.5",children:d}),a==="write"?s.jsx("textarea",{value:e,onChange:c=>r(c.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(K,{content:e}):s.jsx("p",{className:"text-xs text-text-quaternary italic",children:"Nothing to preview."})})]})}const Un=28;function Jn({fieldKey:t,value:e,onChange:r,schema:n,escalationContext:i,isRequired:a,submitAttempted:o,error:l}){const d=(n==null?void 0:n["x-lt-require-all"])===!0,u=bt(n==null?void 0:n["x-lt-source"],i);let c={};try{e&&(c=JSON.parse(e))}catch{}const x=(()=>{const y=jn(n,c,i);return y?JSON.stringify(y):null})();g.useEffect(()=>{x&&r(x)},[x]);const p=y=>r(JSON.stringify({...c,[y]:!c[y]})),m=U(t,n),b=n==null?void 0:n.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 f=n==null?void 0:n["x-lt-variant"],h=f==="chips"||f==="rows"?f:d||u.some(y=>y.label.length>Un)?"rows":"chips",j=u.filter(y=>c[y.id]).length,A=(u.find(y=>!c[y.id]&&y.required!==!1)??u[0]).id;return s.jsxs("div",{role:"group","aria-label":m,"aria-required":a||void 0,"aria-invalid":l?!0:void 0,children:[s.jsx(R,{isRequired:a,children:m}),b&&s.jsx(P,{children:b}),h==="chips"?s.jsx("div",{className:"flex flex-wrap gap-2 mt-2",children:u.map(y=>{const N=c[y.id]??!1,v=!N&&!!o&&j===0&&(y.required||a);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:()=>p(y.id),className:"sr-only","data-testid":`checklist-item-${y.id}`,...y.id===A?{"data-field-key":t}:{}}),N&&s.jsx(Kt,{className:"w-3.5 h-3.5 shrink-0",strokeWidth:2.5}),y.label]},y.id)})}):s.jsx("div",{className:"space-y-2.5 mt-2",children:u.map(y=>{const N=c[y.id]??!1,v=!N&&!!o&&(d?y.required!==!1:j===0&&(y.required||a));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:()=>p(y.id),className:`mt-0.5 w-3.5 h-3.5 shrink-0 rounded ${v?"accent-status-error":"accent-accent"}`,"data-testid":`checklist-item-${y.id}`,...y.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:[y.label,y.required&&s.jsx("span",{className:`ml-0.5 text-2xs ${v?"text-status-error":"text-text-quaternary"}`,children:"*"})]})]},y.id)})}),s.jsx("p",{className:"text-2xs text-text-quaternary mt-3 tabular-nums",children:h==="chips"?s.jsxs(s.Fragment,{children:[j," selected",a&&j===0&&!!o&&s.jsx("span",{className:"ml-1 text-text-quaternary/60",children:"(check at least one)"})]}):s.jsxs(s.Fragment,{children:[j," / ",u.length," confirmed",d?s.jsxs("span",{className:"ml-1 text-text-quaternary/60",children:["(all required",u.some(y=>y.required===!1)?" except optional":"",")"]}):a&&j===0&&!!o&&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 Gn=/\.(png|jpe?g|gif|webp|avif|bmp|svg)(\?.*)?$/i;function Hn(t){var n,i,a,o;const e=t.trim();if(!e)return{kind:"none"};const r=(i=(n=/^data:([^;,]+)[;,]/.exec(e))==null?void 0:n[1])==null?void 0:i.toLowerCase();if(r)return r.startsWith("image/")?{kind:"image",src:e}:{kind:"file",href:e,label:r==="application/pdf"?"PDF":r,isData:!0};if(/^https?:\/\//i.test(e)){if(Gn.test(e))return{kind:"image",src:e};const l=(o=(a=/\.([a-z0-9]{2,5})(\?.*)?$/i.exec(e))==null?void 0:a[1])==null?void 0:o.toUpperCase();return{kind:"file",href:e,label:l??"attachment",isData:!1}}return{kind:"none"}}function Pt({fieldKey:t,value:e,schema:r}){const[n,i]=g.useState(!1),a=Hn(e??""),o=t.replace(/[_-]/g," "),l=r==null?void 0:r.description,d=s.jsxs(s.Fragment,{children:[s.jsx("label",{className:"text-2xs font-semibold uppercase tracking-widest text-text-tertiary",children:o}),l&&s.jsx("p",{className:"text-2xs text-text-tertiary mt-0.5",children:l})]});return a.kind==="none"?s.jsxs("div",{children:[d,s.jsx("p",{className:"text-xs text-text-quaternary italic mt-1",children:"No attachment"})]}):a.kind==="image"?s.jsxs("div",{children:[d,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:a.src,alt:t.replace(/[_-]/g," "),className:"max-h-48 max-w-full object-contain","data-testid":`attachment-image-${t}`})}),n&&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":`${o} — full size`,children:s.jsx("img",{src:a.src,alt:o,className:"max-h-[90vh] max-w-[90vw] object-contain"})})]})]}):s.jsxs("div",{children:[d,s.jsx("div",{className:"mt-1",children:s.jsxs("a",{href:a.href,...a.isData?{download:`${t}.${a.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(je,{className:"w-3.5 h-3.5",strokeWidth:1.5}),a.isData?`Download ${a.label}`:`Open ${a.label}`,a.isData?s.jsx(zt,{className:"w-3 h-3",strokeWidth:1.5}):s.jsx(dt,{className:"w-3 h-3",strokeWidth:1.5})]})})]})}function qn({fieldKey:t,schema:e,escalationContext:r}){const n=(e==null?void 0:e["x-lt-href"])??"",i=n&&r?q(n,r):n,a=(e==null?void 0:e.title)??(e==null?void 0:e.description)??"Open",o=e==null?void 0:e.description,l=i.startsWith("/"),d=!i.trim();return s.jsxs("div",{"data-field-key":t,children:[s.jsx(R,{children:a}),o&&s.jsx(P,{children:o}),s.jsx("div",{className:"mt-1",children:d?s.jsx("span",{className:"text-xs text-text-quaternary italic",children:"No link configured"}):l?s.jsxs(it,{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:[a,s.jsx(dt,{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:[a,s.jsx(dt,{className:"w-3 h-3 shrink-0",strokeWidth:1.5})]})})]})}function le({to:t,className:e=""}){return s.jsxs(it,{to:t,title:"View details",tabIndex:-1,className:`inline-flex items-center justify-center w-6 h-6 shrink-0 rounded border border-surface-border text-accent/70 hover:text-accent hover:border-accent/60 hover:bg-accent/5 transition-colors ${e}`,children:[s.jsx(Ne,{className:"w-3.5 h-3.5",strokeWidth:2}),s.jsx("span",{className:"sr-only",children:"View details"})]})}const $t="—";function Vn(t,e){if(!t||!e)return"";const r=t.indexOf(".");if(r===-1)return"";const n=t.slice(0,r),i=t.slice(r+1);try{const a=xt(e[n],i);return typeof a=="string"?a:""}catch{return""}}function Bn(t,e){if(!t||t===$t)return $t;if(e==="age"){const r=new Date(t);return Number.isNaN(r.getTime())?t:ft(t)}return t}function Yn({fieldKey:t,schema:e,escalationContext:r}){const n=e==null?void 0:e["x-lt-source"],i=(e==null?void 0:e["x-lt-fields"])??[],a=(e==null?void 0:e.title)??"Linked escalation",o=e==null?void 0:e.description,l=Vn(n,r),{data:d,isLoading:u,isError:c}=Ys(l);return s.jsxs("div",{"data-field-key":t,children:[s.jsx(R,{children:a}),o&&s.jsx(P,{children:o}),s.jsx("div",{className:"mt-1",children:!l||c?s.jsx("p",{className:"text-xs text-text-quaternary italic","data-testid":`escalation-widget-empty-${t}`,children:"No linked record"}):u?s.jsx(Kn,{}):d?s.jsx(Xn,{esc:d,fields:i,fieldKey:t}):s.jsx("p",{className:"text-xs text-text-quaternary italic",children:"No linked record"})})]})}function Xn({esc:t,fields:e,fieldKey:r}){if(!t)return null;const n=pt(t);return s.jsxs("div",{className:"border-l-2 border-accent-faint pl-3 py-2 space-y-2","data-testid":`escalation-widget-card-${r}`,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(un,{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 a=q(i.value,n),o=Bn(a,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:o})]},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(le,{to:`/escalations/detail/${t.id}`})]})]})}function Kn(){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 zn(t,e){if(!t)return{};const r={};for(const[n,i]of Object.entries(t))r[n]=typeof i=="string"?q(i,e):i;return r}function Qn(t,e,r){const n=zn(t.facets,e),i={role:t.role,status:t.status??"pending",facets:n,limit:t.limit,enabled:!!(t.role||Object.keys(n).length)};return t.assigned==="me"?{...i,assigned_to:r,available:!1,enabled:i.enabled&&!!r}:t.assigned==="any"?i:{...i,available:t.available??!0}}const Zn=[{label:"Description",value:"{{escalation.description}}"},{label:"Role",value:"{{escalation.role}}"},{label:"Age",value:"{{escalation.created_at}}",format:"age"}],Dt="—";function tr(t,e){if(!t||t===Dt)return Dt;if(e==="age"){const r=new Date(t);return Number.isNaN(r.getTime())?t:ft(t)}return t}function ut(t,e){return typeof t=="string"?q(t,e):Array.isArray(t)?t.map(r=>ut(r,e)):t&&typeof t=="object"?Object.fromEntries(Object.entries(t).map(([r,n])=>[r,ut(n,e)])):t}function er({fieldKey:t,schema:e,escalationContext:r}){const n=(e==null?void 0:e["x-lt-query"])??{},i=(e==null?void 0:e["x-lt-columns"])??Zn,a=(e==null?void 0:e["x-lt-actions"])??[],o=(e==null?void 0:e.title)??"Related items",l=e==null?void 0:e.description,d=r??{},{user:u}=Xs(),c=Qn(n,d,u==null?void 0:u.userId),{data:x,isLoading:p}=Ks({role:c.role,status:c.status,facets:c.facets,assigned_to:c.assigned_to,available:c.available,limit:c.limit??5,enabled:c.enabled,include:Vs({columns:i,actions:a})?"envelope":void 0}),m=(x==null?void 0:x.escalations)??[],b=zs(),[f,h]=g.useState({}),[j,A]=g.useState(null),y=async(N,v)=>{const k=pt(N);if(!(v.confirm&&!window.confirm(q(v.confirm,k)))){A(N.id),h(C=>({...C,[N.id]:""}));try{await b.mutateAsync({id:N.id,resolverPayload:ut(v.resolverPayload,k)})}catch(C){h(M=>({...M,[N.id]:C.message}))}finally{A(null)}}};return s.jsxs("div",{"data-field-key":t,children:[s.jsx(R,{children:o}),l&&s.jsx(P,{children:l}),s.jsx("div",{className:"mt-1","data-testid":`escalation-list-widget-${t}`,children:p?s.jsx(nr,{columns:i.length}):s.jsx(sr,{escalations:m,columns:i,fieldKey:t,actions:a,onAction:y,pendingRow:j,rowErrors:f})})]})}function sr({escalations:t,columns:e,fieldKey:r,actions:n,onAction:i,pendingRow:a,rowErrors:o}){return t.length===0?s.jsx("p",{className:"text-xs text-text-quaternary italic py-1","data-testid":`escalation-list-empty-${r}`,children:"No items found"}):s.jsxs("table",{className:"w-full text-xs border-collapse","data-testid":`escalation-list-table-${r}`,children:[s.jsx("thead",{children:s.jsxs("tr",{className:"border-b border-surface-border",children:[e.map(l=>s.jsx("th",{className:"text-left text-2xs font-semibold uppercase tracking-wider text-text-tertiary pb-1 pr-3 last:pr-0",children:l.label},l.label)),n.length>0&&s.jsx("th",{className:"w-px"}),s.jsx("th",{className:"w-8"})]})}),s.jsx("tbody",{children:t.map(l=>{const d=pt(l),u=o[l.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(c=>{const x=q(c.value,d),p=tr(x,c.format);return s.jsx("td",{className:"py-1 pr-3 last:pr-0 text-text-primary align-top",children:p},c.label)}),n.length>0&&s.jsxs("td",{className:"py-1 pr-2 align-top whitespace-nowrap",children:[n.map(c=>s.jsx("button",{type:"button",onClick:()=>i(l,c),disabled:a===l.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-${l.id}`,children:c.label},c.label)),u&&s.jsx("p",{className:"text-2xs text-status-error mt-0.5 whitespace-normal max-w-[16rem]","data-testid":`escalation-list-action-error-${l.id}`,children:u})]}),s.jsx("td",{className:"py-1 pl-2 align-top",children:s.jsx(le,{to:`/escalations/detail/${l.id}`})})]},l.id)})})]})}function nr({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},(r,n)=>s.jsx("div",{className:"h-3 bg-surface-sunken rounded flex-1"},n))},e))})}function ce(t,e){return{metadata:t??{},...e?{lookup:e}:{}}}const rr="x-lt-invoke",z={LINK:"link",BUTTON:"button"},ir=/^\{\{\s*([^{}]+?)\s*\}\}$/;function tt(t){return!!t&&typeof t=="object"&&!Array.isArray(t)}function ar(t){return t===z.LINK||t===z.BUTTON}function or(t){const e=t==null?void 0:t[rr];if(!tt(e))return null;const r=e.workflow;if(typeof r!="string"||r.trim().length===0)return null;const n=e.confirm;return{workflow:r.trim(),data:tt(e.data)?e.data:{},metadata:tt(e.metadata)?e.metadata:{},modal:e.modal===!0,confirm:typeof n=="string"&&n.trim().length>0?n:null,variant:ar(e.variant)?e.variant:z.LINK,icon:e.icon!==!1}}function nt(t,e){if(typeof t=="string"){const r=ir.exec(t);if(r){const n=Q(r[1],e??void 0);return n===null?void 0:n}return et(t)?mt(t,e??void 0)??void 0:t}if(Array.isArray(t))return t.map(r=>nt(r,e)).filter(r=>r!==void 0);if(tt(t)){const r={};for(const[n,i]of Object.entries(t)){const a=nt(i,e);a!==void 0&&(r[n]=a)}return r}return t}function lr(t,e){return{data:nt(t.data,e),metadata:nt(t.metadata,e)}}const jt={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"},cr=new Set(Object.values(jt));function dr(t){return typeof t=="string"&&cr.has(t)}const ur={Activity:Us,AlertTriangle:Qt,Archive:Ws,Award:Ds,Barcode:$s,Bell:Ps,Bot:Fs,Box:Ms,Boxes:Ss,Building2:Ls,Calendar:_s,Camera:Rs,ClipboardCheck:Ts,ClipboardList:Os,Clock:Cs,Cog:Is,Cpu:As,Database:Es,Download:zt,Droplets:ws,Factory:ks,Fan:vs,FileText:Ns,Flag:js,Flame:ys,Gauge:hs,Hammer:bs,Heart:gs,Image:ms,Key:fs,Layers:ps,Leaf:xs,LifeBuoy:us,ListChecks:ds,Lock:Xt,Mail:cs,Map:ls,Megaphone:os,MessageSquare:as,Package:is,Palette:rs,PenTool:ns,Pill:ss,Power:es,Printer:ts,Receipt:Ze,Recycle:Qe,RefreshCw:ze,Rocket:Ke,Route:Xe,Ruler:Ye,Scale:Be,ScanBarcode:Ve,Scissors:qe,Search:He,Send:Ge,Server:Je,ShieldCheck:Ue,ShoppingCart:We,Snowflake:De,Sparkles:$e,Star:Pe,Store:Fe,Sun:Me,Tag:Se,TestTube:Le,Thermometer:_e,Trash2:Re,Truck:Te,Upload:Oe,User:Ce,Users:Ie,Wand2:Ae,Warehouse:Ee,Wifi:we,Wrench:ke,Zap:ve},Wt=Object.values(jt),xr=Object.fromEntries(Object.entries(jt).map(([t,e])=>[e,t]));function pr(t){return dr(t)?ur[t]:null}function Zr(t){const e=t.trim().toLowerCase().replace(/[\s_-]+/g,"");return e?Wt.filter(r=>r.toLowerCase().includes(e)||xr[r].toLowerCase().replace(/_/g,"").includes(e)):[...Wt]}function Nt({icon:t,tier:e,className:r,strokeWidth:n=1.5}){const i=pr(t)??pn[e]??Js;return s.jsx(i,{className:r,strokeWidth:n,"aria-hidden":!0})}const S={RUNNING:"running",COMPLETED:"completed",FAILED:"failed"};function Ut(t,e){return`lt.events.system.workflow.${t}.${e}`}function vt(t){const[e,r]=g.useState(S.RUNNING),[n,i]=g.useState(void 0);return g.useEffect(()=>{r(S.RUNNING),i(void 0)},[t]),Qs(t?[Ut(t,"completed"),Ut(t,"failed")]:[],a=>{a.workflowId===t&&(r(a.type.endsWith(".failed")?S.FAILED:S.COMPLETED),i(a.data))}),{outcome:e,payload:n}}const fr={[S.RUNNING]:"Working…",[S.COMPLETED]:"Completed",[S.FAILED]:"Failed"};function de({outcome:t,className:e=""}){const r=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 ${r} ${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 ue({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(tn,{data:t})})}function mr({workflowId:t,outcome:e,executionPath:r}){const n=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:n,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}),r&&s.jsxs(s.Fragment,{children:[s.jsx("span",{className:"text-text-quaternary",children:"·"}),s.jsx(it,{to:r,className:"text-accent hover:underline shrink-0",children:"View workflow →"})]})]})}function gr({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(Zs,{data:t,label:"Result"})})}const br="/workflows/executions",$={PAGE:"page",MODAL:"modal"};function xe(t,e){const{realIsBuilder:r}=en(),n=sn(),[i,a]=g.useState(null),[o,l]=g.useState([]),[d,u]=g.useState(null),c=g.useCallback(()=>{a(null),l([]),u(null),n.reset()},[n]);return{submit:g.useCallback(async(p,m)=>{a(null),l([]),u(null);const b={...m};e.certified&&(b.certified=!0);try{const f=await n.mutateAsync({workflowType:t.workflow_type,data:p,metadata:b,...e.overrideBot?{execute_as:e.overrideBot}:{}});u(f.workflowId)}catch(f){f instanceof nn&&mn(f.body)?(l(f.body.violations),a(f.body.error)):a(f instanceof Error?f.message:"Invocation failed")}},[n,e.certified,e.overrideBot,t.workflow_type]),reset:c,pending:n.isPending,error:i,violations:o,startedId:d,executionPath:d&&r?`${br}/${encodeURIComponent(d)}`:null}}function kt(){const{connected:t}=rn();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(Gs,{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 hr={[$.PAGE]:"sticky bottom-0 z-10 bg-surface border-t border-surface-border/40 pt-3 pb-16 -mb-16",[$.MODAL]:"border-t border-surface-border/40 pt-3"};function pe({onSubmit:t,onSubmitAgain:e,pending:r,error:n,issueCount:i=0,onShowIssues:a,startedId:o,executionPath:l,host:d=$.PAGE}){const u=d===$.PAGE,c=vt(u?o??"":""),x=u&&o!==null;return s.jsxs("div",{className:hr[d],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(kt,{}),i>0&&a?s.jsxs("button",{type:"button",onClick:a,className:"flex items-center gap-1.5 text-xs text-status-error hover:underline","data-testid":"invoke-issues",children:[s.jsx(rt,{className:"w-3.5 h-3.5",strokeWidth:1.5}),i," ",i===1?"issue":"issues"," to resolve"]}):n?s.jsx("p",{className:"text-xs text-status-error",role:"alert",children:n}):null,x&&s.jsx(mr,{workflowId:o,outcome:c.outcome,executionPath:l})]}),s.jsx("div",{className:"shrink-0",children:x?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:r,className:"btn-primary px-8 py-2","data-testid":"invoke-start",children:r?"Submitting…":"Submit"})})]}),x&&c.outcome!==S.RUNNING&&s.jsx(gr,{payload:c.payload})]})}const Z="invoke-help",yr=380,W={INSTRUCTIONS:"instructions",ISSUES:"issues"};function jr({view:t,onViewChange:e,onClose:r,helpMarkdown:n,errors:i,schema:a}){const o=[];n&&o.push({id:W.INSTRUCTIONS,icon:Zt,label:"Instructions",content:s.jsx(K,{content:n})}),o.push({id:W.ISSUES,icon:rt,label:"Issues",content:s.jsx(ne,{errors:i,schema:a})});const l=o.some(d=>d.id===t)?t:o[0].id;return s.jsx(on,{views:o,activeId:l,onViewChange:d=>e(d),onClose:r,stickyClassName:"h-full min-h-0",labelInline:!0})}function Nr({schema:t,context:e,errors:r,enabled:n=!0}){const i=an(),a=n?i==null?void 0:i.setPanel:void 0,o=n?i==null?void 0:i.closePanel:void 0,l=(i==null?void 0:i.ownerKey)??null,d=(i==null?void 0:i.open)??!1,[u,c]=g.useState(null),x=g.useMemo(()=>Bs(t,e),[t,e]),p=g.useCallback(()=>{c(null),o==null||o(Z)},[o]);g.useEffect(()=>{!a||!u||a(s.jsx(jr,{view:u,onViewChange:c,onClose:p,helpMarkdown:x,errors:r,schema:t}),{key:Z,width:yr})},[a,u,x,r,t,p]),g.useEffect(()=>{u&&d&&l&&l!==Z&&c(null)},[u,d,l]);const m=g.useRef(o);return m.current=o,g.useEffect(()=>()=>{var b;(b=m.current)==null||b.call(m,Z)},[]),{helpMarkdown:x,hasInstructions:!!x,open:u!==null,showInstructions:()=>c(W.INSTRUCTIONS),showIssues:()=>c(W.ISSUES),close:p}}function vr({selected:t,schema:e,metadata:r,lookup:n,submission:i,lead:a,prefill:o,host:l=$.PAGE}){const d=l===$.MODAL,[u,c]=g.useState(()=>Ot(e,o)),[x,p]=g.useState(!1),[m,b]=g.useState([]),[f,h]=g.useState(null),[j,A]=g.useState(null);g.useEffect(()=>{c(Ot(e,o)),p(!1),b([]),h(null),A(null),i.reset()},[t.workflow_type]);const y=g.useMemo(()=>({...ce(r,n),resolver:null}),[r,n]),N=g.useMemo(()=>{try{const T=JSON.parse(u);return{...y,resolver:T,input:T}}catch{return y}},[u,y]);g.useEffect(()=>{x&&b(Ft(u,y).errors)},[u,x,y]);const v=m.length>0?m:i.violations,k=Nr({schema:e,context:N,errors:v,enabled:!d}),C=d?()=>A(W.ISSUES):k.showIssues,M=d?()=>A(T=>T===W.INSTRUCTIONS?null:W.INSTRUCTIONS):k.showInstructions;g.useEffect(()=>{i.violations.length>0&&C()},[i.violations]);const E=()=>{p(!0);const T=Ft(u,y);if(T.parseError){h(T.parseError);return}if(h(null),T.errors.length>0){b(T.errors),C();return}b([]),i.submit(T.payload,r)},_=d&&j===W.ISSUES&&v.length>0,O=d&&j===W.INSTRUCTIONS&&k.helpMarkdown;return s.jsxs("div",{"data-testid":"rich-invoke-form",children:[s.jsxs("div",{className:"space-y-6 pb-6",children:[a,O&&s.jsx("div",{className:"px-4 py-3 bg-surface-hover","data-testid":"invoke-inline-help",children:s.jsx(K,{content:k.helpMarkdown})}),s.jsx(Hr,{value:u,onChange:c,submitAttempted:x,escalationContext:y,onOpenHelp:k.hasInstructions?M:void 0}),_&&s.jsx("div",{"data-testid":"invoke-inline-issues",children:s.jsx(ne,{errors:v,schema:e})})]}),s.jsx(pe,{onSubmitAgain:i.reset,onSubmit:E,pending:i.pending,error:f??i.error,issueCount:v.length,onShowIssues:C,startedId:i.startedId,executionPath:i.executionPath,host:l})]})}const Jt=`{
2
2
  "data": {},
3
3
  "metadata": {}
4
4
  }`;function kr(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(([r,n])=>({key:r,type:kr(n),defaultValue:n}))}function ot(t){return{...t}}function Ht(t,e){return JSON.stringify({data:t,metadata:e},null,2)}function wr({selectedConfig:t,isJsonMode:e,hasFormView:r,jsonInput:n,formFields:i,dataFields:a,onJsonChange:o,onToggleMode:l,onUpdateFormField:d,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:[r&&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(it,{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||!r?s.jsx("textarea",{value:n,onChange:c=>o(c.target.value),className:"input-json",rows:12,spellCheck:!1}):s.jsx("div",{className:"space-y-3",children:a.map(({key:c,type:x})=>{var f,h;const p=i[c],m=typeof p=="string"?p:JSON.stringify(p??(x==="array"?[]:{}),null,2),b=Math.min(20,Math.max(4,((h=(f=m==null?void 0:m.split)==null?void 0:f.call(m,`
5
5
  `))==null?void 0:h.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:[c,s.jsx("span",{className:"ml-2 font-normal normal-case",children:x})]}),x==="boolean"?s.jsxs("select",{value:String(p??!1),onChange:j=>d(c,j.target.value,x),className:"select text-xs w-full",children:[s.jsx("option",{value:"true",children:"true"}),s.jsx("option",{value:"false",children:"false"})]}):x==="object"||x==="array"?s.jsx("textarea",{value:m,onChange:j=>{try{d(c,JSON.parse(j.target.value),x)}catch{u({...i,[c]:j.target.value})}},className:"input-json w-full",rows:b,spellCheck:!1}):s.jsx("input",{type:x==="number"?"number":"text",value:String(p??""),onChange:j=>d(c,j.target.value,x),className:"input text-xs w-full"})]},c)})}),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 qt="lt:invoke:prefill";function Er({selected:t,metadata:e,submission:r,lead:n,prefill:i,host:a=$.PAGE}){const[o,l]=g.useState(Jt),[d,u]=g.useState(""),[c,x]=g.useState({}),[p,m]=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,k={...v&&typeof v=="object"?v:{},...i};return{...N??{},data:k}},[t.envelope_schema,i]),f=g.useMemo(()=>Gt(b),[b]),h=f.length>0;g.useEffect(()=>{u(""),r.reset();const N=a===$.PAGE?sessionStorage.getItem(qt):null;if(N){sessionStorage.removeItem(qt),l(N);try{const k=JSON.parse(N),C=(k==null?void 0:k.data)??k;C&&typeof C=="object"&&x(ot(C))}catch{}m(!0);return}l(b?JSON.stringify(b,null,2):Jt);const v=b==null?void 0:b.data;x(v&&typeof v=="object"?ot(v):{}),m(!Gt(b).length)},[t.workflow_type]);const j=()=>{if(p)try{const N=JSON.parse(o);N.data&&typeof N.data=="object"&&x(ot(N.data))}catch{}else l(Ht(c,e));m(!p)},A=(N,v,k)=>{let C=v;k==="number"?C=v===""?0:Number(v):k==="boolean"&&(C=v==="true"||v===!0);const M={...c,[N]:C};x(M),l(Ht(M,e))},y=()=>{u("");let N;try{N=JSON.parse(o)}catch{u("Invalid JSON");return}const{data:v,metadata:k}=N;if(!v||typeof v!="object"){u('Envelope must include a "data" object');return}r.submit(v,k??{})};return s.jsxs("div",{children:[s.jsxs("div",{className:"space-y-6 pb-6",children:[n,s.jsx(wr,{selectedConfig:t,isJsonMode:p,hasFormView:h,jsonInput:o,formFields:c,dataFields:f,onJsonChange:N=>{l(N),u("")},onToggleMode:j,onUpdateFormField:A,onSetFormFields:x})]}),s.jsx(pe,{onSubmitAgain:r.reset,onSubmit:y,pending:r.pending,error:d||r.error,startedId:r.startedId,executionPath:r.executionPath,host:a})]})}function Ar({workflow:t,workflowId:e,onDone:r,onRetry:n}){var d;const i=vt(e),a=i.outcome===S.FAILED,o=i.outcome===S.RUNNING,l=a&&typeof((d=i.payload)==null?void 0:d.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(Nt,{icon:t.icon,tier:t.tier,className:"w-6 h-6 shrink-0 text-accent"}),s.jsx(de,{outcome:i.outcome,className:"text-sm"})]}),o&&s.jsx(kt,{}),l&&s.jsx("p",{className:"text-xs text-status-error",role:"alert",children:l}),!o&&s.jsx(ue,{payload:l?void 0:i.payload}),s.jsxs("div",{className:"flex justify-end gap-2 pt-2 border-t border-surface-border/40",children:[a&&s.jsx("button",{type:"button",onClick:n,className:"btn-secondary text-xs","data-testid":"run-retry",children:"Try again"}),s.jsx("button",{type:"button",onClick:r,className:"btn-primary text-xs px-6","data-testid":"run-done",children:o||a?"Close":"Done"})]})]})}function fe(t,e){var n;const r=(n=t.envelope_schema)==null?void 0:n.metadata;return{...r&&typeof r=="object"?r:{},...e}}function Ir({workflow:t,prefill:e,onClose:r}){const n=g.useMemo(()=>fe(t,e.metadata),[t,e.metadata]),i=Array.isArray(t.input_lookups)&&t.input_lookups.length>0,{data:a}=ln(t.workflow_type,i),o=g.useMemo(()=>a?cn(a.lookups):void 0,[a]),l=(a==null?void 0:a.lookups.filter(x=>x.missing))??[],d=xe(t,{certified:t.certified,overrideBot:""}),u=t.description?s.jsx(K,{content:t.description,className:"text-xs text-text-secondary leading-relaxed"}):void 0,c=d.startedId!==null;return s.jsxs("div",{"data-testid":"invoke-modal",children:[c&&s.jsx(Ar,{workflow:t,workflowId:d.startedId,onDone:r,onRetry:d.reset}),s.jsxs("div",{hidden:c,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(x=>`${x.domain}/${x.key} v${x.version}`).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(vr,{selected:t,schema:t.input_schema,metadata:n,lookup:o,submission:d,lead:u,prefill:e.data,host:$.MODAL}):s.jsx(Er,{selected:t,metadata:n,submission:d,lead:u,prefill:e.data,host:$.MODAL})]})]})}function Cr({open:t,onClose:e,workflow:r,prefill:n}){const i=s.jsxs("span",{className:"flex items-center gap-2 min-w-0",children:[s.jsx(Nt,{icon:r.icon,tier:r.tier,className:"w-4 h-4 shrink-0 text-accent"}),s.jsx("span",{className:"truncate",title:r.workflow_type,children:ee(r.workflow_type)})]});return s.jsx(se,{open:t,onClose:e,title:i,maxWidth:"max-w-2xl",closeOnBackdrop:!1,children:s.jsx(Ir,{workflow:r,prefill:n,onClose:e})})}const Or={[z.LINK]:"inline-flex items-center gap-1.5 text-xs text-accent hover:text-accent-hover transition-colors",[z.BUTTON]:"btn-secondary inline-flex items-center gap-1.5 text-xs px-3 py-1.5"};function Tr({fieldKey:t,schema:e,escalationContext:r}){var u;const n=g.useMemo(()=>or(e),[e]),{data:i,isPending:a}=dn(),o=i==null?void 0:i.find(c=>c.workflow_type===(n==null?void 0:n.workflow)),l=(u=r==null?void 0:r.escalation)==null?void 0:u.status,d=l!==void 0&&l!==xn.PENDING;return!n||d?null:a?s.jsx("div",{className:"h-4 w-32 rounded bg-surface-hover animate-pulse","data-testid":`invoke-widget-${t}-loading`}):o?s.jsx(Rr,{fieldKey:t,schema:e,config:n,workflow:o,escalationContext:r}):null}function Rr({fieldKey:t,schema:e,config:r,workflow:n,escalationContext:i}){var _;const a=i,o=g.useMemo(()=>lr(r,a),[r,a]),l=g.useMemo(()=>fe(n,o.metadata),[n,o.metadata]),d=xe(n,{certified:n.certified,overrideBot:""}),u=vt(d.startedId??""),[c,x]=g.useState([]),[p,m]=g.useState(!1),[b,f]=g.useState(!1),h=(e==null?void 0:e.title)??ee(n.workflow_type),j=e==null?void 0:e.description,A=r.icon?s.jsx(Nt,{icon:n.icon,tier:n.tier,className:"w-3.5 h-3.5 shrink-0"}):null,y=()=>{m(!1),d.submit(o.data,l)},N=()=>{if(r.modal){f(!0);return}if(x([]),n.input_schema){const O=_n(n.input_schema,o.data,ce(l));if(O.length>0){x(O);return}}r.confirm?m(!0):y()},v=()=>{x([]),d.reset(),f(!0)},k=c.length>0?c:d.violations,C=d.startedId!==null,M=C&&u.outcome===S.RUNNING,E=C&&u.outcome===S.FAILED&&typeof((_=u.payload)==null?void 0:_.error)=="string"?u.payload.error:null;return s.jsxs("div",{"data-field-key":t,"data-testid":`invoke-widget-${t}`,children:[s.jsx(R,{children:h}),j&&s.jsx(P,{children:j}),s.jsxs("div",{className:"mt-1 flex flex-col gap-1.5",children:[C&&s.jsxs(s.Fragment,{children:[s.jsx(de,{outcome:u.outcome}),M&&s.jsx(kt,{}),E&&s.jsx("p",{className:"text-2xs text-status-error",role:"alert",children:E}),!M&&s.jsx(ue,{payload:E?void 0:u.payload})]}),!M&&s.jsxs("button",{type:"button",onClick:N,disabled:d.pending,className:`self-start ${Or[r.variant]}`,"data-testid":`invoke-control-${t}`,children:[A,d.pending?"Starting…":h]}),k.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:k.map(O=>s.jsxs("li",{className:"flex items-start gap-1.5",children:[s.jsx(rt,{className:"w-3 h-3 mt-px shrink-0",strokeWidth:1.5}),s.jsxs("span",{children:[s.jsx("span",{className:"font-semibold",children:O.field})," · ",O.message]})]},O.field))}),s.jsx("button",{type:"button",onClick:v,className:"mt-1 text-accent hover:underline","data-testid":`invoke-open-form-${t}`,children:"Open form"})]}),k.length===0&&d.error&&s.jsx("p",{className:"text-2xs text-status-error",role:"alert",children:d.error})]}),r.confirm&&s.jsxs(se,{open:p,onClose:()=>m(!1),title:h,children:[s.jsx("p",{className:"text-sm text-text-secondary mb-5",children:q(r.confirm,i??{})}),s.jsxs("div",{className:"flex justify-end gap-2",children:[s.jsx("button",{type:"button",onClick:()=>m(!1),className:"btn-secondary text-xs",children:"Cancel"}),s.jsx("button",{type:"button",onClick:y,className:"btn-primary text-xs","data-testid":`invoke-confirm-${t}`,children:h})]})]}),s.jsx(Cr,{open:b,onClose:()=>f(!1),workflow:n,prefill:o})]})}const lt={"file-upload":Fn,"code-editor":Pn,signature:$n,"rich-text":Dn,markdown:Wn,checklist:Jn,attachment:Pt,image:Pt,link:qn,escalation:Yn,"escalation-list":er,invoke:Tr},_r=new Set(["string","number","integer","boolean","array","object"]);function Lr(t,e){const r=t==null?void 0:t.type;if(typeof r=="string"&&_r.has(r))return r;if(e==null)return"null";if(Array.isArray(e))return"array";const n=typeof e;return n==="number"||n==="boolean"||n==="string"?n:"object"}const ct="dictionary",Sr=new Set(["markdown","attachment","image"]);function me(t,e){if(!e)return;const r=t==null?void 0:t["x-lt-section-options"],n=r==null?void 0:r[e];return n&&typeof n=="object"?n:void 0}function Mr(t,e,r){var l,d;const n=(l=t==null?void 0:t.properties)==null?void 0:l[r];if((n==null?void 0:n.readOnly)!==!0)return!1;const i=n==null?void 0:n["x-lt-widget"];if(typeof i=="string"&&Sr.has(i))return!1;const a=n==null?void 0:n["x-lt-display"];if(typeof a=="string")return a===ct;const o=(d=me(t,e))==null?void 0:d.display;return typeof o=="string"?o===ct:(t==null?void 0:t["x-lt-display"])===ct}function Fr(t,e,r,n){var a;const i=[];for(const o of t){const[l]=o,d=i[i.length-1];if(Mr(e,r,l)){(d==null?void 0:d.kind)==="dictionary"?d.entries.push(o):i.push({kind:"dictionary",entries:[o]});continue}const u=(a=e==null?void 0:e.properties)==null?void 0:a[l],c=u==null?void 0:u["x-lt-column-group"];if(n==="two-column"&&typeof c=="string"&&c.trim()){(d==null?void 0:d.kind)==="column-group"&&d.name===c?d.entries.push(o):i.push({kind:"column-group",name:c,entries:[o]});continue}i.push({kind:"field",entry:o})}return i}function Pr({value:t,options:e,nullable:r,fieldKey:n,label:i,helperText:a,isRequired:o,error:l,onBlur:d,ids:u,ariaProps:c,onChange:x}){const p=t==null||t===""?"":String(t),m=e.some(b=>String(b.value)===p);return s.jsxs("div",{children:[s.jsx(R,{isRequired:o,htmlFor:u.field,children:i}),a&&s.jsx(P,{id:u.help,children:a}),s.jsxs("select",{value:m?p:"",disabled:e.length===0,onChange:b=>{const f=e.find(h=>String(h.value)===b.target.value);x(f?f.value:null),d==null||d()},onBlur:d,"data-field-key":n,className:Mn(!!l),...c,children:[(!m||r)&&s.jsx("option",{value:"",disabled:!r,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 $r({value:t,options:e,fieldKey:r,label:n,helperText:i,isRequired:a,error:o,onBlur:l,ids:d,ariaProps:u,onChange:c}){const x=new Set(Array.isArray(t)?t:[]),p=m=>{const b=new Set(x);b.has(m)?b.delete(m):b.add(m),c(e.filter(f=>b.has(f.value)).map(f=>f.value)),l==null||l()};return s.jsxs("div",{role:"group","aria-label":n,"aria-required":a||void 0,"aria-invalid":o?!0:void 0,"aria-describedby":u["aria-describedby"],children:[s.jsx(R,{isRequired:a,children:n}),i&&s.jsx(P,{id:d.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((m,b)=>{const f=x.has(m.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)] ${f?"bg-accent border-accent text-text-inverse":o?"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:f,onChange:()=>p(m.value),className:"sr-only","data-testid":`multi-select-${r}-${String(m.value)}`,...b===0?{"data-field-key":r,id:d.field}:{}}),f&&s.jsx(Kt,{className:"w-3.5 h-3.5 shrink-0",strokeWidth:2.5}),m.label]},String(m.value))})}),s.jsx(D,{error:o,id:d.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 Dr({value:t,fieldKey:e,label:r,helperText:n,isRequired:i,error:a,onBlur:o,ids:l,ariaProps:d,onChange:u}){const[c,x]=g.useState(()=>Vt(t));g.useEffect(()=>{if(typeof t=="string"){t!==c&&x(t);return}const m=Bt(c);!(m.ok&&JSON.stringify(m.value)===JSON.stringify(t??null))&&!(c.trim()===""&&t===null)&&x(Vt(t))},[t]);const p=c.split(`
6
6
  `).length;return s.jsxs("div",{children:[s.jsx(R,{isRequired:i,htmlFor:l.field,children:r}),n&&s.jsx(P,{id:l.help,children:n}),s.jsx("textarea",{value:c,onChange:m=>{const b=m.target.value;if(x(b),b.trim()===""){u(null);return}const f=Bt(b);u(f.ok?f.value:b)},onBlur:o,spellCheck:!1,"data-field-key":e,rows:Math.min(14,Math.max(4,p)),className:`${Y(!!a)} font-mono text-xs leading-relaxed`,...d}),s.jsx(D,{error:a,id:l.error})]})}const Yt={date:"date","date-time":"datetime-local",email:"email",uri:"url"},Wr={date:"max-w-48","date-time":"max-w-64"};function ge({fieldKey:t,value:e,onChange:r,onBlur:n,schema:i,isRequired:a,isReadOnly:o,error:l,escalationContext:d,submitAttempted:u}){var M;const c=(M=i==null?void 0:i.properties)==null?void 0:M[t],x=U(t,c),p=c==null?void 0:c["x-lt-widget"],m=Lr(c,e),b=`lt-field-${t}`,f={field:b,help:`${b}-help`,error:`${b}-error`},h=typeof(c==null?void 0:c.description)=="string"&&c.description.length>0?c.description:void 0,j={id:b,"aria-required":a||void 0,"aria-invalid":l?!0:void 0,"aria-describedby":l?f.error:h?f.help:void 0},A={fieldKey:t,label:x,helperText:h,isRequired:a,error:l,onBlur:n,ids:f,ariaProps:j,onChange:r},y=p==="markdown"&&typeof e=="string",N=(p==="attachment"||p==="image")&&typeof e=="string",v=!!(p&&p in lt);if(o&&!y&&!N&&!v){const E=e===null?"null":typeof e=="object"?JSON.stringify(e,null,2):String(e);return s.jsxs("div",{children:[s.jsx(R,{isRequired:a,children:x}),s.jsx("p",{className:"text-sm text-text-secondary mt-0.5 whitespace-pre-wrap",children:E})]})}if(p==="json"&&(m==="array"||m==="object"))return s.jsx(Dr,{...A,value:e});if(p&&p in lt){const E=lt[p],_=a||(c==null?void 0:c["x-lt-require-all"])===!0,O={fieldKey:t,schema:c,escalationContext:d,isRequired:_,submitAttempted:u,error:l};if((c==null?void 0:c.type)==="object"){const T=typeof e=="string"?e:typeof e=="object"&&e!==null&&!Array.isArray(e)?JSON.stringify(e):"";return s.jsx(E,{...O,value:T,onChange:J=>{try{r(JSON.parse(J))}catch{r(J)}}})}if(typeof e=="string")return s.jsx(E,{...O,value:e,onChange:T=>r(T)});if(typeof e=="object"&&e!==null&&!Array.isArray(e))return s.jsx(E,{...O,value:JSON.stringify(e),onChange:T=>{try{r(JSON.parse(T))}catch{r(T)}}})}const k=gt(c,d);if(m==="array"){if(k!==void 0&&(c==null?void 0:c["x-lt-options"])!==void 0)return s.jsx($r,{...A,value:e,options:k})}else if(k!==void 0&&m!=="object")return s.jsx(Pr,{...A,value:e,options:k,nullable:(c==null?void 0:c["x-lt-nullable"])===!0});switch(m){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:E=>{r(E.target.checked),n==null||n()},className:"w-3.5 h-3.5 rounded accent-accent","data-field-key":t,...j}),s.jsxs("span",{className:"text-2xs font-semibold uppercase tracking-wider text-text-secondary",children:[x,a&&s.jsx("span",{className:"text-status-error ml-0.5",children:"*"})]})]}),h&&s.jsx(P,{id:f.help,children:h}),s.jsx(D,{error:l,id:f.error})]});case"number":case"integer":return s.jsxs("div",{children:[s.jsx(R,{isRequired:a,htmlFor:b,children:x}),h&&s.jsx(P,{id:f.help,children:h}),s.jsx("input",{type:"number",value:typeof e=="number"||typeof e=="string"?e:"",onChange:E=>r(parseFloat(E.target.value)||0),onBlur:n,step:"any","data-field-key":t,className:`${Y(!!l)} max-w-48`,...j}),s.jsx(D,{error:l,id:f.error})]});case"string":return C(typeof e=="string"?e:e==null?"":String(e));case"array":return Array.isArray(e)?s.jsxs("div",{children:[s.jsx(R,{isRequired:a,children:x}),s.jsx("div",{className:"flex flex-wrap gap-1.5 mt-1",children:e.map((E,_)=>s.jsx("span",{className:"px-2 py-0.5 text-2xs font-mono bg-surface-sunken rounded text-text-secondary",children:String(E)},_))})]}):C(e==null?"":String(e));case"object":{if(typeof e!="object"||e===null||Array.isArray(e))return C(e==null?"":String(e));const E=Object.entries(e);return s.jsxs("div",{children:[s.jsx(R,{isRequired:a,children:x}),s.jsx("div",{className:"ml-4 mt-2 pl-4 border-l border-accent-faint space-y-3",children:E.map(([_,O])=>s.jsx(ge,{fieldKey:_,value:O,onChange:T=>r({...e,[_]:T})},_))})]})}default:return s.jsxs("div",{children:[s.jsx(R,{isRequired:a,children:x}),s.jsx("p",{className:"text-xs text-text-tertiary italic mt-1",children:"null"})]})}function C(E){const _=c==null?void 0:c.format;if(_==="password")return s.jsxs("div",{children:[s.jsx(R,{isRequired:a,htmlFor:b,children:x}),h&&s.jsx(P,{id:f.help,children:h}),s.jsx("input",{type:"password",value:E,onChange:O=>r(O.target.value),onBlur:n,"data-field-key":t,className:Y(!!l),autoComplete:"off",...j}),s.jsx(D,{error:l,id:f.error})]});if(_&&_ in Yt)return s.jsxs("div",{children:[s.jsx(R,{isRequired:a,htmlFor:b,children:x}),h&&s.jsx(P,{id:f.help,children:h}),s.jsx("input",{type:Yt[_],value:E,onChange:O=>r(O.target.value),onBlur:n,"data-field-key":t,className:`${Y(!!l)} ${Wr[_]??""}`,...j}),s.jsx(D,{error:l,id:f.error})]});if(_==="textarea"||E.length>80){const O=c==null?void 0:c.maxLength,T=c==null?void 0:c["x-lt-max-length"],J=T?Number(Q(T,d)):NaN,V=O??(Number.isFinite(J)?J:void 0),B=V!==void 0&&E.length>V;return s.jsxs("div",{children:[s.jsx(R,{isRequired:a,htmlFor:b,children:x}),h&&s.jsx(P,{id:f.help,children:h}),s.jsx("textarea",{value:E,onChange:at=>{r(at.target.value),n==null||n()},onBlur:n,"data-field-key":t,className:`${Y(!!l)} leading-relaxed`,rows:Math.min(6,Math.max(3,Math.ceil(E.length/60))),...j}),V!==void 0&&s.jsxs("p",{className:`text-2xs mt-0.5 text-right tabular-nums ${B?"text-status-error font-medium":"text-text-quaternary"}`,children:[E.length," / ",V]}),s.jsx(D,{error:l,id:f.error})]})}return s.jsxs("div",{children:[s.jsx(R,{isRequired:a,htmlFor:b,children:x}),h&&s.jsx(P,{id:f.help,children:h}),s.jsx("input",{type:"text",value:E,onChange:O=>r(O.target.value),onBlur:n,"data-field-key":t,className:Y(!!l),...j}),s.jsx(D,{error:l,id:f.error})]})}}function Ur({items:t,columns:e=1}){if(t.length===0)return null;const r=e>=2&&t.length>1?"grid-cols-1 @dict-inline:grid-cols-[max-content_1fr] @dict-pairs:grid-cols-[max-content_1fr_max-content_1fr]":"grid-cols-1 @dict-inline:grid-cols-[max-content_1fr]";return s.jsx("div",{className:"@container",children:s.jsx("dl",{className:`grid ${r} items-baseline gap-x-6 @dict-pairs:gap-x-8 gap-y-1.5`,children:t.map(({key:n,label:i,value:a})=>s.jsxs(g.Fragment,{children:[s.jsx("dt",{className:"text-2xs font-semibold uppercase tracking-wide text-text-secondary mt-2 first:mt-0 @dict-inline:mt-0",children:i}),s.jsx("dd",{className:"text-sm text-text-primary break-words min-w-0","data-field-key":n,children:Jr(a)})]},n))})})}function Jr(t){return t==null||t===""?"—":typeof t=="boolean"?t?"Yes":"No":typeof t=="object"?JSON.stringify(t):String(t)}function Gr({name:t,entries:e,formSchema:r,layout:n,renderField:i}){const a=Fr(e,r,t,n),o=me(r,t),l=(o==null?void 0:o.columns)??(n==="two-column"?2:1),d=c=>c.map(([x,p])=>{var m;return{key:x,label:U(x,(m=r==null?void 0:r.properties)==null?void 0:m[x]),value:p}}),u=()=>a.map((c,x)=>c.kind==="dictionary"?s.jsx("div",{className:n==="two-column"?"col-span-full":"",children:s.jsx(Ur,{items:d(c.entries),columns:l})},`dict-${x}`):c.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:c.entries.map(p=>i(p))})},`group-${c.name}-${x}`):i(c.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}),n==="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 Hr({value:t,onChange:e,disabled:r,submitAttempted:n,escalationContext:i,onOpenHelp:a,onDisabledClick:o,disabledHint:l}){var Et,At;const[d,u]=g.useState({}),[c,x]=g.useState({}),[p,m]=g.useState(null),[b,f]=g.useState(!1),[h,j]=g.useState(new Set);g.useEffect(()=>{try{const w=JSON.parse(t);if(typeof w=="object"&&w!==null&&!Array.isArray(w)){const L={},I={};for(const[F,G]of Object.entries(w))F.startsWith("_")||F.startsWith("$")?I[F]=G:L[F]=G;u(L),x(I),m(I._form_schema&&typeof I._form_schema=="object"?I._form_schema:null),f(!1)}}catch{f(!0)}},[t]);const A=g.useCallback(w=>{u(w),e(JSON.stringify({...w,...c},null,2))},[c,e]),y=g.useCallback((w,L)=>{A({...d,[w]:L})},[d,A]),N=g.useCallback(w=>{j(L=>{if(L.has(w))return L;const I=new Set(L);return I.add(w),I})},[]);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(d);if(v.length===0)return s.jsx("p",{className:"text-xs text-text-tertiary italic",children:"No resolver fields defined."});const k=p==null?void 0:p["x-lt-order"],C=k?[...v].sort((w,L)=>{const I=k.indexOf(w[0]),F=k.indexOf(L[0]);return(I===-1?1/0:I)-(F===-1?1/0:F)}):v,M={...i??{},resolver:d,input:d},E=C.filter(([w,L])=>{var F;const I=(F=p==null?void 0:p.properties)==null?void 0:F[w];return X(I==null?void 0:I["x-lt-showIf"],M)?!En(I,L):!1}),_=new Set((p==null?void 0:p.required)??[]),O=p==null?void 0:p["x-lt-layout"],T=p==null?void 0:p.title,J=p==null?void 0:p.description,V=typeof(p==null?void 0:p["x-lt-help"])=="string"||typeof(p==null?void 0:p["x-lt-context"])=="string",B=[];for(const w of E){const[L]=w,I=(Et=p==null?void 0:p.properties)==null?void 0:Et[L],F=((At=I==null?void 0:I["x-lt-section"])==null?void 0:At.trim())||null,G=B[B.length-1];!G||G.name!==F?B.push({name:F,entries:[w]}):G.entries.push(w)}const at=([w,L])=>{var Ct;const I=(Ct=p==null?void 0:p.properties)==null?void 0:Ct[w],F=(I==null?void 0:I.readOnly)===!0,G=(I==null?void 0:I["x-lt-span"])??1,It=_.has(w),be=h.has(w)||!!n,he=ae(L,I,It,be,M);return s.jsx("div",{className:`animate-[field-enter_0.2s_ease-out] ${O==="two-column"&&G>=2?"col-span-full":""}`,children:s.jsx(ge,{fieldKey:w,value:L,onChange:ye=>y(w,ye),onBlur:()=>N(w),schema:p,isRequired:It,isReadOnly:F,error:he,escalationContext:M,submitAttempted:!!n})},w)},wt=s.jsxs("div",{className:r?"pointer-events-none":void 0,inert:r||void 0,"aria-disabled":r||void 0,children:[T&&s.jsxs("div",{className:"mb-1 flex items-center gap-1.5",children:[s.jsx("h3",{className:"heading-3",children:T}),V&&a&&s.jsx("button",{type:"button",onClick:a,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})})]}),J&&s.jsx("p",{className:"text-sm text-text-secondary leading-relaxed mb-6",children:J}),s.jsx("div",{className:"space-y-8",children:B.map((w,L)=>s.jsx(Gr,{name:w.name,entries:w.entries,formSchema:p,layout:O,renderField:at},w.name??`__s${L}`))})]});return r?s.jsx(Sn,{hint:l,onLockedClick:o,children:wt}):s.jsx("div",{className:"pb-8 max-w-form",children:wt})}export{ne as E,Er as L,Hr as R,Nt as W,vr as a,Ft as b,ce as c,U as d,Zr as f,mn as i,Qn as r,Ot as s,xe as u,oe as v,pr as w};
7
- //# sourceMappingURL=ResolverForm-Bgc0Zrya.js.map
7
+ //# sourceMappingURL=ResolverForm-BwgjIX97.js.map