@xopcai/xopc 0.0.144 → 0.0.145

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 (353) hide show
  1. package/dist/browser-ext/manifest.json +1 -1
  2. package/dist/extensions/feishu/src/workflow-progress.js +1 -1
  3. package/dist/extensions/telegram/src/adapters/streaming-adapter.js +1 -1
  4. package/dist/extensions/telegram/src/inbound-processor.js +1 -1
  5. package/dist/extensions/telegram/src/plugin.js +1 -1
  6. package/dist/extensions/telegram/src/routing-integration.js +2 -2
  7. package/dist/extensions/telegram/src/workflow-progress.js +1 -1
  8. package/dist/extensions/telegram/xopc.extension.json +1 -1
  9. package/dist/extensions/weixin/src/api/api.js +1 -1
  10. package/dist/extensions/weixin/src/plugin.js +1 -1
  11. package/dist/extensions/weixin/src/workflow-progress.js +1 -1
  12. package/dist/gateway/static/root/assets/Combination-DolwnuKi.js +41 -0
  13. package/dist/gateway/static/root/assets/{activity-center-store-jITiX2vJ.js → activity-center-store-3l9ahUqb.js} +1 -1
  14. package/dist/gateway/static/root/assets/{agent-avatar-dicebear-EAVnrCAs.js → agent-avatar-dicebear-BEUxdhZx.js} +1 -1
  15. package/dist/gateway/static/root/assets/agents-1bpT0xRO.js +2 -0
  16. package/dist/gateway/static/root/assets/app-management-settings-panel-CRHSZJWi.js +1 -0
  17. package/dist/gateway/static/root/assets/{appearance-settings-DSkm9bp_.js → appearance-settings-BunADYJb.js} +1 -1
  18. package/dist/gateway/static/root/assets/apps-page-Cc4JgVUQ.js +1 -0
  19. package/dist/gateway/static/root/assets/{archive-plugin-C99N0vV6.js → archive-plugin-B6vTkH2A.js} +1 -1
  20. package/dist/gateway/static/root/assets/{attachment-load-CHTDqME5.js → attachment-load-BjZXzaNv.js} +1 -1
  21. package/dist/gateway/static/root/assets/{automation-suggestion-card-CBt6U3-S.js → automation-suggestion-card-ZDA-Stg1.js} +1 -1
  22. package/dist/gateway/static/root/assets/automations-page-mb0fdVpq.js +6 -0
  23. package/dist/gateway/static/root/assets/{binary-plugins-BRtxOLlM.js → binary-plugins-DYZfLvPz.js} +1 -1
  24. package/dist/gateway/static/root/assets/{block-editor-CUlXfgXd.js → block-editor-C3MUlYC9.js} +46 -46
  25. package/dist/gateway/static/root/assets/browser-settings-page-Bb0xhaMN.js +8 -0
  26. package/dist/gateway/static/root/assets/capability-presets-api-BV76yN9a.js +1 -0
  27. package/dist/gateway/static/root/assets/capability-presets-settings-panel-CUcGKZqC.js +2 -0
  28. package/dist/gateway/static/root/assets/channel-recipient-api-fTlTnWB4.js +1 -0
  29. package/dist/gateway/static/root/assets/channels-settings-BlSDMGdy.js +1 -0
  30. package/dist/gateway/static/root/assets/channels-status-swr-CJauF1CW.js +1 -0
  31. package/dist/gateway/static/root/assets/{code-editor--tMO38Tr.js → code-editor-D4_k-6QN.js} +1 -1
  32. package/dist/gateway/static/root/assets/connector-logo-BVFNT2zW.js +1 -0
  33. package/dist/gateway/static/root/assets/connectors-page-CMgAFGvb.js +2 -0
  34. package/dist/gateway/static/root/assets/copy-to-clipboard-HOJ79TWv.js +1 -0
  35. package/dist/gateway/static/root/assets/{desktop-pet-C-Drhqyk.js → desktop-pet-_jUmoXd3.js} +1 -1
  36. package/dist/gateway/static/root/assets/{desktop-pet-settings-CRGiolqF.js → desktop-pet-settings-DwGOy4AQ.js} +1 -1
  37. package/dist/gateway/static/root/assets/{directory-picker-path-field-Dw1L3M84.js → directory-picker-path-field-akvF0F-u.js} +1 -1
  38. package/dist/gateway/static/root/assets/{dist-SwiI0Xu3.js → dist-C99RGfAH.js} +1 -1
  39. package/dist/gateway/static/root/assets/dreaming-settings-BLetQiYY.js +3 -0
  40. package/dist/gateway/static/root/assets/{extension-debug-page-Dcl8LJG_.js → extension-debug-page-Cof2ncxE.js} +1 -1
  41. package/dist/gateway/static/root/assets/{extension-page-i_BXmO_x.js → extension-page-CwWktRNz.js} +1 -1
  42. package/dist/gateway/static/root/assets/extension-settings-page-CuggWOIl.js +1 -0
  43. package/dist/gateway/static/root/assets/gateway-config-api-B7sxIbza.js +1 -0
  44. package/dist/gateway/static/root/assets/gateway-settings-DIv0eKMf.js +1 -0
  45. package/dist/gateway/static/root/assets/gateway-startup-retry-DtoLihQE.js +1 -0
  46. package/dist/gateway/static/root/assets/goal-create-dialog-C4Kw0mfS.js +1 -0
  47. package/dist/gateway/static/root/assets/goal-detail-page-BMmzYpZL.js +4 -0
  48. package/dist/gateway/static/root/assets/goals-config-api-B0jm5JaA.js +1 -0
  49. package/dist/gateway/static/root/assets/goals-page-CGeT77PC.js +2 -0
  50. package/dist/gateway/static/root/assets/goals-settings-N5_iL7es.js +1 -0
  51. package/dist/gateway/static/root/assets/heartbeat-settings-XzH3lbRR.js +1 -0
  52. package/dist/gateway/static/root/assets/{html-workspace-editor-COqmtESs.js → html-workspace-editor-C3DKAkMc.js} +1 -1
  53. package/dist/gateway/static/root/assets/index-CSLF84-Q.css +1 -0
  54. package/dist/gateway/static/root/assets/index-I-ZCenVw.js +259 -0
  55. package/dist/gateway/static/root/assets/keyboard-shortcuts-settings-x_v0nrIi.js +1 -0
  56. package/dist/gateway/static/root/assets/locale-store-CiM-D9jA.js +1 -0
  57. package/dist/gateway/static/root/assets/logs-page-BSh1t8cD.js +7 -0
  58. package/dist/gateway/static/root/assets/markdown-editor-BvUebh3C.js +2 -0
  59. package/dist/gateway/static/root/assets/{markdown-split-BTRFTK0w.js → markdown-split-5rJx5flj.js} +1 -1
  60. package/dist/gateway/static/root/assets/{media-plugins-BABfIZPU.js → media-plugins-DYXccwAd.js} +1 -1
  61. package/dist/gateway/static/root/assets/messages-Cb1VMeqP.js +5 -0
  62. package/dist/gateway/static/root/assets/models-hub-panel-BNpTenAI.js +2 -0
  63. package/dist/gateway/static/root/assets/{notes-page-88QBHW9a.js → notes-page-BgLyndCO.js} +1 -1
  64. package/dist/gateway/static/root/assets/notes-workbench-teklkhcE.js +4 -0
  65. package/dist/gateway/static/root/assets/{page-tabs-je95DZOf.js → page-tabs-6Al9_sGz.js} +1 -1
  66. package/dist/gateway/static/root/assets/{preview-open-alternatives-BJbwi7Rc.js → preview-open-alternatives-Cm3G72Hv.js} +1 -1
  67. package/dist/gateway/static/root/assets/project-detail-page-CCB_dKoh.js +1 -0
  68. package/dist/gateway/static/root/assets/projects-page-VOAFAHYj.js +1 -0
  69. package/dist/gateway/static/root/assets/remote-access-hub-USYu64Ru.js +1 -0
  70. package/dist/gateway/static/root/assets/{save-bar-controls-qWMQ9mod.js → save-bar-controls-BYtfzu_F.js} +1 -1
  71. package/dist/gateway/static/root/assets/{schedule-field-kxd270Gs.js → schedule-field-CvIRc6yK.js} +1 -1
  72. package/dist/gateway/static/root/assets/{schema-form-DLnD-MuD.js → schema-form-CQuKx0n7.js} +1 -1
  73. package/dist/gateway/static/root/assets/sessions-page-oGC8O5h_.js +1 -0
  74. package/dist/gateway/static/root/assets/settings-advanced-gate-D4rP66R1.js +1 -0
  75. package/dist/gateway/static/root/assets/{settings-collapsible-section-DQprvu5J.js → settings-collapsible-section-CF3HHM-t.js} +1 -1
  76. package/dist/gateway/static/root/assets/{settings-form-section-Cqq7Y98y.js → settings-form-section-CwWjoRN6.js} +1 -1
  77. package/dist/gateway/static/root/assets/{settings-loading-skeleton-b6rXULL5.js → settings-loading-skeleton-aUFmJa13.js} +1 -1
  78. package/dist/gateway/static/root/assets/{settings-page-BtBVz3cX.js → settings-page-B2UUU9TF.js} +1 -1
  79. package/dist/gateway/static/root/assets/{settings-page-layout-BNJbtklV.js → settings-page-layout-DqpbTWqI.js} +1 -1
  80. package/dist/gateway/static/root/assets/setup-status-panel-Ck9keROI.js +1 -0
  81. package/dist/gateway/static/root/assets/share-preview-page-BOhlPsS1.js +2 -0
  82. package/dist/gateway/static/root/assets/shares-settings-BYLsCuqj.js +1 -0
  83. package/dist/gateway/static/root/assets/skill-reload-api-BNHUyVML.js +1 -0
  84. package/dist/gateway/static/root/assets/skills-page-CpXbQH4n.js +2 -0
  85. package/dist/gateway/static/root/assets/{system-settings-panel-Cq9J7i7v.js → system-settings-panel-CWxSvuwD.js} +1 -1
  86. package/dist/gateway/static/root/assets/{theme-store-Bt6vAkSB.js → theme-store-C9Dxcppm.js} +1 -1
  87. package/dist/gateway/static/root/assets/{typed-models-lib-CdSwi1gT.js → typed-models-lib-qROAvqTw.js} +1 -1
  88. package/dist/gateway/static/root/assets/use-channel-catalog-DE9cpn4G.js +1 -0
  89. package/dist/gateway/static/root/assets/user-context-page-DbNEK4Yp.js +1 -0
  90. package/dist/gateway/static/root/assets/user-profile-fields-editor-CWxc0ghP.js +1 -0
  91. package/dist/gateway/static/root/assets/{user-profile-settings-panel-B8hlamVB.js → user-profile-settings-panel-DW-Up6vt.js} +1 -1
  92. package/dist/gateway/static/root/assets/{utils-Dx01V8qF.js → utils-D53uRXVr.js} +1 -1
  93. package/dist/gateway/static/root/assets/{vendor-codemirror-C1WKjCk5.js → vendor-codemirror--gTq3YAI.js} +17 -17
  94. package/dist/gateway/static/root/assets/voice-api-key-field-Cs7MOrg0.js +1 -0
  95. package/dist/gateway/static/root/assets/work-item-detail-page-D1ziG1Pp.js +1 -0
  96. package/dist/gateway/static/root/assets/workflow-run-setup-panel-D_x9ELJp.js +3 -0
  97. package/dist/gateway/static/root/assets/workflows-page-DHGV_n6i.js +11 -0
  98. package/dist/gateway/static/root/index.html +10 -10
  99. package/dist/package.js +1 -1
  100. package/dist/src/activity/emitter.js +1 -1
  101. package/dist/src/agent/agent-manager.js +4 -4
  102. package/dist/src/agent/code-intelligence/binary.js +1 -1
  103. package/dist/src/agent/context/project-context.js +2 -2
  104. package/dist/src/agent/context/workspace-seed.js +2 -2
  105. package/dist/src/agent/embedded/run-for-session.js +1 -1
  106. package/dist/src/agent/embedded/session-runner.js +3 -3
  107. package/dist/src/agent/embedded/session-runner.js.map +1 -1
  108. package/dist/src/agent/embedded/xopc-auth-storage.d.ts +3 -1
  109. package/dist/src/agent/embedded/xopc-auth-storage.js +11 -1
  110. package/dist/src/agent/embedded/xopc-auth-storage.js.map +1 -1
  111. package/dist/src/agent/goals/post-turn.js +2 -2
  112. package/dist/src/agent/ipc/bus.js +1 -1
  113. package/dist/src/agent/mcp/bundle-mcp-materialize.js +1 -1
  114. package/dist/src/agent/mcp/bundle-mcp-runtime.js +1 -1
  115. package/dist/src/agent/mcp/mcp-transport-config.js +1 -1
  116. package/dist/src/agent/mcp/mcp-transport.js +1 -1
  117. package/dist/src/agent/memory/dreaming/config.js +1 -1
  118. package/dist/src/agent/memory/plugin-discovery.js +1 -1
  119. package/dist/src/agent/models/manager.js +1 -1
  120. package/dist/src/agent/orchestration/agent-orchestrator.js +1 -1
  121. package/dist/src/agent/service.js +3 -3
  122. package/dist/src/agent/session/session-inspector.js +2 -2
  123. package/dist/src/agent/skills/hub-pull.js +1 -1
  124. package/dist/src/agent/tools/composio-tool.js +1 -1
  125. package/dist/src/agent/tools/goal-tool.js +2 -2
  126. package/dist/src/agent/tools/workflow-tool.js +1 -1
  127. package/dist/src/agent/tools/xopc-use-tool.js +1 -1
  128. package/dist/src/agent/workspace-runtime/registry.js +2 -2
  129. package/dist/src/agent-runtime/index.js +1 -1
  130. package/dist/src/agent-runtime/runtime-profile.js +1 -1
  131. package/dist/src/automations/api/routes.js +1 -1
  132. package/dist/src/automations/service/action-executor.js +2 -2
  133. package/dist/src/browser/cdp-local-launcher.js +1 -1
  134. package/dist/src/browser/providers/browser-ext-install.js +3 -3
  135. package/dist/src/browser/providers/cloakbrowser.js +2 -2
  136. package/dist/src/browser/providers/playwright-doctor.js +1 -1
  137. package/dist/src/browser/stealth.js +1 -1
  138. package/dist/src/capabilities/store-connector.js +1 -1
  139. package/dist/src/chat-commands/agent-edit.js +1 -1
  140. package/dist/src/chat-commands/builtins/config.js +1 -1
  141. package/dist/src/chat-commands/builtins/goal.js +2 -2
  142. package/dist/src/chat-commands/context.js +1 -1
  143. package/dist/src/cli/commands/agent.js +1 -1
  144. package/dist/src/cli/commands/doctor/checks/database-schema.js +2 -2
  145. package/dist/src/cli/commands/doctor/checks/session-integrity.js +1 -1
  146. package/dist/src/cli/commands/extension-marketplace.js +1 -1
  147. package/dist/src/cli/commands/extension-pack.js +1 -1
  148. package/dist/src/cli/commands/goal.js +2 -2
  149. package/dist/src/cli/commands/init.js +1 -1
  150. package/dist/src/cli/commands/project.js +3 -3
  151. package/dist/src/config/agent-profile.js +1 -1
  152. package/dist/src/config/gateway-bind.js +1 -1
  153. package/dist/src/config/index.js +3 -3
  154. package/dist/src/config/loader.js +1 -1
  155. package/dist/src/config/models-json.js +1 -1
  156. package/dist/src/config/schema.d.ts +60 -5
  157. package/dist/src/config/schema.js +30 -9
  158. package/dist/src/config/schema.js.map +1 -1
  159. package/dist/src/connectors/composio-catalog.js +11 -2
  160. package/dist/src/connectors/composio-catalog.js.map +1 -1
  161. package/dist/src/connectors/composio-sessions.js +1 -1
  162. package/dist/src/connectors/composio.js +1 -1
  163. package/dist/src/connectors/connector-memory-sync.js +135 -26
  164. package/dist/src/connectors/connector-memory-sync.js.map +1 -1
  165. package/dist/src/daemon/launchd.js +1 -1
  166. package/dist/src/daemon/systemd.js +1 -1
  167. package/dist/src/extensions/discover-extensions.js +1 -1
  168. package/dist/src/extensions/loader.js +2 -2
  169. package/dist/src/gateway/agents-admin.js +1 -1
  170. package/dist/src/gateway/heartbeat/service.js +1 -1
  171. package/dist/src/gateway/hono/app.js +1 -1
  172. package/dist/src/gateway/hono/app.js.map +1 -1
  173. package/dist/src/gateway/hono/lib/config-payload.d.ts +11 -0
  174. package/dist/src/gateway/hono/lib/config-payload.js +1 -0
  175. package/dist/src/gateway/hono/lib/config-payload.js.map +1 -1
  176. package/dist/src/gateway/hono/lib/static-ui.js +1 -1
  177. package/dist/src/gateway/hono/routes/config-patch/misc.js +6 -1
  178. package/dist/src/gateway/hono/routes/config-patch/misc.js.map +1 -1
  179. package/dist/src/gateway/hono/routes/home.js +2 -2
  180. package/dist/src/gateway/hono/routes/memory.js +13 -3
  181. package/dist/src/gateway/hono/routes/memory.js.map +1 -1
  182. package/dist/src/gateway/hono/routes/projects.js +5 -5
  183. package/dist/src/gateway/hono/routes/status.js +3 -0
  184. package/dist/src/gateway/hono/routes/status.js.map +1 -1
  185. package/dist/src/gateway/hono/routes/voice.d.ts +5 -5
  186. package/dist/src/gateway/hono/routes/voice.js +288 -62
  187. package/dist/src/gateway/hono/routes/voice.js.map +1 -1
  188. package/dist/src/gateway/hono/routes/workflows.js +1 -1
  189. package/dist/src/gateway/hono/routes/you.js +11 -7
  190. package/dist/src/gateway/hono/routes/you.js.map +1 -1
  191. package/dist/src/gateway/lock.js +1 -1
  192. package/dist/src/gateway/ports.js +1 -1
  193. package/dist/src/gateway/service.d.ts +8 -0
  194. package/dist/src/gateway/service.js +47 -17
  195. package/dist/src/gateway/service.js.map +1 -1
  196. package/dist/src/goals/goal-workflow-judge.js +1 -1
  197. package/dist/src/heartbeat/index.js +1 -1
  198. package/dist/src/infra/ports.js +1 -1
  199. package/dist/src/infra/ssh-tunnel.js +1 -1
  200. package/dist/src/infra/update-check.js +1 -1
  201. package/dist/src/knowledge/connected-knowledge-pipeline.d.ts +21 -0
  202. package/dist/src/knowledge/connected-knowledge-pipeline.js +267 -0
  203. package/dist/src/knowledge/connected-knowledge-pipeline.js.map +1 -0
  204. package/dist/src/knowledge/coordinator.d.ts +10 -0
  205. package/dist/src/knowledge/coordinator.js +52 -0
  206. package/dist/src/knowledge/coordinator.js.map +1 -0
  207. package/dist/src/knowledge/index.d.ts +2 -0
  208. package/dist/src/knowledge/index.js +3 -1
  209. package/dist/src/knowledge/ingestion-service.d.ts +7 -1
  210. package/dist/src/knowledge/ingestion-service.js +28 -0
  211. package/dist/src/knowledge/ingestion-service.js.map +1 -1
  212. package/dist/src/knowledge/types.d.ts +18 -0
  213. package/dist/src/media-understanding/audio-transcription-runner.js +5 -3
  214. package/dist/src/media-understanding/audio-transcription-runner.js.map +1 -1
  215. package/dist/src/media-understanding/runner.js +8 -3
  216. package/dist/src/media-understanding/runner.js.map +1 -1
  217. package/dist/src/media-understanding/types.d.ts +7 -0
  218. package/dist/src/migrations/runner.js +1 -1
  219. package/dist/src/notes/service.js +3 -3
  220. package/dist/src/notes/store.js +1 -1
  221. package/dist/src/projects/project-service.js +1 -1
  222. package/dist/src/projects/workspace.js +1 -1
  223. package/dist/src/routing/agent-session-key.js +1 -1
  224. package/dist/src/routing/resolve-route.js +1 -1
  225. package/dist/src/routing/resolve-tui-session-key.js +1 -1
  226. package/dist/src/session/init-session-turn.js +1 -1
  227. package/dist/src/session/resolve-session.js +1 -1
  228. package/dist/src/session/session-title.js +2 -2
  229. package/dist/src/session/store.js +1 -1
  230. package/dist/src/storage/sqlite/connection.js +1 -1
  231. package/dist/src/storage/sqlite/index.d.ts +1 -1
  232. package/dist/src/storage/sqlite/index.js +2 -2
  233. package/dist/src/storage/sqlite/knowledge-repository.d.ts +26 -1
  234. package/dist/src/storage/sqlite/knowledge-repository.js +120 -6
  235. package/dist/src/storage/sqlite/knowledge-repository.js.map +1 -1
  236. package/dist/src/storage/sqlite/migrations/037_connected_knowledge_pipeline.sql +47 -0
  237. package/dist/src/storage/sqlite/migrations/runner.d.ts +1 -1
  238. package/dist/src/storage/sqlite/migrations/runner.js +3 -3
  239. package/dist/src/storage/sqlite/migrations/runner.js.map +1 -1
  240. package/dist/src/storage/sqlite/migrations/runner.ts +1 -1
  241. package/dist/src/storage/sqlite/row-mappers.js +1 -1
  242. package/dist/src/storage/sqlite/schema.js +1 -1
  243. package/dist/src/tui/backends/embedded-backend.js +4 -4
  244. package/dist/src/tui/clipboard-image.js +1 -1
  245. package/dist/src/tui/tui-command-formatters.js +2 -2
  246. package/dist/src/tui/tui-commands.js +3 -3
  247. package/dist/src/tui/tui.js +1 -1
  248. package/dist/src/user-context/projection.d.ts +13 -4
  249. package/dist/src/user-context/projection.js +19 -7
  250. package/dist/src/user-context/projection.js.map +1 -1
  251. package/dist/src/utils/index.js +1 -1
  252. package/dist/src/utils/logger/index.js +1 -1
  253. package/dist/src/utils/logger.js +1 -1
  254. package/dist/src/voice/language-profile.d.ts +20 -0
  255. package/dist/src/voice/language-profile.js +156 -0
  256. package/dist/src/voice/language-profile.js.map +1 -0
  257. package/dist/src/voice/local/model-files.d.ts +14 -0
  258. package/dist/src/voice/local/model-files.js +94 -0
  259. package/dist/src/voice/local/model-files.js.map +1 -0
  260. package/dist/src/voice/local/model-manager.d.ts +18 -0
  261. package/dist/src/voice/local/model-manager.js +135 -0
  262. package/dist/src/voice/local/model-manager.js.map +1 -0
  263. package/dist/src/voice/local/models.d.ts +28 -0
  264. package/dist/src/voice/local/models.js +101 -0
  265. package/dist/src/voice/local/models.js.map +1 -0
  266. package/dist/src/voice/local/runtime-client.d.ts +26 -0
  267. package/dist/src/voice/local/runtime-client.js +166 -0
  268. package/dist/src/voice/local/runtime-client.js.map +1 -0
  269. package/dist/src/voice/local/runtime-dispatcher.d.ts +9 -0
  270. package/dist/src/voice/local/runtime-dispatcher.js +22 -0
  271. package/dist/src/voice/local/runtime-dispatcher.js.map +1 -0
  272. package/dist/src/voice/local/runtime-worker.d.ts +1 -0
  273. package/dist/src/voice/local/runtime-worker.js +249 -0
  274. package/dist/src/voice/local/runtime-worker.js.map +1 -0
  275. package/dist/src/voice/local/wav.d.ts +6 -0
  276. package/dist/src/voice/local/wav.js +69 -0
  277. package/dist/src/voice/local/wav.js.map +1 -0
  278. package/dist/src/voice/metadata/builtin.js +46 -0
  279. package/dist/src/voice/metadata/builtin.js.map +1 -1
  280. package/dist/src/voice/stt/factory.js +8 -2
  281. package/dist/src/voice/stt/factory.js.map +1 -1
  282. package/dist/src/voice/stt/providers/alibaba-transcription.js +14 -8
  283. package/dist/src/voice/stt/providers/alibaba-transcription.js.map +1 -1
  284. package/dist/src/voice/stt/providers/index.d.ts +1 -0
  285. package/dist/src/voice/stt/providers/index.js +2 -1
  286. package/dist/src/voice/stt/providers/local-transcription.d.ts +2 -0
  287. package/dist/src/voice/stt/providers/local-transcription.js +51 -0
  288. package/dist/src/voice/stt/providers/local-transcription.js.map +1 -0
  289. package/dist/src/voice/stt/providers/openai-transcription.js +5 -3
  290. package/dist/src/voice/stt/providers/openai-transcription.js.map +1 -1
  291. package/dist/src/voice/stt/transcribe-core.js +5 -4
  292. package/dist/src/voice/stt/transcribe-core.js.map +1 -1
  293. package/dist/src/voice/stt/types.d.ts +4 -0
  294. package/dist/src/voice/stt/types.js +5 -4
  295. package/dist/src/voice/stt/types.js.map +1 -1
  296. package/dist/src/voice/tts/providers/edge-speech.js +2 -2
  297. package/dist/src/voice/tts/providers/edge-speech.js.map +1 -1
  298. package/dist/src/voice/tts/types.js +3 -3
  299. package/dist/src/voice/tts/types.js.map +1 -1
  300. package/dist/src/work-items/work-item-service.js +1 -1
  301. package/dist/src/workflows/draft/workflow-draft-service.js +1 -1
  302. package/dist/src/workflows/service/workflow-session-bridge.js +3 -3
  303. package/package.json +3 -1
  304. package/dist/gateway/static/root/assets/Combination-HAlzriaz.js +0 -41
  305. package/dist/gateway/static/root/assets/agents-5rTuJOtT.js +0 -2
  306. package/dist/gateway/static/root/assets/app-management-settings-panel-Bu568NpC.js +0 -1
  307. package/dist/gateway/static/root/assets/apps-page-DWetalKp.js +0 -1
  308. package/dist/gateway/static/root/assets/automations-page-ICUfxeOz.js +0 -4
  309. package/dist/gateway/static/root/assets/browser-settings-page-D7Bj4MKi.js +0 -8
  310. package/dist/gateway/static/root/assets/capability-presets-api-Bg1ntFSD.js +0 -1
  311. package/dist/gateway/static/root/assets/capability-presets-settings-panel-C-8I-Ktn.js +0 -2
  312. package/dist/gateway/static/root/assets/channel-recipient-api-DuulnhIj.js +0 -1
  313. package/dist/gateway/static/root/assets/channels-settings-Dm5EqQyK.js +0 -1
  314. package/dist/gateway/static/root/assets/channels-status-swr-B5lVrUsN.js +0 -1
  315. package/dist/gateway/static/root/assets/connectors-page-BOzjh-OK.js +0 -2
  316. package/dist/gateway/static/root/assets/dreaming-settings-CF21cbjo.js +0 -3
  317. package/dist/gateway/static/root/assets/extension-settings-page-CWIi7xsn.js +0 -1
  318. package/dist/gateway/static/root/assets/fetch-8QNN25Sh.js +0 -1
  319. package/dist/gateway/static/root/assets/gateway-config-api-2sLP2kkA.js +0 -1
  320. package/dist/gateway/static/root/assets/gateway-settings-DMHiZc-2.js +0 -1
  321. package/dist/gateway/static/root/assets/gateway-startup-retry-5YBnS9Fj.js +0 -1
  322. package/dist/gateway/static/root/assets/goal-create-dialog-CAODVDiA.js +0 -1
  323. package/dist/gateway/static/root/assets/goal-detail-page-_d4DjmeX.js +0 -4
  324. package/dist/gateway/static/root/assets/goals-config-api-B4qeLKQS.js +0 -1
  325. package/dist/gateway/static/root/assets/goals-page-lgsop664.js +0 -2
  326. package/dist/gateway/static/root/assets/goals-settings-Dx_1ZNgb.js +0 -1
  327. package/dist/gateway/static/root/assets/heartbeat-settings-DeTseEk_.js +0 -1
  328. package/dist/gateway/static/root/assets/index-CphxClbs.css +0 -1
  329. package/dist/gateway/static/root/assets/index-VWvztcst.js +0 -257
  330. package/dist/gateway/static/root/assets/keyboard-shortcuts-settings-BpwpMmlk.js +0 -1
  331. package/dist/gateway/static/root/assets/locale-store-Ba72bFmP.js +0 -1
  332. package/dist/gateway/static/root/assets/logs-page-9_hbTg3j.js +0 -7
  333. package/dist/gateway/static/root/assets/markdown-editor-jD1LPiP-.js +0 -2
  334. package/dist/gateway/static/root/assets/messages-CzKxM6I4.js +0 -5
  335. package/dist/gateway/static/root/assets/models-hub-panel-B1CUvZxh.js +0 -2
  336. package/dist/gateway/static/root/assets/notes-workbench-CerZOeLW.js +0 -2
  337. package/dist/gateway/static/root/assets/project-detail-page-BmrApldl.js +0 -1
  338. package/dist/gateway/static/root/assets/projects-page-tTn-k76N.js +0 -1
  339. package/dist/gateway/static/root/assets/remote-access-hub-DeA2-pOi.js +0 -1
  340. package/dist/gateway/static/root/assets/sessions-page-D4kvvcL1.js +0 -1
  341. package/dist/gateway/static/root/assets/settings-advanced-gate-CI1OG4gq.js +0 -1
  342. package/dist/gateway/static/root/assets/setup-status-panel-cmclUJzS.js +0 -1
  343. package/dist/gateway/static/root/assets/share-preview-page--zO-A1W1.js +0 -2
  344. package/dist/gateway/static/root/assets/shares-settings-DNJvqA67.js +0 -1
  345. package/dist/gateway/static/root/assets/skill-reload-api-DWr_0Xgn.js +0 -1
  346. package/dist/gateway/static/root/assets/skills-page-DEGsTbJx.js +0 -2
  347. package/dist/gateway/static/root/assets/use-channel-catalog-COXIfXcl.js +0 -1
  348. package/dist/gateway/static/root/assets/user-context-page-C-V73ZaJ.js +0 -1
  349. package/dist/gateway/static/root/assets/user-profile-fields-editor-B1cxoGkh.js +0 -1
  350. package/dist/gateway/static/root/assets/voice-api-key-field-DGpIUelZ.js +0 -1
  351. package/dist/gateway/static/root/assets/work-item-detail-page-fzWTxF26.js +0 -1
  352. package/dist/gateway/static/root/assets/workflow-run-setup-panel-Dt_x8LGg.js +0 -3
  353. package/dist/gateway/static/root/assets/workflows-page-Bg02zEUh.js +0 -11
