@xopcai/xopc 0.0.368 → 0.0.370

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 (516) hide show
  1. package/README.md +59 -174
  2. package/README.zh-CN.md +59 -174
  3. package/dist/.pnpm/@noble_hashes@1.8.0/node_modules/@noble/hashes/esm/_md.js +131 -0
  4. package/dist/.pnpm/@noble_hashes@1.8.0/node_modules/@noble/hashes/esm/_u64.js +30 -0
  5. package/dist/.pnpm/@noble_hashes@1.8.0/node_modules/@noble/hashes/esm/sha2.js +252 -0
  6. package/dist/.pnpm/@noble_hashes@1.8.0/node_modules/@noble/hashes/esm/sha256.js +16 -0
  7. package/dist/.pnpm/@noble_hashes@1.8.0/node_modules/@noble/hashes/esm/utils.js +66 -0
  8. package/dist/browser-ext/_locales/en/messages.json +30 -1
  9. package/dist/browser-ext/_locales/zh_CN/messages.json +30 -1
  10. package/dist/browser-ext/dist/assets/{auth-beGtbLPS.js → page-context-BeworyNB.js} +1331 -1355
  11. package/dist/browser-ext/dist/assets/{sidepanel-BT0ojEzG.css → sidepanel-Ccl0eSa1.css} +43 -0
  12. package/dist/browser-ext/dist/background.js +680 -182
  13. package/dist/browser-ext/dist/sidepanel.html +2 -2
  14. package/dist/browser-ext/dist/sidepanel.js +393 -194
  15. package/dist/browser-ext/manifest.json +2 -8
  16. package/dist/extensions/telegram/xopc.extension.json +1 -1
  17. package/dist/gateway/static/root/assets/{activity-store-D9ZMh5ZR.js → activity-store-BQ3PMp2q.js} +1 -1
  18. package/dist/gateway/static/root/assets/{agent-avatar-dicebear-Bj3rvcTm.js → agent-avatar-dicebear-C61i1QbX.js} +1 -1
  19. package/dist/gateway/static/root/assets/agent-defaults-settings-panel-0fCR1DHx.js +1 -0
  20. package/dist/gateway/static/root/assets/agent-plugin-dialog-Di99mUTT.js +1 -0
  21. package/dist/gateway/static/root/assets/agents-BRZZmYH_.js +66 -0
  22. package/dist/gateway/static/root/assets/{agents-admin-api-B5QDepbW.js → agents-admin-api-HBZvVyzF.js} +1 -1
  23. package/dist/gateway/static/root/assets/{app-management-settings-panel-2rTEtB_X.js → app-management-settings-panel-noqqxkds.js} +1 -1
  24. package/dist/gateway/static/root/assets/{appearance-settings-BPVBS80k.js → appearance-settings-DG8QN0gR.js} +1 -1
  25. package/dist/gateway/static/root/assets/{apps-page-1FuKlZYP.js → apps-page-CgiyzFYo.js} +1 -1
  26. package/dist/gateway/static/root/assets/{archive-plugin-BbT1O7oK.js → archive-plugin-BO3I9zRP.js} +1 -1
  27. package/dist/gateway/static/root/assets/{automations-page-DjwP_h8h.js → automations-page-CgAcRFDS.js} +1 -1
  28. package/dist/gateway/static/root/assets/automations-workspace-BIkxIpab.js +6 -0
  29. package/dist/gateway/static/root/assets/{binary-plugins-gS7Wg68v.js → binary-plugins-gFD7vH9R.js} +1 -1
  30. package/dist/gateway/static/root/assets/{block-editor-DbwMaivP.js → block-editor-B1VE-jAe.js} +2 -2
  31. package/dist/gateway/static/root/assets/browser-automation-inputs-DxRoKFun.js +1 -0
  32. package/dist/gateway/static/root/assets/browser-automations-page-CIjyMS6f.js +3 -0
  33. package/dist/gateway/static/root/assets/browser-settings-page-BMAivBfp.js +3 -0
  34. package/dist/gateway/static/root/assets/{capabilities-Lswa0hv8.js → capabilities-CY4SiHcP.js} +1 -1
  35. package/dist/gateway/static/root/assets/{capabilities-Dd1PZRQw.js → capabilities-gjQtMhKu.js} +1 -1
  36. package/dist/gateway/static/root/assets/capabilities-page-DRdcfo68.js +2 -0
  37. package/dist/gateway/static/root/assets/{capabilities-settings-panel-DTHR1DrJ.js → capabilities-settings-panel-ZuL6pWjM.js} +4 -4
  38. package/dist/gateway/static/root/assets/{capability-header-actions-494dnJsj.js → capability-header-actions-D0GC1FEv.js} +1 -1
  39. package/dist/gateway/static/root/assets/channels-CgE22Pzd.js +1 -0
  40. package/dist/gateway/static/root/assets/{chat-terminal-dock-Bl7-Zk-x.js → chat-terminal-dock-CEjh1utz.js} +2 -2
  41. package/dist/gateway/static/root/assets/{computer-settings-page-ByExKr_6.js → computer-settings-page-vFHJAmQr.js} +1 -1
  42. package/dist/gateway/static/root/assets/{connector-service-page-BK_5aFxO.js → connector-service-page-DTrwZ4kV.js} +1 -1
  43. package/dist/gateway/static/root/assets/connectors-page-DRcMiTWu.js +1 -0
  44. package/dist/gateway/static/root/assets/copy-text-row-C1gaJwlZ.js +1 -0
  45. package/dist/gateway/static/root/assets/{date-picker-BXJv6472.js → date-picker-NfGIPSYY.js} +1 -1
  46. package/dist/gateway/static/root/assets/dependency-picker-CqguveUi.js +1 -0
  47. package/dist/gateway/static/root/assets/{desktop-pet-DWNEC3mk.js → desktop-pet-CTx1zkJm.js} +1 -1
  48. package/dist/gateway/static/root/assets/{desktop-pet-settings-BYwlxGiN.js → desktop-pet-settings-BRDS3EGc.js} +1 -1
  49. package/dist/gateway/static/root/assets/{device-pairing-wizard-BAc4F35b.js → device-pairing-wizard-Du4Ciuyw.js} +1 -1
  50. package/dist/gateway/static/root/assets/{directory-picker-path-field-D26tSY8Z.js → directory-picker-path-field-CjstlxFl.js} +1 -1
  51. package/dist/gateway/static/root/assets/{extension-debug-page-xYIGNegB.js → extension-debug-page-BfAtjhoK.js} +1 -1
  52. package/dist/gateway/static/root/assets/{extension-page-BoQ1-3AW.js → extension-page-BJmudejr.js} +1 -1
  53. package/dist/gateway/static/root/assets/{extension-provider-Cw_JU6RR.js → extension-provider-Br6LXyIj.js} +1 -1
  54. package/dist/gateway/static/root/assets/{extension-settings-page-BH5TFGPe.js → extension-settings-page-UvmHniyz.js} +1 -1
  55. package/dist/gateway/static/root/assets/{fallback-models-04Wqmw14.js → fallback-models-euw9MGdt.js} +1 -1
  56. package/dist/gateway/static/root/assets/{gateway-config-swr-CNf0ZeRw.js → gateway-config-swr-7RKqgU_U.js} +1 -1
  57. package/dist/gateway/static/root/assets/gateway-realtime-F6D4A7N5.js +1 -0
  58. package/dist/gateway/static/root/assets/gateway-realtime-store-BheKaO6d.js +1 -0
  59. package/dist/gateway/static/root/assets/{gateway-settings-BqvCJVUC.js → gateway-settings-C7roPHh1.js} +1 -1
  60. package/dist/gateway/static/root/assets/{gateway-startup-retry-DIxHacUw.js → gateway-startup-retry-jiV5sbEX.js} +1 -1
  61. package/dist/gateway/static/root/assets/home-page-BGNCTtM3.js +2 -0
  62. package/dist/gateway/static/root/assets/{image-generation-api-CS0q0Kto.js → image-generation-api-DO4mXb6I.js} +1 -1
  63. package/dist/gateway/static/root/assets/{imports-page-n_rSLo6b.js → imports-page-DxCoT0VV.js} +1 -1
  64. package/dist/gateway/static/root/assets/index-BGBkIIzM.css +1 -0
  65. package/dist/gateway/static/root/assets/index-FCEE325-.js +106 -0
  66. package/dist/gateway/static/root/assets/{keyboard-shortcuts-settings-tVkrHbYF.js → keyboard-shortcuts-settings-CnLln9Ds.js} +1 -1
  67. package/dist/gateway/static/root/assets/{local-app-workbench-page-L8tYuas0.js → local-app-workbench-page-yXRkSrEj.js} +1 -1
  68. package/dist/gateway/static/root/assets/{local-apps-page-SSJ9B1bH.js → local-apps-page-D46buzTk.js} +1 -1
  69. package/dist/gateway/static/root/assets/local-session-drafts-pox8evDV.js +1 -0
  70. package/dist/gateway/static/root/assets/{locale-store-D6_rF-qT.js → locale-store-COVscAqC.js} +1 -1
  71. package/dist/gateway/static/root/assets/logs-page-DmcCHnH0.js +2 -0
  72. package/dist/gateway/static/root/assets/management-settings-khN1ThNL.js +1 -0
  73. package/dist/gateway/static/root/assets/{markdown-view-_xwUuKce.js → markdown-view-B_qnAcW2.js} +1 -1
  74. package/dist/gateway/static/root/assets/{media-plugins-C631CDu4.js → media-plugins-C0Pc-wSY.js} +1 -1
  75. package/dist/gateway/static/root/assets/messages-Bb2GK-Nj.js +3 -0
  76. package/dist/gateway/static/root/assets/models-hub-cache-DyPPksMP.js +1 -0
  77. package/dist/gateway/static/root/assets/note-detail-panel-C_t58yha.js +5 -0
  78. package/dist/gateway/static/root/assets/{notes-api-vIZWQ9Yt.js → notes-api-sBgBcyLW.js} +1 -1
  79. package/dist/gateway/static/root/assets/notes-page-BJ0QS6xx.js +8 -0
  80. package/dist/gateway/static/root/assets/{page-context-capture-button-BlPDM7GM.js → page-context-capture-button-DfRODHv1.js} +1 -1
  81. package/dist/gateway/static/root/assets/personal-page-CiiXwwQE.js +1 -0
  82. package/dist/gateway/static/root/assets/{product-open-page-BJjWvoER.js → product-open-page-_Bp6HRmm.js} +1 -1
  83. package/dist/gateway/static/root/assets/{product-preview-content-CEd4E7Gf.js → product-preview-content-BUdiO0Ct.js} +1 -1
  84. package/dist/gateway/static/root/assets/project-detail-page-Clb-fXYk.js +1 -0
  85. package/dist/gateway/static/root/assets/{projects-page-lszV8HuS.js → projects-page-D9JEEqhh.js} +1 -1
  86. package/dist/gateway/static/root/assets/{registry-api-uJnjqTcn.js → registry-api-Bh9UBb-f.js} +1 -1
  87. package/dist/gateway/static/root/assets/remote-access-hub-CmyTq3_l.js +1 -0
  88. package/dist/gateway/static/root/assets/{runtime-tools-settings-panel-CjnNQYW8.js → runtime-tools-settings-panel-B1_inj8L.js} +1 -1
  89. package/dist/gateway/static/root/assets/{scenes-page-B3T3dDOR.js → scenes-page-CUNAZN2_.js} +2 -2
  90. package/dist/gateway/static/root/assets/{schema-form-DT3c4Vd_.js → schema-form-CfT-9UVw.js} +1 -1
  91. package/dist/gateway/static/root/assets/{send-session-input-CICkGwn-.js → send-session-input-BW40VHiL.js} +1 -1
  92. package/dist/gateway/static/root/assets/{session-api-BcQodoAu.js → session-api-yjpEz4pP.js} +1 -1
  93. package/dist/gateway/static/root/assets/session-manager-BqlvrjPE.js +16 -0
  94. package/dist/gateway/static/root/assets/sessions-page-CXZKScvu.js +1 -0
  95. package/dist/gateway/static/root/assets/settings-advanced-gate-B2vKXmzg.js +1 -0
  96. package/dist/gateway/static/root/assets/{settings-page-D-PZjcss.js → settings-page-1h3vyueg.js} +1 -1
  97. package/dist/gateway/static/root/assets/setup-status-panel-Cqc7UlZy.js +1 -0
  98. package/dist/gateway/static/root/assets/{share-link-dialog-CWS8EkJS.js → share-link-dialog-HCHM8qnf.js} +1 -1
  99. package/dist/gateway/static/root/assets/{share-preview-page-23NJAKiq.js → share-preview-page-Ce6FNWt1.js} +1 -1
  100. package/dist/gateway/static/root/assets/{shares-api-iKhHbvBD.js → shares-api-c0dfWz6h.js} +1 -1
  101. package/dist/gateway/static/root/assets/shares-settings-Dh5jisCK.js +1 -0
  102. package/dist/gateway/static/root/assets/{skill-api-C-MWdQwl.js → skill-api-deDZeQS8.js} +1 -1
  103. package/dist/gateway/static/root/assets/{skill-reload-api-iy02aB13.js → skill-reload-api-Ge5XymHa.js} +1 -1
  104. package/dist/gateway/static/root/assets/skills-page-DZozl9U_.js +2 -0
  105. package/dist/gateway/static/root/assets/system-settings-panel-CtzyMxqq.js +1 -0
  106. package/dist/gateway/static/root/assets/{task-detail-page-B2SIEyhZ.js → task-detail-page-5f_V0h-p.js} +2 -2
  107. package/dist/gateway/static/root/assets/{task-expandable-content-D2LRR4BC.js → task-expandable-content-hYcgCEE3.js} +1 -1
  108. package/dist/gateway/static/root/assets/{theme-store-BJfhz-Zq.js → theme-store-BOfCKgl6.js} +1 -1
  109. package/dist/gateway/static/root/assets/{tracing-settings-page-aHD56iaS.js → tracing-settings-page-DDWFXcST.js} +1 -1
  110. package/dist/gateway/static/root/assets/{tunnel-api-BCf8CfTC.js → tunnel-api-vMtlbJ-m.js} +1 -1
  111. package/dist/gateway/static/root/assets/{usage-page-B4XUkuJd.js → usage-page-B1-BCW8U.js} +1 -1
  112. package/dist/gateway/static/root/assets/{use-autosave-BnnTw9RE.js → use-autosave-CSckcjFx.js} +1 -1
  113. package/dist/gateway/static/root/assets/{use-composer-attachments-Itczg0y1.js → use-composer-attachments-DJya1hIL.js} +1 -1
  114. package/dist/gateway/static/root/assets/use-file-preview-expanded-C5ONO7sF.js +2 -0
  115. package/dist/gateway/static/root/assets/user-model-page-D4BSq9HJ.js +2 -0
  116. package/dist/gateway/static/root/assets/{voice-api-key-field-BphJku8x.js → voice-api-key-field-GEw5x2fU.js} +1 -1
  117. package/dist/gateway/static/root/assets/{voice-config-api-B4u4coFj.js → voice-config-api-3yyVwXln.js} +1 -1
  118. package/dist/gateway/static/root/assets/{work-discovery-overlay-jgOEP1xw.js → work-discovery-overlay-CjiNYJV5.js} +1 -1
  119. package/dist/gateway/static/root/assets/{workflow-run-setup-panel-N69crzRu.js → workflow-run-setup-panel-DJOetXvm.js} +2 -2
  120. package/dist/gateway/static/root/assets/workflows-page-CcAPFh2R.js +6 -0
  121. package/dist/gateway/static/root/assets/{workspace-api-Lzv6GDO8.js → workspace-api-WhbMvdBE.js} +2 -2
  122. package/dist/gateway/static/root/index.html +32 -34
  123. package/dist/package.js +1 -1
  124. package/dist/packages/browser-control-contract/src/automation.js +213 -0
  125. package/dist/packages/browser-control-contract/src/index.js +43 -12
  126. package/dist/packages/endpoint-tools-client/src/index.js +189 -0
  127. package/dist/packages/endpoint-tools-protocol/src/bridge.js +105 -0
  128. package/dist/packages/endpoint-tools-protocol/src/index.js +93 -2
  129. package/dist/packages/endpoint-tools-protocol/src/location.js +109 -0
  130. package/dist/packages/gateway-contract/src/gateway-scopes.js +3 -1
  131. package/dist/packages/gateway-contract/src/notifications.js +1 -0
  132. package/dist/packages/gateway-contract/src/session-input-command.js +30 -5
  133. package/dist/packages/realtime-protocol/src/voice.js +9 -3
  134. package/dist/src/agent/agent-manager.js +22 -26
  135. package/dist/src/agent/coding/repository-instructions.js +8 -1
  136. package/dist/src/agent/embedded/codemode-extension.d.ts +7 -0
  137. package/dist/src/agent/embedded/codemode-extension.js +232 -0
  138. package/dist/src/agent/embedded/codemode-output.d.ts +2 -0
  139. package/dist/src/agent/embedded/codemode-output.js +34 -0
  140. package/dist/src/agent/embedded/external-tool-discovery.d.ts +6 -0
  141. package/dist/src/agent/embedded/external-tool-discovery.js +60 -0
  142. package/dist/src/agent/embedded/model-runtime.js +5 -2
  143. package/dist/src/agent/embedded/run-for-session.js +10 -1
  144. package/dist/src/agent/embedded/run-turn.js +10 -3
  145. package/dist/src/agent/embedded/session-runner.d.ts +9 -1
  146. package/dist/src/agent/embedded/session-runner.js +111 -23
  147. package/dist/src/agent/embedded/session-tool-result-guard.d.ts +2 -0
  148. package/dist/src/agent/embedded/session-tool-result-guard.js +17 -0
  149. package/dist/src/agent/embedded/subscribe-session.js +14 -4
  150. package/dist/src/agent/embedded/tool-metadata.d.ts +15 -0
  151. package/dist/src/agent/embedded/tool-metadata.js +38 -0
  152. package/dist/src/agent/embedded/tool-search-extension.d.ts +5 -0
  153. package/dist/src/agent/embedded/tool-search-extension.js +31 -0
  154. package/dist/src/agent/embedded/types.d.ts +7 -0
  155. package/dist/src/agent/embedded/xopc-tools-bridge.js +6 -0
  156. package/dist/src/agent/external-tools/endpoint-provider.d.ts +1 -1
  157. package/dist/src/agent/external-tools/endpoint-provider.js +148 -56
  158. package/dist/src/agent/external-tools/extension-provider.js +8 -1
  159. package/dist/src/agent/external-tools/gateway-tools.d.ts +1 -1
  160. package/dist/src/agent/external-tools/gateway-tools.js +45 -22
  161. package/dist/src/agent/external-tools/index.js +46 -14
  162. package/dist/src/agent/external-tools/memory-provider.js +8 -1
  163. package/dist/src/agent/external-tools/read-policy.js +2 -1
  164. package/dist/src/agent/external-tools/service.d.ts +2 -0
  165. package/dist/src/agent/external-tools/service.js +25 -3
  166. package/dist/src/agent/external-tools/tool-registry.d.ts +14 -0
  167. package/dist/src/agent/external-tools/tool-registry.js +14 -0
  168. package/dist/src/agent/external-tools/types.d.ts +8 -1
  169. package/dist/src/agent/external-tools/types.js +0 -1
  170. package/dist/src/agent/mcp/config.d.ts +18 -0
  171. package/dist/src/agent/mcp/{bundle-mcp-config.js → config.js} +8 -25
  172. package/dist/src/agent/mcp/native-mcp.d.ts +6 -0
  173. package/dist/src/agent/mcp/native-mcp.js +73 -0
  174. package/dist/src/agent/service.js +2 -5
  175. package/dist/src/agent/skills/installer.js +1 -1
  176. package/dist/src/agent/skills/skill-manager.js +1 -1
  177. package/dist/src/agent/skills/skill-sources.js +1 -1
  178. package/dist/src/agent/source-context/index.d.ts +0 -1
  179. package/dist/src/agent/source-context/index.js +1 -2
  180. package/dist/src/agent/source-context/injector.js +1 -0
  181. package/dist/src/agent/source-context/types.d.ts +2 -2
  182. package/dist/src/agent/source-context/types.js +1 -1
  183. package/dist/src/agent/tool-manuals/browser.d.ts +1 -1
  184. package/dist/src/agent/tool-manuals/browser.js +3 -3
  185. package/dist/src/agent/tools/browser/tool/browser-use-tool.js +1 -1
  186. package/dist/src/agent/tools/browser/tool/schemas.d.ts +0 -13
  187. package/dist/src/agent/tools/browser/tool/schemas.js +0 -4
  188. package/dist/src/agent/tools/browser-automation-tool.d.ts +74 -1
  189. package/dist/src/agent/tools/browser-automation-tool.js +52 -6
  190. package/dist/src/agent/tools/cli-clarify.js +1 -1
  191. package/dist/src/agent/tools/codemode-permissions.d.ts +4 -0
  192. package/dist/src/agent/tools/codemode-permissions.js +23 -0
  193. package/dist/src/agent/tools/dataBatch.js +3 -1
  194. package/dist/src/agent/tools/delegation-parent-policy.js +1 -4
  195. package/dist/src/agent/tools/factory.js +4 -3
  196. package/dist/src/agent/transcript/provider-capabilities.js +0 -1
  197. package/dist/src/agent/transcript/transcript-policy.js +1 -2
  198. package/dist/src/agent-config/schema.d.ts +28 -0
  199. package/dist/src/agent-config/schema.js +7 -0
  200. package/dist/src/auth/credentials.js +7 -20
  201. package/dist/src/auth/model-credential-store.js +11 -4
  202. package/dist/src/auth/oauth/index.d.ts +1 -1
  203. package/dist/src/auth/oauth/index.js +3 -3
  204. package/dist/src/auth/oauth/openai.d.ts +2 -0
  205. package/dist/src/auth/oauth/openai.js +90 -0
  206. package/dist/src/auth/oauth/registry.js +3 -3
  207. package/dist/src/auth/oauth/types.d.ts +1 -0
  208. package/dist/src/auth/oauth/xopc-cloud.js +1 -1
  209. package/dist/src/auth/sync-provider-auth.js +5 -0
  210. package/dist/src/automations/capabilities/write.d.ts +2 -0
  211. package/dist/src/automations/domain/types.d.ts +11 -0
  212. package/dist/src/automations/domain/validation.d.ts +4 -0
  213. package/dist/src/automations/domain/validation.js +1 -0
  214. package/dist/src/automations/draft/automation-draft-validator.d.ts +1 -0
  215. package/dist/src/automations/service/action-executor.js +11 -3
  216. package/dist/src/automations/service/automation-service.d.ts +1 -0
  217. package/dist/src/automations/service/automation-service.js +13 -1
  218. package/dist/src/bootstrap/application-state.js +1 -1
  219. package/dist/src/browser/automations/repository.d.ts +4 -0
  220. package/dist/src/browser/automations/repository.js +27 -6
  221. package/dist/src/browser/automations/runner.js +101 -9
  222. package/dist/src/browser/automations/runtime-service.js +4 -3
  223. package/dist/src/browser/automations/schema.d.ts +84 -1
  224. package/dist/src/browser/automations/schema.js +68 -2
  225. package/dist/src/browser/automations/service.d.ts +78 -1
  226. package/dist/src/browser/automations/service.js +36 -4
  227. package/dist/src/browser/automations/types.d.ts +19 -4
  228. package/dist/src/browser/drivers/extension-driver.d.ts +5 -5
  229. package/dist/src/browser/drivers/extension-driver.js +10 -10
  230. package/dist/src/browser/drivers/playwright-driver.js +46 -0
  231. package/dist/src/browser/index.d.ts +1 -2
  232. package/dist/src/browser/index.js +2 -3
  233. package/dist/src/browser/policy/browser-policy.d.ts +0 -1
  234. package/dist/src/browser/policy/browser-policy.js +1 -4
  235. package/dist/src/browser/providers/index.d.ts +1 -1
  236. package/dist/src/browser/providers/index.js +2 -2
  237. package/dist/src/browser/providers/realtime-extension.d.ts +1 -1
  238. package/dist/src/browser/providers/realtime-extension.js +5 -1
  239. package/dist/src/browser/recordings/service.d.ts +22 -0
  240. package/dist/src/browser/recordings/service.js +160 -0
  241. package/dist/src/browser/runtime/browser-runtime.d.ts +1 -1
  242. package/dist/src/browser/runtime/browser-runtime.js +19 -56
  243. package/dist/src/chat-commands/builtins/model.js +2 -2
  244. package/dist/src/cli/command-manifest.js +1 -1
  245. package/dist/src/cli/commands/doctor/checks/database-schema.js +1 -1
  246. package/dist/src/cli/commands/extension-agent-plugin.js +0 -19
  247. package/dist/src/cli/commands/mcp.js +36 -2
  248. package/dist/src/cli/commands/models.js +1 -1
  249. package/dist/src/cli/utils/oauth-login.js +2 -2
  250. package/dist/src/computer/runtime.js +2 -2
  251. package/dist/src/config/index.js +3 -3
  252. package/dist/src/config/mcp-config-normalize.d.ts +0 -3
  253. package/dist/src/config/mcp-config-normalize.js +2 -22
  254. package/dist/src/config/models-json.d.ts +0 -5
  255. package/dist/src/config/models-json.js +13 -4
  256. package/dist/src/config/paths.d.ts +0 -1
  257. package/dist/src/config/paths.js +1 -4
  258. package/dist/src/config/schema.d.ts +142 -48
  259. package/dist/src/config/schema.js +64 -47
  260. package/dist/src/connectors/auth-provider-registry.d.ts +1 -1
  261. package/dist/src/connectors/auth-provider-registry.js +1 -21
  262. package/dist/src/connectors/china-catalog.js +5 -5
  263. package/dist/src/connectors/connection-recovery-service.d.ts +1 -6
  264. package/dist/src/connectors/connection-recovery-service.js +3 -105
  265. package/dist/src/connectors/health.d.ts +1 -2
  266. package/dist/src/connectors/health.js +2 -101
  267. package/dist/src/connectors/types.d.ts +1 -1
  268. package/dist/src/endpoint-tools/binding-service.d.ts +2 -0
  269. package/dist/src/endpoint-tools/binding-service.js +14 -2
  270. package/dist/src/endpoint-tools/bridge-host.d.ts +15 -0
  271. package/dist/src/endpoint-tools/bridge-host.js +166 -0
  272. package/dist/src/endpoint-tools/bridge.d.ts +27 -0
  273. package/dist/src/endpoint-tools/bridge.js +88 -0
  274. package/dist/src/endpoint-tools/capability-catalog.d.ts +2 -0
  275. package/dist/src/endpoint-tools/capability-catalog.js +8 -0
  276. package/dist/src/endpoint-tools/grant-service.d.ts +69 -0
  277. package/dist/src/endpoint-tools/grant-service.js +113 -0
  278. package/dist/src/endpoint-tools/index.js +1 -1
  279. package/dist/src/endpoint-tools/invocation-service.js +6 -2
  280. package/dist/src/endpoint-tools/location-task.d.ts +22 -0
  281. package/dist/src/endpoint-tools/location-task.js +114 -0
  282. package/dist/src/endpoint-tools/policy.js +20 -4
  283. package/dist/src/endpoint-tools/registry.d.ts +2 -0
  284. package/dist/src/endpoint-tools/registry.js +9 -0
  285. package/dist/src/endpoint-tools/result-projector.d.ts +15 -0
  286. package/dist/src/endpoint-tools/result-projector.js +31 -0
  287. package/dist/src/endpoint-tools/runtime.d.ts +2 -0
  288. package/dist/src/endpoint-tools/runtime.js +15 -2
  289. package/dist/src/endpoint-tools/target-resolver.d.ts +12 -0
  290. package/dist/src/endpoint-tools/target-resolver.js +27 -0
  291. package/dist/src/endpoint-tools/turn-context.d.ts +6 -0
  292. package/dist/src/endpoint-tools/turn-context.js +29 -0
  293. package/dist/src/extensions/agent-plugins/auth.d.ts +0 -2
  294. package/dist/src/extensions/agent-plugins/auth.js +2 -19
  295. package/dist/src/extensions/agent-plugins/credentials.js +3 -19
  296. package/dist/src/extensions/agent-plugins/inventory.d.ts +2 -2
  297. package/dist/src/extensions/agent-plugins/mcp-adapter.js +1 -5
  298. package/dist/src/extensions/agent-plugins/source-http-fetch.d.ts +2 -0
  299. package/dist/src/{agent/mcp/plugin-http-fetch.js → extensions/agent-plugins/source-http-fetch.js} +7 -7
  300. package/dist/src/extensions/agent-plugins/sources.js +2 -2
  301. package/dist/src/extensions/agent-plugins/store.js +1 -3
  302. package/dist/src/extensions/agent-plugins/validation.d.ts +0 -4
  303. package/dist/src/extensions/agent-plugins/validation.js +13 -20
  304. package/dist/src/gateway/agents-admin.d.ts +5 -0
  305. package/dist/src/gateway/agents-admin.js +56 -1
  306. package/dist/src/gateway/chat-stream/mapper.js +9 -0
  307. package/dist/src/gateway/chat-stream/protocol.d.ts +4 -4
  308. package/dist/src/gateway/hono/lib/config-payload.d.ts +9 -4
  309. package/dist/src/gateway/hono/lib/config-payload.js +2 -5
  310. package/dist/src/gateway/hono/oauth-async.js +9 -2
  311. package/dist/src/gateway/hono/routes/agent-plugins.js +4 -9
  312. package/dist/src/gateway/hono/routes/agents.js +4 -3
  313. package/dist/src/gateway/hono/routes/browser-automations.js +23 -7
  314. package/dist/src/gateway/hono/routes/browser-recordings.d.ts +3 -0
  315. package/dist/src/gateway/hono/routes/browser-recordings.js +78 -0
  316. package/dist/src/gateway/hono/routes/browser.js +1 -34
  317. package/dist/src/gateway/hono/routes/connection-waits.js +2 -5
  318. package/dist/src/gateway/hono/routes/connectors.js +5 -60
  319. package/dist/src/gateway/hono/routes/device-authorizations.d.ts +3 -0
  320. package/dist/src/gateway/hono/routes/device-authorizations.js +74 -0
  321. package/dist/src/gateway/hono/routes/device-push.js +1 -0
  322. package/dist/src/gateway/hono/routes/endpoint-compatibility.js +7 -0
  323. package/dist/src/gateway/hono/routes/endpoint-tools.d.ts +1 -0
  324. package/dist/src/gateway/hono/routes/endpoint-tools.js +53 -3
  325. package/dist/src/gateway/hono/routes/home.js +1 -1
  326. package/dist/src/gateway/hono/routes/lazy-bundles.js +25 -1
  327. package/dist/src/gateway/hono/routes/mcp.d.ts +1 -1
  328. package/dist/src/gateway/hono/routes/mcp.js +11 -237
  329. package/dist/src/gateway/hono/routes/personal-agent.js +35 -0
  330. package/dist/src/gateway/hono/routes/session-command-handler.js +11 -1
  331. package/dist/src/gateway/hono/routes/session-input-handler.d.ts +8 -2
  332. package/dist/src/gateway/hono/routes/session-input-handler.js +25 -1
  333. package/dist/src/gateway/hono/routes/voice.js +5 -2
  334. package/dist/src/gateway/security/gateway-scopes.js +3 -1
  335. package/dist/src/gateway/service/agent-runner.js +1 -0
  336. package/dist/src/gateway/service/config-coordinator.js +2 -5
  337. package/dist/src/gateway/service/marketplace-service.js +2 -2
  338. package/dist/src/gateway/service/run-gateway-agent.js +13 -5
  339. package/dist/src/gateway/service/session-input-coordinator.d.ts +1 -1
  340. package/dist/src/gateway/service/session-input-coordinator.js +29 -9
  341. package/dist/src/gateway/service/sessions-api.js +0 -6
  342. package/dist/src/gateway/service.js +3 -12
  343. package/dist/src/gateway/session-reset-service.js +0 -6
  344. package/dist/src/home-intelligence/generator.d.ts +2 -0
  345. package/dist/src/home-intelligence/generator.js +53 -4
  346. package/dist/src/home-intelligence/host.d.ts +2 -1
  347. package/dist/src/home-intelligence/host.js +23 -3
  348. package/dist/src/imports/compatibility.js +12 -10
  349. package/dist/src/mcp/channel-bridge.js +1 -1
  350. package/dist/src/migrations/cloud-public-models.js +1 -0
  351. package/dist/src/notifications/clarification.d.ts +5 -0
  352. package/dist/src/notifications/clarification.js +66 -0
  353. package/dist/src/notifications/device-store.js +1 -0
  354. package/dist/src/notifications/harmony-push.d.ts +1 -0
  355. package/dist/src/notifications/harmony-push.js +3 -1
  356. package/dist/src/notifications/planner.d.ts +1 -0
  357. package/dist/src/notifications/service.d.ts +2 -2
  358. package/dist/src/notifications/service.js +20 -4
  359. package/dist/src/notifications/store.d.ts +2 -0
  360. package/dist/src/notifications/store.js +7 -1
  361. package/dist/src/notifications/types.d.ts +1 -0
  362. package/dist/src/notifications/types.js +1 -0
  363. package/dist/src/providers/env-keys.js +1 -1
  364. package/dist/src/providers/index.js +26 -24
  365. package/dist/src/providers/model-call.d.ts +0 -2
  366. package/dist/src/providers/model-call.js +2 -6
  367. package/dist/src/providers/model-registry.js +4 -2
  368. package/dist/src/providers/model-supplements.d.ts +3 -3
  369. package/dist/src/providers/model-supplements.js +6 -27
  370. package/dist/src/providers/presentation.js +3 -8
  371. package/dist/src/providers/prompt-cache-plan.js +1 -1
  372. package/dist/src/providers/provider-auth-service.d.ts +1 -1
  373. package/dist/src/providers/provider-auth-service.js +7 -2
  374. package/dist/src/providers/provider-policy.d.ts +3 -0
  375. package/dist/src/providers/provider-policy.js +14 -0
  376. package/dist/src/providers/register-runtime-providers.js +6 -1
  377. package/dist/src/realtime/runtime.js +1 -1
  378. package/dist/src/session/store.js +7 -1
  379. package/dist/src/session/transcript-events.d.ts +5 -0
  380. package/dist/src/session/transcript-events.js +1 -0
  381. package/dist/src/session/types.d.ts +2 -0
  382. package/dist/src/storage/sqlite/clarification-wait-repository.js +1 -0
  383. package/dist/src/storage/sqlite/device-grant-audit-repository.d.ts +11 -0
  384. package/dist/src/storage/sqlite/device-grant-audit-repository.js +10 -0
  385. package/dist/src/storage/sqlite/endpoint-device-settings-repository.d.ts +7 -0
  386. package/dist/src/storage/sqlite/endpoint-device-settings-repository.js +17 -0
  387. package/dist/src/storage/sqlite/migrations/238_browser_record_replay.sql +45 -0
  388. package/dist/src/storage/sqlite/migrations/239_clarification_notifications.sql +26 -0
  389. package/dist/src/storage/sqlite/migrations/240_device_settings.sql +5 -0
  390. package/dist/src/storage/sqlite/migrations/241_device_grant_audit.sql +13 -0
  391. package/dist/src/storage/sqlite/migrations/runner.d.ts +1 -1
  392. package/dist/src/storage/sqlite/migrations/runner.js +3 -3
  393. package/dist/src/storage/sqlite/schema.js +1 -1
  394. package/dist/src/storage/sqlite/session-input-repository.d.ts +1 -0
  395. package/dist/src/storage/sqlite/session-input-repository.js +5 -1
  396. package/dist/src/tasks/home-query-service.d.ts +1 -1
  397. package/dist/src/tasks/home-query-service.js +6 -2
  398. package/dist/src/tui/backends/gateway-realtime-backend.js +1 -1
  399. package/dist/src/tui/xopc-tui-keybindings.d.ts +4 -4
  400. package/dist/src/voice/dashscope/streaming-tts-stream.d.ts +2 -1
  401. package/dist/src/voice/dashscope/streaming-tts-stream.js +135 -79
  402. package/dist/src/voice/realtime/agentEngine.js +78 -1
  403. package/dist/src/voice/realtime/speakable-segmenter.d.ts +2 -0
  404. package/dist/src/voice/realtime/speakable-segmenter.js +30 -0
  405. package/dist/src/voice/tts/providers/alibaba-speech.js +17 -1
  406. package/dist/src/voice/tts/speak-core.d.ts +3 -0
  407. package/dist/src/voice/tts/speak-core.js +21 -1
  408. package/dist/src/voice/tts/speech-provider-types.d.ts +8 -0
  409. package/package.json +18 -7
  410. package/dist/gateway/static/root/assets/agent-defaults-settings-panel-D0tD3kCe.js +0 -1
  411. package/dist/gateway/static/root/assets/agent-plugin-dialog-BjdgKCnk.js +0 -1
  412. package/dist/gateway/static/root/assets/agents-CWXKzX5L.js +0 -66
  413. package/dist/gateway/static/root/assets/automations-workspace-C9ZT6TAU.js +0 -6
  414. package/dist/gateway/static/root/assets/browser-automation-inputs-CXG_JveC.js +0 -1
  415. package/dist/gateway/static/root/assets/browser-automations-page-CJc7OKR3.js +0 -3
  416. package/dist/gateway/static/root/assets/browser-settings-page-BjaTEUR8.js +0 -3
  417. package/dist/gateway/static/root/assets/capabilities-page-djBsC_tG.js +0 -2
  418. package/dist/gateway/static/root/assets/channels-BaYRJtz3.js +0 -1
  419. package/dist/gateway/static/root/assets/connectors-page-DyqRwSH2.js +0 -2
  420. package/dist/gateway/static/root/assets/copy-text-row-BHDs3cBa.js +0 -1
  421. package/dist/gateway/static/root/assets/dependency-picker-CWbbhKZa.js +0 -1
  422. package/dist/gateway/static/root/assets/dist-Che_jiQF.js +0 -1
  423. package/dist/gateway/static/root/assets/gateway-realtime-C4KtwMY3.js +0 -1
  424. package/dist/gateway/static/root/assets/gateway-realtime-store-ChZUzVbe.js +0 -1
  425. package/dist/gateway/static/root/assets/home-page-DhPPLbdD.js +0 -2
  426. package/dist/gateway/static/root/assets/index-CK4O2xMa.css +0 -1
  427. package/dist/gateway/static/root/assets/index-DpLD-7Hc.js +0 -106
  428. package/dist/gateway/static/root/assets/link-2-D_ZKYUW7.js +0 -1
  429. package/dist/gateway/static/root/assets/local-session-drafts-B_McurIj.js +0 -1
  430. package/dist/gateway/static/root/assets/logs-page-BWD63eg1.js +0 -2
  431. package/dist/gateway/static/root/assets/management-settings-aKSibklM.js +0 -1
  432. package/dist/gateway/static/root/assets/messages-Bnx3GMDB.js +0 -3
  433. package/dist/gateway/static/root/assets/models-hub-cache-Di83uIPw.js +0 -1
  434. package/dist/gateway/static/root/assets/note-detail-panel-B_fve3_2.js +0 -5
  435. package/dist/gateway/static/root/assets/notes-page-DnChyp8S.js +0 -8
  436. package/dist/gateway/static/root/assets/personal-page-BM2qAgg_.js +0 -1
  437. package/dist/gateway/static/root/assets/project-detail-page-DM4_VLNX.js +0 -1
  438. package/dist/gateway/static/root/assets/remote-access-hub-O6j9CWX0.js +0 -1
  439. package/dist/gateway/static/root/assets/session-manager-B0tOE4qz.js +0 -16
  440. package/dist/gateway/static/root/assets/sessions-page-BIixHXlQ.js +0 -1
  441. package/dist/gateway/static/root/assets/settings-advanced-gate-49SUEWPh.js +0 -1
  442. package/dist/gateway/static/root/assets/setup-status-panel-Ce3gTbT3.js +0 -1
  443. package/dist/gateway/static/root/assets/shares-settings-CNEZjF66.js +0 -1
  444. package/dist/gateway/static/root/assets/skills-page-BndNdYsJ.js +0 -2
  445. package/dist/gateway/static/root/assets/system-settings-panel-EpZeMlvp.js +0 -1
  446. package/dist/gateway/static/root/assets/use-file-preview-expanded-DJ5vyrvM.js +0 -2
  447. package/dist/gateway/static/root/assets/user-model-page-Bz5lkFG9.js +0 -2
  448. package/dist/gateway/static/root/assets/workflows-page-CPCgOfHh.js +0 -6
  449. package/dist/src/agent/embedded/system-prompt-override.d.ts +0 -2
  450. package/dist/src/agent/embedded/system-prompt-override.js +0 -21
  451. package/dist/src/agent/external-tools/mcp-provider.d.ts +0 -32
  452. package/dist/src/agent/external-tools/mcp-provider.js +0 -208
  453. package/dist/src/agent/mcp/bundle-mcp-config.d.ts +0 -20
  454. package/dist/src/agent/mcp/bundle-mcp-gateway.d.ts +0 -79
  455. package/dist/src/agent/mcp/bundle-mcp-gateway.js +0 -93
  456. package/dist/src/agent/mcp/bundle-mcp-names.d.ts +0 -1
  457. package/dist/src/agent/mcp/bundle-mcp-names.js +0 -25
  458. package/dist/src/agent/mcp/bundle-mcp-policy.d.ts +0 -1
  459. package/dist/src/agent/mcp/bundle-mcp-policy.js +0 -6
  460. package/dist/src/agent/mcp/bundle-mcp-runtime.d.ts +0 -46
  461. package/dist/src/agent/mcp/bundle-mcp-runtime.js +0 -571
  462. package/dist/src/agent/mcp/bundle-mcp-tools.d.ts +0 -2
  463. package/dist/src/agent/mcp/bundle-mcp-tools.js +0 -2
  464. package/dist/src/agent/mcp/bundle-mcp-types.d.ts +0 -76
  465. package/dist/src/agent/mcp/bundle-mcp-types.js +0 -1
  466. package/dist/src/agent/mcp/embedded-mcp.d.ts +0 -10
  467. package/dist/src/agent/mcp/embedded-mcp.js +0 -14
  468. package/dist/src/agent/mcp/index.d.ts +0 -5
  469. package/dist/src/agent/mcp/index.js +0 -12
  470. package/dist/src/agent/mcp/mcp-config-shared.d.ts +0 -8
  471. package/dist/src/agent/mcp/mcp-config-shared.js +0 -39
  472. package/dist/src/agent/mcp/mcp-http.d.ts +0 -23
  473. package/dist/src/agent/mcp/mcp-http.js +0 -67
  474. package/dist/src/agent/mcp/mcp-resource-id.d.ts +0 -6
  475. package/dist/src/agent/mcp/mcp-resource-id.js +0 -19
  476. package/dist/src/agent/mcp/mcp-stdio-transport.d.ts +0 -26
  477. package/dist/src/agent/mcp/mcp-stdio-transport.js +0 -120
  478. package/dist/src/agent/mcp/mcp-stdio.d.ts +0 -18
  479. package/dist/src/agent/mcp/mcp-stdio.js +0 -35
  480. package/dist/src/agent/mcp/mcp-transport-config.d.ts +0 -28
  481. package/dist/src/agent/mcp/mcp-transport-config.js +0 -91
  482. package/dist/src/agent/mcp/mcp-transport.d.ts +0 -17
  483. package/dist/src/agent/mcp/mcp-transport.js +0 -141
  484. package/dist/src/agent/mcp/oauth/index.d.ts +0 -6
  485. package/dist/src/agent/mcp/oauth/index.js +0 -6
  486. package/dist/src/agent/mcp/oauth/mcp-oauth-errors.d.ts +0 -5
  487. package/dist/src/agent/mcp/oauth/mcp-oauth-errors.js +0 -14
  488. package/dist/src/agent/mcp/oauth/mcp-oauth-manager.d.ts +0 -30
  489. package/dist/src/agent/mcp/oauth/mcp-oauth-manager.js +0 -276
  490. package/dist/src/agent/mcp/oauth/mcp-oauth-provider.d.ts +0 -33
  491. package/dist/src/agent/mcp/oauth/mcp-oauth-provider.js +0 -103
  492. package/dist/src/agent/mcp/oauth/mcp-oauth-session.d.ts +0 -31
  493. package/dist/src/agent/mcp/oauth/mcp-oauth-session.js +0 -181
  494. package/dist/src/agent/mcp/oauth/mcp-oauth-store.d.ts +0 -12
  495. package/dist/src/agent/mcp/oauth/mcp-oauth-store.js +0 -91
  496. package/dist/src/agent/mcp/oauth/mcp-oauth-types.d.ts +0 -22
  497. package/dist/src/agent/mcp/oauth/mcp-oauth-types.js +0 -1
  498. package/dist/src/agent/mcp/plugin-http-fetch.d.ts +0 -2
  499. package/dist/src/agent/source-context/mcp-resource-context.d.ts +0 -8
  500. package/dist/src/agent/source-context/mcp-resource-context.js +0 -30
  501. package/dist/src/auth/oauth/openai-codex.d.ts +0 -9
  502. package/dist/src/auth/oauth/openai-codex.js +0 -414
  503. package/dist/src/browser/policy/approval-store.d.ts +0 -17
  504. package/dist/src/browser/policy/approval-store.js +0 -62
  505. package/dist/src/browser/providers/extension-ws-acquire.d.ts +0 -19
  506. package/dist/src/browser/providers/extension-ws-acquire.js +0 -78
  507. package/dist/src/browser/providers/extension.d.ts +0 -61
  508. package/dist/src/browser/providers/extension.js +0 -378
  509. package/dist/src/connectors/plugin-mcp-recovery.d.ts +0 -28
  510. package/dist/src/connectors/plugin-mcp-recovery.js +0 -90
  511. package/dist/src/extensions/agent-plugins/connection.d.ts +0 -8
  512. package/dist/src/extensions/agent-plugins/connection.js +0 -41
  513. package/dist/src/extensions/agent-plugins/health.d.ts +0 -4
  514. package/dist/src/extensions/agent-plugins/health.js +0 -48
  515. package/dist/src/extensions/agent-plugins/plugin-oauth-scope.d.ts +0 -1
  516. package/dist/src/extensions/agent-plugins/plugin-oauth-scope.js +0 -8
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/jszip.min-DT31yWkU.js","assets/rolldown-runtime-aKtaBQYM.js"])))=>i.map(i=>d[i]);
2
- import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,n,t as r}from"./vendor-react-BOUWij0V.js";import{t as i}from"./preload-helper-zJ_50EbN.js";import{f as a,g as o,t as s,u as c}from"./chunk-KS7C4IRE-BMYIfy9x.js";import{t as l}from"./popover-select-BgSdSbCL.js";import{t as u}from"./circle-alert-BEjgurr2.js";import{t as d}from"./circle-check-C23XjkUj.js";import{t as f}from"./download-Dk-ZjtO6.js";import{t as p}from"./ellipsis-0k4rZLoy.js";import{t as m}from"./external-link-DjqjBmc3.js";import{t as h}from"./markdown-view-_xwUuKce.js";import{t as g}from"./loader-circle-CifKLtgG.js";import{t as _}from"./plus-Q2yW6OE7.js";import{t as v}from"./sparkles-DHlfQFAF.js";import{t as y}from"./x-B_N4OPjy.js";import{t as b}from"./messages-Bnx3GMDB.js";import{t as x}from"./cn-JdwAhgNB.js";import{c as S,n as C}from"./locale-store-D6_rF-qT.js";import{a as w,n as T,o as E,r as D,s as O,t as k}from"./dist-BGTk37IG.js";import{t as A}from"./vendor-swr-BIWyz7Rc.js";import{t as j}from"./button-CS04eWY9.js";import{n as M}from"./interaction-BdhHBbYa.js";import{i as N}from"./gateway-config-swr-CNf0ZeRw.js";import{t as P}from"./use-async-resource-GrnWNwMZ.js";import{n as F}from"./index.module-Cd9ENXfk.js";import{$r as I,Eo as L,Fn as R,In as z,Ln as B,Pn as V,Qr as H,Uo as U,Zr as W,ea as G,go as ee,ho as K,ic as te,js as q,pi as ne,zn as J}from"./index-DpLD-7Hc.js";import{n as Y,t as X}from"./capability-header-actions-494dnJsj.js";import{t as re}from"./page-tabs-D2xpUV26.js";import{t as ie}from"./skill-reload-api-iy02aB13.js";import{_ as ae,a as oe,c as se,d as ce,f as le,g as ue,h as de,i as fe,l as pe,m as me,n as he,o as ge,p as _e,r as ve,s as ye,t as be,u as xe}from"./skill-api-C-MWdQwl.js";import{t as Se}from"./capability-icon-BYm2-nS-.js";var Z=e(t(),1),Ce=n(),Q=r();function we(e){let t=(0,Ce.c)(15),{sk:n,findingSkills:r,onFindSkills:i,secondary:a,compactOnMobile:o}=e,s=a===void 0?!1:a,c=o===void 0?!1:o,l=r?g:v,u=s?`secondary`:`primary`,d;t[0]===i?d=t[1]:(d=()=>void i(),t[0]=i,t[1]=d);let f=r?`size-4 animate-spin`:`size-4`,p;t[2]!==l||t[3]!==f?(p=(0,Q.jsx)(l,{className:f,"aria-hidden":!0}),t[2]=l,t[3]=f,t[4]=p):p=t[4];let m=c?`hidden sm:inline`:void 0,h;t[5]!==n.findCta||t[6]!==m?(h=(0,Q.jsx)(`span`,{className:m,children:n.findCta}),t[5]=n.findCta,t[6]=m,t[7]=h):h=t[7];let _;return t[8]!==r||t[9]!==n.findHint||t[10]!==u||t[11]!==d||t[12]!==p||t[13]!==h?(_=(0,Q.jsxs)(j,{variant:u,className:`shrink-0`,title:n.findHint,disabled:r,"aria-busy":r,onClick:d,children:[p,h]}),t[8]=r,t[9]=n.findHint,t[10]=u,t[11]=d,t[12]=p,t[13]=h,t[14]=_):_=t[14],_}var Te=(0,Z.memo)(function(e){let t=(0,Ce.c)(30),{loading:n,onReloadClick:r,sk:i,setPendingFile:a,setInstallOpen:o}=e,c=C(Ee),l;t[0]===c?l=t[1]:(l=b(c),t[0]=c,t[1]=l);let u=l,d;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(d=x(`touch-target flex cursor-pointer items-center gap-2 rounded-lg px-3 py-2 text-sm text-fg outline-none data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50 data-[highlighted]:bg-surface-hover`,M.transition),t[2]=d):d=t[2];let m=d,h;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,Q.jsx)(p,{className:`size-4`,"aria-hidden":!0}),t[3]=h):h=t[3];let v;t[4]===u.capabilitiesHub.moreActions?v=t[5]:(v=(0,Q.jsx)(J,{asChild:!0,children:(0,Q.jsx)(j,{type:`button`,variant:`secondary`,className:`size-9 shrink-0 p-0`,"aria-label":u.capabilitiesHub.moreActions,title:u.capabilitiesHub.moreActions,children:h})}),t[4]=u.capabilitiesHub.moreActions,t[5]=v);let y;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,Q.jsx)(f,{className:`size-4 text-fg-muted`,"aria-hidden":!0}),t[6]=y):y=t[6];let S;t[7]===u.imports.title?S=t[8]:(S=(0,Q.jsx)(R,{asChild:!0,children:(0,Q.jsxs)(s,{to:`/settings/imports`,className:m,children:[y,u.imports.title]})}),t[7]=u.imports.title,t[8]=S);let w;t[9]===n?w=t[10]:(w=n?(0,Q.jsx)(g,{className:`size-4 animate-spin text-fg-muted`,"aria-hidden":!0}):(0,Q.jsx)(U,{className:`size-4 text-fg-muted`,"aria-hidden":!0}),t[9]=n,t[10]=w);let T;t[11]!==n||t[12]!==r||t[13]!==i.reloadRuntime||t[14]!==w?(T=(0,Q.jsxs)(R,{className:m,disabled:n,onSelect:r,children:[w,i.reloadRuntime]}),t[11]=n,t[12]=r,t[13]=i.reloadRuntime,t[14]=w,t[15]=T):T=t[15];let E;t[16]!==o||t[17]!==a?(E=()=>{a(null),o(!0)},t[16]=o,t[17]=a,t[18]=E):E=t[18];let D;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,Q.jsx)(_,{className:`size-4 text-fg-muted`,"aria-hidden":!0}),t[19]=D):D=t[19];let O;t[20]!==i.installCta||t[21]!==E?(O=(0,Q.jsxs)(R,{className:m,onSelect:E,children:[D,i.installCta]}),t[20]=i.installCta,t[21]=E,t[22]=O):O=t[22];let k;t[23]!==O||t[24]!==S||t[25]!==T?(k=(0,Q.jsx)(z,{children:(0,Q.jsxs)(V,{align:`end`,sideOffset:6,className:`z-50 min-w-52 rounded-xl border border-edge bg-surface-overlay p-1 shadow-popover`,children:[S,T,O]})}),t[23]=O,t[24]=S,t[25]=T,t[26]=k):k=t[26];let A;return t[27]!==k||t[28]!==v?(A=(0,Q.jsxs)(B,{children:[v,k]}),t[27]=k,t[28]=v,t[29]=A):A=t[29],A});function Ee(e){return e.language}var De=`animate-pulse motion-reduce:animate-none rounded-md bg-surface-hover dark:bg-surface-active/50`;function Oe(){let e=(0,Ce.c)(5),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,Q.jsx)(`div`,{className:x(`h-4 min-w-0 flex-1`,De)}),e[0]=t):t=e[0];let n,r,i;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,Q.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[t,(0,Q.jsxs)(`div`,{className:`flex shrink-0 gap-1`,children:[(0,Q.jsx)(`div`,{className:x(`size-8 shrink-0 rounded-lg`,De)}),(0,Q.jsx)(`div`,{className:x(`h-8 w-[4.5rem] shrink-0 rounded-lg`,De)})]})]}),r=(0,Q.jsx)(`div`,{className:x(`h-3 w-full`,De)}),i=(0,Q.jsx)(`div`,{className:x(`h-3 w-[92%]`,De)}),e[1]=n,e[2]=r,e[3]=i):(n=e[1],r=e[2],i=e[3]);let a;return e[4]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,Q.jsx)(`div`,{className:`flex h-full min-h-[10.5rem] flex-col rounded-xl bg-surface-panel p-4 shadow-surface`,"aria-hidden":!0,children:(0,Q.jsx)(`div`,{className:`flex min-h-0 flex-1 items-start gap-3`,children:(0,Q.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-2`,children:[n,r,i,(0,Q.jsxs)(`div`,{className:`mt-auto space-y-1 pt-0.5`,children:[(0,Q.jsx)(`div`,{className:x(`h-3 w-full`,De)}),(0,Q.jsx)(`div`,{className:x(`h-2.5 w-4/5`,De)})]})]})})}),e[4]=a):a=e[4],a}function ke(){let e=(0,Ce.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,Q.jsx)(Oe,{}),e[0]=t):t=e[0],t}var Ae=new Set([`installed`,`marketplace`]),je=new Set([`all`,`builtin`,`installed`,`global`,`workspace`,`plugin`,`extra`]),Me=new Set([`all`,`enabled`,`disabled`]),Ne=`mprov`,Pe=[`s0`,`s1`,`s2`,`s3`,`s4`,`s5`],Fe=[`business`,`creative`,`documents`,`engineering`,`tools`];function Ie(e){let t=(0,Ce.c)(42),{sk:n,loading:r,catalog:i,filteredCatalog:a,builtinCategories:o,builtinCategoryFilter:s,setBuiltinCategoryFilter:c,catalogDisplayRows:l,skillPresentation:f,catalogStatusFilter:p,resolveSkillEnabled:m,categoryLabel:h,sourceLabel:g,openSkillDetail:_,onSkillToggle:v,onUseSkillInChat:y,usingSkillInChatName:b,togglingSkillName:S}=e;if(r){let e=n.loading,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=Pe.map(Le),t[0]=r):r=t[0];let i;return t[1]===n.loading?i=t[2]:(i=(0,Q.jsx)(`div`,{className:`grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3`,"aria-busy":`true`,"aria-label":e,children:r}),t[1]=n.loading,t[2]=i),i}if(i.length===0){let r;t[3]===n.empty?r=t[4]:(r=(0,Q.jsx)(`p`,{className:`mb-3`,children:n.empty}),t[3]=n.empty,t[4]=r);let i;t[5]!==e.findingSkills||t[6]!==e.onFindSkills||t[7]!==n?(i=(0,Q.jsx)(we,{sk:n,findingSkills:e.findingSkills,onFindSkills:e.onFindSkills,secondary:!0}),t[5]=e.findingSkills,t[6]=e.onFindSkills,t[7]=n,t[8]=i):i=t[8];let a;return t[9]!==r||t[10]!==i?(a=(0,Q.jsxs)(`div`,{className:`py-16 text-center text-sm text-fg-muted`,children:[r,i]}),t[9]=r,t[10]=i,t[11]=a):a=t[11],a}if(a.length===0){let r;t[12]===n.noSearchResults?r=t[13]:(r=(0,Q.jsx)(`p`,{className:`mb-3`,children:n.noSearchResults}),t[12]=n.noSearchResults,t[13]=r);let i;t[14]!==e.findingSkills||t[15]!==e.onFindSkills||t[16]!==n?(i=(0,Q.jsx)(we,{sk:n,findingSkills:e.findingSkills,onFindSkills:e.onFindSkills,secondary:!0}),t[14]=e.findingSkills,t[15]=e.onFindSkills,t[16]=n,t[17]=i):i=t[17];let a;return t[18]!==r||t[19]!==i?(a=(0,Q.jsxs)(`div`,{className:`py-16 text-center text-sm text-fg-muted`,children:[r,i]}),t[18]=r,t[19]=i,t[20]=a):a=t[20],a}let C;t[21]!==o||t[22]!==s||t[23]!==h||t[24]!==c||t[25]!==n?(C=o.length>1?(0,Q.jsx)(re,{items:[{id:``,label:n.marketplaceCategoryAll},...o.map(e=>({id:e,label:h(e),title:h(e)}))],activeTab:s,onChange:c,ariaLabel:n.marketplaceCategoriesAria,tabIdPrefix:`skills-builtin-category-tab`,className:`gap-2 pt-0.5 [scrollbar-width:none] [&::-webkit-scrollbar]:hidden`,buttonClassName:`max-w-[14rem] truncate rounded-full border px-3 py-1.5 text-xs`,selectedClassName:`border-fg bg-fg text-surface-panel dark:border-fg dark:bg-fg dark:text-surface-base`,unselectedClassName:`border-edge bg-surface-panel text-fg-muted hover:border-edge-strong hover:text-fg dark:border-edge dark:bg-surface-hover/40`}):null,t[21]=o,t[22]=s,t[23]=h,t[24]=c,t[25]=n,t[26]=C):C=t[26];let w;t[27]!==l||t[28]!==p||t[29]!==v||t[30]!==y||t[31]!==_||t[32]!==m||t[33]!==n||t[34]!==f||t[35]!==g||t[36]!==S||t[37]!==b?(w=l.length===0?(0,Q.jsx)(`div`,{className:`py-16 text-center text-sm text-fg-muted`,children:p===`disabled`?n.noDisabledSkills:n.noSearchResults}):(0,Q.jsx)(`div`,{className:`grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3`,children:l.map(e=>{let t=m(e),r=f(e);return(0,Q.jsxs)(`article`,{className:x(`group flex h-full flex-col rounded-xl bg-surface-panel p-4 shadow-surface transition-colors`,t?`hover:bg-surface-hover`:`bg-amber-50/30 hover:bg-amber-50/50 dark:bg-amber-950/20`),children:[(0,Q.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,Q.jsx)(`button`,{type:`button`,className:x(`min-w-0 flex-1 cursor-pointer rounded-lg text-left outline-none`,M.focusRingPanel),"aria-labelledby":`catalog-skill-title-${e.directoryId}`,onClick:()=>void _(e),children:(0,Q.jsx)(`h3`,{id:`catalog-skill-title-${e.directoryId}`,className:`truncate text-[15px] font-semibold leading-8 tracking-tight text-fg`,children:r.displayName})}),t?(0,Q.jsx)(j,{type:`button`,variant:`secondary`,className:`h-8 shrink-0 whitespace-nowrap px-2.5 text-xs font-medium`,disabled:b===e.name||S===e.name,onClick:()=>void y({name:e.name,source:`catalog`}),children:b===e.name?n.previewUseInChatBusy:n.previewUseInChat}):(0,Q.jsx)(j,{type:`button`,variant:`primary`,className:`h-8 shrink-0 whitespace-nowrap px-2.5 text-xs font-medium`,disabled:S===e.name,onClick:()=>void v(e.name,!0),children:S===e.name?n.uploading:n.detailModalEnable})]}),(0,Q.jsx)(`button`,{type:`button`,className:x(`mt-2 flex min-h-0 w-full flex-1 cursor-pointer flex-col rounded-lg text-left outline-none`,M.focusRingPanel),"aria-labelledby":`catalog-skill-title-${e.directoryId}`,onClick:()=>void _(e),children:(0,Q.jsx)(`div`,{className:`flex items-start gap-3`,children:(0,Q.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-2`,children:[(0,Q.jsx)(`p`,{className:`line-clamp-2 text-sm leading-relaxed text-fg-muted`,title:r.description||void 0,children:r.description||`—`}),(0,Q.jsxs)(`div`,{className:`flex flex-wrap gap-1.5 text-[11px] text-fg-subtle`,children:[(0,Q.jsx)(`span`,{className:`rounded-md bg-surface-hover/60 px-2 py-0.5 dark:bg-surface-active/50`,children:g(e)}),(0,Q.jsxs)(`span`,{className:x(`inline-flex shrink-0 items-center gap-1 rounded-full border px-2 py-0.5 font-medium`,t?`border-emerald-500/30 bg-emerald-500/10 text-emerald-700 dark:text-emerald-300`:`border-amber-500/30 bg-amber-500/10 text-amber-800 dark:text-amber-200`),children:[t?(0,Q.jsx)(d,{className:`size-3`,"aria-hidden":!0}):(0,Q.jsx)(u,{className:`size-3`,"aria-hidden":!0}),t?n.statusEnabled:n.statusDisabled]}),e.managed?(0,Q.jsxs)(`span`,{className:`rounded-md bg-surface-hover/60 px-2 py-0.5 dark:bg-surface-active/50`,children:[n.col.managed,`: `,n.yes]}):null,e.hub?(0,Q.jsxs)(`span`,{className:`max-w-full break-all rounded-md bg-surface-hover/60 px-2 py-0.5 font-mono text-[10px] leading-snug dark:bg-surface-active/50 line-clamp-2`,title:`${e.hub.source}${e.hub.ref?`\nref: ${e.hub.ref}`:``}\nupdated: ${e.hub.updatedAt}`,children:[n.hubRemote,` ·`,` `,e.hub.kind===`git`?n.hubKindGit:n.hubKindArchive,` ·`,` `,e.hub.source.length>48?`${e.hub.source.slice(0,48)}…`:e.hub.source]}):null]})]})})})]},`${e.directoryId}-${e.path}`)})}),t[27]=l,t[28]=p,t[29]=v,t[30]=y,t[31]=_,t[32]=m,t[33]=n,t[34]=f,t[35]=g,t[36]=S,t[37]=b,t[38]=w):w=t[38];let T;return t[39]!==C||t[40]!==w?(T=(0,Q.jsxs)(Q.Fragment,{children:[C,w]}),t[39]=C,t[40]=w,t[41]=T):T=t[41],T}function Le(e){return(0,Q.jsx)(ke,{},e)}function Re(e){let t=(0,Ce.c)(32),{sk:n,confirmOpen:r,setConfirmOpen:i,confirmId:a,setConfirmId:o,runDelete:s}=e,c;t[0]!==o||t[1]!==i?(c=e=>{i(e),e||o(null)},t[0]=o,t[1]=i,t[2]=c):c=t[2];let l;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,Q.jsx)(w,{className:`xopc-dialog-overlay fixed inset-0 z-[60] bg-scrim`}),t[3]=l):l=t[3];let u;t[4]===n.deleteTitle?u=t[5]:(u=(0,Q.jsx)(O,{className:`text-base font-semibold text-fg`,children:n.deleteTitle}),t[4]=n.deleteTitle,t[5]=u);let d;t[6]!==a||t[7]!==n.deleteMessage?(d=a?me(n.deleteMessage,{id:a}):``,t[6]=a,t[7]=n.deleteMessage,t[8]=d):d=t[8];let f;t[9]===d?f=t[10]:(f=(0,Q.jsx)(`p`,{className:`mt-2 text-sm text-fg-muted`,children:d}),t[9]=d,t[10]=f);let p;t[11]===i?p=t[12]:(p=()=>i(!1),t[11]=i,t[12]=p);let m;t[13]!==n.cancel||t[14]!==p?(m=(0,Q.jsx)(j,{type:`button`,variant:`secondary`,onClick:p,children:n.cancel}),t[13]=n.cancel,t[14]=p,t[15]=m):m=t[15];let h;t[16]===s?h=t[17]:(h=()=>void s(),t[16]=s,t[17]=h);let g;t[18]!==n.deleteConfirm||t[19]!==h?(g=(0,Q.jsx)(j,{type:`button`,variant:`primary`,className:`bg-red-600 hover:bg-red-700`,onClick:h,children:n.deleteConfirm}),t[18]=n.deleteConfirm,t[19]=h,t[20]=g):g=t[20];let _;t[21]!==m||t[22]!==g?(_=(0,Q.jsxs)(`div`,{className:`mt-4 flex justify-end gap-2`,children:[m,g]}),t[21]=m,t[22]=g,t[23]=_):_=t[23];let v;t[24]!==_||t[25]!==u||t[26]!==f?(v=(0,Q.jsxs)(E,{children:[l,(0,Q.jsxs)(D,{className:`xopc-dialog-content fixed left-1/2 top-1/2 z-[60] w-[min(100%-2rem,24rem)] -translate-x-1/2 -translate-y-1/2 rounded-xl border border-edge bg-surface-overlay p-4 shadow-popover dark:border-edge`,children:[u,f,_]})]}),t[24]=_,t[25]=u,t[26]=f,t[27]=v):v=t[27];let y;return t[28]!==r||t[29]!==c||t[30]!==v?(y=(0,Q.jsx)(k,{open:r,onOpenChange:c,children:v}),t[28]=r,t[29]=c,t[30]=v,t[31]=y):y=t[31],y}function ze(e){let t=(0,Ce.c)(7),{label:n,children:r}=e;if(r==null||r===!1)return null;let i;t[0]===n?i=t[1]:(i=(0,Q.jsx)(`div`,{className:`text-xs font-semibold uppercase tracking-wide text-fg-muted`,children:n}),t[0]=n,t[1]=i);let a;t[2]===r?a=t[3]:(a=(0,Q.jsx)(`div`,{className:`mt-1.5 min-w-0 text-sm text-fg`,children:r}),t[2]=r,t[3]=a);let o;return t[4]!==i||t[5]!==a?(o=(0,Q.jsxs)(`div`,{className:`mt-3 border-t border-edge-subtle pt-3 dark:border-edge/60`,children:[i,a]}),t[4]=i,t[5]=a,t[6]=o):o=t[6],o}function Be(e){let t=(0,Ce.c)(119),{preview:n,description:r,sk:i}=e,a=n.metadata,o=n.toolConditions,s=!!o&&(o.requiresTools.length>0||o.requiresToolsets.length>0||o.fallbackForTools.length>0||o.fallbackForToolsets.length>0),c=a.requires,l=c&&((c.bins?.length??0)>0||(c.env?.length??0)>0||(c.anyBins?.length??0)>0),u,d,f,p,m,g,_,v,y,b,S,C,w,T,E;if(t[0]!==r||t[1]!==o||t[2]!==l||t[3]!==s||t[4]!==a.emoji||t[5]!==a.homepage||t[6]!==a.install||t[7]!==a.os||t[8]!==n.description||t[9]!==n.disableModelInvocation||t[10]!==n.requiredEnvVarNames||t[11]!==c||t[12]!==i.detailEnvVarsLabel||t[13]!==i.detailHomepageLabel||t[14]!==i.detailInstallLabel||t[15]!==i.detailNotInjectedNote||t[16]!==i.detailPlatformsLabel||t[17]!==i.detailRequiresAnyBins||t[18]!==i.detailRequiresBins||t[19]!==i.detailRequiresEnv||t[20]!==i.detailRequiresLabel||t[21]!==i.detailSummaryHeading||t[22]!==i.detailToolGatingLabel||t[23]!==i.detailToolsFallbackList||t[24]!==i.detailToolsRequiresList||t[25]!==i.detailToolsetsFallbackList||t[26]!==i.detailToolsetsRequiresList){let e=a.install?.filter(Ue)??[],h=n.requiredEnvVarNames?.filter(He)??[];_=`space-y-6`,m=`skill-detail-summary-heading`,t[42]===i.detailSummaryHeading?g=t[43]:(g=(0,Q.jsx)(`h3`,{id:`skill-detail-summary-heading`,className:`mb-2 text-xs font-semibold uppercase tracking-wide text-fg-muted`,children:i.detailSummaryHeading}),t[42]=i.detailSummaryHeading,t[43]=g),y=`rounded-xl border border-edge bg-surface-base px-4 py-3 dark:bg-surface-hover/25`,t[44]===a.emoji?b=t[45]:(b=a.emoji?.trim()?(0,Q.jsx)(`p`,{className:`text-2xl leading-none`,"aria-hidden":!0,children:a.emoji.trim()}):null,t[44]=a.emoji,t[45]=b);let D;t[46]===a.emoji?D=t[47]:(D=a.emoji?.trim()?`mt-2`:``,t[46]=a.emoji,t[47]=D);let O;t[48]===D?O=t[49]:(O=x(`text-sm leading-relaxed text-fg`,D),t[48]=D,t[49]=O);let k=r??n.description;t[50]!==O||t[51]!==k?(S=(0,Q.jsx)(`p`,{className:O,children:k}),t[50]=O,t[51]=k,t[52]=S):S=t[52],t[53]!==n.disableModelInvocation||t[54]!==i.detailNotInjectedNote?(C=n.disableModelInvocation?(0,Q.jsx)(`p`,{className:`mt-3 rounded-lg border border-amber-200/80 bg-amber-50/90 px-3 py-2 text-xs leading-snug text-amber-950 dark:border-amber-900/50 dark:bg-amber-950/40 dark:text-amber-100`,children:i.detailNotInjectedNote}):null,t[53]=n.disableModelInvocation,t[54]=i.detailNotInjectedNote,t[55]=C):C=t[55];let A;t[56]===a.homepage?A=t[57]:(A=a.homepage?.trim()?(0,Q.jsx)(`a`,{href:a.homepage.trim(),target:`_blank`,rel:`noopener noreferrer`,className:`break-all text-accent underline-offset-2 hover:underline`,children:a.homepage.trim()}):null,t[56]=a.homepage,t[57]=A),t[58]!==i.detailHomepageLabel||t[59]!==A?(w=(0,Q.jsx)(ze,{label:i.detailHomepageLabel,children:A}),t[58]=i.detailHomepageLabel,t[59]=A,t[60]=w):w=t[60];let j;t[61]===a.os?j=t[62]:(j=a.os&&a.os.length>0?(0,Q.jsx)(`span`,{className:`font-mono text-xs text-fg-muted`,children:a.os.join(`, `)}):null,t[61]=a.os,t[62]=j),t[63]!==i.detailPlatformsLabel||t[64]!==j?(T=(0,Q.jsx)(ze,{label:i.detailPlatformsLabel,children:j}),t[63]=i.detailPlatformsLabel,t[64]=j,t[65]=T):T=t[65];let M;t[66]!==l||t[67]!==c||t[68]!==i.detailRequiresAnyBins||t[69]!==i.detailRequiresBins||t[70]!==i.detailRequiresEnv?(M=l&&c?(0,Q.jsxs)(`ul`,{className:`list-inside list-disc space-y-1 text-sm text-fg-muted`,children:[c.bins&&c.bins.length>0?(0,Q.jsxs)(`li`,{children:[(0,Q.jsxs)(`span`,{className:`text-fg`,children:[i.detailRequiresBins,`: `]}),c.bins.join(`, `)]}):null,c.env&&c.env.length>0?(0,Q.jsxs)(`li`,{children:[(0,Q.jsxs)(`span`,{className:`text-fg`,children:[i.detailRequiresEnv,`: `]}),(0,Q.jsx)(`span`,{className:`font-mono text-xs`,children:c.env.join(`, `)})]}):null,c.anyBins&&c.anyBins.length>0?(0,Q.jsxs)(`li`,{children:[(0,Q.jsxs)(`span`,{className:`text-fg`,children:[i.detailRequiresAnyBins,`: `]}),c.anyBins.join(`, `)]}):null]}):null,t[66]=l,t[67]=c,t[68]=i.detailRequiresAnyBins,t[69]=i.detailRequiresBins,t[70]=i.detailRequiresEnv,t[71]=M):M=t[71],t[72]!==i.detailRequiresLabel||t[73]!==M?(E=(0,Q.jsx)(ze,{label:i.detailRequiresLabel,children:M}),t[72]=i.detailRequiresLabel,t[73]=M,t[74]=E):E=t[74];let N=e.length>0?(0,Q.jsx)(`ul`,{className:`list-inside list-decimal space-y-1.5 text-sm text-fg-muted`,children:e.map(Ve)}):null;t[75]!==i.detailInstallLabel||t[76]!==N?(f=(0,Q.jsx)(ze,{label:i.detailInstallLabel,children:N}),t[75]=i.detailInstallLabel,t[76]=N,t[77]=f):f=t[77];let P;t[78]!==o||t[79]!==s||t[80]!==i.detailToolsFallbackList||t[81]!==i.detailToolsRequiresList||t[82]!==i.detailToolsetsFallbackList||t[83]!==i.detailToolsetsRequiresList?(P=s&&o?(0,Q.jsxs)(`ul`,{className:`mt-1 space-y-2 text-sm text-fg-muted`,children:[o.requiresTools.length>0?(0,Q.jsxs)(`li`,{children:[(0,Q.jsxs)(`span`,{className:`font-medium text-fg`,children:[i.detailToolsRequiresList,`: `]}),o.requiresTools.join(`, `)]}):null,o.requiresToolsets.length>0?(0,Q.jsxs)(`li`,{children:[(0,Q.jsxs)(`span`,{className:`font-medium text-fg`,children:[i.detailToolsetsRequiresList,`: `]}),o.requiresToolsets.join(`, `)]}):null,o.fallbackForTools.length>0?(0,Q.jsxs)(`li`,{children:[(0,Q.jsxs)(`span`,{className:`font-medium text-fg`,children:[i.detailToolsFallbackList,`: `]}),o.fallbackForTools.join(`, `)]}):null,o.fallbackForToolsets.length>0?(0,Q.jsxs)(`li`,{children:[(0,Q.jsxs)(`span`,{className:`font-medium text-fg`,children:[i.detailToolsetsFallbackList,`: `]}),o.fallbackForToolsets.join(`, `)]}):null]}):null,t[78]=o,t[79]=s,t[80]=i.detailToolsFallbackList,t[81]=i.detailToolsRequiresList,t[82]=i.detailToolsetsFallbackList,t[83]=i.detailToolsetsRequiresList,t[84]=P):P=t[84],t[85]!==i.detailToolGatingLabel||t[86]!==P?(p=(0,Q.jsx)(ze,{label:i.detailToolGatingLabel,children:P}),t[85]=i.detailToolGatingLabel,t[86]=P,t[87]=p):p=t[87],u=ze,d=i.detailEnvVarsLabel,v=h.length>0?(0,Q.jsx)(`span`,{className:`font-mono text-xs text-fg-muted`,children:h.join(`, `)}):null,t[0]=r,t[1]=o,t[2]=l,t[3]=s,t[4]=a.emoji,t[5]=a.homepage,t[6]=a.install,t[7]=a.os,t[8]=n.description,t[9]=n.disableModelInvocation,t[10]=n.requiredEnvVarNames,t[11]=c,t[12]=i.detailEnvVarsLabel,t[13]=i.detailHomepageLabel,t[14]=i.detailInstallLabel,t[15]=i.detailNotInjectedNote,t[16]=i.detailPlatformsLabel,t[17]=i.detailRequiresAnyBins,t[18]=i.detailRequiresBins,t[19]=i.detailRequiresEnv,t[20]=i.detailRequiresLabel,t[21]=i.detailSummaryHeading,t[22]=i.detailToolGatingLabel,t[23]=i.detailToolsFallbackList,t[24]=i.detailToolsRequiresList,t[25]=i.detailToolsetsFallbackList,t[26]=i.detailToolsetsRequiresList,t[27]=u,t[28]=d,t[29]=f,t[30]=p,t[31]=m,t[32]=g,t[33]=_,t[34]=v,t[35]=y,t[36]=b,t[37]=S,t[38]=C,t[39]=w,t[40]=T,t[41]=E}else u=t[27],d=t[28],f=t[29],p=t[30],m=t[31],g=t[32],_=t[33],v=t[34],y=t[35],b=t[36],S=t[37],C=t[38],w=t[39],T=t[40],E=t[41];let D;t[88]!==u||t[89]!==d||t[90]!==v?(D=(0,Q.jsx)(u,{label:d,children:v}),t[88]=u,t[89]=d,t[90]=v,t[91]=D):D=t[91];let O;t[92]!==f||t[93]!==p||t[94]!==D||t[95]!==y||t[96]!==b||t[97]!==S||t[98]!==C||t[99]!==w||t[100]!==T||t[101]!==E?(O=(0,Q.jsxs)(`div`,{className:y,children:[b,S,C,w,T,E,f,p,D]}),t[92]=f,t[93]=p,t[94]=D,t[95]=y,t[96]=b,t[97]=S,t[98]=C,t[99]=w,t[100]=T,t[101]=E,t[102]=O):O=t[102];let k;t[103]!==m||t[104]!==g||t[105]!==O?(k=(0,Q.jsxs)(`section`,{"aria-labelledby":m,children:[g,O]}),t[103]=m,t[104]=g,t[105]=O,t[106]=k):k=t[106];let A;t[107]===i.detailInstructionsHeading?A=t[108]:(A=(0,Q.jsx)(`h3`,{id:`skill-detail-instructions-heading`,className:`mb-2 text-xs font-semibold uppercase tracking-wide text-fg-muted`,children:i.detailInstructionsHeading}),t[107]=i.detailInstructionsHeading,t[108]=A);let j;t[109]!==n.bodyMarkdown||t[110]!==i.detailNoInstructionsBody?(j=n.bodyMarkdown.trim()?(0,Q.jsx)(`div`,{className:`markdown-content min-w-0 break-words`,children:(0,Q.jsx)(h,{content:n.bodyMarkdown})}):(0,Q.jsx)(`p`,{className:`text-sm italic text-fg-muted`,children:i.detailNoInstructionsBody}),t[109]=n.bodyMarkdown,t[110]=i.detailNoInstructionsBody,t[111]=j):j=t[111];let M;t[112]!==A||t[113]!==j?(M=(0,Q.jsxs)(`section`,{"aria-labelledby":`skill-detail-instructions-heading`,children:[A,j]}),t[112]=A,t[113]=j,t[114]=M):M=t[114];let N;return t[115]!==_||t[116]!==k||t[117]!==M?(N=(0,Q.jsxs)(`div`,{className:_,children:[k,M]}),t[115]=_,t[116]=k,t[117]=M,t[118]=N):N=t[118],N}function Ve(e,t){return(0,Q.jsx)(`li`,{className:`[overflow-wrap:anywhere]`,children:(0,Q.jsx)(`span`,{className:`text-fg`,children:_e(e)})},e.id||`${e.kind}-${t}`)}function He(e){return e.trim()}function Ue(e){return e&&typeof e.kind==`string`}var We=[{id:`s0`,width:`w-[92%]`},{id:`s1`,width:`w-full`},{id:`s2`,width:`w-4/5`},{id:`s3`,width:`w-[92%]`},{id:`s4`,width:`w-full`},{id:`s5`,width:`w-4/5`},{id:`s6`,width:`w-[92%]`},{id:`s7`,width:`w-full`},{id:`s8`,width:`w-4/5`},{id:`s9`,width:`w-[92%]`}];function Ge(e){let t=(0,Ce.c)(78),{sk:n,detailOpen:r,setDetailOpen:i,detailSource:a,setDetailSource:o,detailTitle:s,setDetailTitle:c,detailCatalogPreview:l,setDetailCatalogPreview:u,detailMarketplacePreview:d,setDetailMarketplacePreview:f,detailLoading:p,detailError:h,setDetailError:g,detailEnabled:_,detailPresentation:v,detailDirectoryId:b,detailManaged:S,detailExternalUrl:C,usingSkillInChatName:A,installingMarketName:N,togglingSkillName:P,isSkillInstalledByName:F,onUseSkillInChat:I,onMarketInstall:L,onSkillToggle:R,setConfirmId:z,setConfirmOpen:B}=e,V;t[0]!==u||t[1]!==g||t[2]!==f||t[3]!==i||t[4]!==o||t[5]!==c?(V=e=>{i(e),e||(o(`catalog`),u(null),f(null),g(null),c(``))},t[0]=u,t[1]=g,t[2]=f,t[3]=i,t[4]=o,t[5]=c,t[6]=V):V=t[6];let H;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(H=(0,Q.jsx)(w,{className:`xopc-dialog-overlay fixed inset-0 z-[60] bg-scrim`}),t[7]=H):H=t[7];let U;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(U=x(`xopc-dialog-content fixed left-1/2 top-1/2 z-[60] flex h-[min(88vh,44rem)] max-h-[min(92vh,56rem)] w-[min(100%-2rem,min(92vw,56rem))]`,`-translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-2xl border border-edge bg-surface-overlay shadow-float dark:border-edge`),t[8]=U):U=t[8];let W=s||`?`,G;t[9]===W?G=t[10]:(G=(0,Q.jsx)(ce,{name:W}),t[9]=W,t[10]=G);let te=v?.displayName||s||`—`,q;t[11]===te?q=t[12]:(q=(0,Q.jsx)(O,{className:`min-w-0 flex-1 truncate text-base font-semibold text-fg`,children:te}),t[11]=te,t[12]=q);let ne;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(ne=x(`rounded-lg p-1.5 text-fg-muted hover:bg-surface-hover hover:text-fg`,M.focusRingPanel),t[13]=ne):ne=t[13];let J;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(J=(0,Q.jsx)(y,{className:`size-5`,strokeWidth:1.75,"aria-hidden":!0}),t[14]=J):J=t[14];let Y;t[15]===n.detailCloseAria?Y=t[16]:(Y=(0,Q.jsx)(T,{asChild:!0,children:(0,Q.jsx)(`button`,{type:`button`,className:ne,"aria-label":n.detailCloseAria,children:J})}),t[15]=n.detailCloseAria,t[16]=Y);let X;t[17]!==G||t[18]!==q||t[19]!==Y?(X=(0,Q.jsxs)(`div`,{className:`group flex min-h-[3.25rem] shrink-0 items-center gap-3 border-b border-edge px-4 py-3`,children:[G,q,Y]}),t[17]=G,t[18]=q,t[19]=Y,t[20]=X):X=t[20];let re;t[21]!==l||t[22]!==_||t[23]!==h||t[24]!==p||t[25]!==d||t[26]!==v?.description||t[27]!==a||t[28]!==n?(re=(0,Q.jsx)(`div`,{className:`min-h-0 min-w-0 flex-1 overflow-auto p-4`,children:p?(0,Q.jsx)(`div`,{className:`flex h-full min-h-[14rem] flex-col gap-2.5 py-1`,"aria-busy":`true`,"aria-label":n.loading,children:We.map(Ke)}):h?(0,Q.jsx)(`p`,{className:`text-sm text-red-600 dark:text-red-400`,children:h}):a===`catalog`&&l?(0,Q.jsxs)(Q.Fragment,{children:[_?null:(0,Q.jsxs)(`div`,{className:`mb-4 flex items-start gap-2 rounded-xl border border-amber-200 bg-amber-50 px-3 py-2.5 text-sm text-amber-900 dark:border-amber-900/50 dark:bg-amber-950/30 dark:text-amber-100`,children:[(0,Q.jsx)(K,{className:`mt-0.5 size-4 shrink-0 text-amber-600 dark:text-amber-300`,strokeWidth:1.75,"aria-hidden":!0}),(0,Q.jsx)(`p`,{className:`leading-relaxed`,children:n.detailDisabledNotice})]}),(0,Q.jsx)(Be,{preview:l,description:v?.description,sk:n})]}):a===`store`&&d?(0,Q.jsx)(Be,{preview:d,sk:n}):(0,Q.jsx)(`p`,{className:`text-sm text-red-600 dark:text-red-400`,children:n.detailLoadFailed})}),t[21]=l,t[22]=_,t[23]=h,t[24]=p,t[25]=d,t[26]=v?.description,t[27]=a,t[28]=n,t[29]=re):re=t[29];let ie;t[30]!==C||t[31]!==a||t[32]!==n.marketplaceOpenExternal||t[33]!==n.marketplaceOpenExternalAria?(ie=a===`store`&&C?(0,Q.jsxs)(`a`,{href:C,target:`_blank`,rel:`noopener noreferrer`,className:x(`inline-flex h-9 items-center gap-1.5 rounded-lg border border-edge bg-surface-panel px-3 text-sm font-medium text-fg-muted`,`hover:bg-surface-hover hover:text-fg dark:border-edge`,M.focusRingPanel),"aria-label":n.marketplaceOpenExternalAria,title:n.marketplaceOpenExternal,children:[(0,Q.jsx)(m,{className:`size-4`,strokeWidth:1.75,"aria-hidden":!0}),(0,Q.jsx)(`span`,{children:n.marketplaceOpenExternal})]}):null,t[30]=C,t[31]=a,t[32]=n.marketplaceOpenExternal,t[33]=n.marketplaceOpenExternalAria,t[34]=ie):ie=t[34];let ae;t[35]!==b||t[36]!==S||t[37]!==a||t[38]!==z||t[39]!==B||t[40]!==n.delete?(ae=a===`catalog`&&S&&b?(0,Q.jsxs)(j,{type:`button`,variant:`ghost`,className:`gap-1.5 text-red-600 hover:bg-red-50 hover:text-red-700 dark:text-red-400 dark:hover:bg-red-950/40 dark:hover:text-red-300`,onClick:()=>{z(b),B(!0)},children:[(0,Q.jsx)(ee,{className:`size-4`,strokeWidth:1.75,"aria-hidden":!0}),n.delete]}):null,t[35]=b,t[36]=S,t[37]=a,t[38]=z,t[39]=B,t[40]=n.delete,t[41]=ae):ae=t[41];let oe;t[42]!==ie||t[43]!==ae?(oe=(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[ie,ae]}),t[42]=ie,t[43]=ae,t[44]=oe):oe=t[44];let se;t[45]!==_||t[46]!==p||t[47]!==a||t[48]!==s||t[49]!==N||t[50]!==F||t[51]!==L||t[52]!==R||t[53]!==I||t[54]!==i||t[55]!==n.cancel||t[56]!==n.detailModalDisable||t[57]!==n.detailModalEnable||t[58]!==n.marketplaceInstall||t[59]!==n.marketplaceReinstall||t[60]!==n.previewUseInChat||t[61]!==n.previewUseInChatBusy||t[62]!==n.uploading||t[63]!==n.useRequiresEnabled||t[64]!==P||t[65]!==A?(se=(0,Q.jsx)(`div`,{className:`flex items-center gap-2`,children:a===`store`?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(j,{type:`button`,variant:`ghost`,onClick:()=>i(!1),children:n.cancel}),(0,Q.jsx)(j,{type:`button`,variant:`secondary`,disabled:!s||p||A===s||N===s,onClick:()=>void I(),children:A===s?n.previewUseInChatBusy:n.previewUseInChat}),(0,Q.jsx)(j,{type:`button`,variant:F(s)?`secondary`:`primary`,disabled:!s||N===s,onClick:()=>{s&&L(s,{useDetailProvider:!0})},children:N===s?n.uploading:F(s)?n.marketplaceReinstall:n.marketplaceInstall})]}):(0,Q.jsxs)(Q.Fragment,{children:[_?(0,Q.jsx)(j,{type:`button`,variant:`secondary`,disabled:!s||P===s,onClick:()=>{s&&R(s,!1)},children:P===s?n.uploading:n.detailModalDisable}):(0,Q.jsx)(j,{type:`button`,variant:`primary`,disabled:!s||P===s,onClick:()=>{s&&R(s,!0)},children:P===s?n.uploading:n.detailModalEnable}),(0,Q.jsx)(j,{type:`button`,variant:`secondary`,disabled:!s||!_||p||A===s||P===s,title:_?void 0:n.useRequiresEnabled,onClick:()=>void I(),children:A===s?n.previewUseInChatBusy:n.previewUseInChat})]})}),t[45]=_,t[46]=p,t[47]=a,t[48]=s,t[49]=N,t[50]=F,t[51]=L,t[52]=R,t[53]=I,t[54]=i,t[55]=n.cancel,t[56]=n.detailModalDisable,t[57]=n.detailModalEnable,t[58]=n.marketplaceInstall,t[59]=n.marketplaceReinstall,t[60]=n.previewUseInChat,t[61]=n.previewUseInChatBusy,t[62]=n.uploading,t[63]=n.useRequiresEnabled,t[64]=P,t[65]=A,t[66]=se):se=t[66];let le;t[67]!==oe||t[68]!==se?(le=(0,Q.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between gap-2 border-t border-edge px-4 py-3`,children:[oe,se]}),t[67]=oe,t[68]=se,t[69]=le):le=t[69];let ue;t[70]!==X||t[71]!==re||t[72]!==le?(ue=(0,Q.jsxs)(E,{children:[H,(0,Q.jsxs)(D,{className:U,children:[X,re,le]})]}),t[70]=X,t[71]=re,t[72]=le,t[73]=ue):ue=t[73];let de;return t[74]!==r||t[75]!==V||t[76]!==ue?(de=(0,Q.jsx)(k,{open:r,onOpenChange:V,children:ue}),t[74]=r,t[75]=V,t[76]=ue,t[77]=de):de=t[77],de}function Ke(e){return(0,Q.jsx)(`div`,{className:x(`h-4 animate-pulse rounded-md bg-surface-hover dark:bg-surface-active/50`,e.width)},e.id)}function qe(e){let t=(0,Ce.c)(67),{sk:n,installOpen:r,setInstallOpen:i,pendingFile:a,setPendingFile:o,dropActive:s,setDropActive:c,uploading:l,onModalDragOver:u,onModalDragLeave:d,onModalDrop:f,onFileInputChange:p,onInstallSubmit:m}=e,h;t[0]!==c||t[1]!==i||t[2]!==o?(h=e=>{i(e),e||(o(null),c(!1))},t[0]=c,t[1]=i,t[2]=o,t[3]=h):h=t[3];let g;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,Q.jsx)(w,{className:`xopc-dialog-overlay fixed inset-0 z-[60] bg-scrim`}),t[4]=g):g=t[4];let _;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(_=x(`xopc-dialog-content fixed left-1/2 top-1/2 z-[60] max-h-[min(100vh-2rem,44rem)] w-[min(100%-2rem,min(92vw,48rem))] -translate-x-1/2 -translate-y-1/2 overflow-y-auto`,`rounded-2xl border border-edge bg-surface-overlay p-6 shadow-float dark:border-edge`),t[5]=_):_=t[5];let v;t[6]===n.installModalTitle?v=t[7]:(v=(0,Q.jsx)(O,{className:`text-base font-semibold text-fg`,children:n.installModalTitle}),t[6]=n.installModalTitle,t[7]=v);let b;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(b=x(`rounded-lg p-1.5 text-fg-muted hover:bg-surface-hover hover:text-fg`,M.focusRingPanel),t[8]=b):b=t[8];let S;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,Q.jsx)(y,{className:`size-5`,strokeWidth:1.75,"aria-hidden":!0}),t[9]=S):S=t[9];let C;t[10]===n.installClose?C=t[11]:(C=(0,Q.jsx)(`span`,{className:`sr-only`,children:n.installClose}),t[10]=n.installClose,t[11]=C);let A;t[12]!==n.installClose||t[13]!==C?(A=(0,Q.jsx)(T,{asChild:!0,children:(0,Q.jsxs)(`button`,{type:`button`,className:b,"aria-label":n.installClose,children:[S,C]})}),t[12]=n.installClose,t[13]=C,t[14]=A):A=t[14];let j;t[15]!==v||t[16]!==A?(j=(0,Q.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[v,A]}),t[15]=v,t[16]=A,t[17]=j):j=t[17];let N=s?`border-accent bg-accent-soft/60 dark:bg-blue-950/40`:`border-edge bg-surface-base dark:bg-surface-hover/30`,P;t[18]===N?P=t[19]:(P=x(`mt-4 flex min-h-[11rem] cursor-pointer flex-col items-center justify-center gap-3 rounded-xl border-2 border-dashed px-6 py-12 text-center transition-colors`,N),t[18]=N,t[19]=P);let F;t[20]!==p||t[21]!==n.installModalDropHint||t[22]!==l?(F=(0,Q.jsx)(`input`,{type:`file`,accept:`.zip,.md,application/zip,text/markdown`,className:`sr-only`,"aria-label":n.installModalDropHint,disabled:l,onChange:p}),t[20]=p,t[21]=n.installModalDropHint,t[22]=l,t[23]=F):F=t[23];let I;t[24]===Symbol.for(`react.memo_cache_sentinel`)?(I=(0,Q.jsx)(te,{className:`size-12 text-fg-subtle`,strokeWidth:1.25,"aria-hidden":!0}),t[24]=I):I=t[24];let L;t[25]===n.installModalDropHint?L=t[26]:(L=(0,Q.jsx)(`span`,{className:`text-sm text-fg-muted`,children:n.installModalDropHint}),t[25]=n.installModalDropHint,t[26]=L);let R;t[27]===a?R=t[28]:(R=a?(0,Q.jsx)(`span`,{className:`text-xs font-medium text-fg`,children:a.name}):null,t[27]=a,t[28]=R);let z;t[29]!==d||t[30]!==u||t[31]!==f||t[32]!==P||t[33]!==F||t[34]!==L||t[35]!==R?(z=(0,Q.jsxs)(`label`,{className:P,onDragLeave:d,onDragOver:u,onDrop:f,children:[F,I,L,R]}),t[29]=d,t[30]=u,t[31]=f,t[32]=P,t[33]=F,t[34]=L,t[35]=R,t[36]=z):z=t[36];let B;t[37]===n.installModalReqTitle?B=t[38]:(B=(0,Q.jsx)(`p`,{className:`text-sm font-medium text-fg`,children:n.installModalReqTitle}),t[37]=n.installModalReqTitle,t[38]=B);let V;t[39]===n.installModalReq1?V=t[40]:(V=(0,Q.jsx)(`li`,{children:n.installModalReq1}),t[39]=n.installModalReq1,t[40]=V);let H;t[41]===n.installModalReq2?H=t[42]:(H=(0,Q.jsx)(`li`,{children:n.installModalReq2}),t[41]=n.installModalReq2,t[42]=H);let U;t[43]!==V||t[44]!==H?(U=(0,Q.jsxs)(`ul`,{className:`list-inside list-disc space-y-1 text-sm text-fg-muted`,children:[V,H]}),t[43]=V,t[44]=H,t[45]=U):U=t[45];let W;t[46]!==B||t[47]!==U?(W=(0,Q.jsxs)(`div`,{className:`mt-5 space-y-2`,children:[B,U]}),t[46]=B,t[47]=U,t[48]=W):W=t[48];let G=!a||l,ee=!a||l?`cursor-not-allowed bg-surface-active text-fg-disabled`:`bg-accent text-on-accent hover:bg-accent-hover`,K;t[49]===ee?K=t[50]:(K=x(`mt-6 flex w-full items-center justify-center rounded-xl py-3 text-sm font-semibold`,`transition-colors`,ee,M.focusRingPanel),t[49]=ee,t[50]=K);let q;t[51]===m?q=t[52]:(q=()=>void m(),t[51]=m,t[52]=q);let ne=l?n.uploading:n.installAction,J;t[53]!==G||t[54]!==K||t[55]!==q||t[56]!==ne?(J=(0,Q.jsx)(`button`,{type:`button`,disabled:G,className:K,onClick:q,children:ne}),t[53]=G,t[54]=K,t[55]=q,t[56]=ne,t[57]=J):J=t[57];let Y;t[58]!==z||t[59]!==W||t[60]!==J||t[61]!==j?(Y=(0,Q.jsxs)(E,{children:[g,(0,Q.jsxs)(D,{className:_,children:[j,z,W,J]})]}),t[58]=z,t[59]=W,t[60]=J,t[61]=j,t[62]=Y):Y=t[62];let X;return t[63]!==r||t[64]!==h||t[65]!==Y?(X=(0,Q.jsx)(k,{open:r,onOpenChange:h,children:Y}),t[63]=r,t[64]=h,t[65]=Y,t[66]=X):X=t[66],X}function Je(e){let t=(0,Ce.c)(30),{sk:n,mpCategories:r,mpCategoriesLoading:i,mpCategoriesError:a,mpPayload:o,mpLoading:s,mpError:c,marketCategoryId:l,setMarketCategoryId:u,mpHasMore:f,onLoadMoreMarket:p,onRetryMarket:m,isSkillInstalledByName:h,openMarketplaceDetail:g,onMarketInstall:_,installingMarketName:v,onUseSkillInChat:y,usingSkillInChatName:b,searchInputActive:S,searchQuery:C,setSearchQuery:w,registeredProviders:T,marketplacePresentation:E,marketBrowseProvider:D,setMarketBrowseProvider:O}=e,k=!S,A;t[0]===D?A=t[1]:(A=e=>e.id!==D,t[0]=D,t[1]=A);let N=T.filter(A),P=C.trim(),F;t[2]===n.marketplaceCategoryAll?F=t[3]:(F={id:``,label:n.marketplaceCategoryAll},t[2]=n.marketplaceCategoryAll,t[3]=F);let I;t[4]!==r||t[5]!==F?(I=[F,...r.map(et)],t[4]=r,t[5]=F,t[6]=I):I=t[6];let R=I,z;t[7]===r?z=t[8]:(z=new Map(r.map($e)),t[7]=r,t[8]=z);let B=z,V=(0,Z.useRef)(null),H,U;t[9]!==c||t[10]!==f||t[11]!==s||t[12]!==p?(H=()=>{let e=V.current;if(!e||!f||s||c)return;let t=new IntersectionObserver(e=>{e.some(Qe)&&p()},{rootMargin:`200px`});return t.observe(e),()=>t.disconnect()},U=[f,s,c,p],t[9]=c,t[10]=f,t[11]=s,t[12]=p,t[13]=H,t[14]=U):(H=t[13],U=t[14]),(0,Z.useEffect)(H,U);let W;t[15]!==R||t[16]!==l||t[17]!==r.length||t[18]!==i||t[19]!==u||t[20]!==k||t[21]!==n.marketplaceCategoriesAria?(W=k?r.length>0?(0,Q.jsx)(re,{items:R,activeTab:l,onChange:u,ariaLabel:n.marketplaceCategoriesAria,tabIdPrefix:`skills-marketplace-category-tab`,className:`min-h-[2.75rem] items-center gap-2 pt-0.5 [scrollbar-width:none] [&::-webkit-scrollbar]:hidden`,buttonClassName:`max-w-[14rem] truncate rounded-full border px-3 py-1.5 text-xs`,selectedClassName:`border-fg bg-fg text-surface-panel dark:border-fg dark:bg-fg dark:text-surface-base`,unselectedClassName:`border-edge bg-surface-panel text-fg-muted hover:border-edge-strong hover:text-fg dark:border-edge dark:bg-surface-hover/40`}):i?(0,Q.jsx)(`div`,{className:`-mx-1 flex min-h-[2.75rem] items-center gap-2 overflow-x-auto px-1 pb-1 pt-0.5 [scrollbar-width:none] [&::-webkit-scrollbar]:hidden`,"aria-hidden":!0,children:[`p0`,`p1`,`p2`,`p3`,`p4`].map(Ze)}):null:null,t[15]=R,t[16]=l,t[17]=r.length,t[18]=i,t[19]=u,t[20]=k,t[21]=n.marketplaceCategoriesAria,t[22]=W):W=t[22];let G;t[23]!==a||t[24]!==k?(G=k&&a?(0,Q.jsx)(`p`,{className:`text-xs text-red-600 dark:text-red-400`,role:`alert`,children:a}):null,t[23]=a,t[24]=k,t[25]=G):G=t[25];let ee=!o&&!c?(0,Q.jsx)(`div`,{className:`grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3`,"aria-busy":`true`,"aria-label":n.loading,children:Pe.map(Xe)}):c&&!o?(0,Q.jsxs)(`div`,{className:`rounded-xl border border-edge bg-red-50 px-3 py-2 text-sm text-red-700 dark:border-edge dark:bg-red-950/40 dark:text-red-300`,role:`alert`,children:[(0,Q.jsx)(`p`,{children:c}),(0,Q.jsx)(j,{className:`mt-2`,onClick:m,children:n.marketplaceRetry})]}):o?(0,Q.jsxs)(`div`,{className:`relative`,children:[o.items.length===0?(0,Q.jsxs)(`div`,{className:`flex flex-col items-center gap-3 py-12 text-center text-sm text-fg-muted`,children:[(0,Q.jsx)(`p`,{className:`px-4`,children:S&&P?me(n.marketplaceEmptySearch,{query:P}):n.marketplaceEmpty}),(0,Q.jsx)(we,{sk:n,findingSkills:e.findingSkills,onFindSkills:e.onFindSkills,secondary:!0}),S?(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center justify-center gap-2`,children:[N.map(e=>(0,Q.jsx)(j,{type:`button`,variant:`secondary`,className:`h-8 px-3 text-xs`,onClick:()=>O(e.id),children:me(n.marketplaceEmptySearchTryProvider,{provider:e.displayName})},e.id)),(0,Q.jsx)(j,{type:`button`,variant:`ghost`,className:`h-8 px-3 text-xs`,onClick:()=>w(``),children:n.marketplaceEmptySearchClear})]}):null]}):(0,Q.jsx)(`div`,{className:x(`grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3`),children:o.items.map(e=>{let t=E(e),r=de(e,e.providerId??D),i=h(r),a=e.category??e.categories?.[0],o=a?B.get(a)??a:null;return(0,Q.jsxs)(`article`,{className:x(`group flex h-full flex-col rounded-xl bg-surface-panel p-4 shadow-surface`,`transition-colors hover:bg-surface-hover [content-visibility:auto] [contain-intrinsic-size:auto_220px]`),children:[(0,Q.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[(0,Q.jsx)(Se,{iconUrl:e.branding?.iconUrl,fallback:q}),(0,Q.jsx)(`button`,{type:`button`,className:x(`min-w-0 flex-1 rounded-lg text-left outline-none`,M.focusRingPanel),onClick:()=>void g(r,e.name,e.providerId??void 0),children:(0,Q.jsx)(`h3`,{id:`mp-skill-title-${e.id}`,className:`truncate text-[15px] font-semibold leading-snug tracking-tight text-fg`,children:t.displayName})}),i?(0,Q.jsxs)(`span`,{className:`inline-flex shrink-0 items-center gap-1 rounded-full border border-emerald-500/30 bg-emerald-500/10 px-2 py-0.5 text-[11px] font-medium text-emerald-700 dark:text-emerald-300`,children:[(0,Q.jsx)(d,{className:`size-3`,"aria-hidden":!0}),n.marketplaceInstalled]}):(0,Q.jsx)(j,{type:`button`,variant:`secondary`,className:`h-8 shrink-0 whitespace-nowrap px-2.5 text-xs font-medium`,disabled:v===r,onClick:()=>void _(r,{providerOverride:e.providerId??null}),children:v===r?n.uploading:n.marketplaceInstall})]}),(0,Q.jsx)(`button`,{type:`button`,className:x(`mt-2 flex min-h-0 w-full flex-1 cursor-pointer flex-col rounded-lg text-left outline-none`,M.focusRingPanel),"aria-labelledby":`mp-skill-title-${e.id}`,onClick:()=>void g(r,e.name,e.providerId??void 0),children:(0,Q.jsx)(`div`,{className:`flex items-start gap-3`,children:(0,Q.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-2`,children:[(0,Q.jsx)(`p`,{className:`line-clamp-2 text-sm leading-relaxed text-fg-muted`,title:t.description||void 0,children:t.description||`—`}),o?(0,Q.jsx)(`span`,{className:`w-fit max-w-full truncate rounded-full bg-surface-inset px-2 py-0.5 text-[10px] font-medium text-fg-muted`,children:o}):null,(0,Q.jsxs)(`div`,{className:`mt-auto min-h-[2.625rem] space-y-1 text-[11px] leading-snug text-fg-muted`,children:[(0,Q.jsxs)(`p`,{className:`line-clamp-1`,title:`${n.marketplaceAuthor}: ${e.author.username} · ${n.marketplaceDownloads}: ${e.downloads}${e.stars!=null&&e.stars>0?` · ★${e.stars}`:``}${i?` · ${n.marketplaceInstalled}`:``}`,children:[(0,Q.jsx)(`span`,{className:`text-fg-subtle`,children:n.marketplaceAuthor}),` `,(0,Q.jsx)(`span`,{className:`text-fg`,children:e.author.username}),(0,Q.jsx)(`span`,{className:`text-fg-subtle`,children:` · `}),(0,Q.jsxs)(`span`,{children:[n.marketplaceDownloads,`: `,e.downloads]}),e.stars!=null&&e.stars>0?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`span`,{className:`text-fg-subtle`,children:` · `}),(0,Q.jsxs)(`span`,{className:`inline-flex items-center gap-0.5 text-fg-muted`,children:[(0,Q.jsx)(L,{className:`size-3 shrink-0 text-amber-600 dark:text-amber-400`,strokeWidth:2,"aria-hidden":!0}),e.stars]})]}):null]}),e.latestVersion?(0,Q.jsxs)(`p`,{className:`line-clamp-1 min-h-[1.125rem] font-mono text-[10px] text-fg-subtle`,title:`${n.marketplaceVersion}: ${e.latestVersion}`,children:[n.marketplaceVersion,`: `,e.latestVersion]}):null]})]})})}),i?(0,Q.jsx)(`div`,{role:`group`,className:`mt-3 flex items-center justify-end gap-1 border-t border-edge-subtle pt-3`,children:(0,Q.jsx)(j,{type:`button`,variant:`secondary`,className:`h-8 shrink-0 whitespace-nowrap px-2.5 text-xs font-medium`,disabled:b===r,onClick:()=>void y({name:r,source:`store`,providerOverride:e.providerId??null}),children:b===r?n.previewUseInChatBusy:n.previewUseInChat})}):null]},e.id)})}),(0,Q.jsx)(`div`,{ref:V,className:`h-1`,"aria-hidden":!0}),s?(0,Q.jsx)(`div`,{className:`mt-3 grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3`,"aria-busy":`true`,"aria-label":n.loading,children:Pe.slice(0,3).map(Ye)}):c?(0,Q.jsxs)(`div`,{className:`mt-4 text-center`,role:`alert`,children:[(0,Q.jsx)(`p`,{className:`mb-2 text-sm text-fg-muted`,children:c}),(0,Q.jsx)(j,{onClick:m,children:n.marketplaceRetry})]}):!f&&o.items.length>0?(0,Q.jsx)(`p`,{className:`mt-4 text-center text-xs text-fg-subtle`,children:S?n.marketplaceSearchEnd:n.marketplaceEnd}):null]}):null,K;return t[26]!==W||t[27]!==G||t[28]!==ee?(K=(0,Q.jsxs)(Q.Fragment,{children:[W,G,ee]}),t[26]=W,t[27]=G,t[28]=ee,t[29]=K):K=t[29],K}function Ye(e){return(0,Q.jsx)(Oe,{},e)}function Xe(e){return(0,Q.jsx)(Oe,{},e)}function Ze(e){return(0,Q.jsx)(`div`,{className:`h-8 w-[4.5rem] shrink-0 animate-pulse rounded-full bg-surface-hover motion-reduce:animate-none dark:bg-surface-active/50`},e)}function Qe(e){return e.isIntersecting}function $e(e){return[e.id,e.label]}function et(e){return{id:e.id,label:e.label,title:e.label}}function tt(e){let t=(0,Ce.c)(141),{vm:n,embedded:r,onHeaderActionChange:i}=e,a=r===void 0?!1:r,{sk:o,hasToken:s,error:c,actionFeedback:u,skillDiagnostics:d,mainTab:f,setMainTab:p,sourceFilter:m,setSourceFilter:h,builtinTabStats:g,userTabStats:_,catalogDisabledCount:v,catalogStatusFilter:y,setCatalogStatusFilter:b,marketSort:S,setMarketSort:C,marketBrowseProvider:w,setMarketBrowseProvider:T,registeredProviders:E,searchInputActive:D,resultTab:O,setResultTab:k,aggregatedTabCounts:A,aggregatedProviderStatus:M,recoveryReturnPath:N}=n,P,F,I,L,R,z,B,V,H;if(t[0]!==u||t[1]!==M||t[2]!==A||t[3]!==g||t[4]!==a||t[5]!==c||t[6]!==s||t[7]!==i||t[8]!==N||t[9]!==E||t[10]!==o.diagnosticsTitle||t[11]!==o.marketplaceLoadFailed||t[12]!==o.marketplaceResultsTabAll||t[13]!==o.needToken||t[14]!==o.recoveryDone||t[15]!==o.recoveryHint||t[16]!==o.recoveryTitle||t[17]!==o.tabDiscover||t[18]!==o.tabInstalled||t[19]!==d||t[20]!==_||t[21]!==n){H=Symbol.for(`react.early_return_sentinel`);bb0:{let e=le(d);if(!s){let e;t[31]!==a||t[32]!==i||t[33]!==n?(e=(0,Q.jsx)(it,{vm:n,embedded:a,onHeaderActionChange:i}),t[31]=a,t[32]=i,t[33]=n,t[34]=e):e=t[34];let r;t[35]===o.needToken?r=t[36]:(r=(0,Q.jsx)(`div`,{className:`w-full px-3 py-16 text-center text-sm text-fg-muted sm:px-5 xl:px-6`,children:o.needToken}),t[35]=o.needToken,t[36]=r);let s;t[37]!==r||t[38]!==e?(s=(0,Q.jsxs)(Q.Fragment,{children:[e,r]}),t[37]=r,t[38]=e,t[39]=s):s=t[39],H=s;break bb0}let r=g.total+_.total,l;t[40]!==r||t[41]!==o.tabInstalled?(l={id:`installed`,label:o.tabInstalled,count:r},t[40]=r,t[41]=o.tabInstalled,t[42]=l):l=t[42];let f;t[43]===o.tabDiscover?f=t[44]:(f={id:`marketplace`,label:o.tabDiscover},t[43]=o.tabDiscover,t[44]=f);let p;t[45]!==f||t[46]!==l?(p=[l,f],t[45]=f,t[46]=l,t[47]=p):p=t[47],P=p;let m;t[48]===E?m=t[49]:(m=[`all`,...E.map(rt)],t[48]=E,t[49]=m);let h=m,v;t[50]!==M||t[51]!==A||t[52]!==E||t[53]!==o.marketplaceLoadFailed||t[54]!==o.marketplaceResultsTabAll||t[55]!==h?(v=h.map(e=>{let t=e===`all`?o.marketplaceResultsTabAll:E.find(t=>t.id===e)?.displayName??e,n=A[e]??0,r=e===`all`?null:M[e];return{id:e,label:t,title:r===`error`?`${t} · ${o.marketplaceLoadFailed}`:void 0,suffix:r===`loading`?(0,Q.jsx)(`span`,{className:`inline-block size-1.5 animate-pulse rounded-full bg-fg-muted/60 motion-reduce:animate-none`,"aria-hidden":!0}):r===`error`?(0,Q.jsx)(`span`,{className:`inline-block size-1.5 rounded-full bg-red-500`,"aria-hidden":!0}):(0,Q.jsx)(`span`,{className:`tabular-nums opacity-70`,children:n})}}),t[50]=M,t[51]=A,t[52]=E,t[53]=o.marketplaceLoadFailed,t[54]=o.marketplaceResultsTabAll,t[55]=h,t[56]=v):v=t[56],F=v,t[57]!==a||t[58]!==i||t[59]!==n?(V=(0,Q.jsx)(it,{vm:n,embedded:a,onHeaderActionChange:i}),t[57]=a,t[58]=i,t[59]=n,t[60]=V):V=t[60],B=`flex min-h-0 min-w-0 flex-1 flex-col bg-surface-panel`;let y=a?`pb-7 pt-3 lg:pb-9 lg:pt-4`:`py-7 lg:py-9`;t[61]===y?I=t[62]:(I=x(`mx-auto flex w-full max-w-7xl flex-col gap-6 px-4 sm:px-6 lg:px-8`,y),t[61]=y,t[62]=I),t[63]!==N||t[64]!==o.recoveryDone||t[65]!==o.recoveryHint||t[66]!==o.recoveryTitle||t[67]!==n.onRecoveryDone?(L=N?(0,Q.jsxs)(`div`,{className:`flex flex-col gap-3 rounded-xl border border-accent/25 bg-accent-soft px-4 py-3 sm:flex-row sm:items-center sm:justify-between`,children:[(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`p`,{className:`text-sm font-semibold text-fg`,children:o.recoveryTitle}),(0,Q.jsx)(`p`,{className:`mt-1 text-xs leading-5 text-fg-muted`,children:o.recoveryHint})]}),(0,Q.jsx)(j,{type:`button`,variant:`secondary`,className:`min-h-11 shrink-0`,onClick:n.onRecoveryDone,children:o.recoveryDone})]}):null,t[63]=N,t[64]=o.recoveryDone,t[65]=o.recoveryHint,t[66]=o.recoveryTitle,t[67]=n.onRecoveryDone,t[68]=L):L=t[68],t[69]!==u||t[70]!==c?(R=u?(0,Q.jsx)(`div`,{role:`status`,"aria-live":`polite`,className:x(`rounded-xl border px-3 py-2 text-sm`,u.kind===`success`?`border-emerald-200 bg-emerald-50 text-emerald-800 dark:border-emerald-900/40 dark:bg-emerald-950/40 dark:text-emerald-200`:`border-red-200 bg-red-50 text-red-800 dark:border-red-900/50 dark:bg-red-950/40 dark:text-red-200`),children:u.message}):c?(0,Q.jsx)(`div`,{className:`rounded-xl border border-edge bg-red-50 px-3 py-2 text-sm text-red-700 dark:border-edge dark:bg-red-950/40 dark:text-red-300`,role:`alert`,children:c}):null,t[69]=u,t[70]=c,t[71]=R):R=t[71],z=e.length>0?(0,Q.jsxs)(`div`,{className:`rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-sm text-amber-900 dark:border-amber-900/50 dark:bg-amber-950/30 dark:text-amber-200`,role:`status`,children:[(0,Q.jsx)(`div`,{className:`font-medium`,children:me(o.diagnosticsTitle,{count:e.length})}),(0,Q.jsx)(`ul`,{className:`mt-1 space-y-1`,children:e.slice(0,3).map($)})]}):null}t[0]=u,t[1]=M,t[2]=A,t[3]=g,t[4]=a,t[5]=c,t[6]=s,t[7]=i,t[8]=N,t[9]=E,t[10]=o.diagnosticsTitle,t[11]=o.marketplaceLoadFailed,t[12]=o.marketplaceResultsTabAll,t[13]=o.needToken,t[14]=o.recoveryDone,t[15]=o.recoveryHint,t[16]=o.recoveryTitle,t[17]=o.tabDiscover,t[18]=o.tabInstalled,t[19]=d,t[20]=_,t[21]=n,t[22]=P,t[23]=F,t[24]=I,t[25]=L,t[26]=R,t[27]=z,t[28]=B,t[29]=V,t[30]=H}else P=t[22],F=t[23],I=t[24],L=t[25],R=t[26],z=t[27],B=t[28],V=t[29],H=t[30];if(H!==Symbol.for(`react.early_return_sentinel`))return H;let U;t[72]!==f||t[73]!==P||t[74]!==p||t[75]!==o.skillsNavAria?(U=(0,Q.jsx)(re,{items:P,activeTab:f,onChange:p,ariaLabel:o.skillsNavAria,tabIdPrefix:`skills-tab`,panelIdPrefix:`skills-panel`,className:`flex-wrap`}),t[72]=f,t[73]=P,t[74]=p,t[75]=o.skillsNavAria,t[76]=U):U=t[76];let W;t[77]!==v||t[78]!==y||t[79]!==f||t[80]!==w||t[81]!==S||t[82]!==E||t[83]!==D||t[84]!==b||t[85]!==T||t[86]!==C||t[87]!==h||t[88]!==o.filterAll||t[89]!==o.filterDisabledOnly||t[90]!==o.filterEnabled||t[91]!==o.filterExtra||t[92]!==o.filterGlobal||t[93]!==o.filterInstalled||t[94]!==o.filterPlugin||t[95]!==o.filterWorkspace||t[96]!==o.marketplaceBrowseSwitchAria||t[97]!==o.marketplaceSortDownloads||t[98]!==o.marketplaceSortLabel||t[99]!==o.marketplaceSortNewest||t[100]!==o.sourceFilterAria||t[101]!==o.statusFilterAria||t[102]!==o.tabBuiltin||t[103]!==m?(W=(0,Q.jsx)(`div`,{className:`flex min-w-0 flex-wrap gap-2 sm:justify-end`,children:f===`installed`?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(l,{value:m,placeholder:o.filterAll,ariaLabel:o.sourceFilterAria,options:[{value:`all`,label:o.filterAll},{value:`builtin`,label:o.tabBuiltin},{value:`installed`,label:o.filterInstalled},{value:`workspace`,label:o.filterWorkspace},{value:`global`,label:o.filterGlobal},{value:`plugin`,label:o.filterPlugin},{value:`extra`,label:o.filterExtra}],allowEmpty:!1,triggerClassName:`h-9 w-auto min-w-[9rem] bg-surface-panel text-xs shadow-surface`,align:`end`,onChange:e=>h(e)}),(0,Q.jsx)(l,{value:y,placeholder:o.filterAll,ariaLabel:o.statusFilterAria,options:[{value:`all`,label:o.filterAll},{value:`enabled`,label:o.filterEnabled},{value:`disabled`,label:me(o.filterDisabledOnly,{count:v})}],allowEmpty:!1,triggerClassName:`h-9 w-auto min-w-[9rem] bg-surface-panel text-xs shadow-surface`,align:`end`,onChange:e=>b(e)})]}):(0,Q.jsxs)(Q.Fragment,{children:[D?null:(0,Q.jsx)(l,{value:w??``,placeholder:o.marketplaceBrowseSwitchAria,ariaLabel:o.marketplaceBrowseSwitchAria,options:E.map(nt),allowEmpty:!1,triggerClassName:`h-9 w-auto min-w-[9rem] bg-surface-panel text-xs shadow-surface`,align:`end`,onChange:T}),(0,Q.jsx)(l,{value:S,placeholder:o.marketplaceSortLabel,ariaLabel:o.marketplaceSortLabel,options:[{value:`downloads`,label:o.marketplaceSortDownloads},{value:`newest`,label:o.marketplaceSortNewest}],allowEmpty:!1,triggerClassName:`h-9 w-auto min-w-[9rem] bg-surface-panel text-xs shadow-surface`,align:`end`,onChange:e=>C(e)})]})}),t[77]=v,t[78]=y,t[79]=f,t[80]=w,t[81]=S,t[82]=E,t[83]=D,t[84]=b,t[85]=T,t[86]=C,t[87]=h,t[88]=o.filterAll,t[89]=o.filterDisabledOnly,t[90]=o.filterEnabled,t[91]=o.filterExtra,t[92]=o.filterGlobal,t[93]=o.filterInstalled,t[94]=o.filterPlugin,t[95]=o.filterWorkspace,t[96]=o.marketplaceBrowseSwitchAria,t[97]=o.marketplaceSortDownloads,t[98]=o.marketplaceSortLabel,t[99]=o.marketplaceSortNewest,t[100]=o.sourceFilterAria,t[101]=o.statusFilterAria,t[102]=o.tabBuiltin,t[103]=m,t[104]=W):W=t[104];let G;t[105]!==W||t[106]!==U?(G=(0,Q.jsxs)(`div`,{className:`flex flex-col gap-3 border-b border-edge-subtle pb-3 dark:border-edge-subtle sm:flex-row sm:items-center sm:justify-between`,children:[U,W]}),t[105]=W,t[106]=U,t[107]=G):G=t[107];let ee;t[108]!==f||t[109]!==O||t[110]!==F||t[111]!==D||t[112]!==k||t[113]!==o.marketplaceResultsTabsAria?(ee=f===`marketplace`&&D?(0,Q.jsx)(re,{items:F,activeTab:O,onChange:k,ariaLabel:o.marketplaceResultsTabsAria,tabIdPrefix:`skills-marketplace-results-tab`,panelIdPrefix:`skills-marketplace-results-panel`,className:`min-h-9 gap-1 overflow-x-auto rounded-lg border border-edge bg-surface-panel p-0.5 shadow-surface`,buttonClassName:`rounded-md px-2.5 py-1.5 text-xs`,selectedClassName:`bg-fg text-surface-panel dark:bg-fg dark:text-surface-base`,unselectedClassName:`text-fg-muted hover:text-fg`}):null,t[108]=f,t[109]=O,t[110]=F,t[111]=D,t[112]=k,t[113]=o.marketplaceResultsTabsAria,t[114]=ee):ee=t[114];let K;t[115]!==f||t[116]!==n?(K=f===`marketplace`?(0,Q.jsx)(Je,{...n}):(0,Q.jsx)(Ie,{...n}),t[115]=f,t[116]=n,t[117]=K):K=t[117];let te;t[118]!==G||t[119]!==ee||t[120]!==K?(te=(0,Q.jsxs)(`section`,{className:`flex flex-col gap-5`,children:[G,ee,K]}),t[118]=G,t[119]=ee,t[120]=K,t[121]=te):te=t[121];let q;t[122]!==te||t[123]!==I||t[124]!==L||t[125]!==R||t[126]!==z?(q=(0,Q.jsxs)(`div`,{className:I,children:[L,R,z,te]}),t[122]=te,t[123]=I,t[124]=L,t[125]=R,t[126]=z,t[127]=q):q=t[127];let ne,J,Y;t[128]===n?(ne=t[129],J=t[130],Y=t[131]):(ne=(0,Q.jsx)(Ge,{...n}),J=(0,Q.jsx)(qe,{...n}),Y=(0,Q.jsx)(Re,{...n}),t[128]=n,t[129]=ne,t[130]=J,t[131]=Y);let X;t[132]!==q||t[133]!==ne||t[134]!==J||t[135]!==Y||t[136]!==B?(X=(0,Q.jsxs)(`div`,{className:B,children:[q,ne,J,Y]}),t[132]=q,t[133]=ne,t[134]=J,t[135]=Y,t[136]=B,t[137]=X):X=t[137];let ie;return t[138]!==X||t[139]!==V?(ie=(0,Q.jsxs)(Q.Fragment,{children:[V,X]}),t[138]=X,t[139]=V,t[140]=ie):ie=t[140],ie}function nt(e){return{value:e.id,label:e.displayName}}function $(e,t){return(0,Q.jsxs)(`li`,{className:`truncate`,children:[e.type,`: `,e.message]},`${e.path??e.skillName??`diagnostic`}-${t}`)}function rt(e){return e.id}function it(e){let t=(0,Ce.c)(22),{vm:n,embedded:r,onHeaderActionChange:i}=e,a=r===void 0?!1:r,{sk:o,hasToken:s,loading:c,onReloadClick:l,searchQuery:u,setSearchQuery:d,mainTab:f,setPendingFile:p,setInstallOpen:m,inSettingsShell:h}=n,g=G(ot),_=G(at),v;t[0]!==s||t[1]!==c||t[2]!==f||t[3]!==l||t[4]!==u||t[5]!==m||t[6]!==p||t[7]!==d||t[8]!==o||t[9]!==n.findingSkills||t[10]!==n.onFindSkills?(v=s?{searchLabel:f===`marketplace`?o.marketplaceSearchPackages:o.searchPlaceholder,search:(0,Q.jsx)(Y,{value:u,onChange:d,placeholder:f===`marketplace`?o.marketplaceSearchPackages:o.searchPlaceholder}),primary:(0,Q.jsx)(we,{sk:o,findingSkills:n.findingSkills,onFindSkills:n.onFindSkills,compactOnMobile:!0}),overflow:(0,Q.jsx)(Te,{loading:c,onReloadClick:l,sk:o,setPendingFile:p,setInstallOpen:m})}:null,t[0]=s,t[1]=c,t[2]=f,t[3]=l,t[4]=u,t[5]=m,t[6]=p,t[7]=d,t[8]=o,t[9]=n.findingSkills,t[10]=n.onFindSkills,t[11]=v):v=t[11];let y=v,b,x;return t[12]!==_||t[13]!==a||t[14]!==s||t[15]!==y||t[16]!==h||t[17]!==i||t[18]!==g||t[19]!==o.title?(b=()=>a?(i?.(y),()=>i?.(null)):!s||h?(_(),()=>_()):(g({startExtra:null,main:(0,Q.jsx)(`div`,{className:`min-w-0`,children:(0,Q.jsx)(`h1`,{className:`truncate text-base font-semibold tracking-tight text-fg`,children:o.title})}),end:(0,Q.jsx)(X,{contribution:y})}),()=>_()),x=[_,a,s,y,h,i,g,o.title],t[12]=_,t[13]=a,t[14]=s,t[15]=y,t[16]=h,t[17]=i,t[18]=g,t[19]=o.title,t[20]=b,t[21]=x):(b=t[20],x=t[21]),(0,Z.useLayoutEffect)(b,x),null}function at(e){return e.clearPageHeader}function ot(e){return e.setPageHeader}async function st(t){let n=t.name.toLowerCase();if(n.endsWith(`.zip`))return t;if(n.endsWith(`skill.md`)){let n=(await i(async()=>{let{default:t}=await import(`./jszip.min-DT31yWkU.js`).then(t=>e(t.default,1));return{default:t}},__vite__mapDeps([0,1]))).default,r=new n;r.file(`SKILL.md`,await t.arrayBuffer());let a=await r.generateAsync({type:`blob`,compression:`DEFLATE`}),o=t.name.replace(/\.md$/i,``).replace(/\s+/g,`-`)||`skill`;return new File([a],`${o}.zip`,{type:`application/zip`})}throw Error(`invalid`)}function ct(e){let t=(0,Ce.c)(33),n=S(pt),r=S(ft),i;t[0]!==n||t[1]!==e.category||t[2]!==e.enabled||t[3]!==e.provider||t[4]!==e.sort||t[5]!==r?(i=(t,i)=>!e.enabled||!e.provider||i&&(!i.items.length||i.meta.page>=i.meta.totalPages)?null:[`skills-feed`,n,r,e.provider,e.category,e.sort,t+1],t[0]=n,t[1]=e.category,t[2]=e.enabled,t[3]=e.provider,t[4]=e.sort,t[5]=r,t[6]=i):i=t[6];let a=i,o;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(o={revalidateFirstPage:!1,revalidateOnFocus:!1,shouldRetryOnError:!1,persistSize:!1},t[7]=o):o=t[7];let{data:s,error:c,size:l,setSize:u,isValidating:d,mutate:f}=A(a,dt,o),p=(0,Z.useRef)(null),m;t[8]===a?m=t[9]:(m=JSON.stringify(a(0,null)),t[8]=a,t[9]=m);let h=m,g;t[10]===s?g=t[11]:(g=s?.at(-1),t[10]=s,t[11]=g);let _=g,v;t[12]===s?v=t[13]:(v=[...new Map((s??[]).flatMap(ut).map(lt)).values()],t[12]=s,t[13]=v);let y=v,b=e.enabled&&!c&&(d||!s||l>s.length),x=!!(_?.items.length&&_.meta.page<_.meta.totalPages),C;t[14]!==y||t[15]!==_?(C=_?{..._,items:y}:null,t[14]=y,t[15]=_,t[16]=C):C=t[16];let w;t[17]!==c||t[18]!==x||t[19]!==b||t[20]!==h||t[21]!==u||t[22]!==l?(w=()=>{if(b||c||!x||p.current?.scope===h)return;let e=u(l+1);p.current={scope:h,request:e},e.finally(()=>{p.current?.request===e&&(p.current=null)})},t[17]=c,t[18]=x,t[19]=b,t[20]=h,t[21]=u,t[22]=l,t[23]=w):w=t[23];let T;t[24]===f?T=t[25]:(T=()=>{f()},t[24]=f,t[25]=T);let E;return t[26]!==c||t[27]!==x||t[28]!==b||t[29]!==C||t[30]!==w||t[31]!==T?(E={payload:C,loading:b,error:c,hasMore:x,loadMore:w,retry:T},t[26]=c,t[27]=x,t[28]=b,t[29]=C,t[30]=w,t[31]=T,t[32]=E):E=t[32],E}function lt(e){return[e.id,e]}function ut(e){return e.items}function dt(e){let[,,,t,n,r,i]=e;return ge({provider:t,category:n,sort:r,page:i,pageSize:20})}function ft(e){return e.conversationId}function pt(e){return e.baseUrl}function mt(){let e=C(e=>e.language),t=b(e).skills,n=!!S(e=>e.conversationId),r=a(),[i,s]=o(),l=(()=>{let e=i.get(`returnTo`);return e?.startsWith(`/`)&&!e.startsWith(`//`)?e:null})(),u=i.get(`mprov`)?.trim()||null,[d,f]=(0,Z.useState)(!1),[p,m]=(0,Z.useState)(null),[h,g]=(0,Z.useState)(!1),_=i.get(`q`)??``,v=i.get(`tab`),y=i.get(`source`),x=i.get(`status`),w=Ae.has(v)?v:`installed`,T=je.has(y)?y:`all`,E=Me.has(x)?x:`all`,[D,O]=(0,Z.useState)(_),[k]=F(D,250),A=k.trim(),j=D.trim().length>0,M=A.length>0,[L,R]=(0,Z.useState)(null),[z,B]=(0,Z.useState)(w),[V,U]=(0,Z.useState)(T),[G,ee]=(0,Z.useState)(``),[K,te]=(0,Z.useState)(E),q=(0,Z.useCallback)(e=>{B(e),e===`marketplace`&&(U(`all`),te(`all`))},[]),[J,Y]=(0,Z.useState)(!1),[X,re]=(0,Z.useState)(null),[ce,le]=(0,Z.useState)(!1),[de,me]=(0,Z.useState)(!1),[_e,Se]=(0,Z.useState)(null),[Ce,Q]=(0,Z.useState)(null),[we,Te]=(0,Z.useState)({}),[Ee,De]=(0,Z.useState)(!1),[Oe,ke]=(0,Z.useState)(`catalog`),[Pe,Ie]=(0,Z.useState)(``),[Le,Re]=(0,Z.useState)(null),[ze,Be]=(0,Z.useState)(null),[Ve,He]=(0,Z.useState)(!1),[Ue,We]=(0,Z.useState)(null),[Ge,Ke]=(0,Z.useState)(`downloads`),[qe,Je]=(0,Z.useState)(1),[Ye,Xe]=(0,Z.useState)(0),[Ze,Qe]=(0,Z.useState)(null),[$e,et]=(0,Z.useState)(null),[tt,nt]=(0,Z.useState)(``),[$,rt]=(0,Z.useState)(()=>u),[it,at]=(0,Z.useState)(0),[ot,lt]=(0,Z.useState)(0),[ut,dt]=(0,Z.useState)([]),ft=(0,Z.useRef)(null),pt=(0,Z.useRef)(u),mt=(0,Z.useRef)(null),ht=(0,Z.useRef)(``),gt=(0,Z.useRef)(null),_t=(0,Z.useRef)(!1),[vt,yt]=(0,Z.useState)({query:``,byProvider:{}}),[bt,xt]=(0,Z.useState)(`all`),St=(0,Z.useRef)(0),Ct=(0,Z.useRef)(A);Ct.current!==A&&(Ct.current=A,xt(e=>e===`all`?e:`all`));let wt=P(()=>H().then(e=>(dt(e.diagnostics??[]),e.catalog.map(ae))),[n,ot],{enabled:n,initial:[],errorData:[]}),{data:Tt,loading:Et,setData:Dt}=wt,Ot=P(async()=>{try{let{providers:e,current:t}=await oe();return{providers:e.map(e=>({id:e.id,displayName:e.displayName})),current:t}}catch{try{return{providers:[],current:(await fe()).provider}}catch{return{providers:[],current:`store`}}}},[n,it],{enabled:n,initial:{providers:[],current:null}}),kt=d||Et,At=Ot.data.providers;(0,Z.useEffect)(()=>{let e=e=>{if(N(e.detail)===`skills`){if(_t.current){_t.current=!1;return}lt(e=>e+1)}else at(e=>e+1)};return window.addEventListener(`config-reload`,e),()=>window.removeEventListener(`config-reload`,e)},[]);let jt=i.toString(),Mt=(0,Z.useRef)(jt);if(Mt.current!==jt){Mt.current=jt;let e=i.get(`q`)??``,t=i.get(`tab`),n=i.get(`source`),r=i.get(`status`),a=Ae.has(t)?t:`installed`,o=je.has(n)?n:`all`,s=Me.has(r)?r:`all`;O(t=>t===e?t:e),B(e=>e===a?e:a),U(e=>e===o?e:o),te(e=>e===s?e:s);let c=i.get(`mcat`)??``;nt(a===`marketplace`?e=>e===c?e:c:``)}let Nt=(0,Z.useRef)(n);!n&&Nt.current&&(rt(null),ft.current=null),Nt.current=n,n&&u&&pt.current!==u&&(pt.current=u,rt(u)),n&&u==null&&Ot.data.current&&Ot.data.current!==mt.current&&(mt.current=Ot.data.current,rt(e=>e??Ot.data.current));let Pt=`${A}|${Ge}|${z}|${tt}|${$??``}|${bt}`;ht.current!==Pt&&(ht.current=Pt,Je(1)),z===`marketplace`&&$&&gt.current!=null&&gt.current!==$&&nt(``),gt.current=$;let Ft=ct({enabled:n&&z===`marketplace`&&!!$&&!j,provider:$,category:tt.trim(),sort:Ge});(0,Z.useEffect)(()=>{if(!n||!M||z!==`marketplace`||At.length===0)return;let e=++St.current,r={};for(let e of At)r[e.id]={status:`loading`,rows:[]};yt({query:A,byProvider:r});let i=[],a=[];for(let n of At){let r=new AbortController;i.push(r);let o=window.setTimeout(()=>{r.abort(new DOMException(`Adapter timed out`,`TimeoutError`))},8e3);a.push(o),ge({provider:n.id,q:A,page:1,pageSize:40,sort:Ge,signal:r.signal}).then(t=>{if(window.clearTimeout(o),e!==St.current)return;let r=t.items.map(e=>({...e,providerId:n.id}));yt(e=>({...e,byProvider:{...e.byProvider,[n.id]:{status:`ok`,rows:r}}}))}).catch(r=>{if(window.clearTimeout(o),e!==St.current)return;let i=r instanceof DOMException&&(r.name===`TimeoutError`||r.name===`AbortError`)?t.marketplaceLoadFailed:r instanceof Error?r.message:t.marketplaceLoadFailed;yt(e=>({...e,byProvider:{...e.byProvider,[n.id]:{status:`error`,rows:[],error:i}}}))})}return()=>{St.current+=1;for(let e of a)window.clearTimeout(e);for(let e of i)e.abort()}},[n,z,M,A,At,Ge,Ye,t.marketplaceLoadFailed]);let It=P(()=>he({provider:$,locale:e}).then(e=>e.items),[n,z,$,e],{enabled:n&&z===`marketplace`&&!!$,initial:[],errorData:[]}),Lt=(0,Z.useMemo)(()=>{if(!M||vt.query!==A)return[];let e=At.map(e=>({id:e.id,rows:[...vt.byProvider[e.id]?.rows??[]]})),t=[];for(;e.some(e=>e.rows.length>0);)for(let n of e)n.rows.length>0&&t.push(n.rows.shift());let n=new Map;for(let e of t){let t=[(e.id??``).toLowerCase().trim(),(e.name??``).toLowerCase().trim(),(e.author?.username??``).toLowerCase().trim()].join(`|`),r=n.get(t);if(!r){n.set(t,{...e,additionalSources:[]});continue}if(e.providerId&&e.providerId!==r.providerId){let t=r.additionalSources??[];t.some(t=>t.providerId===e.providerId)||(t.push({providerId:e.providerId,sourceLabel:e.sourceLabel}),r.additionalSources=t)}}return Array.from(n.values())},[M,A,vt,At]),Rt=(0,Z.useMemo)(()=>{if(!M)return{};let e={all:Lt.length};for(let t of At)e[t.id]=Lt.filter(e=>e.providerId===t.id||(e.additionalSources??[]).some(e=>e.providerId===t.id)).length;return e},[M,Lt,At]),zt=(0,Z.useMemo)(()=>M?bt===`all`?Lt:Lt.filter(e=>e.providerId===bt||(e.additionalSources??[]).some(e=>e.providerId===bt)):[],[M,Lt,bt]),Bt=(0,Z.useMemo)(()=>{if(!M)return{};let e={};for(let t of At)e[t.id]=vt.byProvider[t.id]?.status??`loading`;return e},[M,vt,At]),Vt=(0,Z.useMemo)(()=>Object.values(Bt).some(e=>e===`loading`),[Bt]),Ht=(0,Z.useMemo)(()=>{if(!M)return!1;let e=Object.values(Bt);return e.length>0&&e.every(e=>e===`error`)},[M,Bt]),Ut=(0,Z.useMemo)(()=>{if(!M||Lt.length===0&&Vt)return null;let e=zt.length;return{items:zt.slice(0,qe*20),meta:{page:qe,pageSize:20,total:e,totalPages:Math.max(1,Math.ceil(e/20))},provider:bt}},[M,Lt,Vt,zt,qe,bt]),Wt=z===`marketplace`?j?M?Ut:null:Ft.payload:null,Gt=z===`marketplace`?j?M?Vt:!0:Ft.loading:!1,Kt=M?Ht?t.marketplaceLoadFailed:null:Ft.error instanceof Error?Ft.error.message:Ft.error?t.marketplaceLoadFailed:null,qt=z===`marketplace`?It.data:[],Jt=z===`marketplace`?It.loading:!1,Yt=It.error instanceof Error?It.error.message:It.error?t.marketplaceCategoriesFailed:null;tt.trim()&&qt.length>0&&!qt.some(e=>e.id===tt)&&nt(``);let Xt=(0,Z.useCallback)(async e=>{let n=e?.silent===!0;n||f(!0),m(null);try{let e=await H();return dt(e.diagnostics??[]),Dt(e.catalog.map(ae)),{ok:!0}}catch(e){let n=e instanceof Error?e.message:t.loadFailed;return m(n),{ok:!1,message:n}}finally{n||f(!1)}},[Dt,t.loadFailed]),Zt=!d&&wt.error?wt.error instanceof Error?wt.error.message:t.loadFailed:null,Qt=p??Zt;(0,Z.useEffect)(()=>{s(e=>{let t=new URLSearchParams(e);return A?t.set(`q`,A):t.delete(`q`),z===`marketplace`?t.set(`tab`,z):t.delete(`tab`),z===`installed`&&V!==`all`?t.set(`source`,V):t.delete(`source`),z===`installed`&&K!==`all`?t.set(`status`,K):t.delete(`status`),z===`marketplace`&&tt.trim()?t.set(`mcat`,tt.trim()):t.delete(`mcat`),z===`marketplace`&&$?t.set(Ne,$):t.delete(Ne),t.toString()===e.toString()?e:t},{replace:!0})},[z,tt,$,A,K,s,V]);let $t=(0,Z.useCallback)((e,t,n=5e3)=>{R({kind:e,message:t}),window.setTimeout(()=>R(null),n)},[]),en=(0,Z.useCallback)(e=>{let n=e.availability;if(!n)return t.installSuccess;let r=n.skillName||n.skillId;if(!n.loaded)return`Skill "${r}" installed, but it was not loaded. Check skill diagnostics.`;if(n.diagnostics.length>0)return`Skill "${r}" installed with ${n.diagnostics.length} diagnostic(s).`;if(n.enabled===!1)return`Skill "${r}" installed but disabled. Enable it before use.`;if(n.availableForDefaultAgent===!1){let e=n.unavailableReason||`unavailable`;return`Skill "${r}" installed but unavailable for agent "${n.defaultAgentId}" (${e}).`}return`Skill "${r}" installed and ready.`},[t.installSuccess]),tn=(0,Z.useCallback)(async e=>{ke(`catalog`),De(!0),Ie(e.name),Re(null),Be(null),We(null),He(!0);try{let t=await ye(e.name);Re(t),Ie(t.name)}catch(e){Re(null),We(e instanceof Error?e.message:t.detailLoadFailed)}finally{He(!1)}},[t.detailLoadFailed]),nn=(0,Z.useCallback)(async e=>{let n=e.trim();if(n){ke(`catalog`),De(!0),Ie(n),Re(null),Be(null),We(null),He(!0);try{let e=await ye(n);Re(e),Ie(e.name)}catch(e){Re(null),We(e instanceof Error?e.message:t.detailLoadFailed)}finally{He(!1)}}},[t.detailLoadFailed]),rn=(0,Z.useCallback)(async(e,n,r)=>{let i=r?.trim()||$;if(i){ft.current=i,ke(`store`),De(!0),Ie(n?.trim()||e),Re(null),Be(null),We(null),He(!0);try{let t=await ve(e,{provider:i});Ie(t.name),Be(t.skillDocPreview)}catch(e){Be(null),We(e instanceof Error?e.message:t.detailLoadFailed)}finally{He(!1)}}},[$,t.detailLoadFailed]),an=(0,Z.useCallback)(async(e,n)=>{Q(e),Te(t=>({...t,[e]:n})),R(null);try{return await pe(e,n),await Xt({silent:!0}),!0}catch(n){return Te(t=>{let{[e]:n,...r}=t;return r}),$t(`error`,n instanceof Error?n.message:t.skillToggleFailed),!1}finally{Q(null),Te(t=>{let{[e]:n,...r}=t;return r})}},[Xt,$t,t.skillToggleFailed]),on=(0,Z.useCallback)(async()=>{R(null),f(!0),m(null);try{await ie()}catch(e){m(e instanceof Error?e.message:t.reloadFailed),f(!1);return}await Xt()},[Xt,t.reloadFailed]),sn=(0,Z.useMemo)(()=>{let e=D.trim().toLowerCase();return e?Tt.filter(t=>[t.name,t.description,...Object.values(t.localizations??{}).flatMap(e=>e?[e.displayName,e.description]:[]),t.directoryId,t.path,t.source,t.hub?.source,t.hub?.ref].filter(Boolean).join(` `).toLowerCase().includes(e)):Tt},[Tt,D]),cn=(0,Z.useCallback)(t=>I(t,e),[e]),ln=(0,Z.useMemo)(()=>{let e=Tt.filter(e=>e.source===`builtin`);return{total:e.length,enabled:e.filter(e=>we[e.name]??e.enabled).length}},[Tt,we]),un=(0,Z.useMemo)(()=>{let e=Tt.filter(e=>e.source!==`builtin`);return{total:e.length,enabled:e.filter(e=>we[e.name]??e.enabled).length}},[Tt,we]),dn=(0,Z.useMemo)(()=>Pe?Tt.find(e=>e.name===Pe):void 0,[Tt,Pe]),fn=dn?cn(dn):null,pn=dn==null?!0:we[Pe]??dn.enabled,mn=dn?.directoryId??null,hn=dn?.managed??!1,gn=(0,Z.useMemo)(()=>Oe!==`store`||!Pe?null:ue(ft.current??$,Pe),[Oe,Pe,$]),_n=(0,Z.useMemo)(()=>{let e=sn;return z===`installed`&&V!==`all`&&(e=V===`installed`?e.filter(e=>e.source!==`builtin`):V===`plugin`?e.filter(e=>e.origin.startsWith(`plugin:`)):e.filter(e=>e.source===V)),e},[sn,z,V]),vn=(0,Z.useMemo)(()=>{let e=new Set,t=[];for(let n of _n){let r=n.category;!r||e.has(r)||(e.add(r),t.push(r))}return t.sort((e,t)=>{let n=Fe.indexOf(e),r=Fe.indexOf(t);return n>=0&&r>=0?n-r:n>=0?-1:r>=0?1:e.localeCompare(t)})},[_n]),yn=(0,Z.useCallback)(e=>t.categoryLabel?.[e]||e,[t.categoryLabel]),bn=(0,Z.useMemo)(()=>G?_n.filter(e=>e.category===G):_n,[_n,G]);(0,Z.useEffect)(()=>{ee(``)},[V]);let xn=(0,Z.useCallback)(e=>we[e.name]??e.enabled,[we]),Sn=(0,Z.useMemo)(()=>bn.filter(e=>!xn(e)).length,[bn,xn]),Cn=(0,Z.useMemo)(()=>{let t=bn;return K===`disabled`&&(t=t.filter(e=>!xn(e))),K===`enabled`&&(t=t.filter(e=>xn(e))),[...t].toSorted((t,n)=>{let r=xn(t);return r===xn(n)?cn(t).displayName.localeCompare(cn(n).displayName,e,{sensitivity:`base`}):r?-1:1})},[bn,K,e,xn,cn]),wn=async e=>{R(null),g(!0),m(null);try{let n;try{n=await st(e)}catch{m(t.invalidFile),$t(`error`,t.invalidFile);return}let r=await xe(n,{overwrite:!0});_t.current=!0,await Xt(),$t(`success`,en(r)),Y(!1),re(null),B(`installed`),U(`installed`),await nn(r.availability?.skillName||r.skillId)}catch(e){m(e instanceof Error?e.message:t.uploadFailed),$t(`error`,e instanceof Error?e.message:t.uploadFailed)}finally{g(!1)}},Tn=()=>{X&&wn(X)},En=e=>{let t=e.target.files?.[0];e.target.value=``,t&&re(t)},Dn=e=>{e.preventDefault(),e.stopPropagation(),e.dataTransfer.types.includes(`Files`)&&(le(!0),e.dataTransfer.dropEffect=`copy`)},On=e=>{let t=e.currentTarget,n=e.relatedTarget;n&&t.contains(n)||le(!1)},kn=e=>{e.preventDefault(),e.stopPropagation(),le(!1);let t=e.dataTransfer?.files?.[0];t&&re(t)},An=e=>{if(e.origin.startsWith(`plugin:`))return t.source.plugin;if(e.origin===`agents-global`)return t.source.agentsGlobal;if(e.origin===`agents-workspace`)return t.source.agentsWorkspace;switch(e.source){case`builtin`:return t.source.builtin;case`workspace`:return t.source.workspace;case`global`:return t.source.global;case`extra`:return t.source.extra;default:return e.source}},jn=async()=>{let e=_e,n=Ee&&Oe===`catalog`&&mn===e;if(me(!1),Se(null),e){R(null);try{await be(e),_t.current=!0,await Xt(),n&&(De(!1),ke(`catalog`),Ie(``),Re(null),Be(null),We(null))}catch(e){m(e instanceof Error?e.message:t.deleteFailed)}}},Mn=(0,Z.useCallback)(e=>Tt.some(t=>t.name===e),[Tt]),Nn=(0,Z.useRef)(!1),[Pn,Fn]=(0,Z.useState)(!1),In=(0,Z.useCallback)(async()=>{if(!Nn.current){Nn.current=!0,Fn(!0),R(null);try{let{defaultId:e}=await ne(),{skills:n}=await W(e,void 0,!0);if(!n.some(e=>e.name===`find-skills`&&e.availableForCurrentAgent))throw Error(t.findUnavailable);let i=new URLSearchParams({projectScope:`none`,scene:`find-skills`,skill:`find-skills`});D.trim()&&i.set(`draft`,t.findQuery.replace(`{{query}}`,D.trim())),r(`/chat/new?${i}`,{state:{forceNewChat:!0,agentId:e}})}catch(e){$t(`error`,e instanceof Error?e.message:t.findFailed)}finally{Nn.current=!1,Fn(!1)}}},[r,D,$t,t.findUnavailable,t.findFailed,t.findQuery]),Ln=(0,Z.useCallback)(async e=>{let n=(e?.name??Pe).trim();if(!n)return;let i=e?.source??Oe;if(i===`catalog`){let e=Tt.find(e=>e.name===n);if(e&&!(we[e.name]??e.enabled))return}R(null);let a=i===`store`&&!Mn(n);et(n);try{if(a){let t=e?.providerOverride?.trim()||ft.current||$;await se({name:n,overwrite:!1,...t?{provider:t}:{}}),_t.current=!0,await Xt({silent:!0})}De(!1),r(`/chat/new?skill=${encodeURIComponent(n)}`)}catch(e){$t(`error`,e instanceof Error?e.message:t.uploadFailed)}finally{et(null)}},[Tt,Pe,Oe,we,Mn,Xt,r,$t,t.uploadFailed,$]),Rn=(0,Z.useCallback)(async(e,n)=>{let r=Mn(e);if(!(r&&!window.confirm(t.marketplaceReinstallConfirm))){R(null),Qe(e);try{let t=n?.providerOverride?.trim()||(n?.useDetailProvider?ft.current??$:$),i=await se({name:e,overwrite:r,...t?{provider:t}:{}});_t.current=!0,await Xt({silent:!0}),$t(`success`,en(i)),B(`installed`),U(`installed`),await nn(i.availability?.skillName||i.skillId||e)}catch(e){$t(`error`,e instanceof Error?e.message:t.uploadFailed)}finally{Qe(null)}}},[Mn,en,Xt,$,nn,$t,t.marketplaceReinstallConfirm,t.uploadFailed]),{pathname:zn}=c(),Bn=zn.startsWith(`/settings/`);return{sk:t,hasToken:n,catalog:Tt,loading:kt,error:Qt,uploading:h,searchQuery:D,setSearchQuery:O,actionFeedback:L,skillDiagnostics:ut,mainTab:z,setMainTab:q,sourceFilter:V,setSourceFilter:U,builtinCategoryFilter:G,setBuiltinCategoryFilter:ee,installOpen:J,setInstallOpen:Y,pendingFile:X,setPendingFile:re,dropActive:ce,setDropActive:le,confirmOpen:de,setConfirmOpen:me,confirmId:_e,setConfirmId:Se,togglingSkillName:Ce,enabledOverride:we,detailOpen:Ee,setDetailOpen:De,detailSource:Oe,setDetailSource:ke,detailTitle:Pe,setDetailTitle:Ie,detailCatalogPreview:Le,setDetailCatalogPreview:Re,detailMarketplacePreview:ze,setDetailMarketplacePreview:Be,detailLoading:Ve,detailError:Ue,setDetailError:We,marketSort:Ge,setMarketSort:Ke,mpHasMore:j?!!(Ut&&Ut.items.length<Ut.meta.total):Ft.hasMore,onLoadMoreMarket:()=>{j?Gt||Je(e=>e+1):Ft.loadMore()},onRetryMarket:()=>{j?Xe(e=>e+1):Ft.retry()},mpLoading:Gt,mpError:Kt,mpPayload:Wt,searchActive:M,searchInputActive:j,resultTab:bt,setResultTab:xt,aggregatedTabCounts:Rt,aggregatedProviderStatus:Bt,aggregatedAllFailed:Ht,installingMarketName:Ze,usingSkillInChatName:$e,onUseSkillInChat:Ln,onFindSkills:In,findingSkills:Pn,marketCategoryId:tt,setMarketCategoryId:nt,mpCategories:qt,mpCategoriesError:Yt,mpCategoriesLoading:Jt,marketBrowseProvider:$,setMarketBrowseProvider:rt,registeredProviders:At,builtinTabStats:ln,userTabStats:un,detailEnabled:pn,detailPresentation:fn,detailDirectoryId:mn,detailManaged:hn,detailExternalUrl:gn,filteredCatalog:_n,builtinCategories:vn,categoryFilteredCatalog:bn,catalogDisplayRows:Cn,skillPresentation:cn,marketplacePresentation:t=>I(t,e),catalogDisabledCount:Sn,catalogStatusFilter:K,setCatalogStatusFilter:te,resolveSkillEnabled:xn,inSettingsShell:Bn,recoveryReturnPath:l,onRecoveryDone:()=>l&&r(l),categoryLabel:yn,onReloadClick:on,openSkillDetail:tn,openMarketplaceDetail:rn,onSkillToggle:an,onInstallSubmit:Tn,onFileInputChange:En,onModalDragOver:Dn,onModalDragLeave:On,onModalDrop:kn,sourceLabel:An,runDelete:jn,onMarketInstall:Rn,isSkillInstalledByName:Mn}}function ht(e){let t=(0,Ce.c)(4),{embedded:n,onHeaderActionChange:r}=e,i=n===void 0?!1:n,a=mt(),o;return t[0]!==i||t[1]!==r||t[2]!==a?(o=(0,Q.jsx)(tt,{vm:a,embedded:i,onHeaderActionChange:r}),t[0]=i,t[1]=r,t[2]=a,t[3]=o):o=t[3],o}export{ht as SkillsPage};
@@ -1 +0,0 @@
1
- import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,t as n}from"./vendor-react-BOUWij0V.js";import{t as r}from"./external-link-DjqjBmc3.js";import{t as i}from"./messages-Bnx3GMDB.js";import{t as a}from"./cn-JdwAhgNB.js";import{n as o}from"./locale-store-D6_rF-qT.js";import{n as s}from"./interaction-BdhHBbYa.js";import{n as c}from"./electron-env-Dit0bHgy.js";import{r as l}from"./settings-form-draft-Dy10ldo8.js";import{$t as u,Fc as d,No as f,Qt as p,Uo as m,Xt as h,Zt as g}from"./index-DpLD-7Hc.js";import{n as _,r as v}from"./settings-page-layout-X1x-2Cp9.js";import{r as y,t as b}from"./settings-form-section-exRhP9xn.js";var x=e(t(),1);async function S(e,t){let n=window.electronAPI?.system;if(!c()||!n?.requestNotifications)return`unsupported`;let r=await n.requestNotifications();if(r.status!==`granted`)return r.outcome===`opened-settings`||r.status===`denied`?`denied`:`default`;await n.setBehavior({notifyEnabled:!0});let i=await n.showEndpointNotification({title:e,body:t});return i.ok||await n.setBehavior({notifyEnabled:!1}),i.ok?`enabled`:`default`}var C=n();function w(){let e=i(o(e=>e.language)).systemSettings.browserNotify,[t,n]=(0,x.useState)(p),[r,a]=(0,x.useState)(null),[s,c]=(0,x.useState)(!1),l=async t=>{if(!t){n(u({enabled:!1})),a(null);return}c(!0);try{let t=await h();if(t!==`granted`){a(t===`unsupported`?e.unsupported:e.denied);return}n(u({enabled:!0})),a(await g(e.testTitle,e.testBody)?e.testShown:e.failed)}finally{c(!1)}},f=e=>{n(u(e))};return(0,C.jsxs)(v,{gap:`gap-6`,children:[(0,C.jsx)(_,{title:e.pageTitle}),(0,C.jsxs)(b,{children:[(0,C.jsxs)(`div`,{className:`mb-4 flex items-center gap-2 text-sm font-semibold text-fg`,children:[(0,C.jsx)(d,{className:`size-4 text-accent`,strokeWidth:1.75}),e.title]}),(0,C.jsx)(`p`,{className:`mb-4 text-sm text-fg-muted`,children:e.description}),(0,C.jsx)(`div`,{className:`space-y-2`,children:[[`enabled`,e.enabled,e.enabledDesc],[`completed`,e.completed,e.completedDesc],[`failed`,e.failedRuns,e.failedRunsDesc]].map(([e,n,r])=>(0,C.jsxs)(`label`,{className:`flex items-center justify-between gap-3 rounded-xl bg-surface-hover/50 px-3 py-2.5 dark:bg-surface-hover/35`,children:[(0,C.jsxs)(`span`,{children:[(0,C.jsx)(`span`,{className:`block text-sm font-medium text-fg`,children:n}),(0,C.jsx)(`span`,{className:`block text-xs text-fg-muted`,children:r})]}),(0,C.jsx)(`input`,{type:`checkbox`,className:`ui-checkbox`,disabled:s||e!==`enabled`&&!t.enabled,checked:t[e],onChange:t=>{e===`enabled`?l(t.target.checked):f({[e]:t.target.checked})}})]},e))}),r?(0,C.jsx)(`p`,{className:`mt-3 text-sm text-fg-muted`,role:`status`,children:r}):null,(0,C.jsx)(`p`,{className:`mt-4 text-xs text-fg-muted`,children:e.limitation})]})]})}async function T(){if(typeof navigator>`u`||!navigator.mediaDevices?.getUserMedia)return!1;try{let e=await navigator.mediaDevices.getUserMedia({audio:!0});for(let t of e.getTracks())t.stop();return!0}catch{return!1}}function E(e,t,n){return e.outcome===`opened-settings`?n.openedSettings:e.status===`granted`&&t?e.outcome===`already-granted`?n.alreadyGranted:n.granted:t?e.status===`denied`?n.denied:n.prompted:n.rendererDenied}function D(e,t){return e.outcome===`opened-settings`?t.openedSettings:e.status===`granted`?e.outcome===`already-granted`?t.alreadyGranted:t.granted:t.denied}function O(e,t){return e.outcome===`opened-settings`?t.openedSettings:e.status===`granted`?e.outcome===`already-granted`?t.alreadyGranted:t.granted:e.status===`denied`?t.denied:t.prompted}function k(e,t){return e.outcome===`opened-settings`?t.openedSettings:e.status===`granted`?e.outcome===`already-granted`?t.alreadyGranted:t.granted:e.status===`denied`?t.denied:t.prompted}var A=new Set([`microphone`,`accessibility`,`notifications`,`screen`]);function j(e,t,n){return t===`granted`?!1:e===`accessibility`&&(n===`darwin`||n===`win32`||n===`linux`)||e===`screen`&&(n===`darwin`||n===`win32`)||A.has(e)?t===`unknown`:!1}function M(e,t,n){return e===`accessibility`?!1:e===`screen`&&n===`linux`?!0:A.has(e)?t===`denied`:!0}var N=[{key:`fullDisk`,pane:`fullDisk`,platforms:[`darwin`]},{key:`screen`,pane:`screen`},{key:`microphone`,pane:`microphone`},{key:`accessibility`,pane:`accessibility`},{key:`automation`,pane:`automation`},{key:`notifications`,pane:`notifications`},{key:`location`,pane:`location`}];function P(e){return e===`linux`?N:N.filter(t=>!t.platforms||t.platforms.includes(e))}function F(e,t){let n=i(e).systemSettings.status;return t===`granted`?{label:n.granted,className:`text-emerald-600 dark:text-emerald-400`}:t===`denied`?{label:n.denied,className:`text-amber-600 dark:text-amber-400`}:{label:n.unknown,className:`text-fg-muted`}}function I(e,t,n){let r=i(e).systemSettings.permUnknown?.[t];return r?n===`darwin`&&r.darwin?r.darwin:n===`win32`&&r.win32?r.win32:n===`linux`&&r.linux?r.linux:null:null}var L={behavior:null,perms:null,loadError:null,permFeedback:null,permBusy:!1,refreshing:!1};function R(){let e=o(e=>e.language),t=i(e),n=t.systemSettings,[u,d]=(0,x.useReducer)(l,L),{behavior:p,perms:h,loadError:g,permFeedback:A,permBusy:N,refreshing:R}=u,z=typeof window<`u`?window.electronAPI?.system:void 0,B=(0,x.useCallback)(async e=>{if(z){d({type:`patch`,patch:{loadError:null}});try{d({type:`patch`,patch:{behavior:await z.getBehavior(),perms:await z.getPermissions({probe:e?.showRefreshFeedback}),...e?.showRefreshFeedback?{permFeedback:n.refreshDone}:{}}})}catch(t){d({type:`patch`,patch:{loadError:t instanceof Error?t.message:String(t),...e?.showRefreshFeedback?{permFeedback:null}:{}}})}}},[z,n.refreshDone]),V=(0,x.useCallback)(async()=>{if(!(R||N)){d({type:`patch`,patch:{refreshing:!0}});try{await B({showRefreshFeedback:!0})}finally{d({type:`patch`,patch:{refreshing:!1}})}}},[B,N,R]);if((0,x.useEffect)(()=>{let e=new Set([n.refreshDone,n.openSettingsDone,n.openSettingsFailed,n.desktopNotify.testShown]);if(!A||!e.has(A))return;let t=window.setTimeout(()=>{d({type:`patch`,patch:{permFeedback:null}})},3e3);return()=>window.clearTimeout(t)},[A,n.openSettingsDone,n.openSettingsFailed,n.refreshDone,n.desktopNotify.testShown]),(0,x.useEffect)(()=>{c()&&z&&B()},[z,B]),!c()||!z)return(0,C.jsx)(w,{});let H=async e=>{try{let{behavior:t}=await z.setBehavior(e);d({type:`patch`,patch:{behavior:t}})}catch(e){d({type:`patch`,patch:{loadError:e instanceof Error?e.message:String(e)}})}},U=async e=>{if(!e){await H({notifyEnabled:!1});return}d({type:`patch`,patch:{permBusy:!0,permFeedback:null}});try{let e=await S(n.desktopNotify.testTitle,n.desktopNotify.testBody);if(e===`unsupported`){d({type:`patch`,patch:{permFeedback:n.notificationsFeedback.unsupported}});return}if(e===`denied`){d({type:`patch`,patch:{permFeedback:n.desktopNotify.denied}});return}if(e==="default"){d({type:`patch`,patch:{permFeedback:n.notificationsFeedback.default}});return}await H({notifyEnabled:!0}),d({type:`patch`,patch:{perms:await z.getPermissions()}}),d({type:`patch`,patch:{permFeedback:n.desktopNotify.testShown}})}catch(e){d({type:`patch`,patch:{loadError:e instanceof Error?e.message:String(e)}})}finally{d({type:`patch`,patch:{permBusy:!1}})}},W=async e=>{d({type:`patch`,patch:{permFeedback:null}}),d({type:`patch`,patch:{loadError:null}});try{(await z.openPrivacy(e)).ok?d({type:`patch`,patch:{permFeedback:n.openSettingsDone}}):d({type:`patch`,patch:{permFeedback:n.openSettingsFailed}})}catch(e){d({type:`patch`,patch:{loadError:e instanceof Error?e.message:String(e)}})}},G=async()=>{d({type:`patch`,patch:{permBusy:!0,permFeedback:null}}),d({type:`patch`,patch:{loadError:null}});try{let e=await z.requestMicrophone(),t=e.outcome===`opened-settings`||e.status===`denied`?!1:await T();d({type:`patch`,patch:{perms:await z.getPermissions()}}),d({type:`patch`,patch:{permFeedback:E(e,t,n.permFeedback)}})}catch(e){d({type:`patch`,patch:{loadError:e instanceof Error?e.message:String(e)}})}finally{d({type:`patch`,patch:{permBusy:!1}})}},K=async()=>{if(z.requestAccessibility){d({type:`patch`,patch:{permBusy:!0,permFeedback:null}}),d({type:`patch`,patch:{loadError:null}});try{let e=await z.requestAccessibility();d({type:`patch`,patch:{perms:await z.getPermissions()}}),d({type:`patch`,patch:{permFeedback:D(e,n.accessibilityFeedback)}})}catch(e){d({type:`patch`,patch:{loadError:e instanceof Error?e.message:String(e)}})}finally{d({type:`patch`,patch:{permBusy:!1}})}}},q=async()=>{if(z.requestNotifications){d({type:`patch`,patch:{permBusy:!0,permFeedback:null}}),d({type:`patch`,patch:{loadError:null}});try{let e=await z.requestNotifications();d({type:`patch`,patch:{perms:await z.getPermissions()}}),d({type:`patch`,patch:{permFeedback:O(e,n.notificationsFeedback)}})}catch(e){d({type:`patch`,patch:{loadError:e instanceof Error?e.message:String(e)}})}finally{d({type:`patch`,patch:{permBusy:!1}})}}},J=async()=>{if(z.requestScreen){d({type:`patch`,patch:{permBusy:!0,permFeedback:null}}),d({type:`patch`,patch:{loadError:null}});try{let e=await z.requestScreen();d({type:`patch`,patch:{perms:await z.getPermissions()}}),d({type:`patch`,patch:{permFeedback:k(e,n.screenFeedback)}})}catch(e){d({type:`patch`,patch:{loadError:e instanceof Error?e.message:String(e)}})}finally{d({type:`patch`,patch:{permBusy:!1}})}}},Y=p?p.platform===`win32`?n.permissionsHintWin:p.platform===`linux`?n.permissionsHintLinux:p.platform===`darwin`?n.permissionsHintDarwin:n.permissionsHint:n.permissionsHint;return(0,C.jsxs)(v,{gap:`gap-6`,children:[(0,C.jsx)(_,{title:n.title}),g?(0,C.jsx)(`p`,{className:`text-sm text-amber-600 dark:text-amber-400`,role:`alert`,children:g}):null,A?(0,C.jsx)(`p`,{className:a(`text-sm`,A===n.refreshDone||A===n.openSettingsDone||A===n.permFeedback.granted||A===n.permFeedback.alreadyGranted||A===n.accessibilityFeedback.granted||A===n.accessibilityFeedback.alreadyGranted||A===n.notificationsFeedback.granted||A===n.notificationsFeedback.alreadyGranted||A===n.screenFeedback.granted||A===n.screenFeedback.alreadyGranted||A===n.desktopNotify.testShown?`text-emerald-600 dark:text-emerald-400`:`text-fg-muted`),role:`status`,"aria-live":`polite`,children:A}):null,(0,C.jsxs)(b,{children:[(0,C.jsxs)(`div`,{className:`mb-4 flex items-center gap-2 text-sm font-semibold text-fg`,children:[(0,C.jsx)(f,{className:`size-4 text-accent`,strokeWidth:1.75}),n.behaviorGroup]}),(0,C.jsxs)(`div`,{className:`space-y-2`,children:[(0,C.jsxs)(`label`,{className:`flex items-center justify-between gap-3 rounded-xl bg-surface-hover/50 px-3 py-2.5`,children:[(0,C.jsxs)(`div`,{children:[(0,C.jsx)(`div`,{className:`text-sm font-medium text-fg`,children:t.endpointToolsSettings.deviceAccess.background}),(0,C.jsx)(`p`,{className:`text-xs text-fg-muted`,children:t.endpointToolsSettings.deviceAccess.sleep})]}),(0,C.jsx)(`input`,{type:`checkbox`,className:`ui-checkbox`,disabled:!p?.backgroundSupported,checked:!!p?.runInBackground,onChange:e=>void H({runInBackground:e.target.checked})})]}),(0,C.jsxs)(`div`,{className:`flex items-center justify-between gap-3 rounded-xl bg-surface-hover/50 px-3 py-2.5 dark:bg-surface-hover/35`,children:[(0,C.jsxs)(`div`,{children:[(0,C.jsx)(`div`,{className:`text-sm font-medium text-fg`,children:n.toggles.openAtLogin}),(0,C.jsx)(`p`,{className:`text-xs text-fg-muted`,children:n.toggles.openAtLoginDesc})]}),(0,C.jsx)(`input`,{type:`checkbox`,className:`ui-checkbox`,disabled:!p,checked:!!p?.openAtLogin,onChange:e=>{H({openAtLogin:e.target.checked})}})]}),(0,C.jsxs)(`div`,{className:`flex items-center justify-between gap-3 rounded-xl bg-surface-hover/50 px-3 py-2.5 dark:bg-surface-hover/35`,children:[(0,C.jsxs)(`div`,{children:[(0,C.jsx)(`div`,{className:`text-sm font-medium text-fg`,children:n.toggles.keepAwake}),(0,C.jsx)(`p`,{className:`text-xs text-fg-muted`,children:n.toggles.keepAwakeDesc})]}),(0,C.jsx)(`input`,{type:`checkbox`,className:`ui-checkbox`,disabled:!p,checked:!!p?.keepAwakePreferred,onChange:e=>{H({keepAwakePreferred:e.target.checked})}})]}),(0,C.jsxs)(`div`,{className:`flex items-center justify-between gap-3 rounded-xl bg-surface-hover/50 px-3 py-2.5 dark:bg-surface-hover/35`,children:[(0,C.jsxs)(`div`,{children:[(0,C.jsx)(`div`,{className:`text-sm font-medium text-fg`,children:n.toggles.notifyDesktop}),(0,C.jsx)(`p`,{className:`text-xs text-fg-muted`,children:n.toggles.notifyDesktopDesc})]}),(0,C.jsx)(`input`,{type:`checkbox`,className:`ui-checkbox`,disabled:!p||N,checked:!!p?.notifyEnabled,onChange:e=>{U(e.target.checked)}})]}),(0,C.jsxs)(`div`,{className:`flex items-center justify-between gap-3 rounded-xl bg-surface-hover/50 px-3 py-2.5 dark:bg-surface-hover/35`,children:[(0,C.jsxs)(`div`,{children:[(0,C.jsx)(`div`,{className:`text-sm font-medium text-fg`,children:n.toggles.notifySound}),(0,C.jsx)(`p`,{className:`text-xs text-fg-muted`,children:n.toggles.notifySoundDesc})]}),(0,C.jsx)(`input`,{type:`checkbox`,className:`ui-checkbox`,disabled:!p,checked:!!p?.notifySoundEnabled,onChange:e=>{H({notifySoundEnabled:e.target.checked})}})]})]})]}),p&&h?(0,C.jsxs)(`section`,{className:y(),children:[(0,C.jsxs)(`div`,{className:`mb-4 flex flex-col gap-1 sm:flex-row sm:items-center sm:justify-between`,children:[(0,C.jsxs)(`div`,{children:[(0,C.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:n.permissionsTitle}),(0,C.jsx)(`p`,{className:`mt-0.5 text-xs text-fg-muted`,children:Y}),p.platform===`darwin`&&!p.packaged?(0,C.jsx)(`p`,{className:`mt-1 text-xs text-amber-600 dark:text-amber-400`,children:n.permissionsHintDevDarwin}):null]}),(0,C.jsxs)(`button`,{type:`button`,disabled:R||N,"aria-busy":R,className:a(`mt-2 inline-flex max-w-full items-center justify-center gap-1.5 rounded-lg border border-edge bg-surface-panel px-3 py-1.5 text-sm font-medium text-fg transition-colors hover:bg-surface-hover disabled:opacity-50 sm:mt-0`,s.press),onClick:()=>void V(),children:[(0,C.jsx)(m,{className:a(`size-3.5`,R&&`animate-spin`),strokeWidth:1.75,"aria-hidden":!0}),R?n.refreshing:n.refresh]})]}),(0,C.jsx)(`ul`,{className:`space-y-3`,children:P(p.platform).map(({key:t,pane:i})=>{let o=F(e,h[t]),c=n.perm[t],l=h[t]===`unknown`?I(e,t,p.platform):null;return c?(0,C.jsxs)(`li`,{className:`flex flex-col gap-2 rounded-xl bg-surface-panel/70 p-3 shadow-surface sm:flex-row sm:items-center sm:justify-between`,children:[(0,C.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,C.jsx)(`div`,{className:`text-sm font-medium text-fg`,children:c.title}),(0,C.jsx)(`p`,{className:`mt-0.5 text-xs text-fg-muted`,children:c.desc}),(0,C.jsx)(`p`,{className:`mt-1 text-xs font-medium ${o.className}`,children:o.label}),l?(0,C.jsx)(`p`,{className:`mt-1 text-xs text-fg-muted`,children:l}):null]}),(0,C.jsxs)(`div`,{className:`flex shrink-0 flex-wrap items-center gap-2`,children:[t===`notifications`&&j(t,h[t],p.platform)?(0,C.jsx)(`button`,{type:`button`,disabled:N,className:a(`inline-flex items-center gap-1 rounded-lg border border-edge bg-surface-base px-2.5 py-1.5 text-xs font-medium text-fg hover:bg-surface-hover disabled:opacity-50`,s.press),onClick:()=>void q(),children:n.requestAccess}):null,t===`microphone`&&j(t,h[t],p.platform)?(0,C.jsx)(`button`,{type:`button`,disabled:N,className:a(`inline-flex items-center gap-1 rounded-lg border border-edge bg-surface-base px-2.5 py-1.5 text-xs font-medium text-fg hover:bg-surface-hover disabled:opacity-50`,s.press),onClick:()=>void G(),children:n.requestAccess}):null,t===`accessibility`&&j(t,h[t],p.platform)?(0,C.jsx)(`button`,{type:`button`,disabled:N,className:a(`inline-flex items-center gap-1 rounded-lg border border-edge bg-surface-base px-2.5 py-1.5 text-xs font-medium text-fg hover:bg-surface-hover disabled:opacity-50`,s.press),onClick:()=>void K(),children:n.requestAccess}):null,t===`screen`&&j(t,h[t],p.platform)?(0,C.jsx)(`button`,{type:`button`,disabled:N,className:a(`inline-flex items-center gap-1 rounded-lg border border-edge bg-surface-base px-2.5 py-1.5 text-xs font-medium text-fg hover:bg-surface-hover disabled:opacity-50`,s.press),onClick:()=>void J(),children:n.requestAccess}):null,M(t,h[t],p.platform)?(0,C.jsxs)(`button`,{type:`button`,className:a(`inline-flex items-center gap-1.5 rounded-lg border border-edge bg-surface-base px-2.5 py-1.5 text-xs font-medium text-fg hover:bg-surface-hover`,s.press),onClick:()=>void W(i),children:[n.openSettings,(0,C.jsx)(r,{className:`size-3.5`,strokeWidth:1.75,"aria-hidden":!0})]}):null]})]},t):null})})]}):null]})}export{R as SystemSettingsPanel};
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/attachment-process-heavy-Db4nTY5N.js","assets/rolldown-runtime-aKtaBQYM.js","assets/preload-helper-zJ_50EbN.js","assets/pdf-runtime-DU_sMPjG.js","assets/source-workspace-editor-DunRD1gY.js","assets/vendor-codemirror-DFxP3B9T.js","assets/vendor-react-BOUWij0V.js","assets/code-editor-CXIH8jQw.js","assets/languages-BFe8nIOO.js","assets/binary-plugins-gS7Wg68v.js","assets/attachment-utils-core-BIOUBrpT.js","assets/use-blob-object-url-D4BFuzZB.js","assets/preview-open-alternatives-Dvey7GwU.js","assets/download-Dk-ZjtO6.js","assets/createLucideIcon-DPHK1VkS.js","assets/external-link-DjqjBmc3.js","assets/cn-JdwAhgNB.js","assets/electron-env-Dit0bHgy.js","assets/interaction-BdhHBbYa.js","assets/messages-Bnx3GMDB.js","assets/media-plugins-C631CDu4.js","assets/archive-plugin-BbT1O7oK.js","assets/jszip.min-DT31yWkU.js"])))=>i.map(i=>d[i]);
2
- import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,n,t as r}from"./vendor-react-BOUWij0V.js";import{t as i}from"./preload-helper-zJ_50EbN.js";import{f as a}from"./chunk-KS7C4IRE-BMYIfy9x.js";import{t as o}from"./createLucideIcon-DPHK1VkS.js";import{t as s}from"./check-DUBLcKHA.js";import{t as c}from"./copy-Dv6d4Dvw.js";import{t as l}from"./download-Dk-ZjtO6.js";import{t as u}from"./ellipsis-0k4rZLoy.js";import{t as d}from"./external-link-DjqjBmc3.js";import{t as f}from"./eye-CABVeTq0.js";import{A as p,k as m,t as h}from"./markdown-view-_xwUuKce.js";import{t as g}from"./folder-open-CyzJ19I9.js";import{t as _}from"./link-2-D_ZKYUW7.js";import{t as v}from"./loader-circle-CifKLtgG.js";import{t as y}from"./message-square-plus-XP0tGdlV.js";import{t as b}from"./minimize-2-DtOGrlpo.js";import{t as x}from"./pencil-DmIY3Oa-.js";import{t as S}from"./plus-Q2yW6OE7.js";import{t as C}from"./rotate-cw-LIg3Am9S.js";import{t as w}from"./search-DA7gz22f.js";import{t as T}from"./x-B_N4OPjy.js";import{t as ee}from"./messages-Bnx3GMDB.js";import{t as E}from"./cn-JdwAhgNB.js";import{i as D,n as te,r as O}from"./locale-store-D6_rF-qT.js";import{r as k,t as A}from"./constants-Dy8Gw0sF.js";import{a as ne}from"./session-api-BcQodoAu.js";import{n as j}from"./interaction-BdhHBbYa.js";import{t as M}from"./activity-store-D9ZMh5ZR.js";import{a as N,i as re,n as P,r as ie,s as ae,t as F}from"./attachment-utils-core-BIOUBrpT.js";import{r as oe}from"./app-chrome-BeB4KgOf.js";import{t as I}from"./skeleton-BwbyijEw.js";import{n as L}from"./electron-env-Dit0bHgy.js";import{t as R}from"./use-async-resource-GrnWNwMZ.js";import{t as z}from"./index.module-Cd9ENXfk.js";import{a as B,c as V,d as H,m as se,n as ce,r as le,u as U}from"./workspace-api-Lzv6GDO8.js";var ue=o(`step-forward`,[[`path`,{d:`M10.029 4.285A2 2 0 0 0 7 6v12a2 2 0 0 0 3.029 1.715l9.997-5.998a2 2 0 0 0 .003-3.432z`,key:`1ystz2`}],[`path`,{d:`M3 4v16`,key:`1ph11n`}]]),W=o(`step-back`,[[`path`,{d:`M13.971 4.285A2 2 0 0 1 17 6v12a2 2 0 0 1-3.029 1.715l-9.997-5.998a2 2 0 0 1-.003-3.432z`,key:`19qhus`}],[`path`,{d:`M21 20V4`,key:`cb8qj8`}]]),de=o(`text-wrap`,[[`path`,{d:`m16 16-3 3 3 3`,key:`117b85`}],[`path`,{d:`M3 12h14.5a1 1 0 0 1 0 7H13`,key:`18xa6z`}],[`path`,{d:`M3 19h6`,key:`1ygdsz`}],[`path`,{d:`M3 5h18`,key:`1u36vt`}]]),G=e(t(),1),K=n();function q(e,t,n,r){let i=n?t.replace(/\{\{(\w+)\}\}/g,(e,t)=>String(n[t]??``)):t;M({tone:e,title:i,href:r?.href,dedupeKey:`action-feedback:${e}:${i}`})}var J=5*1024*1024,Y=32*1024*1024,fe=new Set(`.astro,.bat,.c,.cc,.clj,.cljs,.cljc,.cmd,.cpp,.cs,.cts,.cxx,.dart,.edn,.erl,.ex,.exs,.fish,.fs,.fsx,.go,.gql,.graphql,.groovy,.h,.hh,.hpp,.hrl,.hxx,.java,.ts,.tsx,.mts,.js,.jsx,.mjs,.cjs,.css,.scss,.sass,.less,.json,.jsonc,.json5,.yml,.yaml,.xml,.xsd,.xsl,.py,.pyw,.rb,.php,.rs,.kt,.kts,.scala,.swift,.m,.mm,.sh,.bash,.zsh,.ps1,.sql,.lua,.r,.pl,.pm,.sol,.tf,.tfvars,.nix,.proto,.vue,.svelte,.toml,.ini,.cfg,.conf,.properties`.split(`,`)),pe=new Set([`.txt`,`.log`,`.lock`,`.csv`,`.tsv`,`.env`,`.gitignore`,`.gitattributes`,`.editorconfig`,`.npmrc`,`.dockerignore`,`.eslintignore`,`.prettierignore`,`.stylelintignore`]),me=new Set([`dockerfile`,`gemfile`,`jenkinsfile`,`makefile`,`procfile`,`rakefile`]),he=new Set([`brewfile`,`changelog`,`codeowners`,`license`,`readme`]),ge=new Set([`.png`,`.jpg`,`.jpeg`,`.gif`,`.webp`,`.bmp`,`.ico`,`.svg`,`.svgz`,`.tif`,`.tiff`,`.avif`,`.heic`,`.heif`,`.jxl`]),_e=new Set([`.mp3`,`.wav`,`.ogg`,`.oga`,`.aac`,`.m4a`,`.flac`,`.opus`,`.weba`]),ve=new Set([`.mp4`,`.webm`,`.mov`,`.m4v`,`.ogv`]),ye=new Set([`.zip`]),be=new Map([[`.pdf`,`application/pdf`],[`.docx`,`application/vnd.openxmlformats-officedocument.wordprocessingml.document`],[`.pptx`,`application/vnd.openxmlformats-officedocument.presentationml.presentation`],[`.xlsx`,`application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`],[`.xls`,`application/vnd.ms-excel`],[`.md`,`text/markdown`],[`.markdown`,`text/markdown`],[`.html`,`text/html`],[`.htm`,`text/html`],[`.json`,`application/json`],[`.txt`,`text/plain`],[`.csv`,`text/csv`],[`.tsv`,`text/tab-separated-values`],[`.png`,`image/png`],[`.jpg`,`image/jpeg`],[`.jpeg`,`image/jpeg`],[`.gif`,`image/gif`],[`.webp`,`image/webp`],[`.svg`,`image/svg+xml`],[`.svgz`,`image/svg+xml`],[`.mp3`,`audio/mpeg`],[`.wav`,`audio/wav`],[`.ogg`,`audio/ogg`],[`.mp4`,`video/mp4`],[`.webm`,`video/webm`],[`.mov`,`video/quicktime`],[`.zip`,`application/zip`]]);function xe(e){let t=X(e),n=t.lastIndexOf(`.`);return n<0||n===t.length-1?``:t.slice(n).toLowerCase()}function X(e){let t=e.replace(/\\/g,`/`).split(`/`);return t[t.length-1]||e}function Z(e,t){let n=t?.split(`;`)[0]?.trim().toLowerCase();return n&&n!==`application/octet-stream`?n:be.get(xe(e))??n??`application/octet-stream`}function Se(e,t){let n=xe(e),r=X(e).toLowerCase(),i=Z(e,t);return i===`text/markdown`||n===`.md`||n===`.markdown`?`markdown`:i===`text/html`||n===`.html`||n===`.htm`?`html`:i===`application/pdf`||n===`.pdf`?`pdf`:i===`application/vnd.openxmlformats-officedocument.wordprocessingml.document`||n===`.docx`?`docx`:i===`application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`||i===`application/vnd.ms-excel`||n===`.xlsx`||n===`.xls`?`spreadsheet`:i===`application/vnd.openxmlformats-officedocument.presentationml.presentation`||n===`.pptx`?`pptx`:i.startsWith(`image/`)||ge.has(n)?`image`:i.startsWith(`audio/`)||_e.has(n)?`audio`:i.startsWith(`video/`)||ve.has(n)?`video`:i===`application/zip`||ye.has(n)?`archive`:fe.has(n)||me.has(r)||r.startsWith(`dockerfile.`)?`code`:i.startsWith(`text/`)||pe.has(n)||he.has(r)||r.startsWith(`.env.`)||i===`application/json`?`text`:`unsupported`}function Ce(e){switch(e){case`text`:case`markdown`:case`code`:case`html`:return`text`;case`unsupported`:return`metadata`;default:return`binary`}}async function we(e){let{uri:t,conversationId:n,taskId:r}=e;try{let e=k(t),i=await D(O(e?`/api/files/${encodeURIComponent(e)}/content`:ae(t,n,r)));return i.ok?{ok:!0,blob:await i.blob()}:{ok:!1,reason:`http`,status:i.status}}catch(e){return{ok:!1,reason:`network`,message:e instanceof Error?e.message:String(e)}}}async function Te(e){let t=await we(e);return t.ok?{ok:!0,buffer:await t.blob.arrayBuffer()}:t}function Ee(e){return e.id?String(e.id):`${e.name}:${e.uri??``}`}function De(){return{id:`__empty__`,context:`attachment`,fileName:``,mimeType:`application/octet-stream`,type:`unsupported`,source:{kind:`inline`}}}function Oe(e){let t=(0,K.c)(65),{open:n,attachment:r,authToken:i,conversationId:a,language:o}=e,[s,c]=(0,G.useState)(n?r:null),[l,u]=(0,G.useState)(!1),[d,f]=(0,G.useState)(!1),p;t[0]!==r||t[1]!==n?(p=n&&r?Ee(r):null,t[0]=r,t[1]=n,t[2]=p):p=t[2];let m=p,h=(0,G.useRef)(m);m!==h.current&&(h.current=m,c(n&&r?r:null),u(!1),f(!1));let g=s,_;bb0:{if(!g){let e;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(e=De(),t[3]=e):e=t[3],_=e;break bb0}let e=g.name??`attachment`,n,r;t[4]!==e||t[5]!==g.mimeType?(n=Z(e,g.mimeType),r=Se(e,n),t[4]=e,t[5]=g.mimeType,t[6]=n,t[7]=r):(n=t[6],r=t[7]);let i=r,o=g.id?String(g.id):`${e}:${g.uri??``}`,s;t[8]!==a||t[9]!==g.uri?(s=g.uri?{kind:`media-uri`,uri:g.uri,conversationId:a}:{kind:`inline`},t[8]=a,t[9]=g.uri,t[10]=s):s=t[10];let c;t[11]!==e||t[12]!==n||t[13]!==g.size||t[14]!==o||t[15]!==s||t[16]!==i?(c={id:o,context:`attachment`,fileName:e,mimeType:n,size:g.size,type:i,source:s},t[11]=e,t[12]=n,t[13]=g.size,t[14]=o,t[15]=s,t[16]=i,t[17]=c):c=t[17],_=c}let v=_,y;t[18]===g?y=t[19]:(y=g?re(g):void 0,t[18]=g,t[19]=y);let b=y,x=g?.uri,S;t[20]===v.type?S=t[21]:(S=Ce(v.type),t[20]=v.type,t[21]=S);let C=S,w=!!(n&&x&&!b&&i&&(C===`binary`||C===`text`)),T;t[22]!==a||t[23]!==o||t[24]!==x||t[25]!==g?.taskId?(T=async()=>{let e=ee(o).chat,t=await Te({uri:x,conversationId:a,taskId:g?.taskId});if(!t.ok)throw t.reason===`http`?Error(`${e.attachmentPreviewLoadError} (HTTP ${t.status})`):Error(t.message);return t.buffer},t[22]=a,t[23]=o,t[24]=x,t[25]=g?.taskId,t[26]=T):T=t[26];let E=g?.taskId,D;t[27]!==i||t[28]!==a||t[29]!==b||t[30]!==o||t[31]!==x||t[32]!==n||t[33]!==C||t[34]!==E?(D=[n,x,i,o,b,E,a,C],t[27]=i,t[28]=a,t[29]=b,t[30]=o,t[31]=x,t[32]=n,t[33]=C,t[34]=E,t[35]=D):D=t[35];let te;t[36]===w?te=t[37]:(te={enabled:w,initial:null,errorData:null},t[36]=w,t[37]=te);let O=R(T,D,te),k;bb1:{if(b)try{let e;t[38]===b?e=t[39]:(e=P(b),t[38]=b,t[39]=e),k=e;break bb1}catch{k=null;break bb1}if(w&&O.loading){k=null;break bb1}k=O.data??null}let A=k,ne=C===`binary`?A:null,j=g?.extractedText??``,M;t[40]!==A||t[41]!==j||t[42]!==o||t[43]!==C?(M=C===`text`?j||(A?new TextDecoder(`utf-8`,{fatal:!1}).decode(new Uint8Array(A)):ee(o).chat.attachmentPreviewNoText):null,t[40]=A,t[41]=j,t[42]=o,t[43]=C,t[44]=M):M=t[44];let N=M,ie=!!g?.extractedText,ae=v.type===`pptx`&&j.length>3e5,F;t[45]!==i||t[46]!==b||t[47]!==o||t[48]!==x||t[49]!==n||t[50]!==C?(F=n&&x&&!b&&!i&&C===`binary`?ee(o).chat.attachmentPreviewMissingAuth:null,t[45]=i,t[46]=b,t[47]=o,t[48]=x,t[49]=n,t[50]=C,t[51]=F):F=t[51];let oe=F,I=O.error?O.error instanceof Error?O.error.message:String(O.error):null,L=d?null:oe??I,z=w?O.loading:!1,B;t[52]===Symbol.for(`react.memo_cache_sentinel`)?(B=()=>f(!0),t[52]=B):B=t[52];let V=j||null,H;return t[53]!==ne||t[54]!==v||t[55]!==A||t[56]!==ae||t[57]!==ie||t[58]!==L||t[59]!==g||t[60]!==l||t[61]!==z||t[62]!==V||t[63]!==N?(H={preview:g,descriptor:v,fileType:v.type,fileName:v.fileName,loading:z,loadError:L,clearLoadError:B,textContent:N,binaryBuffer:ne,downloadBuffer:A,hasExtractedText:ie,extractedText:V,extractedTextTruncated:ae,showExtractedText:l,setShowExtractedText:u},t[53]=ne,t[54]=v,t[55]=A,t[56]=ae,t[57]=ie,t[58]=L,t[59]=g,t[60]=l,t[61]=z,t[62]=V,t[63]=N,t[64]=H):H=t[64],H}function ke(e){let t=(0,K.c)(12),{projectId:n,conversationId:r,agentId:i}=e,a;bb0:{let e;t[0]===n?e=t[1]:(e=n?.trim(),t[0]=n,t[1]=e);let o=e;if(o){let e;t[2]===o?e=t[3]:(e={projectId:o},t[2]=o,t[3]=e),a=e;break bb0}let s;t[4]===r?s=t[5]:(s=r?.trim(),t[4]=r,t[5]=s);let c=s;if(c){let e;t[6]===c?e=t[7]:(e={conversationId:c},t[6]=c,t[7]=e),a=e;break bb0}let l;t[8]===i?l=t[9]:(l=i?.trim(),t[8]=i,t[9]=l);let u=l,d;t[10]===u?d=t[11]:(d=u?{agentId:u}:void 0,t[10]=u,t[11]=d),a=d}return a}function Ae(e){return{descriptor:e,textContent:null,binaryBuffer:null,fileResourceId:null,mtimeMs:null,loadError:null,loading:!1,pptxText:null,pptxTruncated:!1,pptxError:null}}function je(e,t){switch(t.type){case`clear`:return Ae(t.descriptor);case`loadStart`:return{...Ae(t.descriptor),loading:!0};case`loadSuccess`:return{...e,descriptor:t.payload.descriptor,textContent:t.payload.textContent??null,binaryBuffer:t.payload.binaryBuffer??null,fileResourceId:t.payload.fileResourceId??null,mtimeMs:t.payload.mtimeMs??null,loadError:null,loading:!1};case`loadError`:return{...Ae(t.descriptor),loadError:t.error};case`patchMtime`:return{...e,mtimeMs:t.mtimeMs};case`patchText`:return{...e,textContent:t.text};case`pptxClear`:return{...e,pptxText:null,pptxTruncated:!1,pptxError:null};case`pptxSuccess`:return{...e,pptxText:t.text,pptxTruncated:t.truncated,pptxError:null};case`pptxError`:return{...e,pptxText:null,pptxTruncated:!1,pptxError:t.error}}}function Me(e,t){switch(t.type){case`reset`:return{sourceEditMode:!1,saveStatus:`idle`};case`source`:return{...e,sourceEditMode:typeof t.value==`function`?t.value(e.sourceEditMode):t.value};case`saveStatus`:return{...e,saveStatus:t.value}}}function Ne({filePath:e,projectId:t,conversationId:n,agentId:r}){let a=ke({projectId:t,conversationId:n,agentId:r}),o=(0,G.useMemo)(()=>{let t=e?X(e):``,i=Z(t,N(t)),a=e?Se(t,i):`unsupported`;return{id:e||`__empty__`,context:`workspace`,fileName:t,mimeType:i,type:a,source:{kind:`workspace`,path:e||``,conversationId:n,agentId:r}}},[r,e,n]),[s,c]=(0,G.useReducer)(je,o,Ae),[l,u]=(0,G.useReducer)(Me,{sourceEditMode:!1,saveStatus:`idle`}),[d,f]=(0,G.useState)([]),[p,m]=(0,G.useState)([]),h=(0,G.useRef)(void 0),g=(0,G.useRef)(e);g.current!==e&&(g.current=e,u({type:`reset`})),(0,G.useEffect)(()=>{if(!e){c({type:`clear`,descriptor:o});return}let t=!1;c({type:`loadStart`,descriptor:o});let n=Ce(o.type),r=e=>{t||c({type:`loadError`,descriptor:o,error:e instanceof Error?e.message:String(e)})};return n===`metadata`?(Promise.all([H(e,a).catch(()=>null),U(e,a).catch(()=>null)]).then(async([n,r])=>{if(!n){t||c({type:`loadSuccess`,payload:{descriptor:o,fileResourceId:r?.fileId??null,mtimeMs:typeof r?.mtimeMs==`number`?r.mtimeMs:null}});return}let i={...o,mimeType:n.mimeType,type:Se(n.name,n.mimeType)};if(Ce(i.type)===`text`){let{content:r,mtimeMs:o}=await V(e,a);t||c({type:`loadSuccess`,payload:{descriptor:i,textContent:r,fileResourceId:n.id,mtimeMs:typeof o==`number`?o:n.modifiedAt}});return}t||c({type:`loadSuccess`,payload:{descriptor:i,fileResourceId:n.id,mtimeMs:n.modifiedAt}})}).catch(r),()=>{t=!0}):(n===`text`?Promise.all([V(e,a),U(e,a).catch(()=>null)]).then(([{content:e,mtimeMs:n},r])=>{t||c({type:`loadSuccess`,payload:{descriptor:o,textContent:e,fileResourceId:r?.fileId??null,mtimeMs:typeof n==`number`?n:null}})}).catch(r):Promise.all([B(e,a),U(e,a).catch(()=>null)]).then(async([e,n])=>{let r=await e.arrayBuffer();t||c({type:`loadSuccess`,payload:{descriptor:o,binaryBuffer:r,fileResourceId:n?.fileId??null,mtimeMs:typeof n?.mtimeMs==`number`?n.mtimeMs:null}})}).catch(r),()=>{t=!0})},[o,e,a]),(0,G.useEffect)(()=>{if(!s.binaryBuffer||s.descriptor.type!==`pptx`){c({type:`pptxClear`});return}let e=!1;return c({type:`pptxClear`}),i(()=>import(`./attachment-process-heavy-Db4nTY5N.js`).then(e=>e.processPptx(s.binaryBuffer,s.descriptor.fileName)),__vite__mapDeps([0,1,2,3])).then(({extractedText:t})=>{if(e)return;let n=t.length>F;c({type:`pptxSuccess`,text:n?t.slice(0,F):t,truncated:n})}).catch(t=>{e||c({type:`pptxError`,error:t instanceof Error?t.message:String(t)})}),()=>{e=!0}},[s.binaryBuffer,s.descriptor.fileName,s.descriptor.type]);let _=(0,G.useCallback)(async t=>{if(e){h.current!==void 0&&clearTimeout(h.current),u({type:`saveStatus`,value:`saving`});try{let{mtimeMs:n}=await se(e,t,a);typeof n==`number`&&c({type:`patchMtime`,mtimeMs:n}),u({type:`saveStatus`,value:`saved`}),h.current=setTimeout(()=>u({type:`saveStatus`,value:`idle`}),2e3)}catch{u({type:`saveStatus`,value:`error`}),h.current=setTimeout(()=>u({type:`saveStatus`,value:`idle`}),4e3)}}},[e,a]),v=z(e=>void _(e),500),y=(0,G.useCallback)(e=>{c({type:`patchText`,text:e}),v(e)},[v]);(0,G.useEffect)(()=>()=>v.cancel(),[v,e]);let b=(0,G.useCallback)(async()=>{if(!e)return;let t=X(e);if(s.binaryBuffer){ce(t,s.binaryBuffer,s.descriptor.mimeType||`application/octet-stream`);return}if(s.textContent!=null){le(t,s.textContent);return}let n=await B(e,a);ce(t,await n.arrayBuffer(),s.descriptor.mimeType||n.type||`application/octet-stream`)},[e,s.binaryBuffer,s.descriptor.mimeType,s.textContent,a]),x=(0,G.useCallback)(async()=>{if(!e)throw Error(`No workspace file selected`);let t=X(e),n=s.descriptor.mimeType||`application/octet-stream`,r;return r=s.binaryBuffer?new Blob([s.binaryBuffer],{type:n}):s.textContent==null?await B(e,a):new Blob([s.textContent],{type:n}),new File([r],t,{type:s.descriptor.mimeType||r.type||`application/octet-stream`,lastModified:s.mtimeMs??Date.now()})},[e,s.binaryBuffer,s.descriptor.mimeType,s.mtimeMs,s.textContent,a]),S=!s.loading&&!!e,C=L()&&(!!s.fileResourceId&&!!window.electronAPI?.shell?.openFileResource||s.descriptor.type===`spreadsheet`&&!!s.binaryBuffer&&!!window.electronAPI?.shell?.openTemporaryFile),w=L()&&!!s.fileResourceId&&!!window.electronAPI?.shell?.chooseAppAndOpenFileResource,T=(0,G.useCallback)(async()=>{let e=s.fileResourceId;if(!L()||!e||!window.electronAPI?.shell?.getOpenWithAppsForFileResource){m([]),f([]);return}try{let t=await window.electronAPI.shell.getOpenWithAppsForFileResource(e);m(t.recommended.map(e=>({name:e.name,path:e.path}))),f(t.recent.map(e=>({name:e.name,path:e.path,lastUsedAt:e.lastUsedAt})))}catch{m([]),f([])}},[s.fileResourceId]);(0,G.useEffect)(()=>{T()},[T]);let ee=(0,G.useCallback)(async()=>{let e=s.fileResourceId;if(e&&window.electronAPI?.shell?.openFileResource)return window.electronAPI.shell.openFileResource(e);if(s.descriptor.type===`spreadsheet`&&s.binaryBuffer&&window.electronAPI?.shell?.openTemporaryFile)return window.electronAPI.shell.openTemporaryFile({fileName:s.descriptor.fileName,data:new Uint8Array(s.binaryBuffer)})},[s.binaryBuffer,s.descriptor.fileName,s.descriptor.type,s.fileResourceId]),E=(0,G.useCallback)(async()=>{let e=s.fileResourceId;if(!e||!window.electronAPI?.shell?.chooseAppAndOpenFileResource)return;let t=await window.electronAPI.shell.chooseAppAndOpenFileResource(e);return t.ok&&T(),t},[s.fileResourceId,T]),D=(0,G.useCallback)(async e=>{let t=s.fileResourceId;if(!t||!e||!window.electronAPI?.shell?.openFileResourceWithApp)return;let n=await window.electronAPI.shell.openFileResourceWithApp(t,e);return n.ok&&T(),n},[s.fileResourceId,T]),te=L()&&!!s.fileResourceId&&!!window.electronAPI?.shell?.showFileResourceInFolder,O=(0,G.useCallback)(async()=>{let e=s.fileResourceId;if(e&&window.electronAPI?.shell?.showFileResourceInFolder)return window.electronAPI.shell.showFileResourceInFolder(e)},[s.fileResourceId]);return{...s,extractedText:s.descriptor.type===`pptx`?s.pptxText:null,extractedTextTruncated:s.pptxTruncated,sourceEditMode:l.sourceEditMode,setSourceEditMode:e=>u({type:`source`,value:e}),saveStatus:l.saveStatus,onSourceChange:y,onDownload:b,createAttachmentFile:x,canDownload:S,canOpenWithSystemApp:C,onOpenWithSystemApp:ee,canChooseOpenWithApp:w,onChooseOpenWithApp:E,recommendedOpenWithApps:p,recentOpenWithApps:d,onOpenWithRecentApp:D,canRevealInFolder:te,onRevealInFolder:O}}var Pe=120*1e3,Fe=new Map;function Ie(){return typeof globalThis.crypto?.randomUUID==`function`?globalThis.crypto.randomUUID():`${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`}function Le(e){for(let[t,n]of Fe)n.expiresAt<=e&&Fe.delete(t)}function Re(e,t=Date.now()){Le(t);let n=Ie();return Fe.set(n,{file:e,name:e.name,type:e.type,expiresAt:t+Pe}),n}function ze(e,t=Date.now()){let n=Fe.get(e);return n?n.expiresAt<=t?(Fe.delete(e),null):{name:n.name,type:n.type}:null}function Be(e,t=Date.now()){let n=Fe.get(e);if(!n)return null;if(n.expiresAt<=t)return Fe.delete(e),null;if(!n.file)return null;let r=n.file;return n.file=null,r}var Ve=`<base href="about:srcdoc">`;function He(e){if(/<base(?:\s|>)/i.test(e))return e;let t=/<head(?:\s[^>]*)?>/i.exec(e);if(t?.index!==void 0){let n=t.index+t[0].length;return`${e.slice(0,n)}${Ve}${e.slice(n)}`}let n=/<html(?:\s[^>]*)?>/i.exec(e);if(n?.index!==void 0){let t=n.index+n[0].length;return`${e.slice(0,t)}<head>${Ve}</head>${e.slice(t)}`}let r=/^\s*<!doctype[^>]*>/i.exec(e);return r?`${r[0]}<head>${Ve}</head>${e.slice(r[0].length)}`:`<head>${Ve}</head>${e}`}var Q=r();function Ue(e){let t=(0,K.c)(8),{html:n,title:r}=e,i=(0,G.useRef)(null),a;t[0]===n?a=t[1]:(a=()=>{i.current?.contentWindow?.postMessage({type:`xopc-html-preview`,html:He(n)},`*`)},t[0]=n,t[1]=a);let o=a,s;t[2]===o?s=t[3]:(s=[o],t[2]=o,t[3]=s),(0,G.useEffect)(o,s);let c;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(c=O(`/api/preview/html`),t[4]=c):c=t[4];let l;return t[5]!==o||t[6]!==r?(l=(0,Q.jsx)(`iframe`,{ref:i,title:r,className:`min-h-0 w-full flex-1 rounded-lg border border-edge-subtle bg-white dark:border-edge dark:bg-[#1e1e1e]`,src:c,sandbox:`allow-scripts allow-popups allow-popups-to-escape-sandbox allow-downloads allow-forms allow-modals`,referrerPolicy:`no-referrer`,onLoad:o}),t[5]=o,t[6]=r,t[7]=l):l=t[7],l}var We=(0,G.lazy)(()=>i(()=>import(`./source-workspace-editor-DunRD1gY.js`).then(e=>({default:e.SourceWorkspaceEditor})),__vite__mapDeps([4,1,5,6,7,8,2])));function Ge(){let e=(0,K.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,Q.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col px-4 py-3`,"aria-busy":!0,children:[(0,Q.jsx)(`div`,{className:`h-4 w-11/12 animate-pulse rounded bg-surface-hover`}),(0,Q.jsx)(`div`,{className:`mt-3 h-4 w-9/12 animate-pulse rounded bg-surface-hover`}),(0,Q.jsx)(`div`,{className:`mt-3 h-4 w-10/12 animate-pulse rounded bg-surface-hover`})]}),e[0]=t):t=e[0],t}function Ke(e){let t=e.lastIndexOf(`.`);return t>0?e.slice(t).toLowerCase():``}function qe(e){return{".ts":`typescript`,".tsx":`tsx`,".js":`javascript`,".jsx":`jsx`,".json":`json`,".css":`css`,".yml":`yaml`,".yaml":`yaml`,".py":`python`,".go":`go`,".rs":`rust`,".sh":`bash`}[Ke(e)]??`plaintext`}function Je(e){let t=(0,K.c)(12),{text:n,targetLine:r}=e,i=(0,G.useRef)(null),a;if(t[0]!==n){let e;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=/\r\n|\n|\r/,t[2]=e):e=t[2],a=n.split(e),t[0]=n,t[1]=a}else a=t[1];let o=a,s;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(s=()=>{i.current?.scrollIntoView({block:`center`})},t[3]=s):s=t[3];let c;t[4]!==r||t[5]!==n?(c=[r,n],t[4]=r,t[5]=n,t[6]=c):c=t[6],(0,G.useEffect)(s,c);let l;t[7]!==o||t[8]!==r?(l=o.map((e,t)=>{let n=t+1,a=n===r;return(0,Q.jsxs)(`div`,{ref:a?i:void 0,className:a?`flex bg-accent-soft/60 text-fg`:`flex`,"data-line":n,children:[(0,Q.jsx)(`span`,{className:`w-12 shrink-0 select-none pr-3 text-right text-fg-subtle`,children:n}),(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 whitespace-pre-wrap break-words`,children:e||` `})]},n)}),t[7]=o,t[8]=r,t[9]=l):l=t[9];let u;return t[10]===l?u=t[11]:(u=(0,Q.jsx)(`div`,{className:`min-h-0 flex-1 overflow-auto px-4 py-3`,children:(0,Q.jsx)(`div`,{className:`min-w-max font-mono text-xs leading-relaxed text-fg`,children:l})}),t[10]=l,t[11]=u),u}function Ye(e,t){let n=e.textContent??``,r=e.descriptor.context===`workspace`,i=e.workspaceEditing;return r&&i?.sourceEditMode?(0,Q.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden`,children:(0,Q.jsx)(G.Suspense,{fallback:(0,Q.jsx)(Ge,{}),children:(0,Q.jsx)(We,{fileName:e.descriptor.fileName,initialContent:n,onChange:e=>i.onSourceChange?.(e),isDark:(i.isDark??e.resolvedTheme===`dark`)===!0,lineWrap:i.sourceWordWrap===!0},e.descriptor.id)})}):t===`markdown`?(0,Q.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto px-4 py-3`,children:(0,Q.jsx)(h,{content:n})}):t===`html`?(0,Q.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-hidden px-2 pb-2 pt-1 sm:px-4`,children:(0,Q.jsx)(Ue,{html:n,title:e.descriptor.fileName})}):e.targetLine&&e.targetLine>0?(0,Q.jsx)(Je,{text:n,targetLine:e.targetLine}):t===`code`?(0,Q.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto px-4 py-3`,children:(0,Q.jsx)(h,{content:`\`\`\`${qe(e.descriptor.fileName)}\n${n}\n\`\`\``})}):(0,Q.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto px-4 py-3`,children:(0,Q.jsx)(`pre`,{className:`whitespace-pre-wrap break-words font-mono text-xs text-fg`,children:n})})}function Xe(e){return Ye(e,`text`)}function Ze(e){return Ye(e,`markdown`)}function Qe(e){return Ye(e,`code`)}function $e(e){return Ye(e,`html`)}function et(){return(0,G.createElement)(`div`,{className:`px-4 py-6 text-sm text-fg-muted`},`Loading preview...`)}function $(e,t,n,r=`binary`){let i=(0,G.lazy)(n);return{id:e,readMode:r,capabilities:t,render:e=>(0,G.createElement)(G.Suspense,{fallback:et()},(0,G.createElement)(i,e))}}var tt={text:{id:`text`,readMode:`text`,capabilities:[`download`,`edit`],render:e=>(0,G.createElement)(Xe,e)},markdown:{id:`markdown`,readMode:`text`,capabilities:[`download`,`edit`],render:e=>(0,G.createElement)(Ze,e)},code:{id:`code`,readMode:`text`,capabilities:[`download`,`edit`],render:e=>(0,G.createElement)(Qe,e)},html:{id:`html`,readMode:`text`,capabilities:[`download`,`edit`],render:e=>(0,G.createElement)($e,e)},image:$(`image`,[`download`,`zoom`,`rotate`],()=>i(()=>import(`./binary-plugins-gS7Wg68v.js`).then(e=>({default:e.InteractiveImagePreview})),__vite__mapDeps([9,1,2,6,10,11,12,13,14,15,16,17,18,19]))),pdf:$(`pdf`,[`download`,`zoom`,`rotate`,`pageNavigation`,`print`],()=>i(()=>import(`./binary-plugins-gS7Wg68v.js`).then(e=>({default:e.PdfPreviewPluginView})),__vite__mapDeps([9,1,2,6,10,11,12,13,14,15,16,17,18,19]))),docx:$(`docx`,[`download`],()=>i(()=>import(`./binary-plugins-gS7Wg68v.js`).then(e=>({default:e.DocxPreviewPluginView})),__vite__mapDeps([9,1,2,6,10,11,12,13,14,15,16,17,18,19]))),spreadsheet:$(`spreadsheet`,[`download`],()=>i(()=>import(`./binary-plugins-gS7Wg68v.js`).then(e=>({default:e.SpreadsheetPreviewPluginView})),__vite__mapDeps([9,1,2,6,10,11,12,13,14,15,16,17,18,19]))),pptx:$(`pptx`,[`download`],()=>i(()=>import(`./binary-plugins-gS7Wg68v.js`).then(e=>({default:e.PptxPreviewPluginView})),__vite__mapDeps([9,1,2,6,10,11,12,13,14,15,16,17,18,19]))),audio:$(`audio`,[`download`],()=>i(()=>import(`./media-plugins-C631CDu4.js`).then(e=>({default:e.AudioPreviewPluginView})),__vite__mapDeps([20,1,6,10,11,12,13,14,15,16,17,18,19]))),video:$(`video`,[`download`],()=>i(()=>import(`./media-plugins-C631CDu4.js`).then(e=>({default:e.VideoPreviewPluginView})),__vite__mapDeps([20,1,6,10,11,12,13,14,15,16,17,18,19]))),archive:$(`archive`,[`download`],()=>i(()=>import(`./archive-plugin-BbT1O7oK.js`).then(e=>({default:e.ArchivePreviewPluginView})),__vite__mapDeps([21,1,6,22,12,13,14,15,16,17,18,19]))),unsupported:$(`unsupported`,[`download`],()=>i(()=>import(`./media-plugins-C631CDu4.js`).then(e=>({default:e.UnsupportedPreviewPluginView})),__vite__mapDeps([20,1,6,10,11,12,13,14,15,16,17,18,19])),`metadata`)};function nt(e){return tt[e]??tt.unsupported}function rt(e){let t=(0,K.c)(63),{plugin:n,controls:r,onZoomIn:i,onZoomOut:a,onZoomReset:o,onRotate:s,onSearchChange:c}=e,l;t[0]===n.capabilities?l=t[1]:(l=n.capabilities.includes(`zoom`),t[0]=n.capabilities,t[1]=l);let u=l,d;t[2]===n.capabilities?d=t[3]:(d=n.capabilities.includes(`search`),t[2]=n.capabilities,t[3]=d);let f=d,p;t[4]===n.capabilities?p=t[5]:(p=n.capabilities.includes(`rotate`),t[4]=n.capabilities,t[5]=p);let h=p,g;t[6]!==r||t[7]!==n.capabilities?(g=n.capabilities.includes(`pageNavigation`)&&r.pageCount!=null&&r.pageCount>1,t[6]=r,t[7]=n.capabilities,t[8]=g):g=t[8];let _=g;if(!(u||f||h||_))return null;let v;if(t[9]!==_||t[10]!==h||t[11]!==f||t[12]!==u||t[13]!==r||t[14]!==s||t[15]!==c||t[16]!==i||t[17]!==a||t[18]!==o){let e=[];if(_){let n=r.page<=1,i;t[20]===r?i=t[21]:(i=()=>r.setPage(Math.max(1,r.page-1)),t[20]=r,t[21]=i);let a;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,Q.jsx)(W,{className:`size-3.5`}),t[22]=a):a=t[22];let o;t[23]!==n||t[24]!==i?(o=(0,Q.jsx)(it,{label:`Previous page`,disabled:n,onClick:i,children:a}),t[23]=n,t[24]=i,t[25]=o):o=t[25];let s;t[26]!==r.page||t[27]!==r.pageCount?(s=(0,Q.jsxs)(`span`,{className:`min-w-16 px-1 text-center text-xs text-fg-muted`,children:[r.page,` / `,r.pageCount]}),t[26]=r.page,t[27]=r.pageCount,t[28]=s):s=t[28];let c=r.page>=(r.pageCount??1),l;t[29]===r?l=t[30]:(l=()=>r.setPage(Math.min(r.pageCount??r.page,r.page+1)),t[29]=r,t[30]=l);let u;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,Q.jsx)(ue,{className:`size-3.5`}),t[31]=u):u=t[31];let d;t[32]!==c||t[33]!==l?(d=(0,Q.jsx)(it,{label:`Next page`,disabled:c,onClick:l,children:u}),t[32]=c,t[33]=l,t[34]=d):d=t[34];let f;t[35]!==s||t[36]!==d||t[37]!==o?(f=(0,Q.jsxs)(`div`,{className:`flex items-center gap-1 rounded-md border border-edge-subtle bg-surface-base p-0.5 dark:border-edge`,children:[o,s,d]},`page`),t[35]=s,t[36]=d,t[37]=o,t[38]=f):f=t[38],e.push(f)}if(u){let n;t[39]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,Q.jsx)(m,{className:`size-3.5`}),t[39]=n):n=t[39];let s;t[40]===a?s=t[41]:(s=(0,Q.jsx)(it,{label:`Zoom out`,onClick:a,children:n}),t[40]=a,t[41]=s);let c;t[42]===r.zoom?c=t[43]:(c=Math.round(r.zoom*100),t[42]=r.zoom,t[43]=c);let l;t[44]!==o||t[45]!==c?(l=(0,Q.jsxs)(`button`,{type:`button`,className:`min-w-14 rounded px-1.5 py-1 text-xs text-fg-muted hover:bg-surface-hover hover:text-fg`,onClick:o,title:`Reset zoom`,children:[c,`%`]}),t[44]=o,t[45]=c,t[46]=l):l=t[46];let u;t[47]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,Q.jsx)(S,{className:`size-3.5`}),t[47]=u):u=t[47];let d;t[48]===i?d=t[49]:(d=(0,Q.jsx)(it,{label:`Zoom in`,onClick:i,children:u}),t[48]=i,t[49]=d);let f;t[50]!==d||t[51]!==s||t[52]!==l?(f=(0,Q.jsxs)(`div`,{className:`flex items-center gap-1 rounded-md border border-edge-subtle bg-surface-base p-0.5 dark:border-edge`,children:[s,l,d]},`zoom`),t[50]=d,t[51]=s,t[52]=l,t[53]=f):f=t[53],e.push(f)}if(h){let n;t[54]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,Q.jsx)(C,{className:`size-3.5`}),t[54]=n):n=t[54];let r;t[55]===s?r=t[56]:(r=(0,Q.jsx)(it,{label:`Rotate`,onClick:s,children:n},`rotate`),t[55]=s,t[56]=r),e.push(r)}if(f){let n;t[57]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,Q.jsx)(w,{className:`size-3.5`,"aria-hidden":!0}),t[57]=n):n=t[57];let i;t[58]===c?i=t[59]:(i=e=>c(e.target.value),t[58]=c,t[59]=i);let a;t[60]!==r.searchQuery||t[61]!==i?(a=(0,Q.jsxs)(`label`,{className:`flex min-w-40 items-center gap-1 rounded-md border border-edge-subtle bg-surface-base px-2 py-1 text-xs text-fg-muted dark:border-edge`,children:[n,(0,Q.jsx)(`input`,{className:`min-w-0 flex-1 bg-transparent text-fg outline-none placeholder:text-fg-subtle`,value:r.searchQuery,onChange:i,placeholder:`Search`})]},`search`),t[60]=r.searchQuery,t[61]=i,t[62]=a):a=t[62],e.push(a)}v=(0,Q.jsx)(`div`,{className:`flex shrink-0 items-center gap-1`,children:e}),t[9]=_,t[10]=h,t[11]=f,t[12]=u,t[13]=r,t[14]=s,t[15]=c,t[16]=i,t[17]=a,t[18]=o,t[19]=v}else v=t[19];return v}function it(e){let t=(0,K.c)(6),{label:n,disabled:r,onClick:i,children:a}=e,o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=E(`inline-flex size-9 shrink-0 items-center justify-center rounded-md text-fg-muted transition-colors hover:bg-surface-hover hover:text-fg disabled:opacity-40`),t[0]=o):o=t[0];let s;return t[1]!==a||t[2]!==r||t[3]!==n||t[4]!==i?(s=(0,Q.jsx)(`button`,{type:`button`,className:o,title:n,"aria-label":n,disabled:r,onClick:i,children:a}),t[1]=a,t[2]=r,t[3]=n,t[4]=i,t[5]=s):s=t[5],s}function at(e){let t=(0,K.c)(22),n;t[0]===e.type?n=t[1]:(n=nt(e.type),t[0]=e.type,t[1]=n);let r=n,[i,a]=(0,G.useState)(1),[o,s]=(0,G.useState)(0),[c,l]=(0,G.useState)(1),[u,d]=(0,G.useState)(null),[f,p]=(0,G.useState)(``),m;t[2]===u?m=t[3]:(m=e=>{l(Math.max(1,Math.min(u??e,Math.floor(e))))},t[2]=u,t[3]=m);let h=m,g;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(g=()=>{a(1),s(0),l(1),d(null),p(``)},t[4]=g):g=t[4];let _;t[5]!==e.id||t[6]!==e.type?(_=[e.id,e.type],t[5]=e.id,t[6]=e.type,t[7]=_):_=t[7],(0,G.useEffect)(g,_);let v;t[8]!==c||t[9]!==u||t[10]!==o||t[11]!==f||t[12]!==h||t[13]!==i?(v={zoom:i,rotation:o,page:c,pageCount:u,searchQuery:f,setPageCount:d,setPage:h},t[8]=c,t[9]=u,t[10]=o,t[11]=f,t[12]=h,t[13]=i,t[14]=v):v=t[14];let y=v,b,x,S,C;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(b=()=>a(ct),x=()=>a(st),S=()=>{a(1),s(0)},C=()=>s(ot),t[15]=b,t[16]=x,t[17]=S,t[18]=C):(b=t[15],x=t[16],S=t[17],C=t[18]);let w;return t[19]!==y||t[20]!==r?(w={plugin:r,controls:y,onZoomIn:b,onZoomOut:x,onZoomReset:S,onRotate:C,onSearchChange:p},t[19]=y,t[20]=r,t[21]=w):w=t[21],w}function ot(e){return(e+90)%360}function st(e){return Math.max(.25,Number((e-.15).toFixed(2)))}function ct(e){return Math.min(4,Number((e+.15).toFixed(2)))}function lt(e){let t=(0,K.c)(8),{controller:n}=e,r;return t[0]!==n.controls||t[1]!==n.onRotate||t[2]!==n.onSearchChange||t[3]!==n.onZoomIn||t[4]!==n.onZoomOut||t[5]!==n.onZoomReset||t[6]!==n.plugin?(r=(0,Q.jsx)(rt,{plugin:n.plugin,controls:n.controls,onZoomIn:n.onZoomIn,onZoomOut:n.onZoomOut,onZoomReset:n.onZoomReset,onRotate:n.onRotate,onSearchChange:n.onSearchChange}),t[0]=n.controls,t[1]=n.onRotate,t[2]=n.onSearchChange,t[3]=n.onZoomIn,t[4]=n.onZoomOut,t[5]=n.onZoomReset,t[6]=n.plugin,t[7]=r):r=t[7],r}function ut(e){let t=(0,K.c)(14),n;t[0]===e.language?n=t[1]:(n=ee(e.language),t[0]=e.language,t[1]=n);let r=n,{controller:i}=e;if(e.loading){let e;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Q.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-3 px-4 py-6`,"aria-busy":`true`,children:[(0,Q.jsx)(I,{className:`h-5 w-48 max-w-full`}),(0,Q.jsx)(I,{className:`h-4 w-full`}),(0,Q.jsx)(I,{className:`h-4 w-11/12`}),(0,Q.jsx)(I,{className:`h-4 w-3/4`}),(0,Q.jsx)(I,{className:`mt-3 min-h-48 flex-1 rounded-lg`})]}),t[2]=e):e=t[2],e}if(e.loadError){let n=(e.descriptor.context===`workspace`?r.workspace.loadError:r.chat.attachmentPreviewLoadError)+`: `+e.loadError,i;return t[3]===n?i=t[4]:(i=(0,Q.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-3 overflow-auto p-4`,children:(0,Q.jsx)(`p`,{className:`text-sm text-red-600 dark:text-red-400`,children:n})}),t[3]=n,t[4]=i),i}if(e.descriptor.context===`attachment`&&e.showExtractedText&&e.descriptor.type!==`image`){let n=e.extractedText||r.chat.attachmentPreviewNoText,i;return t[5]===n?i=t[6]:(i=(0,Q.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-2 overflow-hidden`,children:(0,Q.jsx)(`div`,{className:`min-h-0 flex-1 overflow-auto rounded-lg border border-edge-subtle bg-surface-hover/40 p-4 dark:border-edge`,children:(0,Q.jsx)(`pre`,{className:`whitespace-pre-wrap break-words font-mono text-xs leading-relaxed text-fg-muted`,children:n})})}),t[5]=n,t[6]=i),i}let a=`${e.descriptor.id}:${i.plugin.id}`,o;t[7]!==i.controls||t[8]!==e?(o={...e,controls:i.controls},t[7]=i.controls,t[8]=e,t[9]=o):o=t[9];let s;return t[10]!==i.plugin.render||t[11]!==a||t[12]!==o?(s=(0,Q.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-hidden`,children:(0,Q.jsx)(dt,{pluginRender:i.plugin.render,props:o},a)}),t[10]=i.plugin.render,t[11]=a,t[12]=o,t[13]=s):s=t[13],s}function dt(e){let t=(0,K.c)(5),{pluginRender:n,props:r}=e,i;t[0]!==n||t[1]!==r?(i=n(r),t[0]=n,t[1]=r,t[2]=i):i=t[2];let a;return t[3]===i?a=t[4]:(a=(0,Q.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:i}),t[3]=i,t[4]=a),a}function ft(e){let t=(0,K.c)(9),{label:n,active:r,disabled:i,onClick:a,children:o}=e,s=r&&`bg-surface-active text-fg`,c;t[0]===s?c=t[1]:(c=E(`inline-flex size-9 shrink-0 items-center justify-center rounded-md text-fg-muted transition-colors hover:bg-surface-hover hover:text-fg disabled:cursor-not-allowed disabled:opacity-40`,s,j.focusRingPanel),t[0]=s,t[1]=c);let l;return t[2]!==r||t[3]!==o||t[4]!==i||t[5]!==n||t[6]!==a||t[7]!==c?(l=(0,Q.jsx)(`button`,{type:`button`,className:c,title:n,"aria-label":n,"aria-pressed":r,disabled:i,onClick:a,children:o}),t[2]=r,t[3]=o,t[4]=i,t[5]=n,t[6]=a,t[7]=c,t[8]=l):l=t[8],l}function pt(e){let t=(0,K.c)(9),{icon:n,label:r,disabled:i,onClick:a}=e,o;t[0]===n?o=t[1]:(o=(0,Q.jsx)(`span`,{className:`flex size-4 shrink-0 items-center justify-center text-fg-muted`,children:n}),t[0]=n,t[1]=o);let s;t[2]===r?s=t[3]:(s=(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:r}),t[2]=r,t[3]=s);let c;return t[4]!==i||t[5]!==a||t[6]!==o||t[7]!==s?(c=(0,Q.jsxs)(`button`,{type:`button`,role:`menuitem`,className:`flex h-9 w-full min-w-0 items-center gap-2.5 rounded-md px-2.5 text-left text-sm text-fg hover:bg-surface-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent disabled:cursor-not-allowed disabled:opacity-40`,disabled:i,onClick:a,children:[o,s]}),t[4]=i,t[5]=a,t[6]=o,t[7]=s,t[8]=c):c=t[8],c}function mt(e){let t=(0,K.c)(36),{name:n,subtitle:r,controller:i,actions:a,expanded:o,onToggleExpanded:m,onClose:h,edit:S,wordWrap:C,editInNewChat:w,share:D,openWithSystemApp:O,chooseApp:k,recommendedApps:A,recentApps:ne,onOpenWithApp:M,onRevealInFolder:N,copyPath:re,textView:P,openInBrowser:ie}=e,ae=A===void 0?[]:A,F=ne===void 0?[]:ne,I=ee(te(_t)),R=I.workspace,z=i.plugin.id===`pdf`?I.chat.attachmentPreviewPdf:i.plugin.id===`docx`?I.chat.attachmentPreviewDocument:i.plugin.id===`spreadsheet`?I.chat.attachmentPreviewSpreadsheet:R.preview,B=L(),[V,H]=(0,G.useState)(!1),se;t[0]===i.plugin.capabilities?se=t[1]:(se=i.plugin.capabilities.some(gt),t[0]=i.plugin.capabilities,t[1]=se);let ce=se,le,U;t[2]===V?(le=t[3],U=t[4]):(le=()=>{if(!V)return;let e=e=>{e.key===`Escape`&&(e.preventDefault(),e.stopImmediatePropagation(),H(!1))};return window.addEventListener(`keydown`,e,!0),()=>window.removeEventListener(`keydown`,e,!0)},U=[V],t[2]=V,t[3]=le,t[4]=U),(0,G.useEffect)(le,U);let ue;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(ue=e=>{H(!1),e()},t[5]=ue):ue=t[5];let W=ue,q;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(q=E(`shrink-0 bg-surface-hover/20 px-3 py-2 sm:px-4`,oe),t[6]=q):q=t[6];let J;t[7]===n?J=t[8]:(J=(0,Q.jsx)(`h2`,{className:`truncate text-base font-semibold leading-tight tracking-tight text-fg`,title:n,children:n}),t[7]=n,t[8]=J);let Y;t[9]===r?Y=t[10]:(Y=r?(0,Q.jsx)(`div`,{className:`mt-0.5 flex min-w-0 items-center gap-2 text-xs leading-tight text-fg-muted`,children:r}):null,t[9]=r,t[10]=Y);let fe;t[11]!==J||t[12]!==Y?(fe=(0,Q.jsxs)(`div`,{className:`min-w-0 flex-1 py-0.5`,children:[J,Y]}),t[11]=J,t[12]=Y,t[13]=fe):fe=t[13];let pe;t[14]===o?pe=t[15]:(pe=o?(0,Q.jsx)(b,{className:`size-4`,strokeWidth:1.75}):(0,Q.jsx)(p,{className:`size-4`,strokeWidth:1.75}),t[14]=o,t[15]=pe);let me;t[16]===w?.loading?me=t[17]:(me=w?.loading?(0,Q.jsx)(v,{className:`size-4 animate-spin`}):(0,Q.jsx)(y,{className:`size-4`}),t[16]=w?.loading,t[17]=me);let he;t[18]===D?.loading?he=t[19]:(he=D?.loading?(0,Q.jsx)(v,{className:`size-4 animate-spin`}):(0,Q.jsx)(_,{className:`size-4`}),t[18]=D?.loading,t[19]=he);let ge;t[20]===V?ge=t[21]:(ge=V?(0,Q.jsx)(`button`,{type:`button`,className:`fixed inset-0 z-40 cursor-default bg-transparent`,"aria-hidden":!0,tabIndex:-1,onPointerDown:e=>{e.preventDefault(),H(!1)}}):null,t[20]=V,t[21]=ge);let _e;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(_e=E(`inline-flex size-9 shrink-0 items-center justify-center rounded-md text-fg-muted transition-colors hover:bg-surface-hover hover:text-fg`,j.focusRingPanel),t[22]=_e):_e=t[22];let ve,ye;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(ve=()=>H(ht),ye=(0,Q.jsx)(u,{className:`size-4`}),t[23]=ve,t[24]=ye):(ve=t[23],ye=t[24]);let be;t[25]===Symbol.for(`react.memo_cache_sentinel`)?(be=(0,Q.jsx)(`div`,{className:`mx-0.5 h-5 w-px bg-edge-subtle`,"aria-hidden":!0}),t[25]=be):be=t[25];let xe;t[26]===Symbol.for(`react.memo_cache_sentinel`)?(xe=(0,Q.jsx)(T,{className:`size-4`,strokeWidth:1.75}),t[26]=xe):xe=t[26];let X;t[27]!==R.close||t[28]!==h?(X=(0,Q.jsx)(ft,{label:R.close,onClick:h,children:xe}),t[27]=R.close,t[28]=h,t[29]=X):X=t[29];let Z;return t[30]!==i||t[31]!==ce||t[32]!==I||t[33]!==z||t[34]!==P?(Z=ce||P?(0,Q.jsxs)(`div`,{className:`mt-2 flex items-center gap-2 overflow-x-auto pb-0.5`,children:[P?(0,Q.jsx)(`div`,{className:`mr-2 flex shrink-0 rounded-lg bg-surface-hover p-0.5`,role:`group`,"aria-label":I.chat.attachmentPreviewText,children:[{active:!1,label:z},{active:!0,label:I.chat.attachmentPreviewText}].map(e=>(0,Q.jsx)(`button`,{type:`button`,"aria-pressed":P.active===e.active,className:E(`rounded-md px-2.5 py-1 text-xs font-medium`,P.active===e.active?`bg-surface-hover text-fg`:`text-fg-muted hover:text-fg`),onClick:()=>P.onChange(e.active),children:e.label},e.label))}):null,ce?(0,Q.jsx)(lt,{controller:i}):null]}):null,t[30]=i,t[31]=ce,t[32]=I,t[33]=z,t[34]=P,t[35]=Z):Z=t[35],(0,Q.jsxs)(`div`,{className:q,children:[(0,Q.jsxs)(`div`,{className:`flex min-w-0 items-start gap-2`,children:[fe,(0,Q.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[i.plugin.capabilities.includes(`edit`)?(0,Q.jsx)(ft,{label:S?.active?R.preview:R.edit,active:S?.active??!1,disabled:!S,onClick:S?.onToggle,children:S?.active?(0,Q.jsx)(f,{className:`size-4`}):(0,Q.jsx)(x,{className:`size-4`})}):null,C?(0,Q.jsx)(ft,{label:R.wordWrap,active:C.active,onClick:C.onToggle,children:(0,Q.jsx)(de,{className:`size-4`})}):null,(0,Q.jsx)(ft,{label:o?R.collapsePreview:R.expandPreview,active:o,disabled:!m,onClick:m,children:pe}),(0,Q.jsx)(ft,{label:R.editInNewChat,disabled:!w||w.disabled||w.loading,onClick:w?.onClick,children:me}),(0,Q.jsx)(ft,{label:R.shareLink,disabled:!D||D.disabled||D.loading,onClick:D?.onClick,children:he}),(0,Q.jsxs)(`div`,{className:`relative shrink-0`,children:[ge,(0,Q.jsx)(`button`,{type:`button`,className:_e,title:R.moreActions,"aria-label":R.moreActions,"aria-haspopup":`menu`,"aria-expanded":V,onClick:ve,children:ye}),V?(0,Q.jsxs)(`div`,{role:`menu`,"data-file-preview-menu":!0,className:`absolute right-0 top-full z-50 mt-1 w-60 rounded-lg border border-edge bg-surface-panel p-1 shadow-popover`,children:[ie?(0,Q.jsxs)(`a`,{href:ie.href,target:`_blank`,rel:`noopener noreferrer`,role:`menuitem`,className:`flex h-9 w-full items-center gap-2.5 rounded-md px-2.5 text-sm text-fg hover:bg-surface-hover`,onClick:()=>H(!1),children:[(0,Q.jsx)(d,{className:`size-4 text-fg-muted`,"aria-hidden":!0}),R.openInBrowser]}):null,O?(0,Q.jsx)(pt,{icon:(0,Q.jsx)(d,{className:`size-4`}),label:R.openSystemApp,disabled:O.disabled||O.loading,onClick:()=>W(O.onClick)}):null,k?(0,Q.jsx)(pt,{icon:(0,Q.jsx)(u,{className:`size-4`}),label:R.chooseApp,disabled:k.disabled,onClick:()=>W(k.onClick)}):null,M?[{label:R.recommendedApps,apps:ae},{label:R.recentApps,apps:F}].map(e=>{let{label:t,apps:n}=e;return n.length>0?(0,Q.jsxs)(`div`,{className:`mt-1 border-t border-edge-subtle pt-1 dark:border-edge`,children:[(0,Q.jsx)(`p`,{className:`px-3 pb-1 pt-0.5 text-[11px] font-medium uppercase tracking-normal text-fg-subtle`,children:t}),n.map(e=>(0,Q.jsx)(`button`,{type:`button`,role:`menuitem`,className:`flex h-9 w-full min-w-0 items-center rounded-md px-2.5 text-left text-sm text-fg hover:bg-surface-hover`,title:e.path,onClick:()=>W(()=>M(e.path)),children:(0,Q.jsx)(`span`,{className:`block truncate`,children:e.name})},e.path))]},t):null}):null,N?(0,Q.jsx)(pt,{icon:(0,Q.jsx)(g,{className:`size-4`}),label:R.revealInFolder,onClick:()=>W(N)}):null,O||k||N?(0,Q.jsx)(`div`,{className:`my-1 border-t border-edge-subtle dark:border-edge`}):null,(0,Q.jsx)(pt,{icon:(0,Q.jsx)(l,{className:`size-4`}),label:B?R.saveCopy:R.download,disabled:!a.canDownload,onClick:()=>W(()=>void a.onDownload())}),re?(0,Q.jsx)(pt,{icon:re.copied?(0,Q.jsx)(s,{className:`size-4 text-emerald-500`}):(0,Q.jsx)(c,{className:`size-4`}),label:re.copied?R.pathCopied:B?R.copyFilePath:R.copyWorkspacePath,onClick:()=>W(re.onClick)}):null]}):null]}),be,X]})]}),Z]})}function ht(e){return!e}function gt(e){return[`zoom`,`search`,`rotate`,`pageNavigation`].includes(e)}function _t(e){return e.language}function vt({header:e,chat:t,...n}){let r=at(n.descriptor),i=a(),o=ee(n.language),[s,c]=(0,G.useState)(!1),l=async()=>{if(!(!t||s)){c(!0);try{let[n,r]=await Promise.all([t.createFile(),t.conversationId?ne(t.conversationId).catch(()=>null):Promise.resolve(null)]);if(n.size>33554432){q(`warning`,o.chat.attachmentFileTooLarge,{name:n.name,maxSize:ie(A)});return}let a=new URLSearchParams({attachmentHandoff:Re(n)}),s=t.projectId?.trim()||r?.projectId?.trim(),c=t.agentId?.trim()||r?.routing?.agentId?.trim();s&&a.set(`projectId`,s),i({pathname:`/chat/new`,search:`?${a}`},{state:{forceNewChat:!0,agentId:c||void 0}}),e.onClose()}catch{q(`error`,o.workspace.editInNewChatFailed)}finally{c(!1)}}};return(0,Q.jsxs)(`div`,{className:`flex h-full min-h-0 min-w-0 flex-1 flex-col overflow-hidden bg-surface-panel`,children:[(0,Q.jsx)(mt,{...e,name:n.descriptor.fileName,controller:r,actions:n.actions,editInNewChat:t?{onClick:()=>void l(),loading:s,disabled:n.loading||!!n.loadError||t.disabled}:void 0},n.descriptor.id),(0,Q.jsx)(ut,{...n,controller:r})]})}function yt(e,t){let n=(0,K.c)(7),r=e===void 0?!0:e,i=t===void 0?!1:t,[a,o]=(0,G.useState)(!1);!r&&a&&o(!1);let s,c;n[0]!==r||n[1]!==i||n[2]!==a?(s=()=>{if(!r||!a)return;let e=document.body.style.overflow;document.body.style.overflow=`hidden`;let t=e=>{i||e.key!==`Escape`||e.defaultPrevented||document.querySelector(`[data-file-preview-menu]`)||(e.preventDefault(),e.stopImmediatePropagation(),o(!1))};return window.addEventListener(`keydown`,t,!0),()=>{document.body.style.overflow=e,window.removeEventListener(`keydown`,t,!0)}},c=[r,a,i],n[0]=r,n[1]=i,n[2]=a,n[3]=s,n[4]=c):(s=n[3],c=n[4]),(0,G.useEffect)(s,c);let l;return n[5]===a?l=n[6]:(l={expanded:a,setExpanded:o},n[5]=a,n[6]=l),l}export{ue as _,Ne as a,Y as c,X as d,Z as f,W as g,de as h,Be as i,J as l,q as m,vt as n,Oe as o,Ce as p,ze as r,we as s,yt as t,Se as u};
@@ -1,2 +0,0 @@
1
- import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,n,t as r}from"./vendor-react-BOUWij0V.js";import{g as i,t as a,u as o}from"./chunk-KS7C4IRE-BMYIfy9x.js";import{t as s}from"./bot-DjLkhyZL.js";import{t as c}from"./check-DUBLcKHA.js";import{t as l}from"./chevron-right-BweFrslA.js";import{n as u,r as d,t as f}from"./popover-select-BgSdSbCL.js";import{t as p}from"./circle-alert-BEjgurr2.js";import{t as m}from"./circle-check-C23XjkUj.js";import{t as h}from"./clock-3-DnrAnuyZ.js";import{t as g}from"./download-Dk-ZjtO6.js";import{t as _}from"./ellipsis-0k4rZLoy.js";import{t as v}from"./folder-open-CyzJ19I9.js";import{t as y}from"./git-branch-Dh9uxTot.js";import{t as b}from"./loader-circle-CifKLtgG.js";import{t as x}from"./pencil-DmIY3Oa-.js";import{t as S}from"./plus-Q2yW6OE7.js";import{t as C}from"./search-DA7gz22f.js";import{t as w}from"./sparkles-DHlfQFAF.js";import{t as T}from"./x-B_N4OPjy.js";import{t as ee}from"./cn-JdwAhgNB.js";import{n as E}from"./locale-store-D6_rF-qT.js";import{a as D,c as O,i as k,n as A,o as j,r as M,s as N,t as P}from"./dist-BGTk37IG.js";import{i as F}from"./vendor-swr-BIWyz7Rc.js";import{t as I}from"./button-CS04eWY9.js";import{r as L}from"./app-chrome-BeB4KgOf.js";import{t as R}from"./skeleton-BwbyijEw.js";import{t as z}from"./loopi-Djb8XU3l.js";import{$ as B,Dc as V,Fn as H,Fo as U,In as W,Ks as G,Ln as te,Mo as ne,Nc as re,Ns as ie,Oc as K,Pn as ae,Tc as oe,Uo as q,W as J,at as Y,ct as se,do as ce,dt as le,ea as ue,et as de,fo as fe,ft as pe,go as me,gs as he,hs as ge,it as _e,lt as ve,ms as ye,mt as be,nc as xe,nt as Se,oc as Ce,ot as we,pt as Te,rt as Ee,sc as De,st as Oe,tt as ke,uc as Ae,uo as je,ut as Me,vs as Ne,wc as Pe,wo as Fe,xs as Ie,zn as Le}from"./index-DpLD-7Hc.js";import{t as Re}from"./page-tabs-D2xpUV26.js";import{t as ze}from"./date-picker-BXJv6472.js";var X=e(t(),1),Z=n(),Q=r();function Be(e){let t=(0,Z.c)(15),{sourceId:n,disabled:r}=e,i=r===void 0?!1:r,a=E(Ue)===`zh`,{sources:o,starting:s,start:c}=J(),l;t[0]!==n||t[1]!==o?(l=n?o.filter(e=>e.grantId===n):o,t[0]=n,t[1]=o,t[2]=l):l=t[2];let u=l,d;t[3]===u?d=t[4]:(d=u.some(He),t[3]=u,t[4]=d);let f=d,p=n&&u.some(Ve),m=f?a?`更新中`:`Updating`:p?a?`重试`:`Retry`:n?a?`更新理解`:`Update understanding`:a?`更新全部`:`Update all`,h=i||s||f,g;t[5]!==n||t[6]!==c?(g=()=>void c(n),t[5]=n,t[6]=c,t[7]=g):g=t[7];let _;t[8]===f?_=t[9]:(_=f?(0,Q.jsx)(b,{className:`size-3.5 animate-spin motion-reduce:animate-none`}):(0,Q.jsx)(q,{className:`size-3.5`}),t[8]=f,t[9]=_);let v;return t[10]!==m||t[11]!==h||t[12]!==g||t[13]!==_?(v=(0,Q.jsxs)(I,{variant:`ghost`,className:`h-8 shrink-0 gap-1.5 px-2 text-xs`,disabled:h,onClick:g,children:[_,m]}),t[10]=m,t[11]=h,t[12]=g,t[13]=_,t[14]=v):v=t[14],v}function Ve(e){return e.status===`failed`||e.status===`partial`||e.status===`canceled`}function He(e){return e.status===`queued`||e.status===`running`}function Ue(e){return e.language}function We(e){let t=(0,Z.c)(22),{sourceId:n,lastCollectedAt:r}=e,i=E(Ge),a=i===`zh`,o;t[0]===n?o=t[1]:(o=e=>e.sources.find(e=>e.grantId===n),t[0]=n,t[1]=o);let s=J(o);if(!s){let e;t[2]!==i||t[3]!==r||t[4]!==a?(e=r?`${a?`上次更新:`:`Last updated: `}${new Date(r).toLocaleString(i)}`:a?`尚未分析`:`Not analyzed yet`,t[2]=i,t[3]=r,t[4]=a,t[5]=e):e=t[5];let n;return t[6]===e?n=t[7]:(n=(0,Q.jsx)(`p`,{className:`mt-1 text-xs text-fg-subtle`,children:e}),t[6]=e,t[7]=n),n}let c;t[8]===a?c=t[9]:(c=a?{queued:`等待更新`,waiting_desktop:`等待桌面端读取资料`,reading:`正在读取资料`,analyzing:`正在更新理解`}:{queued:`Queued`,waiting_desktop:`Waiting for desktop collection`,reading:`Reading source`,analyzing:`Updating understanding`},t[8]=a,t[9]=c);let l=c,u=s.status===`running`||s.status===`queued`,d=s.status===`failed`||s.status===`partial`||s.status===`canceled`,f=s.metadata.added,p=u?l[s.metadata.phase??`queued`]??l.queued:d?a?`更新未完成,可重试`:`Update incomplete; retry available`:f===0?a?`更新完成,暂无新增理解`:`Updated; no new understanding`:f===void 0?a?`更新完成`:`Updated`:a?`更新完成,新增 ${f} 条`:`Updated; ${f} added`,m;t[10]===p?m=t[11]:(m=(0,Q.jsx)(`p`,{children:p}),t[10]=p,t[11]=m);let h;t[12]!==i||t[13]!==s.completedAt?(h=s.completedAt?(0,Q.jsx)(`p`,{children:new Date(s.completedAt).toLocaleString(i)}):null,t[12]=i,t[13]=s.completedAt,t[14]=h):h=t[14];let g;t[15]!==d||t[16]!==s.errorMessage?(g=d&&s.errorMessage?(0,Q.jsx)(`p`,{className:`text-danger`,children:s.errorMessage}):null,t[15]=d,t[16]=s.errorMessage,t[17]=g):g=t[17];let _;return t[18]!==m||t[19]!==h||t[20]!==g?(_=(0,Q.jsxs)(`div`,{className:`mt-1 text-xs leading-5 text-fg-subtle`,"aria-live":`polite`,children:[m,h,g]}),t[18]=m,t[19]=h,t[20]=g,t[21]=_):_=t[21],_}function Ge(e){return e.language}function Ke(e){let t=(0,Z.c)(64),{language:n,busy:r,statement:i,scope:a,onEdit:o,onDelete:c,onScopeChange:l}=e,[u,d]=(0,X.useState)(!1),[f,p]=(0,X.useState)(!1),m=n===`zh`,h=m?`修改或删除这条内容`:`Edit or delete this item`,g;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,Q.jsx)(_,{className:`size-4`,"aria-hidden":`true`}),t[0]=g):g=t[0];let v;t[1]!==r||t[2]!==h?(v=(0,Q.jsx)(Le,{asChild:!0,children:(0,Q.jsx)(I,{variant:`ghost`,className:`size-11 shrink-0 p-0`,disabled:r,"aria-label":h,children:g})}),t[1]=r,t[2]=h,t[3]=v):v=t[3];let y;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,Q.jsx)(x,{className:`size-4`,"aria-hidden":`true`}),t[4]=y):y=t[4];let b=m?`修改`:`Edit`,S;t[5]!==r||t[6]!==o||t[7]!==b?(S=(0,Q.jsxs)(H,{className:`flex min-h-11 cursor-pointer items-center gap-2 rounded-lg px-3 text-sm text-fg outline-none focus:bg-surface-hover data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,disabled:r,onSelect:o,children:[y,b]}),t[5]=r,t[6]=o,t[7]=b,t[8]=S):S=t[8];let C;t[9]!==r||t[10]!==l||t[11]!==a||t[12]!==m?(C=a&&l?(0,Q.jsxs)(H,{className:`flex min-h-11 cursor-pointer items-center gap-2 rounded-lg px-3 text-sm text-fg outline-none focus:bg-surface-hover data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,disabled:r,onSelect:()=>p(!0),children:[(0,Q.jsx)(ne,{className:`size-4`,"aria-hidden":`true`}),m?`作用范围`:`Where it applies`]}):null,t[9]=r,t[10]=l,t[11]=a,t[12]=m,t[13]=C):C=t[13];let w,T;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(w=()=>d(!0),T=(0,Q.jsx)(me,{className:`size-4`,"aria-hidden":`true`}),t[14]=w,t[15]=T):(w=t[14],T=t[15]);let ee=m?`删除`:`Delete`,E;t[16]!==r||t[17]!==ee?(E=(0,Q.jsxs)(H,{className:`flex min-h-11 cursor-pointer items-center gap-2 rounded-lg px-3 text-sm text-fg outline-none focus:bg-surface-hover data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,disabled:r,onSelect:w,children:[T,ee]}),t[16]=r,t[17]=ee,t[18]=E):E=t[18];let O;t[19]!==E||t[20]!==S||t[21]!==C?(O=(0,Q.jsx)(W,{children:(0,Q.jsxs)(ae,{align:`end`,sideOffset:4,className:`z-[100] min-w-36 rounded-xl border border-edge bg-surface-overlay p-1 shadow-popover`,children:[S,C,E]})}),t[19]=E,t[20]=S,t[21]=C,t[22]=O):O=t[22];let F;t[23]!==O||t[24]!==v?(F=(0,Q.jsxs)(te,{modal:!1,children:[v,O]}),t[23]=O,t[24]=v,t[25]=F):F=t[25];let L;t[26]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,Q.jsx)(D,{className:`fixed inset-0 z-[110] bg-scrim`}),t[26]=L):L=t[26];let R=m?`删除这条内容?`:`Delete this item?`,z;t[27]===R?z=t[28]:(z=(0,Q.jsx)(N,{className:`font-semibold text-fg`,children:R}),t[27]=R,t[28]=z);let B=m?`删除后将不再使用这条记忆,原始对话和文件会保留。`:`This memory will no longer be used. Original conversations and files are kept.`,V;t[29]===B?V=t[30]:(V=(0,Q.jsx)(k,{className:`mt-1 text-sm leading-6 text-fg-muted`,children:B}),t[29]=B,t[30]=V);let U;t[31]!==z||t[32]!==V?(U=(0,Q.jsxs)(`header`,{className:`shrink-0 border-b border-edge px-5 py-4`,children:[z,V]}),t[31]=z,t[32]=V,t[33]=U):U=t[33];let G;t[34]===i?G=t[35]:(G=(0,Q.jsx)(`p`,{className:`min-h-0 flex-1 overflow-y-auto whitespace-pre-wrap break-words px-5 py-4 text-sm leading-6 text-fg`,children:i}),t[34]=i,t[35]=G);let re=m?`取消`:`Cancel`,ie;t[36]===re?ie=t[37]:(ie=(0,Q.jsx)(A,{asChild:!0,children:(0,Q.jsx)(I,{variant:`ghost`,children:re})}),t[36]=re,t[37]=ie);let K;t[38]===c?K=t[39]:(K=()=>{d(!1),c()},t[38]=c,t[39]=K);let oe=m?`删除`:`Delete`,q;t[40]!==r||t[41]!==K||t[42]!==oe?(q=(0,Q.jsx)(I,{disabled:r,onClick:K,children:oe}),t[40]=r,t[41]=K,t[42]=oe,t[43]=q):q=t[43];let J;t[44]!==ie||t[45]!==q?(J=(0,Q.jsxs)(`footer`,{className:`flex shrink-0 justify-end gap-2 border-t border-edge px-5 py-3`,children:[ie,q]}),t[44]=ie,t[45]=q,t[46]=J):J=t[46];let Y;t[47]!==U||t[48]!==G||t[49]!==J?(Y=(0,Q.jsxs)(j,{children:[L,(0,Q.jsxs)(M,{className:`fixed left-1/2 top-1/2 z-[120] flex h-[min(22rem,calc(100dvh-2rem))] w-[min(28rem,calc(100vw-2rem))] -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-2xl border border-edge bg-surface-overlay shadow-popover`,children:[U,G,J]})]}),t[47]=U,t[48]=G,t[49]=J,t[50]=Y):Y=t[50];let se;t[51]!==u||t[52]!==F||t[53]!==Y?(se=(0,Q.jsxs)(P,{open:u,onOpenChange:d,children:[F,Y]}),t[51]=u,t[52]=F,t[53]=Y,t[54]=se):se=t[54];let ce;t[55]!==r||t[56]!==l||t[57]!==a||t[58]!==f||t[59]!==m?(ce=a&&l?(0,Q.jsx)(P,{open:f,onOpenChange:p,children:(0,Q.jsxs)(j,{children:[(0,Q.jsx)(D,{className:`fixed inset-0 z-[110] bg-scrim`}),(0,Q.jsxs)(M,{className:`fixed left-1/2 top-1/2 z-[120] flex h-[min(25rem,calc(100dvh-2rem))] w-[min(28rem,calc(100vw-2rem))] -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-2xl border border-edge bg-surface-overlay shadow-popover`,children:[(0,Q.jsxs)(`header`,{className:`shrink-0 border-b border-edge px-5 py-4`,children:[(0,Q.jsx)(N,{className:`font-semibold text-fg`,children:m?`这条记忆在哪里生效?`:`Where should this memory apply?`}),(0,Q.jsx)(k,{className:`mt-1 text-sm leading-6 text-fg-muted`,children:m?`你可以让它用于所有协作,或只用于当前助手。`:`Use it across all work, or keep it only for this assistant.`})]}),(0,Q.jsx)(`div`,{className:`min-h-0 flex-1 space-y-2 overflow-y-auto p-4`,children:[{value:{type:`global`},icon:Ce,title:m?`所有协作`:`All work`,detail:m?`任何助手和对话都可按需使用`:`Available when relevant in any assistant or conversation`},{value:{type:`agent`,id:a.type===`agent`?a.id??`main`:`main`},icon:s,title:m?`仅当前助手`:`This assistant only`,detail:m?`不会分享给其他助手`:`Not shared with other assistants`}].map(e=>{let{value:t,icon:n,title:i,detail:o}=e,s=a.type===t.type&&(a.id??``)===(t.id??``);return(0,Q.jsxs)(`button`,{type:`button`,className:`flex min-h-20 w-full items-center gap-3 rounded-xl px-4 py-3 text-left focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent ${s?`bg-surface-active`:`hover:bg-surface-hover`}`,disabled:r,onClick:()=>{p(!1),l(t)},children:[(0,Q.jsx)(n,{className:`size-5 shrink-0 text-fg-muted`,"aria-hidden":`true`}),(0,Q.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,Q.jsx)(`span`,{className:`block text-sm font-medium text-fg`,children:i}),(0,Q.jsx)(`span`,{className:`mt-1 block text-xs leading-5 text-fg-muted`,children:o})]}),s?(0,Q.jsx)(`span`,{className:`text-xs font-medium text-accent-fg`,children:m?`当前`:`Current`}):null]},t.type)})}),(0,Q.jsx)(`footer`,{className:`flex shrink-0 justify-end border-t border-edge px-5 py-3`,children:(0,Q.jsx)(A,{asChild:!0,children:(0,Q.jsx)(I,{variant:`ghost`,children:m?`取消`:`Cancel`})})})]})]})}):null,t[55]=r,t[56]=l,t[57]=a,t[58]=f,t[59]=m,t[60]=ce):ce=t[60];let le;return t[61]!==se||t[62]!==ce?(le=(0,Q.jsxs)(Q.Fragment,{children:[se,ce]}),t[61]=se,t[62]=ce,t[63]=le):le=t[63],le}function qe(e,t){return e?new Intl.DateTimeFormat(t===`zh`?`zh-CN`:`en`,{dateStyle:`medium`}).format(e):null}function Je(e,t,n=new Date){let r=new Date(n.getFullYear(),n.getMonth(),n.getDate()),i=new Date(r);i.setDate(r.getDate()-1);let a=new Map;for(let n of[...e].sort((e,t)=>t.recordedAt-e.recordedAt)){let e=n.recordedAt>=r.getTime()?t===`zh`?`今天`:`Today`:n.recordedAt>=i.getTime()?t===`zh`?`昨天`:`Yesterday`:qe(n.recordedAt,t)??(t===`zh`?`更早`:`Earlier`),o=a.get(e)??[];o.push(n),a.set(e,o)}return[...a].map(([e,t])=>({label:e,items:t}))}function Ye(e,t){return(t===`zh`?{user_explicit:`你告诉我的`,user_observed:`从协作中观察到`,system_inferred:`我形成的判断`,external_untrusted:`来自连接的信息`}:{user_explicit:`You told me`,user_observed:`Observed while working together`,system_inferred:`My current read`,external_untrusted:`From connected information`})[e.authority]}function Xe(e,t){if(e.validTo){let n=qe(e.validTo,t);return t===`zh`?`适用至 ${n}`:`Applies until ${n}`}return(t===`zh`?{stable:`相对稳定`,slow:`会随时间复核`,dynamic:`近期状态`,event:`特定阶段`}:{stable:`Relatively stable`,slow:`Reviewed over time`,dynamic:`Current context`,event:`Specific period`})[e.volatility]}function Ze(e,t){return e.authority===`user_explicit`?null:e.confidence>=.85?t===`zh`?`把握较高`:`High confidence`:e.confidence>=.65?t===`zh`?`把握中等`:`Medium confidence`:t===`zh`?`证据较少`:`Limited evidence`}function Qe(e,t){return(t===`zh`?{global:`所有协作`,agent:`当前智能体`,workspace:`当前工作区`,project:`当前项目`,session:`当前会话`}:{global:`All work`,agent:`This agent`,workspace:`This workspace`,project:`This project`,session:`This conversation`})[e.type]}function $e(e){let t=(0,Z.c)(24),{item:n,language:r,busy:i,editing:a,draft:o,onDraftChange:s,onEdit:c,onCancel:l,onDelete:u,onCorrect:d,onScopeChange:f}=e,p=(0,X.useId)(),m=r===`zh`,h;t[0]!==n||t[1]!==r?(h=Ze(n,r),t[0]=n,t[1]=r,t[2]=h):h=t[2];let g=h,_;t[3]===n.sources?_=t[4]:(_=new Set(n.sources?.map(tt).filter(Boolean)),t[3]=n.sources,t[4]=_);let v;t[5]===_?v=t[6]:(v=[..._],t[5]=_,t[6]=v);let y=v,b=m?`修改`:`Edit`,x;return t[7]!==i||t[8]!==g||t[9]!==o||t[10]!==b||t[11]!==a||t[12]!==p||t[13]!==n||t[14]!==r||t[15]!==l||t[16]!==d||t[17]!==u||t[18]!==s||t[19]!==c||t[20]!==f||t[21]!==y||t[22]!==m?(x=(0,Q.jsx)(`article`,{className:`border-t border-edge-subtle px-4 py-3 first:border-t-0 sm:px-5 [content-visibility:auto] [contain-intrinsic-size:auto_100px]`,children:a?(0,Q.jsxs)(`div`,{className:`space-y-3`,children:[(0,Q.jsx)(`label`,{className:`text-sm font-medium text-fg`,htmlFor:p,children:m?`修改这条理解`:`Edit this understanding`}),(0,Q.jsx)(`textarea`,{id:p,value:o,disabled:i,onChange:e=>s(e.target.value),className:`mt-2 min-h-28 w-full resize-y rounded-xl border border-edge bg-surface-base px-3 py-2.5 text-base leading-7 text-fg outline-none focus:border-accent focus:ring-2 focus:ring-accent/20`}),(0,Q.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,Q.jsx)(I,{variant:`ghost`,disabled:i,onClick:l,children:m?`取消`:`Cancel`}),(0,Q.jsx)(I,{variant:`primary`,disabled:!o.trim()||i,onClick:d,children:i?m?`保存中…`:`Saving…`:m?`保存修改`:`Save changes`})]})]}):(0,Q.jsxs)(`div`,{className:`flex items-start gap-2 sm:gap-4`,children:[(0,Q.jsxs)(`div`,{className:`min-w-0 flex-1 pt-1.5`,children:[(0,Q.jsx)(`p`,{className:`whitespace-pre-wrap break-words text-base leading-7 text-fg`,children:n.statement}),(0,Q.jsxs)(`div`,{className:`mt-1 flex flex-wrap items-center gap-x-3 gap-y-1 text-xs leading-5 text-fg-muted`,children:[(0,Q.jsx)(`span`,{children:Ye(n,r)}),n.usable===!1?(0,Q.jsx)(`span`,{children:m?`暂不使用`:`Not in use`}):null,n.validTo?(0,Q.jsx)(`span`,{children:Xe(n,r)}):null,n.authority!==`user_explicit`&&n.confidence<.65?(0,Q.jsx)(`span`,{children:g}):null,(0,Q.jsxs)(`details`,{className:`open:basis-full`,children:[(0,Q.jsx)(`summary`,{className:`w-fit cursor-pointer rounded-md py-1 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,children:m?`查看依据`:`View sources`}),(0,Q.jsxs)(`div`,{className:`my-2 space-y-1 border-l-2 border-edge pl-3 text-sm leading-6`,children:[(0,Q.jsx)(`p`,{children:n.usable?m?`按需用于当前协作`:`Used when relevant`:m?`暂不使用,后台继续复核`:`Not in use; reviewed automatically`}),(0,Q.jsxs)(`p`,{children:[Xe(n,r),` · `,Qe(n.scope,r),g?` · ${g}`:``]}),(0,Q.jsxs)(`p`,{children:[m?`最近观察:`:`Last observed: `,qe(n.observedAt,r)]}),(0,Q.jsxs)(`p`,{children:[m?`模型层:`:`Model layer: `,m?{fact:`事实`,pattern:`模式`,interpretation:`解释`}[n.layer]:n.layer,` · `,m?`${n.independentSourceCount} 个独立来源`:`${n.independentSourceCount} independent sources`]}),y.length?y.map(et):(0,Q.jsx)(`p`,{children:m?`暂无更详细的来源记录`:`No further source details available`}),(0,Q.jsx)(I,{variant:`ghost`,className:`-ml-2 px-2`,disabled:i,onClick:c,children:b})]})]})]})]}),(0,Q.jsx)(Ke,{language:r,busy:i,statement:n.statement,scope:n.scope,onEdit:c,onDelete:u,onScopeChange:f})]})}),t[7]=i,t[8]=g,t[9]=o,t[10]=b,t[11]=a,t[12]=p,t[13]=n,t[14]=r,t[15]=l,t[16]=d,t[17]=u,t[18]=s,t[19]=c,t[20]=f,t[21]=y,t[22]=m,t[23]=x):x=t[23],x}function et(e){return(0,Q.jsx)(`p`,{className:`break-words`,children:e},e)}function tt(e){return e.label}var nt={zh:{eyebrow:`全局用户理解`,title:`xopc 如何形成对你的理解`,subtitle:`这里汇总跨项目、跨对话形成的认识,并说明它们来自哪些渠道。项目事实不会混入你的个人画像。`,channels:`理解渠道`,channelHint:`查看来源及其最近更新。`,noChannels:`尚未通过任何渠道形成可展示的全局理解。`,activeCount:`{{count}} 条已在使用`,pendingCount:`{{count}} 条暂不使用`,noUnderstanding:`暂无来自此渠道的全局理解`,pending:`最近更新`,pendingHint:`自动整理并按需使用,你可以随时修改或删除。`,nothingPending:`尚未形成全局理解。`,showAll:`查看全部 {{count}} 条`,showLess:`收起`,done:`完成`,updating:`正在从已授权渠道更新理解;你可以先查看已有内容。`,sourceKinds:{user:`你明确告诉我的`,conversation:`对话与协作`,connector:`连接的服务`,work_folder:`工作目录`,local_source:`本机来源`,inference:`综合整理`}},en:{eyebrow:`Global user understanding`,title:`How xopc forms its understanding of you`,subtitle:`This brings together understanding formed across projects and conversations, with the channel behind each item. Project facts stay out of your personal portrait.`,channels:`Understanding channels`,channelHint:`View sources and their latest updates.`,noChannels:`No channel has formed displayable global understanding yet.`,activeCount:`{{count}} in use`,pendingCount:`{{count}} not in use`,noUnderstanding:`No usable global understanding has formed from this channel yet`,pending:`Recent updates`,pendingHint:`Organized automatically and used when relevant. Edit or delete anytime.`,nothingPending:`No understanding has formed yet.`,showAll:`View all {{count}}`,showLess:`Show less`,done:`Done`,updating:`Updating from authorized channels. You can review existing understanding now.`,sourceKinds:{user:`You told me`,conversation:`Conversations and work`,connector:`Connected services`,work_folder:`Work folders`,local_source:`On-device sources`,inference:`Synthesized understanding`}}},rt={"local-recent-files":{en:`Recent files`,zh:`最近文件`},"chromium-bookmarks":{en:`Recent bookmarks`,zh:`最近书签`},"apple-notes":{en:`Apple Notes`,zh:`Apple 备忘录`},"apple-mail":{en:`Apple Mail`,zh:`Apple 邮件`},"apple-calendar":{en:`Apple Calendar`,zh:`Apple 日历`},"apple-reminders":{en:`Apple Reminders`,zh:`Apple 提醒事项`},"windows-recent-documents":{en:`Recent documents`,zh:`最近文档`},"linux-recent-documents":{en:`Recent documents`,zh:`最近文档`}},it={user:je,conversation:ye,connector:De,work_folder:v,local_source:xe,inference:De},$={files:v,recent_documents:xe,calendar:oe,tasks:Ie,notes:Fe,mail:he,messages:ye,code_activity:y};function at(e){let t=e.authority===`user_explicit`?`user`:e.authority===`user_observed`?`conversation`:e.authority===`external_untrusted`?`connector`:`inference`;return{id:t,kind:t,observedAt:e.observedAt}}function ot(e,t){return e.kind===`local_source`&&e.label?rt[e.label]?.[t]??e.label:e.kind===`work_folder`&&e.label?t===`zh`?`工作目录 · ${e.label}`:`Work folder · ${e.label}`:e.label?e.label:nt[t].sourceKinds[e.kind]}function st(e){return`${e.kind}:${e.adapterId}:${e.displayName}`}function ct(e){let t=(0,Z.c)(91),{assertions:n,configuredSources:r,activityRunning:i,language:a,busy:o,error:s,onReviewAssertion:l,onCompleted:u}=e,d=nt[a],[f,p]=(0,X.useState)(!1),[h,g]=(0,X.useState)(null),[_,v]=(0,X.useState)(``),y;t[0]===n?y=t[1]:(y=n.filter(ht),t[0]=n,t[1]=y);let x=y,S;t[2]===x?S=t[3]:(S=[...x].sort(mt),t[2]=x,t[3]=S);let C=S,w;if(t[4]!==r||t[5]!==x||t[6]!==a){let e=new Map;for(let t of r){let n=t.kind===`local_source`?rt[t.adapterId]?.[a]??t.displayName:t.displayName,r=st(t);e.set(r,{key:r,grantId:t.id,kind:t.kind,category:t.category,label:t.kind===`work_folder`?a===`zh`?`工作目录 · ${n}`:`Work folder · ${n}`:n,assertions:[],lastObservedAt:t.lastCollectedAt})}for(let t of x)for(let n of t.sources?.length?t.sources:[at(t)]){let r=ot(n,a),i=[...e.values()].find(e=>e.kind===n.kind&&e.label===r),o=i?.key??`${n.kind}:${r}`,s=i??e.get(o)??{key:o,kind:n.kind,category:n.category,label:r,assertions:[],lastObservedAt:n.observedAt};s.assertions.some(e=>e.id===t.id)||s.assertions.push(t),s.lastObservedAt=Math.max(s.lastObservedAt??0,n.observedAt),e.set(o,s)}w=[...e.values()].sort(pt),t[4]=r,t[5]=x,t[6]=a,t[7]=w}else w=t[7];let T=w,E;t[8]===l?E=t[9]:(E=async(e,t,n)=>{await l(e,t,n)&&g(null)},t[8]=l,t[9]=E);let D=E,O,k,A,j,M,N,P,F,L;if(t[10]!==i||t[11]!==o||t[12]!==_||t[13]!==h||t[14]!==a||t[15]!==C||t[16]!==D||t[17]!==f||t[18]!==d.eyebrow||t[19]!==d.nothingPending||t[20]!==d.pending||t[21]!==d.pendingHint||t[22]!==d.showAll||t[23]!==d.showLess||t[24]!==d.subtitle||t[25]!==d.title||t[26]!==d.updating){let e=f?C:C.slice(0,5);O=`mx-auto w-full max-w-[42rem] pb-2`,k=`polite`;let n;t[36]===d.eyebrow?n=t[37]:(n=(0,Q.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.18em] text-accent-fg`,children:d.eyebrow}),t[36]=d.eyebrow,t[37]=n);let r;t[38]===d.title?r=t[39]:(r=(0,Q.jsx)(`h2`,{className:`mt-3 text-2xl font-semibold tracking-tight text-fg sm:text-3xl`,children:d.title}),t[38]=d.title,t[39]=r);let s;t[40]===d.subtitle?s=t[41]:(s=(0,Q.jsx)(`p`,{className:`mx-auto mt-3 max-w-[38rem] text-sm leading-6 text-fg-muted`,children:d.subtitle}),t[40]=d.subtitle,t[41]=s),t[42]!==n||t[43]!==r||t[44]!==s?(A=(0,Q.jsxs)(`div`,{className:`text-center`,children:[n,r,s]}),t[42]=n,t[43]=r,t[44]=s,t[45]=A):A=t[45],t[46]!==i||t[47]!==d.updating?(j=i?(0,Q.jsxs)(`div`,{className:`mt-6 flex items-center gap-3 rounded-xl border border-accent/20 bg-accent-soft/55 px-4 py-3 text-sm text-accent-fg`,children:[(0,Q.jsx)(b,{className:`size-4 shrink-0 animate-spin motion-reduce:animate-none`}),(0,Q.jsx)(`p`,{children:d.updating})]}):null,t[46]=i,t[47]=d.updating,t[48]=j):j=t[48],M=`mt-8`,N=`understanding-updates-title`;let c=C.length?` · ${C.length}`:``;t[49]!==d.pending||t[50]!==c?(P=(0,Q.jsxs)(`h3`,{id:`understanding-updates-title`,className:`text-sm font-semibold text-fg`,children:[d.pending,c]}),t[49]=d.pending,t[50]=c,t[51]=P):P=t[51],t[52]===d.pendingHint?F=t[53]:(F=(0,Q.jsx)(`p`,{className:`mt-1 text-xs leading-5 text-fg-muted`,children:d.pendingHint}),t[52]=d.pendingHint,t[53]=F),L=C.length?(0,Q.jsxs)(`div`,{className:`mt-3`,children:[Je(e,a).map(e=>{let{label:t,items:n}=e;return(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`h4`,{className:`border-b border-edge-subtle px-4 pb-2 pt-3 text-xs font-medium text-fg-muted`,children:t}),(0,Q.jsx)(`div`,{children:n.map(e=>(0,Q.jsx)($e,{item:e,language:a,busy:o,editing:h===e.id,draft:_,onDraftChange:v,onEdit:()=>{g(e.id),v(e.statement)},onCancel:()=>g(null),onCorrect:()=>void D(e,`edited`,_.trim()),onDelete:()=>void D(e,`deleted`)},e.id))})]},t)}),C.length>5?(0,Q.jsxs)(`button`,{type:`button`,className:`mx-auto flex items-center gap-1.5 px-3 py-2 text-xs font-medium text-accent-fg hover:underline`,onClick:()=>p(ft),children:[f?d.showLess:d.showAll.replace(`{{count}}`,String(C.length)),(0,Q.jsx)(Pe,{className:ee(`size-3.5 transition-transform`,f&&`rotate-180`)})]}):null]}):(0,Q.jsxs)(`div`,{className:`mt-3 flex items-start gap-3 rounded-xl border border-edge bg-surface-base/55 p-4`,children:[(0,Q.jsx)(m,{className:`mt-0.5 size-5 shrink-0 text-success`}),(0,Q.jsx)(`p`,{className:`text-sm leading-6 text-fg-muted`,children:d.nothingPending})]}),t[10]=i,t[11]=o,t[12]=_,t[13]=h,t[14]=a,t[15]=C,t[16]=D,t[17]=f,t[18]=d.eyebrow,t[19]=d.nothingPending,t[20]=d.pending,t[21]=d.pendingHint,t[22]=d.showAll,t[23]=d.showLess,t[24]=d.subtitle,t[25]=d.title,t[26]=d.updating,t[27]=O,t[28]=k,t[29]=A,t[30]=j,t[31]=M,t[32]=N,t[33]=P,t[34]=F,t[35]=L}else O=t[27],k=t[28],A=t[29],j=t[30],M=t[31],N=t[32],P=t[33],F=t[34],L=t[35];let R;t[54]!==M||t[55]!==N||t[56]!==P||t[57]!==F||t[58]!==L?(R=(0,Q.jsxs)(`section`,{className:M,"aria-labelledby":N,children:[P,F,L]}),t[54]=M,t[55]=N,t[56]=P,t[57]=F,t[58]=L,t[59]=R):R=t[59];let z;t[60]!==T.length||t[61]!==d.channels?(z=(0,Q.jsxs)(`summary`,{className:`w-fit cursor-pointer rounded-md py-2 text-sm font-medium text-fg focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,children:[d.channels,` · `,T.length]}),t[60]=T.length,t[61]=d.channels,t[62]=z):z=t[62];let B;t[63]===d.channelHint?B=t[64]:(B=(0,Q.jsx)(`p`,{className:`mt-1 text-xs leading-5 text-fg-muted`,children:d.channelHint}),t[63]=d.channelHint,t[64]=B);let V;t[65]!==T||t[66]!==d.activeCount||t[67]!==d.noChannels||t[68]!==d.noUnderstanding||t[69]!==d.pendingCount?(V=T.length?(0,Q.jsx)(`div`,{className:`mt-3 space-y-3`,children:T.map(e=>{let t=e.category?$[e.category]??it[e.kind]:it[e.kind],n=e.assertions.filter(dt).length,r=e.assertions.filter(ut).length;return(0,Q.jsxs)(`article`,{className:`rounded-xl border border-edge bg-surface-base/55 px-4 py-4`,children:[(0,Q.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,Q.jsx)(`div`,{className:`flex size-9 shrink-0 items-center justify-center rounded-xl bg-surface-hover text-fg-muted`,children:(0,Q.jsx)(t,{className:`size-4`})}),(0,Q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Q.jsx)(`h4`,{className:`truncate text-sm font-medium text-fg`,children:e.label}),e.grantId?(0,Q.jsx)(We,{sourceId:e.grantId,lastCollectedAt:e.lastObservedAt}):null,e.assertions.length?(0,Q.jsx)(`p`,{className:`mt-1 text-xs text-fg-muted`,children:[n?d.activeCount.replace(`{{count}}`,String(n)):``,r?d.pendingCount.replace(`{{count}}`,String(r)):``].filter(Boolean).join(` · `)}):(0,Q.jsx)(`p`,{className:`mt-1 text-xs text-fg-muted`,children:d.noUnderstanding})]}),e.grantId?(0,Q.jsx)(Be,{sourceId:e.grantId}):null]}),e.assertions.length?(0,Q.jsx)(`ul`,{className:`ml-12 mt-3 space-y-2 border-t border-edge-subtle pt-3 text-xs leading-5 text-fg-muted`,children:e.assertions.slice(0,5).map(lt)}):null]},e.key)})}):(0,Q.jsx)(`p`,{className:`mt-3 rounded-xl border border-edge bg-surface-base/55 p-4 text-sm text-fg-muted`,children:d.noChannels}),t[65]=T,t[66]=d.activeCount,t[67]=d.noChannels,t[68]=d.noUnderstanding,t[69]=d.pendingCount,t[70]=V):V=t[70];let H;t[71]!==z||t[72]!==B||t[73]!==V?(H=(0,Q.jsxs)(`details`,{className:`mt-6 border-t border-edge pt-4`,children:[z,B,V]}),t[71]=z,t[72]=B,t[73]=V,t[74]=H):H=t[74];let U;t[75]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,Q.jsx)(c,{className:`size-4`}),t[75]=U):U=t[75];let W;t[76]!==o||t[77]!==u||t[78]!==d.done?(W=(0,Q.jsx)(`div`,{className:`mt-6 flex justify-end`,children:(0,Q.jsxs)(I,{variant:`primary`,disabled:o,onClick:u,children:[U,d.done]})}),t[76]=o,t[77]=u,t[78]=d.done,t[79]=W):W=t[79];let G;t[80]===s?G=t[81]:(G=s?(0,Q.jsx)(`p`,{className:`mt-5 text-sm text-danger`,role:`alert`,children:s}):null,t[80]=s,t[81]=G);let te;return t[82]!==O||t[83]!==k||t[84]!==A||t[85]!==j||t[86]!==R||t[87]!==H||t[88]!==W||t[89]!==G?(te=(0,Q.jsxs)(`section`,{className:O,"aria-live":k,children:[A,j,R,H,W,G]}),t[82]=O,t[83]=k,t[84]=A,t[85]=j,t[86]=R,t[87]=H,t[88]=W,t[89]=G,t[90]=te):te=t[90],te}function lt(e){return(0,Q.jsxs)(`li`,{className:`flex gap-2`,children:[(0,Q.jsx)(`span`,{className:`mt-2 size-1 shrink-0 rounded-full bg-accent/60`}),(0,Q.jsx)(`span`,{children:e.statement})]},e.id)}function ut(e){return!e.usable}function dt(e){return e.usable}function ft(e){return!e}function pt(e,t){return t.assertions.length-e.assertions.length||(t.lastObservedAt??0)-(e.lastObservedAt??0)}function mt(e,t){return t.recordedAt-e.recordedAt}function ht(e){return e.scope.type===`global`&&e.status!==`archived`&&e.status!==`rejected`}function gt(){let{pathname:e,search:t}=o(),n=E(e=>e.language),r=B(),[i,a]=(0,X.useState)(!1),[s,c]=(0,X.useState)(null),l=e===`/user-model`,{data:u,mutate:d}=F(l?`/api/user-model`:null,Oe),f=J(e=>e.error),p=J(e=>e.sources.some(e=>e.status===`running`||e.status===`queued`)),m=n===`zh`;if((0,X.useEffect)(()=>{l&&new URLSearchParams(t).get(`workDiscovery`)===`review`&&B.getState().setDrawerOpen(!0)},[l,t]),(0,X.useEffect)(()=>{l&&r.status!==`running`&&d()},[d,l,r.directoryRun?.id,r.status]),!l)return null;let h=r.status===`running`||p,g=async(e,t,n)=>{a(!0),c(null);try{return t===`edited`&&n?await de(e.id,n):t===`deleted`&&await Ee(e.id),await d(),!0}catch(e){return c(e instanceof Error?e.message:String(e)),!1}finally{a(!1)}},_=e=>{if(!e&&u&&r.status!==`running`){r.finish();return}r.setDrawerOpen(e)};return(0,Q.jsxs)(P,{open:r.drawerOpen,onOpenChange:_,children:[(0,Q.jsx)(O,{asChild:!0,children:(0,Q.jsx)(I,{type:`button`,variant:`ghost`,className:ee(`relative size-8 rounded-xl p-0`,L),title:m?`查看 xopc 对你的理解`:`Review what xopc understands`,"aria-label":m?`查看 xopc 对你的理解`:`Review what xopc understands`,children:h?(0,Q.jsx)(b,{className:`size-4 animate-spin motion-reduce:animate-none`}):(0,Q.jsx)(w,{className:`size-4 text-accent-fg`})})}),(0,Q.jsxs)(j,{children:[(0,Q.jsx)(D,{className:`fixed inset-0 z-[60] bg-scrim backdrop-blur-sm data-[state=closed]:animate-out data-[state=open]:animate-in motion-reduce:backdrop-blur-none`}),(0,Q.jsx)(`div`,{className:`pointer-events-none fixed inset-0 z-[61] flex items-center justify-center p-3 sm:p-6`,children:(0,Q.jsxs)(M,{className:`xopc-understanding-center pointer-events-auto flex h-[min(42rem,calc(100dvh-1.5rem))] w-[min(44rem,calc(100vw-1.5rem))] flex-col overflow-hidden rounded-xl border border-edge bg-surface-overlay shadow-float outline-none sm:h-[min(42rem,calc(100dvh-3rem))] sm:w-[min(44rem,calc(100vw-3rem))]`,children:[(0,Q.jsxs)(`header`,{className:`flex h-16 shrink-0 items-center justify-between border-b border-edge-subtle px-5 sm:px-6`,children:[(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(N,{className:`text-sm font-semibold text-fg`,children:h?m?`正在更新用户理解`:`Updating user understanding`:m?`用户理解`:`User understanding`}),(0,Q.jsx)(k,{className:`mt-0.5 text-xs text-fg-muted`,children:h?m?`关闭窗口也会在后台继续`:`You can close this window; work continues in the background`:m?`自动更新,可随时修改或删除`:`Updated automatically. Edit or delete anytime`})]}),(0,Q.jsx)(Be,{disabled:!u?.sources?.length}),(0,Q.jsx)(A,{asChild:!0,children:(0,Q.jsx)(I,{variant:`ghost`,className:`size-8 rounded-xl p-0`,"aria-label":m?`关闭`:`Close`,children:(0,Q.jsx)(T,{className:`size-4`})})})]}),(0,Q.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto px-5 py-7 sm:px-9 sm:py-9`,children:u?(0,Q.jsx)(ct,{assertions:u.assertions,configuredSources:u.sources??[],activityRunning:h,language:n,busy:i,error:s??f??null,onReviewAssertion:g,onCompleted:()=>{_(!1)}}):(0,Q.jsxs)(`section`,{className:`space-y-4`,"aria-label":m?`正在加载用户理解`:`Loading user understanding`,children:[(0,Q.jsx)(R,{className:`h-8 w-2/3`}),(0,Q.jsx)(R,{className:`h-32 w-full`}),(0,Q.jsx)(R,{className:`h-32 w-full`})]})})]})})]})]})}function _t(e){let t=e.get(`tab`);return t===`understanding`||t===`privacy`?t:`overview`}var vt={en:{pageTitle:`Me`,overview:`Overview`,understanding:`What xopc knows`,privacy:`Data & privacy`,knowledge:`Work memory`,editProfile:`Edit basics`,callName:`What should xopc call you?`,callNamePlaceholder:`For example: Alex, Joyce, or Dr. Chen`,role:`Your role`,rolePlaceholder:`For example: founder, designer, or engineer`,pronouns:`Pronouns (optional)`,pronounsPlaceholder:`For example: she/her, he/him, they/them`,timezone:`Timezone`,timezoneSearch:`Search timezones…`,timezoneNoMatch:`No matching timezone`,locale:`Language / locale`,useDeviceTimezone:`Use this device`,notProvided:`Not provided`,editProfileHint:`These are facts you provide directly. They remain separate from xopc’s observations and inferences.`,saveProfile:`Save`,saving:`Saving…`,explicit:`You told me`,explicitHint:`Facts and preferences you stated directly`,learned:`Learned together`,learnedHint:`Patterns formed from our work`,allUnderstanding:`All understanding`,understandingFilterHint:`Filter this view by how each item was formed.`,importantNow:`What matters now`,prioritySourceGoal:`From a goal you confirmed`,prioritySourceWork:`From your current work`,editPriority:`Edit focus`,addPriority:`Set current focus`,priorityTitle:`Current focus`,priorityTitlePlaceholder:`What matters most right now?`,priorityOutcome:`What a good outcome looks like`,priorityOutcomePlaceholder:`Describe the result you want…`,priorityUntil:`Focus through`,savePriority:`Save focus`,endPriority:`End focus`,endingPriority:`Ending…`,priorityHint:`This is used to keep xopc aligned with what deserves attention now.`,otherGoals:`Other active outcomes`,howWeWork:`How we work together`,noRules:`No collaboration preferences yet.`,seeAll:`See all`,workMemory:`What I remember from the work`,items:`items`,refresh:`Refresh`,refreshing:`Refreshing…`,refreshComplete:`Refreshed`,refreshFailed:`Refresh failed`,aboutYouTitle:`A view you can correct`,aboutYouHint:`xopc quietly maintains this working context from collaboration. You can edit or retire any item.`,identity:`Who you are`,preferences:`Preferences and working rhythm`,relationships:`People and relationships`,currentState:`Current context`,insights:`My current read`,emptyGroup:`No understanding has formed here yet.`,correct:`Correct`,save:`Save correction`,cancel:`Cancel`,correctionPlaceholder:`Write the accurate version…`,searchPlaceholder:`Search work memory…`,allMemory:`All work memory`,memoryFilterHint:`Filter by memory type`,memoryLibraryHint:`Only distilled facts, decisions, lessons, commitments, and open questions appear here. Source records stay with their connector.`,noKnowledge:`No work memory has formed yet.`,noKnowledgeMatch:`No work memory matches this search.`,showMore:`Show more`,expand:`Show details`,collapse:`Hide details`,disable:`Disable`,disabled:`Not in use`,enable:`Enable`,loadFailed:`Could not load your understanding.`,tryAgain:`Try again`,actionFailed:`The change could not be saved. Please try again.`},zh:{pageTitle:`我的`,overview:`总览`,understanding:`对我的了解`,privacy:`数据与隐私`,knowledge:`工作记忆`,editProfile:`编辑基本信息`,callName:`希望 xopc 如何称呼你?`,callNamePlaceholder:`例如:Mic、Joyce、张老师`,role:`你的角色`,rolePlaceholder:`例如:创业者、产品设计师、工程师`,pronouns:`代词(可选)`,pronounsPlaceholder:`例如:she/her、he/him、they/them`,timezone:`时区`,timezoneSearch:`搜索时区…`,timezoneNoMatch:`没有匹配的时区`,locale:`语言 / 地区`,useDeviceTimezone:`使用本机时区`,notProvided:`未填写`,editProfileHint:`这些是由你直接提供的事实,与 xopc 的观察和推断分开维护。`,saveProfile:`保存`,saving:`正在保存…`,explicit:`你告诉我的`,explicitHint:`你明确表达的事实与偏好`,learned:`协作中学到的`,learnedHint:`从实际协作中形成的认识`,allUnderstanding:`全部理解`,understandingFilterHint:`按内容来源筛选这份理解。`,importantNow:`此刻重要`,prioritySourceGoal:`来自你确认的当前目标`,prioritySourceWork:`来自当前工作上下文`,editPriority:`编辑`,addPriority:`设置当前关注`,priorityTitle:`当前关注`,priorityTitlePlaceholder:`现在最重要的是什么?`,priorityOutcome:`期待结果`,priorityOutcomePlaceholder:`描述你希望达成的结果…`,priorityUntil:`关注至`,savePriority:`保存关注`,endPriority:`结束关注`,endingPriority:`正在结束…`,priorityHint:`这项内容会帮助 xopc 在协作中优先关注当前最重要的事情。`,otherGoals:`其他进行中的目标`,howWeWork:`我们怎样协作`,noRules:`还没有形成协作偏好。`,seeAll:`查看全部`,workMemory:`我在工作中记住的`,items:`条`,refresh:`刷新`,refreshing:`正在刷新…`,refreshComplete:`已刷新`,refreshFailed:`刷新失败`,aboutYouTitle:`一份可以共同修正的理解`,aboutYouHint:`xopc 会在协作中安静地维护这份工作认知。你仍可随时修改或停止使用任何一条。`,identity:`关于你是谁`,preferences:`偏好与工作节奏`,relationships:`重要的人与关系`,currentState:`当前状态`,insights:`我形成的判断`,emptyGroup:`这里还没有形成理解。`,correct:`修正`,save:`保存修正`,cancel:`取消`,correctionPlaceholder:`写下更准确的说法…`,searchPlaceholder:`搜索工作记忆…`,allMemory:`全部工作记忆`,memoryFilterHint:`按记忆类型筛选`,memoryLibraryHint:`这里只显示提炼后的事实、决定、经验、承诺和待解问题;邮件、日历与文档原文保留在对应来源中。`,noKnowledge:`还没有形成工作记忆。`,noKnowledgeMatch:`没有符合搜索条件的工作记忆。`,showMore:`显示更多`,expand:`查看详情`,collapse:`收起详情`,disable:`停用`,disabled:`已停用`,enable:`启用`,loadFailed:`无法载入对你的理解。`,tryAgain:`重试`,actionFailed:`修改没有保存,请重试。`}},yt=new Set([`identity.call_name`,`identity.role`,`identity.pronouns`,`preference.timezone`,`preference.locale`]),bt=[`work_thread`,`project_fact`,`workspace_fact`,`decision`,`task_lesson`,`commitment`,`open_question`,`episode`,`note`],xt=`UTC.Africa/Cairo.Africa/Johannesburg.America/Chicago.America/Denver.America/Los_Angeles.America/Mexico_City.America/New_York.America/Sao_Paulo.America/Toronto.America/Vancouver.Asia/Bangkok.Asia/Dubai.Asia/Hong_Kong.Asia/Jakarta.Asia/Kolkata.Asia/Seoul.Asia/Shanghai.Asia/Singapore.Asia/Taipei.Asia/Tokyo.Australia/Melbourne.Australia/Perth.Australia/Sydney.Europe/Amsterdam.Europe/Berlin.Europe/London.Europe/Madrid.Europe/Paris.Europe/Rome.Pacific/Auckland.Pacific/Honolulu`.split(`.`);function St(){try{let e=Intl.supportedValuesOf(`timeZone`);return[...new Set([`UTC`,...e])]}catch{return[...xt]}}var Ct=St();function wt(e){return e.map(e=>({value:e,label:e.replaceAll(`_`,` `),group:e.includes(`/`)?e.split(`/`)[0]:`UTC`}))}function Tt(e,t,n=!1){return e?new Intl.DateTimeFormat(t===`zh`?`zh-CN`:`en`,{dateStyle:`medium`,...n?{timeStyle:`short`}:{}}).format(e):null}function Et(e){return typeof e==`string`&&e.trim()?e.trim():void 0}function Dt(e){return{callName:Et(e.profile.callName)??``,role:Et(e.profile.role)??``,pronouns:Et(e.profile.pronouns)??``,timezone:Et(e.profile.timezone)??``,locale:Et(e.profile.locale)??``}}function Ot(e,t){return{"zh-CN":{en:`Simplified Chinese`,zh:`简体中文`},"zh-TW":{en:`Traditional Chinese`,zh:`繁体中文`},"en-US":{en:`English (US)`,zh:`英语(美国)`},"en-GB":{en:`English (UK)`,zh:`英语(英国)`},"ja-JP":{en:`Japanese`,zh:`日语`}}[e]?.[t]??e}function kt(e,t){let n=Tt(e,t);return t===`zh`?`当前安排至 ${n}`:`Current plan through ${n}`}function At(e){let t=new Date(e);return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,`0`)}-${String(t.getDate()).padStart(2,`0`)}`}function jt(e){let[t,n,r]=e.split(`-`).map(Number);return new Date(t,n-1,r,23,59,59,999).getTime()}function Mt(e,t){return(t===`zh`?{global:`所有协作`,agent:`当前智能体`,workspace:`当前工作区`,project:`当前项目`,session:`当前会话`}:{global:`All work`,agent:`This agent`,workspace:`This workspace`,project:`This project`,session:`This conversation`})[e.type]}function Nt(e,t){return(t===`zh`?{work_thread:`工作主线`,project_fact:`项目事实`,workspace_fact:`工作区事实`,decision:`已经决定`,task_lesson:`工作经验`,commitment:`承诺与约定`,open_question:`待解问题`,episode:`重要经历`,note:`其他记录`}:{work_thread:`Work threads`,project_fact:`Project facts`,workspace_fact:`Workspace facts`,decision:`Decisions`,task_lesson:`Lessons`,commitment:`Commitments`,open_question:`Open questions`,episode:`Episodes`,note:`Notes`})[e]}function Pt(e,t,n){if(e)return e.targetType===`goal`?t.find(t=>t.id===e.targetId)?.title:/^[0-9a-f]{8}-[0-9a-f-]{20,}$/i.test(e.targetId)?(n===`zh`?{project:`当前项目`,task:`当前任务`,assertion:`一项待处理的理解`,topic:`当前主题`}:{project:`Current project`,task:`Current task`,assertion:`An understanding to address`,topic:`Current topic`})[e.targetType]:e.targetId}function Ft(e){let t=(0,Z.c)(16),{title:n,hint:r,action:i,children:a,className:o}=e,s=o===void 0?``:o,c;t[0]===n?c=t[1]:(c=(0,Q.jsx)(`h2`,{className:`text-base font-semibold tracking-tight text-fg`,children:n}),t[0]=n,t[1]=c);let l;t[2]===r?l=t[3]:(l=r?(0,Q.jsx)(`p`,{className:`mt-1 max-w-2xl text-sm leading-6 text-fg-muted`,children:r}):null,t[2]=r,t[3]=l);let u;t[4]!==c||t[5]!==l?(u=(0,Q.jsxs)(`div`,{children:[c,l]}),t[4]=c,t[5]=l,t[6]=u):u=t[6];let d;t[7]!==i||t[8]!==u?(d=(0,Q.jsxs)(`header`,{className:`flex items-end justify-between gap-4 px-1 pb-3`,children:[u,i]}),t[7]=i,t[8]=u,t[9]=d):d=t[9];let f;t[10]===a?f=t[11]:(f=(0,Q.jsx)(`div`,{className:`overflow-hidden rounded-2xl bg-surface-panel`,children:a}),t[10]=a,t[11]=f);let p;return t[12]!==s||t[13]!==d||t[14]!==f?(p=(0,Q.jsxs)(`section`,{className:s,children:[d,f]}),t[12]=s,t[13]=d,t[14]=f,t[15]=p):p=t[15],p}function It(e){let t=(0,Z.c)(7),{icon:n,children:r}=e,i;t[0]===n?i=t[1]:(i=(0,Q.jsx)(`span`,{className:`text-fg-subtle`,children:n}),t[0]=n,t[1]=i);let a;t[2]===r?a=t[3]:(a=(0,Q.jsx)(`p`,{children:r}),t[2]=r,t[3]=a);let o;return t[4]!==i||t[5]!==a?(o=(0,Q.jsxs)(`div`,{className:`flex items-center gap-3 px-5 py-5 text-sm text-fg-muted`,children:[i,a]}),t[4]=i,t[5]=a,t[6]=o):o=t[6],o}function Lt({open:e,profile:t,language:n,saving:r,onOpenChange:i,onSave:a}){let o=vt[n],[s,c]=(0,X.useState)(t),[l,p]=(0,X.useState)(``);(0,X.useEffect)(()=>{e&&(c(t),p(``))},[e,t]);let m=e=>{e.preventDefault(),a({callName:s.callName.trim(),role:s.role.trim(),pronouns:s.pronouns.trim(),timezone:s.timezone.trim(),locale:s.locale.trim()})},h=(e,t,n)=>(0,Q.jsxs)(`label`,{className:`grid gap-1.5 text-sm`,children:[(0,Q.jsx)(`span`,{className:`font-medium text-fg`,children:t}),(0,Q.jsx)(`input`,{value:s[e],onChange:t=>c(n=>({...n,[e]:t.target.value})),placeholder:n,className:`h-10 w-full rounded-xl border border-edge bg-surface-base px-3 text-sm text-fg outline-none transition placeholder:text-fg-subtle focus:border-accent focus:ring-2 focus:ring-accent/20`})]}),g=[`zh-CN`,`zh-TW`,`en-US`,`en-GB`,`ja-JP`];s.locale&&!g.includes(s.locale)&&g.push(s.locale);let _=Y(),v=(0,X.useMemo)(()=>[...new Set([...Ct,_,s.timezone].filter(Boolean))].sort(),[_,s.timezone]),y=l.trim().toLocaleLowerCase(),x=(0,X.useMemo)(()=>wt(v.filter(e=>!y||e.toLocaleLowerCase().includes(y)||e.replaceAll(`_`,` `).toLocaleLowerCase().includes(y))),[v,y]);return(0,Q.jsx)(P,{open:e,onOpenChange:i,children:(0,Q.jsxs)(j,{children:[(0,Q.jsx)(D,{className:`xopc-dialog-overlay fixed inset-0 z-[80] bg-scrim backdrop-blur-[2px]`}),(0,Q.jsx)(M,{className:`xopc-dialog-content fixed left-1/2 top-1/2 z-[90] h-[min(40rem,calc(100vh-2rem))] w-[min(42rem,calc(100vw-2rem))] -translate-x-1/2 -translate-y-1/2 rounded-2xl border border-edge bg-surface-overlay shadow-popover outline-none`,children:(0,Q.jsxs)(`form`,{className:`flex h-full min-h-0 flex-col overflow-hidden [border-radius:inherit]`,onSubmit:m,children:[(0,Q.jsxs)(`header`,{className:`flex shrink-0 items-start justify-between gap-4 border-b border-edge px-5 py-4 sm:px-6`,children:[(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(N,{className:`font-semibold text-fg`,children:o.editProfile}),(0,Q.jsx)(k,{className:`mt-1 text-xs leading-5 text-fg-muted`,children:o.editProfileHint})]}),(0,Q.jsx)(A,{asChild:!0,children:(0,Q.jsx)(I,{variant:`ghost`,className:`size-8 shrink-0 p-0`,"aria-label":o.cancel,children:(0,Q.jsx)(T,{className:`size-4`})})})]}),(0,Q.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto p-5 sm:p-6`,children:(0,Q.jsxs)(`div`,{className:`grid gap-5 sm:grid-cols-2`,children:[h(`callName`,o.callName,o.callNamePlaceholder),h(`role`,o.role,o.rolePlaceholder),h(`pronouns`,o.pronouns,o.pronounsPlaceholder),(0,Q.jsxs)(`label`,{className:`grid gap-1.5 text-sm`,children:[(0,Q.jsx)(`span`,{className:`font-medium text-fg`,children:o.locale}),(0,Q.jsxs)(u,{value:s.locale,onChange:e=>c(t=>({...t,locale:e.target.value})),children:[(0,Q.jsx)(d,{value:``,children:o.notProvided}),g.map(e=>(0,Q.jsx)(d,{value:e,children:Ot(e,n)},e))]})]}),(0,Q.jsxs)(`label`,{className:`grid gap-1.5 text-sm sm:col-span-2`,children:[(0,Q.jsx)(`span`,{className:`font-medium text-fg`,children:o.timezone}),(0,Q.jsxs)(`div`,{className:`flex gap-2`,children:[(0,Q.jsx)(f,{value:s.timezone,options:x,placeholder:Y(),emptyLabel:o.notProvided,ariaLabel:o.timezone,selectedLabel:s.timezone||o.notProvided,searchPlaceholder:o.timezoneSearch,searchValue:l,onSearchChange:p,statusMessage:x.length?void 0:o.timezoneNoMatch,triggerClassName:`min-w-0 flex-1 rounded-xl bg-surface-base`,onChange:e=>{c(t=>({...t,timezone:e})),p(``)}}),(0,Q.jsx)(I,{className:`shrink-0 whitespace-nowrap`,onClick:()=>c(e=>({...e,timezone:_})),children:o.useDeviceTimezone})]})]})]})}),(0,Q.jsxs)(`footer`,{className:`flex shrink-0 justify-end gap-2 border-t border-edge px-5 py-3 sm:px-6`,children:[(0,Q.jsx)(A,{asChild:!0,children:(0,Q.jsx)(I,{disabled:r,children:o.cancel})}),(0,Q.jsxs)(I,{type:`submit`,variant:`primary`,disabled:r,children:[r?(0,Q.jsx)(b,{className:`size-4 animate-spin`}):null,r?o.saving:o.saveProfile]})]})]})})]})})}function Rt(e){let t=(0,Z.c)(94),{open:n,priority:r,title:i,outcome:a,language:o,saving:s,onOpenChange:c,onSave:l,onEnd:u}=e,d=vt[o],[f,p]=(0,X.useState)(i),[m,h]=(0,X.useState)(a??``),g=r?.validTo??Date.now()+6048e5,_;t[0]===g?_=t[1]:(_=At(g),t[0]=g,t[1]=_);let v=_,[y,x]=(0,X.useState)(v),S,C;t[2]!==v||t[3]!==n||t[4]!==a||t[5]!==i?(S=()=>{n&&(p(i),h(a??``),x(v))},C=[v,n,a,i],t[2]=v,t[3]=n,t[4]=a,t[5]=i,t[6]=S,t[7]=C):(S=t[6],C=t[7]),(0,X.useEffect)(S,C);let w;t[8]!==m||t[9]!==f||t[10]!==y||t[11]!==l||t[12]!==r?.targetType?(w=e=>{e.preventDefault(),l({title:f.trim(),...r?.targetType===`goal`?{desiredOutcome:m.trim()}:{},validTo:jt(y)})},t[8]=m,t[9]=f,t[10]=y,t[11]=l,t[12]=r?.targetType,t[13]=w):w=t[13];let ee=w,E;t[14]!==m||t[15]!==f||t[16]!==y||t[17]!==r?.targetType?(E=f.trim()&&y&&(r?.targetType!==`goal`||m.trim()),t[14]=m,t[15]=f,t[16]=y,t[17]=r?.targetType,t[18]=E):E=t[18];let O=!!E,F;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(F=(0,Q.jsx)(D,{className:`xopc-dialog-overlay fixed inset-0 z-[80] bg-scrim backdrop-blur-[2px]`}),t[19]=F):F=t[19];let L=r?d.editPriority:d.addPriority,R;t[20]===L?R=t[21]:(R=(0,Q.jsx)(N,{className:`font-semibold text-fg`,children:L}),t[20]=L,t[21]=R);let z;t[22]===d.priorityHint?z=t[23]:(z=(0,Q.jsx)(k,{className:`mt-1 text-xs leading-5 text-fg-muted`,children:d.priorityHint}),t[22]=d.priorityHint,t[23]=z);let B;t[24]!==z||t[25]!==R?(B=(0,Q.jsxs)(`div`,{children:[R,z]}),t[24]=z,t[25]=R,t[26]=B):B=t[26];let V;t[27]===Symbol.for(`react.memo_cache_sentinel`)?(V=(0,Q.jsx)(T,{className:`size-4`}),t[27]=V):V=t[27];let H;t[28]===d.cancel?H=t[29]:(H=(0,Q.jsx)(A,{asChild:!0,children:(0,Q.jsx)(I,{variant:`ghost`,className:`size-8 shrink-0 p-0`,"aria-label":d.cancel,children:V})}),t[28]=d.cancel,t[29]=H);let U;t[30]!==B||t[31]!==H?(U=(0,Q.jsxs)(`header`,{className:`flex shrink-0 items-start justify-between gap-4 border-b border-edge px-5 py-4 sm:px-6`,children:[B,H]}),t[30]=B,t[31]=H,t[32]=U):U=t[32];let W;t[33]===d.priorityTitle?W=t[34]:(W=(0,Q.jsx)(`span`,{className:`font-medium text-fg`,children:d.priorityTitle}),t[33]=d.priorityTitle,t[34]=W);let G;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(G=e=>p(e.target.value),t[35]=G):G=t[35];let te;t[36]!==f||t[37]!==d.priorityTitlePlaceholder?(te=(0,Q.jsx)(`input`,{autoFocus:!0,value:f,onChange:G,placeholder:d.priorityTitlePlaceholder,className:`h-10 w-full rounded-xl border border-edge bg-surface-base px-3 text-sm text-fg outline-none transition placeholder:text-fg-subtle focus:border-accent focus:ring-2 focus:ring-accent/20`}),t[36]=f,t[37]=d.priorityTitlePlaceholder,t[38]=te):te=t[38];let ne;t[39]!==W||t[40]!==te?(ne=(0,Q.jsxs)(`label`,{className:`grid gap-1.5 text-sm`,children:[W,te]}),t[39]=W,t[40]=te,t[41]=ne):ne=t[41];let re;t[42]!==m||t[43]!==r?.targetType||t[44]!==d.priorityOutcome||t[45]!==d.priorityOutcomePlaceholder?(re=r?.targetType===`goal`?(0,Q.jsxs)(`label`,{className:`grid gap-1.5 text-sm`,children:[(0,Q.jsx)(`span`,{className:`font-medium text-fg`,children:d.priorityOutcome}),(0,Q.jsx)(`textarea`,{value:m,onChange:e=>h(e.target.value),placeholder:d.priorityOutcomePlaceholder,className:`min-h-28 w-full resize-y rounded-xl border border-edge bg-surface-base px-3 py-2.5 text-sm leading-6 text-fg outline-none transition placeholder:text-fg-subtle focus:border-accent focus:ring-2 focus:ring-accent/20`})]}):null,t[42]=m,t[43]=r?.targetType,t[44]=d.priorityOutcome,t[45]=d.priorityOutcomePlaceholder,t[46]=re):re=t[46];let ie;t[47]===d.priorityUntil?ie=t[48]:(ie=(0,Q.jsx)(`span`,{className:`font-medium text-fg`,children:d.priorityUntil}),t[47]=d.priorityUntil,t[48]=ie);let K;t[49]===r?.validFrom?K=t[50]:(K=r?.validFrom??Date.now(),t[49]=r?.validFrom,t[50]=K);let ae;t[51]===K?ae=t[52]:(ae=At(K),t[51]=K,t[52]=ae);let oe;t[53]!==y||t[54]!==d.priorityUntil||t[55]!==ae?(oe=(0,Q.jsx)(ze,{min:ae,value:y,onChange:x,ariaLabel:d.priorityUntil,className:`rounded-xl border border-edge bg-surface-base hover:border-edge-strong hover:bg-surface-base`}),t[53]=y,t[54]=d.priorityUntil,t[55]=ae,t[56]=oe):oe=t[56];let q;t[57]!==ie||t[58]!==oe?(q=(0,Q.jsxs)(`label`,{className:`grid gap-1.5 text-sm`,children:[ie,oe]}),t[57]=ie,t[58]=oe,t[59]=q):q=t[59];let J;t[60]!==ne||t[61]!==re||t[62]!==q?(J=(0,Q.jsxs)(`div`,{className:`min-h-0 flex-1 space-y-5 overflow-y-auto p-5 sm:p-6`,children:[ne,re,q]}),t[60]=ne,t[61]=re,t[62]=q,t[63]=J):J=t[63];let Y;t[64]!==u||t[65]!==r||t[66]!==s||t[67]!==d.endPriority||t[68]!==d.endingPriority?(Y=r&&u?(0,Q.jsxs)(I,{variant:`ghost`,className:`text-danger hover:text-danger`,disabled:s,onClick:u,children:[s?(0,Q.jsx)(b,{className:`size-4 animate-spin`}):null,s?d.endingPriority:d.endPriority]}):(0,Q.jsx)(`span`,{}),t[64]=u,t[65]=r,t[66]=s,t[67]=d.endPriority,t[68]=d.endingPriority,t[69]=Y):Y=t[69];let se;t[70]!==s||t[71]!==d.cancel?(se=(0,Q.jsx)(A,{asChild:!0,children:(0,Q.jsx)(I,{disabled:s,children:d.cancel})}),t[70]=s,t[71]=d.cancel,t[72]=se):se=t[72];let ce=!O||s,le;t[73]===s?le=t[74]:(le=s?(0,Q.jsx)(b,{className:`size-4 animate-spin`}):null,t[73]=s,t[74]=le);let ue;t[75]!==d.savePriority||t[76]!==ce||t[77]!==le?(ue=(0,Q.jsxs)(I,{type:`submit`,variant:`primary`,disabled:ce,children:[le,d.savePriority]}),t[75]=d.savePriority,t[76]=ce,t[77]=le,t[78]=ue):ue=t[78];let de;t[79]!==se||t[80]!==ue?(de=(0,Q.jsxs)(`div`,{className:`flex gap-2`,children:[se,ue]}),t[79]=se,t[80]=ue,t[81]=de):de=t[81];let fe;t[82]!==Y||t[83]!==de?(fe=(0,Q.jsxs)(`footer`,{className:`flex shrink-0 flex-wrap items-center justify-between gap-2 border-t border-edge px-5 py-3 sm:px-6`,children:[Y,de]}),t[82]=Y,t[83]=de,t[84]=fe):fe=t[84];let pe;t[85]!==ee||t[86]!==U||t[87]!==J||t[88]!==fe?(pe=(0,Q.jsxs)(j,{children:[F,(0,Q.jsx)(M,{className:`xopc-dialog-content fixed left-1/2 top-1/2 z-[90] h-[min(34rem,calc(100vh-2rem))] w-[min(38rem,calc(100vw-2rem))] -translate-x-1/2 -translate-y-1/2 rounded-2xl border border-edge bg-surface-overlay shadow-popover outline-none`,children:(0,Q.jsxs)(`form`,{className:`flex h-full min-h-0 flex-col overflow-hidden [border-radius:inherit]`,onSubmit:ee,children:[U,J,fe]})})]}),t[85]=ee,t[86]=U,t[87]=J,t[88]=fe,t[89]=pe):pe=t[89];let me;return t[90]!==c||t[91]!==n||t[92]!==pe?(me=(0,Q.jsx)(P,{open:n,onOpenChange:c,children:pe}),t[90]=c,t[91]=n,t[92]=pe,t[93]=me):me=t[93],me}function zt(e){let t=(0,Z.c)(16),{rule:n,language:r,busy:i,onToggle:a}=e,o=vt[r],s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,Q.jsx)(G,{className:`mt-0.5 size-4 shrink-0 text-fg-subtle`}),t[0]=s):s=t[0];let c;t[1]===n.statement?c=t[2]:(c=(0,Q.jsx)(`p`,{className:`min-w-0 flex-1 text-sm leading-6 text-fg`,children:n.statement}),t[1]=n.statement,t[2]=c);let l;t[3]!==n.status||t[4]!==o.disabled?(l=n.status===`disabled`?(0,Q.jsx)(`span`,{className:`text-xs text-fg-subtle`,children:o.disabled}):null,t[3]=n.status,t[4]=o.disabled,t[5]=l):l=t[5];let u=n.status===`active`?o.disable:o.enable,d;t[6]!==i||t[7]!==a||t[8]!==u?(d=(0,Q.jsx)(I,{variant:`ghost`,className:`h-8`,disabled:i,onClick:a,children:u}),t[6]=i,t[7]=a,t[8]=u,t[9]=d):d=t[9];let f;t[10]!==l||t[11]!==d?(f=(0,Q.jsxs)(`div`,{className:`flex shrink-0 flex-col items-end gap-1`,children:[l,d]}),t[10]=l,t[11]=d,t[12]=f):f=t[12];let p;return t[13]!==c||t[14]!==f?(p=(0,Q.jsxs)(`div`,{className:`flex items-start gap-3 border-t border-edge-subtle px-5 py-3 first:border-t-0`,children:[s,c,f]}),t[13]=c,t[14]=f,t[15]=p):p=t[15],p}function Bt(e){let t=(0,Z.c)(15),{suggestion:n,language:r,busy:i,onConfirm:a}=e,o=r===`zh`,s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,Q.jsx)(w,{className:`mt-0.5 size-4 shrink-0 text-accent-fg`}),t[0]=s):s=t[0];let c;t[1]===n.statement?c=t[2]:(c=(0,Q.jsx)(`p`,{className:`text-sm leading-6 text-fg`,children:n.statement}),t[1]=n.statement,t[2]=c);let l=o?`根据你已确认的模式生成;确认前不会生效`:`Suggested from a pattern you confirmed; inactive until you approve`,u;t[3]===l?u=t[4]:(u=(0,Q.jsx)(`p`,{className:`mt-0.5 text-xs text-fg-subtle`,children:l}),t[3]=l,t[4]=u);let d;t[5]!==c||t[6]!==u?(d=(0,Q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[c,u]}),t[5]=c,t[6]=u,t[7]=d):d=t[7];let f=i?o?`启用中…`:`Enabling…`:o?`确认启用`:`Approve`,p;t[8]!==i||t[9]!==a||t[10]!==f?(p=(0,Q.jsx)(I,{variant:`secondary`,className:`h-8 shrink-0`,disabled:i,onClick:a,children:f}),t[8]=i,t[9]=a,t[10]=f,t[11]=p):p=t[11];let m;return t[12]!==d||t[13]!==p?(m=(0,Q.jsxs)(`div`,{className:`flex items-start gap-3 border-t border-edge-subtle px-5 py-3 first:border-t-0`,children:[s,d,p]}),t[12]=d,t[13]=p,t[14]=m):m=t[14],m}function Vt(e){let t=(0,Z.c)(22),{item:n,language:r,busy:i,expanded:a,onToggle:o,editing:s,draft:c,onDraftChange:l,onEdit:u,onCancel:d,onReview:f,onDelete:p}=e,m=vt[r],h=n.updatedAt??n.createdAt,g;t[0]!==r||t[1]!==h?(g=Tt(h,r),t[0]=r,t[1]=h,t[2]=g):g=t[2];let _=g,v;t[3]===n.content?v=t[4]:(v=n.content.length>96||n.content.includes(`
2
- `),t[3]=n.content,t[4]=v);let y=v,b;return t[5]!==i||t[6]!==y||t[7]!==_||t[8]!==c||t[9]!==s||t[10]!==a||t[11]!==n.content||t[12]!==n.scope||t[13]!==r||t[14]!==d||t[15]!==p||t[16]!==l||t[17]!==u||t[18]!==f||t[19]!==o||t[20]!==m?(b=(0,Q.jsx)(`article`,{className:`group border-t border-edge-subtle px-5 py-4 first:border-t-0 sm:px-6`,children:s?(0,Q.jsxs)(`div`,{className:`space-y-3`,children:[(0,Q.jsx)(`textarea`,{"aria-label":m.correctionPlaceholder,disabled:i,value:c,onChange:e=>l(e.target.value),className:`min-h-24 w-full resize-y rounded-xl border border-edge bg-surface-base px-3 py-2.5 text-sm leading-6 text-fg outline-none transition focus:border-accent focus:ring-2 focus:ring-accent/20`}),(0,Q.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,Q.jsx)(I,{variant:`ghost`,className:`h-8`,onClick:d,children:m.cancel}),(0,Q.jsx)(I,{variant:`primary`,className:`h-8`,disabled:!c.trim()||i,onClick:()=>f(`edit_and_approve`,c.trim()),children:m.save})]})]}):(0,Q.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,Q.jsx)(re,{className:`mt-1 size-4 shrink-0 text-fg-subtle`}),(0,Q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Q.jsx)(`p`,{className:`whitespace-pre-wrap break-words text-base leading-7 text-fg ${a?``:`line-clamp-2`}`,children:n.content}),(0,Q.jsxs)(`div`,{className:`mt-2 flex flex-wrap items-center gap-x-3 gap-y-1 text-xs text-fg-subtle`,children:[(0,Q.jsx)(`span`,{children:Mt(n.scope,r)}),_?(0,Q.jsx)(`span`,{children:_}):null]})]}),(0,Q.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[y?(0,Q.jsx)(I,{variant:`ghost`,className:`size-11 p-0`,"aria-expanded":a,"aria-label":a?m.collapse:m.expand,onClick:o,children:(0,Q.jsx)(Pe,{className:`size-3.5 transition-transform ${a?`rotate-180`:``}`})}):null,(0,Q.jsx)(Ke,{language:r,busy:i,statement:n.content,onEdit:u,onDelete:p})]})]})}),t[5]=i,t[6]=y,t[7]=_,t[8]=c,t[9]=s,t[10]=a,t[11]=n.content,t[12]=n.scope,t[13]=r,t[14]=d,t[15]=p,t[16]=l,t[17]=u,t[18]=f,t[19]=o,t[20]=m,t[21]=b):b=t[21],b}function Ht(){let e=E(e=>e.language),t=vt[e],n=ue(e=>e.setPageHeader),r=ue(e=>e.clearPageHeader),[o,s]=i(),{data:f,error:m,isLoading:_,isValidating:v,mutate:y}=F(`/api/user-model`,Oe),ee=_t(o),[D,O]=(0,X.useState)(),[k,A]=(0,X.useState)(),[j,M]=(0,X.useState)(``),[N,P]=(0,X.useState)(),[L,B]=(0,X.useState)(``),[H,W]=(0,X.useState)(``),[te,ne]=(0,X.useState)(24),[re,ae]=(0,X.useState)(),[J,Y]=(0,X.useState)(!1),[me,he]=(0,X.useState)(!1),[ye,xe]=(0,X.useState)(`all`),[Ce,Pe]=(0,X.useState)(`personal`),[Fe,Ie]=(0,X.useState)(`all`),[Le,ze]=(0,X.useState)(`idle`),Z=(0,X.useRef)(void 0),Be=e=>{if(e===ee)return;let t=document.getElementById(`app-main-content`);typeof t?.scrollTo==`function`&&t.scrollTo({top:0,behavior:`auto`}),s(t=>{let n=new URLSearchParams(t);return e===`overview`?n.delete(`tab`):n.set(`tab`,e),n})},Ve=(0,X.useCallback)(async()=>{if(!(Le===`refreshing`||v)){Z.current&&window.clearTimeout(Z.current),ze(`refreshing`),A(void 0),M(t.refreshing);try{await y(),ze(`success`),M(t.refreshComplete)}catch{ze(`error`),M(``),A(t.refreshFailed)}finally{Z.current=window.setTimeout(()=>ze(`idle`),1600)}}},[v,y,Le,t]);(0,X.useEffect)(()=>()=>{Z.current&&window.clearTimeout(Z.current)},[]);let He=v||Le===`refreshing`,Ue=He?t.refreshing:Le===`success`?t.refreshComplete:Le===`error`?t.refreshFailed:t.refresh;(0,X.useEffect)(()=>(n({startExtra:null,main:(0,Q.jsx)(`h1`,{className:`text-base font-semibold text-fg`,children:t.pageTitle}),end:(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(gt,{}),(0,Q.jsx)(I,{variant:`secondary`,className:`size-9 p-0 ${Le===`success`?`text-success`:Le===`error`?`text-danger`:``}`,disabled:He,"aria-label":Ue,title:Ue,onClick:()=>void Ve(),children:He?(0,Q.jsx)(b,{className:`size-4 animate-spin motion-reduce:animate-none`,"aria-hidden":`true`}):Le===`success`?(0,Q.jsx)(c,{className:`size-4`,"aria-hidden":`true`}):Le===`error`?(0,Q.jsx)(p,{className:`size-4`,"aria-hidden":`true`}):(0,Q.jsx)(q,{className:`size-4`,"aria-hidden":`true`})})]})}),r),[r,He,Le,Ue,Ve,n,t]);let We=async(n,r)=>{O(n),A(void 0),M(``);try{await r(),await y(),M(e===`zh`?`已更新`:`Updated`)}catch{A(t.actionFailed)}finally{O(void 0)}},Ge=e=>{We(e.id,async()=>{await de(e.id,L.trim()),P(void 0),B(``)})},Ke=async e=>{O(`profile`),A(void 0),M(``);try{await be(e),await y(),Y(!1)}catch{A(t.actionFailed)}finally{O(void 0)}},qe=async(n,r)=>{O(`priority:${n.id}`),A(void 0),M(``);try{await Te(n.id,r),await y(),he(!1),M(e===`zh`?`当前关注已更新`:`Current focus updated`)}catch{A(t.actionFailed)}finally{O(void 0)}},Je=async n=>{O(`priority:create`),A(void 0),M(``);try{await ke(n),await y(),he(!1),M(e===`zh`?`当前关注已设置`:`Current focus set`)}catch{A(t.actionFailed)}finally{O(void 0)}},Ye=async n=>{O(`priority:${n.id}`),A(void 0),M(``);try{await Te(n.id,{status:`completed`}),await y(),he(!1),M(e===`zh`?`当前关注已结束`:`Current focus ended`)}catch{A(t.actionFailed)}finally{O(void 0)}};if(_)return(0,Q.jsxs)(`div`,{className:`mx-auto w-full max-w-7xl space-y-5 px-4 pb-7 pt-3 sm:px-6 lg:px-8 lg:pb-9 lg:pt-4`,children:[(0,Q.jsx)(R,{className:`h-10 w-72 rounded-xl`}),(0,Q.jsx)(R,{className:`h-72 rounded-xl`}),(0,Q.jsxs)(`div`,{className:`grid gap-5 lg:grid-cols-2`,children:[(0,Q.jsx)(R,{className:`h-80 rounded-xl`}),(0,Q.jsx)(R,{className:`h-80 rounded-xl`})]})]});if(m||!f)return(0,Q.jsxs)(`div`,{className:`mx-auto flex min-h-72 max-w-xl flex-col items-center justify-center gap-3 p-6 text-center`,children:[(0,Q.jsx)(K,{className:`size-6 text-fg-subtle`}),(0,Q.jsx)(`p`,{className:`text-sm text-danger`,children:t.loadFailed}),(0,Q.jsx)(I,{onClick:()=>void y(),children:t.tryAgain})]});let Xe=f.assertions.filter(e=>e.usable&&!yt.has(e.predicate)).sort((e,t)=>{let n=e.declaredImportance??e.inferredImportance;return(t.declaredImportance??t.inferredImportance)-n||t.recordedAt-e.recordedAt}),Ze=f.assertions.filter(e=>[`candidate`,`needs_review`,`conflicted`].includes(e.status)).sort((e,t)=>t.recordedAt-e.recordedAt),Qe=Dt(f),et=Qe.callName||(e===`zh`?`你`:`You`),tt=Xe.filter(e=>e.authority===`user_explicit`).length,nt=Xe.length-tt,rt=Xe.filter(e=>ye===`explicit`?e.authority===`user_explicit`:ye===`learned`?e.authority!==`user_explicit`:!0),it=f.priorities.filter(e=>e.status===`active`&&e.validTo>Date.now()),$=it.find(e=>e.rank===`primary`)??it[0],at=Pt($,f.goals,e),ot=$?.targetType===`goal`?f.goals.find(e=>e.id===$.targetId):void 0,st=f.goals.filter(e=>e.status===`active`||e.status===`paused`),ct=st.filter(e=>$?.targetType!==`goal`||e.id!==$.targetId),lt=f.rules.filter(e=>e.status!==`archived`),ut=f.ruleSuggestions??[],dt=f.knowledge.filter(e=>e.status!==`archived`&&e.status!==`rejected`),ft=H.trim().toLocaleLowerCase(),pt=dt.filter(e=>Fe===`all`||e.kind===Fe),mt=pt.filter(t=>!ft||t.content.toLocaleLowerCase().includes(ft)||Nt(t.kind,e).toLocaleLowerCase().includes(ft)),ht=[{key:`identity`,title:t.identity,icon:je,items:rt.filter(e=>e.kind===`identity`)},{key:`preferences`,title:t.preferences,icon:Ae,items:rt.filter(e=>[`preference`,`value`,`routine`,`capability`].includes(e.kind))},{key:`relationships`,title:t.relationships,icon:G,items:rt.filter(e=>e.kind===`relationship`)},{key:`current`,title:t.currentState,icon:h,items:rt.filter(e=>e.kind===`current_state`)},{key:`insights`,title:t.insights,icon:w,items:rt.filter(e=>e.kind===`derived_insight`)}].filter(e=>e.items.length>0),xt=[{key:`about`,icon:je,label:e===`zh`?`关于我`:`About me`,hint:e===`zh`?`身份、背景与能力`:`Identity, background, and capabilities`,count:Xe.filter(e=>[`identity`,`capability`].includes(e.kind)).length},{key:`preferences`,icon:Ae,label:e===`zh`?`偏好与习惯`:`Preferences & habits`,hint:e===`zh`?`沟通方式与日常习惯`:`Communication and routines`,count:Xe.filter(e=>[`preference`,`value`,`routine`].includes(e.kind)).length},{key:`people`,icon:G,label:e===`zh`?`重要的人`:`Important people`,hint:e===`zh`?`与你有关的人和关系`:`People and relationships`,count:Xe.filter(e=>e.kind===`relationship`).length},{key:`goals`,icon:w,label:e===`zh`?`目标与计划`:`Goals & plans`,hint:e===`zh`?`正在推进的长期目标`:`Long-term outcomes in progress`,count:st.length}],St=bt.map(e=>({kind:e,count:dt.filter(t=>t.kind===e).length})).filter(e=>e.count>0),Ct=St.slice(0,4),wt=Ct.length===1?`grid-cols-1`:`sm:grid-cols-2`,Tt=mt.slice(0,te),Et=bt.map(e=>({kind:e,items:Tt.filter(t=>t.kind===e),totalCount:mt.filter(t=>t.kind===e).length})).filter(e=>e.items.length>0),At=[{id:`all`,label:t.allUnderstanding,count:Xe.length},{id:`explicit`,label:t.explicit,count:tt},{id:`learned`,label:t.learned,count:nt}],jt=e=>{xe(e),Pe(`personal`),Be(`understanding`)},Mt=e=>{Ie(e),W(``),ne(24),Pe(`work`),Be(`understanding`)},Ht=t=>(0,Q.jsx)($e,{item:t,language:e,busy:!!D,editing:N===t.id,draft:N===t.id?L:``,onDraftChange:B,onEdit:()=>{P(t.id),B(t.statement)},onCancel:()=>{P(void 0),B(``)},onDelete:()=>void We(t.id,()=>Ee(t.id)),onCorrect:()=>Ge(t),onScopeChange:e=>void We(t.id,()=>ve(t.id,e))},t.id);return(0,Q.jsxs)(`div`,{className:`mx-auto w-full max-w-6xl space-y-6 px-4 pb-4 pt-3 sm:space-y-8 sm:px-6 sm:pb-7 lg:px-8 lg:pb-10 lg:pt-4`,children:[(0,Q.jsx)(Re,{items:[{id:`overview`,label:t.overview,icon:w},{id:`understanding`,label:(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`span`,{className:`sm:hidden`,children:e===`zh`?`记忆`:`Memory`}),(0,Q.jsx)(`span`,{className:`hidden sm:inline`,children:t.understanding})]}),icon:je,count:Xe.length},{id:`privacy`,label:(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`span`,{className:`sm:hidden`,children:e===`zh`?`隐私`:`Privacy`}),(0,Q.jsx)(`span`,{className:`hidden sm:inline`,children:t.privacy})]}),icon:U}],activeTab:ee,onChange:Be,ariaLabel:t.pageTitle,tabIdPrefix:`understanding-tab`,panelIdPrefix:`understanding-panel`,className:`w-full max-w-full gap-1 rounded-full bg-surface-panel p-1 shadow-surface sm:w-fit`,buttonClassName:`min-w-0 flex-1 justify-center rounded-full px-2 py-2 sm:flex-none sm:px-3.5`,selectedClassName:`bg-surface-active text-fg`,unselectedClassName:`text-fg-muted hover:bg-surface-hover hover:text-fg`}),(0,Q.jsx)(`p`,{role:`status`,className:`sr-only`,children:j}),k?(0,Q.jsxs)(`div`,{role:`alert`,className:`flex items-center justify-between gap-3 rounded-xl border border-danger bg-danger-soft px-4 py-3 text-sm text-danger`,children:[(0,Q.jsx)(`span`,{children:k}),(0,Q.jsx)(`button`,{type:`button`,onClick:()=>A(void 0),"aria-label":t.cancel,children:(0,Q.jsx)(T,{className:`size-4`})})]}):null,ee===`overview`?(0,Q.jsxs)(`div`,{id:`understanding-panel-overview`,role:`tabpanel`,"aria-labelledby":`understanding-tab-overview`,className:`space-y-8 sm:space-y-10`,children:[(0,Q.jsxs)(`section`,{"data-testid":`overview-hero`,className:`grid gap-5 sm:gap-8 lg:grid-cols-[minmax(0,1fr)_minmax(20rem,24rem)] lg:gap-12`,children:[(0,Q.jsxs)(`div`,{className:`min-w-0 px-1 sm:py-2`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center gap-3 sm:flex-wrap sm:gap-5`,children:[(0,Q.jsx)(z,{className:`size-16 sm:size-20`,mood:k?`care`:He||D?`work`:`listen`}),(0,Q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Q.jsx)(`h2`,{className:`truncate text-xl font-semibold tracking-tight text-fg sm:text-3xl`,children:et}),(0,Q.jsx)(`p`,{className:`mt-1 break-words text-sm text-fg-muted`,children:Qe.role||t.notProvided})]}),(0,Q.jsxs)(I,{variant:`ghost`,className:`size-11 shrink-0 px-0 sm:h-9 sm:w-auto sm:px-3`,onClick:()=>Y(!0),children:[(0,Q.jsx)(ce,{className:`size-4`,"aria-hidden":`true`}),(0,Q.jsx)(`span`,{className:`sr-only sm:not-sr-only`,children:t.editProfile})]})]}),(0,Q.jsx)(`dl`,{className:`mt-6 hidden gap-x-8 gap-y-5 sm:grid sm:grid-cols-3`,children:[{icon:ie,label:t.locale,value:Qe.locale?Ot(Qe.locale,e):t.notProvided},{icon:ge,label:t.timezone,value:Qe.timezone||t.notProvided},{icon:je,label:t.pronouns,value:Qe.pronouns||t.notProvided}].map(({icon:e,label:t,value:n})=>(0,Q.jsxs)(`div`,{className:`min-w-0`,children:[(0,Q.jsxs)(`dt`,{className:`flex items-center gap-1.5 text-xs text-fg-subtle`,children:[(0,Q.jsx)(e,{className:`size-3.5`,"aria-hidden":`true`}),t]}),(0,Q.jsx)(`dd`,{className:`mt-1.5 truncate text-sm font-medium text-fg`,children:n})]},t))})]}),(0,Q.jsxs)(`aside`,{"data-testid":`priority-panel`,className:`flex min-h-0 flex-col rounded-[1.4rem] bg-surface-panel p-5 shadow-surface sm:min-h-64 sm:p-6`,children:[(0,Q.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`p`,{className:`text-xs font-semibold tracking-wide text-fg-subtle`,children:t.importantNow}),$?(0,Q.jsxs)(`p`,{className:`mt-1.5 flex items-center gap-1.5 text-xs text-fg-muted`,children:[(0,Q.jsx)(V,{className:`size-3.5`,"aria-hidden":`true`}),$.targetType===`goal`?t.prioritySourceGoal:t.prioritySourceWork]}):null]}),$&&at?(0,Q.jsxs)(I,{variant:`ghost`,className:`h-8 shrink-0 px-2.5`,onClick:()=>he(!0),children:[(0,Q.jsx)(x,{className:`size-3.5`,"aria-hidden":`true`}),t.editPriority]}):null]}),at?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`p`,{className:`mt-3 text-lg font-semibold leading-7 tracking-tight text-fg`,children:at}),ot?.desiredOutcome?(0,Q.jsx)(`p`,{className:`mt-2 text-sm leading-6 text-fg-muted`,children:ot.desiredOutcome}):null,$?(0,Q.jsxs)(`p`,{className:`mt-auto flex items-center gap-1.5 pt-4 text-xs text-fg-subtle`,children:[(0,Q.jsx)(oe,{className:`size-3.5`,"aria-hidden":`true`}),kt($.validTo,e)]}):null]}):(0,Q.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center gap-3 py-6 text-center text-sm text-fg-muted`,children:[(0,Q.jsx)(V,{className:`size-5 text-fg-subtle`}),(0,Q.jsxs)(I,{variant:`primary`,onClick:()=>he(!0),children:[(0,Q.jsx)(S,{className:`size-4`,"aria-hidden":`true`}),t.addPriority]})]}),ct.length?(0,Q.jsxs)(`div`,{className:`mt-5 hidden border-t border-edge-subtle pt-4 sm:block`,children:[(0,Q.jsx)(`p`,{className:`text-xs text-fg-subtle`,children:t.otherGoals}),(0,Q.jsx)(`div`,{className:`mt-2 space-y-2`,children:ct.slice(0,3).map(e=>(0,Q.jsx)(`p`,{className:`text-sm text-fg`,children:e.title},e.id))})]}):null]})]}),Ze.length?(0,Q.jsxs)(`section`,{className:`overflow-hidden rounded-2xl bg-accent-soft/70 shadow-surface`,"aria-label":e===`zh`?`需要你确认`:`Needs your review`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center justify-between gap-4 px-5 py-4 sm:px-6`,children:[(0,Q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[(0,Q.jsx)(`span`,{className:`flex size-9 shrink-0 items-center justify-center rounded-full bg-surface-panel text-accent-fg`,children:(0,Q.jsx)(w,{className:`size-4`,"aria-hidden":`true`})}),(0,Q.jsx)(`div`,{className:`min-w-0`,children:(0,Q.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:e===`zh`?`需要你确认`:`Needs your review`})})]}),(0,Q.jsx)(`span`,{className:`rounded-full bg-surface-panel px-2.5 py-1 text-xs font-medium tabular-nums text-accent-fg`,children:Ze.length})]}),(0,Q.jsxs)(`div`,{className:`border-t border-accent/10 bg-surface-panel px-5 py-4 sm:flex sm:items-center sm:gap-4 sm:px-6`,children:[(0,Q.jsx)(`p`,{className:`min-w-0 flex-1 text-sm leading-6 text-fg`,children:Ze[0].statement}),(0,Q.jsxs)(`div`,{className:`mt-3 flex shrink-0 gap-2 sm:mt-0`,children:[(0,Q.jsx)(I,{variant:`ghost`,className:`min-h-11 flex-1 sm:flex-none`,disabled:D===Ze[0].id,onClick:()=>void We(Ze[0].id,()=>Me(Ze[0].id,`rejected`)),children:e===`zh`?`不是`:`No`}),(0,Q.jsx)(I,{variant:`primary`,className:`min-h-11 flex-1 sm:flex-none`,disabled:D===Ze[0].id,onClick:()=>void We(Ze[0].id,()=>Me(Ze[0].id,`active`)),children:e===`zh`?`是的`:`That’s right`})]})]})]}):null,(0,Q.jsx)(Ft,{title:e===`zh`?`xopc 对我的了解`:`What xopc knows about me`,action:(0,Q.jsx)(I,{variant:`ghost`,className:`h-8 shrink-0`,onClick:()=>Be(`understanding`),children:t.seeAll}),children:(0,Q.jsx)(`div`,{className:`grid sm:grid-cols-2`,children:xt.map(({key:e,icon:t,label:n,hint:r,count:i})=>(0,Q.jsxs)(`button`,{type:`button`,className:`group flex min-h-24 w-full items-center gap-4 border-t border-edge-subtle px-5 py-4 text-left first:border-t-0 hover:bg-surface-hover focus-visible:z-10 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-accent sm:[&:nth-child(-n+2)]:border-t-0 sm:[&:nth-child(even)]:border-l`,onClick:()=>jt(`all`),"aria-label":`${n}: ${i}`,children:[(0,Q.jsx)(`span`,{className:`flex size-10 shrink-0 items-center justify-center rounded-xl bg-surface-base text-fg-muted`,children:(0,Q.jsx)(t,{className:`size-4.5`,"aria-hidden":`true`})}),(0,Q.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,Q.jsx)(`span`,{className:`block text-sm font-medium text-fg`,children:n}),(0,Q.jsx)(`span`,{className:`mt-0.5 block truncate text-xs text-fg-subtle`,children:r})]}),(0,Q.jsx)(`span`,{className:`text-sm tabular-nums text-fg-muted`,children:i}),(0,Q.jsx)(l,{className:`size-4 shrink-0 text-fg-subtle transition-transform group-hover:translate-x-0.5`,"aria-hidden":`true`})]},e))})}),(0,Q.jsxs)(`div`,{className:`grid items-start gap-8 lg:grid-cols-2`,children:[(0,Q.jsx)(Ft,{title:t.howWeWork,className:`min-w-0`,children:lt.length||ut.length?(0,Q.jsxs)(Q.Fragment,{children:[lt.slice(0,3).map(t=>(0,Q.jsx)(zt,{rule:t,language:e,busy:D===t.id,onToggle:()=>void We(t.id,()=>le(t.id,t.status===`active`?`disabled`:`active`))},t.id)),ut.slice(0,2).map(t=>(0,Q.jsx)(Bt,{suggestion:t,language:e,busy:D===t.id,onConfirm:()=>void We(t.id,()=>Se(t))},t.id))]}):(0,Q.jsx)(It,{icon:(0,Q.jsx)(G,{className:`size-5`}),children:t.noRules})}),(0,Q.jsx)(Ft,{title:t.workMemory,className:`min-w-0`,action:(0,Q.jsx)(I,{variant:`ghost`,className:`h-8 shrink-0`,onClick:()=>Mt(`all`),children:t.seeAll}),children:St.length?(0,Q.jsx)(`div`,{"data-testid":`memory-summary-grid`,className:`grid gap-3 bg-surface-base ${wt}`,children:Ct.map(({kind:t,count:n})=>(0,Q.jsxs)(`button`,{type:`button`,className:`group flex min-h-28 cursor-pointer items-start justify-between rounded-2xl bg-surface-panel px-5 py-5 text-left transition-colors hover:bg-surface-hover focus-visible:z-10 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,onClick:()=>Mt(t),"aria-label":`${Nt(t,e)}: ${n}`,children:[(0,Q.jsxs)(`span`,{children:[(0,Q.jsx)(`span`,{className:`block text-2xl font-semibold tabular-nums text-fg`,children:n}),(0,Q.jsx)(`span`,{className:`mt-1 block text-sm text-fg-muted`,children:Nt(t,e)})]}),(0,Q.jsx)(l,{className:`mt-1 size-4 shrink-0 text-fg-subtle transition-transform group-hover:translate-x-0.5 group-hover:text-fg-muted motion-reduce:transform-none`,"aria-hidden":`true`})]},t))}):(0,Q.jsx)(It,{icon:(0,Q.jsx)(De,{className:`size-5`}),children:t.noKnowledge})})]})]}):null,ee===`understanding`?(0,Q.jsxs)(`div`,{id:`understanding-panel-understanding`,role:`tabpanel`,"aria-labelledby":`understanding-tab-understanding`,className:`space-y-10`,children:[(0,Q.jsx)(`div`,{className:`flex w-full gap-1 rounded-xl bg-surface-panel p-1 sm:w-fit`,role:`group`,"aria-label":e===`zh`?`记忆分类`:`Memory category`,children:[{id:`personal`,label:e===`zh`?`关于我`:`About me`,icon:je,count:Xe.length},{id:`work`,label:e===`zh`?`工作记忆`:`Work memory`,icon:V,count:dt.length}].map(({id:e,label:t,icon:n,count:r})=>(0,Q.jsxs)(`button`,{type:`button`,"aria-pressed":Ce===e,className:`touch-target flex min-h-10 flex-1 items-center justify-center gap-2 rounded-lg px-3 text-sm font-medium transition-colors sm:flex-none ${Ce===e?`bg-surface-active text-fg`:`text-fg-muted hover:bg-surface-hover hover:text-fg`}`,onClick:()=>Pe(e),children:[(0,Q.jsx)(n,{className:`size-4`,"aria-hidden":`true`}),t,(0,Q.jsx)(`span`,{className:`text-xs tabular-nums text-fg-subtle`,children:r})]},e))}),Ce===`personal`?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`div`,{className:`px-1 pt-1`,children:[(0,Q.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,Q.jsx)(K,{className:`mt-0.5 size-5 shrink-0 text-accent-fg`,"aria-hidden":`true`}),(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`h2`,{className:`font-semibold text-fg`,children:t.aboutYouTitle}),(0,Q.jsx)(`p`,{className:`mt-1 max-w-3xl text-sm leading-6 text-fg-muted`,children:t.aboutYouHint})]})]}),(0,Q.jsx)(`div`,{className:`mt-4 flex flex-wrap gap-2`,role:`group`,"aria-label":t.understandingFilterHint,children:At.map(e=>(0,Q.jsxs)(`button`,{type:`button`,"aria-pressed":ye===e.id,className:`touch-target inline-flex min-h-9 cursor-pointer items-center gap-1.5 rounded-full px-3 py-1.5 text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent ${ye===e.id?`bg-surface-active text-fg`:`text-fg-muted hover:bg-surface-hover hover:text-fg`}`,onClick:()=>xe(e.id),children:[e.label,(0,Q.jsx)(`span`,{className:`tabular-nums text-fg-subtle`,children:e.count})]},e.id))})]}),ht.length?ht.map(({key:e,title:t,icon:n,items:r})=>(0,Q.jsx)(Ft,{title:t,action:(0,Q.jsx)(n,{className:`size-4 text-fg-subtle`,"aria-hidden":`true`}),children:(0,Q.jsx)(`div`,{children:r.map(Ht)})},e)):(0,Q.jsx)(`div`,{className:`rounded-2xl bg-surface-panel`,children:(0,Q.jsx)(It,{icon:(0,Q.jsx)(K,{className:`size-5`}),children:t.emptyGroup})})]}):(0,Q.jsxs)(`div`,{className:`space-y-8`,children:[(0,Q.jsxs)(`div`,{className:`px-1 pt-1`,children:[(0,Q.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between`,children:[(0,Q.jsxs)(`div`,{className:`max-w-2xl`,children:[(0,Q.jsx)(`h2`,{className:`font-semibold text-fg`,children:Fe===`all`?t.allMemory:Nt(Fe,e)}),(0,Q.jsxs)(`p`,{className:`mt-1 text-sm leading-6 text-fg-muted`,children:[pt.length,` `,t.items,` · `,t.memoryLibraryHint]})]}),(0,Q.jsxs)(`label`,{className:`relative block sm:w-80`,children:[(0,Q.jsx)(C,{className:`pointer-events-none absolute left-3 top-1/2 size-4 -translate-y-1/2 text-fg-subtle`}),(0,Q.jsx)(`span`,{className:`sr-only`,children:t.searchPlaceholder}),(0,Q.jsx)(`input`,{type:`search`,value:H,onChange:e=>{W(e.target.value),ne(24)},placeholder:t.searchPlaceholder,className:`h-10 w-full rounded-xl border border-edge bg-surface-base pl-9 pr-3 text-sm text-fg outline-none transition placeholder:text-fg-subtle focus:border-accent focus:ring-2 focus:ring-accent/20`})]})]}),(0,Q.jsxs)(`div`,{className:`mt-4 flex flex-wrap gap-2`,role:`group`,"aria-label":t.memoryFilterHint,children:[(0,Q.jsxs)(`button`,{type:`button`,"aria-pressed":Fe===`all`,className:`touch-target inline-flex min-h-9 cursor-pointer items-center gap-1.5 rounded-full px-3 py-1.5 text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent ${Fe===`all`?`bg-surface-active text-fg`:`text-fg-muted hover:bg-surface-hover hover:text-fg`}`,onClick:()=>Ie(`all`),children:[t.allMemory,(0,Q.jsx)(`span`,{className:`tabular-nums text-fg-subtle`,children:dt.length})]}),St.map(({kind:t,count:n})=>(0,Q.jsxs)(`button`,{type:`button`,"aria-pressed":Fe===t,className:`touch-target inline-flex min-h-9 cursor-pointer items-center gap-1.5 rounded-full px-3 py-1.5 text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent ${Fe===t?`bg-surface-active text-fg`:`text-fg-muted hover:bg-surface-hover hover:text-fg`}`,onClick:()=>Ie(t),children:[Nt(t,e),(0,Q.jsx)(`span`,{className:`tabular-nums text-fg-subtle`,children:n})]},t))]})]}),mt.length?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`div`,{className:`space-y-8`,children:Et.map(({kind:t,items:n,totalCount:r})=>(0,Q.jsxs)(`section`,{className:`overflow-hidden rounded-2xl bg-surface-panel`,children:[(0,Q.jsxs)(`header`,{className:`flex items-center justify-between px-5 pb-1 pt-4 sm:px-6`,children:[(0,Q.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:Nt(t,e)}),(0,Q.jsx)(`span`,{className:`text-xs tabular-nums text-fg-subtle`,children:r})]}),(0,Q.jsx)(`div`,{children:n.map(t=>(0,Q.jsx)(Vt,{item:t,language:e,busy:!!D,expanded:re===t.id,onToggle:()=>ae(e=>e===t.id?void 0:t.id),editing:N===`knowledge:${t.id}`,draft:L,onDraftChange:B,onEdit:()=>{P(`knowledge:${t.id}`),B(t.content)},onCancel:()=>{P(void 0),B(``)},onDelete:()=>void We(t.id,()=>_e(t.id)),onReview:(e,n)=>void We(t.id,async()=>{await se(t,e,n),P(void 0),B(``)})},t.id))})]},t))}),mt.length>te?(0,Q.jsx)(`div`,{className:`flex justify-center pt-2`,children:(0,Q.jsx)(I,{onClick:()=>ne(e=>e+24),children:t.showMore})}):null]}):(0,Q.jsx)(`div`,{className:`rounded-2xl bg-surface-panel`,children:(0,Q.jsx)(It,{icon:(0,Q.jsx)(C,{className:`size-5`}),children:H.trim()?t.noKnowledgeMatch:t.noKnowledge})})]})]}):null,ee===`privacy`?(0,Q.jsxs)(`div`,{id:`understanding-panel-privacy`,role:`tabpanel`,"aria-labelledby":`understanding-tab-privacy`,className:`space-y-8`,children:[(0,Q.jsx)(`div`,{className:`px-1 pt-1`,children:(0,Q.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,Q.jsx)(U,{className:`mt-0.5 size-5 shrink-0 text-accent-fg`,"aria-hidden":`true`}),(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`h2`,{className:`font-semibold text-fg`,children:e===`zh`?`你的信息,由你掌控`:`Your information, under your control`}),(0,Q.jsx)(`p`,{className:`mt-1 max-w-3xl text-sm leading-6 text-fg-muted`,children:e===`zh`?`决定 xopc 可以记住什么、从哪里了解你,以及如何迁移你的数据。`:`Decide what xopc can remember, where it learns from, and how your data moves.`})]})]})}),(0,Q.jsx)(Ft,{title:e===`zh`?`记忆与使用`:`Memory & use`,children:(0,Q.jsxs)(`div`,{className:`divide-y divide-edge-subtle`,children:[[{key:`memory`,icon:K,title:e===`zh`?`长期记忆`:`Long-term memory`,detail:e===`zh`?`记住长期有用的信息,减少重复说明。`:`Remember useful information so you do not have to repeat yourself.`,enabled:f.settings.memoryEnabled},{key:`references`,icon:w,title:e===`zh`?`回答中的记忆引用`:`Memory references in answers`,detail:e===`zh`?`当个人信息影响回答时,显示本次参考内容。`:`Show what personal context was referenced when it shapes an answer.`,enabled:f.settings.showMemoryReferences}].map(({key:e,icon:t,title:n,detail:r,enabled:i})=>(0,Q.jsxs)(`button`,{type:`button`,role:`switch`,"aria-checked":i,disabled:!!D,className:`flex min-h-20 w-full items-center gap-4 px-5 py-4 text-left hover:bg-surface-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-accent disabled:opacity-60 sm:px-6`,onClick:()=>void We(`setting:${e}`,()=>pe(e===`memory`?{memoryEnabled:!i}:{showMemoryReferences:!i})),children:[(0,Q.jsx)(`span`,{className:`flex size-10 shrink-0 items-center justify-center rounded-xl bg-surface-base text-fg-muted`,children:(0,Q.jsx)(t,{className:`size-4.5`,"aria-hidden":`true`})}),(0,Q.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,Q.jsx)(`span`,{className:`block text-sm font-medium text-fg`,children:n}),(0,Q.jsx)(`span`,{className:`mt-1 block text-xs leading-5 text-fg-muted`,children:r})]}),(0,Q.jsx)(`span`,{className:`relative h-6 w-11 shrink-0 rounded-full transition-colors ${i?`bg-accent`:`bg-surface-active`}`,"aria-hidden":`true`,children:(0,Q.jsx)(`span`,{className:`absolute top-0.5 size-5 rounded-full bg-white shadow-sm transition-transform ${i?`translate-x-5`:`translate-x-0.5`}`})})]},e)),(0,Q.jsxs)(`div`,{className:`flex min-h-20 items-center gap-4 px-5 py-4 sm:px-6`,children:[(0,Q.jsx)(`span`,{className:`flex size-10 shrink-0 items-center justify-center rounded-xl bg-surface-base text-fg-muted`,children:(0,Q.jsx)(Ne,{className:`size-4.5`,"aria-hidden":`true`})}),(0,Q.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,Q.jsx)(`span`,{className:`block text-sm font-medium text-fg`,children:e===`zh`?`敏感信息`:`Sensitive information`}),(0,Q.jsx)(`span`,{className:`mt-1 block text-xs leading-5 text-fg-muted`,children:e===`zh`?`控制健康、财务等信息是否可以保存。`:`Control whether health, financial, and similar information can be saved.`})]}),(0,Q.jsxs)(u,{"aria-label":e===`zh`?`敏感信息策略`:`Sensitive information policy`,value:f.settings.sensitiveWritePolicy,disabled:!!D,onChange:e=>void We(`setting:sensitive`,()=>pe({sensitiveWritePolicy:e.target.value})),children:[(0,Q.jsx)(d,{value:`confirm`,children:e===`zh`?`先询问`:`Ask first`}),(0,Q.jsx)(d,{value:`deny`,children:e===`zh`?`不保存`:`Never save`}),(0,Q.jsx)(d,{value:`allow`,children:e===`zh`?`允许`:`Allow`})]})]})]})}),(0,Q.jsx)(Ft,{title:e===`zh`?`数据管理`:`Data management`,children:(0,Q.jsxs)(`div`,{className:`divide-y divide-edge-subtle`,children:[(0,Q.jsxs)(a,{to:`/settings/imports`,className:`flex min-h-20 items-center gap-4 px-5 py-4 hover:bg-surface-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-accent sm:px-6`,children:[(0,Q.jsx)(`span`,{className:`flex size-10 shrink-0 items-center justify-center rounded-xl bg-surface-base text-fg-muted`,children:(0,Q.jsx)(fe,{className:`size-4.5`,"aria-hidden":`true`})}),(0,Q.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,Q.jsx)(`span`,{className:`block text-sm font-medium text-fg`,children:e===`zh`?`从其他 AI 导入`:`Import from another AI`}),(0,Q.jsx)(`span`,{className:`mt-1 block text-xs leading-5 text-fg-muted`,children:e===`zh`?`导入前预览新增、重复和冲突内容。`:`Preview new, duplicate, and conflicting items before import.`})]}),(0,Q.jsx)(l,{className:`size-4 shrink-0 text-fg-subtle`,"aria-hidden":`true`})]}),(0,Q.jsxs)(`button`,{type:`button`,disabled:!!D,className:`flex min-h-20 w-full items-center gap-4 px-5 py-4 text-left hover:bg-surface-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-accent disabled:opacity-60 sm:px-6`,onClick:()=>void We(`export`,we),children:[(0,Q.jsx)(`span`,{className:`flex size-10 shrink-0 items-center justify-center rounded-xl bg-surface-base text-fg-muted`,children:(0,Q.jsx)(g,{className:`size-4.5`,"aria-hidden":`true`})}),(0,Q.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,Q.jsx)(`span`,{className:`block text-sm font-medium text-fg`,children:e===`zh`?`下载我的记忆`:`Download my memory`}),(0,Q.jsx)(`span`,{className:`mt-1 block text-xs leading-5 text-fg-muted`,children:e===`zh`?`导出为可阅读、可迁移的数据包。`:`Export a readable, portable archive.`})]}),(0,Q.jsx)(l,{className:`size-4 shrink-0 text-fg-subtle`,"aria-hidden":`true`})]})]})}),(0,Q.jsxs)(`section`,{className:`rounded-2xl bg-surface-panel px-5 py-5 sm:px-6`,children:[(0,Q.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:e===`zh`?`纠正与忘记`:`Correct and forget`}),(0,Q.jsx)(`p`,{className:`mt-1 text-xs leading-5 text-fg-muted`,children:e===`zh`?`在“记忆”中打开任意一条内容的菜单,即可修改、调整作用范围或彻底删除。`:`Open any item in Memory to edit it, change where it applies, or delete it permanently.`}),(0,Q.jsx)(I,{variant:`ghost`,className:`mt-3`,onClick:()=>{Pe(`personal`),Be(`understanding`)},children:e===`zh`?`管理记忆`:`Manage memory`})]})]}):null,(0,Q.jsx)(Lt,{open:J,profile:Qe,language:e,saving:D===`profile`,onOpenChange:Y,onSave:e=>void Ke(e)}),(0,Q.jsx)(Rt,{open:me,priority:$,title:at??``,outcome:ot?.desiredOutcome,language:e,saving:D===($?`priority:${$.id}`:`priority:create`),onOpenChange:he,onSave:e=>$?void qe($,e):void Je(e),onEnd:$?()=>void Ye($):void 0})]})}export{Ht as UserModelPage};