@nextclaw/ui 0.27.0 → 0.27.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 (320) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/dist/.vite/manifest.json +1242 -1171
  3. package/dist/assets/{abnfDiagram-VRR7QNED-DmeCRAkd.js → abnfDiagram-VRR7QNED-BT0_ycaq.js} +1 -1
  4. package/dist/assets/account-panel-BVNV8XqM.js +1 -0
  5. package/dist/assets/agents-CfpN8PQc.js +1 -0
  6. package/dist/assets/agents-E4nu-17c.js +1 -0
  7. package/dist/assets/{aiden0z-pptx-renderer.es-ChX5DHqP.js → aiden0z-pptx-renderer.es-ClCaf_Wh.js} +1 -1
  8. package/dist/assets/api-CI6_8Qt1.js +20 -0
  9. package/dist/assets/app-presenter-provider-2DwHRRle.js +28 -0
  10. package/dist/assets/appearance-settings-page-Cn9w3F-K.js +1 -0
  11. package/dist/assets/apps-YFlJirpx.js +1 -0
  12. package/dist/assets/{arc-Cu6Ols44.js → arc-cmSdpq1Z.js} +1 -1
  13. package/dist/assets/architecture-TIHT7OUA-BImoGh10.js +1 -0
  14. package/dist/assets/{architectureDiagram-ZJ3FMSHR-DrNB0eLE.js → architectureDiagram-ZJ3FMSHR-aYglVeoS.js} +1 -1
  15. package/dist/assets/{blockDiagram-677ZJIJ3-08rHt6DJ.js → blockDiagram-677ZJIJ3-Di_PBl5q.js} +1 -1
  16. package/dist/assets/{book-open-ClbJmmxP.js → book-open-i_BjUBqL.js} +1 -1
  17. package/dist/assets/{c4Diagram-LMCZKHZV-CCVgRG-u.js → c4Diagram-LMCZKHZV-CfuxybOL.js} +1 -1
  18. package/dist/assets/{card-BdC01NFF.js → card-DokH7OBp.js} +1 -1
  19. package/dist/assets/channel-BDQry0ob.js +1 -0
  20. package/dist/assets/{channels-list-page-BrIvJlop.js → channels-list-page-B7G9lHUm.js} +2 -2
  21. package/dist/assets/chunk-2Q5K7J3B-DkgSFfIy.js +1 -0
  22. package/dist/assets/{chunk-32BRIVSS-BeCaI-JN.js → chunk-32BRIVSS-CCGc4qg4.js} +1 -1
  23. package/dist/assets/{chunk-52WLFC77-ZXIcYPYs.js → chunk-52WLFC77-aJoxU2Ow.js} +1 -1
  24. package/dist/assets/{chunk-5FCAYU7R-DDwTPcy8.js → chunk-5FCAYU7R-CGwtZSax.js} +1 -1
  25. package/dist/assets/{chunk-5HE753X5-WygrMYPL.js → chunk-5HE753X5-DqaMSMeS.js} +1 -1
  26. package/dist/assets/{chunk-5JV3BV7I-o8T3KZgk.js → chunk-5JV3BV7I-DnabINcd.js} +1 -1
  27. package/dist/assets/{chunk-5TONJI2A-BKFbUT7J.js → chunk-5TONJI2A-BhpKv1k2.js} +1 -1
  28. package/dist/assets/{chunk-5VM5RSS4-DYxCRV86.js → chunk-5VM5RSS4-DvkRPit_.js} +1 -1
  29. package/dist/assets/{chunk-7BUUIJ7U-CvSeJlKZ.js → chunk-7BUUIJ7U-CgDQOLnC.js} +1 -1
  30. package/dist/assets/{chunk-BIQX33UG-BhH3RHCY.js → chunk-BIQX33UG-9FEv5b7T.js} +1 -1
  31. package/dist/assets/{chunk-C7G6YPKG-BTL0-xL3.js → chunk-C7G6YPKG-CNGFAFYL.js} +1 -1
  32. package/dist/assets/{chunk-CQNSW5MT-DWAU4QaD.js → chunk-CQNSW5MT-DovTZx0M.js} +1 -1
  33. package/dist/assets/{chunk-CYSBUYHQ-B7ZBMXTx.js → chunk-CYSBUYHQ-DpLEgYa1.js} +1 -1
  34. package/dist/assets/{chunk-EMLP6XTP-D92HvnHE.js → chunk-EMLP6XTP-D4NuN01W.js} +1 -1
  35. package/dist/assets/{chunk-EX3LRPZG-DfOGKwW8.js → chunk-EX3LRPZG-D8Jf4kc2.js} +1 -1
  36. package/dist/assets/{chunk-FWX5IMBZ-DUuJUrXJ.js → chunk-FWX5IMBZ-BdHymAs0.js} +2 -2
  37. package/dist/assets/{chunk-HOUHSVGY-i3MDyUY5.js → chunk-HOUHSVGY-Dd_Ycn9Z.js} +1 -1
  38. package/dist/assets/{chunk-ICXQ74PX-F_pmNX6t.js → chunk-ICXQ74PX-BRPUu3ff.js} +1 -1
  39. package/dist/assets/{chunk-JG7HCLWE-DygOelrU.js → chunk-JG7HCLWE-DnCasQja.js} +1 -1
  40. package/dist/assets/{chunk-JWPE2WC7-BpiZMeRl.js → chunk-JWPE2WC7-C3CkbEj1.js} +1 -1
  41. package/dist/assets/{chunk-MOJQB5TN-CV10sB1I.js → chunk-MOJQB5TN-Pi--K4-1.js} +1 -1
  42. package/dist/assets/{chunk-MOZMSUNE-Cf1WZNm0.js → chunk-MOZMSUNE-3VTspvlh.js} +1 -1
  43. package/dist/assets/{chunk-OGEWGWER-DuSw54VR.js → chunk-OGEWGWER-BetLLyJt.js} +1 -1
  44. package/dist/assets/{chunk-OSBZ3O6U-_rt_XKSZ.js → chunk-OSBZ3O6U-D1VcupAj.js} +1 -1
  45. package/dist/assets/{chunk-PUDLZKDR-BFPaAGNW.js → chunk-PUDLZKDR-Cy4G8SjV.js} +1 -1
  46. package/dist/assets/{chunk-Q4XR5HBZ-GE0v_E5y.js → chunk-Q4XR5HBZ-UYxXzi7_.js} +1 -1
  47. package/dist/assets/{chunk-QBLGF6JB-BK_FpnlJ.js → chunk-QBLGF6JB-CHiGeRY1.js} +1 -1
  48. package/dist/assets/{chunk-R7FJI6CG-CpYh6rGo.js → chunk-R7FJI6CG-C5kVJus8.js} +1 -1
  49. package/dist/assets/{chunk-RYQCIY6F-htnxL_Cl.js → chunk-RYQCIY6F-C6cuuEBn.js} +1 -1
  50. package/dist/assets/{chunk-U6XO7XAA-wDbE4BZ7.js → chunk-U6XO7XAA-CM0EK7Y0.js} +1 -1
  51. package/dist/assets/{chunk-V7JOEXUC-DDRSVFTB.js → chunk-V7JOEXUC-DWJZIsME.js} +1 -1
  52. package/dist/assets/chunk-VAUOI2AC-CsTIB8qD.js +1 -0
  53. package/dist/assets/{chunk-VR4S4FIN-COdhHR1o.js → chunk-VR4S4FIN-CY5KYeEi.js} +1 -1
  54. package/dist/assets/{chunk-WYO6CB5R-DPDGhyF6.js → chunk-WYO6CB5R-B30N3ZP8.js} +3 -3
  55. package/dist/assets/chunk-XXDRQBXY-DK6dz0Q3.js +1 -0
  56. package/dist/assets/{chunk-YOTPTUD7-D8ir9Nx5.js → chunk-YOTPTUD7-CBu82JpO.js} +1 -1
  57. package/dist/assets/{chunk-ZGVPDNZ5-BuNKD836.js → chunk-ZGVPDNZ5-BN5NX5qA.js} +1 -1
  58. package/dist/assets/{chunk-ZIRB5QZD-DyHzq8jH.js → chunk-ZIRB5QZD-DcDXK29L.js} +1 -1
  59. package/dist/assets/{circle-dashed-nDaMRmP-.js → circle-dashed-Cx8CIEbg.js} +1 -1
  60. package/dist/assets/classDiagram-OUVF2IWQ-BYygHCrp.js +1 -0
  61. package/dist/assets/classDiagram-v2-EOCWNBFH-BgQ0XKYz.js +1 -0
  62. package/dist/assets/{client-DlFB5dW5.js → client-CUJUci3r.js} +1 -1
  63. package/dist/assets/{config-split-page-C06fU9OQ.js → config-split-page-hY1xug28.js} +1 -1
  64. package/dist/assets/{confirm-dialog-DpcmlXhd.js → confirm-dialog-B-ejV666.js} +1 -1
  65. package/dist/assets/{context-menu-DKIEaY7f.js → context-menu-dGVv8klA.js} +9 -9
  66. package/dist/assets/{cose-bilkent-JH36ORCC-B1I1_P6a.js → cose-bilkent-JH36ORCC-CmeJVoTw.js} +1 -1
  67. package/dist/assets/{createLucideIcon-Lnt-4LMC.js → createLucideIcon-reFMl-W-.js} +1 -1
  68. package/dist/assets/cron-CH5c55CR.js +1 -0
  69. package/dist/assets/cynefin-VYW2F7L2-DKbotNWS.js +1 -0
  70. package/dist/assets/{cynefinDiagram-TSTJHNR4-DcOnhnCo.js → cynefinDiagram-TSTJHNR4-DGOUMgPP.js} +1 -1
  71. package/dist/assets/{dagre-nSYhf9yY.js → dagre-CMxSkbJJ.js} +1 -1
  72. package/dist/assets/{dagre-VKFMJZFB-hAX89lg3.js → dagre-VKFMJZFB-3YUBEXwo.js} +1 -1
  73. package/dist/assets/{desktop-capabilities-page-DPORyZAu.js → desktop-capabilities-page-CYJTQ3nC.js} +1 -1
  74. package/dist/assets/{desktop-update-config-BMTeWZmn.js → desktop-update-config-guKAozXO.js} +1 -1
  75. package/dist/assets/{diagram-FQU43EPY-C1mRMD2k.js → diagram-FQU43EPY-Br1g--ww.js} +1 -1
  76. package/dist/assets/{diagram-G47NLZAW-D2XBn5al.js → diagram-G47NLZAW-D1wJCBgr.js} +1 -1
  77. package/dist/assets/{diagram-NH7WQ7WH-3LmRsmkC.js → diagram-NH7WQ7WH-Cgg2auLH.js} +1 -1
  78. package/dist/assets/{diagram-OA4YK3LP-CFWn-osC.js → diagram-OA4YK3LP-R-wHiWqh.js} +1 -1
  79. package/dist/assets/{diagram-WEI45ONY-BqNRbUvU.js → diagram-WEI45ONY-CsNnKV0P.js} +1 -1
  80. package/dist/assets/{dialog-BNXSPMX_.js → dialog-DLOwdjT1.js} +1 -1
  81. package/dist/assets/{dist-Cuiqqp1O.js → dist-ZaFFmAGl.js} +1 -1
  82. package/dist/assets/doc-browser-ClDUWo9V.js +1 -0
  83. package/dist/assets/doc-browser-context-CTmOmuqa.js +1 -0
  84. package/dist/assets/{docx-preview-CunAATyC.js → docx-preview-kPn_EtAr.js} +1 -1
  85. package/dist/assets/{download-f_sPcoLZ.js → download-DovI3Yvf.js} +1 -1
  86. package/dist/assets/{ebnfDiagram-CCIWWBDH-CYb8IwqD.js → ebnfDiagram-CCIWWBDH-DCyhIPdi.js} +1 -1
  87. package/dist/assets/{erDiagram-Q63AITRT-H47mUoeK.js → erDiagram-Q63AITRT-D0ZJYAUf.js} +1 -1
  88. package/dist/assets/eventmodeling-45OFAUF4-SIhbIFIw.js +1 -0
  89. package/dist/assets/{extensions-B-0xQz3L.js → extensions-BZ3qrM8M.js} +1 -1
  90. package/dist/assets/{external-link-CbVlnlNy.js → external-link-DUD3AbsF.js} +1 -1
  91. package/dist/assets/flowDiagram-23GEKE2U-DdAjkU7I.js +1 -0
  92. package/dist/assets/{form-actions-BoTqELHB.js → form-actions-B8VniHts.js} +1 -1
  93. package/dist/assets/{ganttDiagram-NO4QXBWP-hSX45zfV.js → ganttDiagram-NO4QXBWP-CiXDcXZD.js} +1 -1
  94. package/dist/assets/gitGraph-TEB2WS4Q-DnMNpESZ.js +1 -0
  95. package/dist/assets/{gitGraphDiagram-IHSO6WYX-Br0UW2qg.js → gitGraphDiagram-IHSO6WYX-BSiIV48S.js} +1 -1
  96. package/dist/assets/{i18n-B0V5NkFj.js → i18n-IGQbjBqS.js} +2 -2
  97. package/dist/assets/inbox-BjBZIbgx.js +1 -0
  98. package/dist/assets/{inbox-Bna8iUy0.js → inbox-ClAG7SI_.js} +1 -1
  99. package/dist/assets/info-DKCQHKI2-BSm-69p_.js +1 -0
  100. package/dist/assets/{infoDiagram-FWYZ7A6U-DQmP_67w.js → infoDiagram-FWYZ7A6U-CCIgBCVq.js} +1 -1
  101. package/dist/assets/{ishikawaDiagram-FXEZZL3T-BHAV2oes.js → ishikawaDiagram-FXEZZL3T-nQ_baN5u.js} +1 -1
  102. package/dist/assets/{journeyDiagram-5HDEW3XC-CFHax4_d.js → journeyDiagram-5HDEW3XC-ABueIPzj.js} +1 -1
  103. package/dist/assets/{kanban-definition-HUTT4EX6-B4ZA9rp5.js → kanban-definition-HUTT4EX6-8FKS3fmQ.js} +1 -1
  104. package/dist/assets/katex-DPgHtix3.js +1 -0
  105. package/dist/assets/keyboard-shortcuts-settings-page-BqfbbKir.js +1 -0
  106. package/dist/assets/{line-BboM0HLF.js → line-Biw8iEUz.js} +1 -1
  107. package/dist/assets/{linear-4K_M1oYM.js → linear-D7CWUHTF.js} +1 -1
  108. package/dist/assets/login-page-BxSMwUsc.js +1 -0
  109. package/dist/assets/{login-page-JNr5JCEw.js → login-page-DYaozpzz.js} +1 -1
  110. package/dist/assets/main-CWYF9QU_.js +2 -0
  111. package/dist/assets/main-D_zmSVS1.css +1 -0
  112. package/dist/assets/main-i18n-catalog.config-itg3Gvzp.js +1 -0
  113. package/dist/assets/{map-26GpO1wn.js → map-CDu47gTf.js} +1 -1
  114. package/dist/assets/marketplace-CnQ5USfr.js +1 -0
  115. package/dist/assets/mcp-marketplace-page-Dor6H9IC.js +1 -0
  116. package/dist/assets/{mermaid-parser.core-BTJFnvRC.js → mermaid-parser.core-Cc9wjl82.js} +2 -2
  117. package/dist/assets/{mermaid.core-B7ufoXgq.js → mermaid.core-GWlaVWz1.js} +3 -3
  118. package/dist/assets/{mindmap-definition-LN4V7U3C-BHyru6KE.js → mindmap-definition-LN4V7U3C-oqnKsz-R.js} +1 -1
  119. package/dist/assets/{model-config-page-C-wbM6Fe.js → model-config-page-Cduyz2Hy.js} +1 -1
  120. package/dist/assets/{navigation-link-DFLSVIut.js → navigation-link-D-JSWFxj.js} +1 -1
  121. package/dist/assets/{ordinal-BqFe2ePF.js → ordinal-DImbxqBz.js} +1 -1
  122. package/dist/assets/packet-7NZHBO7P-1YQvC6mT.js +1 -0
  123. package/dist/assets/panel-app-i18n-catalog.config-BfLHr1tc.js +1 -0
  124. package/dist/assets/panel-apps-C-izvtu9.js +1 -0
  125. package/dist/assets/panelStandalone-oHxbXvYt.js +2 -0
  126. package/dist/assets/{pegDiagram-2B236MQR-PVTatU5j.js → pegDiagram-2B236MQR-DYAB8CEz.js} +1 -1
  127. package/dist/assets/pie-RZYD4A2V-BGoNOSwu.js +1 -0
  128. package/dist/assets/{pieDiagram-ENE6RG2P-CGc-QCc7.js → pieDiagram-ENE6RG2P-DGsH0Kk5.js} +1 -1
  129. package/dist/assets/plus-DUdl68Eo.js +1 -0
  130. package/dist/assets/{privacy-settings-page-CPdEiouE.js → privacy-settings-page-DG9E8N-F.js} +1 -1
  131. package/dist/assets/projects-CzBaTOTL.js +1 -0
  132. package/dist/assets/{provider-models-XRArsply.js → provider-models-COzjYl29.js} +1 -1
  133. package/dist/assets/{provider-scoped-model-input-C8JI-hus.js → provider-scoped-model-input-Cvy74uj8.js} +1 -1
  134. package/dist/assets/{providers-config-page-fyMlVgvq.js → providers-config-page-7rCwVnhh.js} +1 -1
  135. package/dist/assets/{puzzle-Bk3ud1KI.js → puzzle-C5Wfpjk_.js} +1 -1
  136. package/dist/assets/{pwa-Cx6Fnox4.js → pwa-CAg_9zFs.js} +1 -1
  137. package/dist/assets/{quadrantDiagram-ABIIQ3AL-DGL36riv.js → quadrantDiagram-ABIIQ3AL-BegGcT3l.js} +1 -1
  138. package/dist/assets/radar-I7S5WNFK-uPku9RRq.js +1 -0
  139. package/dist/assets/railroad-3IZDKUUU-DHnmbuIo.js +1 -0
  140. package/dist/assets/railroad-abnf-AHOZXSZD-DiZs--Iw.js +1 -0
  141. package/dist/assets/railroad-ebnf-EBAXGLYW-Nr53gnNE.js +1 -0
  142. package/dist/assets/railroad-peg-LSFZ7HO6-Cm_PuwJS.js +1 -0
  143. package/dist/assets/{railroadDiagram-RFXS5EU6-CyNwvhSb.js → railroadDiagram-RFXS5EU6-B3yJ2yxE.js} +1 -1
  144. package/dist/assets/{refresh-cw-Ca2napNx.js → refresh-cw-OhwaPDn1.js} +1 -1
  145. package/dist/assets/remote-DvCdHjzA.js +1 -0
  146. package/dist/assets/{requirementDiagram-TGXJPOKE-C31NMKJ0.js → requirementDiagram-TGXJPOKE-DtEyoEXG.js} +1 -1
  147. package/dist/assets/{rotate-cw-DXg7sNUE.js → rotate-cw-aBponvp7.js} +1 -1
  148. package/dist/assets/runtime-config-page-BF1wxvzR.js +1 -0
  149. package/dist/assets/{sankeyDiagram-HTMAVEWB-CwrQ_7PA.js → sankeyDiagram-HTMAVEWB-h9AYS2UB.js} +1 -1
  150. package/dist/assets/{save-DNigywZ9.js → save-394QCMXn.js} +1 -1
  151. package/dist/assets/{search-U9C0oTQJ.js → search-BG2qAlNZ.js} +1 -1
  152. package/dist/assets/{search-config-page-Bdx_RR1q.js → search-config-page-D4LeiB9y.js} +1 -1
  153. package/dist/assets/{secrets-config-page-CvMIcsfJ.js → secrets-config-page-BzGcr5Vw.js} +2 -2
  154. package/dist/assets/security-config-vD_V0BQF.js +1 -0
  155. package/dist/assets/{select-DxwDeKUR.js → select-xUXYV0Gr.js} +1 -1
  156. package/dist/assets/{sequenceDiagram-DBY2YBRQ-EFD482_y.js → sequenceDiagram-DBY2YBRQ-D-uxCkob.js} +1 -1
  157. package/dist/assets/service-apps-panel-D3wwPRzV.js +1 -0
  158. package/dist/assets/{settings-2-BrBUdRoY.js → settings-2-CWOGRRaA.js} +1 -1
  159. package/dist/assets/{sizeCapture-X5ZJPWSS-TDvULTE1.js → sizeCapture-X5ZJPWSS-DBzZytQo.js} +1 -1
  160. package/dist/assets/{src-CI2AvEMj.js → src-zrGbZsfc.js} +1 -1
  161. package/dist/assets/{stateDiagram-2N3HPSRC-JdPsIYHo.js → stateDiagram-2N3HPSRC-DyDy7AHq.js} +1 -1
  162. package/dist/assets/stateDiagram-v2-6OUMAXLB-CtkpO6aA.js +1 -0
  163. package/dist/assets/{status-dot-BbGsrkIX.js → status-dot-CYifnSnt.js} +1 -1
  164. package/dist/assets/{swimlanes-5IMT3BWC-BnxpKeK_.js → swimlanes-5IMT3BWC-BzOduS38.js} +2 -2
  165. package/dist/assets/swimlanesDiagram-G3AALYLV-BSdi6mvi.js +8 -0
  166. package/dist/assets/{tag-chip-BDbxcf6P.js → tag-chip-CjM6lyeh.js} +1 -1
  167. package/dist/assets/theme-provider-BToFZGZG.js +1 -0
  168. package/dist/assets/{timeline-definition-FHXFAJF6-2IL22-uC.js → timeline-definition-FHXFAJF6-CmgnEF2t.js} +1 -1
  169. package/dist/assets/{trash-2-DwSkRfeB.js → trash-2-DvJ6duOW.js} +1 -1
  170. package/dist/assets/treeView-QDETBFTQ-DBoqypPR.js +1 -0
  171. package/dist/assets/treemap-6X3UGDF4-BMeL3P0q.js +1 -0
  172. package/dist/assets/use-config-COusaY5p.js +1 -0
  173. package/dist/assets/{use-desktop-capabilities-D7odgaTB.js → use-desktop-capabilities-B-u6ojjW.js} +1 -1
  174. package/dist/assets/{use-viewport-layout-BANU5E1t.js → use-viewport-layout-IKKGpjzF.js} +1 -1
  175. package/dist/assets/{vennDiagram-L72KCM5P-Cjf6n5Va.js → vennDiagram-L72KCM5P-DwS7D2kg.js} +1 -1
  176. package/dist/assets/wardley-OPB4EBWU-Dqxe7zN6.js +1 -0
  177. package/dist/assets/{wardleyDiagram-EHGQE667-yv4qKbBO.js → wardleyDiagram-EHGQE667-B4X8OOL4.js} +1 -1
  178. package/dist/assets/{x-BqGj6_Vq.js → x-E9VB4HQx.js} +1 -1
  179. package/dist/assets/{xychartDiagram-FW5EYKEG-Bmp8Ck8X.js → xychartDiagram-FW5EYKEG-BjRQ_0nx.js} +1 -1
  180. package/dist/index.html +41 -40
  181. package/dist/panel-standalone.html +16 -16
  182. package/package.json +6 -6
  183. package/src/features/agents/components/__tests__/agents-page.test.tsx +8 -5
  184. package/src/features/agents/components/agent-details-dialog.tsx +19 -15
  185. package/src/features/agents/components/agents-page.tsx +27 -38
  186. package/src/features/app-data/components/app-retained-data-section.tsx +2 -2
  187. package/src/features/apps/components/app-marketplace-catalog.tsx +5 -5
  188. package/src/features/apps/components/app-marketplace-detail.tsx +11 -2
  189. package/src/features/apps/components/app-packages-panel.tsx +4 -4
  190. package/src/features/apps/components/apps-panel.tsx +3 -1
  191. package/src/features/chat/components/providers/chat-runtime.provider.tsx +1 -1
  192. package/src/features/chat/features/conversation/components/__tests__/session-conversation-area.test.tsx +0 -1
  193. package/src/features/chat/features/conversation/components/__tests__/session-conversation-input.streaming.test.tsx +13 -2
  194. package/src/features/chat/features/conversation/components/session-conversation-area.tsx +8 -1
  195. package/src/features/chat/features/conversation/components/session-conversation-input-top-slot.tsx +44 -0
  196. package/src/features/chat/features/conversation/components/session-conversation-input.tsx +4 -38
  197. package/src/features/chat/features/conversation/hooks/__tests__/use-session-conversation-controller.test.tsx +86 -10
  198. package/src/features/chat/features/conversation/hooks/__tests__/use-session-conversation-input-state.test.tsx +12 -2
  199. package/src/features/chat/features/conversation/hooks/use-session-conversation-controller.ts +85 -73
  200. package/src/features/chat/features/conversation/hooks/use-session-conversation-input-query.ts +5 -15
  201. package/src/features/chat/features/conversation/hooks/use-session-conversation-input-state.ts +53 -13
  202. package/src/features/chat/features/conversation/hooks/use-session-submission-recovery.ts +83 -0
  203. package/src/features/chat/features/conversation/types/session-conversation-input.types.ts +38 -0
  204. package/src/features/chat/features/input/utils/__tests__/ncp-chat-input-availability.utils.test.ts +1 -29
  205. package/src/features/chat/features/input/utils/ncp-chat-input-availability.utils.ts +1 -8
  206. package/src/features/chat/features/message/components/__tests__/chat-message-list-skill-preview.container.test.tsx +14 -1
  207. package/src/features/chat/features/message/hooks/use-chat-inline-token-actions.ts +7 -2
  208. package/src/features/chat/features/session/utils/__tests__/chat-session-route.utils.test.ts +26 -0
  209. package/src/features/chat/features/session/utils/chat-session-preference-governance.utils.ts +14 -8
  210. package/src/features/chat/features/session/utils/chat-session-route.utils.ts +9 -12
  211. package/src/features/chat/features/workspace/components/__tests__/chat-session-workspace-file-preview.selection.test.tsx +14 -2
  212. package/src/features/chat/features/workspace/components/__tests__/session-cron-job-content.test.tsx +5 -1
  213. package/src/features/chat/features/workspace/components/chat-session-workspace-file-preview.tsx +1 -1
  214. package/src/features/chat/features/workspace/components/session-cron-job-content.tsx +6 -22
  215. package/src/features/chat/index.ts +1 -0
  216. package/src/features/chat/pages/__tests__/ncp-chat-page.test.ts +37 -47
  217. package/src/features/chat/pages/ncp-chat-page.tsx +3 -3
  218. package/src/features/chat/stores/__tests__/chat-composer-draft.store.test.ts +67 -1
  219. package/src/features/chat/stores/chat-composer-draft.store.ts +230 -29
  220. package/src/features/cron/components/__tests__/cron-config.test.tsx +8 -2
  221. package/src/features/cron/components/cron-config.tsx +6 -17
  222. package/src/features/cron/components/cron-job-detail-dialog.tsx +10 -9
  223. package/src/features/cron/components/cron-job-resource.tsx +51 -0
  224. package/src/features/cron/index.ts +1 -0
  225. package/src/features/inbox/pages/inbox-page.tsx +8 -5
  226. package/src/features/marketplace/components/__tests__/marketplace-page-detail.test.tsx +1 -0
  227. package/src/features/marketplace/components/__tests__/marketplace-page.test.tsx +1 -0
  228. package/src/features/marketplace/components/mcp/__tests__/mcp-marketplace-page.test.tsx +2 -0
  229. package/src/features/marketplace/components/mcp/mcp-marketplace-card.tsx +2 -2
  230. package/src/features/marketplace/components/mcp/mcp-marketplace-page.tsx +23 -1
  231. package/src/features/marketplace/hooks/use-marketplace-item-detail.ts +11 -0
  232. package/src/features/panel-apps/index.ts +1 -0
  233. package/src/features/projects/components/work/project-work-item-drawer.tsx +7 -10
  234. package/src/features/projects/pages/project-home-page.tsx +18 -23
  235. package/src/features/projects/pages/projects-page.test.tsx +4 -1
  236. package/src/features/right-panel-resources/components/__tests__/system-object-resource.test.tsx +74 -6
  237. package/src/features/right-panel-resources/components/native-object-resource.tsx +134 -0
  238. package/src/features/right-panel-resources/components/page-resource-icon.tsx +1 -1
  239. package/src/features/right-panel-resources/components/system-object-resource.tsx +66 -1
  240. package/src/features/right-panel-resources/components/workspace-file-resource.tsx +9 -0
  241. package/src/features/right-panel-resources/configs/right-panel-resource-routes.config.ts +11 -21
  242. package/src/features/right-panel-resources/managers/__tests__/page-resource.manager.test.ts +14 -4
  243. package/src/features/right-panel-resources/managers/page-resource.manager.ts +38 -21
  244. package/src/features/right-panel-resources/utils/__tests__/right-panel-resource-route-resolver.utils.test.ts +12 -0
  245. package/src/features/service-apps/components/service-apps-panel.tsx +5 -2
  246. package/src/shared/components/doc-browser/__tests__/doc-browser-context.test.tsx +16 -0
  247. package/src/shared/components/doc-browser/__tests__/doc-browser.test.tsx +2 -2
  248. package/src/shared/components/doc-browser/__tests__/resource-link-interceptor.test.tsx +29 -1
  249. package/src/shared/components/doc-browser/stores/doc-browser.store.ts +13 -7
  250. package/src/shared/components/doc-browser/utils/doc-browser-url.utils.ts +2 -1
  251. package/src/shared/components/ui/skeleton.tsx +16 -2
  252. package/src/shared/lib/i18n/locales/en-US/chat.json +8 -0
  253. package/src/shared/lib/i18n/locales/zh-CN/chat.json +8 -0
  254. package/src/shared/lib/transport/__tests__/local-transport.service.test.ts +24 -0
  255. package/src/shared/lib/transport/local-transport.service.ts +8 -6
  256. package/dist/assets/account-panel-BYxGT4m4.js +0 -1
  257. package/dist/assets/api-CG22BskB.js +0 -20
  258. package/dist/assets/app-presenter-provider-CJFjhVYI.js +0 -28
  259. package/dist/assets/appearance-settings-page-BcXr0vHp.js +0 -1
  260. package/dist/assets/architecture-TIHT7OUA-CLjV_xu4.js +0 -1
  261. package/dist/assets/channel-BgpbPyEH.js +0 -1
  262. package/dist/assets/chunk-2Q5K7J3B-DjhMPqAC.js +0 -1
  263. package/dist/assets/chunk-VAUOI2AC-GYimZYx9.js +0 -1
  264. package/dist/assets/chunk-XXDRQBXY-KKCf0HV5.js +0 -1
  265. package/dist/assets/classDiagram-OUVF2IWQ-iRMPRR8M.js +0 -1
  266. package/dist/assets/classDiagram-v2-EOCWNBFH-BguFy_wj.js +0 -1
  267. package/dist/assets/cynefin-VYW2F7L2-CtbjXuCW.js +0 -1
  268. package/dist/assets/doc-browser-CDEapjmj.js +0 -1
  269. package/dist/assets/doc-browser-context-0QDWYorh.js +0 -1
  270. package/dist/assets/eventmodeling-45OFAUF4-Djd6id_u.js +0 -1
  271. package/dist/assets/flowDiagram-23GEKE2U-DUrsM_ZL.js +0 -1
  272. package/dist/assets/gitGraph-TEB2WS4Q-CU6P_2Cm.js +0 -1
  273. package/dist/assets/info-DKCQHKI2-Bj2P_7RC.js +0 -1
  274. package/dist/assets/katex-BprZ-Wwb.js +0 -1
  275. package/dist/assets/keyboard-shortcuts-settings-page-BluWKrSo.js +0 -1
  276. package/dist/assets/login-page-BMHW0Hh0.js +0 -1
  277. package/dist/assets/main-BCX_Untx.css +0 -1
  278. package/dist/assets/main-C5kbmGUV.js +0 -2
  279. package/dist/assets/main-i18n-catalog.config-DO4wNT7T.js +0 -1
  280. package/dist/assets/mcp-marketplace-page-CV-PHKTN.js +0 -1
  281. package/dist/assets/packet-7NZHBO7P-ti5ge2jr.js +0 -1
  282. package/dist/assets/panel-app-i18n-catalog.config-Bo52dPuF.js +0 -1
  283. package/dist/assets/panelStandalone-PuuMF65O.js +0 -2
  284. package/dist/assets/pie-RZYD4A2V-Bnep8TyV.js +0 -1
  285. package/dist/assets/plus-CywSlIbG.js +0 -1
  286. package/dist/assets/projects-D_cd_t4G.js +0 -1
  287. package/dist/assets/radar-I7S5WNFK-BYg-icAP.js +0 -1
  288. package/dist/assets/railroad-3IZDKUUU-_CHO-Fi1.js +0 -1
  289. package/dist/assets/railroad-abnf-AHOZXSZD-hbQDevHe.js +0 -1
  290. package/dist/assets/railroad-ebnf-EBAXGLYW-v4RZkOfi.js +0 -1
  291. package/dist/assets/railroad-peg-LSFZ7HO6-bC9BqkI5.js +0 -1
  292. package/dist/assets/remote-D5MBQNZE.js +0 -1
  293. package/dist/assets/runtime-config-page--ivCxBT4.js +0 -1
  294. package/dist/assets/security-config-CQmMqQ8v.js +0 -1
  295. package/dist/assets/service-apps-panel-CiYO1Be4.js +0 -1
  296. package/dist/assets/stateDiagram-v2-6OUMAXLB-4_aAQfB_.js +0 -1
  297. package/dist/assets/swimlanesDiagram-G3AALYLV-wCqfwsw-.js +0 -8
  298. package/dist/assets/theme-provider-D98XGa-c.js +0 -1
  299. package/dist/assets/treeView-QDETBFTQ-BAyOb14Z.js +0 -1
  300. package/dist/assets/treemap-6X3UGDF4-DgPDM0zS.js +0 -1
  301. package/dist/assets/use-config-D3cNzk2k.js +0 -1
  302. package/dist/assets/wardley-OPB4EBWU-eCElh8z5.js +0 -1
  303. /package/dist/assets/{array-DstOKG9P.js → array-DsNX3jRj.js} +0 -0
  304. /package/dist/assets/{chunk-KEIR6QF5-0TA8nwgf.js → chunk-KEIR6QF5-BOAXXeyv.js} +0 -0
  305. /package/dist/assets/{chunk-Y2CYZVJY-rfGCG6pM.js → chunk-Y2CYZVJY-CHjSjwoV.js} +0 -0
  306. /package/dist/assets/{config-hints-BfGoD7-o.js → config-hints-CaB3I7KP.js} +0 -0
  307. /package/dist/assets/{cytoscape.esm-DdIcNEda.js → cytoscape.esm-j4J9a91l.js} +0 -0
  308. /package/dist/assets/{defaultLocale-CzXix2iJ.js → defaultLocale-Bmxjp-V_.js} +0 -0
  309. /package/dist/assets/{dist-D5dwMwKA.js → dist-DwLj1Wg5.js} +0 -0
  310. /package/dist/assets/{graphlib-BKOe0eFe.js → graphlib-CC0HTn1v.js} +0 -0
  311. /package/dist/assets/{host-capabilities-CnSVTaot.js → host-capabilities-B107nwS3.js} +0 -0
  312. /package/dist/assets/{init-OCFb3zgY.js → init-Biz9Rus1.js} +0 -0
  313. /package/dist/assets/{jszip.min-B2uhSxvV.js → jszip.min-DQvBVV_R.js} +0 -0
  314. /package/dist/assets/{katex-dBrYsE7B.js → katex-BzT-4KBu.js} +0 -0
  315. /package/dist/assets/{middleware-CAXxl-af.js → middleware-B--6mAUM.js} +0 -0
  316. /package/dist/assets/{navigation-history-CzErJuPG.js → navigation-history-CCnxsAKR.js} +0 -0
  317. /package/dist/assets/{panel-app-CSQmm_7E.js → panel-app-BBTg0tVp.js} +0 -0
  318. /package/dist/assets/{path-T5eoIRSJ.js → path-4azsBPZv.js} +0 -0
  319. /package/dist/assets/{rough.esm-DmGXmZEB.js → rough.esm-w1lBArN6.js} +0 -0
  320. /package/dist/assets/{xlsx-CoYacou7.js → xlsx--SB9KlFl.js} +0 -0