@@ -1 +1 @@
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"./cn-BQ_8x0bT.js";import{t as i}from"./messages-CzKxM6I4.js";import{n as a}from"./locale-store-Ba72bFmP.js";import{Is as o,Jr as s,Ot as c,Ro as l,Ss as u,Xc as d,Yr as f,ro as p}from"./index-VWvztcst.js";import{n as m,t as h}from"./settings-page-layout-BNJbtklV.js";import{r as g,t as _}from"./settings-form-section-Cqq7Y98y.js";var v=e(t(),1),y=n();async function b(){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 x(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 S(e,t){return e.outcome===`opened-settings`?t.openedSettings:e.status===`granted`?e.outcome===`already-granted`?t.alreadyGranted:t.granted:t.denied}function C(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 w(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 T=new Set([`microphone`,`accessibility`,`notifications`,`screen`]);function E(e,t,n){return t===`granted`?!1:e===`accessibility`&&(n===`darwin`||n===`win32`||n===`linux`)||e===`screen`&&(n===`darwin`||n===`win32`)||T.has(e)?t===`unknown`:!1}function D(e,t,n){return e===`accessibility`?!1:e===`screen`&&n===`linux`?!0:T.has(e)?t===`denied`:!0}var O=[{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 k(e){return e===`linux`?O:O.filter(t=>!t.platforms||t.platforms.includes(e))}function A(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 j(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 M={behavior:null,perms:null,loadError:null,permFeedback:null,permBusy:!1,refreshing:!1};function N(){let e=a(e=>e.language),t=i(e).systemSettings,[n,T]=(0,v.useReducer)(c,M),{behavior:O,perms:N,loadError:P,permFeedback:F,permBusy:I,refreshing:L}=n,R=typeof window<`u`?window.electronAPI?.system:void 0,z=(0,v.useCallback)(async e=>{if(R){T({type:`patch`,patch:{loadError:null}});try{T({type:`patch`,patch:{behavior:await R.getBehavior(),perms:await R.getPermissions({probe:e?.showRefreshFeedback}),...e?.showRefreshFeedback?{permFeedback:t.refreshDone}:{}}})}catch(t){T({type:`patch`,patch:{loadError:t instanceof Error?t.message:String(t),...e?.showRefreshFeedback?{permFeedback:null}:{}}})}}},[R,t.refreshDone]),B=(0,v.useCallback)(async()=>{if(!(L||I)){T({type:`patch`,patch:{refreshing:!0}});try{await z({showRefreshFeedback:!0})}finally{T({type:`patch`,patch:{refreshing:!1}})}}},[z,I,L]);if((0,v.useEffect)(()=>{let e=new Set([t.refreshDone,t.openSettingsDone,t.openSettingsFailed,t.desktopNotify.testShown]);if(!F||!e.has(F))return;let n=window.setTimeout(()=>{T({type:`patch`,patch:{permFeedback:null}})},3e3);return()=>window.clearTimeout(n)},[F,t.openSettingsDone,t.openSettingsFailed,t.refreshDone,t.desktopNotify.testShown]),(0,v.useEffect)(()=>{p()&&R&&z()},[R,z]),!p()||!R)return(0,y.jsxs)(h,{gap:`gap-3`,children:[(0,y.jsx)(m,{title:t.title}),(0,y.jsxs)(`div`,{className:g(),children:[(0,y.jsx)(`p`,{className:`text-sm font-medium text-fg`,children:t.desktopOnlyTitle}),(0,y.jsx)(`p`,{className:`mt-1 text-sm text-fg-muted`,children:t.desktopOnlyBody})]})]});let V=async e=>{try{let{behavior:t}=await R.setBehavior(e);T({type:`patch`,patch:{behavior:t}}),(e.notifyEnabled!==void 0||e.notifySoundEnabled!==void 0)&&s()}catch(e){T({type:`patch`,patch:{loadError:e instanceof Error?e.message:String(e)}})}},H=async e=>{if(!e){await V({notifyEnabled:!1});return}T({type:`patch`,patch:{permBusy:!0,permFeedback:null}});try{let e=await f(t.desktopNotify.testTitle,t.desktopNotify.testBody);if(e===`unsupported`){T({type:`patch`,patch:{permFeedback:t.notificationsFeedback.unsupported}});return}if(e===`denied`){T({type:`patch`,patch:{permFeedback:t.desktopNotify.denied}});return}if(e==="default"){T({type:`patch`,patch:{permFeedback:t.notificationsFeedback.default}});return}await V({notifyEnabled:!0}),T({type:`patch`,patch:{perms:await R.getPermissions()}}),T({type:`patch`,patch:{permFeedback:t.desktopNotify.testShown}})}catch(e){T({type:`patch`,patch:{loadError:e instanceof Error?e.message:String(e)}})}finally{T({type:`patch`,patch:{permBusy:!1}})}},U=async e=>{T({type:`patch`,patch:{permFeedback:null}}),T({type:`patch`,patch:{loadError:null}});try{(await R.openPrivacy(e)).ok?T({type:`patch`,patch:{permFeedback:t.openSettingsDone}}):T({type:`patch`,patch:{permFeedback:t.openSettingsFailed}})}catch(e){T({type:`patch`,patch:{loadError:e instanceof Error?e.message:String(e)}})}},W=async()=>{T({type:`patch`,patch:{permBusy:!0,permFeedback:null}}),T({type:`patch`,patch:{loadError:null}});try{let e=await R.requestMicrophone(),n=await b();T({type:`patch`,patch:{perms:await R.getPermissions()}}),T({type:`patch`,patch:{permFeedback:x(e,n,t.permFeedback)}})}catch(e){T({type:`patch`,patch:{loadError:e instanceof Error?e.message:String(e)}})}finally{T({type:`patch`,patch:{permBusy:!1}})}},G=async()=>{if(R.requestAccessibility){T({type:`patch`,patch:{permBusy:!0,permFeedback:null}}),T({type:`patch`,patch:{loadError:null}});try{let e=await R.requestAccessibility();T({type:`patch`,patch:{perms:await R.getPermissions()}}),T({type:`patch`,patch:{permFeedback:S(e,t.accessibilityFeedback)}})}catch(e){T({type:`patch`,patch:{loadError:e instanceof Error?e.message:String(e)}})}finally{T({type:`patch`,patch:{permBusy:!1}})}}},K=async()=>{if(R.requestNotifications){T({type:`patch`,patch:{permBusy:!0,permFeedback:null}}),T({type:`patch`,patch:{loadError:null}});try{let e=await R.requestNotifications();T({type:`patch`,patch:{perms:await R.getPermissions()}}),T({type:`patch`,patch:{permFeedback:C(e,t.notificationsFeedback)}})}catch(e){T({type:`patch`,patch:{loadError:e instanceof Error?e.message:String(e)}})}finally{T({type:`patch`,patch:{permBusy:!1}})}}},q=async()=>{if(R.requestScreen){T({type:`patch`,patch:{permBusy:!0,permFeedback:null}}),T({type:`patch`,patch:{loadError:null}});try{let e=await R.requestScreen();T({type:`patch`,patch:{perms:await R.getPermissions()}}),T({type:`patch`,patch:{permFeedback:w(e,t.screenFeedback)}})}catch(e){T({type:`patch`,patch:{loadError:e instanceof Error?e.message:String(e)}})}finally{T({type:`patch`,patch:{permBusy:!1}})}}},J=O?O.platform===`win32`?t.permissionsHintWin:O.platform===`linux`?t.permissionsHintLinux:O.platform===`darwin`?t.permissionsHintDarwin:t.permissionsHint:t.permissionsHint;return(0,y.jsxs)(h,{gap:`gap-6`,children:[(0,y.jsx)(m,{title:t.title}),P?(0,y.jsx)(`p`,{className:`text-sm text-amber-600 dark:text-amber-400`,role:`alert`,children:P}):null,F?(0,y.jsx)(`p`,{className:r(`text-sm`,F===t.refreshDone||F===t.openSettingsDone||F===t.permFeedback.granted||F===t.permFeedback.alreadyGranted||F===t.accessibilityFeedback.granted||F===t.accessibilityFeedback.alreadyGranted||F===t.notificationsFeedback.granted||F===t.notificationsFeedback.alreadyGranted||F===t.screenFeedback.granted||F===t.screenFeedback.alreadyGranted||F===t.desktopNotify.testShown?`text-emerald-600 dark:text-emerald-400`:`text-fg-muted`),role:`status`,"aria-live":`polite`,children:F}):null,(0,y.jsxs)(_,{children:[(0,y.jsxs)(`div`,{className:`mb-4 flex items-center gap-2 text-sm font-semibold text-fg`,children:[(0,y.jsx)(u,{className:`size-4 text-accent`,strokeWidth:1.75}),t.behaviorGroup]}),(0,y.jsxs)(`div`,{className:`space-y-2`,children:[(0,y.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,y.jsxs)(`div`,{children:[(0,y.jsx)(`div`,{className:`text-sm font-medium text-fg`,children:t.toggles.openAtLogin}),(0,y.jsx)(`p`,{className:`text-xs text-fg-muted`,children:t.toggles.openAtLoginDesc})]}),(0,y.jsx)(`input`,{type:`checkbox`,className:`ui-checkbox`,disabled:!O,checked:!!O?.openAtLogin,onChange:e=>{V({openAtLogin:e.target.checked})}})]}),(0,y.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,y.jsxs)(`div`,{children:[(0,y.jsx)(`div`,{className:`text-sm font-medium text-fg`,children:t.toggles.keepAwake}),(0,y.jsx)(`p`,{className:`text-xs text-fg-muted`,children:t.toggles.keepAwakeDesc})]}),(0,y.jsx)(`input`,{type:`checkbox`,className:`ui-checkbox`,disabled:!O,checked:!!O?.keepAwakePreferred,onChange:e=>{V({keepAwakePreferred:e.target.checked})}})]}),(0,y.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,y.jsxs)(`div`,{children:[(0,y.jsx)(`div`,{className:`text-sm font-medium text-fg`,children:t.toggles.notifyDesktop}),(0,y.jsx)(`p`,{className:`text-xs text-fg-muted`,children:t.toggles.notifyDesktopDesc})]}),(0,y.jsx)(`input`,{type:`checkbox`,className:`ui-checkbox`,disabled:!O||I,checked:!!O?.notifyEnabled,onChange:e=>{H(e.target.checked)}})]}),(0,y.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,y.jsxs)(`div`,{children:[(0,y.jsx)(`div`,{className:`text-sm font-medium text-fg`,children:t.toggles.notifySound}),(0,y.jsx)(`p`,{className:`text-xs text-fg-muted`,children:t.toggles.notifySoundDesc})]}),(0,y.jsx)(`input`,{type:`checkbox`,className:`ui-checkbox`,disabled:!O,checked:!!O?.notifySoundEnabled,onChange:e=>{V({notifySoundEnabled:e.target.checked})}})]})]})]}),O&&N?(0,y.jsxs)(`section`,{className:g(),children:[(0,y.jsxs)(`div`,{className:`mb-4 flex flex-col gap-1 sm:flex-row sm:items-center sm:justify-between`,children:[(0,y.jsxs)(`div`,{children:[(0,y.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:t.permissionsTitle}),(0,y.jsx)(`p`,{className:`mt-0.5 text-xs text-fg-muted`,children:J}),O.platform===`darwin`&&!O.packaged?(0,y.jsx)(`p`,{className:`mt-1 text-xs text-amber-600 dark:text-amber-400`,children:t.permissionsHintDevDarwin}):null]}),(0,y.jsxs)(`button`,{type:`button`,disabled:L||I,"aria-busy":L,className:r(`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`,l.press),onClick:()=>void B(),children:[(0,y.jsx)(o,{className:r(`size-3.5`,L&&`animate-spin`),strokeWidth:1.75,"aria-hidden":!0}),L?t.refreshing:t.refresh]})]}),(0,y.jsx)(`ul`,{className:`space-y-3`,children:k(O.platform).map(({key:n,pane:i})=>{let a=A(e,N[n]),o=t.perm[n],s=N[n]===`unknown`?j(e,n,O.platform):null;return o?(0,y.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,y.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,y.jsx)(`div`,{className:`text-sm font-medium text-fg`,children:o.title}),(0,y.jsx)(`p`,{className:`mt-0.5 text-xs text-fg-muted`,children:o.desc}),(0,y.jsx)(`p`,{className:`mt-1 text-xs font-medium ${a.className}`,children:a.label}),s?(0,y.jsx)(`p`,{className:`mt-1 text-xs text-fg-muted`,children:s}):null]}),(0,y.jsxs)(`div`,{className:`flex shrink-0 flex-wrap items-center gap-2`,children:[n===`notifications`&&E(n,N[n],O.platform)?(0,y.jsx)(`button`,{type:`button`,disabled:I,className:r(`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`,l.press),onClick:()=>void K(),children:t.requestAccess}):null,n===`microphone`&&E(n,N[n],O.platform)?(0,y.jsx)(`button`,{type:`button`,disabled:I,className:r(`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`,l.press),onClick:()=>void W(),children:t.requestAccess}):null,n===`accessibility`&&E(n,N[n],O.platform)?(0,y.jsx)(`button`,{type:`button`,disabled:I,className:r(`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`,l.press),onClick:()=>void G(),children:t.requestAccess}):null,n===`screen`&&E(n,N[n],O.platform)?(0,y.jsx)(`button`,{type:`button`,disabled:I,className:r(`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`,l.press),onClick:()=>void q(),children:t.requestAccess}):null,D(n,N[n],O.platform)?(0,y.jsxs)(`button`,{type:`button`,className:r(`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`,l.press),onClick:()=>void U(i),children:[t.openSettings,(0,y.jsx)(d,{className:`size-3.5`,strokeWidth:1.75,"aria-hidden":!0})]}):null]})]},n):null})})]}):null]})}export{N as SystemSettingsPanel};
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"./cn-BQ_8x0bT.js";import{t as i}from"./messages-Cb1VMeqP.js";import{n as a}from"./locale-store-CiM-D9jA.js";import{Ds as o,Ot as s,Uo as c,Vs as l,ni as u,ti as d,tl as f,uo as p}from"./index-I-ZCenVw.js";import{n as m,t as h}from"./settings-page-layout-DqpbTWqI.js";import{r as g,t as _}from"./settings-form-section-CwWjoRN6.js";var v=e(t(),1),y=n();async function b(){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 x(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 S(e,t){return e.outcome===`opened-settings`?t.openedSettings:e.status===`granted`?e.outcome===`already-granted`?t.alreadyGranted:t.granted:t.denied}function C(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 w(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 T=new Set([`microphone`,`accessibility`,`notifications`,`screen`]);function E(e,t,n){return t===`granted`?!1:e===`accessibility`&&(n===`darwin`||n===`win32`||n===`linux`)||e===`screen`&&(n===`darwin`||n===`win32`)||T.has(e)?t===`unknown`:!1}function D(e,t,n){return e===`accessibility`?!1:e===`screen`&&n===`linux`?!0:T.has(e)?t===`denied`:!0}var O=[{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 k(e){return e===`linux`?O:O.filter(t=>!t.platforms||t.platforms.includes(e))}function A(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 j(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 M={behavior:null,perms:null,loadError:null,permFeedback:null,permBusy:!1,refreshing:!1};function N(){let e=a(e=>e.language),t=i(e).systemSettings,[n,T]=(0,v.useReducer)(s,M),{behavior:O,perms:N,loadError:P,permFeedback:F,permBusy:I,refreshing:L}=n,R=typeof window<`u`?window.electronAPI?.system:void 0,z=(0,v.useCallback)(async e=>{if(R){T({type:`patch`,patch:{loadError:null}});try{T({type:`patch`,patch:{behavior:await R.getBehavior(),perms:await R.getPermissions({probe:e?.showRefreshFeedback}),...e?.showRefreshFeedback?{permFeedback:t.refreshDone}:{}}})}catch(t){T({type:`patch`,patch:{loadError:t instanceof Error?t.message:String(t),...e?.showRefreshFeedback?{permFeedback:null}:{}}})}}},[R,t.refreshDone]),B=(0,v.useCallback)(async()=>{if(!(L||I)){T({type:`patch`,patch:{refreshing:!0}});try{await z({showRefreshFeedback:!0})}finally{T({type:`patch`,patch:{refreshing:!1}})}}},[z,I,L]);if((0,v.useEffect)(()=>{let e=new Set([t.refreshDone,t.openSettingsDone,t.openSettingsFailed,t.desktopNotify.testShown]);if(!F||!e.has(F))return;let n=window.setTimeout(()=>{T({type:`patch`,patch:{permFeedback:null}})},3e3);return()=>window.clearTimeout(n)},[F,t.openSettingsDone,t.openSettingsFailed,t.refreshDone,t.desktopNotify.testShown]),(0,v.useEffect)(()=>{p()&&R&&z()},[R,z]),!p()||!R)return(0,y.jsxs)(h,{gap:`gap-3`,children:[(0,y.jsx)(m,{title:t.title}),(0,y.jsxs)(`div`,{className:g(),children:[(0,y.jsx)(`p`,{className:`text-sm font-medium text-fg`,children:t.desktopOnlyTitle}),(0,y.jsx)(`p`,{className:`mt-1 text-sm text-fg-muted`,children:t.desktopOnlyBody})]})]});let V=async e=>{try{let{behavior:t}=await R.setBehavior(e);T({type:`patch`,patch:{behavior:t}}),(e.notifyEnabled!==void 0||e.notifySoundEnabled!==void 0)&&d()}catch(e){T({type:`patch`,patch:{loadError:e instanceof Error?e.message:String(e)}})}},H=async e=>{if(!e){await V({notifyEnabled:!1});return}T({type:`patch`,patch:{permBusy:!0,permFeedback:null}});try{let e=await u(t.desktopNotify.testTitle,t.desktopNotify.testBody);if(e===`unsupported`){T({type:`patch`,patch:{permFeedback:t.notificationsFeedback.unsupported}});return}if(e===`denied`){T({type:`patch`,patch:{permFeedback:t.desktopNotify.denied}});return}if(e==="default"){T({type:`patch`,patch:{permFeedback:t.notificationsFeedback.default}});return}await V({notifyEnabled:!0}),T({type:`patch`,patch:{perms:await R.getPermissions()}}),T({type:`patch`,patch:{permFeedback:t.desktopNotify.testShown}})}catch(e){T({type:`patch`,patch:{loadError:e instanceof Error?e.message:String(e)}})}finally{T({type:`patch`,patch:{permBusy:!1}})}},U=async e=>{T({type:`patch`,patch:{permFeedback:null}}),T({type:`patch`,patch:{loadError:null}});try{(await R.openPrivacy(e)).ok?T({type:`patch`,patch:{permFeedback:t.openSettingsDone}}):T({type:`patch`,patch:{permFeedback:t.openSettingsFailed}})}catch(e){T({type:`patch`,patch:{loadError:e instanceof Error?e.message:String(e)}})}},W=async()=>{T({type:`patch`,patch:{permBusy:!0,permFeedback:null}}),T({type:`patch`,patch:{loadError:null}});try{let e=await R.requestMicrophone(),n=await b();T({type:`patch`,patch:{perms:await R.getPermissions()}}),T({type:`patch`,patch:{permFeedback:x(e,n,t.permFeedback)}})}catch(e){T({type:`patch`,patch:{loadError:e instanceof Error?e.message:String(e)}})}finally{T({type:`patch`,patch:{permBusy:!1}})}},G=async()=>{if(R.requestAccessibility){T({type:`patch`,patch:{permBusy:!0,permFeedback:null}}),T({type:`patch`,patch:{loadError:null}});try{let e=await R.requestAccessibility();T({type:`patch`,patch:{perms:await R.getPermissions()}}),T({type:`patch`,patch:{permFeedback:S(e,t.accessibilityFeedback)}})}catch(e){T({type:`patch`,patch:{loadError:e instanceof Error?e.message:String(e)}})}finally{T({type:`patch`,patch:{permBusy:!1}})}}},K=async()=>{if(R.requestNotifications){T({type:`patch`,patch:{permBusy:!0,permFeedback:null}}),T({type:`patch`,patch:{loadError:null}});try{let e=await R.requestNotifications();T({type:`patch`,patch:{perms:await R.getPermissions()}}),T({type:`patch`,patch:{permFeedback:C(e,t.notificationsFeedback)}})}catch(e){T({type:`patch`,patch:{loadError:e instanceof Error?e.message:String(e)}})}finally{T({type:`patch`,patch:{permBusy:!1}})}}},q=async()=>{if(R.requestScreen){T({type:`patch`,patch:{permBusy:!0,permFeedback:null}}),T({type:`patch`,patch:{loadError:null}});try{let e=await R.requestScreen();T({type:`patch`,patch:{perms:await R.getPermissions()}}),T({type:`patch`,patch:{permFeedback:w(e,t.screenFeedback)}})}catch(e){T({type:`patch`,patch:{loadError:e instanceof Error?e.message:String(e)}})}finally{T({type:`patch`,patch:{permBusy:!1}})}}},J=O?O.platform===`win32`?t.permissionsHintWin:O.platform===`linux`?t.permissionsHintLinux:O.platform===`darwin`?t.permissionsHintDarwin:t.permissionsHint:t.permissionsHint;return(0,y.jsxs)(h,{gap:`gap-6`,children:[(0,y.jsx)(m,{title:t.title}),P?(0,y.jsx)(`p`,{className:`text-sm text-amber-600 dark:text-amber-400`,role:`alert`,children:P}):null,F?(0,y.jsx)(`p`,{className:r(`text-sm`,F===t.refreshDone||F===t.openSettingsDone||F===t.permFeedback.granted||F===t.permFeedback.alreadyGranted||F===t.accessibilityFeedback.granted||F===t.accessibilityFeedback.alreadyGranted||F===t.notificationsFeedback.granted||F===t.notificationsFeedback.alreadyGranted||F===t.screenFeedback.granted||F===t.screenFeedback.alreadyGranted||F===t.desktopNotify.testShown?`text-emerald-600 dark:text-emerald-400`:`text-fg-muted`),role:`status`,"aria-live":`polite`,children:F}):null,(0,y.jsxs)(_,{children:[(0,y.jsxs)(`div`,{className:`mb-4 flex items-center gap-2 text-sm font-semibold text-fg`,children:[(0,y.jsx)(o,{className:`size-4 text-accent`,strokeWidth:1.75}),t.behaviorGroup]}),(0,y.jsxs)(`div`,{className:`space-y-2`,children:[(0,y.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,y.jsxs)(`div`,{children:[(0,y.jsx)(`div`,{className:`text-sm font-medium text-fg`,children:t.toggles.openAtLogin}),(0,y.jsx)(`p`,{className:`text-xs text-fg-muted`,children:t.toggles.openAtLoginDesc})]}),(0,y.jsx)(`input`,{type:`checkbox`,className:`ui-checkbox`,disabled:!O,checked:!!O?.openAtLogin,onChange:e=>{V({openAtLogin:e.target.checked})}})]}),(0,y.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,y.jsxs)(`div`,{children:[(0,y.jsx)(`div`,{className:`text-sm font-medium text-fg`,children:t.toggles.keepAwake}),(0,y.jsx)(`p`,{className:`text-xs text-fg-muted`,children:t.toggles.keepAwakeDesc})]}),(0,y.jsx)(`input`,{type:`checkbox`,className:`ui-checkbox`,disabled:!O,checked:!!O?.keepAwakePreferred,onChange:e=>{V({keepAwakePreferred:e.target.checked})}})]}),(0,y.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,y.jsxs)(`div`,{children:[(0,y.jsx)(`div`,{className:`text-sm font-medium text-fg`,children:t.toggles.notifyDesktop}),(0,y.jsx)(`p`,{className:`text-xs text-fg-muted`,children:t.toggles.notifyDesktopDesc})]}),(0,y.jsx)(`input`,{type:`checkbox`,className:`ui-checkbox`,disabled:!O||I,checked:!!O?.notifyEnabled,onChange:e=>{H(e.target.checked)}})]}),(0,y.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,y.jsxs)(`div`,{children:[(0,y.jsx)(`div`,{className:`text-sm font-medium text-fg`,children:t.toggles.notifySound}),(0,y.jsx)(`p`,{className:`text-xs text-fg-muted`,children:t.toggles.notifySoundDesc})]}),(0,y.jsx)(`input`,{type:`checkbox`,className:`ui-checkbox`,disabled:!O,checked:!!O?.notifySoundEnabled,onChange:e=>{V({notifySoundEnabled:e.target.checked})}})]})]})]}),O&&N?(0,y.jsxs)(`section`,{className:g(),children:[(0,y.jsxs)(`div`,{className:`mb-4 flex flex-col gap-1 sm:flex-row sm:items-center sm:justify-between`,children:[(0,y.jsxs)(`div`,{children:[(0,y.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:t.permissionsTitle}),(0,y.jsx)(`p`,{className:`mt-0.5 text-xs text-fg-muted`,children:J}),O.platform===`darwin`&&!O.packaged?(0,y.jsx)(`p`,{className:`mt-1 text-xs text-amber-600 dark:text-amber-400`,children:t.permissionsHintDevDarwin}):null]}),(0,y.jsxs)(`button`,{type:`button`,disabled:L||I,"aria-busy":L,className:r(`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`,c.press),onClick:()=>void B(),children:[(0,y.jsx)(l,{className:r(`size-3.5`,L&&`animate-spin`),strokeWidth:1.75,"aria-hidden":!0}),L?t.refreshing:t.refresh]})]}),(0,y.jsx)(`ul`,{className:`space-y-3`,children:k(O.platform).map(({key:n,pane:i})=>{let a=A(e,N[n]),o=t.perm[n],s=N[n]===`unknown`?j(e,n,O.platform):null;return o?(0,y.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,y.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,y.jsx)(`div`,{className:`text-sm font-medium text-fg`,children:o.title}),(0,y.jsx)(`p`,{className:`mt-0.5 text-xs text-fg-muted`,children:o.desc}),(0,y.jsx)(`p`,{className:`mt-1 text-xs font-medium ${a.className}`,children:a.label}),s?(0,y.jsx)(`p`,{className:`mt-1 text-xs text-fg-muted`,children:s}):null]}),(0,y.jsxs)(`div`,{className:`flex shrink-0 flex-wrap items-center gap-2`,children:[n===`notifications`&&E(n,N[n],O.platform)?(0,y.jsx)(`button`,{type:`button`,disabled:I,className:r(`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`,c.press),onClick:()=>void K(),children:t.requestAccess}):null,n===`microphone`&&E(n,N[n],O.platform)?(0,y.jsx)(`button`,{type:`button`,disabled:I,className:r(`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`,c.press),onClick:()=>void W(),children:t.requestAccess}):null,n===`accessibility`&&E(n,N[n],O.platform)?(0,y.jsx)(`button`,{type:`button`,disabled:I,className:r(`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`,c.press),onClick:()=>void G(),children:t.requestAccess}):null,n===`screen`&&E(n,N[n],O.platform)?(0,y.jsx)(`button`,{type:`button`,disabled:I,className:r(`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`,c.press),onClick:()=>void q(),children:t.requestAccess}):null,D(n,N[n],O.platform)?(0,y.jsxs)(`button`,{type:`button`,className:r(`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`,c.press),onClick:()=>void U(i),children:[t.openSettings,(0,y.jsx)(f,{className:`size-3.5`,strokeWidth:1.75,"aria-hidden":!0})]}):null]})]},n):null})})]}):null]})}export{N as SystemSettingsPanel};
@@ -1 +1 @@
1
- import{c as e}from"./locale-store-Ba72bFmP.js";import{t}from"./middleware-Pd0e8Igk.js";var n=`default`,r={light:{default:`#ffffff`,emerald:`#f0fdf4`,mono:`#ffffff`,clay:`#fffaf0`},dark:{default:`#0a0a0a`,emerald:`#000000`,mono:`#101010`,clay:`#0a1a1a`}};function i(e,t){let n=document.head;if(!n)return;let i=n.querySelector(`meta[name="theme-color"][data-xopc-theme-color="true"]`);i||(i=document.createElement(`meta`),i.setAttribute(`name`,`theme-color`),i.setAttribute(`data-xopc-theme-color`,`true`),n.appendChild(i)),i.setAttribute(`content`,r[e][t])}function a(){return globalThis.matchMedia?.(`(prefers-color-scheme: dark)`).matches??!1}function o(e){return e===`system`?a()?`dark`:`light`:e}function s(){return globalThis.matchMedia?.(`(prefers-reduced-motion: reduce)`).matches??!1}function c(e){return e===`cal`?`mono`:e==="default"||e===`emerald`||e===`mono`||e===`clay`?e:n}function l(e,t,n){let r=document.documentElement,a=()=>{r.classList.toggle(`dark`,e===`dark`),r.dataset.theme=e,r.dataset.colorScheme=t,i(e,t)},o=document;n&&!s()&&typeof o.startViewTransition==`function`?o.startViewTransition(a):a()}function u(){try{let e=localStorage.getItem(`xopc-web-theme`),t=`system`,r=n;if(e){let n=JSON.parse(e);n.state?.preference&&(t=n.state.preference),n.state&&`colorScheme`in n.state&&(r=c(n.state.colorScheme))}l(o(t),r,!1)}catch{l(o(`system`),`default`,!1)}}var d=e(t((e,t)=>({preference:`system`,colorScheme:n,resolved:o(`system`),setPreference:n=>{let r=o(n),{resolved:i,colorScheme:a}=t();l(r,a,r!==i),e({preference:n,resolved:r})},setColorScheme:n=>{let{resolved:r}=t();l(r,n,!0),e({colorScheme:n})}}),{name:`xopc-web-theme`,merge:(e,t)=>{let n=e??{};return{...t,...n,colorScheme:c(n.colorScheme)}}}));function f(){let{preference:e,colorScheme:t}=d.getState(),n=o(e);l(n,t,!1),d.setState({resolved:n})}function p(){let e=globalThis.matchMedia?.(`(prefers-color-scheme: dark)`);if(!e)return()=>{};let t=()=>{let{preference:e,colorScheme:t}=d.getState();if(e!==`system`)return;let n=o(`system`),r=d.getState().resolved;l(n,t,n!==r),d.setState({resolved:n})};return e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)}export{d as i,p as n,f as r,u as t};
1
+ import{u as e}from"./locale-store-CiM-D9jA.js";import{t}from"./middleware-Pd0e8Igk.js";var n=`default`,r={light:{default:`#ffffff`,emerald:`#f0fdf4`,mono:`#ffffff`,clay:`#fffaf0`},dark:{default:`#0a0a0a`,emerald:`#000000`,mono:`#101010`,clay:`#0a1a1a`}};function i(e,t){let n=document.head;if(!n)return;let i=n.querySelector(`meta[name="theme-color"][data-xopc-theme-color="true"]`);i||(i=document.createElement(`meta`),i.setAttribute(`name`,`theme-color`),i.setAttribute(`data-xopc-theme-color`,`true`),n.appendChild(i)),i.setAttribute(`content`,r[e][t])}function a(){return globalThis.matchMedia?.(`(prefers-color-scheme: dark)`).matches??!1}function o(e){return e===`system`?a()?`dark`:`light`:e}function s(){return globalThis.matchMedia?.(`(prefers-reduced-motion: reduce)`).matches??!1}function c(e){return e===`cal`?`mono`:e==="default"||e===`emerald`||e===`mono`||e===`clay`?e:n}function l(e,t,n){let r=document.documentElement,a=()=>{r.classList.toggle(`dark`,e===`dark`),r.dataset.theme=e,r.dataset.colorScheme=t,i(e,t)},o=document;n&&!s()&&typeof o.startViewTransition==`function`?o.startViewTransition(a):a()}function u(){try{let e=localStorage.getItem(`xopc-web-theme`),t=`system`,r=n;if(e){let n=JSON.parse(e);n.state?.preference&&(t=n.state.preference),n.state&&`colorScheme`in n.state&&(r=c(n.state.colorScheme))}l(o(t),r,!1)}catch{l(o(`system`),`default`,!1)}}var d=e(t((e,t)=>({preference:`system`,colorScheme:n,resolved:o(`system`),setPreference:n=>{let r=o(n),{resolved:i,colorScheme:a}=t();l(r,a,r!==i),e({preference:n,resolved:r})},setColorScheme:n=>{let{resolved:r}=t();l(r,n,!0),e({colorScheme:n})}}),{name:`xopc-web-theme`,merge:(e,t)=>{let n=e??{};return{...t,...n,colorScheme:c(n.colorScheme)}}}));function f(){let{preference:e,colorScheme:t}=d.getState(),n=o(e);l(n,t,!1),d.setState({resolved:n})}function p(){let e=globalThis.matchMedia?.(`(prefers-color-scheme: dark)`);if(!e)return()=>{};let t=()=>{let{preference:e,colorScheme:t}=d.getState();if(e!==`system`)return;let n=o(`system`),r=d.getState().resolved;l(n,t,n!==r),d.setState({resolved:n})};return e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)}export{d as i,p as n,f as r,u as t};
@@ -1 +1 @@
1
- import{t as e}from"./cn-BQ_8x0bT.js";import{Ho as t,Uo as n,Vo as r}from"./index-VWvztcst.js";function i(){return e(`w-full rounded-lg border border-edge bg-surface-panel px-3 py-2 text-sm text-fg`,`placeholder:text-fg-subtle`,n,`dark:border-edge`)}function a(){return e(t,r)}var o=`h-auto shrink-0 px-2.5 py-1.5 text-xs font-medium`,s=/^[a-z][a-z0-9_-]{0,63}$/;function c(e){let t=e.trim(),n=t.indexOf(`/`);return n>0&&n<t.length-1}function l(e){let t=e&&typeof e==`object`&&!Array.isArray(e)&&`roles`in e?Object.entries(e.roles??{}).map(([e,t])=>({id:e,...t&&typeof t==`object`&&!Array.isArray(t)?t:{}})):e;if(!Array.isArray(t))return[];let n=[];for(let e of t){if(!e||typeof e!=`object`||Array.isArray(e))continue;let t=e,r=typeof t.id==`string`?t.id.trim():``,i=typeof t.model==`string`?t.model.trim():``;if(!r||!i)continue;let a=typeof t.description==`string`?t.description.trim():``,o=Array.isArray(t.fallbacks)?t.fallbacks.filter(e=>typeof e==`string`).map(e=>e.trim()).filter(Boolean):[];n.push({id:r,model:i,fallbacks:o,description:a})}return n}function u(e,t){let n=new Set([t.toLowerCase()]),r=[];for(let t of e){let e=t.trim(),i=e.toLowerCase();!e||!c(e)||n.has(i)||(n.add(i),r.push(e))}return r}function d(e){let t=new Map;for(let n of e){let e=n.id.trim(),r=n.model.trim();if(!e||!s.test(e)||!r||!c(r))continue;let i=n.description.trim(),a=u(n.fallbacks??[],r);t.set(e,{model:r,...a.length>0?{fallbacks:a}:{},...i?{description:i}:{}})}return t.size===0?null:{roles:Object.fromEntries(t.entries())}}function f(e,t){let n=new Set;for(let r of e){let e=r.id.trim(),i=r.model.trim(),a=r.fallbacks??[];if(!(!e&&!i&&!r.description.trim()&&a.every(e=>!e.trim()))){if(!e||!s.test(e))return t.invalidId;if(n.has(e))return t.duplicateId;if(n.add(e),!i||!c(i)||a.some(e=>e.trim()&&!c(e)))return t.invalidModel}}return null}function p(e){return e.length===0?`—`:e.map(e=>`${e.id} -> ${e.model}${e.fallbacks?.length?` (+${e.fallbacks.length})`:``}`).join(`, `)}function m(e){return(e??[]).map(e=>({id:e.id,model:e.model,fallbacks:e.fallbacks??[],description:e.description?.trim()??``}))}export{f as a,a as c,m as i,p as n,o,l as r,i as s,d as t};
1
+ import{t as e}from"./cn-BQ_8x0bT.js";import{Jo as t,Ko as n,qo as r}from"./index-I-ZCenVw.js";function i(){return e(`w-full rounded-lg border border-edge bg-surface-panel px-3 py-2 text-sm text-fg`,`placeholder:text-fg-subtle`,t,`dark:border-edge`)}function a(){return e(r,n)}var o=`h-auto shrink-0 px-2.5 py-1.5 text-xs font-medium`,s=/^[a-z][a-z0-9_-]{0,63}$/;function c(e){let t=e.trim(),n=t.indexOf(`/`);return n>0&&n<t.length-1}function l(e){let t=e&&typeof e==`object`&&!Array.isArray(e)&&`roles`in e?Object.entries(e.roles??{}).map(([e,t])=>({id:e,...t&&typeof t==`object`&&!Array.isArray(t)?t:{}})):e;if(!Array.isArray(t))return[];let n=[];for(let e of t){if(!e||typeof e!=`object`||Array.isArray(e))continue;let t=e,r=typeof t.id==`string`?t.id.trim():``,i=typeof t.model==`string`?t.model.trim():``;if(!r||!i)continue;let a=typeof t.description==`string`?t.description.trim():``,o=Array.isArray(t.fallbacks)?t.fallbacks.filter(e=>typeof e==`string`).map(e=>e.trim()).filter(Boolean):[];n.push({id:r,model:i,fallbacks:o,description:a})}return n}function u(e,t){let n=new Set([t.toLowerCase()]),r=[];for(let t of e){let e=t.trim(),i=e.toLowerCase();!e||!c(e)||n.has(i)||(n.add(i),r.push(e))}return r}function d(e){let t=new Map;for(let n of e){let e=n.id.trim(),r=n.model.trim();if(!e||!s.test(e)||!r||!c(r))continue;let i=n.description.trim(),a=u(n.fallbacks??[],r);t.set(e,{model:r,...a.length>0?{fallbacks:a}:{},...i?{description:i}:{}})}return t.size===0?null:{roles:Object.fromEntries(t.entries())}}function f(e,t){let n=new Set;for(let r of e){let e=r.id.trim(),i=r.model.trim(),a=r.fallbacks??[];if(!(!e&&!i&&!r.description.trim()&&a.every(e=>!e.trim()))){if(!e||!s.test(e))return t.invalidId;if(n.has(e))return t.duplicateId;if(n.add(e),!i||!c(i)||a.some(e=>e.trim()&&!c(e)))return t.invalidModel}}return null}function p(e){return e.length===0?`—`:e.map(e=>`${e.id} -> ${e.model}${e.fallbacks?.length?` (+${e.fallbacks.length})`:``}`).join(`, `)}function m(e){return(e??[]).map(e=>({id:e.id,model:e.model,fallbacks:e.fallbacks??[],description:e.description?.trim()??``}))}export{f as a,a as c,m as i,p as n,o,l as r,i as s,d as t};
@@ -0,0 +1 @@
1
+ import{n as e}from"./vendor-react-BOUWij0V.js";import{d as t,i as n}from"./locale-store-CiM-D9jA.js";import{i as r}from"./vendor-swr-BIWyz7Rc.js";var i=e();function a(e){return t(`/api/channels/catalog?locale=${encodeURIComponent(e)}`)}async function o(e){return(await n(a(e))).payload?.channels??[]}function s(e,t){let n=(0,i.c)(14),s;n[0]!==e||n[1]!==t?(s=e?a(t):null,n[0]=e,n[1]=t,n[2]=s):s=n[2];let c;n[3]===t?c=n[4]:(c=()=>o(t),n[3]=t,n[4]=c);let l;n[5]===Symbol.for(`react.memo_cache_sentinel`)?(l={revalidateOnFocus:!1},n[5]=l):l=n[5];let{data:u,error:d,isLoading:f,isValidating:p,mutate:m}=r(s,c,l),h;n[6]===u?h=n[7]:(h=u??[],n[6]=u,n[7]=h);let g;return n[8]!==d||n[9]!==f||n[10]!==p||n[11]!==m||n[12]!==h?(g={entries:h,isLoading:f,isValidating:p,error:d,mutate:m},n[8]=d,n[9]=f,n[10]=p,n[11]=m,n[12]=h,n[13]=g):g=n[13],g}export{s as t};
@@ -0,0 +1 @@
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,n,t as r}from"./vendor-react-BOUWij0V.js";import{d as i,l as a}from"./chunk-QUQL4437-DXsxWP7r.js";import{t as o}from"./cn-BQ_8x0bT.js";import{t as s}from"./check-BODqo66o.js";import{t as c}from"./messages-Cb1VMeqP.js";import{n as l}from"./locale-store-CiM-D9jA.js";import{i as u}from"./vendor-swr-BIWyz7Rc.js";import{$s as d,Ba as f,Bt as p,Dl as m,Do as h,Gt as g,Ht as _,In as v,Jt as y,Kt as b,Ll as x,Nl as S,Os as C,Qo as w,Tc as T,To as E,Ut as D,Vt as O,Wt as k,Xt as A,Yo as j,Yt as M,_o as ee,al as te,bl as ne,do as re,fo as N,go as ie,ho as ae,il as P,js as F,lo as oe,mo as I,ms as se,os as ce,po as L,qt as le,ss as R,tn as ue,us as z,vo as B,ws as de,zc as fe,zt as pe}from"./index-I-ZCenVw.js";import{t as me}from"./page-tabs-6Al9_sGz.js";import{t as he}from"./user-profile-fields-editor-CWxc0ghP.js";import{t as ge}from"./connector-logo-BVFNT2zW.js";var V=e(t(),1),H=n(),U={"composio-gmail":`gmail`,"composio-googledrive":`google-drive`,"composio-notion":`notion`,"composio-slack":`slack`,memory:`memory`};function _e(e){if(e.branding?.logoUrl)return e.branding;let t=U[e.id];return t?{...e.branding,logoUrl:`/connector-icons/${t}.svg`}:e.branding}var W=r();function ve(e){let t=(0,H.c)(33),{source:n,language:r,busy:i,onOpenChange:a,onConfirm:s}=e,l=c(r).you,[u,d]=(0,V.useState)(!1),f,p;t[0]===n?(f=t[1],p=t[2]):(f=()=>{n&&d(!1)},p=[n],t[0]=n,t[1]=f,t[2]=p),(0,V.useEffect)(f,p);let m;t[3]!==i||t[4]!==a?(m=e=>!i&&a(e),t[3]=i,t[4]=a,t[5]=m):m=t[5];let h;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,W.jsx)(ae,{className:`xopc-dialog-overlay fixed inset-0 z-[130] bg-scrim`}),t[6]=h):h=t[6];let g;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,W.jsx)(w,{className:`size-4`,"aria-hidden":!0}),t[7]=g):g=t[7];let _;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(_=()=>d(!1),t[8]=_):_=t[8];let v=u?`border-edge-subtle hover:bg-surface-hover`:`border-accent/40 bg-accent-soft/35`,y;t[9]===v?y=t[10]:(y=o(`flex w-full items-start gap-3 rounded-xl border p-4 text-left`,v),t[9]=v,t[10]=y);let b;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,W.jsx)(te,{className:`mt-0.5 size-4 shrink-0 text-accent`,"aria-hidden":!0}),t[11]=b):b=t[11];let x;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(x=()=>d(!0),t[12]=x):x=t[12];let S=u?`border-danger/40 bg-danger-soft`:`border-edge-subtle hover:bg-surface-hover`,C;t[13]===S?C=t[14]:(C=o(`flex w-full items-start gap-3 rounded-xl border p-4 text-left disabled:cursor-not-allowed disabled:opacity-55`,S),t[13]=S,t[14]=C);let T;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,W.jsx)(z,{className:`mt-0.5 size-4 shrink-0 text-danger`,"aria-hidden":!0}),t[15]=T):T=t[15];let E=l.disconnectDeleteBody.replace(`{{count}}`,String(n?.derivedUnderstandingCount??0)),D;t[16]===E?D=t[17]:(D=(0,W.jsx)(`span`,{className:`mt-1 block text-xs leading-5 text-fg-muted`,children:E}),t[16]=E,t[17]=D);let O;t[18]!==i||t[19]!==l.cancel?(O=(0,W.jsx)(N,{asChild:!0,children:(0,W.jsx)(j,{type:`button`,variant:`ghost`,disabled:i,children:l.cancel})}),t[18]=i,t[19]=l.cancel,t[20]=O):O=t[20];let k=u?`border-danger/35 text-danger hover:bg-danger-soft`:void 0,A;t[21]!==u||t[22]!==s?(A=()=>s(u),t[21]=u,t[22]=s,t[23]=A):A=t[23];let M;t[24]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,W.jsx)(R,{className:`size-4`,"aria-hidden":!0}),t[24]=M):M=t[24];let ne=i?l.disconnecting:l.disconnectAction,P;t[25]!==i||t[26]!==k||t[27]!==A||t[28]!==ne?(P=(0,W.jsxs)(j,{type:`button`,variant:`secondary`,className:k,disabled:i,onClick:A,children:[M,ne]}),t[25]=i,t[26]=k,t[27]=A,t[28]=ne,t[29]=P):P=t[29];let F;return t[30]!==O||t[31]!==P?(F=(0,W.jsxs)(`div`,{className:`flex shrink-0 justify-end gap-2 border-t border-edge-subtle px-5 py-4`,children:[O,P]}),t[30]=O,t[31]=P,t[32]=F):F=t[32],(0,W.jsx)(re,{open:n!==null,onOpenChange:m,children:(0,W.jsxs)(ie,{children:[h,(0,W.jsxs)(L,{className:`fixed left-1/2 top-1/2 z-[131] flex h-[min(31rem,calc(100dvh-2rem))] w-[min(32rem,calc(100vw-2rem))] -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-xl border border-edge bg-surface-panel shadow-elevated`,children:[(0,W.jsxs)(`div`,{className:`flex shrink-0 items-start justify-between gap-3 border-b border-edge-subtle px-5 py-4`,children:[(0,W.jsxs)(`div`,{children:[(0,W.jsx)(ee,{className:`text-base font-semibold text-fg`,children:l.disconnectTitle}),(0,W.jsx)(I,{className:`mt-1 text-sm text-fg-muted`,children:l.disconnectBody.replace(`{{source}}`,n?.displayName??``)})]}),(0,W.jsx)(N,{asChild:!0,children:(0,W.jsx)(`button`,{type:`button`,className:`rounded-lg p-1.5 text-fg-muted hover:bg-surface-hover hover:text-fg`,"aria-label":l.cancel,disabled:i,children:g})})]}),(0,W.jsxs)(`div`,{className:`min-h-0 flex-1 space-y-3 overflow-y-auto p-5`,children:[(0,W.jsxs)(`button`,{type:`button`,"aria-pressed":!u,onClick:_,className:y,children:[b,(0,W.jsxs)(`span`,{children:[(0,W.jsx)(`span`,{className:`block text-sm font-semibold text-fg`,children:l.disconnectKeepTitle}),(0,W.jsx)(`span`,{className:`mt-1 block text-xs leading-5 text-fg-muted`,children:l.disconnectKeepBody})]})]}),(0,W.jsxs)(`button`,{type:`button`,"aria-pressed":u,onClick:x,disabled:!n?.derivedUnderstandingCount,className:C,children:[T,(0,W.jsxs)(`span`,{children:[(0,W.jsx)(`span`,{className:`block text-sm font-semibold text-fg`,children:l.disconnectDeleteTitle}),D]})]})]}),F]})]})})}var ye=new Set([`overview`,`understanding`,`sources`,`controls`]),be=[`collaboration`,`priorities`,`boundaries`,`people`,`current`,`basics`],xe=`w-full rounded-lg border border-edge bg-surface-panel px-3 py-2 text-sm text-fg outline-none placeholder:text-fg-subtle focus:border-accent/50 focus:ring-2 focus:ring-accent/20`;function G(e,t){return e.replace(`{{count}}`,String(t))}function K(e,t){let n=Date.parse(e);return Number.isFinite(n)?new Intl.DateTimeFormat(t===`zh`?`zh-CN`:`en`,{dateStyle:`medium`,timeStyle:`short`}).format(n):e}function Se(e){return e===`review`?`understanding`:e===`privacy`?`controls`:e&&ye.has(e)?e:`overview`}function Ce(){let e=(0,H.c)(2),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,W.jsx)(f,{className:`h-24 rounded-2xl`}),e[0]=t):t=e[0];let n;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,W.jsxs)(`div`,{className:`space-y-4`,"aria-busy":!0,children:[t,(0,W.jsxs)(`div`,{className:`grid gap-4 lg:grid-cols-2`,children:[(0,W.jsx)(f,{className:`h-64 rounded-2xl`}),(0,W.jsx)(f,{className:`h-64 rounded-2xl`})]})]}),e[1]=n):n=e[1],n}function we(e,t){return e.origin===`connected_source`?t.origins.connected_source.replace(`{{source}}`,e.sourceName):t.origins[e.origin]}function Te(e){let t=(0,H.c)(17),{item:n,language:r,t:i,busy:a,onConfirm:c,onReject:l,onUpdate:u,onForget:f}=e,[p,m]=(0,V.useState)(!1),[h,g]=(0,V.useState)(n.statement),_=n.status!==`active`,v=_?`border-warning/35 bg-warning-soft/35`:`border-edge-subtle bg-surface-panel`,y;t[0]===v?y=t[1]:(y=o(`rounded-xl border p-3.5`,v),t[0]=v,t[1]=y);let b;t[2]!==a||t[3]!==h||t[4]!==p||t[5]!==n||t[6]!==r||t[7]!==_||t[8]!==c||t[9]!==f||t[10]!==l||t[11]!==u||t[12]!==i?(b=p?(0,W.jsxs)(`div`,{className:`space-y-2`,children:[(0,W.jsx)(`textarea`,{className:o(xe,`min-h-20 resize-y`),value:h,onChange:e=>g(e.target.value),placeholder:i.updatePlaceholder,autoFocus:!0}),(0,W.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,W.jsx)(j,{type:`button`,variant:`ghost`,className:`h-8 px-2`,onClick:()=>{g(n.statement),m(!1)},children:i.cancel}),(0,W.jsx)(j,{type:`button`,variant:`primary`,className:`h-8 px-2`,disabled:a||!h.trim(),onClick:()=>{u(h.trim()),m(!1)},children:i.save})]})]}):(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`p`,{className:`text-sm leading-6 text-fg`,children:n.statement}),(0,W.jsxs)(`div`,{className:`mt-2 flex flex-wrap items-center justify-between gap-2`,children:[(0,W.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 text-xs text-fg-subtle`,children:[(0,W.jsxs)(`span`,{className:`inline-flex items-center gap-1`,children:[(0,W.jsx)(de,{className:`size-3 text-accent`,"aria-hidden":!0}),we(n,i)]}),(0,W.jsx)(`span`,{className:`rounded-full bg-surface-hover px-2 py-0.5`,children:i.stability[n.stability]}),n.evidenceCount>1?(0,W.jsx)(`span`,{children:G(i.evidenceCount,n.evidenceCount)}):null,n.latestEvidenceAt?(0,W.jsx)(`span`,{children:i.observedAt.replace(`{{time}}`,K(n.latestEvidenceAt,r))}):null]}),(0,W.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1`,children:[_?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(j,{type:`button`,variant:`ghost`,className:`h-8 px-2`,disabled:a,onClick:c,children:[(0,W.jsx)(s,{className:`size-3.5`,"aria-hidden":!0}),i.confirm]}),(0,W.jsxs)(j,{type:`button`,variant:`ghost`,className:`h-8 px-2`,disabled:a,onClick:l,children:[(0,W.jsx)(w,{className:`size-3.5`,"aria-hidden":!0}),i.notTrue]})]}):null,(0,W.jsxs)(j,{type:`button`,variant:`ghost`,className:`h-8 px-2`,disabled:a,onClick:()=>m(!0),children:[(0,W.jsx)(d,{className:`size-3.5`,"aria-hidden":!0}),i.change]}),(0,W.jsxs)(j,{type:`button`,variant:`ghost`,className:`h-8 px-2`,disabled:a,onClick:f,children:[(0,W.jsx)(z,{className:`size-3.5`,"aria-hidden":!0}),i.forget]})]})]}),(0,W.jsxs)(`details`,{className:`mt-2 rounded-lg bg-surface-muted/70 px-3 py-2 text-xs text-fg-muted`,children:[(0,W.jsx)(`summary`,{className:`cursor-pointer font-medium text-fg-muted`,children:i.viewEvidence}),(0,W.jsxs)(`dl`,{className:`mt-2 grid gap-1.5 sm:grid-cols-2`,children:[(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`dt`,{className:`text-fg-subtle`,children:i.evidenceSource}),(0,W.jsx)(`dd`,{className:`mt-0.5 break-all text-fg-muted`,children:n.sourceName})]}),n.sourcePath?(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`dt`,{className:`text-fg-subtle`,children:i.evidencePath}),(0,W.jsx)(`dd`,{className:`mt-0.5 break-all text-fg-muted`,children:n.sourcePath})]}):null,(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`dt`,{className:`text-fg-subtle`,children:i.evidenceUpdated}),(0,W.jsx)(`dd`,{className:`mt-0.5 text-fg-muted`,children:K(n.updatedAt,r)})]}),(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`dt`,{className:`text-fg-subtle`,children:i.evidenceSupport}),(0,W.jsx)(`dd`,{className:`mt-0.5 text-fg-muted`,children:G(i.evidenceCount,n.evidenceCount)})]})]})]})]}),t[2]=a,t[3]=h,t[4]=p,t[5]=n,t[6]=r,t[7]=_,t[8]=c,t[9]=f,t[10]=l,t[11]=u,t[12]=i,t[13]=b):b=t[13];let x;return t[14]!==y||t[15]!==b?(x=(0,W.jsx)(`article`,{className:y,children:b}),t[14]=y,t[15]=b,t[16]=x):x=t[16],x}function Ee(e){let t=(0,H.c)(76),{source:n,language:r,t:i,onConfigure:a,onDisconnect:s}=e,c=n.installed?n.enabled?i.connected:i.paused:i.available,l;t[0]!==n.lastHealthStatus||t[1]!==i.healthIssue||t[2]!==i.healthOk||t[3]!==i.sourceHealth?(l=n.lastHealthStatus?i.sourceHealth.replace(`{{status}}`,n.lastHealthStatus===`ok`?i.healthOk:i.healthIssue):null,t[0]=n.lastHealthStatus,t[1]=i.healthIssue,t[2]=i.healthOk,t[3]=i.sourceHealth,t[4]=l):l=t[4];let u=l,d=`${i.manageSources}: ${n.displayName}`,f;t[5]===a?f=t[6]:(f=e=>{e.target===e.currentTarget&&(e.key!==`Enter`&&e.key!==` `||(e.preventDefault(),a()))},t[5]=a,t[6]=f);let p=n.displayName,m;t[7]===n?m=t[8]:(m=_e(n),t[7]=n,t[8]=m);let h;t[9]!==n.displayName||t[10]!==m?(h=(0,W.jsx)(ge,{connector:{displayName:p,branding:m},size:`sm`}),t[9]=n.displayName,t[10]=m,t[11]=h):h=t[11];let g;t[12]===n.displayName?g=t[13]:(g=(0,W.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:n.displayName}),t[12]=n.displayName,t[13]=g);let _;t[14]===n.description?_=t[15]:(_=(0,W.jsx)(`p`,{className:`mt-1 line-clamp-2 text-xs leading-5 text-fg-muted`,children:n.description}),t[14]=n.description,t[15]=_);let v;t[16]!==g||t[17]!==_?(v=(0,W.jsxs)(`div`,{className:`min-w-0`,children:[g,_]}),t[16]=g,t[17]=_,t[18]=v):v=t[18];let y;t[19]!==h||t[20]!==v?(y=(0,W.jsxs)(`div`,{className:`flex min-w-0 items-start gap-3`,children:[h,v]}),t[19]=h,t[20]=v,t[21]=y):y=t[21];let b=n.installed&&n.enabled?`bg-success-soft text-fg`:`bg-surface-hover text-fg-muted`,x;t[22]===b?x=t[23]:(x=o(`shrink-0 rounded-full px-2 py-1 text-[11px] font-medium`,b),t[22]=b,t[23]=x);let S;t[24]!==c||t[25]!==x?(S=(0,W.jsx)(`span`,{className:x,children:c}),t[24]=c,t[25]=x,t[26]=S):S=t[26];let C;t[27]!==y||t[28]!==S?(C=(0,W.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[y,S]}),t[27]=y,t[28]=S,t[29]=C):C=t[29];let w;t[30]!==n.access.context||t[31]!==i.sourceContext?(w=n.access.context?(0,W.jsx)(`span`,{className:`rounded-full bg-surface-hover px-2 py-0.5`,children:i.sourceContext}):null,t[30]=n.access.context,t[31]=i.sourceContext,t[32]=w):w=t[32];let T;t[33]!==n.access.memory||t[34]!==i.sourceMemory?(T=n.access.memory?(0,W.jsx)(`span`,{className:`rounded-full bg-surface-hover px-2 py-0.5`,children:i.sourceMemory}):null,t[33]=n.access.memory,t[34]=i.sourceMemory,t[35]=T):T=t[35];let E;t[36]!==n.access.read||t[37]!==i.sourceRead?(E=n.access.read?(0,W.jsx)(`span`,{className:`rounded-full bg-surface-hover px-2 py-0.5`,children:i.sourceRead}):null,t[36]=n.access.read,t[37]=i.sourceRead,t[38]=E):E=t[38];let D;t[39]!==n.access.write||t[40]!==i.sourceWrite?(D=n.access.write?(0,W.jsx)(`span`,{className:`rounded-full bg-warning-soft px-2 py-0.5 text-fg`,children:i.sourceWrite}):null,t[39]=n.access.write,t[40]=i.sourceWrite,t[41]=D):D=t[41];let O;t[42]!==w||t[43]!==T||t[44]!==E||t[45]!==D?(O=(0,W.jsxs)(`div`,{className:`mt-3 flex flex-wrap gap-1.5 text-[11px] text-fg-subtle`,children:[w,T,E,D]}),t[42]=w,t[43]=T,t[44]=E,t[45]=D,t[46]=O):O=t[46];let k;t[47]!==u||t[48]!==r||t[49]!==n.derivedUnderstandingCount||t[50]!==n.installed||t[51]!==n.knowledgeItemCount||t[52]!==n.lastActivityAt||t[53]!==n.lastSyncAt||t[54]!==n.lastSyncError||t[55]!==n.lastSyncStatus||t[56]!==i.sourceDerivedCount||t[57]!==i.sourceKnowledgeCount||t[58]!==i.sourceLastSync||t[59]!==i.sourceLastUsed||t[60]!==i.sourceNeverUsed||t[61]!==i.sourceSyncFailed?(k=n.installed?(0,W.jsxs)(`div`,{className:`mt-3 space-y-1 border-t border-edge-subtle pt-3 text-xs text-fg-muted`,children:[u?(0,W.jsx)(`p`,{children:u}):null,(0,W.jsx)(`p`,{children:n.lastActivityAt?i.sourceLastUsed.replace(`{{time}}`,K(n.lastActivityAt,r)):i.sourceNeverUsed}),n.lastSyncAt?(0,W.jsx)(`p`,{children:i.sourceLastSync.replace(`{{time}}`,K(n.lastSyncAt,r))}):null,n.lastSyncStatus===`failed`&&n.lastSyncError?(0,W.jsx)(`p`,{className:`text-danger`,children:i.sourceSyncFailed.replace(`{{error}}`,n.lastSyncError)}):null,(0,W.jsx)(`p`,{children:i.sourceKnowledgeCount.replace(`{{count}}`,String(n.knowledgeItemCount))}),(0,W.jsx)(`p`,{children:i.sourceDerivedCount.replace(`{{count}}`,String(n.derivedUnderstandingCount))})]}):null,t[47]=u,t[48]=r,t[49]=n.derivedUnderstandingCount,t[50]=n.installed,t[51]=n.knowledgeItemCount,t[52]=n.lastActivityAt,t[53]=n.lastSyncAt,t[54]=n.lastSyncError,t[55]=n.lastSyncStatus,t[56]=i.sourceDerivedCount,t[57]=i.sourceKnowledgeCount,t[58]=i.sourceLastSync,t[59]=i.sourceLastUsed,t[60]=i.sourceNeverUsed,t[61]=i.sourceSyncFailed,t[62]=k):k=t[62];let A;t[63]!==s||t[64]!==n.installed||t[65]!==n.instanceId||t[66]!==i.disconnect?(A=n.installed&&n.instanceId?(0,W.jsx)(`div`,{className:`mt-3 flex justify-end border-t border-edge-subtle pt-3`,children:(0,W.jsx)(j,{type:`button`,variant:`ghost`,className:`h-8 px-2 text-danger hover:bg-danger-soft hover:text-danger`,onClick:e=>{e.stopPropagation(),s()},children:i.disconnect})}):null,t[63]=s,t[64]=n.installed,t[65]=n.instanceId,t[66]=i.disconnect,t[67]=A):A=t[67];let M;return t[68]!==a||t[69]!==C||t[70]!==O||t[71]!==d||t[72]!==k||t[73]!==A||t[74]!==f?(M=(0,W.jsxs)(`article`,{role:`button`,tabIndex:0,"aria-label":d,className:`cursor-pointer rounded-xl border border-edge-subtle bg-surface-panel p-4 transition-colors hover:border-accent/30 hover:bg-surface-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/40`,onClick:a,onKeyDown:f,children:[C,O,k,A]}),t[68]=a,t[69]=C,t[70]=O,t[71]=d,t[72]=k,t[73]=A,t[74]=f,t[75]=M):M=t[75],M}function De(e){let t=(0,H.c)(46),{suggestion:n,draft:r,busy:i,onDraftChange:a,onSave:s,onLater:c,t:l}=e,u;t[0]!==n||t[1]!==l.meetSuggestedTitle||t[2]!==l.meetTitle?(u=n?l.meetSuggestedTitle.replace(`{{name}}`,n.value):l.meetTitle,t[0]=n,t[1]=l.meetSuggestedTitle,t[2]=l.meetTitle,t[3]=u):u=t[3];let d;t[4]===u?d=t[5]:(d=(0,W.jsx)(`h2`,{className:`text-xl font-semibold tracking-tight text-fg`,children:u}),t[4]=u,t[5]=d);let f=n?l.meetSuggestedBody:l.meetBody,p;t[6]===f?p=t[7]:(p=(0,W.jsx)(`p`,{className:`mt-2 text-sm leading-6 text-fg-muted`,children:f}),t[6]=f,t[7]=p);let m;t[8]===l.callName?m=t[9]:(m=(0,W.jsx)(`label`,{className:`sr-only`,htmlFor:`you-call-name`,children:l.callName}),t[8]=l.callName,t[9]=m);let h;t[10]===a?h=t[11]:(h=e=>a(e.target.value),t[10]=a,t[11]=h);let g;t[12]!==i||t[13]!==r||t[14]!==s?(g=e=>{e.key===`Enter`&&r.trim()&&!i&&s()},t[12]=i,t[13]=r,t[14]=s,t[15]=g):g=t[15];let _=l.meetPlaceholder,v;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(v=o(xe,`h-10 flex-1 bg-surface-base/90`),t[16]=v):v=t[16];let y;t[17]!==r||t[18]!==l.meetPlaceholder||t[19]!==h||t[20]!==g?(y=(0,W.jsx)(`input`,{id:`you-call-name`,value:r,maxLength:80,autoFocus:!0,onChange:h,onKeyDown:g,placeholder:_,className:v}),t[17]=r,t[18]=l.meetPlaceholder,t[19]=h,t[20]=g,t[21]=y):y=t[21];let b;t[22]!==i||t[23]!==r?(b=i||!r.trim(),t[22]=i,t[23]=r,t[24]=b):b=t[24];let x=i?l.meetSaving:l.meetSave,S;t[25]!==s||t[26]!==b||t[27]!==x?(S=(0,W.jsx)(j,{type:`button`,variant:`primary`,className:`h-10 shrink-0`,disabled:b,onClick:s,children:x}),t[25]=s,t[26]=b,t[27]=x,t[28]=S):S=t[28];let w;t[29]!==y||t[30]!==S||t[31]!==m?(w=(0,W.jsxs)(`div`,{className:`mt-5 flex max-w-xl flex-col gap-2 sm:flex-row`,children:[m,y,S]}),t[29]=y,t[30]=S,t[31]=m,t[32]=w):w=t[32];let T;t[33]!==n||t[34]!==l.meetSource?(T=n?(0,W.jsxs)(`p`,{className:`mt-3 flex items-start gap-1.5 text-xs leading-5 text-fg-subtle`,children:[(0,W.jsx)(C,{className:`mt-0.5 size-3.5 shrink-0 text-accent`,"aria-hidden":!0}),(0,W.jsx)(`span`,{children:l.meetSource})]}):null,t[33]=n,t[34]=l.meetSource,t[35]=T):T=t[35];let E;t[36]!==i||t[37]!==c||t[38]!==l.meetLater?(E=(0,W.jsx)(`button`,{type:`button`,disabled:i,className:`mt-3 text-xs font-medium text-fg-muted hover:text-fg hover:underline disabled:opacity-60`,onClick:c,children:l.meetLater}),t[36]=i,t[37]=c,t[38]=l.meetLater,t[39]=E):E=t[39];let D;return t[40]!==w||t[41]!==T||t[42]!==E||t[43]!==d||t[44]!==p?(D=(0,W.jsx)(`section`,{className:`relative overflow-hidden rounded-2xl border border-accent/25 bg-gradient-to-br from-accent-soft/80 via-surface-panel to-surface-panel p-5 sm:p-6`,children:(0,W.jsxs)(`div`,{className:`relative max-w-2xl`,children:[d,p,w,T,E]})}),t[40]=w,t[41]=T,t[42]=E,t[43]=d,t[44]=p,t[45]=D):D=t[45],D}function Oe(){let e=l(e=>e.language),t=c(e).you,n=a(),[r,f]=i(),w=Se(r.get(`tab`)),ee=oe(e=>e.setPageHeader),re=oe(e=>e.clearPageHeader),{data:N,error:ie,isLoading:ae,mutate:I}=u(`/api/you`,O),[L,R]=(0,V.useState)(null),[z,de]=(0,V.useState)(null),[ge,H]=(0,V.useState)(!1),[U,_e]=(0,V.useState)(null),[ye,K]=(0,V.useState)(!1),[we,Oe]=(0,V.useState)(``),[ke,Ae]=(0,V.useState)(!1),[je,Me]=(0,V.useState)(null),[Ne,Pe]=(0,V.useState)(!1),[Fe,Ie]=(0,V.useState)(!1),[Le,Re]=(0,V.useState)(null),[ze,Be]=(0,V.useState)(null),[Ve,He]=(0,V.useState)(!1),[q,Ue]=(0,V.useState)(null),We=(0,V.useRef)(null),Ge=(0,V.useRef)(null),J=N?.profile??{callName:``,pronouns:``,timezone:``,notes:``},Y=(0,V.useMemo)(()=>N?.understanding.filter(e=>e.status===`active`)??[],[N]),X=(0,V.useMemo)(()=>N?.understanding.filter(e=>e.status!==`active`)??[],[N]),Ke=(0,V.useMemo)(()=>new Map(be.map(e=>[e,Y.filter(t=>t.facet===e)])),[Y]),Z=je??N?.controls??null,qe=N?.sources.filter(e=>e.installed&&e.enabled)??[],Je=qe.filter(e=>[`failed`,`unauthorized`,`degraded`,`not_configured`].includes(e.status)),Q=(e,t)=>{let n=new URLSearchParams(r);e===`overview`?n.delete(`tab`):n.set(`tab`,e),t?n.set(`status`,t):n.delete(`status`),f(n,{replace:!0})},Ye=e=>{let t=new URLSearchParams({connector:e.id});e.instanceId&&t.set(`instance`,e.instanceId),n(`/connectors?${t.toString()}`)};(0,V.useLayoutEffect)(()=>(ee({startExtra:null,main:(0,W.jsxs)(`div`,{className:`min-w-0`,children:[(0,W.jsx)(`h1`,{className:`truncate text-base font-semibold tracking-tight text-fg`,children:t.title}),(0,W.jsx)(`p`,{className:`truncate text-xs text-fg-muted`,children:t.subtitle})]}),end:null}),()=>re()),[re,ee,t.subtitle,t.title]),(0,V.useEffect)(()=>{!N||N.profile.callName||Oe(N.profileSetup.callNameSuggestion?.value??``)},[N,N?.profile.callName,N?.profileSetup.callNameSuggestion?.id]);async function $(e,n,r){R(e.id);try{let t=await b(e.id,{action:n,content:r});await I(r=>r&&{...r,understanding:n===`reject`?r.understanding.filter(t=>t.id!==e.id):r.understanding.map(n=>n.id===e.id?t:n)},{revalidate:!1}),I()}catch{B({type:`error`,title:t.title,message:t.saveError})}finally{R(null)}}async function Xe(r,i){R(`insight:${r.id}`);try{let t=await g(r.id,{action:i,uiLocale:e});await I(),i===`apply`&&t.href&&n(t.href)}catch{B({type:`error`,title:t.insightsTitle,message:t.saveError})}finally{R(null)}}async function Ze(e){R(`playbook:${e.id}`);try{await k(e.id,!e.enabled),await I()}catch{B({type:`error`,title:t.playbooksTitle,message:t.saveError})}finally{R(null)}}async function Qe(){if(z){R(z.id);try{await _(z.id);let e=z.id;de(null),await I(t=>t&&{...t,understanding:t.understanding.filter(t=>t.id!==e)},{revalidate:!1}),I()}catch{B({type:`error`,title:t.title,message:t.saveError})}finally{R(null)}}}async function $e(){if(U){K(!0);try{let e=await y(U);H(!1),_e(null),await I(t=>t&&{...t,...e},{revalidate:!1})}catch{B({type:`error`,title:t.title,message:t.saveError})}finally{K(!1)}}}async function et(){let e=we.trim();if(!(!e||ke)){Ae(!0);try{let t=await y({callName:e,timezone:J.timezone||ue()});await I(e=>e&&{...e,...t},{revalidate:!1})}catch{B({type:`error`,title:t.title,message:t.saveError})}finally{Ae(!1)}}}async function tt(){if(!ke){Ae(!0);try{let e=await M(`snooze`);await I(t=>t&&{...t,profileSetup:e.profileSetup},{revalidate:!1})}catch{B({type:`error`,title:t.title,message:t.saveError})}finally{Ae(!1)}}}function nt(){_e(J),H(!0),requestAnimationFrame(()=>We.current?.scrollIntoView({behavior:`smooth`,block:`center`}))}async function rt(){if(Z){Pe(!0);try{Me(await le(Z)),await I(),B({type:`success`,title:t.title,message:t.saved})}catch{B({type:`error`,title:t.title,message:t.saveError})}finally{Pe(!1)}}}async function it(e){if(!(Fe||e===N?.trust.defaultActionLevel)){Ie(!0);try{let t=await A(e);await I(e=>e&&{...e,trust:t},{revalidate:!1})}catch{B({type:`error`,title:t.trustTitle,message:t.saveError})}finally{Ie(!1),Re(null)}}}async function at(e){if(!(!ze?.instanceId||Ve)){He(!0);try{let n=await pe(ze.instanceId,e);Be(null),await I(),B({type:`success`,title:t.sourcesTitle,message:e?t.disconnectDeleted.replace(`{{count}}`,String(n.deletedUnderstandingCount)):t.disconnectSuccess})}catch{B({type:`error`,title:t.sourcesTitle,message:t.saveError})}finally{He(!1)}}}async function ot(){if(!q){Ue(`export`);try{let e=await p(),t=URL.createObjectURL(new Blob([JSON.stringify(e,null,2)],{type:`application/json`})),n=document.createElement(`a`);n.href=t,n.download=`xopc-about-you-${e.agentId}-${e.exportedAt.slice(0,10)}.json`,n.click(),URL.revokeObjectURL(t)}catch{B({type:`error`,title:t.transferTitle,message:t.saveError})}finally{Ue(null)}}}async function st(e){if(!(!e||q)){Ue(`import`);try{if(e.size>2*1024*1024)throw Error(`file too large`);let n=await D(JSON.parse(await e.text()));await I(),Q(`understanding`,`review`),B({type:`success`,title:t.transferTitle,message:t.importSuccess.replace(`{{count}}`,String(n.importedCount)).replace(`{{skipped}}`,String(n.skippedCount))})}catch{B({type:`error`,title:t.transferTitle,message:t.importError})}finally{Ge.current&&(Ge.current.value=``),Ue(null)}}}return(0,W.jsxs)(`main`,{className:`flex w-full flex-1 flex-col gap-5 px-3 py-6 sm:px-5 xl:px-6`,children:[(0,W.jsx)(me,{items:[{id:`overview`,label:t.tabs.overview,icon:fe},{id:`understanding`,label:t.tabs.understanding,icon:S,count:X.length||void 0},{id:`sources`,label:t.tabs.sources,icon:te},{id:`controls`,label:t.tabs.controls,icon:F}],activeTab:w,onChange:Q,ariaLabel:t.title,tabIdPrefix:`you-tab`,panelIdPrefix:`you-panel`}),ae?(0,W.jsx)(Ce,{}):ie||!N?(0,W.jsx)(`div`,{className:`rounded-2xl border border-danger/25 bg-danger-soft p-5 text-sm text-danger`,children:t.loadError}):null,N&&w===`overview`?(0,W.jsxs)(`div`,{id:`you-panel-overview`,role:`tabpanel`,"aria-labelledby":`you-tab-overview`,className:`space-y-4`,children:[!J.callName&&N.profileSetup.shouldPrompt?(0,W.jsx)(De,{suggestion:N.profileSetup.callNameSuggestion,draft:we,busy:ke,onDraftChange:Oe,onSave:()=>void et(),onLater:()=>void tt(),t}):null,X.length>0||Je.length>0||!J.callName?(0,W.jsxs)(`section`,{className:`rounded-2xl border border-warning/25 bg-warning-soft/35 p-5`,children:[(0,W.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:t.attentionTitle}),(0,W.jsxs)(`div`,{className:`mt-3 flex flex-wrap gap-2`,children:[X.length>0?(0,W.jsxs)(j,{type:`button`,variant:`secondary`,onClick:()=>Q(`understanding`,`review`),children:[G(t.reviewCount,X.length),(0,W.jsx)(m,{className:`size-4`,"aria-hidden":!0})]}):null,Je.length>0?(0,W.jsxs)(j,{type:`button`,variant:`secondary`,onClick:()=>Q(`sources`),children:[G(t.sourceIssues,Je.length),(0,W.jsx)(m,{className:`size-4`,"aria-hidden":!0})]}):null,J.callName?null:(0,W.jsxs)(j,{type:`button`,variant:`secondary`,onClick:nt,children:[t.completeProfile,(0,W.jsx)(m,{className:`size-4`,"aria-hidden":!0})]})]})]}):(0,W.jsxs)(`section`,{className:`rounded-2xl border border-success/20 bg-success-soft p-4 text-sm text-fg`,children:[(0,W.jsx)(s,{className:`mr-2 inline size-4 text-success`,"aria-hidden":!0}),t.upToDate]}),(0,W.jsxs)(`section`,{className:`rounded-2xl border border-accent/15 bg-gradient-to-br from-accent-soft/55 via-surface-panel to-surface-panel p-5`,children:[(0,W.jsx)(`h2`,{className:`text-lg font-semibold tracking-tight text-fg`,children:t.heroTitle}),(0,W.jsx)(`p`,{className:`mt-1 max-w-2xl text-sm leading-6 text-fg-muted`,children:t.heroBody}),(0,W.jsxs)(`div`,{className:`mt-4 grid gap-3 sm:grid-cols-3`,children:[(0,W.jsxs)(`button`,{type:`button`,className:`rounded-xl bg-surface-base/80 p-3 text-left`,onClick:()=>Q(`understanding`),children:[(0,W.jsx)(`span`,{className:`text-xl font-semibold text-fg`,children:Y.length}),(0,W.jsx)(`span`,{className:`mt-1 block text-xs text-fg-muted`,children:t.knownSummary})]}),(0,W.jsxs)(`button`,{type:`button`,className:`rounded-xl bg-surface-base/80 p-3 text-left`,onClick:()=>Q(`sources`),children:[(0,W.jsx)(`span`,{className:`text-xl font-semibold text-fg`,children:qe.length}),(0,W.jsx)(`span`,{className:`mt-1 block text-xs text-fg-muted`,children:t.connectedSources})]}),(0,W.jsxs)(`button`,{type:`button`,className:`rounded-xl bg-surface-base/80 p-3 text-left`,onClick:()=>Q(`controls`),children:[(0,W.jsx)(`span`,{className:`text-sm font-semibold text-fg`,children:t.trustLevels[N.trust.defaultActionLevel]}),(0,W.jsx)(`span`,{className:`mt-1 block text-xs text-fg-muted`,children:t.currentTrust})]})]})]}),N.insights.length>0?(0,W.jsxs)(`section`,{className:`rounded-2xl border border-accent/15 bg-surface-base p-5`,children:[(0,W.jsxs)(`h2`,{className:`flex items-center gap-2 text-sm font-semibold text-fg`,children:[(0,W.jsx)(T,{className:`size-4 text-accent`,"aria-hidden":!0}),t.insightsTitle]}),(0,W.jsx)(`p`,{className:`mt-1 text-xs text-fg-muted`,children:t.insightsHint}),(0,W.jsx)(`div`,{className:`mt-4 grid gap-3 lg:grid-cols-2`,children:N.insights.map(e=>(0,W.jsxs)(`article`,{className:`rounded-xl border border-edge-subtle bg-surface-panel p-4`,children:[(0,W.jsx)(`p`,{className:`text-sm leading-6 text-fg`,children:e.insight}),(0,W.jsx)(`p`,{className:`mt-2 text-xs text-fg-subtle`,children:e.evidenceCount>1?G(t.insightEvidence,e.evidenceCount):t.insightReason}),(0,W.jsxs)(`div`,{className:`mt-3 flex justify-end gap-2`,children:[(0,W.jsx)(j,{type:`button`,variant:`ghost`,className:`h-8 px-2`,disabled:L===`insight:${e.id}`,onClick:()=>void Xe(e,`dismiss`),children:t.notNow}),(0,W.jsx)(j,{type:`button`,variant:`primary`,className:`h-8 px-2`,disabled:L===`insight:${e.id}`,onClick:()=>void Xe(e,`apply`),children:t.insightActions[e.action]})]})]},e.id))})]}):null,(0,W.jsxs)(`div`,{className:`grid gap-4 lg:grid-cols-2`,children:[(0,W.jsxs)(`section`,{ref:We,id:`you-profile-card`,className:`rounded-2xl border border-edge-subtle bg-surface-base p-5`,children:[(0,W.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,W.jsxs)(`div`,{children:[(0,W.jsxs)(`h2`,{className:`flex items-center gap-2 text-sm font-semibold text-fg`,children:[(0,W.jsx)(ne,{className:`size-4 text-accent`,"aria-hidden":!0}),t.profileTitle]}),(0,W.jsx)(`p`,{className:`mt-1 text-xs text-fg-muted`,children:t.profileHint})]}),ge?null:(0,W.jsxs)(j,{type:`button`,variant:`ghost`,className:`h-8 px-2`,onClick:nt,children:[(0,W.jsx)(d,{className:`size-3.5`,"aria-hidden":!0}),t.edit]})]}),ge&&U?(0,W.jsxs)(`div`,{className:`mt-4`,children:[(0,W.jsx)(he,{value:U,onChange:_e,language:e,inputClassName:xe,labels:{callName:t.callName,callNamePlaceholder:t.meetPlaceholder,pronouns:t.pronouns,pronounsPlaceholder:t.pronounsPlaceholder,timezone:t.timezone,timezoneCustom:t.timezoneCustom,timezoneDetect:t.timezoneDetect,custom:t.custom,notes:t.notes,notesPlaceholder:t.notesPlaceholder}}),(0,W.jsxs)(`div`,{className:`mt-4 flex justify-end gap-2`,children:[(0,W.jsx)(j,{type:`button`,variant:`ghost`,onClick:()=>{H(!1),_e(null)},children:t.cancel}),(0,W.jsx)(j,{type:`button`,variant:`primary`,disabled:ye,onClick:()=>void $e(),children:ye?t.saving:t.save})]})]}):(0,W.jsxs)(`dl`,{className:`mt-4 grid gap-3 sm:grid-cols-2`,children:[(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`dt`,{className:`text-xs text-fg-subtle`,children:t.callName}),(0,W.jsx)(`dd`,{className:`mt-1 text-sm text-fg`,children:J.callName||`—`})]}),(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`dt`,{className:`text-xs text-fg-subtle`,children:t.timezone}),(0,W.jsx)(`dd`,{className:`mt-1 text-sm text-fg`,children:J.timezone||`—`})]}),(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`dt`,{className:`text-xs text-fg-subtle`,children:t.pronouns}),(0,W.jsx)(`dd`,{className:`mt-1 text-sm text-fg`,children:J.pronouns||`—`})]}),J.notes?(0,W.jsxs)(`div`,{className:`sm:col-span-2`,children:[(0,W.jsx)(`dt`,{className:`text-xs text-fg-subtle`,children:t.notes}),(0,W.jsx)(`dd`,{className:`mt-1 line-clamp-3 text-sm leading-6 text-fg`,children:J.notes})]}):null]})]}),(0,W.jsxs)(`section`,{className:`rounded-2xl border border-edge-subtle bg-surface-base p-5`,children:[(0,W.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,W.jsxs)(`div`,{children:[(0,W.jsxs)(`h2`,{className:`flex items-center gap-2 text-sm font-semibold text-fg`,children:[(0,W.jsx)(S,{className:`size-4 text-accent`,"aria-hidden":!0}),t.understandingTitle]}),(0,W.jsx)(`p`,{className:`mt-1 text-xs text-fg-muted`,children:t.understandingHint})]}),(0,W.jsx)(j,{type:`button`,variant:`ghost`,className:`h-8 px-2`,onClick:()=>Q(`understanding`),children:(0,W.jsx)(m,{className:`size-4`,"aria-hidden":!0})})]}),(0,W.jsxs)(`div`,{className:`mt-4 space-y-2`,children:[Y.slice(0,4).map(e=>(0,W.jsx)(`div`,{className:`rounded-lg bg-surface-panel px-3 py-2.5 text-sm leading-5 text-fg`,children:e.statement},e.id)),Y.length===0?(0,W.jsx)(`p`,{className:`py-5 text-center text-sm text-fg-muted`,children:t.emptyUnderstanding}):null]})]})]}),N.playbooks.length>0?(0,W.jsxs)(`section`,{className:`rounded-2xl border border-edge-subtle bg-surface-base p-5`,children:[(0,W.jsxs)(`h2`,{className:`flex items-center gap-2 text-sm font-semibold text-fg`,children:[(0,W.jsx)(x,{className:`size-4 text-accent`,"aria-hidden":!0}),t.playbooksTitle]}),(0,W.jsx)(`p`,{className:`mt-1 text-xs text-fg-muted`,children:t.playbooksHint}),(0,W.jsx)(`div`,{className:`mt-4 grid gap-3 lg:grid-cols-3`,children:N.playbooks.map(e=>(0,W.jsxs)(`article`,{className:o(`rounded-xl border p-4`,e.enabled?`border-edge-subtle bg-surface-panel`:`border-edge-subtle bg-surface-muted opacity-75`),children:[(0,W.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:t.playbookNames[e.id]}),(0,W.jsx)(`p`,{className:`mt-1 text-xs text-fg-muted`,children:G(t.playbookRuleCount,e.rules.length)})]}),(0,W.jsx)(`span`,{className:`rounded-full bg-surface-hover px-2 py-0.5 text-[11px]`,children:e.enabled?t.playbookActive:t.playbookPaused})]}),(0,W.jsx)(`ul`,{className:`mt-3 space-y-2`,children:e.rules.slice(0,4).map(e=>(0,W.jsxs)(`li`,{className:`text-xs leading-5 text-fg-muted`,children:[`• `,e.statement]},e.id))}),(0,W.jsx)(`div`,{className:`mt-3 flex justify-end`,children:(0,W.jsx)(j,{type:`button`,variant:`ghost`,className:`h-8 px-2`,disabled:L===`playbook:${e.id}`,onClick:()=>void Ze(e),children:e.enabled?t.pausePlaybook:t.resumePlaybook})})]},e.id))})]}):null]}):null,N&&w===`understanding`?(0,W.jsxs)(`div`,{id:`you-panel-understanding`,role:`tabpanel`,"aria-labelledby":`you-tab-understanding`,className:`space-y-6`,children:[(0,W.jsx)(`div`,{className:`rounded-xl bg-surface-muted px-4 py-3 text-xs text-fg-muted`,children:t.memoryScope.replace(`{{agent}}`,N.scope.agentId)}),X.length>0?(0,W.jsxs)(`section`,{children:[(0,W.jsx)(`h2`,{className:`text-base font-semibold text-fg`,children:t.reviewTitle}),(0,W.jsx)(`p`,{className:`mt-1 text-sm text-fg-muted`,children:t.reviewHint}),(0,W.jsx)(`div`,{className:`mt-3 grid gap-3 lg:grid-cols-2`,children:X.map(n=>(0,W.jsx)(Te,{item:n,language:e,t,busy:L===n.id,onConfirm:()=>void $(n,`confirm`),onReject:()=>void $(n,`reject`),onUpdate:e=>void $(n,`update`,e),onForget:()=>de(n)},n.id))})]}):Y.length>0?(0,W.jsxs)(`div`,{className:`rounded-2xl border border-success/20 bg-success-soft p-6 text-center`,children:[(0,W.jsx)(s,{className:`mx-auto size-5 text-success`,"aria-hidden":!0}),(0,W.jsx)(`h2`,{className:`mt-2 text-sm font-semibold text-fg`,children:t.nothingToReview}),(0,W.jsx)(`p`,{className:`mt-1 text-sm text-fg-muted`,children:t.nothingToReviewHint})]}):null,be.map(n=>{let r=Ke.get(n)??[];return r.length===0?null:(0,W.jsxs)(`section`,{children:[(0,W.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:t.facets[n]}),(0,W.jsx)(`div`,{className:`mt-3 grid gap-3 lg:grid-cols-2`,children:r.map(n=>(0,W.jsx)(Te,{item:n,language:e,t,busy:L===n.id,onConfirm:()=>void $(n,`confirm`),onReject:()=>void $(n,`reject`),onUpdate:e=>void $(n,`update`,e),onForget:()=>de(n)},n.id))})]},n)}),N.understanding.length===0?(0,W.jsx)(`div`,{className:`rounded-2xl border border-dashed border-edge p-10 text-center text-sm text-fg-muted`,children:t.emptyUnderstanding}):null]}):null,N&&w===`sources`?(0,W.jsxs)(`div`,{id:`you-panel-sources`,role:`tabpanel`,"aria-labelledby":`you-tab-sources`,className:`space-y-5`,children:[(0,W.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-3`,children:[(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`h2`,{className:`text-base font-semibold text-fg`,children:t.sourcesTitle}),(0,W.jsx)(`p`,{className:`mt-1 max-w-2xl text-sm text-fg-muted`,children:t.sourcesHint})]}),(0,W.jsxs)(j,{type:`button`,variant:`primary`,onClick:()=>n(`/connectors?tab=connected&personalContext=1`),children:[t.manageSources,(0,W.jsx)(m,{className:`size-4`,"aria-hidden":!0})]})]}),N.sourceRecommendations.length>0?(0,W.jsxs)(`section`,{className:`rounded-2xl border border-accent/20 bg-accent-soft/25 p-5`,children:[(0,W.jsxs)(`h2`,{className:`flex items-center gap-2 text-sm font-semibold text-fg`,children:[(0,W.jsx)(se,{className:`size-4 text-accent`,"aria-hidden":!0}),t.recommendationsTitle]}),(0,W.jsx)(`p`,{className:`mt-1 text-xs text-fg-muted`,children:t.recommendationsHint}),(0,W.jsx)(`div`,{className:`mt-3 grid gap-2 lg:grid-cols-3`,children:N.sourceRecommendations.map(e=>(0,W.jsxs)(`button`,{type:`button`,className:`rounded-xl border border-edge-subtle bg-surface-panel p-3 text-left hover:border-accent/30 hover:bg-surface-hover`,onClick:()=>Ye({id:e.sourceId}),children:[(0,W.jsx)(`span`,{className:`text-sm font-semibold text-fg`,children:e.sourceName}),(0,W.jsx)(`span`,{className:`mt-1 block text-xs leading-5 text-fg-muted`,children:t.recommendationReason.replace(`{{goal}}`,e.goalTitle)})]},e.sourceId))})]}):null,(0,W.jsx)(`div`,{className:`grid gap-3 sm:grid-cols-2 xl:grid-cols-3`,children:N.sources.map(n=>(0,W.jsx)(Ee,{source:n,language:e,t,onConfigure:()=>Ye(n),onDisconnect:()=>Be(n)},n.id))}),N.sources.length===0?(0,W.jsx)(`div`,{className:`rounded-2xl border border-dashed border-edge p-8 text-center text-sm text-fg-muted`,children:t.noSources}):null]}):null,N&&w===`controls`&&Z?(0,W.jsxs)(`div`,{id:`you-panel-controls`,role:`tabpanel`,"aria-labelledby":`you-tab-controls`,className:`space-y-6`,children:[(0,W.jsx)(`div`,{className:`rounded-xl bg-surface-muted px-4 py-3 text-xs leading-5 text-fg-muted`,children:t.scopeSummary.replace(`{{agent}}`,N.scope.agentId)}),(0,W.jsxs)(`div`,{className:`grid gap-6 xl:grid-cols-2`,children:[(0,W.jsxs)(`section`,{children:[(0,W.jsx)(`h2`,{className:`text-base font-semibold text-fg`,children:t.controlTitle}),(0,W.jsx)(`p`,{className:`mt-1 text-sm text-fg-muted`,children:t.controlHint}),(0,W.jsxs)(`div`,{className:`mt-4 space-y-3 rounded-2xl border border-edge-subtle bg-surface-base p-5`,children:[(0,W.jsxs)(`label`,{className:`grid gap-1.5 text-sm font-medium text-fg`,children:[t.learningMode,(0,W.jsx)(E,{value:Z.mode,onChange:e=>Me({...Z,mode:e.target.value}),children:Object.entries(t.learningModes).map(([e,t])=>(0,W.jsx)(h,{value:e,children:t},e))})]}),(0,W.jsxs)(`label`,{className:`grid gap-1.5 text-sm font-medium text-fg`,children:[t.sensitive,(0,W.jsx)(E,{value:Z.sensitiveWritePolicy,onChange:e=>Me({...Z,sensitiveWritePolicy:e.target.value}),children:Object.entries(t.sensitiveOptions).map(([e,t])=>(0,W.jsx)(h,{value:e,children:t},e))})]}),(0,W.jsxs)(`label`,{className:`grid gap-1.5 text-sm font-medium text-fg`,children:[t.sharing,(0,W.jsx)(E,{value:Z.crossAgentSharing,onChange:e=>Me({...Z,crossAgentSharing:e.target.value}),children:Object.entries(t.sharingOptions).map(([e,t])=>(0,W.jsx)(h,{value:e,children:t},e))})]}),(0,W.jsxs)(`div`,{className:`flex items-start gap-2 rounded-xl bg-accent-soft/40 p-3 text-xs leading-5 text-fg-muted`,children:[(0,W.jsx)(C,{className:`mt-0.5 size-4 shrink-0 text-accent`,"aria-hidden":!0}),(0,W.jsx)(`span`,{children:t.transientPromise})]}),(0,W.jsx)(`div`,{className:`flex justify-end pt-2`,children:(0,W.jsx)(j,{type:`button`,variant:`primary`,disabled:Ne,onClick:()=>void rt(),children:Ne?t.saving:t.save})})]})]}),(0,W.jsxs)(`section`,{children:[(0,W.jsx)(`h2`,{className:`text-base font-semibold text-fg`,children:t.trustTitle}),(0,W.jsx)(`p`,{className:`mt-1 text-sm text-fg-muted`,children:t.trustHint}),(0,W.jsx)(`div`,{className:`mt-4 grid gap-2 sm:grid-cols-2`,children:N.trust.levels.map(e=>(0,W.jsxs)(`button`,{type:`button`,"aria-pressed":e===N.trust.defaultActionLevel,disabled:Fe,onClick:()=>e===`auto`?Re(e):void it(e),className:o(`rounded-xl border p-3 text-left transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/40 disabled:opacity-70`,e===N.trust.defaultActionLevel?`border-accent/35 bg-accent-soft/35`:`border-edge-subtle bg-surface-panel hover:border-accent/25 hover:bg-surface-hover`),children:[(0,W.jsx)(`p`,{className:`text-xs font-semibold text-fg`,children:t.trustLevels[e]}),(0,W.jsx)(`p`,{className:`mt-1 text-xs leading-5 text-fg-muted`,children:t.trustLevelHints[e]}),e===N.trust.defaultActionLevel?(0,W.jsx)(`span`,{className:`mt-2 inline-block rounded-full bg-accent-soft px-2 py-0.5 text-[11px] text-accent-fg`,children:t.defaultTrust}):null]},e))}),(0,W.jsx)(`p`,{className:`mt-3 text-xs leading-5 text-fg-subtle`,children:t.autoOptInPromise})]})]}),(0,W.jsxs)(`section`,{className:`rounded-2xl border border-edge-subtle bg-surface-base p-5`,children:[(0,W.jsx)(`h2`,{className:`text-base font-semibold text-fg`,children:t.transferTitle}),(0,W.jsx)(`p`,{className:`mt-1 max-w-2xl text-sm leading-6 text-fg-muted`,children:t.transferHint}),(0,W.jsxs)(`div`,{className:`mt-4 flex flex-wrap gap-2`,children:[(0,W.jsxs)(j,{type:`button`,variant:`secondary`,disabled:q!==null,onClick:()=>void ot(),children:[(0,W.jsx)(P,{className:`size-4`,"aria-hidden":!0}),q===`export`?t.exporting:t.exportAction]}),(0,W.jsxs)(j,{type:`button`,variant:`secondary`,disabled:q!==null,onClick:()=>Ge.current?.click(),children:[(0,W.jsx)(ce,{className:`size-4`,"aria-hidden":!0}),q===`import`?t.importing:t.importAction]}),(0,W.jsx)(`input`,{ref:Ge,type:`file`,accept:`application/json,.json`,className:`sr-only`,onChange:e=>void st(e.target.files?.[0])})]}),(0,W.jsx)(`p`,{className:`mt-3 text-xs leading-5 text-fg-subtle`,children:t.importPromise})]})]}):null,(0,W.jsx)(v,{open:z!==null,title:t.forgetTitle,description:t.forgetBody,confirmLabel:t.forget,cancelLabel:t.cancel,destructive:!0,onConfirm:()=>void Qe(),onCancel:()=>de(null)}),(0,W.jsx)(v,{open:Le===`auto`,title:t.autoConfirmTitle,description:t.autoConfirmBody,confirmLabel:t.autoConfirmAction,cancelLabel:t.cancel,onConfirm:()=>void it(`auto`),onCancel:()=>Re(null)}),(0,W.jsx)(ve,{source:ze,language:e,busy:Ve,onOpenChange:e=>{e||Be(null)},onConfirm:e=>void at(e)})]})}export{Oe as UserContextPage};
@@ -0,0 +1 @@
1
+ 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"./cn-BQ_8x0bT.js";import{Do as a,Qt as ee,To as te,Uo as ne,en as o,tn as re}from"./index-I-ZCenVw.js";var ie=n(),ae=e(t(),1),s=r();function c(e){let t=(0,ie.c)(104),{value:n,onChange:r,labels:c,language:l,inputClassName:u}=e,d;t[0]===n.timezone?d=t[1]:(d=()=>o.some(e=>e.value===n.timezone)?``:n.timezone,t[0]=n.timezone,t[1]=d);let[f,p]=(0,ae.useState)(d),m;t[2]===n.timezone?m=t[3]:(m=()=>!!n.timezone&&!o.some(e=>e.value===n.timezone),t[2]=n.timezone,t[3]=m);let[h,g]=(0,ae.useState)(m),_;t[4]===n.pronouns?_=t[5]:(_=()=>!!n.pronouns&&!ee.some(e=>e.value===n.pronouns),t[4]=n.pronouns,t[5]=_);let[v,oe]=(0,ae.useState)(_),se;bb0:{if(h){se=`__custom__`;break bb0}se=o.some(e=>e.value===n.timezone)?n.timezone:`__custom__`}let ce=se,y;t[6]!==r||t[7]!==n?(y=e=>r({...n,...e}),t[6]=r,t[7]=n,t[8]=y):y=t[8];let b=y,x;t[9]===l?x=t[10]:(x=(e,t)=>l===`zh`?t:e,t[9]=l,t[10]=x);let S=x,C;t[11]===c.callName?C=t[12]:(C=(0,s.jsx)(`span`,{className:`font-medium text-fg`,children:c.callName}),t[11]=c.callName,t[12]=C);let w;t[13]===b?w=t[14]:(w=e=>b({callName:e.target.value}),t[13]=b,t[14]=w);let T;t[15]!==u||t[16]!==c.callNamePlaceholder||t[17]!==w||t[18]!==n.callName?(T=(0,s.jsx)(`input`,{className:u,value:n.callName,onChange:w,placeholder:c.callNamePlaceholder,autoComplete:`off`}),t[15]=u,t[16]=c.callNamePlaceholder,t[17]=w,t[18]=n.callName,t[19]=T):T=t[19];let E;t[20]!==C||t[21]!==T?(E=(0,s.jsxs)(`label`,{className:`flex flex-col gap-1.5 text-sm`,children:[C,T]}),t[20]=C,t[21]=T,t[22]=E):E=t[22];let D;t[23]===c.pronouns?D=t[24]:(D=(0,s.jsx)(`span`,{className:`font-medium text-fg`,children:c.pronouns}),t[23]=c.pronouns,t[24]=D);let O=v?`__custom__`:n.pronouns,k;t[25]!==b||t[26]!==n.pronouns?(k=e=>{if(e.target.value===`__custom__`){oe(!0),ee.some(e=>e.value===n.pronouns)&&b({pronouns:``});return}oe(!1),b({pronouns:e.target.value})},t[25]=b,t[26]=n.pronouns,t[27]=k):k=t[27];let A;t[28]===c.pronounsPlaceholder?A=t[29]:(A=(0,s.jsx)(a,{value:``,children:c.pronounsPlaceholder}),t[28]=c.pronounsPlaceholder,t[29]=A);let j;t[30]===S?j=t[31]:(j=ee.map(e=>(0,s.jsx)(a,{value:e.value,children:S(e.labelEn,e.labelZh)},e.value)),t[30]=S,t[31]=j);let M;t[32]===c.custom?M=t[33]:(M=(0,s.jsx)(a,{value:`__custom__`,children:c.custom}),t[32]=c.custom,t[33]=M);let N;t[34]!==u||t[35]!==O||t[36]!==k||t[37]!==A||t[38]!==j||t[39]!==M?(N=(0,s.jsxs)(te,{className:u,value:O,onChange:k,children:[A,j,M]}),t[34]=u,t[35]=O,t[36]=k,t[37]=A,t[38]=j,t[39]=M,t[40]=N):N=t[40];let P;t[41]!==u||t[42]!==c.pronounsPlaceholder||t[43]!==v||t[44]!==b||t[45]!==n.pronouns?(P=v?(0,s.jsx)(`input`,{className:i(u,`mt-1 text-xs`),value:n.pronouns,onChange:e=>b({pronouns:e.target.value}),placeholder:c.pronounsPlaceholder,autoComplete:`off`}):null,t[41]=u,t[42]=c.pronounsPlaceholder,t[43]=v,t[44]=b,t[45]=n.pronouns,t[46]=P):P=t[46];let F;t[47]!==D||t[48]!==N||t[49]!==P?(F=(0,s.jsxs)(`div`,{className:`flex flex-col gap-1.5 text-sm`,children:[D,N,P]}),t[47]=D,t[48]=N,t[49]=P,t[50]=F):F=t[50];let I;t[51]===c.timezone?I=t[52]:(I=(0,s.jsx)(`span`,{className:`font-medium text-fg`,children:c.timezone}),t[51]=c.timezone,t[52]=I);let L;t[53]===u?L=t[54]:(L=i(u,`min-w-0 flex-1`),t[53]=u,t[54]=L);let R;t[55]===b?R=t[56]:(R=e=>{if(e.target.value===`__custom__`){g(!0);return}g(!1),p(``),b({timezone:e.target.value})},t[55]=b,t[56]=R);let z;t[57]===S?z=t[58]:(z=o.map(e=>(0,s.jsx)(a,{value:e.value,children:S(e.labelEn,e.labelZh)},e.value)),t[57]=S,t[58]=z);let B;t[59]===c.timezoneCustom?B=t[60]:(B=(0,s.jsx)(a,{value:`__custom__`,children:c.timezoneCustom}),t[59]=c.timezoneCustom,t[60]=B);let V;t[61]!==L||t[62]!==R||t[63]!==z||t[64]!==B||t[65]!==ce?(V=(0,s.jsxs)(te,{className:L,value:ce,onChange:R,children:[z,B]}),t[61]=L,t[62]=R,t[63]=z,t[64]=B,t[65]=ce,t[66]=V):V=t[66];let H;t[67]===Symbol.for(`react.memo_cache_sentinel`)?(H=i(`shrink-0 rounded-lg border border-edge bg-surface-panel px-3 py-2 text-xs font-medium text-fg-muted hover:bg-surface-hover hover:text-fg`,ne.press),t[67]=H):H=t[67];let U;t[68]===b?U=t[69]:(U=()=>{let e=re();if(!e)return;let t=o.some(t=>t.value===e);g(!t),p(t?``:e),b({timezone:e})},t[68]=b,t[69]=U);let W;t[70]!==c.timezoneDetect||t[71]!==U?(W=(0,s.jsx)(`button`,{type:`button`,className:H,onClick:U,children:c.timezoneDetect}),t[70]=c.timezoneDetect,t[71]=U,t[72]=W):W=t[72];let G;t[73]!==V||t[74]!==W?(G=(0,s.jsxs)(`div`,{className:`flex flex-wrap items-stretch gap-2`,children:[V,W]}),t[73]=V,t[74]=W,t[75]=G):G=t[75];let K;t[76]!==f||t[77]!==u||t[78]!==h||t[79]!==b?(K=h?(0,s.jsx)(`input`,{className:i(u,`mt-1 font-mono text-xs`),value:f,onChange:e=>{p(e.target.value),b({timezone:e.target.value})},placeholder:`e.g. Asia/Shanghai`,autoComplete:`off`}):null,t[76]=f,t[77]=u,t[78]=h,t[79]=b,t[80]=K):K=t[80];let q;t[81]!==I||t[82]!==G||t[83]!==K?(q=(0,s.jsxs)(`div`,{className:`flex flex-col gap-1.5 text-sm sm:col-span-2`,children:[I,G,K]}),t[81]=I,t[82]=G,t[83]=K,t[84]=q):q=t[84];let J;t[85]===c.notes?J=t[86]:(J=(0,s.jsx)(`span`,{className:`font-medium text-fg`,children:c.notes}),t[85]=c.notes,t[86]=J);let Y;t[87]===u?Y=t[88]:(Y=i(u,`min-h-28 resize-y text-sm leading-relaxed`),t[87]=u,t[88]=Y);let X;t[89]===b?X=t[90]:(X=e=>b({notes:e.target.value}),t[89]=b,t[90]=X);let Z;t[91]!==c.notesPlaceholder||t[92]!==Y||t[93]!==X||t[94]!==n.notes?(Z=(0,s.jsx)(`textarea`,{className:Y,value:n.notes,onChange:X,placeholder:c.notesPlaceholder,rows:5,spellCheck:!0}),t[91]=c.notesPlaceholder,t[92]=Y,t[93]=X,t[94]=n.notes,t[95]=Z):Z=t[95];let Q;t[96]!==J||t[97]!==Z?(Q=(0,s.jsxs)(`label`,{className:`flex flex-col gap-1.5 text-sm sm:col-span-2`,children:[J,Z]}),t[96]=J,t[97]=Z,t[98]=Q):Q=t[98];let $;return t[99]!==E||t[100]!==F||t[101]!==q||t[102]!==Q?($=(0,s.jsxs)(`div`,{className:`grid gap-4 sm:grid-cols-2`,children:[E,F,q,Q]}),t[99]=E,t[100]=F,t[101]=q,t[102]=Q,t[103]=$):$=t[103],$}export{c as t};
@@ -1 +1 @@
1
- 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"./messages-CzKxM6I4.js";import{n as a}from"./locale-store-Ba72bFmP.js";import{Dc as o,Ms as s,Na as c,Tr as l,Wo as u,br as d,in as f,ml as p,on as m,tn as h}from"./index-VWvztcst.js";import{n as g,t as _}from"./settings-page-layout-BNJbtklV.js";import{n as v,t as y}from"./settings-form-section-Cqq7Y98y.js";import{t as b}from"./utils-Dx01V8qF.js";import{t as x}from"./user-profile-fields-editor-B1cxoGkh.js";var S=n(),C=e(t(),1),w=r(),T={callName:``,pronouns:``,timezone:``,notes:``};function E(e){if(e.timezone)return e;let t=h();return t?{...e,timezone:t}:e}function D(){let e=(0,S.c)(3),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,w.jsxs)(`div`,{className:`grid gap-2`,children:[(0,w.jsx)(c,{className:`h-4 w-24`}),(0,w.jsx)(c,{className:`h-10 rounded-lg`})]}),e[0]=t):t=e[0];let n;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,w.jsxs)(`div`,{className:`grid gap-2`,children:[(0,w.jsx)(c,{className:`h-4 w-24`}),(0,w.jsx)(c,{className:`h-10 rounded-lg`})]}),e[1]=n):n=e[1];let r;return e[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,w.jsxs)(`div`,{className:`grid gap-4 sm:grid-cols-2`,"aria-hidden":`true`,children:[t,n,(0,w.jsxs)(`div`,{className:`grid gap-2 sm:col-span-2`,children:[(0,w.jsx)(c,{className:`h-4 w-28`}),(0,w.jsx)(c,{className:`h-28 rounded-lg`})]})]}),e[2]=r):r=e[2],r}function O(){let e=a(e=>e.language),t=i(e).userProfileSettings,n=b(),[r,c]=(0,C.useState)(T),[h,S]=(0,C.useState)(JSON.stringify(T)),[O,k]=(0,C.useState)(!0),[A,j]=(0,C.useState)(!1),[M,N]=(0,C.useState)(!1),[P,F]=(0,C.useState)(null);(0,C.useEffect)(()=>{let e=!1;return k(!0),F(null),d().then(t=>{if(e)return;let n=E(f(t));c(n),S(JSON.stringify(n))}).catch(n=>{e||F(n instanceof Error?n.message:t.loadError)}).finally(()=>{e||k(!1)}),()=>{e=!0}},[t.loadError]);let I=JSON.stringify(r)!==h;async function L(){j(!0),F(null);try{await l(m(r)),S(JSON.stringify(r)),N(!0)}catch(e){F(e instanceof Error?e.message:t.saveError)}finally{j(!1)}}return(0,w.jsxs)(_,{gap:`gap-6`,children:[(0,w.jsx)(g,{title:t.title,subtitle:t.subtitle,actions:(0,w.jsxs)(u,{type:`button`,variant:`primary`,disabled:O||A||!I,onClick:()=>void L(),children:[(0,w.jsx)(s,{className:`size-4`,"aria-hidden":!0}),A?t.saving:M?t.saved:t.save]})}),(0,w.jsxs)(y,{children:[(0,w.jsx)(v,{icon:p,title:t.sectionTitle,subtitle:t.sectionSubtitle}),O?(0,w.jsx)(D,{}):(0,w.jsx)(x,{value:r,onChange:e=>{c(e),N(!1)},labels:t,language:e,inputClassName:n}),(0,w.jsxs)(`div`,{className:`mt-4 flex items-start gap-2 rounded-lg bg-accent-soft/30 px-3 py-2.5 text-xs text-fg-muted`,children:[(0,w.jsx)(o,{className:`mt-0.5 size-3.5 shrink-0 text-accent`,"aria-hidden":!0}),(0,w.jsx)(`span`,{children:t.note})]}),P?(0,w.jsx)(`p`,{className:`mt-3 text-sm text-danger`,children:P}):null]})]})}export{O as UserProfileSettingsPanel};
1
+ 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"./messages-Cb1VMeqP.js";import{n as a}from"./locale-store-CiM-D9jA.js";import{Ba as o,Dr as s,Ls as c,Mc as l,Mr as u,Yo as d,in as f,on as p,tn as m,yl as h}from"./index-I-ZCenVw.js";import{n as g,t as _}from"./settings-page-layout-DqpbTWqI.js";import{n as v,t as y}from"./settings-form-section-CwWjoRN6.js";import{t as b}from"./utils-D53uRXVr.js";import{t as x}from"./user-profile-fields-editor-CWxc0ghP.js";var S=n(),C=e(t(),1),w=r(),T={callName:``,pronouns:``,timezone:``,notes:``};function E(e){if(e.timezone)return e;let t=m();return t?{...e,timezone:t}:e}function D(){let e=(0,S.c)(3),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,w.jsxs)(`div`,{className:`grid gap-2`,children:[(0,w.jsx)(o,{className:`h-4 w-24`}),(0,w.jsx)(o,{className:`h-10 rounded-lg`})]}),e[0]=t):t=e[0];let n;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,w.jsxs)(`div`,{className:`grid gap-2`,children:[(0,w.jsx)(o,{className:`h-4 w-24`}),(0,w.jsx)(o,{className:`h-10 rounded-lg`})]}),e[1]=n):n=e[1];let r;return e[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,w.jsxs)(`div`,{className:`grid gap-4 sm:grid-cols-2`,"aria-hidden":`true`,children:[t,n,(0,w.jsxs)(`div`,{className:`grid gap-2 sm:col-span-2`,children:[(0,w.jsx)(o,{className:`h-4 w-28`}),(0,w.jsx)(o,{className:`h-28 rounded-lg`})]})]}),e[2]=r):r=e[2],r}function O(){let e=a(e=>e.language),t=i(e).userProfileSettings,n=b(),[r,o]=(0,C.useState)(T),[m,S]=(0,C.useState)(JSON.stringify(T)),[O,k]=(0,C.useState)(!0),[A,j]=(0,C.useState)(!1),[M,N]=(0,C.useState)(!1),[P,F]=(0,C.useState)(null);(0,C.useEffect)(()=>{let e=!1;return k(!0),F(null),s().then(t=>{if(e)return;let n=E(f(t));o(n),S(JSON.stringify(n))}).catch(n=>{e||F(n instanceof Error?n.message:t.loadError)}).finally(()=>{e||k(!1)}),()=>{e=!0}},[t.loadError]);let I=JSON.stringify(r)!==m;async function L(){j(!0),F(null);try{await u(p(r)),S(JSON.stringify(r)),N(!0)}catch(e){F(e instanceof Error?e.message:t.saveError)}finally{j(!1)}}return(0,w.jsxs)(_,{gap:`gap-6`,children:[(0,w.jsx)(g,{title:t.title,subtitle:t.subtitle,actions:(0,w.jsxs)(d,{type:`button`,variant:`primary`,disabled:O||A||!I,onClick:()=>void L(),children:[(0,w.jsx)(c,{className:`size-4`,"aria-hidden":!0}),A?t.saving:M?t.saved:t.save]})}),(0,w.jsxs)(y,{children:[(0,w.jsx)(v,{icon:h,title:t.sectionTitle,subtitle:t.sectionSubtitle}),O?(0,w.jsx)(D,{}):(0,w.jsx)(x,{value:r,onChange:e=>{o(e),N(!1)},labels:t,language:e,inputClassName:n}),(0,w.jsxs)(`div`,{className:`mt-4 flex items-start gap-2 rounded-lg bg-accent-soft/30 px-3 py-2.5 text-xs text-fg-muted`,children:[(0,w.jsx)(l,{className:`mt-0.5 size-3.5 shrink-0 text-accent`,"aria-hidden":!0}),(0,w.jsx)(`span`,{children:t.note})]}),P?(0,w.jsx)(`p`,{className:`mt-3 text-sm text-danger`,children:P}):null]})]})}export{O as UserProfileSettingsPanel};
@@ -1 +1 @@
1
- import{t as e}from"./cn-BQ_8x0bT.js";import{Uo as t}from"./index-VWvztcst.js";function n(){return e(`w-full rounded-lg border border-edge bg-surface-panel px-3 py-2 text-sm text-fg`,`placeholder:text-fg-subtle`,t,`dark:border-edge`)}function r(e){return[e.channel,e.accountId,e.peerKind,e.peerId].filter(e=>typeof e==`string`&&e.length>0).join(` · `)||e.channel}function i(e,t,n,r){let i=e.trim(),a=t.trim();if(a)return{channel:i,peerId:a};if(n!=null){let e=r[n];if(!e)return{channel:i};let t={channel:i};e.accountId?.trim()&&(t.accountId=e.accountId.trim()),e.peerKind?.trim()&&(t.peerKind=e.peerKind.trim());let a=e.peerId?.trim()||e.chatId?.trim();return a&&(t.peerId=a),t}return{channel:i}}export{i as n,r,n as t};
1
+ import{t as e}from"./cn-BQ_8x0bT.js";import{Jo as t}from"./index-I-ZCenVw.js";function n(){return e(`w-full rounded-lg border border-edge bg-surface-panel px-3 py-2 text-sm text-fg`,`placeholder:text-fg-subtle`,t,`dark:border-edge`)}function r(e){return[e.channel,e.accountId,e.peerKind,e.peerId].filter(e=>typeof e==`string`&&e.length>0).join(` · `)||e.channel}function i(e,t,n,r){let i=e.trim(),a=t.trim();if(a)return{channel:i,peerId:a};if(n!=null){let e=r[n];if(!e)return{channel:i};let t={channel:i};e.accountId?.trim()&&(t.accountId=e.accountId.trim()),e.peerKind?.trim()&&(t.peerKind=e.peerKind.trim());let a=e.peerId?.trim()||e.chatId?.trim();return a&&(t.peerId=a),t}return{channel:i}}export{i as n,r,n as t};