@@ -1 +0,0 @@
1
- import{i as e}from"./chunk-DF37yw5_.js";import{Gn as t,Gt as n,Jn as r,Lt as i,Xn as a,Yn as o,Yt as s,cr as c,sr as l,yr as u}from"./api-CG22BskB.js";import{d,f,l as p}from"./navigation-link-DFLSVIut.js";import{$ as m,Dt as h,H as g,Ot as _,Q as v,X as y,Y as ee,Z as b,et as te,f as x,m as S,pt as C,tt as ne,yt as w}from"./app-presenter-provider-CJFjhVYI.js";import{t as T}from"./createLucideIcon-Lnt-4LMC.js";import{mt as E,nt as re}from"./context-menu-DKIEaY7f.js";import{R as D,z as O}from"./dist-Cuiqqp1O.js";import{t as k}from"./circle-dashed-nDaMRmP-.js";import{t as ie}from"./external-link-CbVlnlNy.js";import{t as ae}from"./use-viewport-layout-BANU5E1t.js";import{t as oe}from"./plus-CywSlIbG.js";import{t as se}from"./settings-2-BrBUdRoY.js";import{t as ce}from"./trash-2-DwSkRfeB.js";import{n as le,r as ue,s as A,t as de}from"./i18n-B0V5NkFj.js";import{a as fe,i as pe,n as me,o as he,r as j,t as M}from"./dialog-BNXSPMX_.js";import{a as ge,i as _e,n as ve,r as N}from"./tag-chip-BDbxcf6P.js";import{t as ye}from"./confirm-dialog-DpcmlXhd.js";import{a as P,i as F,n as I,r as L,t as R}from"./select-DxwDeKUR.js";import{a as be,i as xe,n as Se,t as Ce}from"./card-BdC01NFF.js";var we=T(`CircleX`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m15 9-6 6`,key:`1uzhvr`}],[`path`,{d:`m9 9 6 6`,key:`z0biqf`}]]),Te=T(`Circle`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]),Ee=T(`LayoutGrid`,[[`rect`,{width:`7`,height:`7`,x:`3`,y:`3`,rx:`1`,key:`1g98yp`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`3`,rx:`1`,key:`6d4xhi`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`14`,rx:`1`,key:`nxv5o0`}],[`rect`,{width:`7`,height:`7`,x:`3`,y:`14`,rx:`1`,key:`1bb6yr`}]]),De=T(`List`,[[`path`,{d:`M3 12h.01`,key:`nlz23k`}],[`path`,{d:`M3 18h.01`,key:`1tta3j`}],[`path`,{d:`M3 6h.01`,key:`1rqtza`}],[`path`,{d:`M8 12h13`,key:`1za7za`}],[`path`,{d:`M8 18h13`,key:`1lx6n3`}],[`path`,{d:`M8 6h13`,key:`ik3vkj`}]]),Oe=T(`Unlink`,[[`path`,{d:`m18.84 12.25 1.72-1.71h-.02a5.004 5.004 0 0 0-.12-7.07 5.006 5.006 0 0 0-6.95 0l-1.72 1.71`,key:`yqzxt4`}],[`path`,{d:`m5.17 11.75-1.71 1.71a5.004 5.004 0 0 0 .12 7.07 5.006 5.006 0 0 0 6.95 0l1.71-1.71`,key:`4qinb0`}],[`line`,{x1:`8`,x2:`8`,y1:`2`,y2:`5`,key:`1041cp`}],[`line`,{x1:`2`,x2:`5`,y1:`8`,y2:`8`,key:`14m1p5`}],[`line`,{x1:`16`,x2:`16`,y1:`19`,y2:`22`,key:`rzdirn`}],[`line`,{x1:`19`,x2:`22`,y1:`16`,y2:`16`,key:`ox905f`}]]),z=e(u(),1),B=c();function V({title:e,children:t,className:n=``}){return(0,B.jsxs)(Ce,{hover:!1,surface:`flat`,className:n,children:[(0,B.jsx)(xe,{className:`p-4 pb-3`,children:(0,B.jsx)(be,{children:e})}),(0,B.jsx)(Se,{className:`p-4 pt-0`,children:t})]})}function H({children:e}){return(0,B.jsx)(`p`,{className:`py-5 text-sm text-muted-foreground`,children:e})}function U({available:e,children:t,className:n,label:r,onOpen:i,path:a}){return e?(0,B.jsx)(`button`,{type:`button`,className:n,title:a,onClick:()=>i(a,r),children:t}):(0,B.jsx)(`div`,{className:n,children:t})}function ke({agreement:e,isLoading:t,isError:n,onOpenFile:r}){return(0,B.jsxs)(V,{title:A(`projectsAgreementFile`),children:[(0,B.jsx)(`p`,{className:`mb-4 text-sm text-muted-foreground`,children:A(`projectsAgreementDescription`)}),t?(0,B.jsx)(`p`,{className:`py-5 text-sm text-muted-foreground`,children:A(`projectsLoading`)}):n?(0,B.jsx)(`p`,{className:`py-5 text-sm text-destructive`,children:A(`projectsLoadFailed`)}):e?.available?(0,B.jsxs)(U,{available:!0,path:e.path,label:e.path,onOpen:r,className:`block w-full rounded-xl bg-muted/45 p-3 text-left transition-colors enabled:hover:bg-[var(--interaction-hover)] enabled:focus-visible:outline-none enabled:focus-visible:ring-1 enabled:focus-visible:ring-border`,children:[(0,B.jsx)(`span`,{className:`block text-sm font-medium`,children:e.path}),(0,B.jsx)(`span`,{className:`mt-1 block text-xs text-muted-foreground`,children:A(`projectsAgreementOpen`)})]}):(0,B.jsx)(H,{children:A(`projectsNoAgreement`)})]})}var W=e=>[`project-work`,e],G=e=>[`project-work-summary`,e],K=e=>[`project-work-states`,e],q=e=>[`project-work-artifacts`,e],J=(e,t)=>[`project-work-item`,e,t],Y=(e,t)=>[`project-work-activity`,e,t];function Ae(e,t={}){return _({queryKey:[...W(e??``),t],enabled:!!e,initialPageParam:null,queryFn:async({pageParam:n})=>await i.projects.listWork(e,{...t,...n?{cursor:n}:{}}),getNextPageParam:e=>e.nextCursor})}function je(e){return a({queryKey:G(e??``),enabled:!!e,queryFn:async()=>await i.projects.getWorkSummary(e)})}function Me(e){return a({queryKey:K(e??``),enabled:!!e,queryFn:async()=>await i.projects.listWorkStates(e)})}function Ne(e,t={}){return _({queryKey:[...q(e??``),t],enabled:!!e,initialPageParam:null,queryFn:async({pageParam:n})=>await i.projects.listRecentWorkArtifacts(e,{...t,...n?{cursor:n}:{}}),getNextPageParam:e=>e.nextCursor})}function Pe(e,t){return a({queryKey:J(e??``,t??``),enabled:!!(e&&t),queryFn:async()=>await i.projects.getWorkItem(e,t)})}function Fe(e,t){return a({queryKey:Y(e??``,t??``),enabled:!!(e&&t),queryFn:async()=>await i.projects.listWorkItemActivities(e,t,{limit:100})})}function X(e){let t=l(),n=async n=>{await Promise.all([t.invalidateQueries({queryKey:W(e)}),t.invalidateQueries({queryKey:G(e)}),t.invalidateQueries({queryKey:K(e)}),t.invalidateQueries({queryKey:q(e)}),...n?[t.invalidateQueries({queryKey:J(e,n)}),t.invalidateQueries({queryKey:Y(e,n)})]:[]])};return{createItem:o({mutationFn:async t=>await i.projects.createWorkItem(e,t),onSuccess:async e=>await n(e.id)}),updateItem:o({mutationFn:async t=>await i.projects.updateWorkItem(e,t.workItemId,t.patch),onSuccess:async e=>await n(e.id)}),deleteItem:o({mutationFn:async t=>await i.projects.deleteWorkItem(e,t),onSuccess:async e=>await n(e.id)}),restoreItem:o({mutationFn:async t=>await i.projects.restoreWorkItem(e,t),onSuccess:async e=>await n(e.id)}),linkArtifact:o({mutationFn:async t=>await i.projects.linkWorkItemArtifact(e,t.workItemId,{path:t.path,...t.label?{label:t.label}:{}}),onSuccess:async(e,t)=>await n(t.workItemId)}),unlinkArtifact:o({mutationFn:async t=>await i.projects.unlinkWorkItemArtifact(e,t.workItemId,t.artifactLinkId),onSuccess:async(e,t)=>await n(t.workItemId)}),createState:o({mutationFn:async t=>await i.projects.createWorkState(e,t),onSuccess:async()=>await n()}),updateState:o({mutationFn:async t=>await i.projects.updateWorkState(e,t.stateId,t.patch),onSuccess:async()=>await n()}),deleteState:o({mutationFn:async t=>await i.projects.deleteWorkState(e,t.stateId,t.migrateToStateId),onSuccess:async()=>await n()})}}function Z(e){let n=l();(0,z.useEffect)(()=>{if(e)return i.eventBus.on(t.projectWorkChanged,t=>{t.projectId===e&&(n.invalidateQueries({queryKey:W(e)}),n.invalidateQueries({queryKey:G(e)}),n.invalidateQueries({queryKey:K(e)}),n.invalidateQueries({queryKey:q(e)}),t.workItemId&&(n.invalidateQueries({queryKey:J(e,t.workItemId)}),n.invalidateQueries({queryKey:Y(e,t.workItemId)})))})},[e,n])}function Ie(e){return[...e].sort((e,t)=>e.position-t.position||e.name.localeCompare(t.name))}var Le={started:0,unstarted:1,backlog:2,completed:3,canceled:4};function Re(e){return[...e].sort((e,t)=>{let n=Le[e.category]-Le[t.category];return n===0?e.category===`completed`||e.category===`canceled`?e.position-t.position||e.name.localeCompare(t.name):t.position-e.position||e.name.localeCompare(t.name):n})}function Q(e,t){return`${e}${e.endsWith(`/`)||e.endsWith(`\\`)?``:`/`}${t}`}function ze(e,t=new Date){if(!e)return`-`;let n=new Date(e),r=t.getTime()-n.getTime();if(Number.isNaN(n.getTime()))return e;if(r<6e4)return A(`projectsTimeJustNow`);let i=Math.floor(r/6e4);if(i<60)return A(`projectsTimeMinutesAgo`).replace(`{count}`,String(i));let a=Math.floor(i/60);if(a<24)return A(`projectsTimeHoursAgo`).replace(`{count}`,String(a));let o=Math.floor(a/24);return o===1?A(`projectsTimeYesterday`):o<7?A(`projectsTimeDaysAgo`).replace(`{count}`,String(o)):de(e)}var Be=20;function Ve({projectId:e,onOpenFile:t}){let[n,r]=(0,z.useState)(``),i=Ne(e,{limit:Be,...n.trim()?{query:n.trim()}:{}}),a=i.data?.pages??[],o=a.flatMap(e=>e.artifacts),s=a[0]?.total??0;return i.isLoading?(0,B.jsx)(`p`,{className:`py-5 text-sm text-muted-foreground`,children:A(`projectsLoading`)}):i.isError?(0,B.jsx)(`p`,{className:`py-5 text-sm text-destructive`,children:A(`projectsLoadFailed`)}):(0,B.jsxs)(`section`,{className:`min-w-0`,"aria-label":A(`projectsArtifacts`),children:[(0,B.jsxs)(`div`,{className:`mb-4 flex flex-wrap items-center justify-between gap-3`,children:[(0,B.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[ue(s),` `,A(`projectsArtifactsCountSuffix`)]}),(0,B.jsx)(`input`,{type:`search`,value:n,className:`h-8 w-full min-w-0 rounded-lg border border-border/60 bg-transparent px-3 text-sm outline-none placeholder:text-muted-foreground sm:w-60`,placeholder:A(`projectsArtifactsSearchPlaceholder`),onChange:e=>r(e.target.value)})]}),o.length?(0,B.jsxs)(`div`,{className:`overflow-hidden rounded-xl border border-border/60`,children:[(0,B.jsx)(`div`,{className:`divide-y divide-border/60`,children:o.map(e=>(0,B.jsxs)(U,{available:e.exists,path:e.path,label:e.label??e.path,onOpen:t,className:`flex w-full min-w-0 items-center gap-3 px-3 py-3 text-left text-sm transition-colors enabled:hover:bg-[var(--interaction-hover)] enabled:focus-visible:outline-none enabled:focus-visible:ring-1 enabled:focus-visible:ring-border`,children:[(0,B.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,B.jsx)(`span`,{className:`block truncate font-medium`,children:e.label??e.path}),(0,B.jsxs)(`span`,{className:`mt-1 block truncate text-xs text-muted-foreground`,children:[e.path,` · `,e.workItemTitle]})]}),(0,B.jsx)(`time`,{className:`shrink-0 text-xs text-muted-foreground`,dateTime:e.createdAt,title:le(e.createdAt),children:ze(e.createdAt)}),e.exists?null:(0,B.jsx)(`span`,{className:`shrink-0 text-xs text-destructive`,children:A(`projectsUnavailable`)})]},e.id))}),i.hasNextPage?(0,B.jsx)(`button`,{type:`button`,className:`w-full border-t border-border/60 px-3 py-2.5 text-left text-sm text-muted-foreground transition-colors hover:bg-[var(--interaction-hover)] hover:text-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-border`,disabled:i.isFetchingNextPage,onClick:()=>void i.fetchNextPage(),children:i.isFetchingNextPage?A(`projectsLoading`):A(`projectsArtifactsShowMore`)}):null]}):(0,B.jsx)(H,{children:n.trim()?A(`projectsArtifactsNoMatches`):A(`projectsNoArtifacts`)})]})}var He={Backlog:`projectsWorkState_backlog`,Planned:`projectsWorkState_planned`,"In Progress":`projectsWorkState_inProgress`,"In Review":`projectsWorkState_inReview`,"Awaiting Acceptance":`projectsWorkState_awaitingAcceptance`,Completed:`projectsWorkState_completed`,Canceled:`projectsWorkState_canceled`};function $(e,t){let n=He[e];return n?t?A(n,t):A(n):e}function Ue({projectId:e,onOpenArtifact:t,onOpenWorkItem:n}){Z(e);let r=je(e),i=Ae(e,{limit:5}),a=Ne(e,{limit:5}),o=a.data?.pages[0]?.artifacts??[],s=i.data?.pages.flatMap(e=>e.items).slice(0,5)??[];return(0,B.jsxs)(`div`,{className:`space-y-5`,children:[(0,B.jsx)(`section`,{className:`grid grid-cols-2 gap-3 lg:grid-cols-4`,"aria-label":A(`projectsWorkSummary`),children:r.data?[[`projectsWorkTotal`,r.data.total],[`projectsWorkActive`,r.data.active],[`projectsWorkNeedsAttention`,r.data.attention],[`projectsWorkCompleted`,r.data.completed]].map(([e,t])=>(0,B.jsxs)(`div`,{className:`rounded-xl border border-border/60 bg-card p-4`,children:[(0,B.jsx)(`div`,{className:`text-2xl font-semibold`,children:t}),(0,B.jsx)(`div`,{className:`mt-1 text-xs text-muted-foreground`,children:A(e)})]},e)):(0,B.jsx)(`div`,{className:`col-span-full rounded-xl border border-border/60 p-5 text-sm text-muted-foreground`,children:r.isError?A(`projectsLoadFailed`):A(`projectsLoading`)})}),(0,B.jsxs)(`div`,{className:`grid min-w-0 gap-4 lg:grid-cols-2`,children:[(0,B.jsx)(V,{title:A(`projectsWorkRecentlyUpdated`),children:i.isLoading?(0,B.jsx)(`p`,{className:`py-5 text-sm text-muted-foreground`,children:A(`projectsLoading`)}):i.isError?(0,B.jsx)(`p`,{className:`py-5 text-sm text-destructive`,children:A(`projectsLoadFailed`)}):s.length?(0,B.jsx)(`div`,{className:`space-y-2`,children:s.map(e=>(0,B.jsxs)(`button`,{type:`button`,className:`flex w-full items-center justify-between gap-3 rounded-xl bg-muted/45 px-3 py-3 text-left transition-colors hover:bg-[var(--interaction-hover)] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-border`,onClick:()=>n(e.id),children:[(0,B.jsx)(`span`,{className:`min-w-0 truncate text-sm font-medium`,children:e.title}),(0,B.jsx)(`span`,{className:`shrink-0 text-xs text-muted-foreground`,children:$(e.state.name)})]},e.id))}):(0,B.jsx)(H,{children:A(`projectsWorkEmpty`)})}),(0,B.jsx)(V,{title:A(`projectsRecentArtifacts`),children:a.isLoading?(0,B.jsx)(`p`,{className:`py-5 text-sm text-muted-foreground`,children:A(`projectsLoading`)}):a.isError?(0,B.jsx)(`p`,{className:`py-5 text-sm text-destructive`,children:A(`projectsLoadFailed`)}):o.length?(0,B.jsx)(`div`,{className:`space-y-2`,children:o.map(e=>(0,B.jsxs)(U,{available:e.exists,path:e.path,label:e.label??e.path,onOpen:t,className:`block w-full rounded-xl bg-muted/45 p-3 text-left text-sm transition-colors enabled:hover:bg-[var(--interaction-hover)] enabled:focus-visible:outline-none enabled:focus-visible:ring-1 enabled:focus-visible:ring-border`,children:[(0,B.jsx)(`span`,{className:`block truncate font-medium`,children:e.label??e.path}),(0,B.jsxs)(`span`,{className:`mt-1 block truncate text-xs text-muted-foreground`,children:[e.workItemTitle,(0,B.jsx)(`time`,{dateTime:e.createdAt,title:le(e.createdAt),children:` · ${ze(e.createdAt)}`}),e.exists?``:` · ${A(`projectsUnavailable`)}`]})]},e.id))}):(0,B.jsx)(H,{children:A(`projectsNoRecentArtifacts`)})})]})]})}function We({skills:e,isLoading:t,isError:n,onOpen:r}){return t?(0,B.jsx)(`p`,{className:`py-5 text-sm text-muted-foreground`,children:A(`projectsLoading`)}):n?(0,B.jsx)(`p`,{className:`py-5 text-sm text-destructive`,children:A(`projectsLoadFailed`)}):(0,B.jsxs)(`section`,{className:`min-w-0`,"aria-label":A(`projectsSkills`),children:[(0,B.jsxs)(`p`,{className:`mb-3 text-sm text-muted-foreground`,children:[ue(e.length),` `,A(`projectsSkillsCountSuffix`)]}),e.length?(0,B.jsx)(`div`,{className:`grid min-w-0 gap-3 md:grid-cols-2`,children:e.map(e=>(0,B.jsxs)(`div`,{className:`relative group/page-row rounded-xl border border-border/60 transition-colors hover:border-border hover:bg-[var(--interaction-hover)] focus-within:bg-[var(--interaction-hover)] has-[[data-context-menu-open]]:bg-[var(--interaction-hover)]`,children:[(0,B.jsxs)(`button`,{type:`button`,className:`w-full min-w-0 rounded-xl p-3 text-left focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-border`,onClick:()=>r(e),children:[(0,B.jsx)(`h3`,{className:`pr-7 text-sm font-medium`,children:e.name}),(0,B.jsx)(`p`,{className:`mt-1 truncate text-xs text-muted-foreground`,title:e.path,children:e.path}),(0,B.jsx)(`p`,{className:`mt-2 line-clamp-2 text-xs text-muted-foreground`,title:e.description??e.ref,children:e.description??e.ref})]}),(0,B.jsx)(`span`,{className:`absolute right-2 top-2`,children:(0,B.jsx)(x,{revealOnHover:!0,page:S(`skill`,e.ref,e.name)})})]},e.ref))}):(0,B.jsx)(H,{children:A(`projectsNoSkills`)})]})}function Ge({onOpenArtifact:e,onOpenChange:t,projectId:n,projectRoot:r,workItemId:i}){let a=Pe(n,i),o=Fe(n,i);Z(n);let s=Me(n);return(0,B.jsx)(y,{open:!!i,onOpenChange:t,children:(0,B.jsxs)(b,{side:`right`,closeLabel:A(`projectsCloseDetails`),className:`flex h-full w-full flex-col overflow-hidden p-0 sm:max-w-[680px]`,children:[a.isLoading?(0,B.jsx)(`div`,{className:`p-6 text-sm text-muted-foreground`,children:A(`projectsLoading`)}):null,a.isError?(0,B.jsx)(`div`,{className:`p-6 text-sm text-destructive`,children:A(`projectsWorkItemLoadFailed`)}):null,a.data?(0,B.jsx)(Ke,{item:a.data,states:s.data??[],activities:o.data?.activities??[],onOpenArtifact:(t,n)=>e(Q(r,t),n),onClose:()=>t(!1)},`${a.data.id}:${a.data.version}`):null]})})}function Ke({activities:e,item:t,onClose:i,onOpenArtifact:a,states:o}){let c=X(t.projectId),[l,u]=(0,z.useState)(t.title),[d,f]=(0,z.useState)(t.description),[p,h]=(0,z.useState)(t.stateId),[g,_]=(0,z.useState)(t.attention),[y,b]=(0,z.useState)(``),[C,w]=(0,z.useState)(``),[T,E]=(0,z.useState)(!1),D=async(e,t)=>{try{await e(),t?.()}catch(e){r.error(e instanceof Error?e.message:A(`projectsWorkActionFailed`))}},O=async()=>{try{await c.updateItem.mutateAsync({workItemId:t.id,patch:{title:l,description:d,stateId:p,attention:g,expectedVersion:t.version}}),r.success(A(`projectsWorkItemSaved`))}catch(e){r.error(e instanceof Error?e.message:A(`projectsWorkItemSaveFailed`))}},k=async()=>{if(y.trim())try{await c.linkArtifact.mutateAsync({workItemId:t.id,path:y.trim(),...C.trim()?{label:C.trim()}:{}}),b(``),w(``)}catch(e){r.error(e instanceof Error?e.message:A(`projectsWorkArtifactLinkFailed`))}};return(0,B.jsxs)(B.Fragment,{children:[(0,B.jsxs)(te,{className:`shrink-0 border-b border-border/60 px-5 pb-5 pt-6 pr-14 sm:px-7 sm:pt-7`,children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,B.jsx)(ne,{children:A(`projectsWorkDetails`)}),(0,B.jsx)(x,{page:S(`project-work`,JSON.stringify([t.projectId,t.id]),t.title)})]}),(0,B.jsxs)(v,{children:[t.id,` · `,A(`projectsWorkVersion`),` `,t.version]})]}),(0,B.jsxs)(`div`,{className:`min-h-0 flex-1 space-y-6 overflow-y-auto px-5 py-6 sm:px-7`,children:[(0,B.jsxs)(`section`,{className:`space-y-3`,children:[(0,B.jsx)(`label`,{className:`block text-xs font-medium text-muted-foreground`,children:A(`projectsWorkTitle`)}),(0,B.jsx)(n,{value:l,onChange:e=>u(e.target.value)}),(0,B.jsx)(`label`,{className:`block text-xs font-medium text-muted-foreground`,children:A(`projectsWorkDescription`)}),(0,B.jsx)(ee,{className:`min-h-28`,value:d,onChange:e=>f(e.target.value)}),(0,B.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`label`,{className:`mb-1 block text-xs font-medium text-muted-foreground`,children:A(`projectsStatus`)}),(0,B.jsxs)(R,{value:p,onValueChange:h,children:[(0,B.jsx)(F,{children:(0,B.jsx)(P,{})}),(0,B.jsx)(I,{children:o.map(e=>(0,B.jsx)(L,{value:e.id,children:$(e.name)},e.id))})]})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`label`,{className:`mb-1 block text-xs font-medium text-muted-foreground`,children:A(`projectsWorkAttention`)}),(0,B.jsxs)(R,{value:g,onValueChange:e=>_(e),children:[(0,B.jsx)(F,{children:(0,B.jsx)(P,{})}),(0,B.jsxs)(I,{children:[(0,B.jsx)(L,{value:`none`,children:A(`projectsWorkAttention_none`)}),(0,B.jsx)(L,{value:`blocked`,children:A(`projectsWorkAttention_blocked`)}),(0,B.jsx)(L,{value:`awaiting-user`,children:A(`projectsWorkAttention_awaiting-user`)})]})]})]})]})]}),(0,B.jsxs)(`section`,{children:[(0,B.jsx)(`h3`,{className:`mb-3 text-sm font-semibold`,children:A(`projectsWorkArtifacts`)}),(0,B.jsxs)(`div`,{className:`space-y-2`,children:[t.artifacts.map(e=>(0,B.jsxs)(`div`,{className:`flex items-center gap-2 rounded-xl border border-border/60 p-2`,children:[(0,B.jsxs)(`button`,{type:`button`,className:`min-w-0 flex-1 rounded-lg px-2 py-1 text-left hover:bg-[var(--interaction-hover)] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-border`,onClick:()=>a(e.path,e.label??e.path),children:[(0,B.jsxs)(`span`,{className:`flex items-center gap-2 truncate text-sm font-medium`,children:[(0,B.jsx)(ie,{className:`h-3.5 w-3.5 shrink-0`}),e.label??e.path]}),(0,B.jsx)(`span`,{className:`block truncate text-xs text-muted-foreground`,children:e.path})]}),(0,B.jsx)(s,{size:`icon`,variant:`ghost`,"aria-label":A(`projectsWorkUnlinkArtifact`),onClick:()=>void D(()=>c.unlinkArtifact.mutateAsync({workItemId:t.id,artifactLinkId:e.id})),children:(0,B.jsx)(Oe,{className:`h-4 w-4`})})]},e.id)),t.artifacts.length?null:(0,B.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:A(`projectsWorkNoArtifacts`)})]}),(0,B.jsxs)(`div`,{className:`mt-3 grid gap-2 sm:grid-cols-[1fr_12rem_auto]`,children:[(0,B.jsx)(n,{value:y,onChange:e=>b(e.target.value),placeholder:A(`projectsWorkArtifactPath`)}),(0,B.jsx)(n,{value:C,onChange:e=>w(e.target.value),placeholder:A(`projectsWorkArtifactLabel`)}),(0,B.jsxs)(s,{variant:`outline`,onClick:()=>void k(),disabled:!y.trim()||c.linkArtifact.isPending,children:[(0,B.jsx)(re,{className:`mr-2 h-4 w-4`}),A(`projectsWorkLinkArtifact`)]})]})]}),(0,B.jsxs)(`section`,{children:[(0,B.jsx)(`h3`,{className:`mb-3 text-sm font-semibold`,children:A(`projectsActivity`)}),(0,B.jsx)(`ol`,{className:`space-y-2`,children:e.map(e=>(0,B.jsxs)(`li`,{className:`rounded-xl bg-muted/35 px-3 py-2 text-sm`,children:[(0,B.jsx)(`span`,{className:`font-medium`,children:A(`projectsWorkActivity_${e.type}`)}),(0,B.jsxs)(`span`,{className:`ml-2 text-xs text-muted-foreground`,children:[e.actor.kind,` ·`,` `,new Date(e.createdAt).toLocaleString()]})]},e.id))})]})]}),(0,B.jsxs)(m,{className:`shrink-0 border-t border-border/60 bg-background px-5 py-4 sm:px-7`,children:[t.deletedAt?(0,B.jsx)(s,{variant:`outline`,onClick:()=>void D(()=>c.restoreItem.mutateAsync(t.id)),children:A(`projectsRestore`)}):(0,B.jsxs)(s,{variant:`destructive`,onClick:()=>E(!0),children:[(0,B.jsx)(ce,{className:`mr-2 h-4 w-4`}),A(`projectsDelete`)]}),(0,B.jsx)(s,{onClick:()=>void O(),disabled:!l.trim()||c.updateItem.isPending,children:A(`save`)})]}),(0,B.jsx)(ye,{open:T,onOpenChange:E,title:A(`projectsDeleteWorkItem`),description:A(`projectsDeleteWorkItemDescription`),confirmLabel:A(`projectsDelete`),variant:`destructive`,onCancel:()=>E(!1),onConfirm:()=>void D(()=>c.deleteItem.mutateAsync(t.id),i)})]})}var qe=[`backlog`,`unstarted`,`started`,`completed`,`canceled`];function Je({open:e,onOpenChange:t,projectId:i,states:a}){let o=X(i),c=Ie(a),[l,u]=(0,z.useState)(``),[d,f]=(0,z.useState)(`unstarted`),[p,m]=(0,z.useState)(null),[h,g]=(0,z.useState)(``),_=async e=>{try{await e()}catch(e){r.error(e instanceof Error?e.message:A(`projectsWorkActionFailed`))}},v=async()=>{l.trim()&&await _(async()=>{await o.createState.mutateAsync({name:l.trim(),category:d}),u(``)})},y=async(e,t)=>{let n=c[e],r=c[e+t];!n||!r||await _(async()=>{await o.updateState.mutateAsync({stateId:n.id,patch:{position:r.position}}),await o.updateState.mutateAsync({stateId:r.id,patch:{position:n.position}})})};return(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(M,{open:e,onOpenChange:t,children:(0,B.jsxs)(me,{className:`max-h-[85vh] overflow-y-auto sm:max-w-2xl`,children:[(0,B.jsxs)(fe,{children:[(0,B.jsx)(he,{children:A(`projectsWorkStateSettings`)}),(0,B.jsx)(j,{children:A(`projectsWorkStateSettingsDescription`)})]}),(0,B.jsx)(`div`,{className:`space-y-2`,children:c.map((e,t)=>(0,B.jsxs)(`div`,{className:`grid gap-2 rounded-xl border border-border/60 p-3 sm:grid-cols-[1fr_11rem_auto]`,children:[(0,B.jsx)(n,{"aria-label":A(`projectsWorkStateName`),defaultValue:$(e.name),onBlur:t=>{let n=t.currentTarget.value.trim();n&&n!==$(e.name)&&_(()=>o.updateState.mutateAsync({stateId:e.id,patch:{name:n}}))}}),(0,B.jsxs)(R,{value:e.category,onValueChange:t=>void _(()=>o.updateState.mutateAsync({stateId:e.id,patch:{category:t}})),children:[(0,B.jsx)(F,{"aria-label":A(`projectsWorkStateCategory`),children:(0,B.jsx)(P,{})}),(0,B.jsx)(I,{children:qe.map(e=>(0,B.jsx)(L,{value:e,children:A(`projectsWorkCategory_${e}`)},e))})]}),(0,B.jsxs)(`div`,{className:`flex items-center justify-end gap-1`,children:[(0,B.jsx)(s,{size:`icon`,variant:`ghost`,"aria-label":A(`projectsMoveUp`),disabled:t===0,onClick:()=>void y(t,-1),children:(0,B.jsx)(D,{className:`h-4 w-4`})}),(0,B.jsx)(s,{size:`icon`,variant:`ghost`,"aria-label":A(`projectsMoveDown`),disabled:t===c.length-1,onClick:()=>void y(t,1),children:(0,B.jsx)(O,{className:`h-4 w-4`})}),(0,B.jsx)(s,{size:`icon`,variant:`ghost`,"aria-label":A(`projectsDeleteState`),disabled:c.length<=1,onClick:()=>{m(e),g(``)},children:(0,B.jsx)(ce,{className:`h-4 w-4`})})]}),(0,B.jsxs)(`label`,{className:`flex items-center gap-2 text-xs text-muted-foreground sm:col-span-3`,children:[(0,B.jsx)(`input`,{type:`radio`,name:`default-state`,checked:e.isDefault,onChange:()=>void _(()=>o.updateState.mutateAsync({stateId:e.id,patch:{isDefault:!0}}))}),A(`projectsWorkDefaultState`)]})]},e.id))}),(0,B.jsxs)(`div`,{className:`grid gap-2 border-t border-border/60 pt-4 sm:grid-cols-[1fr_11rem_auto]`,children:[(0,B.jsx)(n,{value:l,onChange:e=>u(e.target.value),placeholder:A(`projectsWorkNewState`)}),(0,B.jsxs)(R,{value:d,onValueChange:e=>f(e),children:[(0,B.jsx)(F,{children:(0,B.jsx)(P,{})}),(0,B.jsx)(I,{children:qe.map(e=>(0,B.jsx)(L,{value:e,children:A(`projectsWorkCategory_${e}`)},e))})]}),(0,B.jsxs)(s,{onClick:()=>void v(),disabled:!l.trim()||o.createState.isPending,children:[(0,B.jsx)(oe,{className:`mr-2 h-4 w-4`}),A(`projectsAdd`)]})]})]})}),(0,B.jsx)(M,{open:!!p,onOpenChange:e=>{e||m(null)},children:(0,B.jsxs)(me,{children:[(0,B.jsxs)(fe,{children:[(0,B.jsx)(he,{children:A(`projectsDeleteState`)}),(0,B.jsx)(j,{children:A(`projectsDeleteStateDescription`)})]}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`p`,{className:`mb-2 text-xs text-muted-foreground`,children:A(`projectsWorkStateMigration`)}),(0,B.jsxs)(R,{value:h,onValueChange:g,children:[(0,B.jsx)(F,{children:(0,B.jsx)(P,{placeholder:A(`projectsWorkStateMigrationOptional`)})}),(0,B.jsx)(I,{children:c.filter(e=>e.id!==p?.id).map(e=>(0,B.jsx)(L,{value:e.id,children:$(e.name)},e.id))})]})]}),(0,B.jsxs)(pe,{children:[(0,B.jsx)(s,{variant:`outline`,onClick:()=>m(null),children:A(`cancel`)}),(0,B.jsx)(s,{variant:`destructive`,onClick:()=>{p&&_(async()=>{await o.deleteState.mutateAsync({stateId:p.id,migrateToStateId:h||null}),m(null)})},children:A(`projectsDelete`)})]})]})})]})}function Ye({startedProgress:e,state:t}){if(t.category===`backlog`)return(0,B.jsx)(`span`,{"aria-hidden":`true`,"data-state-visual":`backlog`,className:`inline-flex h-4 w-4 shrink-0 items-center justify-center text-muted-foreground/65`,children:(0,B.jsx)(k,{className:`h-4 w-4`})});if(t.category===`unstarted`)return(0,B.jsx)(`span`,{"aria-hidden":`true`,"data-state-visual":`unstarted`,className:`inline-flex h-4 w-4 shrink-0 items-center justify-center text-muted-foreground`,children:(0,B.jsx)(Te,{className:`h-4 w-4`,strokeWidth:2})});if(t.category===`completed`)return(0,B.jsx)(`span`,{"aria-hidden":`true`,"data-state-visual":`completed`,className:`inline-flex h-4 w-4 shrink-0 items-center justify-center text-emerald-600 dark:text-emerald-400`,children:(0,B.jsx)(h,{className:`h-4 w-4`,strokeWidth:2.25})});if(t.category===`canceled`)return(0,B.jsx)(`span`,{"aria-hidden":`true`,"data-state-visual":`canceled`,className:`inline-flex h-4 w-4 shrink-0 items-center justify-center text-muted-foreground/65`,children:(0,B.jsx)(we,{className:`h-4 w-4`})});let n=Math.round((e??.5)*100),r=n>=67?`text-emerald-600 dark:text-emerald-400`:n>=40?`text-orange-500 dark:text-orange-400`:`text-amber-500 dark:text-amber-400`;return(0,B.jsx)(`span`,{"aria-hidden":`true`,"data-state-visual":`started`,className:`inline-flex h-4 w-4 shrink-0 items-center justify-center ${r}`,children:(0,B.jsxs)(`svg`,{className:`h-4 w-4`,viewBox:`0 0 16 16`,fill:`none`,children:[(0,B.jsx)(`circle`,{cx:`8`,cy:`8`,r:`5.5`,stroke:`currentColor`,strokeWidth:`1.75`,opacity:`0.22`}),(0,B.jsx)(`circle`,{cx:`8`,cy:`8`,r:`5.5`,pathLength:`100`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeDasharray:`${n} ${100-n}`,transform:`rotate(-90 8 8)`})]})})}function Xe({item:e,onOpen:t}){return(0,B.jsxs)(`button`,{type:`button`,className:`w-full rounded-xl border border-border/50 bg-card p-3 text-left text-sm shadow-sm transition-colors hover:bg-[var(--interaction-hover)] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-border`,onClick:t,children:[(0,B.jsx)(`span`,{className:`block font-medium`,children:e.title}),(0,B.jsxs)(`span`,{className:`mt-1 flex flex-wrap items-center gap-1.5 text-xs text-muted-foreground`,children:[(0,B.jsx)(`span`,{children:$(e.state.name)}),e.attention===`none`?null:(0,B.jsx)(`span`,{className:`rounded-full bg-amber-500/15 px-2 py-0.5 text-amber-700 dark:text-amber-300`,children:A(`projectsWorkAttention_${e.attention}`)}),e.deletedAt?(0,B.jsx)(`span`,{children:A(`projectsDeleted`)}):null]})]})}function Ze({hasNextPage:e,isError:t,isFetchingNextPage:n,isLoading:r,items:i,onLoadMore:a,onOpenWorkItem:o}){return r?(0,B.jsx)(`p`,{className:`py-3 text-xs text-muted-foreground`,children:A(`projectsLoading`)}):t?(0,B.jsx)(`p`,{className:`py-3 text-xs text-destructive`,children:A(`projectsLoadFailed`)}):(0,B.jsxs)(B.Fragment,{children:[i.length?i.map(e=>(0,B.jsx)(Xe,{item:e,onOpen:()=>o(e.id)},e.id)):(0,B.jsx)(`p`,{className:`py-3 text-xs text-muted-foreground`,children:A(`projectsNoData`)}),e?(0,B.jsx)(s,{type:`button`,variant:`ghost`,size:`sm`,className:`w-full`,disabled:n,onClick:a,children:A(n?`projectsLoading`:`projectsWorkLoadMore`)}):null]})}function Qe({includeDeleted:e,onOpenWorkItem:t,state:n,startedProgress:r,view:i}){let[a,o]=(0,z.useState)(!1),s=Ae(n.projectId,{stateId:n.id,includeDeleted:e,limit:20}),c=s.data?.pages.flatMap(e=>e.items)??[],l=s.data?.pages[0]?.total;return(0,B.jsxs)(`section`,{className:i===`board`?`flex h-full min-h-0 min-w-0 flex-col overflow-hidden`:`min-w-0`,"aria-label":$(n.name),children:[(0,B.jsxs)(`button`,{type:`button`,className:`flex w-full shrink-0 items-center gap-2 rounded-lg px-1 py-2 text-left transition-colors hover:bg-[var(--interaction-hover)] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-border`,"aria-expanded":!a,onClick:()=>o(e=>!e),children:[a?(0,B.jsx)(E,{className:`h-4 w-4 shrink-0`}):(0,B.jsx)(O,{className:`h-4 w-4 shrink-0`}),(0,B.jsx)(Ye,{state:n,startedProgress:r}),(0,B.jsx)(`span`,{className:`min-w-0 truncate text-sm font-semibold`,children:$(n.name)}),(0,B.jsx)(`span`,{className:`ml-0.5 shrink-0 text-xs font-medium tabular-nums text-muted-foreground`,children:l??`…`})]}),a?null:(0,B.jsx)(`div`,{className:i===`board`?`min-h-0 flex-1 space-y-2 overflow-y-auto px-1 pb-3`:`space-y-2 px-1 pb-3`,children:(0,B.jsx)(Ze,{hasNextPage:s.hasNextPage,isError:s.isError,isFetchingNextPage:s.isFetchingNextPage,isLoading:s.isLoading,items:c,onLoadMore:()=>void s.fetchNextPage(),onOpenWorkItem:t})})]})}function $e({onOpenWorkItem:e,projectId:t}){let[i,a]=(0,z.useState)(`list`),[o,c]=(0,z.useState)(!1),[l,u]=(0,z.useState)(``),[d,f]=(0,z.useState)(!1);Z(t);let p=Me(t),m=X(t),h=async()=>{if(l.trim())try{let t=await m.createItem.mutateAsync({title:l.trim()});u(``),e(t.id)}catch(e){r.error(e instanceof Error?e.message:A(`projectsWorkItemCreateFailed`))}};if(p.isLoading)return(0,B.jsx)(`div`,{className:`rounded-xl border border-border/60 p-5 text-sm text-muted-foreground`,children:A(`projectsLoading`)});if(p.isError)return(0,B.jsx)(`div`,{className:`rounded-xl border border-destructive/40 p-5 text-sm text-destructive`,children:A(`projectsLoadFailed`)});let g=Ie(p.data??[]),_=Re(p.data??[]),v=g.filter(e=>e.category===`started`),y=new Map(v.map((e,t)=>[e.id,(t+1)/(v.length+1)]));return(0,B.jsxs)(`section`,{"aria-label":A(`projectsWork`),className:`min-w-0 space-y-4`,children:[(0,B.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex min-w-[16rem] flex-1 gap-2`,children:[(0,B.jsx)(n,{value:l,onChange:e=>u(e.target.value),onKeyDown:e=>{e.key===`Enter`&&h()},placeholder:A(`projectsWorkNewItem`)}),(0,B.jsxs)(s,{onClick:()=>void h(),disabled:!l.trim()||m.createItem.isPending,children:[(0,B.jsx)(oe,{className:`mr-2 h-4 w-4`}),A(`projectsCreate`)]})]}),(0,B.jsxs)(`div`,{className:`flex items-center gap-1 rounded-xl bg-muted/40 p-1`,role:`group`,"aria-label":A(`projectsWorkViews`),children:[(0,B.jsxs)(s,{size:`sm`,variant:i===`list`?`secondary`:`ghost`,"aria-pressed":i===`list`,onClick:()=>a(`list`),children:[(0,B.jsx)(De,{className:`mr-2 h-4 w-4`}),A(`projectsWorkList`)]}),(0,B.jsxs)(s,{size:`sm`,variant:i===`board`?`secondary`:`ghost`,"aria-pressed":i===`board`,onClick:()=>a(`board`),children:[(0,B.jsx)(Ee,{className:`mr-2 h-4 w-4`}),A(`projectsWorkBoard`)]})]}),(0,B.jsxs)(s,{variant:`outline`,size:`sm`,onClick:()=>f(!0),children:[(0,B.jsx)(se,{className:`mr-2 h-4 w-4`}),A(`projectsWorkStateSettings`)]})]}),(0,B.jsxs)(`label`,{className:`flex w-fit items-center gap-2 text-xs text-muted-foreground`,children:[(0,B.jsx)(`input`,{type:`checkbox`,checked:o,onChange:e=>c(e.target.checked)}),A(`projectsWorkShowDeleted`)]}),i===`list`?(0,B.jsx)(`div`,{className:`space-y-3`,children:_.map(t=>(0,B.jsx)(Qe,{state:t,startedProgress:y.get(t.id)??null,view:i,includeDeleted:o,onOpenWorkItem:e},t.id))}):null,i===`board`?(0,B.jsx)(`div`,{className:`grid h-[calc(100dvh-17rem)] min-h-[28rem] max-h-[52rem] min-w-0 auto-cols-[minmax(18rem,1fr)] grid-flow-col items-stretch gap-3 overflow-x-auto overflow-y-hidden pb-2`,children:g.map(t=>(0,B.jsx)(Qe,{state:t,startedProgress:y.get(t.id)??null,view:i,includeDeleted:o,onOpenWorkItem:e},t.id))}):null,(0,B.jsx)(Je,{open:d,onOpenChange:f,projectId:t,states:g})]})}var et=e=>[`project-agreement`,e],tt=e=>[`project-skills`,e];function nt(e){return a({queryKey:et(e??``),enabled:!!e,queryFn:async()=>await i.projects.getAgreement(e)})}function rt(e){return a({queryKey:tt(e??``),enabled:!!e,queryFn:async()=>await i.projects.listProjectSkills(e)})}function it(e){return e===`overview`||e===`work`||e===`artifacts`||e===`skills`||e===`agreement`}var at=[`overview`,`work`,`artifacts`,`skills`,`agreement`];function ot(){let{projectId:e,tab:t}=f(),n=d(),{state:r}=p(),i=w(),{isMobile:a}=ae(),o=C(),[s,c]=(0,z.useState)(null),l=o.data?.projects??[],u=l.find(t=>t.id===e)??null,m=it(t)?t:null,h=nt(m===`agreement`?u?.id??null:null),_=rt(m===`skills`?u?.id??null:null);if(o.isLoading)return(0,B.jsx)(`main`,{className:`flex h-full items-center justify-center p-6 text-sm text-muted-foreground`,children:A(`projectsLoading`)});if(o.isError)return(0,B.jsxs)(`main`,{className:`p-6 text-sm text-destructive`,children:[A(`projectsLoadFailed`),`: `,o.error.message]});if(!l.length)return(0,B.jsx)(`main`,{className:`p-6 text-sm text-muted-foreground`,children:A(`projectsEmpty`)});if(!u||!m)return(0,B.jsxs)(`main`,{className:`space-y-3 p-4 text-sm text-muted-foreground sm:p-6`,children:[(0,B.jsx)(`label`,{htmlFor:`project-home-selection`,className:`block font-medium text-foreground`,children:A(`projectsChoose`)}),(0,B.jsxs)(`select`,{id:`project-home-selection`,value:``,onChange:e=>n(`/projects/${encodeURIComponent(e.target.value)}/overview`,{state:r}),className:`min-h-11 w-full rounded-xl border border-border bg-card px-3 text-base text-foreground`,children:[(0,B.jsx)(`option`,{value:``,disabled:!0,children:A(`projectsChoose`)}),l.map(e=>(0,B.jsx)(`option`,{value:e.id,children:e.name},e.id))]})]});let v=(e,t)=>i.chatThreadManager.openFilePreview({path:e,label:t,viewMode:`preview`,previewViewer:`rendered`});return(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`main`,{className:`h-full min-w-0 flex-1 overflow-y-auto p-3 sm:p-4 md:p-6`,children:(0,B.jsxs)(`div`,{className:`mx-auto max-w-6xl space-y-4`,children:[(0,B.jsxs)(`header`,{className:`rounded-2xl border border-border/60 bg-card p-3 sm:p-4`,children:[(0,B.jsx)(`h1`,{className:`text-lg font-semibold`,children:u.name}),(0,B.jsx)(`p`,{className:`mt-1 break-all text-xs text-muted-foreground`,children:u.rootPath})]}),(0,B.jsxs)(ve,{value:m,onValueChange:e=>n(`/projects/${encodeURIComponent(u.id)}/${e}`,{state:r}),children:[(0,B.jsx)(`div`,{className:`min-w-0 overflow-x-auto pb-1`,children:(0,B.jsx)(_e,{className:`w-max`,children:at.map(e=>(0,B.jsx)(ge,{value:e,children:A(`projects${e[0].toUpperCase()}${e.slice(1)}`)},e))})}),(0,B.jsx)(N,{value:`overview`,className:`mt-4`,children:(0,B.jsx)(Ue,{projectId:u.id,onOpenArtifact:(e,t)=>v(Q(u.rootPath,e),t),onOpenWorkItem:c})}),(0,B.jsx)(N,{value:`work`,className:`mt-4`,children:(0,B.jsx)($e,{projectId:u.id,onOpenWorkItem:c})}),(0,B.jsx)(N,{value:`artifacts`,className:`mt-4`,children:(0,B.jsx)(Ve,{projectId:u.id,onOpenFile:(e,t)=>v(Q(u.rootPath,e),t)})}),(0,B.jsx)(N,{value:`skills`,className:`mt-4`,children:(0,B.jsx)(We,{skills:_.data??[],isLoading:_.isLoading,isError:_.isError,onOpen:e=>v(Q(u.rootPath,e.path),e.name)})}),(0,B.jsx)(N,{value:`agreement`,className:`mt-4`,children:(0,B.jsx)(ke,{agreement:h.data,isLoading:h.isLoading,isError:h.isError,onOpenFile:(e,t)=>v(Q(u.rootPath,e),t)})})]})]})}),(0,B.jsx)(Ge,{projectId:u.id,projectRoot:u.rootPath,workItemId:s,onOpenChange:e=>{e||c(null)},onOpenArtifact:v}),(0,B.jsx)(g,{layoutMode:a?`mobile`:`desktop`,sessionKey:null,projectRoot:u.rootPath})]})}export{ot as ProjectsPage};
@@ -1 +0,0 @@
1
- import"./chunk-KEIR6QF5-0TA8nwgf.js";import{n as e}from"./chunk-QBLGF6JB-BK_FpnlJ.js";export{e as createRadarServices};
@@ -1 +0,0 @@
1
- import"./chunk-KEIR6QF5-0TA8nwgf.js";import{n as e}from"./chunk-5TONJI2A-BKFbUT7J.js";export{e as createRailroadServices};
@@ -1 +0,0 @@
1
- import"./chunk-KEIR6QF5-0TA8nwgf.js";import{n as e}from"./chunk-5HE753X5-WygrMYPL.js";export{e as createRailroadAbnfServices};
@@ -1 +0,0 @@
1
- import"./chunk-KEIR6QF5-0TA8nwgf.js";import{n as e}from"./chunk-U6XO7XAA-wDbE4BZ7.js";export{e as createRailroadEbnfServices};
@@ -1 +0,0 @@
1
- import"./chunk-KEIR6QF5-0TA8nwgf.js";import{n as e}from"./chunk-JG7HCLWE-DygOelrU.js";export{e as createRailroadPegServices};
@@ -1 +0,0 @@
1
- import{F as e}from"./app-presenter-provider-CJFjhVYI.js";export{e as RemoteAccessPage};
@@ -1 +0,0 @@
1
- import{i as e}from"./chunk-DF37yw5_.js";import{r as t}from"./pwa-Cx6Fnox4.js";import{Gt as n,Jn as r,Jt as i,Kt as a,Ut as o,Yt as s,Zt as c,cr as l,dn as u,ln as d,pn as f,qt as p,sn as m,yr as h}from"./api-CG22BskB.js";import{J as g,L as _,R as v,xt as y}from"./app-presenter-provider-CJFjhVYI.js";import{X as b}from"./context-menu-DKIEaY7f.js";import{i as x}from"./x-BqGj6_Vq.js";import{t as S}from"./plus-CywSlIbG.js";import{t as C}from"./rotate-cw-DXg7sNUE.js";import{t as w}from"./save-DNigywZ9.js";import{t as T}from"./trash-2-DwSkRfeB.js";import{s as E}from"./i18n-B0V5NkFj.js";import{a as D,i as O,n as k,r as A,t as j}from"./select-DxwDeKUR.js";import{b as M,t as ee}from"./use-config-D3cNzk2k.js";import{t as te}from"./form-actions-BoTqELHB.js";var N=e(h(),1),P=l(),F={healthy:`runtimeControlHealthy`,"starting-service":`runtimeControlStartingService`,"restarting-service":`runtimeControlRestartingService`,"stopping-service":`runtimeControlStoppingService`,"restarting-app":`runtimeControlRestartingApp`,recovering:`runtimeControlRecovering`,failed:`runtimeControlFailed`},I={running:`runtimeControlServiceRunning`,stopped:`runtimeControlServiceStopped`,starting:`runtimeControlServiceStarting`,stopping:`runtimeControlServiceStopping`,restarting:`runtimeControlServiceRestarting`},L={"desktop-embedded":`runtimeControlEnvironmentDesktop`,"managed-local-service":`runtimeControlEnvironmentManagedService`,"self-hosted-web":`runtimeControlEnvironmentSelfHosted`,"shared-web":`runtimeControlEnvironmentSharedWeb`};function R(e){return E(F[e]??`runtimeControlUnavailable`)}function z(e){return E(I[e]??`runtimeControlServiceUnknown`)}function B(e){return E(L[e.environment])}function V(e,t){return t===`start-service`?e?.canStartService:t===`stop-service`?e?.canStopService:e?.canRestartService}function H(e){return e?[{action:`start-service`,capability:e.canStartService,label:E(`runtimeControlStartService`),icon:`play`},{action:`restart-service`,capability:e.canRestartService,label:E(`runtimeControlRestartService`),icon:`rotate`},{action:`stop-service`,capability:e.canStopService,label:E(`runtimeControlStopService`),icon:`square`,variant:`destructive`},{action:`restart-app`,capability:e.canRestartApp,label:E(`runtimeControlRestartApp`),icon:`rotate`,variant:`secondary`}].filter(e=>e.capability.available||!!e.capability.reasonIfUnavailable):[]}function U(e){let{busy:t,icon:n}=e;return t?(0,P.jsx)(x,{className:`mr-2 h-4 w-4 animate-spin`}):n===`play`?(0,P.jsx)(b,{className:`mr-2 h-4 w-4`}):n===`square`?(0,P.jsx)(y,{className:`mr-2 h-4 w-4`}):(0,P.jsx)(C,{className:`mr-2 h-4 w-4`})}function W(){let{busy:e,busyAction:t,controlView:n,errorMessage:a,pendingRestart:o,visibleLifecycle:c,visibleMessage:l,visibleServiceState:d}=m(),h=H(n??void 0),g=async e=>{let t=V(n,e);if(!t?.available){r.error(f(t?.reasonIfUnavailable)??E(`runtimeControlLoadFailed`));return}if(!(e===`stop-service`&&t.requiresConfirmation&&!window.confirm(E(`runtimeControlStopServiceConfirm`))))try{let t=await u.runRuntimeControlAction(e);r.success(f(t.message)??t.message)}catch(e){let t=e instanceof Error?e.message:E(`runtimeControlActionFailed`);r.error(`${E(`runtimeControlActionFailed`)}: ${t}`)}},_=async()=>{if(!n?.canRestartApp.available){r.error(f(n?.canRestartApp.reasonIfUnavailable)??E(`runtimeRestartAppUnavailable`));return}if(window.confirm(E(`runtimeControlRestartAppConfirm`)))try{let e=await u.runRuntimeControlAction(`restart-app`);r.success(f(e.message)??e.message)}catch(e){let t=e instanceof Error?e.message:E(`runtimeControlActionFailed`);r.error(`${E(`runtimeControlActionFailed`)}: ${t}`)}};return(0,P.jsx)(i,{title:E(`runtimeControlTitle`),description:E(`runtimeControlDescription`),children:(0,P.jsxs)(p,{children:[(0,P.jsxs)(`div`,{className:`space-y-3 p-4`,children:[(0,P.jsxs)(`div`,{className:`flex flex-col gap-1 md:flex-row md:items-center md:justify-between`,children:[(0,P.jsx)(`div`,{className:`text-sm font-medium text-foreground`,children:z(d)}),(0,P.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:n?B(n):E(`runtimeControlLoading`)})]}),(0,P.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:l}),(0,P.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:R(c)}),n?.managementHint?(0,P.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:f(n.managementHint)}):null,a&&!e?(0,P.jsx)(`p`,{className:`text-sm text-amber-700`,children:a}):null]}),o?(0,P.jsxs)(`div`,{className:`space-y-3 bg-amber-50/75 p-4 dark:bg-amber-950/20`,children:[(0,P.jsx)(`div`,{className:`text-sm font-medium text-amber-900`,children:E(`runtimeControlPendingRestartTitle`)}),(0,P.jsx)(`p`,{className:`text-sm text-amber-800`,children:E(`runtimeControlPendingRestartDescription`)}),o.changedPaths.length>0?(0,P.jsxs)(`div`,{className:`space-y-2`,children:[(0,P.jsx)(`div`,{className:`text-xs font-medium uppercase tracking-[0.08em] text-amber-700`,children:E(`runtimeControlPendingRestartPaths`)}),(0,P.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:o.changedPaths.map(e=>(0,P.jsx)(`span`,{className:`rounded-full bg-background/80 px-2.5 py-1 text-xs text-amber-800 dark:text-amber-300`,children:e},e))})]}):null]}):null,(0,P.jsxs)(`div`,{className:`space-y-3 p-4`,children:[(0,P.jsx)(`div`,{className:`flex flex-col gap-3 md:flex-row md:flex-wrap`,children:h.map(n=>(0,P.jsxs)(s,{type:`button`,variant:n.variant??`default`,onClick:()=>{if(n.action===`restart-app`){_();return}g(n.action)},disabled:!n.capability.available||e,children:[(0,P.jsx)(U,{icon:n.icon,busy:t===n.action}),n.label]},n.action))}),h.filter(e=>!e.capability.available&&e.capability.reasonIfUnavailable).map(e=>(0,P.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:f(e.capability.reasonIfUnavailable)},`${e.action}-reason`))]})]})})}function G(e){let{description:t,title:n}=e;return(0,P.jsx)(g,{tone:`neutral`,title:n,description:t})}function K(e){let{children:t}=e;return(0,P.jsx)(i,{title:E(`runtimePresenceTitle`),description:E(`runtimePresenceDescription`),children:(0,P.jsx)(p,{children:t})})}function q(){let e=d().runtimeControlView?.environment,t=v(e=>e.supported),n=v(e=>e.initialized),r=v(e=>e.busyAction),i=v(e=>e.snapshot);return(0,N.useEffect)(()=>{if(e===`desktop-embedded`){_.start();return}_.markUnsupported()},[e]),e===`desktop-embedded`?(0,P.jsxs)(K,{children:[(0,P.jsx)(`div`,{className:`p-4`,children:(0,P.jsx)(g,{tone:`neutral`,title:E(`runtimePresenceBehaviorLabel`),description:i?.closeToBackground?E(`runtimePresenceBehaviorBackground`):E(`runtimePresenceBehaviorQuit`),className:`rounded-xl`})}),!n||t&&!i?(0,P.jsx)(`p`,{className:`p-4 text-sm text-muted-foreground`,children:E(`runtimePresenceLoading`)}):null,i?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(a,{title:E(`runtimePresenceCloseToBackground`),description:E(`runtimePresenceCloseToBackgroundHelp`),control:(0,P.jsx)(o,{id:`runtime-presence-close-background`,"aria-label":E(`runtimePresenceCloseToBackground`),checked:i.closeToBackground,disabled:r===`saving-preferences`,onCheckedChange:e=>{_.updatePreferences({closeToBackground:e})}})}),(0,P.jsx)(a,{title:E(`runtimePresenceLaunchAtLogin`),description:i.supportsLaunchAtLogin?E(`runtimePresenceLaunchAtLoginHelp`):i.launchAtLoginReason??E(`runtimePresenceLaunchAtLoginUnavailable`),control:(0,P.jsx)(o,{id:`runtime-presence-launch-login`,"aria-label":E(`runtimePresenceLaunchAtLogin`),checked:i.launchAtLogin,disabled:!i.supportsLaunchAtLogin||r===`saving-preferences`,onCheckedChange:e=>{_.updatePreferences({launchAtLogin:e})}})})]}):null]}):e===`managed-local-service`?(0,P.jsx)(K,{children:(0,P.jsx)(`div`,{className:`p-4`,children:(0,P.jsx)(G,{title:E(`runtimePresenceManagedLocalTitle`),description:E(`runtimePresenceManagedLocalDescription`)})})}):e===`self-hosted-web`?(0,P.jsx)(K,{children:(0,P.jsx)(`div`,{className:`p-4`,children:(0,P.jsx)(G,{title:E(`runtimePresenceSelfHostedTitle`),description:E(`runtimePresenceSelfHostedDescription`)})})}):e===`shared-web`?(0,P.jsx)(K,{children:(0,P.jsx)(`div`,{className:`p-4`,children:(0,P.jsx)(G,{title:E(`runtimePresenceSharedTitle`),description:E(`runtimePresenceSharedDescription`)})})}):(0,P.jsx)(K,{children:(0,P.jsx)(`p`,{className:`p-4 text-sm text-muted-foreground`,children:E(`runtimePresenceLoading`)})})}function J(){return(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(W,{}),(0,P.jsx)(q,{}),(0,P.jsx)(t,{})]})}var Y={wireDialect:`acp`,processScope:`per-session`,command:``,args:[`acp`],env:{},cwd:``,startupTimeoutMs:8e3,probeTimeoutMs:3e3,requestTimeoutMs:12e4};function X(){return{id:``,default:!1,workspace:``,model:``,runtime:``,contextTokens:void 0}}function Z(){return{agentId:``,match:{channel:``,accountId:``}}}function Q(){return{id:``,enabled:!0,label:``,type:`narp-stdio`,config:Y,configText:JSON.stringify(Y,null,2)}}function ne(e){return{id:e.id??``,default:!!e.default,displayName:e.displayName??``,description:e.description??``,avatar:e.avatar??``,workspace:e.workspace??``,model:e.model??``,runtime:e.runtime??e.engine??``,contextTokens:e.contextTokens}}function re(e){return{agentId:e.agentId??``,match:{channel:e.match?.channel??``,accountId:e.match?.accountId??``,peer:e.match?.peer?{kind:e.match.peer.kind,id:e.match.peer.id}:void 0}}}function ie(e){let t=e.trim();if(!t)return;let n=Number.parseInt(t,10);return Number.isFinite(n)?n:void 0}function ae(e){return{companionEnabled:e.companion?.enabled===!0,agents:(e.agents.list??[]).map(ne),bindings:(e.bindings??[]).map(re),runtimeEntries:Object.entries(e.agents.runtimes?.entries??{}).map(([e,t])=>({id:e,enabled:t.enabled!==!1,label:t.label??``,type:t.type,config:t.config??{},configText:JSON.stringify(t.config??{},null,2)})),dmScope:e.session?.dmScope??`per-channel-peer`,defaultContextTokens:e.agents.defaults.contextTokens??2e5,defaultEngine:e.agents.defaults.engine??`native`}}function oe(e){let t={id:e.id.trim()};e.default&&(t.default=!0),e.displayName?.trim()&&(t.displayName=e.displayName.trim()),e.description?.trim()&&(t.description=e.description.trim()),e.avatar?.trim()&&(t.avatar=e.avatar.trim()),e.workspace?.trim()&&(t.workspace=e.workspace.trim()),e.model?.trim()&&(t.model=e.model.trim());let n=e.runtime?.trim()??e.engine?.trim();return n&&(t.engine=n),typeof e.contextTokens==`number`&&(t.contextTokens=Math.max(1e3,e.contextTokens)),t}function $(e){let t=e.agents.map((e,t)=>{if(!e.id.trim())throw Error(E(`agentIdRequiredError`).replace(`{index}`,String(t)));return oe(e)}),n=t.map(e=>e.id).filter((e,t,n)=>n.indexOf(e)!==t);if(n.length>0)throw Error(`${E(`duplicateAgentId`)}: ${n[0]}`);let r=e.bindings.map((t,n)=>{let r=t.agentId.trim(),i=t.match.channel.trim(),a=t.match.accountId?.trim()??``,o=t.match.peer?.kind,s=t.match.peer?.id?.trim()??``;if(!r)throw Error(E(`bindingAgentIdRequired`).replace(`{index}`,String(n)));if(!e.knownAgentIds.has(r))throw Error(`${E(`bindingAgentIdNotFound`).replace(`{index}`,String(n))}: ${r}`);if(!i)throw Error(E(`bindingChannelRequired`).replace(`{index}`,String(n)));let c={agentId:r,match:{channel:i}};if(a&&(c.match.accountId=a),o){if(!s)throw Error(E(`bindingPeerIdRequired`).replace(`{index}`,String(n)));c.match.peer={kind:o,id:s}}return c}),i=e.runtimeEntries.reduce((e,t,n)=>{let r=t.id.trim(),i=t.type.trim();if(!r)throw Error(E(`runtimeEntryIdRequired`).replace(`{index}`,String(n)));if(!i)throw Error(E(`runtimeEntryTypeRequired`).replace(`{id}`,r));if(e[r])throw Error(`${E(`runtimeEntryDuplicate`)}: ${r}`);let a=t.configText.trim()?JSON.parse(t.configText):{};if(a&&(typeof a!=`object`||Array.isArray(a)))throw Error(E(`runtimeEntryConfigObjectRequired`).replace(`{id}`,r));return e[r]={enabled:t.enabled!==!1,...t.label?.trim()?{label:t.label.trim()}:{},type:i,config:a??{}},e},{});return{companion:{enabled:e.companionEnabled},agents:{defaults:{contextTokens:Math.max(1e3,e.defaultContextTokens),engine:e.defaultEngine.trim()||`native`},list:t,runtimes:{entries:i}},bindings:r,session:{dmScope:e.dmScope}}}function se({agents:e,onAddAgent:t,onRemoveAgent:r,onSetDefaultAgent:a,onUpdateAgent:c}){return(0,P.jsx)(i,{title:E(`agentList`),description:E(`agentListHelp`),actions:(0,P.jsxs)(s,{type:`button`,variant:`ghost`,size:`sm`,onClick:t,children:[(0,P.jsx)(S,{className:`mr-2 h-4 w-4`}),E(`addAgent`)]}),children:(0,P.jsx)(p,{children:e.map((e,t)=>(0,P.jsxs)(`div`,{className:`space-y-3 p-4`,children:[(0,P.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-3`,children:[(0,P.jsx)(n,{value:e.id,onChange:e=>c(t,{id:e.target.value}),placeholder:E(`agentIdPlaceholder`)}),(0,P.jsx)(n,{value:e.workspace??``,onChange:e=>c(t,{workspace:e.target.value}),placeholder:E(`workspaceOverridePlaceholder`)}),(0,P.jsx)(n,{value:e.model??``,onChange:e=>c(t,{model:e.target.value}),placeholder:E(`modelOverridePlaceholder`)}),(0,P.jsx)(n,{value:e.runtime??e.engine??``,onChange:e=>c(t,{runtime:e.target.value}),placeholder:E(`engineOverridePlaceholder`)}),(0,P.jsx)(n,{type:`number`,min:1e3,step:1e3,value:e.contextTokens??``,onChange:e=>c(t,{contextTokens:ie(e.target.value)}),placeholder:E(`contextTokensPlaceholder`)})]}),(0,P.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,P.jsxs)(`div`,{className:`flex items-center gap-2 text-sm text-muted-foreground`,children:[(0,P.jsx)(o,{checked:!!e.default,onCheckedChange:e=>a(t,e)}),(0,P.jsx)(`span`,{children:E(`defaultAgent`)})]}),(0,P.jsxs)(s,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>r(t),children:[(0,P.jsx)(T,{className:`h-4 w-4 mr-1`}),E(`remove`)]})]})]},`${t}-${e.id}`))})})}function ce({bindings:e,onAddBinding:t,onRemoveBinding:r,onUpdateBinding:a}){return(0,P.jsx)(i,{title:E(`bindings`),description:E(`bindingsHelp`),actions:(0,P.jsxs)(s,{type:`button`,variant:`ghost`,size:`sm`,onClick:t,children:[(0,P.jsx)(S,{className:`mr-2 h-4 w-4`}),E(`addBinding`)]}),children:(0,P.jsx)(p,{children:e.map((e,t)=>{let i=e.match.peer?.kind??``;return(0,P.jsxs)(`div`,{className:`space-y-3 p-4`,children:[(0,P.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-3`,children:[(0,P.jsx)(n,{value:e.agentId,onChange:n=>a(t,{...e,agentId:n.target.value}),placeholder:E(`targetAgentIdPlaceholder`)}),(0,P.jsx)(n,{value:e.match.channel,onChange:n=>a(t,{...e,match:{...e.match,channel:n.target.value}}),placeholder:E(`channelPlaceholder`)}),(0,P.jsx)(n,{value:e.match.accountId??``,onChange:n=>a(t,{...e,match:{...e.match,accountId:n.target.value}}),placeholder:E(`accountIdOptionalPlaceholder`)}),(0,P.jsxs)(j,{value:i||`__none__`,onValueChange:n=>{let r=n===`__none__`?``:n;a(t,r?{...e,match:{...e.match,peer:{kind:r,id:e.match.peer?.id??``}}}:{...e,match:{...e.match,peer:void 0}})},children:[(0,P.jsx)(O,{children:(0,P.jsx)(D,{})}),(0,P.jsxs)(k,{children:[(0,P.jsx)(A,{value:`__none__`,children:E(`peerKindOptional`)}),(0,P.jsx)(A,{value:`direct`,children:E(`peerKindDirect`)}),(0,P.jsx)(A,{value:`group`,children:E(`peerKindGroup`)}),(0,P.jsx)(A,{value:`channel`,children:E(`peerKindChannel`)})]})]}),(0,P.jsx)(n,{value:e.match.peer?.id??``,onChange:n=>a(t,{...e,match:{...e.match,peer:i?{kind:i,id:n.target.value}:void 0}}),placeholder:E(`peerIdPlaceholder`)})]}),(0,P.jsx)(`div`,{className:`flex justify-end`,children:(0,P.jsxs)(s,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>r(t),children:[(0,P.jsx)(T,{className:`h-4 w-4 mr-1`}),E(`remove`)]})})]},`${t}-${e.agentId}`)})})})}function le({entries:e,onAddEntry:t,onRemoveEntry:r,onUpdateEntry:a}){return(0,P.jsx)(i,{title:E(`runtimeEntries`),description:E(`runtimeEntriesHelp`),actions:(0,P.jsxs)(s,{type:`button`,variant:`ghost`,size:`sm`,onClick:t,children:[(0,P.jsx)(S,{className:`mr-2 h-4 w-4`}),E(`addRuntimeEntry`)]}),children:(0,P.jsx)(p,{children:e.map((e,t)=>(0,P.jsxs)(`div`,{className:`space-y-3 p-4`,children:[(0,P.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-3`,children:[(0,P.jsx)(n,{value:e.id,onChange:e=>a(t,{id:e.target.value}),placeholder:E(`runtimeEntryIdPlaceholder`)}),(0,P.jsx)(n,{value:e.label??``,onChange:e=>a(t,{label:e.target.value}),placeholder:E(`runtimeEntryLabelPlaceholder`)}),(0,P.jsx)(n,{value:e.type,onChange:e=>a(t,{type:e.target.value}),placeholder:E(`runtimeEntryTypePlaceholder`)}),(0,P.jsxs)(`div`,{className:`flex items-center justify-between rounded-lg bg-background/65 px-3 py-2`,children:[(0,P.jsx)(`span`,{className:`text-sm text-foreground`,children:E(`enabled`)}),(0,P.jsx)(o,{checked:e.enabled!==!1,onCheckedChange:e=>a(t,{enabled:e})})]})]}),(0,P.jsxs)(`div`,{className:`space-y-2`,children:[(0,P.jsx)(`label`,{className:`text-sm font-medium text-foreground`,children:E(`runtimeEntryConfigJson`)}),(0,P.jsx)(`textarea`,{className:`min-h-32 w-full rounded-md border border-input bg-background px-3 py-2 font-mono text-sm`,value:e.configText,onChange:e=>a(t,{configText:e.target.value}),spellCheck:!1})]}),(0,P.jsx)(`div`,{className:`flex justify-end`,children:(0,P.jsxs)(s,{type:`button`,variant:`outline`,onClick:()=>r(t),children:[(0,P.jsx)(T,{className:`mr-2 h-4 w-4`}),E(`delete`)]})})]},`${t}-${e.id||`runtime-entry`}`))})})}var ue=[{value:`main`,labelKey:`dmScopeMain`},{value:`per-peer`,labelKey:`dmScopePerPeer`},{value:`per-channel-peer`,labelKey:`dmScopePerChannelPeer`},{value:`per-account-channel-peer`,labelKey:`dmScopePerAccountChannelPeer`}];function de({companionEnabled:e,defaultContextTokens:t,defaultEngine:r,dmScope:s,onCompanionEnabledChange:c,onDefaultContextTokensChange:l,onDefaultEngineChange:u,onDmScopeChange:d}){return(0,P.jsx)(i,{title:E(`dmScope`),description:E(`dmScopeHelp`),children:(0,P.jsxs)(p,{children:[(0,P.jsx)(a,{title:E(`runtimeCompanionEnabled`),description:E(`runtimeCompanionEnabledHelp`),control:(0,P.jsx)(o,{checked:e,onCheckedChange:c})}),(0,P.jsx)(a,{title:E(`defaultContextTokens`),description:E(`defaultContextTokensHelp`),control:(0,P.jsx)(n,{type:`number`,min:1e3,step:1e3,value:t,onChange:e=>l(Math.max(1e3,Number.parseInt(e.target.value,10)||1e3)),className:`w-36`})}),(0,P.jsx)(a,{title:E(`defaultEngine`),description:E(`defaultEngineHelp`),control:(0,P.jsx)(n,{value:r,onChange:e=>u(e.target.value),placeholder:E(`defaultEnginePlaceholder`),className:`w-56`})}),(0,P.jsx)(a,{title:E(`dmScope`),control:(0,P.jsxs)(j,{value:s,onValueChange:e=>d(e),children:[(0,P.jsx)(O,{className:`w-56`,children:(0,P.jsx)(D,{})}),(0,P.jsx)(k,{children:ue.map(e=>(0,P.jsx)(A,{value:e.value,children:E(e.labelKey)},e.value))})]})})]})})}function fe({config:e,updateRuntime:t}){let n=(0,N.useMemo)(()=>ae(e),[e]),[i,a]=(0,N.useState)(n.agents),[o,l]=(0,N.useState)(n.bindings),[u,d]=(0,N.useState)(n.runtimeEntries),[f,p]=(0,N.useState)(n.dmScope),[m,h]=(0,N.useState)(n.companionEnabled),[g,_]=(0,N.useState)(n.defaultContextTokens),[v,y]=(0,N.useState)(n.defaultEngine),b=(0,N.useMemo)(()=>{let e=new Set([`main`]);return i.forEach(t=>{let n=t.id.trim();n&&e.add(n)}),e},[i]);return(0,P.jsxs)(c,{title:E(`runtimePageTitle`),description:E(`runtimePageDescription`),children:[(0,P.jsx)(J,{}),(0,P.jsx)(de,{companionEnabled:m,dmScope:f,defaultContextTokens:g,defaultEngine:v,onCompanionEnabledChange:h,onDmScopeChange:p,onDefaultContextTokensChange:_,onDefaultEngineChange:y}),(0,P.jsx)(le,{entries:u,onUpdateEntry:(e,t)=>d(n=>n.map((n,r)=>r===e?{...n,...t}:n)),onRemoveEntry:e=>d(t=>t.filter((t,n)=>n!==e)),onAddEntry:()=>d(e=>[...e,Q()])}),(0,P.jsx)(se,{agents:i,onUpdateAgent:(e,t)=>{a(n=>n.map((n,r)=>r===e?{...n,...t}:n))},onRemoveAgent:e=>a(t=>t.filter((t,n)=>n!==e)),onAddAgent:()=>a(e=>[...e,X()]),onSetDefaultAgent:(e,t)=>a(n=>t?n.map((t,n)=>({...t,default:n===e})):n.map((t,n)=>n===e?{...t,default:!1}:t))}),(0,P.jsx)(ce,{bindings:o,onUpdateBinding:(e,t)=>{l(n=>n.map((n,r)=>r===e?t:n))},onRemoveBinding:e=>l(t=>t.filter((t,n)=>n!==e)),onAddBinding:()=>l(e=>[...e,Z()])}),(0,P.jsx)(te,{children:(0,P.jsxs)(s,{type:`button`,size:`sm`,onClick:()=>{try{let e=$({companionEnabled:m,agents:i,bindings:o,runtimeEntries:u,dmScope:f,defaultContextTokens:g,defaultEngine:v,knownAgentIds:b});t.mutate({data:e})}catch(e){r.error(e instanceof Error?e.message:String(e))}},disabled:t.isPending,children:[(0,P.jsx)(w,{className:`mr-1.5 h-3.5 w-3.5`}),t.isPending?E(`saving`):E(`saveRuntimeSettings`)]})})]})}function pe(){let{data:e,isLoading:t}=ee(),n=M();return t||!e?(0,P.jsx)(c,{title:E(`runtimePageTitle`),description:E(`runtimePageDescription`),children:(0,P.jsx)(`div`,{className:`text-sm text-muted-foreground`,children:E(`runtimeLoading`)})}):(0,P.jsx)(fe,{config:e,updateRuntime:n})}export{pe as RuntimeConfig};
@@ -1 +0,0 @@
1
- import{zt as e}from"./api-CG22BskB.js";export{e as SecurityConfig};
@@ -1 +0,0 @@
1
- import{i as e}from"./chunk-DF37yw5_.js";import{b as t}from"./theme-provider-D98XGa-c.js";import{Lt as n,Xn as r,Yn as i,Yt as a,_n as o,cr as s,sr as c,yr as l}from"./api-CG22BskB.js";import{Ct as u,Dt as d,at as f,d as p,lt as ee,m,ot as h,st as g,wt as _}from"./app-presenter-provider-CJFjhVYI.js";import{t as v}from"./createLucideIcon-Lnt-4LMC.js";import{G as y,W as b,g as x,h as S,lt as C,vt as w}from"./context-menu-DKIEaY7f.js";import{z as T}from"./dist-Cuiqqp1O.js";import{t as E}from"./circle-dashed-nDaMRmP-.js";import{i as D}from"./x-BqGj6_Vq.js";import{t as O}from"./refresh-cw-Ca2napNx.js";import{t as k}from"./trash-2-DwSkRfeB.js";import{s as A}from"./i18n-B0V5NkFj.js";import{a as j,d as M,f as N,i as P,l as F,n as I,o as L,r as R,t as z,u as B}from"./dialog-BNXSPMX_.js";import{g as V,h as H,p as U}from"./provider-models-XRArsply.js";var W=v(`CirclePause`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`10`,x2:`10`,y1:`15`,y2:`9`,key:`c1nkhi`}],[`line`,{x1:`14`,x2:`14`,y1:`15`,y2:`9`,key:`h65svq`}]]),te=v(`Radar`,[[`path`,{d:`M19.07 4.93A10 10 0 0 0 6.99 3.34`,key:`z3du51`}],[`path`,{d:`M4 6h.01`,key:`oypzma`}],[`path`,{d:`M2.29 9.62A10 10 0 1 0 21.31 8.35`,key:`qzzz0`}],[`path`,{d:`M16.24 7.76A6 6 0 1 0 8.23 16.67`,key:`1yjesh`}],[`path`,{d:`M12 18h.01`,key:`mhygvu`}],[`path`,{d:`M17.99 11.66A6 6 0 0 1 15.77 16.67`,key:`1u2y91`}],[`circle`,{cx:`12`,cy:`12`,r:`2`,key:`1c9p78`}],[`path`,{d:`m13.41 10.59 5.66-5.66`,key:`mhq4k0`}]]),G=v(`ShieldPlus`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`M9 12h6`,key:`1c52cq`}],[`path`,{d:`M12 9v6`,key:`199k2o`}]]),ne=v(`Unplug`,[[`path`,{d:`m19 5 3-3`,key:`yk6iyv`}],[`path`,{d:`m2 22 3-3`,key:`19mgm9`}],[`path`,{d:`M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z`,key:`goz73y`}],[`path`,{d:`M7.5 13.5 10 11`,key:`7xgeeb`}],[`path`,{d:`M10.5 16.5 13 14`,key:`10btkg`}],[`path`,{d:`m12 6 6 6 2.3-2.3a2.4 2.4 0 0 0 0-3.4l-2.6-2.6a2.4 2.4 0 0 0-3.4 0Z`,key:`1snsnr`}]]),K=e(l(),1),q=s();function re({appId:e,appTitle:t,dataEntry:n,dataLoading:r,deleteError:i,deletePending:o,open:s,purgeData:c,onDelete:l,onOpenChange:u,onPurgeDataChange:d}){let f=(0,K.useRef)(null);(0,K.useEffect)(()=>{i&&f.current?.focus()},[i]);let p=()=>u(!1);return(0,q.jsx)(z,{open:s,onOpenChange:e=>!o&&u(e),children:(0,q.jsxs)(I,{className:`max-w-md`,onEscapeKeyDown:e=>o&&e.preventDefault(),onInteractOutside:e=>o&&e.preventDefault(),children:[(0,q.jsxs)(j,{showClose:!1,children:[(0,q.jsx)(L,{children:A(`serviceAppsDeleteConfirmTitle`)}),(0,q.jsxs)(R,{children:[A(`serviceAppsDeleteConfirmDescription`),` `,t]})]}),(0,q.jsxs)(`div`,{className:`mt-4 grid gap-2`,children:[(0,q.jsx)(g,{checked:!c,description:A(`serviceAppsKeepDataDescription`),label:A(`appPackagesKeepData`),onClick:()=>d(!1)}),(0,q.jsx)(g,{checked:c,destructive:!0,disabled:!n||r,description:A(`serviceAppsDeleteDataDescription`),label:A(`appPackagesDeleteData`),onClick:()=>d(!0)})]}),n?(0,q.jsx)(`div`,{className:`mt-3`,children:(0,q.jsx)(h,{storage:n.storage,usage:n.usage})}):(0,q.jsx)(`p`,{role:`status`,className:`mt-3 text-xs text-muted-foreground`,children:A(r?`appPackagesLoading`:`serviceAppsDataUnavailable`)}),i?(0,q.jsx)(`p`,{ref:f,role:`alert`,tabIndex:-1,className:`mt-3 text-xs text-destructive`,children:i instanceof Error?i.message:A(`appPackagesActionFailed`)}):null,(0,q.jsxs)(P,{className:`mt-5 gap-2 sm:gap-0`,children:[(0,q.jsx)(a,{autoFocus:!0,type:`button`,variant:`outline`,disabled:o,onClick:p,children:A(`cancel`)}),(0,q.jsxs)(a,{type:`button`,variant:c?`destructive`:`default`,disabled:o||c&&!n,onClick:()=>l(e,c,p),children:[o?(0,q.jsx)(D,{className:`mr-1.5 h-3.5 w-3.5 animate-spin`}):null,A(c?`appDataDeletePermanently`:`serviceAppsDelete`)]})]})]})})}function ie({action:e,grants:t,agents:n,grantAgentPending:r,onGrantAgent:i,onRevoke:a}){let[o,s]=(0,K.useState)(!1),c=new Set(t.flatMap(e=>e.caller.surface===`agent`?[e.caller.agentId]:[])),l=n.filter(e=>!c.has(e.id));return(0,q.jsxs)(`div`,{className:`py-2`,children:[(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,q.jsx)(`span`,{className:`flex h-6 w-6 shrink-0 items-center justify-center text-muted-foreground`,children:(0,q.jsx)(b,{className:`h-3.5 w-3.5`})}),(0,q.jsxs)(`div`,{className:`min-w-0`,children:[(0,q.jsx)(`div`,{className:`truncate text-xs font-medium text-foreground`,children:e.title??e.name}),e.description?(0,q.jsx)(`div`,{className:`truncate text-[11px] text-muted-foreground`,children:e.description}):null]})]}),(0,q.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[e.runtimeState?(0,q.jsx)(`span`,{className:`text-[11px] text-muted-foreground`,children:A(`serviceAppsRuntimeState_${e.runtimeState}`)}):null,(0,q.jsx)(`span`,{className:`text-[11px] text-muted-foreground`,children:e.risk}),(0,q.jsxs)(U,{open:o,onOpenChange:s,children:[(0,q.jsx)(V,{asChild:!0,children:(0,q.jsx)(`button`,{type:`button`,disabled:r||l.length===0,className:`ml-1 rounded-md p-1 text-muted-foreground/70 transition-colors hover:bg-[var(--interaction-hover)] hover:text-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-border disabled:cursor-not-allowed disabled:opacity-40`,title:A(`serviceAppsGrantToAgent`),"aria-label":A(`serviceAppsGrantToAgent`),children:(0,q.jsx)(G,{className:`h-3.5 w-3.5`})})}),(0,q.jsxs)(H,{align:`end`,variant:`menu`,children:[(0,q.jsx)(`div`,{className:`px-2 py-1.5 text-[11px] font-medium text-muted-foreground`,children:A(`serviceAppsGrantToAgent`)}),l.map(t=>(0,q.jsxs)(`button`,{type:`button`,onClick:()=>{i(e.id,t.id),s(!1)},className:`${x} text-foreground ${S.item}`,children:[(0,q.jsx)(w,{className:`h-4 w-4 shrink-0 text-muted-foreground`}),(0,q.jsx)(`span`,{className:`min-w-0 truncate`,children:t.displayName?.trim()||t.id})]},t.id))]})]})]})]}),t.map(e=>(0,q.jsxs)(`div`,{className:`mt-1.5 flex items-center justify-between gap-2 pl-8`,children:[(0,q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5 text-[11px] text-muted-foreground`,children:[(0,q.jsx)(u,{className:`h-3 w-3 shrink-0 text-emerald-500`}),(0,q.jsxs)(`span`,{className:`truncate`,children:[A(`serviceAppsGrantedTo`),` `,J(e)]})]}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>a(e),className:`rounded-md p-1 text-muted-foreground/70 transition-colors hover:bg-[var(--interaction-hover)] hover:text-rose-600 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-border`,title:A(`serviceAppsRevokeGrant`),"aria-label":A(`serviceAppsRevokeGrant`),children:(0,q.jsx)(k,{className:`h-3 w-3`})})]},`${e.caller.surface}:${J(e)}:${e.actionId}`))]})}function J(e){return e.caller.surface===`panel-app`?e.caller.appId:e.caller.agentId}function Y({app:e,actions:n,actionsOpen:r,grants:i,agents:a,deletePending:s,deleteError:c,dataEntry:l,dataLoading:u,isDiscovering:d,onActionsOpenChange:f,onDiscover:ee,onManagePackage:h,onDelete:g,onResetDelete:v,onRestart:y,onRevoke:b,onGrantAgent:x,grantAgentPending:S}){let[w,E]=(0,K.useState)(!1),[O,j]=(0,K.useState)(!1),[P,I]=(0,K.useState)(!1),[L,R]=(0,K.useState)(!1),z=e.status!==`starting`&&e.status!==`stopped`,W=e.status===`running`||e.status===`failed`,G=e.sourceKind===`package`?e.packageId:void 0,J=se(e),Y=()=>{E(!1),R(!1),v(),j(!0)};return(0,q.jsx)(M,{delayDuration:250,children:(0,q.jsxs)(`section`,{className:`group bg-card transition-colors hover:bg-[var(--interaction-hover)]`,children:[(0,q.jsxs)(`div`,{className:`flex items-start gap-3 px-4 py-3.5`,children:[(0,q.jsx)(`div`,{className:`flex h-9 w-9 shrink-0 items-center justify-center rounded-lg bg-muted text-muted-foreground`,children:(0,q.jsx)(_,{className:`h-4 w-4`})}),(0,q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(`div`,{className:`truncate text-sm font-medium text-foreground`,children:e.title}),(0,q.jsx)(ae,{status:e.status})]}),e.description?(0,q.jsx)(`div`,{className:`mt-1 truncate text-xs leading-5 text-muted-foreground`,children:e.description}):null,e.lastError?(0,q.jsx)(`div`,{className:`mt-1.5 truncate text-xs text-rose-600`,title:e.lastError,children:e.lastError}):null]}),(0,q.jsxs)(`div`,{className:`flex shrink-0 items-center gap-0.5`,children:[z?(0,q.jsxs)(F,{children:[(0,q.jsx)(N,{asChild:!0,children:(0,q.jsxs)(`button`,{type:`button`,disabled:d,className:`inline-flex h-7 items-center gap-1.5 rounded-md bg-foreground px-2.5 text-xs font-medium text-background transition-colors hover:bg-foreground/85 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-foreground/40 disabled:cursor-not-allowed disabled:opacity-50`,"aria-label":A(`serviceAppsDiscoverActions`),onClick:()=>ee(e.id),children:[d?(0,q.jsx)(D,{className:`h-3.5 w-3.5 animate-spin`}):(0,q.jsx)(te,{className:`h-3.5 w-3.5`}),(0,q.jsx)(`span`,{children:A(`serviceAppsConnect`)})]})}),(0,q.jsx)(B,{side:`bottom`,className:`max-w-56 text-xs`,children:A(`serviceAppsDiscoverActionsHint`)})]}):null,(0,q.jsxs)(U,{open:w,onOpenChange:E,children:[(0,q.jsxs)(F,{children:[(0,q.jsx)(N,{asChild:!0,children:(0,q.jsx)(V,{asChild:!0,children:(0,q.jsx)(`button`,{type:`button`,className:`rounded-md p-1.5 text-muted-foreground transition-colors hover:bg-[var(--interaction-hover)] hover:text-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-border disabled:opacity-50`,"aria-label":A(`serviceAppsMoreActions`),disabled:s,children:(0,q.jsx)(C,{className:`h-3.5 w-3.5`})})})}),(0,q.jsx)(B,{side:`bottom`,className:`text-xs`,children:A(`serviceAppsMoreActions`)})]}),(0,q.jsxs)(H,{align:`end`,variant:`menu`,children:[(0,q.jsx)(`div`,{className:`my-1 h-px bg-border`}),(0,q.jsx)(X,{disabled:!W,icon:ne,label:A(`serviceAppsDisconnectRuntime`),onClick:()=>{E(!1),y(e.id)}}),G?(0,q.jsx)(X,{icon:t,label:A(`serviceAppsManagePackage`),onClick:()=>{E(!1),h(G)}}):(0,q.jsx)(X,{destructive:!0,disabled:s,icon:k,label:A(`serviceAppsDelete`),onClick:Y}),(0,q.jsx)(`div`,{className:`my-1 h-px bg-border`}),(0,q.jsx)(p,{page:m(`service-app`,e.id,e.title),onSelect:()=>E(!1)})]})]})]})]}),(0,q.jsxs)(`div`,{className:`border-t border-border/60`,children:[(0,q.jsxs)(`div`,{className:`flex items-stretch`,children:[(0,q.jsxs)(`button`,{type:`button`,onClick:()=>f(!r),className:`flex min-w-0 flex-1 items-center justify-between gap-2 px-4 py-2 text-left text-xs text-muted-foreground transition-colors hover:bg-[var(--interaction-hover)] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-border`,"aria-expanded":r,children:[(0,q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,q.jsx)(`span`,{children:A(`serviceAppsActionsSection`)}),(0,q.jsx)(`span`,{className:`tabular-nums text-muted-foreground/70`,children:n.length})]}),(0,q.jsx)(T,{className:o(`h-3.5 w-3.5 shrink-0 text-muted-foreground/70 transition-transform`,r&&`rotate-180`)})]}),J.length>0?(0,q.jsxs)(`button`,{type:`button`,onClick:()=>I(e=>!e),className:`flex shrink-0 items-center gap-1 border-l border-border/60 px-3 text-xs text-muted-foreground transition-colors hover:bg-[var(--interaction-hover)] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-border`,"aria-expanded":P,children:[(0,q.jsx)(`span`,{children:A(`serviceAppsDetails`)}),(0,q.jsx)(T,{className:o(`h-3.5 w-3.5 transition-transform`,P&&`rotate-180`)})]}):null]}),r?(0,q.jsx)(`div`,{className:`border-t border-border/60 px-4 py-2.5`,children:n.length===0?(0,q.jsx)(`div`,{className:`py-1 text-xs text-muted-foreground`,children:A(`serviceAppsActionsEmpty`)}):(0,q.jsx)(`div`,{className:`divide-y divide-border/50`,children:n.map(e=>(0,q.jsx)(ie,{action:e,grants:i.filter(t=>t.actionId===e.id),agents:a,grantAgentPending:S,onGrantAgent:x,onRevoke:b},e.id))})}):null,P?(0,q.jsx)(ce,{rows:J}):null]}),e.sourceKind===`package`?null:(0,q.jsx)(re,{appId:e.id,appTitle:e.title,dataEntry:l,dataLoading:u,deleteError:c,deletePending:s,open:O,purgeData:L,onDelete:g,onOpenChange:j,onPurgeDataChange:R})]})})}function ae({status:e}){let t=oe(e),n=t.icon;return(0,q.jsxs)(F,{children:[(0,q.jsx)(N,{asChild:!0,children:(0,q.jsxs)(`span`,{className:o(`inline-flex shrink-0 items-center gap-1 text-xs`,t.className),"aria-label":t.label,children:[(0,q.jsx)(n,{className:o(`h-3 w-3`,t.iconClassName)}),(0,q.jsx)(`span`,{children:t.label})]})}),(0,q.jsx)(B,{side:`bottom`,className:`text-xs`,children:t.tooltip})]})}function oe(e){switch(e){case`running`:return{className:`text-emerald-700`,icon:d,label:A(`serviceAppsStatus_running`),tooltip:A(`serviceAppsStatusHint_running`)};case`starting`:return{className:`text-blue-700`,icon:D,iconClassName:`animate-spin`,label:A(`serviceAppsStatus_starting`),tooltip:A(`serviceAppsStatusHint_starting`)};case`failed`:return{className:`text-rose-700`,icon:y,label:A(`serviceAppsStatus_failed`),tooltip:A(`serviceAppsStatusHint_failed`)};case`stopped`:return{className:`text-muted-foreground`,icon:W,label:A(`serviceAppsStatus_stopped`),tooltip:A(`serviceAppsStatusHint_stopped`)};default:return{className:`text-muted-foreground`,icon:E,label:A(`serviceAppsStatus_idle`),tooltip:A(`serviceAppsStatusHint_idle`)}}}function X({destructive:e=!1,disabled:t=!1,icon:n,label:r,onClick:i}){return(0,q.jsxs)(`button`,{type:`button`,className:o(x,e?S.destructive:`text-foreground ${S.item}`),disabled:t,onClick:i,children:[(0,q.jsx)(n,{className:o(`h-4 w-4 shrink-0`,!e&&`text-muted-foreground`)}),(0,q.jsx)(`span`,{children:r})]})}function se(e){let t=[e.command,...e.args??[]].filter(e=>!!e?.trim()).join(` `);return[{label:A(`serviceAppsCommand`),value:t},{label:A(`serviceAppsCwd`),value:e.cwd},{label:A(`serviceAppsManifest`),value:e.manifestPath},{label:A(`serviceAppsLastStarted`),value:e.lastStartedAt},{label:A(`serviceAppsLastReady`),value:e.lastReadyAt},{label:A(`serviceAppsLastFailed`),value:e.lastFailedAt}].filter(e=>e.value)}function ce({rows:e}){return(0,q.jsx)(`div`,{className:`border-t border-border/60 px-4 py-2.5`,children:(0,q.jsx)(`dl`,{className:`grid grid-cols-[4.75rem_minmax(0,1fr)] gap-x-3 gap-y-1.5 text-xs`,children:e.map(e=>(0,q.jsx)(le,{label:e.label,value:e.value},e.label))})})}function le({label:e,value:t}){return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`dt`,{className:`text-muted-foreground/70`,children:e}),(0,q.jsx)(`dd`,{className:`min-w-0 truncate font-mono text-muted-foreground`,title:t,children:t})]})}var Z=[`service-apps`],Q=[`service-actions`],$=[`service-action-grants`],ue=[`app-data`];function de(){return r({queryKey:Z,queryFn:()=>n.serviceApps.listServiceApps()})}function fe(){return r({queryKey:Q,queryFn:()=>n.serviceApps.listServiceActions()})}function pe(){return r({queryKey:$,queryFn:()=>n.serviceApps.listServiceActionGrants()})}function me(){let e=c();return i({mutationFn:e=>n.serviceApps.restartServiceApp(e),onSuccess:async()=>{await Promise.all([e.invalidateQueries({queryKey:Z}),e.invalidateQueries({queryKey:Q})])}})}function he(){let e=c();return i({mutationFn:e=>n.serviceApps.deleteServiceApp(e.appId,e.purgeData),onSuccess:async()=>{await Promise.all([e.invalidateQueries({queryKey:Z}),e.invalidateQueries({queryKey:Q}),e.invalidateQueries({queryKey:$}),e.invalidateQueries({queryKey:ue})])}})}function ge(){let e=c();return i({mutationFn:e=>n.serviceApps.discoverServiceAppActions(e),onSuccess:async()=>{await e.invalidateQueries({queryKey:Z})}})}function _e(){let e=c();return i({mutationFn:e=>n.serviceApps.revokeServiceActionGrant(e),onSuccess:async()=>{await Promise.all([e.invalidateQueries({queryKey:Q}),e.invalidateQueries({queryKey:$})])}})}function ve(){let e=c();return i({mutationFn:e=>n.serviceApps.grantAgentServiceActions(e.agentId,e.actionIds),onSuccess:async()=>{await Promise.all([e.invalidateQueries({queryKey:Q}),e.invalidateQueries({queryKey:$})])}})}function ye({onManagePackage:e}){let t=de(),n=f(),r=fe(),i=pe(),a=ee(),o=he(),s=me(),c=ge(),l=_e(),u=ve(),[d,p]=(0,K.useState)({}),[m,h]=(0,K.useState)({}),g=()=>{t.refetch(),r.refetch(),i.refetch(),n.refetch()};if(t.isLoading||r.isLoading||i.isLoading)return(0,q.jsx)(`div`,{className:`flex h-full items-center justify-center text-sm text-muted-foreground`,children:A(`serviceAppsLoading`)});if(t.isError||r.isError||i.isError){let e=t.error??r.error??i.error;return(0,q.jsx)(`div`,{className:`p-4 text-sm text-rose-600`,children:e instanceof Error?e.message:A(`serviceAppsLoadFailed`)})}let v=t.data?.entries??[],y=t.data?.diagnostics??[],b=r.data?.actions??[],x=i.data?.grants??[],S=e=>{c.mutateAsync(e).then(t=>{p(n=>({...n,[e]:t.actions})),h(t=>({...t,[e]:!0}))})},C=(n.data?.entries??[]).filter(e=>e.source===`workspace-service`&&e.lifecycle===`active`);return(0,q.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col bg-card text-card-foreground`,children:[(0,q.jsx)(`div`,{className:`flex min-h-12 shrink-0 items-center justify-end border-b border-border/60 px-4 py-2`,children:(0,q.jsx)(M,{delayDuration:250,children:(0,q.jsxs)(F,{children:[(0,q.jsx)(N,{asChild:!0,children:(0,q.jsx)(`button`,{type:`button`,className:`rounded-md p-1.5 text-muted-foreground transition-colors hover:bg-[var(--interaction-hover)] hover:text-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-border`,"aria-label":A(`serviceAppsRefresh`),onClick:g,children:(0,q.jsx)(O,{className:`h-3.5 w-3.5`})})}),(0,q.jsx)(B,{side:`bottom`,className:`text-xs`,children:A(`serviceAppsRefresh`)})]})})}),y.length>0?(0,q.jsxs)(`div`,{role:`alert`,className:`mx-3 mt-3 rounded-xl border border-destructive/20 bg-destructive/5 px-3 py-2.5 text-xs text-destructive sm:mx-4`,children:[(0,q.jsx)(`div`,{className:`font-medium`,children:A(`serviceAppsLoadFailed`)}),(0,q.jsx)(`ul`,{className:`mt-1 space-y-1`,children:y.map(e=>(0,q.jsxs)(`li`,{className:`break-words`,children:[e.appId,`: `,e.message]},e.stagedPath))})]}):null,v.length===0?(0,q.jsx)(`div`,{className:`flex flex-1 items-center justify-center px-6 py-8 text-center`,children:(0,q.jsxs)(`div`,{className:`w-full max-w-xs`,children:[(0,q.jsx)(`div`,{className:`mx-auto flex h-10 w-10 items-center justify-center rounded-xl bg-muted text-muted-foreground`,children:(0,q.jsx)(_,{className:`h-5 w-5`})}),(0,q.jsx)(`h2`,{className:`mt-3 text-sm font-semibold text-foreground`,children:A(`serviceAppsEmptyTitle`)}),(0,q.jsx)(`p`,{className:`mt-1 text-xs leading-5 text-muted-foreground`,children:A(`serviceAppsEmptyDescription`)})]})}):(0,q.jsx)(`div`,{className:`custom-scrollbar min-h-0 flex-1 overflow-y-auto p-3 sm:p-4`,children:(0,q.jsx)(`div`,{className:`overflow-hidden rounded-xl border border-border/70 bg-card`,children:v.map(t=>(0,q.jsx)(Y,{app:t,actions:d[t.id]??b.filter(e=>e.appId===t.id),actionsOpen:!!m[t.id],grants:x,agents:a.data?.agents??[],deletePending:o.isPending,deleteError:o.error,dataEntry:C.find(e=>e.appId===t.id),dataLoading:n.isLoading,isDiscovering:c.isPending,onActionsOpenChange:e=>h(n=>({...n,[t.id]:e})),onDiscover:S,onManagePackage:e,onDelete:(e,t,n)=>void o.mutate({appId:e,purgeData:t},{onSuccess:n}),onResetDelete:o.reset,onRestart:e=>void s.mutate(e),onRevoke:e=>void l.mutate({actionId:e.actionId,caller:e.caller}),onGrantAgent:(e,t)=>void u.mutate({actionIds:[e],agentId:t}),grantAgentPending:u.isPending},t.id))})})]})}export{ye as ServiceAppsPanel};
@@ -1 +0,0 @@
1
- import{n as e}from"./chunk-Y2CYZVJY-rfGCG6pM.js";import"./src-CI2AvEMj.js";import"./chunk-WYO6CB5R-DPDGhyF6.js";import"./chunk-ICXQ74PX-F_pmNX6t.js";import"./chunk-HOUHSVGY-i3MDyUY5.js";import"./chunk-Q4XR5HBZ-GE0v_E5y.js";import"./chunk-7BUUIJ7U-CvSeJlKZ.js";import"./chunk-OGEWGWER-DuSw54VR.js";import"./chunk-32BRIVSS-BeCaI-JN.js";import"./chunk-XXDRQBXY-KKCf0HV5.js";import"./chunk-VR4S4FIN-COdhHR1o.js";import"./chunk-C7G6YPKG-BTL0-xL3.js";import"./chunk-ZGVPDNZ5-BuNKD836.js";import"./chunk-52WLFC77-ZXIcYPYs.js";import"./chunk-FWX5IMBZ-DUuJUrXJ.js";import{i as t,n,r,t as i}from"./chunk-EX3LRPZG-DfOGKwW8.js";var a={parser:n,get db(){return new i(2)},renderer:r,styles:t,init:e(e=>{e.state||={},e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute},`init`)};export{a as diagram};
@@ -1,8 +0,0 @@
1
- import{n as e}from"./chunk-Y2CYZVJY-rfGCG6pM.js";import"./src-CI2AvEMj.js";import"./chunk-WYO6CB5R-DPDGhyF6.js";import"./chunk-ICXQ74PX-F_pmNX6t.js";import"./chunk-HOUHSVGY-i3MDyUY5.js";import"./chunk-Q4XR5HBZ-GE0v_E5y.js";import"./chunk-7BUUIJ7U-CvSeJlKZ.js";import"./chunk-OGEWGWER-DuSw54VR.js";import"./chunk-32BRIVSS-BeCaI-JN.js";import"./chunk-XXDRQBXY-KKCf0HV5.js";import"./chunk-VR4S4FIN-COdhHR1o.js";import"./chunk-C7G6YPKG-BTL0-xL3.js";import"./chunk-ZGVPDNZ5-BuNKD836.js";import"./chunk-52WLFC77-ZXIcYPYs.js";import"./chunk-FWX5IMBZ-DUuJUrXJ.js";import"./chunk-ZIRB5QZD-DyHzq8jH.js";import{r as t,t as n}from"./chunk-PUDLZKDR-BFPaAGNW.js";var r=n({defaultLayout:`swimlane`,styles:e(e=>`${t(e)}
2
- .swimlane.cluster rect {
3
- stroke: ${e.clusterBorder} !important;
4
- }
5
- [data-look="neo"].cluster rect {
6
- filter: none;
7
- }
8
- `,`getStyles`)});export{r as diagram};
@@ -1 +0,0 @@
1
- import{i as e}from"./chunk-DF37yw5_.js";import{Jn as t,Lt as n,Sn as r,Xn as i,Yn as a,Yt as o,cr as s,fn as c,hn as l,sr as u,yr as d}from"./api-CG22BskB.js";import{t as f}from"./createLucideIcon-Lnt-4LMC.js";import{J as p}from"./context-menu-DKIEaY7f.js";import{d as ee,f as te,l as ne,p as m,s as h}from"./i18n-B0V5NkFj.js";import{a as re,i as ie,n as ae,o as oe,r as se,t as ce}from"./dialog-BNXSPMX_.js";import{n as g}from"./navigation-history-CzErJuPG.js";var _=`nextclaw.ui.theme`,v=`default`,y=`plain-paper`;function b(e){return e===`default`?y:e}var x=[{value:`default`,labelKey:`themeDefault`,appearance:`light`},{value:`plain-paper`,labelKey:`themePlainPaper`,appearance:`light`},{value:`paper-ink`,labelKey:`themePaperInk`,appearance:`light`},{value:`work`,labelKey:`themeWork`,appearance:`light`},{value:`night`,labelKey:`themeNight`,appearance:`dark`},{value:`charcoal`,labelKey:`themeCharcoal`,appearance:`dark`},{value:`island`,labelKey:`themeIsland`,appearance:`light`},{value:`natural`,labelKey:`themeNatural`,appearance:`light`},{value:`minimal`,labelKey:`themeMinimal`,appearance:`light`},{value:`warm`,labelKey:`themeWarm`,appearance:`light`},{value:`cool`,labelKey:`themeCool`,appearance:`light`},{value:`dawn`,labelKey:`themeDawn`,appearance:`light`},{value:`graphite`,labelKey:`themeGraphite`,appearance:`light`},{value:`probe`,labelKey:`themeProbe`,appearance:`light`}],le=x.map(({value:e})=>e),ue=x.map(({value:e,labelKey:t})=>({value:e,labelKey:t}));function S(e){return typeof e==`string`?le.includes(e)?e:e===`leaf`?`warm`:null:null}function C(e){return x.find(t=>t.value===b(e))?.appearance??`light`}var w=new class{constructor(){this.activeTheme=v,this.initialized=!1,this.listeners=new Set,this.resolveInitialTheme=()=>{if(typeof window>`u`)return v;try{let e=S(window.localStorage.getItem(_));if(e)return e}catch{}return v},this.initializeTheme=()=>(this.initialized||=(this.activeTheme=this.resolveInitialTheme(),this.applyThemeAttribute(this.activeTheme),!0),this.activeTheme),this.getTheme=()=>this.initialized?this.activeTheme:this.initializeTheme(),this.setTheme=e=>{this.initializeTheme(),e!==this.activeTheme&&(this.activeTheme=e,this.applyThemeAttribute(this.activeTheme),this.saveTheme(this.activeTheme),this.listeners.forEach(e=>e(this.activeTheme)))},this.subscribeThemeChange=e=>(this.listeners.add(e),()=>{this.listeners.delete(e)}),this.applyThemeAttribute=e=>{if(typeof document>`u`)return;let t=C(e);document.documentElement.setAttribute(`data-theme`,b(e)),document.documentElement.setAttribute(`data-theme-appearance`,t),document.documentElement.style.colorScheme=t},this.saveTheme=e=>{if(!(typeof window>`u`))try{window.localStorage.setItem(_,e)}catch{}}}};function T(){return w.initializeTheme()}function de(){return w.getTheme()}function fe(e){w.setTheme(e)}function pe(e){return w.subscribeThemeChange(e)}var E=f(`Boxes`,[[`path`,{d:`M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z`,key:`lc1i9w`}],[`path`,{d:`m7 16.5-4.74-2.85`,key:`1o9zyk`}],[`path`,{d:`m7 16.5 5-3`,key:`va8pkn`}],[`path`,{d:`M7 16.5v5.17`,key:`jnp8gn`}],[`path`,{d:`M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z`,key:`8zsnat`}],[`path`,{d:`m17 16.5-5-3`,key:`8arw3v`}],[`path`,{d:`m17 16.5 4.74-2.85`,key:`8rfmw`}],[`path`,{d:`M17 16.5v5.17`,key:`k6z78m`}],[`path`,{d:`M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z`,key:`1xygjf`}],[`path`,{d:`M12 8 7.26 5.15`,key:`1vbdud`}],[`path`,{d:`m12 8 4.74-2.85`,key:`3rx089`}],[`path`,{d:`M12 13.5V8`,key:`1io7kd`}]]),D=f(`ShieldAlert`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`M12 8v4`,key:`1got3b`}],[`path`,{d:`M12 16h.01`,key:`1drbdi`}]]),me=class{constructor(e){this.authorizationManager=e,this.handleIframeMessage=({event:e,iframe:t})=>{this.isBridgeRequest(e.data)&&(!t?.contentWindow||e.source!==t.contentWindow||this.handleBridgeRequest({event:e,iframe:t},e.data))},this.handleBridgeRequest=async(e,t)=>{try{let n=this.getBridgeContext(t),r=await this.dispatchRequest(n,t);this.postResponse(e,{type:`nextclaw:panel-app-service-actions:response`,requestId:t.requestId,ok:!0,data:r})}catch(n){this.postResponse(e,{type:`nextclaw:panel-app-service-actions:response`,requestId:t.requestId,ok:!1,error:this.toBridgeError(n)})}},this.dispatchRequest=async(e,t)=>{switch(t.method){case`list`:return await n.serviceApps.listServiceActions({bridgeSessionToken:e.token});case`requestGrant`:return await this.confirmAndGrant(e,this.requireActionId(t));case`revokeGrant`:return await n.serviceApps.revokeServiceAction(this.requireActionId(t),{bridgeSessionToken:e.token});case`invoke`:return await this.invokeWithAuthorization(e,t);case`agent.send`:return await this.sendAgentMessageWithAuthorization(e,t);case`agent.generateObject`:return await this.generateAgentObjectWithAuthorization(e,t);case`verification.list`:return await n.serviceApps.listVerificationRecords({acceptanceId:t.payload?.acceptanceId,appId:t.payload?.appId,limit:t.payload?.limit,bridgeSessionToken:e.token});case`acceptance.status`:return await n.serviceApps.getPortableRuntimeAcceptanceStatus({appId:t.payload?.appId,locale:t.payload?.locale,bridgeSessionToken:e.token});case`acceptance.export`:return await n.serviceApps.exportPortableRuntimeAcceptance({appId:t.payload?.appId,locale:t.payload?.locale,bridgeSessionToken:e.token});default:throw Error(`Unsupported panel bridge method: ${String(t.method)}`)}},this.invokeWithAuthorization=async(e,t)=>{let r=this.requireActionId(t);try{return await n.serviceApps.invokeServiceAction(r,this.readOptionalRecord(t.payload?.input),{bridgeSessionToken:e.token})}catch(i){if(!(i instanceof l)||i.code!==`AUTHORIZATION_REQUIRED`)throw i;return await this.confirmAndGrant(e,r,this.readOptionalRecord(t.payload?.input)),await n.serviceApps.invokeServiceAction(r,this.readOptionalRecord(t.payload?.input),{bridgeSessionToken:e.token})}},this.sendAgentMessageWithAuthorization=async(e,t)=>{try{return await n.panelApps.sendAgentMessage(this.readAgentSendRequest(t),{bridgeSessionToken:e.token})}catch(r){if(!(r instanceof l)||r.code!==`AUTHORIZATION_REQUIRED`)throw r;return await this.confirmAndGrantAgentCapability(e,`agent:send`),await n.panelApps.sendAgentMessage(this.readAgentSendRequest(t),{bridgeSessionToken:e.token})}},this.generateAgentObjectWithAuthorization=async(e,t)=>{try{return await n.panelApps.generateAgentObject(this.readGenerateObjectRequest(t),{bridgeSessionToken:e.token})}catch(r){if(!(r instanceof l)||r.code!==`AUTHORIZATION_REQUIRED`)throw r;return await this.confirmAndGrantAgentCapability(e,`agent:generateObject`),await n.panelApps.generateAgentObject(this.readGenerateObjectRequest(t),{bridgeSessionToken:e.token})}},this.confirmAndGrantAgentCapability=async(e,t)=>{if(!await this.authorizationManager.requestAuthorization({panelAppId:e.appId,actions:[{actionId:t,actionTitle:t===`agent:send`?`Send agent message`:`Generate object`,actionDescription:t===`agent:send`?`Send a message to a NextClaw Agent session.`:`Send context to a NextClaw Agent session and receive a structured object.`,risk:`write`}]}))throw new l({code:`AUTHORIZATION_REJECTED`,message:`Permission rejected for ${t}.`});return await n.panelApps.grantAgentCapability(t,{bridgeSessionToken:e.token})},this.confirmAndGrant=async(e,t,r)=>{let i=await this.listGrantCandidateActions(e,t);if(!await this.authorizationManager.requestAuthorization({panelAppId:e.appId,actions:i.map(e=>({actionId:e.id,actionTitle:e.title,actionDescription:e.description,risk:e.risk})),inputPreview:this.createInputPreview(r)}))throw new l({code:`AUTHORIZATION_REJECTED`,message:`Permission rejected for ${t}.`});let a=await n.serviceApps.grantServiceActions(i.map(e=>e.id),{bridgeSessionToken:e.token}),o=a.grants.find(e=>e.actionId===t)??a.grants[0];if(!o)throw Error(`No permission grant returned for ${t}.`);return o},this.listGrantCandidateActions=async(e,t)=>{let r=await n.serviceApps.listServiceActions({bridgeSessionToken:e.token}),i=r.actions.find(e=>e.id===t);if(i&&i.grantState!==`not-granted`)return[i];let a=r.actions.filter(e=>e.grantState===`not-granted`),o=[...a.filter(e=>e.id===t),...a.filter(e=>e.id!==t)];return o.length>0?o:[{appId:i?.appId??t.split(`.`)[0]??t,description:i?.description,id:t,name:i?.name??t,risk:i?.risk??`dangerous`,title:i?.title}]},this.createInputPreview=e=>{if(!(!e||Object.keys(e).length===0))try{let t=JSON.stringify(e,null,2);return t.length>500?`${t.slice(0,500)}...`:t}catch{return`[unserializable input]`}},this.getBridgeContext=e=>({appId:e.appId,token:e.runtimeToken}),this.requireActionId=e=>{let t=e.payload?.actionId?.trim();if(!t)throw Error(`Panel bridge actionId is required.`);return t},this.readOptionalRecord=e=>{if(e!==void 0)return this.requireRecord(e,`input`)},this.readAgentSendRequest=e=>({payload:this.requireRecord(e.payload?.request,`agent.send request`)}),this.readGenerateObjectRequest=e=>({input:this.requireRecord(e.payload?.input,`generateObject input`)}),this.requireRecord=(e,t)=>{if(!e||typeof e!=`object`||Array.isArray(e))throw Error(`${t} is required.`);return e},this.postResponse=(e,t)=>{e.iframe?.contentWindow?.postMessage(t,`*`)},this.toBridgeError=e=>e instanceof l?{code:e.code,message:e.message,details:e.details}:{message:e instanceof Error?e.message:String(e)},this.isBridgeRequest=e=>{if(!e||typeof e!=`object`)return!1;let t=e;return t.type===`nextclaw:panel-app-service-actions:request`&&typeof t.requestId==`string`&&typeof t.runtimeToken==`string`&&typeof t.appId==`string`&&(t.method===`invoke`||t.method===`agent.send`||t.method===`agent.generateObject`||t.method===`acceptance.export`||t.method===`acceptance.status`||t.method===`list`||t.method===`requestGrant`||t.method===`revokeGrant`||t.method===`verification.list`)}}};function he(){return`service-action-auth-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`}var O=c((e,t)=>({pending:null,requestAuthorization:async n=>await new Promise(r=>{t().pending?.resolve(!1),e({pending:{id:he(),...n,resolve:r}})}),resolveAuthorization:n=>{let{pending:r}=t();r&&(r.resolve(n),e({pending:null}))}})),ge=class{constructor(){this.requestAuthorization=async e=>await O.getState().requestAuthorization(e)}},k=class{constructor(){this.serviceActionAuthorizationManager=new ge,this.panelAppBridgeManager=new me(this.serviceActionAuthorizationManager)}},A=e(d(),1),j=s(),M=globalThis,N=M.__NEXTCLAW_PANEL_APP_HOST_CONTEXT__??(0,A.createContext)(null);M.__NEXTCLAW_PANEL_APP_HOST_CONTEXT__=N;function P({children:e,presenter:t}){let n=(0,A.useMemo)(()=>t??new k,[t]);return(0,j.jsx)(N.Provider,{value:n,children:e})}function F(){let e=(0,A.useContext)(N);if(!e)throw Error(`usePanelAppHostPresenter must be used inside PanelAppHostProvider`);return e}var I=[`panel-apps`],L=[`panel-app`];function R(e,t){return e.id===t||e.appId===t}function z(e,t,n){return e&&{...e,entries:e.entries.map(e=>R(e,t)?n(e):e)}}function B(e,t){return z(e,t.id,()=>t)}function _e(e,t){let n=e?.entries.reduce((e,t)=>Math.max(e,t.mainSidebarOrder??-1),-1)??-1;return z(e,t.id,e=>({...e,...typeof t.preferences.favorite==`boolean`?{favorite:t.preferences.favorite}:{},...typeof t.preferences.mainSidebar==`boolean`?t.preferences.mainSidebar?{mainSidebar:!0,mainSidebarOrder:e.mainSidebar?e.mainSidebarOrder:n+1}:{mainSidebar:!1,mainSidebarOrder:void 0}:{}}))}function ve(e={}){return i({queryKey:I,queryFn:()=>n.panelApps.listPanelApps(),enabled:e.enabled??!0,staleTime:0})}function V(e,t={}){return i({queryKey:[...L,e],queryFn:()=>n.panelApps.getPanelApp(e),enabled:!!e&&(t.enabled??!0),staleTime:5e3})}function ye(){let e=u();return a({mutationFn:({id:e,preferences:t})=>n.panelApps.updatePanelAppPreferences(e,t),onMutate:async t=>{await e.cancelQueries({queryKey:I});let n=e.getQueryData(I)?.entries.find(e=>R(e,t.id));return e.setQueryData(I,e=>_e(e,t)),{previousEntry:n}},onSuccess:t=>{e.setQueryData(I,e=>B(e,t)),e.setQueryData([...L,t.appId],t)},onError:(n,r,i)=>{let a=i?.previousEntry;a&&e.setQueryData(I,e=>z(e,r.id,()=>a));let o=n instanceof Error?n.message:String(n);t.error(`${h(`panelAppsPreferenceUpdateFailed`)}: ${o}`)}})}function be(){let e=u();return a({mutationFn:e=>n.panelApps.recordPanelAppOpened(e),onSuccess:t=>{e.setQueryData(I,e=>B(e,t)),e.setQueryData([...L,t.appId],t)}})}function H(){let e=u();return a({mutationFn:e=>n.panelApps.grantClient(e),onSuccess:()=>{e.invalidateQueries({queryKey:I}),e.invalidateQueries({queryKey:L})}})}function xe(){let e=u();return a({mutationFn:e=>n.panelApps.deletePanelApp(e),onSuccess:()=>{e.invalidateQueries({queryKey:I}),e.invalidateQueries({queryKey:L})}})}function U(){let e=F(),{isPending:t,mutateAsync:n}=H(),r=(0,A.useRef)(new Map);return{ensurePanelAppClientGrant:(0,A.useCallback)(async t=>{if(!t.clientDeclared||t.clientGranted)return!0;let i=r.current.get(t.appId);if(i)return await i;let a=(async()=>await e.serviceActionAuthorizationManager.requestAuthorization({panelAppId:t.appId,actions:[{actionId:`nextclaw.client`,actionTitle:h(`panelAppsClientGrantTitle`),actionDescription:h(`panelAppsClientGrantDescription`),risk:`dangerous`}]})?(await n(t.appId),!0):!1)();r.current.set(t.appId,a);try{return await a}finally{r.current.delete(t.appId)}},[n,e]),isPending:t}}function Se(e){let t=u(),r=(0,A.useId)(),{ensurePanelAppClientGrant:a}=U(),o=!!(e?.clientDeclared&&!e.clientGranted),s=i({queryKey:[`panel-app-client-grant`,e?.appId??`none`,e?.clientGranted??!1],queryFn:async()=>await a(e),enabled:o,gcTime:0,retry:!1,staleTime:1/0}),c=e?o?s.isError?`error`:s.isPending?`checking`:s.data?`allowed`:`denied`:`allowed`:`idle`;return i({queryKey:[`panel-app-open`,r,e?.appId??`none`],queryFn:async()=>{let r=await n.panelApps.recordPanelAppOpened(e.id);return t.setQueryData(I,e=>B(e,r)),t.setQueryData([...L,r.appId],r),r},enabled:!!(e&&c===`allowed`),retry:!1,staleTime:1/0}),{retryClientGrant:s.refetch,state:c}}var W=`allow-scripts allow-forms allow-modals allow-popups allow-popups-to-escape-sandbox allow-downloads allow-pointer-lock allow-presentation`;function G(e){e?.focus({preventScroll:!0}),e?.contentWindow?.focus()}function K(e){if(!e||typeof e!=`object`)return!1;let t=e;return t.kind===`document`?!0:t.kind===`element`&&Array.isArray(t.path)&&t.path.length>0&&t.path.length<=30&&t.path.every(e=>typeof e?.index==`number`&&Number.isInteger(e.index)&&e.index>=0&&e.index<=1e3&&typeof e.tagName==`string`&&e.tagName.length>0&&e.tagName.length<=32)}function Ce(e){if(!e||typeof e!=`object`)return!1;let t=e;return typeof t.currentUrl==`string`&&K(t.target)}function we(e){if(!e||typeof e!=`object`)return!1;let t=e;return t.type===r.scrollMessageType&&t.version===r.version&&K(t.target)&&typeof t.x==`number`&&Number.isFinite(t.x)&&t.x>=0&&typeof t.y==`number`&&Number.isFinite(t.y)&&t.y>=0}function q({currentUrl:e,iframeRef:t,isEnabled:n,restorationKey:i}){let a=i&&e?JSON.stringify([i,e]):null;return(0,A.useEffect)(()=>{if(!e||!n||!a)return;let r=a,i=n=>{n.source!==t.current?.contentWindow||!we(n.data)||g.save(r,{x:n.data.x,y:n.data.y,payload:{currentUrl:e,target:n.data.target}})};return window.addEventListener(`message`,i),()=>window.removeEventListener(`message`,i)},[e,t,n,a]),(0,A.useCallback)(()=>{if(!e||!n||!a)return;let i=g.read(a);!i||!Ce(i.payload)||i.payload.currentUrl!==e||t.current?.contentWindow?.postMessage({type:r.restoreScrollMessageType,version:r.version,target:i.payload.target,x:i.x,y:i.y},`*`)},[e,t,n,a])}function J({appId:e,restorationScope:t,unavailableAction:n}){let r=F(),i=V(e),a=(0,A.useRef)(null),o=(0,A.useMemo)(()=>i.data,[i.data]),s=Se(o),c=q({currentUrl:o?.contentPath??null,iframeRef:a,isEnabled:!!o,restorationKey:o?`panel-app:${t}:${o.appId}`:null});return(0,A.useEffect)(()=>{let e=e=>{r.panelAppBridgeManager.handleIframeMessage({event:e,iframe:a.current})};return window.addEventListener(`message`,e),()=>window.removeEventListener(`message`,e)},[r]),i.isLoading?(0,j.jsx)(Y,{message:h(`panelAppsLoading`)}):i.isError?(0,j.jsx)(Y,{message:i.error instanceof Error?i.error.message:h(`panelAppsLoadFailed`),actionLabel:h(`panelAppsTryAgain`),onAction:()=>void i.refetch()}):o?s.state===`checking`||s.state===`idle`?(0,j.jsx)(Y,{message:h(`panelAppsCheckingPermission`)}):s.state===`denied`||s.state===`error`?(0,j.jsx)(Y,{message:s.state===`denied`?h(`panelAppsPermissionDenied`):h(`panelAppsPermissionFailed`),actionLabel:h(`panelAppsTryAgain`),onAction:()=>void s.retryClientGrant()}):(0,j.jsx)(`div`,{className:`h-full min-h-0 bg-background`,children:(0,j.jsx)(`iframe`,{ref:a,src:o.contentPath,title:o.title,sandbox:W,className:`block h-full w-full border-0 bg-background`,onLoad:c,onPointerOver:e=>G(e.currentTarget)},o.appId)}):(0,j.jsx)(Y,{message:h(`panelAppsMainUnavailable`),actionLabel:n?.label,onAction:n?.onAction})}function Y({actionLabel:e,message:t,onAction:n}){return(0,j.jsx)(`div`,{className:`flex h-full min-h-0 items-center justify-center bg-background px-6 text-center`,children:(0,j.jsxs)(`div`,{className:`max-w-sm`,children:[(0,j.jsx)(`div`,{className:`mx-auto flex h-10 w-10 items-center justify-center rounded-lg bg-muted text-muted-foreground`,children:n?(0,j.jsx)(p,{className:`h-5 w-5`}):(0,j.jsx)(E,{className:`h-5 w-5`})}),(0,j.jsx)(`p`,{className:`mt-3 text-sm leading-6 text-muted-foreground`,children:t}),e&&n?(0,j.jsx)(`button`,{type:`button`,className:`mt-4 rounded-md border border-border px-3 py-1.5 text-xs font-medium text-foreground transition-colors hover:bg-[var(--interaction-hover)] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-border`,onClick:n,children:e}):null]})})}var X=(0,A.createContext)(null);function Te({children:e}){let[t,n]=(0,A.useState)(()=>ee());(0,A.useEffect)(()=>m(e=>{n(e)}),[]);let r=(0,A.useCallback)(e=>{te(e),n(ne())},[]),i=(0,A.useCallback)(()=>{r(t===`en`?`zh`:`en`)},[t,r]),a=(0,A.useMemo)(()=>({language:t,setLanguage:r,toggleLanguage:i}),[t,r,i]);return(0,j.jsx)(X.Provider,{value:a,children:e})}function Ee(){let e=(0,A.useContext)(X);if(!e)throw Error(`useI18n must be used within I18nProvider`);return{...e,t:h}}function De({appId:e}){let t=V(e),n=(0,A.useMemo)(()=>t.data,[t.data]);return(0,A.useEffect)(()=>{let e=document.title;return document.title=`${n?.title??h(`panelAppsTitle`)} · NextClaw`,()=>{document.title=e}},[n?.title]),(0,j.jsx)(`main`,{className:`h-dvh min-h-0 w-full overflow-hidden bg-background`,children:(0,j.jsx)(J,{appId:e,restorationScope:`standalone`})})}function Oe(){let e=O(e=>e.pending),t=O(e=>e.resolveAuthorization);return(0,j.jsx)(ce,{open:!!e,onOpenChange:e=>{e||t(!1)},children:(0,j.jsxs)(ae,{children:[(0,j.jsxs)(re,{showClose:!1,children:[(0,j.jsxs)(oe,{className:`flex items-center gap-2`,children:[(0,j.jsx)(D,{className:`h-4 w-4 text-amber-600`}),h(`serviceActionAuthorizationTitle`)]}),(0,j.jsx)(se,{children:h(`serviceActionAuthorizationDescription`)})]}),e?(0,j.jsxs)(`div`,{className:`space-y-3 rounded-md border border-border bg-muted/60 p-3 text-sm`,children:[(0,j.jsx)(Q,{label:h(`serviceActionAuthorizationSource`),value:e.panelAppId}),(0,j.jsxs)(`div`,{className:`space-y-2`,children:[(0,j.jsx)(`div`,{className:`text-xs font-medium text-muted-foreground`,children:h(`serviceActionAuthorizationActions`)}),(0,j.jsx)(`div`,{className:`max-h-64 space-y-2 overflow-auto`,children:e.actions.map(e=>(0,j.jsx)(Z,{action:e},e.actionId))})]}),e.inputPreview?(0,j.jsx)(Q,{label:h(`serviceActionAuthorizationInput`),value:e.inputPreview}):null]}):null,(0,j.jsxs)(ie,{className:`gap-2 sm:gap-0`,children:[(0,j.jsx)(o,{type:`button`,variant:`outline`,onClick:()=>t(!1),children:h(`serviceActionAuthorizationReject`)}),(0,j.jsx)(o,{type:`button`,onClick:()=>t(!0),children:h(`serviceActionAuthorizationAllow`)})]})]})})}function Z({action:e}){return(0,j.jsxs)(`div`,{className:`space-y-1 rounded border border-border bg-card px-3 py-2`,children:[(0,j.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,j.jsx)(`div`,{className:`min-w-0 break-words text-xs font-medium text-foreground`,children:e.actionTitle??e.actionId}),(0,j.jsx)(`div`,{className:`shrink-0 rounded bg-amber-50 px-1.5 py-0.5 text-[11px] font-medium text-amber-700`,children:e.risk??`dangerous`})]}),(0,j.jsx)(`div`,{className:`break-words text-[11px] text-muted-foreground`,children:e.actionId}),e.actionDescription?(0,j.jsx)(`div`,{className:`break-words text-xs text-muted-foreground`,children:e.actionDescription}):null]})}function Q({label:e,value:t}){return(0,j.jsxs)(`div`,{className:`grid grid-cols-[5rem_minmax(0,1fr)] gap-3`,children:[(0,j.jsx)(`div`,{className:`text-xs font-medium text-muted-foreground`,children:e}),(0,j.jsx)(`div`,{className:`min-w-0 break-words text-xs text-foreground`,children:t})]})}var $=(0,A.createContext)(null);function ke({children:e}){let[t,n]=(0,A.useState)(()=>T());(0,A.useEffect)(()=>pe(e=>{n(e)}),[]);let r=(0,A.useCallback)(e=>{fe(e),n(de())},[]),i=(0,A.useMemo)(()=>({theme:t,setTheme:r}),[t,r]);return(0,j.jsx)($.Provider,{value:i,children:e})}function Ae(){let e=(0,A.useContext)($);if(!e)throw Error(`useTheme must be used within ThemeProvider`);return e}export{C,b as E,ue as S,S as T,P as _,Te as a,E as b,q as c,U as d,xe as f,ye as g,be as h,De as i,W as l,ve as m,Ae as n,Ee as o,H as p,Oe as r,J as s,ke as t,G as u,k as v,T as w,v as x,D as y};
@@ -1 +0,0 @@
1
- import"./chunk-KEIR6QF5-0TA8nwgf.js";import{n as e}from"./chunk-CQNSW5MT-DWAU4QaD.js";export{e as createTreeViewServices};
@@ -1 +0,0 @@
1
- import"./chunk-KEIR6QF5-0TA8nwgf.js";import{n as e}from"./chunk-R7FJI6CG-CpYh6rGo.js";export{e as createTreemapServices};
@@ -1 +0,0 @@
1
- import{At as e,Ct as t,Dt as n,Et as r,Jn as i,Ot as a,St as o,Tt as s,Xn as c,Yn as l,_t as u,at as d,dt as f,gt as p,ht as m,kt as h,lt as g,mt as _,ot as v,rt as y,sr as b,st as x,ut as S,vt as C,wt as w,yt as T}from"./api-CG22BskB.js";import{s as E}from"./i18n-B0V5NkFj.js";function D(){return c({queryKey:[`config`],queryFn:g,staleTime:3e4,refetchOnWindowFocus:!0})}function O(){return c({queryKey:[`config-meta`],queryFn:S,staleTime:1/0})}function k(){return c({queryKey:[`product-analytics-status`],queryFn:_,staleTime:15e3,refetchOnWindowFocus:!0})}function A(){return c({queryKey:[`providers`],queryFn:u,staleTime:3e4,refetchOnWindowFocus:!0})}function j(){return c({queryKey:[`provider-templates`],queryFn:p,staleTime:1/0})}function M(e={}){return c({queryKey:[`provider-model-catalog`],queryFn:m,staleTime:3e4,refetchInterval:t=>e.pollWhileRefreshing&&t.state.data?.refreshing?1e3:!1,refetchOnMount:e.refreshOnMount?`always`:!0,refetchOnWindowFocus:!0})}function N(){return c({queryKey:[`config-schema`],queryFn:f,staleTime:1/0})}function P(){let e=b();return l({mutationFn:s,onSuccess:()=>{e.invalidateQueries({queryKey:[`config`]}),i.success(E(`configSaved`))},onError:e=>{i.error(E(`configSaveFailed`)+`: `+e.message)}})}function F(){let e=b();return l({mutationFn:({data:e})=>r(e),onSuccess:t=>{e.setQueryData([`config`],e=>e&&{...e,productAnalytics:t}),e.invalidateQueries({queryKey:[`product-analytics-status`]}),i.success(E(`configSavedApplied`))},onError:e=>{i.error(`${E(`configSaveFailed`)}: ${e.message}`)}})}function I(){let e=b();return l({mutationFn:({data:e})=>h(e),onSuccess:()=>{e.invalidateQueries({queryKey:[`config`]}),e.invalidateQueries({queryKey:[`config-meta`]}),i.success(E(`configSavedApplied`))},onError:e=>{i.error(E(`configSaveFailed`)+`: `+e.message)}})}function L(){let e=b();return l({mutationFn:({provider:e,data:t})=>n(e,t),onSuccess:(t,n)=>{e.setQueryData([`providers`],e=>e&&{providers:{...e.providers,[n.provider]:t}}),e.invalidateQueries({queryKey:[`providers`]}),e.invalidateQueries({queryKey:[`config`]}),n.silentSuccess||i.success(E(`configSaved`))},onError:e=>{i.error(E(`configSaveFailed`)+`: `+e.message)}})}function R(){let e=b();return l({mutationFn:({data:e})=>y(e??{}),onSuccess:()=>{e.invalidateQueries({queryKey:[`providers`]}),e.invalidateQueries({queryKey:[`config`]}),i.success(E(`configSaved`))},onError:e=>{i.error(E(`configSaveFailed`)+`: `+e.message)}})}function z(){let e=b();return l({mutationFn:({provider:e})=>d(e),onSuccess:()=>{e.invalidateQueries({queryKey:[`providers`]}),e.invalidateQueries({queryKey:[`config`]}),i.success(E(`configSaved`))},onError:e=>{i.error(E(`configSaveFailed`)+`: `+e.message)}})}function B(){return l({mutationFn:({provider:e,data:n})=>t(e,n)})}function V(){return l({mutationFn:({provider:e,data:t})=>v(e,t)})}function H(){return l({mutationFn:({provider:e,data:t})=>o(e,t)})}function U(){return l({mutationFn:({provider:e,data:t})=>T(e,t)})}function W(){return l({mutationFn:({provider:e})=>C(e)})}function G(){let e=b();return l({mutationFn:({channel:e,data:t})=>w(e,t),onSuccess:()=>{e.invalidateQueries({queryKey:[`config`]}),e.invalidateQueries({queryKey:[`config-meta`]}),i.success(E(`configSavedApplying`))},onError:e=>{i.error(E(`configSaveFailed`)+`: `+e.message)}})}function K(){let e=b();return l({mutationFn:({data:e})=>a(e),onSuccess:()=>{e.invalidateQueries({queryKey:[`config`]}),i.success(E(`configSavedApplied`))},onError:e=>{i.error(E(`configSaveFailed`)+`: `+e.message)}})}function q(){let t=b();return l({mutationFn:({data:t})=>e(t),onSuccess:()=>{t.invalidateQueries({queryKey:[`config`]}),i.success(E(`configSavedApplied`))},onError:e=>{i.error(E(`configSaveFailed`)+`: `+e.message)}})}function J(){return l({mutationFn:({actionId:e,data:t})=>x(e,t),onError:e=>{i.error(E(`error`)+`: `+e.message)}})}export{q as S,P as _,z as a,K as b,W as c,M as d,j as f,G as g,B as h,R as i,U as l,H as m,O as n,V as o,A as p,N as r,J as s,D as t,k as u,F as v,I as x,L as y};
@@ -1 +0,0 @@
1
- import"./chunk-KEIR6QF5-0TA8nwgf.js";import{n as e}from"./chunk-5FCAYU7R-DDwTPcy8.js";export{e as createWardleyServices};