@xopcai/xopc 0.0.180 → 0.0.187

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 (762) hide show
  1. package/README.md +1 -1
  2. package/README.zh-CN.md +1 -1
  3. package/dist/browser-ext/manifest.json +1 -1
  4. package/dist/extensions/telegram/xopc.extension.json +1 -1
  5. package/dist/gateway/static/root/assets/{activity-store-DFKtQDgE.js → activity-store-WlR2zEvA.js} +1 -1
  6. package/dist/gateway/static/root/assets/{agent-avatar-dicebear-CcTvB_4W.js → agent-avatar-dicebear-RedDszrG.js} +1 -1
  7. package/dist/gateway/static/root/assets/agents-Df9mTa-K.js +2 -0
  8. package/dist/gateway/static/root/assets/{api-CUClAvuL.js → api-tVOllncq.js} +1 -1
  9. package/dist/gateway/static/root/assets/{app-management-settings-panel-Ib-cWKHM.js → app-management-settings-panel-C9hKBzaF.js} +1 -1
  10. package/dist/gateway/static/root/assets/{appearance-settings-CRSN8WuA.js → appearance-settings-5cQvq7hd.js} +1 -1
  11. package/dist/gateway/static/root/assets/apps-page-Bd3tN-k2.js +1 -0
  12. package/dist/gateway/static/root/assets/{archive-plugin-BBF9zspN.js → archive-plugin-Ct-shK4n.js} +1 -1
  13. package/dist/gateway/static/root/assets/{attachment-load-D3QQfA7w.js → attachment-load-CpPj3m-q.js} +1 -1
  14. package/dist/gateway/static/root/assets/automations-page-w6K9GZQ7.js +6 -0
  15. package/dist/gateway/static/root/assets/{binary-plugins-D78XOjJ3.js → binary-plugins-BpSXZBle.js} +1 -1
  16. package/dist/gateway/static/root/assets/{block-editor-D_VVXlYX.js → block-editor-B8hR2tXc.js} +46 -46
  17. package/dist/gateway/static/root/assets/browser-settings-page-jb5Hf-hm.js +8 -0
  18. package/dist/gateway/static/root/assets/browser-workflow-inputs-D_LAXUrh.js +1 -0
  19. package/dist/gateway/static/root/assets/{browser-workflows-page-58DBMXgG.js → browser-workflows-page-CPAs7-6s.js} +2 -2
  20. package/dist/gateway/static/root/assets/capabilities-settings-panel-BjUe4raq.js +7 -0
  21. package/dist/gateway/static/root/assets/capability-presets-api-CKklVY2p.js +1 -0
  22. package/dist/gateway/static/root/assets/capability-presets-settings-panel-DiWIMYRr.js +1 -0
  23. package/dist/gateway/static/root/assets/{channel-recipient-api-DYtoNV5A.js → channel-recipient-api-WWN-nbFL.js} +1 -1
  24. package/dist/gateway/static/root/assets/channels-settings-D8IkjMuX.js +1 -0
  25. package/dist/gateway/static/root/assets/channels-status-swr-CySs1GQX.js +1 -0
  26. package/dist/gateway/static/root/assets/{connector-logo-CxIXnifA.js → connector-logo-CdNkVFdB.js} +1 -1
  27. package/dist/gateway/static/root/assets/connectors-page-BT2ahw52.js +2 -0
  28. package/dist/gateway/static/root/assets/desktop-pet-Bm_IEAf3.js +1 -0
  29. package/dist/gateway/static/root/assets/{desktop-pet-settings-BOIp4q0Z.js → desktop-pet-settings-C0Ve04-G.js} +1 -1
  30. package/dist/gateway/static/root/assets/{directory-picker-path-field-C8_lsW6S.js → directory-picker-path-field-B2cvhvAI.js} +1 -1
  31. package/dist/gateway/static/root/assets/{extension-debug-page-CMNnSJP6.js → extension-debug-page-DNashgGu.js} +1 -1
  32. package/dist/gateway/static/root/assets/{extension-page-t0pJqLvM.js → extension-page-Bvo-5htX.js} +1 -1
  33. package/dist/gateway/static/root/assets/{extension-settings-page-aiR-tKnW.js → extension-settings-page-BBESdISV.js} +1 -1
  34. package/dist/gateway/static/root/assets/{gateway-config-api-CkyQBD6r.js → gateway-config-api-ClQvokMo.js} +1 -1
  35. package/dist/gateway/static/root/assets/{gateway-settings-BIZfAgfB.js → gateway-settings-CIRs2QVy.js} +1 -1
  36. package/dist/gateway/static/root/assets/{gateway-startup-retry-CSU7UvzG.js → gateway-startup-retry-CntXJF6W.js} +1 -1
  37. package/dist/gateway/static/root/assets/heartbeat-settings-CWKcZuvc.js +1 -0
  38. package/dist/gateway/static/root/assets/home-page-C59f8UJw.js +3 -0
  39. package/dist/gateway/static/root/assets/{image-generation-api-BR6Kb77X.js → image-generation-api-DjSAQwGy.js} +1 -1
  40. package/dist/gateway/static/root/assets/index-D-YfWVyS.css +1 -0
  41. package/dist/gateway/static/root/assets/index-vi5KlR5_.js +222 -0
  42. package/dist/gateway/static/root/assets/{keyboard-shortcuts-settings-D76uYKeQ.js → keyboard-shortcuts-settings-ahKHpjoW.js} +1 -1
  43. package/dist/gateway/static/root/assets/local-app-workbench-page-DRB4UQBE.js +2 -0
  44. package/dist/gateway/static/root/assets/{local-apps-page-BsLnojTh.js → local-apps-page-B6GKdgza.js} +1 -1
  45. package/dist/gateway/static/root/assets/{locale-store-BNC8HUCI.js → locale-store-Bff30u5V.js} +1 -1
  46. package/dist/gateway/static/root/assets/logs-page-CNp4XiBN.js +7 -0
  47. package/dist/gateway/static/root/assets/{markdown-split-D6smTQWD.js → markdown-split-BeNMJm_i.js} +1 -1
  48. package/dist/gateway/static/root/assets/{media-plugins-D1TmMF0A.js → media-plugins-Bdzrj_-6.js} +1 -1
  49. package/dist/gateway/static/root/assets/messages-CPxz48hr.js +3 -0
  50. package/dist/gateway/static/root/assets/{notes-page-Vt-diFf0.js → notes-page-MYIi-9S9.js} +1 -1
  51. package/dist/gateway/static/root/assets/notes-workbench-DqSkeDXX.js +4 -0
  52. package/dist/gateway/static/root/assets/{page-tabs-BnSzIjH0.js → page-tabs-3t88bbGx.js} +1 -1
  53. package/dist/gateway/static/root/assets/{preview-open-alternatives-CF12Eqi4.js → preview-open-alternatives-Cf_BWbeE.js} +1 -1
  54. package/dist/gateway/static/root/assets/product-delivery-C8JbSj5Y.js +1 -0
  55. package/dist/gateway/static/root/assets/{product-open-page-Du0TE_CU.js → product-open-page-CKq73c98.js} +1 -1
  56. package/dist/gateway/static/root/assets/project-detail-page-BrbHs4Wp.js +1 -0
  57. package/dist/gateway/static/root/assets/projects-page-B80rtkj6.js +1 -0
  58. package/dist/gateway/static/root/assets/remote-access-hub-_Q3GEznb.js +1 -0
  59. package/dist/gateway/static/root/assets/{schema-form-BKvpxqof.js → schema-form-NqOm-OG1.js} +1 -1
  60. package/dist/gateway/static/root/assets/sessions-page-55dJOUVg.js +1 -0
  61. package/dist/gateway/static/root/assets/settings-advanced-gate-CSFCZj14.js +1 -0
  62. package/dist/gateway/static/root/assets/{settings-form-section-kt6GIS32.js → settings-form-section-DYAS8p8z.js} +1 -1
  63. package/dist/gateway/static/root/assets/{settings-loading-skeleton-85eUPcKz.js → settings-loading-skeleton-DZFhxihA.js} +1 -1
  64. package/dist/gateway/static/root/assets/settings-page-BSIiMLi-.js +1 -0
  65. package/dist/gateway/static/root/assets/{settings-page-layout-CkkCee_x.js → settings-page-layout-DfFfkdED.js} +1 -1
  66. package/dist/gateway/static/root/assets/setup-status-panel-q_yE6-H1.js +1 -0
  67. package/dist/gateway/static/root/assets/{share-preview-page-BtLEstaI.js → share-preview-page-CYtrQaZN.js} +1 -1
  68. package/dist/gateway/static/root/assets/shares-settings-gYkRX9Ik.js +1 -0
  69. package/dist/gateway/static/root/assets/skill-reload-api-BoNBMKW6.js +1 -0
  70. package/dist/gateway/static/root/assets/skills-page-GZHKDFSb.js +2 -0
  71. package/dist/gateway/static/root/assets/{skills-page.utils-C2SHvq8V.js → skills-page.utils-BBXirAjc.js} +1 -1
  72. package/dist/gateway/static/root/assets/system-settings-panel-DLf5YvFl.js +1 -0
  73. package/dist/gateway/static/root/assets/task-detail-page-DFGkuYfl.js +1 -0
  74. package/dist/gateway/static/root/assets/{theme-store-ClDa_Bci.js → theme-store-y7e_tvYi.js} +1 -1
  75. package/dist/gateway/static/root/assets/time-picker-5sHEZ5w5.js +1 -0
  76. package/dist/gateway/static/root/assets/{typed-models-lib-GsmwmB40.js → typed-models-lib-DR12j_dr.js} +1 -1
  77. package/dist/gateway/static/root/assets/use-save-bar-registration-BsvcJgZl.js +1 -0
  78. package/dist/gateway/static/root/assets/user-context-page-q5dr8JFG.js +1 -0
  79. package/dist/gateway/static/root/assets/{voice-api-key-field-Blaxsbb3.js → voice-api-key-field-DKADXFWD.js} +1 -1
  80. package/dist/gateway/static/root/assets/work-discovery-overlay-BC1nExf8.js +1 -0
  81. package/dist/gateway/static/root/assets/work-discovery-page-fNvSg40M.js +1 -0
  82. package/dist/gateway/static/root/assets/{workflow-run-setup-panel-CTG4RpRE.js → workflow-run-setup-panel-C8X5W-8k.js} +2 -2
  83. package/dist/gateway/static/root/assets/workflows-page-YJBKmPYK.js +11 -0
  84. package/dist/gateway/static/root/index.html +8 -8
  85. package/dist/package.js +1 -1
  86. package/dist/packages/gateway-contract/src/product-delivery.js +1 -3
  87. package/dist/packages/gateway-contract/src/project-monitoring.js +31 -0
  88. package/dist/packages/gateway-contract/src/task-lifecycle.js +67 -0
  89. package/dist/packages/gateway-contract/src/task-runs.js +80 -0
  90. package/dist/packages/gateway-contract/src/tasks.js +353 -0
  91. package/dist/src/activity/types.d.ts +2 -2
  92. package/dist/src/agent/agent-instance-gateway.d.ts +1 -1
  93. package/dist/src/agent/agent-manager.d.ts +3 -3
  94. package/dist/src/agent/agent-manager.js +23 -22
  95. package/dist/src/agent/bootstrap/filter-bootstrap-files.js +1 -1
  96. package/dist/src/agent/child-agent-factory.d.ts +1 -2
  97. package/dist/src/agent/child-agent-factory.js +4 -10
  98. package/dist/src/agent/context/execution-scope.d.ts +2 -2
  99. package/dist/src/agent/context/execution-scope.js +17 -20
  100. package/dist/src/agent/context/project-context.d.ts +6 -2
  101. package/dist/src/agent/context/project-context.js +17 -25
  102. package/dist/src/agent/context/workspace-templates/AGENTS.md +1 -1
  103. package/dist/src/agent/embedded/model-runtime.js +1 -1
  104. package/dist/src/agent/embedded/run-turn.js +2 -0
  105. package/dist/src/agent/embedded/session-tool-result-guard.d.ts +2 -0
  106. package/dist/src/agent/embedded/session-tool-result-guard.js +16 -4
  107. package/dist/src/agent/image/tool-model-config.js +1 -1
  108. package/dist/src/agent/inbound/inbound-loop.js +1 -1
  109. package/dist/src/agent/inbound/turn-dispatcher.js +1 -1
  110. package/dist/src/agent/ipc/inbox.js +1 -1
  111. package/dist/src/agent/lifecycle/progress.js +0 -1
  112. package/dist/src/agent/mcp/bundle-mcp-policy.d.ts +3 -5
  113. package/dist/src/agent/mcp/bundle-mcp-policy.js +8 -5
  114. package/dist/src/agent/mcp/index.js +2 -2
  115. package/dist/src/agent/mcp/resolve-embedded-mcp-tools.js +5 -6
  116. package/dist/src/agent/memory/builtin-provider.d.ts +1 -5
  117. package/dist/src/agent/memory/builtin-provider.js +75 -229
  118. package/dist/src/agent/memory/compaction.js +1 -1
  119. package/dist/src/agent/memory/context/planner.d.ts +3 -0
  120. package/dist/src/agent/memory/context/planner.js +32 -11
  121. package/dist/src/agent/memory/context/types.d.ts +6 -0
  122. package/dist/src/agent/memory/create-memory-manager.d.ts +1 -2
  123. package/dist/src/agent/memory/create-memory-manager.js +4 -4
  124. package/dist/src/agent/memory/dreaming/config.d.ts +16 -13
  125. package/dist/src/agent/memory/dreaming/config.js +47 -40
  126. package/dist/src/agent/memory/dreaming/constants.d.ts +5 -22
  127. package/dist/src/agent/memory/dreaming/constants.js +6 -24
  128. package/dist/src/agent/memory/dreaming/deep-promotion.d.ts +4 -11
  129. package/dist/src/agent/memory/dreaming/deep-promotion.js +126 -279
  130. package/dist/src/agent/memory/dreaming/light-sweep.d.ts +5 -2
  131. package/dist/src/agent/memory/dreaming/light-sweep.js +79 -197
  132. package/dist/src/agent/memory/dreaming/preview.d.ts +3 -9
  133. package/dist/src/agent/memory/dreaming/preview.js +34 -77
  134. package/dist/src/agent/memory/dreaming/promotion-lifecycle.d.ts +1 -15
  135. package/dist/src/agent/memory/dreaming/promotion-lifecycle.js +3 -42
  136. package/dist/src/agent/memory/dreaming/rem-patterns.d.ts +7 -13
  137. package/dist/src/agent/memory/dreaming/rem-patterns.js +104 -261
  138. package/dist/src/agent/memory/dreaming/runner.d.ts +10 -0
  139. package/dist/src/agent/memory/dreaming/runner.js +78 -0
  140. package/dist/src/agent/memory/dreaming/schedule.d.ts +23 -0
  141. package/dist/src/agent/memory/dreaming/schedule.js +38 -0
  142. package/dist/src/agent/memory/dreaming/scope.d.ts +2 -4
  143. package/dist/src/agent/memory/dreaming/scope.js +21 -13
  144. package/dist/src/agent/memory/dreaming/utils.d.ts +2 -51
  145. package/dist/src/agent/memory/dreaming/utils.js +4 -112
  146. package/dist/src/agent/memory/index.d.ts +1 -3
  147. package/dist/src/agent/memory/index.js +2 -3
  148. package/dist/src/agent/memory/manager.d.ts +1 -5
  149. package/dist/src/agent/memory/manager.js +1 -27
  150. package/dist/src/agent/memory/memory-config.d.ts +1 -6
  151. package/dist/src/agent/memory/memory-config.js +2 -23
  152. package/dist/src/agent/memory/summary-generator.d.ts +1 -1
  153. package/dist/src/agent/memory/types.d.ts +5 -48
  154. package/dist/src/agent/memory/understanding/service.js +1 -2
  155. package/dist/src/agent/memory/user-context-coordinator.d.ts +2 -1
  156. package/dist/src/agent/memory/user-context-coordinator.js +32 -14
  157. package/dist/src/agent/messaging/command-handler.d.ts +1 -9
  158. package/dist/src/agent/messaging/command-handler.js +0 -8
  159. package/dist/src/agent/messaging/outbound-coordinator.d.ts +5 -14
  160. package/dist/src/agent/messaging/outbound-coordinator.js +4 -9
  161. package/dist/src/agent/middleware/index.d.ts +1 -1
  162. package/dist/src/agent/middleware/self-verify.d.ts +2 -2
  163. package/dist/src/agent/middleware/self-verify.js +7 -7
  164. package/dist/src/agent/orchestration/agent-orchestrator.js +16 -66
  165. package/dist/src/agent/prompt/response-language.d.ts +3 -0
  166. package/dist/src/agent/prompt/response-language.js +11 -0
  167. package/dist/src/agent/prompt/sections/behavior.js +2 -2
  168. package/dist/src/agent/prompt/sections/memory-skills.js +10 -13
  169. package/dist/src/agent/prompt/sections/response-language.d.ts +2 -0
  170. package/dist/src/agent/prompt/sections/response-language.js +13 -0
  171. package/dist/src/agent/prompt/sections/tooling.js +0 -2
  172. package/dist/src/agent/prompt/service-prompt-builder.d.ts +1 -1
  173. package/dist/src/agent/prompt/service-prompt-builder.js +6 -29
  174. package/dist/src/agent/prompt/subagent-context.d.ts +2 -0
  175. package/dist/src/agent/prompt/subagent-context.js +1 -0
  176. package/dist/src/agent/prompt/system-prompt.d.ts +3 -0
  177. package/dist/src/agent/prompt/system-prompt.js +10 -2
  178. package/dist/src/agent/service/direct-turn-helpers.d.ts +2 -2
  179. package/dist/src/agent/service/direct-turn-helpers.js +8 -5
  180. package/dist/src/agent/service/process-direct-streaming.d.ts +2 -2
  181. package/dist/src/agent/service/process-direct-streaming.js +2 -2
  182. package/dist/src/agent/service.d.ts +6 -9
  183. package/dist/src/agent/service.js +31 -25
  184. package/dist/src/agent/service.types.d.ts +2 -15
  185. package/dist/src/agent/session/index.d.ts +1 -1
  186. package/dist/src/agent/session/session-config-service.d.ts +1 -0
  187. package/dist/src/agent/session/session-config-service.js +14 -0
  188. package/dist/src/agent/session/session-inspector.js +1 -1
  189. package/dist/src/agent/session/session-state-bag.d.ts +8 -8
  190. package/dist/src/agent/session/session-state-bag.js +10 -10
  191. package/dist/src/agent/skills/hub-lock.js +1 -1
  192. package/dist/src/agent/source-context/types.d.ts +1 -1
  193. package/dist/src/agent/source-context/types.js +1 -1
  194. package/dist/src/agent/starter-agents.js +1 -1
  195. package/dist/src/agent/{outcomes → tasks}/execution-verifier.d.ts +3 -0
  196. package/dist/src/agent/{outcomes → tasks}/execution-verifier.js +3 -2
  197. package/dist/src/agent/tasks/task-judge-service.d.ts +31 -0
  198. package/dist/src/agent/tasks/task-judge-service.js +183 -0
  199. package/dist/src/agent/tool-manuals/index.js +1 -1
  200. package/dist/src/agent/tool-manuals/xopc-use.d.ts +1 -1
  201. package/dist/src/agent/tool-manuals/xopc-use.js +253 -118
  202. package/dist/src/agent/tools/apply-patch.d.ts +1 -5
  203. package/dist/src/agent/tools/apply-patch.js +1 -12
  204. package/dist/src/agent/tools/clarify-tool.js +1 -1
  205. package/dist/src/agent/tools/delegate-tool.js +4 -4
  206. package/dist/src/agent/tools/dreaming-tool.d.ts +0 -1
  207. package/dist/src/agent/tools/dreaming-tool.js +48 -80
  208. package/dist/src/agent/tools/exec-command.d.ts +0 -2
  209. package/dist/src/agent/tools/exec-command.js +2 -19
  210. package/dist/src/agent/tools/factory.d.ts +2 -4
  211. package/dist/src/agent/tools/factory.js +8 -29
  212. package/dist/src/agent/tools/index.d.ts +0 -2
  213. package/dist/src/agent/tools/index.js +1 -3
  214. package/dist/src/agent/tools/managed-job-tool.js +1 -1
  215. package/dist/src/agent/tools/memory-tool.d.ts +0 -3
  216. package/dist/src/agent/tools/memory-tool.js +14 -36
  217. package/dist/src/agent/tools/tool-manual-tool.js +1 -1
  218. package/dist/src/agent/tools/workflow-tool.d.ts +1 -1
  219. package/dist/src/agent/tools/workflow-tool.js +4 -4
  220. package/dist/src/agent/tools/write.d.ts +0 -2
  221. package/dist/src/agent/tools/write.js +0 -11
  222. package/dist/src/agent/tools/xopc-use-tool.d.ts +5 -4
  223. package/dist/src/agent/tools/xopc-use-tool.js +987 -143
  224. package/dist/src/agent/transcript/thinking-types.d.ts +3 -0
  225. package/dist/src/agent/workflow/builtins/index.js +2 -2
  226. package/dist/src/agent/workflow/index.js +2 -2
  227. package/dist/src/agent/workflow/subagent-runner.js +1 -0
  228. package/dist/src/agent/workflow/workflow-child-tools.js +0 -3
  229. package/dist/src/agent/workspace-runtime/registry.d.ts +2 -4
  230. package/dist/src/agent/workspace-runtime/registry.js +1 -2
  231. package/dist/src/agent-manifest/index.js +3 -3
  232. package/dist/src/agent-manifest/resolver.d.ts +20 -1
  233. package/dist/src/agent-manifest/resolver.js +47 -20
  234. package/dist/src/agent-manifest/schema.d.ts +128 -52
  235. package/dist/src/agent-manifest/schema.js +46 -8
  236. package/dist/src/agent-runtime/memory-runtime.d.ts +2 -2
  237. package/dist/src/ai-assist/text-assist.js +4 -4
  238. package/dist/src/auth/credentials.js +2 -2
  239. package/dist/src/auth/profiles/store.js +1 -1
  240. package/dist/src/auth/sync-provider-auth.js +2 -2
  241. package/dist/src/automations/domain/defaults.js +1 -1
  242. package/dist/src/automations/domain/types.d.ts +15 -1
  243. package/dist/src/automations/domain/validation.d.ts +336 -12
  244. package/dist/src/automations/domain/validation.js +6 -0
  245. package/dist/src/automations/draft/automation-draft-prompt.js +3 -3
  246. package/dist/src/automations/draft/automation-draft-validator.d.ts +62 -1
  247. package/dist/src/automations/draft/automation-draft-validator.js +1 -0
  248. package/dist/src/automations/index.js +1 -1
  249. package/dist/src/automations/service/action-executor.d.ts +2 -2
  250. package/dist/src/automations/service/action-executor.js +21 -1
  251. package/dist/src/automations/service/automation-service.js +21 -21
  252. package/dist/src/browser/providers/browser-ext-install.js +1 -1
  253. package/dist/src/browser/providers/cloakbrowser.js +1 -1
  254. package/dist/src/chat-commands/builtins/understanding.d.ts +1 -0
  255. package/dist/src/chat-commands/builtins/understanding.js +91 -0
  256. package/dist/src/chat-commands/context.d.ts +0 -3
  257. package/dist/src/chat-commands/context.js +0 -2
  258. package/dist/src/chat-commands/index.d.ts +1 -2
  259. package/dist/src/chat-commands/index.js +3 -5
  260. package/dist/src/chat-commands/types.d.ts +0 -3
  261. package/dist/src/cli/command-catalog.js +0 -43
  262. package/dist/src/cli/command-loaders.js +0 -1
  263. package/dist/src/cli/command-manifest.js +0 -4
  264. package/dist/src/cli/commands/doctor/checks/database-schema.js +1 -1
  265. package/dist/src/cli/commands/doctor/checks/provider-auth.js +1 -1
  266. package/dist/src/cli/commands/gateway/lifecycle-core.js +1 -1
  267. package/dist/src/cli/commands/gateway/restart-health.d.ts +2 -2
  268. package/dist/src/cli/commands/gateway/restart-health.js +3 -3
  269. package/dist/src/cli/commands/gateway/service.js +4 -4
  270. package/dist/src/cli/commands/models.js +1 -1
  271. package/dist/src/cli/commands/onboard/gateway.js +1 -1
  272. package/dist/src/cli/commands/project.js +12 -33
  273. package/dist/src/cli/commands/providers.d.ts +4 -4
  274. package/dist/src/cli/commands/providers.js +16 -16
  275. package/dist/src/cli/commands/search.js +7 -7
  276. package/dist/src/cli/commands/setup-shared/index.d.ts +2 -2
  277. package/dist/src/cli/commands/setup-shared/index.js +2 -2
  278. package/dist/src/cli/commands/setup-shared/output.d.ts +4 -4
  279. package/dist/src/cli/commands/setup-shared/output.js +26 -26
  280. package/dist/src/cli/commands/setup-shared/runner.d.ts +8 -8
  281. package/dist/src/cli/commands/setup-shared/runner.js +9 -9
  282. package/dist/src/cli/commands/setup-shared/types.d.ts +2 -2
  283. package/dist/src/cli/commands/skills.d.ts +7 -0
  284. package/dist/src/cli/commands/skills.js +16 -16
  285. package/dist/src/cli/commands/update.js +1 -1
  286. package/dist/src/cli/commands/voice.d.ts +1 -1
  287. package/dist/src/cli/commands/voice.js +6 -6
  288. package/dist/src/cli/templates.js +1 -1
  289. package/dist/src/commands/agents.config.js +2 -18
  290. package/dist/src/config/agent-profile.d.ts +1 -1
  291. package/dist/src/config/agent-profile.js +1 -1
  292. package/dist/src/config/index.js +7 -7
  293. package/dist/src/config/loader.js +1 -1
  294. package/dist/src/config/models-json.js +1 -1
  295. package/dist/src/config/paths.d.ts +0 -3
  296. package/dist/src/config/paths.js +2 -7
  297. package/dist/src/config/schema.d.ts +160 -258
  298. package/dist/src/config/schema.js +8 -114
  299. package/dist/src/config/web-patch.d.ts +0 -29
  300. package/dist/src/config/web-patch.js +2 -69
  301. package/dist/src/connectors/composio-catalog.js +7 -20
  302. package/dist/src/connectors/composio-sessions.js +14 -4
  303. package/dist/src/connectors/composio.d.ts +7 -2
  304. package/dist/src/connectors/composio.js +49 -40
  305. package/dist/src/connectors/connected-source-ingestion.js +2 -1
  306. package/dist/src/connectors/connected-source-normalizers.js +5 -5
  307. package/dist/src/connectors/connector-identity.d.ts +2 -0
  308. package/dist/src/connectors/connector-identity.js +64 -1
  309. package/dist/src/connectors/learning-coordinator.js +34 -15
  310. package/dist/src/connectors/learning-recipes.d.ts +2 -0
  311. package/dist/src/connectors/learning-recipes.js +11 -1
  312. package/dist/src/connectors/source-change-publisher.js +5 -4
  313. package/dist/src/connectors/types.d.ts +16 -0
  314. package/dist/src/daemon/launchd.js +2 -2
  315. package/dist/src/daemon/schtasks.js +1 -1
  316. package/dist/src/daemon/service.js +3 -3
  317. package/dist/src/daemon/systemd.js +1 -1
  318. package/dist/src/daemon/types.d.ts +5 -5
  319. package/dist/src/discussions/analyzer.d.ts +6 -6
  320. package/dist/src/discussions/analyzer.js +32 -22
  321. package/dist/src/discussions/index.d.ts +3 -2
  322. package/dist/src/discussions/index.js +5 -4
  323. package/dist/src/discussions/live-worker.d.ts +5 -3
  324. package/dist/src/discussions/live-worker.js +24 -12
  325. package/dist/src/discussions/{worker.d.ts → organizer-worker.d.ts} +3 -5
  326. package/dist/src/discussions/organizer-worker.js +58 -0
  327. package/dist/src/discussions/organizer.d.ts +22 -0
  328. package/dist/src/discussions/organizer.js +92 -0
  329. package/dist/src/discussions/repository.d.ts +16 -5
  330. package/dist/src/discussions/repository.js +159 -135
  331. package/dist/src/discussions/sealer.d.ts +25 -0
  332. package/dist/src/discussions/sealer.js +116 -0
  333. package/dist/src/discussions/service.d.ts +2 -1
  334. package/dist/src/discussions/service.js +70 -60
  335. package/dist/src/discussions/transcript.js +1 -1
  336. package/dist/src/discussions/types.d.ts +45 -20
  337. package/dist/src/discussions/types.js +4 -2
  338. package/dist/src/extensions/lockfile.js +1 -1
  339. package/dist/src/extensions/types/core.d.ts +3 -3
  340. package/dist/src/extensions/types/tui.d.ts +2 -2
  341. package/dist/src/extensions/update.d.ts +3 -3
  342. package/dist/src/extensions/update.js +13 -13
  343. package/dist/src/gateway/agent-builtin-tools.d.ts +1 -1
  344. package/dist/src/gateway/agent-builtin-tools.js +0 -1
  345. package/dist/src/gateway/agent-run-relay.d.ts +1 -1
  346. package/dist/src/gateway/agents-admin.js +17 -19
  347. package/dist/src/gateway/capability-presets-admin.d.ts +13 -0
  348. package/dist/src/gateway/capability-presets-admin.js +59 -2
  349. package/dist/src/gateway/chat-limits.d.ts +6 -2
  350. package/dist/src/gateway/chat-limits.js +17 -3
  351. package/dist/src/gateway/chat-stream/thinking-delta-coalescer.js +3 -3
  352. package/dist/src/gateway/dreaming-automation-reconciler.js +13 -12
  353. package/dist/src/gateway/file-path-classifier.js +1 -1
  354. package/dist/src/gateway/heartbeat/service.js +1 -1
  355. package/dist/src/gateway/hono/app.js +9 -10
  356. package/dist/src/gateway/hono/index.d.ts +1 -1
  357. package/dist/src/gateway/hono/index.js +2 -2
  358. package/dist/src/gateway/hono/lib/config-payload.d.ts +15 -35
  359. package/dist/src/gateway/hono/lib/config-payload.js +6 -4
  360. package/dist/src/gateway/hono/middleware/strict-rate-limit.d.ts +4 -0
  361. package/dist/src/gateway/hono/middleware/strict-rate-limit.js +8 -1
  362. package/dist/src/gateway/hono/routes/activity.js +1 -2
  363. package/dist/src/gateway/hono/routes/agent-stream.js +135 -34
  364. package/dist/src/gateway/hono/routes/capability-presets.js +27 -1
  365. package/dist/src/gateway/hono/routes/composer-history.js +1 -1
  366. package/dist/src/gateway/hono/routes/config-patch/misc.d.ts +1 -1
  367. package/dist/src/gateway/hono/routes/config-patch/misc.js +1 -6
  368. package/dist/src/gateway/hono/routes/connectors.js +35 -30
  369. package/dist/src/gateway/hono/routes/deps.d.ts +1 -0
  370. package/dist/src/gateway/hono/routes/discussions.js +13 -3
  371. package/dist/src/gateway/hono/routes/home.d.ts +1 -1
  372. package/dist/src/gateway/hono/routes/home.js +2 -2
  373. package/dist/src/gateway/hono/routes/index.js +2 -4
  374. package/dist/src/gateway/hono/routes/lazy-bundles.js +0 -16
  375. package/dist/src/gateway/hono/routes/media.js +9 -3
  376. package/dist/src/gateway/hono/routes/memory.js +38 -113
  377. package/dist/src/gateway/hono/routes/models.js +1 -1
  378. package/dist/src/gateway/hono/routes/projects.js +220 -588
  379. package/dist/src/gateway/hono/routes/public-gateway.js +4 -2
  380. package/dist/src/gateway/hono/routes/{work.d.ts → tasks.d.ts} +1 -1
  381. package/dist/src/gateway/hono/routes/tasks.js +343 -0
  382. package/dist/src/gateway/hono/routes/workflows.js +7 -8
  383. package/dist/src/gateway/hono/routes/you.d.ts +1 -1
  384. package/dist/src/gateway/hono/routes/you.js +250 -78
  385. package/dist/src/gateway/hono/sse.d.ts +1 -16
  386. package/dist/src/gateway/hono/sse.js +4 -161
  387. package/dist/src/gateway/index.js +2 -2
  388. package/dist/src/gateway/rate-limit/buckets.d.ts +3 -0
  389. package/dist/src/gateway/rate-limit/buckets.js +12 -0
  390. package/dist/src/gateway/security/csp.d.ts +2 -0
  391. package/dist/src/gateway/security/csp.js +4 -0
  392. package/dist/src/gateway/service/agent-runner.d.ts +32 -13
  393. package/dist/src/gateway/service/agent-runner.js +97 -46
  394. package/dist/src/gateway/service/config-coordinator.js +1 -1
  395. package/dist/src/gateway/service/run-gateway-agent.d.ts +1 -1
  396. package/dist/src/gateway/service/run-gateway-agent.js +27 -42
  397. package/dist/src/gateway/service/session-input-coordinator.d.ts +59 -0
  398. package/dist/src/gateway/service/session-input-coordinator.js +183 -0
  399. package/dist/src/gateway/service/sessions-api.d.ts +1 -0
  400. package/dist/src/gateway/service.d.ts +28 -16
  401. package/dist/src/gateway/service.js +150 -133
  402. package/dist/src/gateway/session-reset-service.js +6 -6
  403. package/dist/src/gateway/user-turn-input.d.ts +0 -1
  404. package/dist/src/heartbeat/index.js +1 -1
  405. package/dist/src/i18n/index.d.ts +0 -1
  406. package/dist/src/i18n/index.js +1 -2
  407. package/dist/src/i18n/language-consistency.d.ts +10 -0
  408. package/dist/src/i18n/language-consistency.js +34 -0
  409. package/dist/src/i18n/response-language.d.ts +8 -0
  410. package/dist/src/i18n/response-language.js +17 -0
  411. package/dist/src/i18n/share-tool-bundle.js +2 -2
  412. package/dist/src/mcp/channel-bridge.js +5 -3
  413. package/dist/src/media/store.js +1 -1
  414. package/dist/src/media/types.d.ts +1 -1
  415. package/dist/src/media/uri.js +1 -2
  416. package/dist/src/media-understanding/runner.d.ts +1 -1
  417. package/dist/src/media-understanding/runner.js +9 -9
  418. package/dist/src/media-understanding/types.d.ts +4 -4
  419. package/dist/src/mobile/notification-service.js +16 -21
  420. package/dist/src/mobile/notification-types.d.ts +2 -2
  421. package/dist/src/notes/types.d.ts +0 -1
  422. package/dist/src/proactive/events/product-event-bridge.js +17 -14
  423. package/dist/src/proactive/execution/context.js +45 -28
  424. package/dist/src/proactive/execution/insight.js +1 -1
  425. package/dist/src/proactive/temporal/worker.js +2 -2
  426. package/dist/src/projects/index.d.ts +0 -1
  427. package/dist/src/projects/index.js +1 -2
  428. package/dist/src/projects/project-loop.d.ts +16 -8
  429. package/dist/src/projects/project-loop.js +41 -48
  430. package/dist/src/projects/project-service.d.ts +14 -4
  431. package/dist/src/projects/project-service.js +18 -10
  432. package/dist/src/projects/project-store.d.ts +36 -3
  433. package/dist/src/projects/project-store.js +116 -14
  434. package/dist/src/projects/types.d.ts +50 -3
  435. package/dist/src/providers/auth-runtime/resolve-auth.js +1 -1
  436. package/dist/src/providers/index.js +2 -2
  437. package/dist/src/providers/model-registry.js +1 -1
  438. package/dist/src/providers/model-response.d.ts +4 -0
  439. package/dist/src/providers/model-response.js +28 -0
  440. package/dist/src/providers/register-runtime-providers.js +1 -1
  441. package/dist/src/session/config-types.d.ts +3 -0
  442. package/dist/src/session/index.d.ts +0 -1
  443. package/dist/src/session/index.js +1 -2
  444. package/dist/src/session/init-session-turn.js +6 -6
  445. package/dist/src/session/store.js +4 -4
  446. package/dist/src/session/types.d.ts +1 -6
  447. package/dist/src/share/site-proxy.js +1 -1
  448. package/dist/src/storage/sqlite/config-repository.js +7 -4
  449. package/dist/src/storage/sqlite/connection.js +1 -1
  450. package/dist/src/storage/sqlite/connector-account-repository.d.ts +12 -0
  451. package/dist/src/storage/sqlite/connector-account-repository.js +143 -0
  452. package/dist/src/storage/sqlite/connector-learning-repository.d.ts +5 -2
  453. package/dist/src/storage/sqlite/connector-learning-repository.js +14 -7
  454. package/dist/src/storage/sqlite/connector-repository.js +12 -3
  455. package/dist/src/storage/sqlite/connector-sync-policy-repository.d.ts +4 -3
  456. package/dist/src/storage/sqlite/connector-sync-policy-repository.js +20 -10
  457. package/dist/src/storage/sqlite/dreaming-repository.d.ts +61 -0
  458. package/dist/src/storage/sqlite/dreaming-repository.js +88 -0
  459. package/dist/src/storage/sqlite/index.d.ts +6 -4
  460. package/dist/src/storage/sqlite/index.js +7 -5
  461. package/dist/src/storage/sqlite/memory-readiness-repository.d.ts +7 -0
  462. package/dist/src/storage/sqlite/memory-readiness-repository.js +30 -0
  463. package/dist/src/storage/sqlite/memory-records-repository.d.ts +31 -26
  464. package/dist/src/storage/sqlite/memory-records-repository.js +109 -138
  465. package/dist/src/storage/sqlite/migrations/090_outcome_contract_judgment.sql +2 -0
  466. package/dist/src/storage/sqlite/migrations/091_context_allocation.sql +1 -0
  467. package/dist/src/storage/sqlite/migrations/092_outcome_execution_runtime.sql +88 -0
  468. package/dist/src/storage/sqlite/migrations/093_remove_legacy_goals.sql +174 -0
  469. package/dist/src/storage/sqlite/migrations/094_outcome_judgment_and_authority.sql +3 -0
  470. package/dist/src/storage/sqlite/migrations/095_session_input_queue.sql +35 -0
  471. package/dist/src/storage/sqlite/migrations/096_drop_work_intakes.sql +6 -0
  472. package/dist/src/storage/sqlite/migrations/097_work_item_lifecycle.sql +194 -0
  473. package/dist/src/storage/sqlite/migrations/098_discussion_note_documents.sql +99 -0
  474. package/dist/src/storage/sqlite/migrations/099_task_model.sql +500 -0
  475. package/dist/src/storage/sqlite/migrations/100_project_task_taskrun.sql +763 -0
  476. package/dist/src/storage/sqlite/migrations/101_session_response_language.sql +1 -0
  477. package/dist/src/storage/sqlite/migrations/102_session_user_context_mode.sql +2 -0
  478. package/dist/src/storage/sqlite/migrations/103_finalize_structured_memory.sql +3 -0
  479. package/dist/src/storage/sqlite/migrations/104_turn_memory_feedback.sql +77 -0
  480. package/dist/src/storage/sqlite/migrations/105_dreaming_ledger.sql +34 -0
  481. package/dist/src/storage/sqlite/migrations/106_dreaming_run_reproducibility.sql +2 -0
  482. package/dist/src/storage/sqlite/migrations/107_connector_accounts.sql +146 -0
  483. package/dist/src/storage/sqlite/migrations/runner.d.ts +1 -1
  484. package/dist/src/storage/sqlite/migrations/runner.js +37 -5
  485. package/dist/src/storage/sqlite/migrations/runner.ts +44 -3
  486. package/dist/src/storage/sqlite/migrations/types.d.ts +2 -0
  487. package/dist/src/storage/sqlite/migrations/types.ts +2 -0
  488. package/dist/src/storage/sqlite/row-mappers.d.ts +2 -2
  489. package/dist/src/storage/sqlite/row-mappers.js +2 -2
  490. package/dist/src/storage/sqlite/schema.d.ts +3 -1
  491. package/dist/src/storage/sqlite/schema.js +5 -2
  492. package/dist/src/storage/sqlite/schema.sql +76 -61
  493. package/dist/src/storage/sqlite/session-input-repository.d.ts +59 -0
  494. package/dist/src/storage/sqlite/session-input-repository.js +147 -0
  495. package/dist/src/storage/sqlite/session-repository.js +5 -6
  496. package/dist/src/{work → tasks}/attention-governor.d.ts +5 -5
  497. package/dist/src/{work → tasks}/attention-governor.js +3 -4
  498. package/dist/src/tasks/execution-context.d.ts +23 -0
  499. package/dist/src/{work → tasks}/execution-context.js +7 -20
  500. package/dist/src/{work → tasks}/home-query-service.d.ts +16 -28
  501. package/dist/src/{work → tasks}/home-query-service.js +56 -126
  502. package/dist/src/tasks/index.d.ts +20 -0
  503. package/dist/src/tasks/index.js +21 -0
  504. package/dist/src/{work → tasks}/project-monitoring-service.js +1 -1
  505. package/dist/src/{work → tasks}/project-operating-view-service.d.ts +2 -4
  506. package/dist/src/tasks/project-operating-view-service.js +77 -0
  507. package/dist/src/tasks/task-application-service.d.ts +35 -0
  508. package/dist/src/tasks/task-application-service.js +423 -0
  509. package/dist/src/tasks/task-context-assembler.d.ts +36 -0
  510. package/dist/src/tasks/task-context-assembler.js +125 -0
  511. package/dist/src/tasks/task-context-repository.d.ts +52 -0
  512. package/dist/src/tasks/task-context-repository.js +97 -0
  513. package/dist/src/tasks/task-contract-definition.d.ts +10 -0
  514. package/dist/src/{work/outcome-contract-definition.js → tasks/task-contract-definition.js} +7 -5
  515. package/dist/src/tasks/task-contract-planner.d.ts +17 -0
  516. package/dist/src/tasks/task-contract-planner.js +87 -0
  517. package/dist/src/tasks/task-dependency-service.d.ts +21 -0
  518. package/dist/src/tasks/task-dependency-service.js +81 -0
  519. package/dist/src/tasks/task-outbox-dispatcher.d.ts +6 -0
  520. package/dist/src/tasks/task-outbox-dispatcher.js +31 -0
  521. package/dist/src/tasks/task-read-model-projector.d.ts +16 -0
  522. package/dist/src/tasks/task-read-model-projector.js +93 -0
  523. package/dist/src/tasks/task-repository.d.ts +82 -0
  524. package/dist/src/tasks/task-repository.js +185 -0
  525. package/dist/src/{work/outcome-run-coordinator.d.ts → tasks/task-run-coordinator.d.ts} +6 -8
  526. package/dist/src/tasks/task-run-coordinator.js +130 -0
  527. package/dist/src/tasks/task-run-dispatcher.d.ts +11 -0
  528. package/dist/src/tasks/task-run-dispatcher.js +90 -0
  529. package/dist/src/tasks/task-run-repository.d.ts +102 -0
  530. package/dist/src/tasks/task-run-repository.js +312 -0
  531. package/dist/src/tasks/task-signal-service.d.ts +8 -0
  532. package/dist/src/tasks/task-signal-service.js +72 -0
  533. package/dist/src/tasks/task-value-metrics-service.d.ts +4 -0
  534. package/dist/src/tasks/task-value-metrics-service.js +78 -0
  535. package/dist/src/tasks/task-workflow-coordinator.d.ts +5 -0
  536. package/dist/src/tasks/task-workflow-coordinator.js +54 -0
  537. package/dist/src/tui/backends/embedded-backend.d.ts +11 -1
  538. package/dist/src/tui/backends/embedded-backend.js +29 -3
  539. package/dist/src/tui/backends/gateway-sse-backend.d.ts +6 -3
  540. package/dist/src/tui/backends/gateway-sse-backend.js +38 -127
  541. package/dist/src/tui/components/settings-selector.js +0 -20
  542. package/dist/src/tui/components/tui-bottom-bar.d.ts +2 -3
  543. package/dist/src/tui/components/tui-bottom-bar.js +4 -9
  544. package/dist/src/tui/extension-host/runtime-context.js +1 -1
  545. package/dist/src/tui/tui-backend.d.ts +13 -1
  546. package/dist/src/tui/tui-backend.js +10 -1
  547. package/dist/src/tui/tui-command-formatters.js +1 -2
  548. package/dist/src/tui/tui-commands.js +8 -19
  549. package/dist/src/tui/tui-session-actions.js +0 -2
  550. package/dist/src/tui/tui-settings.d.ts +0 -6
  551. package/dist/src/tui/tui-settings.js +0 -10
  552. package/dist/src/tui/tui-startup-resources.js +1 -1
  553. package/dist/src/tui/tui-types.d.ts +1 -4
  554. package/dist/src/tui/tui-types.js +1 -2
  555. package/dist/src/tui/tui.js +90 -73
  556. package/dist/src/tui/xopc-tui-keybindings.d.ts +25 -6
  557. package/dist/src/tui/xopc-tui-keybindings.js +0 -5
  558. package/dist/src/tunnel/frpc-extract.js +1 -1
  559. package/dist/src/user-context/config.d.ts +165 -16
  560. package/dist/src/user-context/config.js +74 -14
  561. package/dist/src/user-context/context-compiler.d.ts +4 -8
  562. package/dist/src/user-context/context-compiler.js +7 -10
  563. package/dist/src/user-context/interaction-state.js +8 -4
  564. package/dist/src/user-context/manual-understanding.d.ts +19 -0
  565. package/dist/src/user-context/manual-understanding.js +69 -0
  566. package/dist/src/user-context/memory-episode-evaluator.d.ts +32 -0
  567. package/dist/src/user-context/memory-episode-evaluator.js +35 -0
  568. package/dist/src/user-context/memory-readiness.d.ts +33 -0
  569. package/dist/src/user-context/memory-readiness.js +41 -0
  570. package/dist/src/user-context/memory-use-audit.js +3 -2
  571. package/dist/src/user-context/projection.d.ts +13 -0
  572. package/dist/src/user-context/projection.js +13 -2
  573. package/dist/src/user-context/relationship-continuity.js +1 -1
  574. package/dist/src/user-context/runtime.d.ts +0 -2
  575. package/dist/src/user-context/runtime.js +1 -10
  576. package/dist/src/user-context/source-recommendations.d.ts +5 -5
  577. package/dist/src/user-context/source-recommendations.js +9 -8
  578. package/dist/src/voice/stt/transcribe-core.js +3 -3
  579. package/dist/src/voice/stt/types.d.ts +2 -2
  580. package/dist/src/voice/tts/speak-core.js +4 -4
  581. package/dist/src/voice/tts/types.d.ts +2 -2
  582. package/dist/src/work-discovery/analyzer.js +5 -5
  583. package/dist/src/work-discovery/service.d.ts +1 -10
  584. package/dist/src/work-discovery/service.js +3 -5
  585. package/dist/src/work-discovery/types.d.ts +1 -1
  586. package/dist/src/workflows/domain/run.d.ts +3 -4
  587. package/dist/src/workflows/draft/workflow-draft-prompt.js +1 -1
  588. package/dist/src/workflows/index.js +1 -1
  589. package/dist/src/workflows/service/workflow-run-service.d.ts +2 -2
  590. package/dist/src/workflows/service/workflow-run-service.js +105 -35
  591. package/dist/src/workflows/service/workflow-run-service.types.d.ts +1 -2
  592. package/dist/src/workflows/service/workflow-session-bridge.js +4 -12
  593. package/dist/src/workflows/store/run-index-store.d.ts +1 -1
  594. package/dist/src/workflows/store/run-index-store.js +10 -8
  595. package/dist/src/workflows/store/run-store.d.ts +1 -1
  596. package/dist/src/workflows/store/run-store.js +2 -2
  597. package/package.json +5 -5
  598. package/dist/gateway/static/root/assets/agents-DgGj9bu6.js +0 -2
  599. package/dist/gateway/static/root/assets/apps-page-B5xahuT-.js +0 -1
  600. package/dist/gateway/static/root/assets/automations-page-BUYrvMmD.js +0 -6
  601. package/dist/gateway/static/root/assets/browser-settings-page-Cjw07q9h.js +0 -8
  602. package/dist/gateway/static/root/assets/browser-workflow-inputs-_gu08MA4.js +0 -1
  603. package/dist/gateway/static/root/assets/capabilities-settings-panel-D_dfVxHY.js +0 -7
  604. package/dist/gateway/static/root/assets/capability-presets-api-DhCn9rPv.js +0 -1
  605. package/dist/gateway/static/root/assets/capability-presets-settings-panel-LWWIYUT7.js +0 -1
  606. package/dist/gateway/static/root/assets/channels-settings-Cyj5OunL.js +0 -1
  607. package/dist/gateway/static/root/assets/channels-status-swr-TEFnV0IG.js +0 -1
  608. package/dist/gateway/static/root/assets/connectors-page-0TobCpBB.js +0 -2
  609. package/dist/gateway/static/root/assets/desktop-pet-CwVSLL6N.js +0 -1
  610. package/dist/gateway/static/root/assets/dreaming-scene-BHMRVEUS.js +0 -4585
  611. package/dist/gateway/static/root/assets/dreaming-settings-Da9FeWQl.js +0 -3
  612. package/dist/gateway/static/root/assets/format-cron-label-arqgGlVV.js +0 -1
  613. package/dist/gateway/static/root/assets/goals-settings-Dx9uTyWF.js +0 -1
  614. package/dist/gateway/static/root/assets/heartbeat-settings-Cnr5ORXL.js +0 -1
  615. package/dist/gateway/static/root/assets/index-B0Tdge_q.css +0 -1
  616. package/dist/gateway/static/root/assets/index-BA56bQ68.js +0 -224
  617. package/dist/gateway/static/root/assets/local-app-workbench-page-DSUNtLHg.js +0 -2
  618. package/dist/gateway/static/root/assets/logs-page-yI8kpQtO.js +0 -7
  619. package/dist/gateway/static/root/assets/messages-H_iJjnEM.js +0 -3
  620. package/dist/gateway/static/root/assets/notes-workbench-BD297EZt.js +0 -4
  621. package/dist/gateway/static/root/assets/outcome-detail-page-C5i_ZR9a.js +0 -1
  622. package/dist/gateway/static/root/assets/product-delivery-BVG-eWQO.js +0 -1
  623. package/dist/gateway/static/root/assets/project-detail-page-D1HGz7Dy.js +0 -1
  624. package/dist/gateway/static/root/assets/projects-page-CqP2TnW-.js +0 -1
  625. package/dist/gateway/static/root/assets/remote-access-hub-BXdVJLS3.js +0 -1
  626. package/dist/gateway/static/root/assets/save-bar-controls-B53UNtDM.js +0 -1
  627. package/dist/gateway/static/root/assets/schedule-field-C3dIMN5q.js +0 -1
  628. package/dist/gateway/static/root/assets/sessions-page-CPAwDdl5.js +0 -1
  629. package/dist/gateway/static/root/assets/settings-advanced-gate-C-jGsoft.js +0 -1
  630. package/dist/gateway/static/root/assets/settings-page-Di5x6Xrc.js +0 -1
  631. package/dist/gateway/static/root/assets/setup-status-panel-uxEE6gAB.js +0 -1
  632. package/dist/gateway/static/root/assets/shares-settings-2mcsMWgn.js +0 -1
  633. package/dist/gateway/static/root/assets/skill-reload-api-ocDwsrEt.js +0 -1
  634. package/dist/gateway/static/root/assets/skills-page-9_jfsFU5.js +0 -2
  635. package/dist/gateway/static/root/assets/system-settings-panel-CIJ66cUy.js +0 -1
  636. package/dist/gateway/static/root/assets/time-picker-D0zAsHOo.js +0 -1
  637. package/dist/gateway/static/root/assets/use-channel-catalog-BQz3K7xj.js +0 -1
  638. package/dist/gateway/static/root/assets/user-context-page-Bn4BLg4W.js +0 -1
  639. package/dist/gateway/static/root/assets/work-copy-Cwyan9Sn.js +0 -1
  640. package/dist/gateway/static/root/assets/work-discovery-page-iJ9RBSpu.js +0 -1
  641. package/dist/gateway/static/root/assets/work-item-detail-page-CqTH7PQX.js +0 -1
  642. package/dist/gateway/static/root/assets/work-page-H3m99ccS.js +0 -3
  643. package/dist/gateway/static/root/assets/workflows-page-BxZSKMfv.js +0 -11
  644. package/dist/packages/gateway-contract/src/outcomes.js +0 -137
  645. package/dist/packages/gateway-contract/src/work-intake.js +0 -85
  646. package/dist/src/agent/goals/checklist-judge.d.ts +0 -48
  647. package/dist/src/agent/goals/checklist-judge.js +0 -237
  648. package/dist/src/agent/goals/checklist-types.d.ts +0 -21
  649. package/dist/src/agent/goals/checklist-types.js +0 -24
  650. package/dist/src/agent/goals/evaluate-turn.d.ts +0 -29
  651. package/dist/src/agent/goals/evaluate-turn.js +0 -209
  652. package/dist/src/agent/goals/goal-locale.d.ts +0 -26
  653. package/dist/src/agent/goals/goal-locale.js +0 -61
  654. package/dist/src/agent/goals/judge.d.ts +0 -41
  655. package/dist/src/agent/goals/judge.js +0 -176
  656. package/dist/src/agent/goals/persistent-goal-apis.d.ts +0 -15
  657. package/dist/src/agent/goals/persistent-goal-apis.js +0 -1
  658. package/dist/src/agent/goals/persistent-goal-service.d.ts +0 -93
  659. package/dist/src/agent/goals/persistent-goal-service.js +0 -128
  660. package/dist/src/agent/goals/post-turn.d.ts +0 -28
  661. package/dist/src/agent/goals/post-turn.js +0 -187
  662. package/dist/src/agent/goals/state.d.ts +0 -46
  663. package/dist/src/agent/goals/state.js +0 -80
  664. package/dist/src/agent/memory/builtin-memory-store.d.ts +0 -54
  665. package/dist/src/agent/memory/builtin-memory-store.js +0 -315
  666. package/dist/src/agent/memory/dreaming/events.d.ts +0 -36
  667. package/dist/src/agent/memory/dreaming/events.js +0 -42
  668. package/dist/src/agent/memory/dreaming/last-run.d.ts +0 -80
  669. package/dist/src/agent/memory/dreaming/last-run.js +0 -96
  670. package/dist/src/agent/memory/dreaming/short-term-store.d.ts +0 -75
  671. package/dist/src/agent/memory/dreaming/short-term-store.js +0 -273
  672. package/dist/src/agent/outcomes/execution-evaluation.d.ts +0 -20
  673. package/dist/src/agent/outcomes/execution-evaluation.js +0 -48
  674. package/dist/src/agent/prompt/memory/index.d.ts +0 -23
  675. package/dist/src/agent/prompt/memory/index.js +0 -101
  676. package/dist/src/agent/tools/curated-memory-tool.d.ts +0 -3
  677. package/dist/src/agent/tools/curated-memory-tool.js +0 -174
  678. package/dist/src/agent/tools/goal-evidence-recorder.d.ts +0 -6
  679. package/dist/src/agent/tools/goal-evidence-recorder.js +0 -32
  680. package/dist/src/agent/tools/goal-tool.d.ts +0 -29
  681. package/dist/src/agent/tools/goal-tool.js +0 -136
  682. package/dist/src/chat-commands/builtins/goal.d.ts +0 -4
  683. package/dist/src/chat-commands/builtins/goal.js +0 -122
  684. package/dist/src/chat-commands/builtins/subgoal.d.ts +0 -4
  685. package/dist/src/chat-commands/builtins/subgoal.js +0 -117
  686. package/dist/src/cli/commands/goal.d.ts +0 -4
  687. package/dist/src/cli/commands/goal.js +0 -235
  688. package/dist/src/discussions/pipeline.d.ts +0 -33
  689. package/dist/src/discussions/pipeline.js +0 -205
  690. package/dist/src/discussions/worker.js +0 -74
  691. package/dist/src/gateway/hono/routes/dreaming.d.ts +0 -3
  692. package/dist/src/gateway/hono/routes/dreaming.js +0 -323
  693. package/dist/src/gateway/hono/routes/execution-receipts.d.ts +0 -3
  694. package/dist/src/gateway/hono/routes/execution-receipts.js +0 -163
  695. package/dist/src/gateway/hono/routes/goals.d.ts +0 -4
  696. package/dist/src/gateway/hono/routes/goals.js +0 -786
  697. package/dist/src/gateway/hono/routes/work.js +0 -207
  698. package/dist/src/goals/goal-notifications.d.ts +0 -31
  699. package/dist/src/goals/goal-notifications.js +0 -157
  700. package/dist/src/goals/goal-queue-store.d.ts +0 -18
  701. package/dist/src/goals/goal-queue-store.js +0 -133
  702. package/dist/src/goals/goal-queue-types.d.ts +0 -42
  703. package/dist/src/goals/goal-queue-types.js +0 -1
  704. package/dist/src/goals/goal-runner.d.ts +0 -17
  705. package/dist/src/goals/goal-runner.js +0 -153
  706. package/dist/src/goals/goal-service.d.ts +0 -87
  707. package/dist/src/goals/goal-service.js +0 -323
  708. package/dist/src/goals/goal-store.d.ts +0 -44
  709. package/dist/src/goals/goal-store.js +0 -472
  710. package/dist/src/goals/goal-workflow-judge.d.ts +0 -13
  711. package/dist/src/goals/goal-workflow-judge.js +0 -145
  712. package/dist/src/goals/index.d.ts +0 -10
  713. package/dist/src/goals/index.js +0 -7
  714. package/dist/src/goals/types.d.ts +0 -136
  715. package/dist/src/goals/types.js +0 -1
  716. package/dist/src/i18n/goals-bundle.d.ts +0 -35
  717. package/dist/src/i18n/goals-bundle.js +0 -61
  718. package/dist/src/i18n/locales/goals.en.js +0 -36
  719. package/dist/src/i18n/locales/goals.zh.js +0 -35
  720. package/dist/src/projects/goal-bind.d.ts +0 -4
  721. package/dist/src/projects/goal-bind.js +0 -38
  722. package/dist/src/session/abort-cutoff.d.ts +0 -6
  723. package/dist/src/session/abort-cutoff.js +0 -8
  724. package/dist/src/storage/sqlite/execution-receipt-repository.d.ts +0 -146
  725. package/dist/src/storage/sqlite/execution-receipt-repository.js +0 -235
  726. package/dist/src/storage/sqlite/memory-index-repository.d.ts +0 -18
  727. package/dist/src/storage/sqlite/memory-index-repository.js +0 -136
  728. package/dist/src/tui/tui-follow-up-queue.d.ts +0 -9
  729. package/dist/src/tui/tui-follow-up-queue.js +0 -16
  730. package/dist/src/work/execution-context.d.ts +0 -16
  731. package/dist/src/work/index.d.ts +0 -14
  732. package/dist/src/work/index.js +0 -15
  733. package/dist/src/work/outcome-contract-definition.d.ts +0 -8
  734. package/dist/src/work/outcome-execution-service.d.ts +0 -27
  735. package/dist/src/work/outcome-execution-service.js +0 -60
  736. package/dist/src/work/outcome-projection-service.d.ts +0 -7
  737. package/dist/src/work/outcome-projection-service.js +0 -51
  738. package/dist/src/work/outcome-receipt-service.d.ts +0 -13
  739. package/dist/src/work/outcome-receipt-service.js +0 -55
  740. package/dist/src/work/outcome-repository.d.ts +0 -50
  741. package/dist/src/work/outcome-repository.js +0 -112
  742. package/dist/src/work/outcome-run-coordinator.js +0 -117
  743. package/dist/src/work/project-operating-view-service.js +0 -46
  744. package/dist/src/work/work-intake-repository.d.ts +0 -49
  745. package/dist/src/work/work-intake-repository.js +0 -97
  746. package/dist/src/work/work-intake-service.d.ts +0 -26
  747. package/dist/src/work/work-intake-service.js +0 -171
  748. package/dist/src/work/work-value-metrics-service.d.ts +0 -4
  749. package/dist/src/work/work-value-metrics-service.js +0 -88
  750. package/dist/src/work-items/agent-context.d.ts +0 -7
  751. package/dist/src/work-items/agent-context.js +0 -73
  752. package/dist/src/work-items/index.d.ts +0 -5
  753. package/dist/src/work-items/index.js +0 -5
  754. package/dist/src/work-items/types.d.ts +0 -112
  755. package/dist/src/work-items/types.js +0 -1
  756. package/dist/src/work-items/work-item-service.d.ts +0 -36
  757. package/dist/src/work-items/work-item-service.js +0 -281
  758. package/dist/src/work-items/work-item-store.d.ts +0 -22
  759. package/dist/src/work-items/work-item-store.js +0 -313
  760. package/dist/src/work-items/work-item-workflow-judge.d.ts +0 -8
  761. package/dist/src/work-items/work-item-workflow-judge.js +0 -48
  762. /package/dist/src/{work → tasks}/project-monitoring-service.d.ts +0 -0
@@ -1 +1 @@
1
- import{n as e,t}from"./vendor-react-BOUWij0V.js";import{d as n}from"./chunk-KS7C4IRE-BMhrPKJC.js";import{t as r}from"./notes-workbench-BD297EZt.js";var i=e(),a=t();function o(){let e=(0,i.c)(2),{noteId:t}=n(),o;return e[0]===t?o=e[1]:(o=(0,a.jsx)(r,{selectedNoteId:t,basePath:`/notes`,managePageHeader:!0,showLibrary:!0,allowMediaCapture:!0,listWidthStorageKey:`xopc.notes.listWidth`}),e[0]=t,e[1]=o),o}export{o as NotesPage};
1
+ import{n as e,t}from"./vendor-react-BOUWij0V.js";import{d as n}from"./chunk-KS7C4IRE-BMhrPKJC.js";import{t as r}from"./notes-workbench-DqSkeDXX.js";var i=e(),a=t();function o(){let e=(0,i.c)(2),{noteId:t}=n(),o;return e[0]===t?o=e[1]:(o=(0,a.jsx)(r,{selectedNoteId:t,basePath:`/notes`,managePageHeader:!0,showLibrary:!0,allowMediaCapture:!0,listWidthStorageKey:`xopc.notes.listWidth`}),e[0]=t,e[1]=o),o}export{o as NotesPage};
@@ -0,0 +1,4 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/block-editor-B8hR2tXc.js","assets/rolldown-runtime-aKtaBQYM.js","assets/index-vi5KlR5_.js","assets/preload-helper-zJ_50EbN.js","assets/Combination-14nmIgxH.js","assets/vendor-react-BOUWij0V.js","assets/dist-CxGUk8J-.js","assets/dist-C230izr8.js","assets/chunk-KS7C4IRE-BMhrPKJC.js","assets/vendor-swr-BIWyz7Rc.js","assets/createLucideIcon-DPHK1VkS.js","assets/check-DUBLcKHA.js","assets/middleware-Pd0e8Igk.js","assets/locale-store-Bff30u5V.js","assets/messages-CPxz48hr.js","assets/cn-JdwAhgNB.js","assets/schemas-C6onAggk.js","assets/product-delivery-C8JbSj5Y.js","assets/config-reload-event-Bjh2zoKp.js","assets/copy-to-clipboard-HOJ79TWv.js","assets/gateway-startup-retry-CntXJF6W.js","assets/activity-store-WlR2zEvA.js","assets/theme-store-y7e_tvYi.js","assets/index-D-YfWVyS.css","assets/vendor-codemirror--gTq3YAI.js","assets/with-selector-aYPsXwdl.js","assets/block-editor-D4ZIVQbk.css","assets/markdown-editor-BvUebh3C.js","assets/code-editor-D4_k-6QN.js"])))=>i.map(i=>d[i]);
2
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,n,t as r}from"./vendor-react-BOUWij0V.js";import{t as i}from"./preload-helper-zJ_50EbN.js";import{l as a}from"./chunk-KS7C4IRE-BMhrPKJC.js";import{t as o}from"./cn-JdwAhgNB.js";import{t as s}from"./messages-CPxz48hr.js";import{l as c,n as l}from"./locale-store-Bff30u5V.js";import{i as u}from"./theme-store-y7e_tvYi.js";import{i as d}from"./vendor-swr-BIWyz7Rc.js";import{$n as f,$o as p,$s as m,Al as h,Bo as g,Cc as _,Ci as v,Cr as y,Dc as b,Ei as x,Er as S,Es as C,Eu as w,Gc as T,Gs as E,Ho as D,Hs as O,Io as k,Kl as A,Ll as j,Lo as M,Mu as N,Nc as P,Oc as F,Ou as I,Pl as ee,Qn as te,Ro as ne,Si as re,Su as L,Tc as ie,Ti as ae,Us as oe,Vc as R,Vo as se,Wo as z,Ws as B,Xs as V,Yl as H,_r as U,a as ce,ar as W,br as G,c as le,cr as K,dc as ue,dl as de,do as fe,dr as pe,er as me,es as he,fc as ge,fl as q,fr as J,gc as Y,gr as _e,hl as ve,hr as ye,io as be,ir as xe,jc as Se,k as Ce,kc as we,ks as Te,kt as Ee,ku as De,l as Oe,lr as X,ml as ke,mr as Ae,nc as je,nl as Me,o as Ne,or as Pe,ou as Fe,pr as Ie,qc as Le,s as Re,sl as ze,sr as Be,tc as Ve,ur as He,vr as Ue,vu as We,wi as Ge,wr as Ke,xi as qe,xr as Je,yr as Ye,zo as Xe}from"./index-vi5KlR5_.js";var Z=n(),Q=e(t(),1),$=r(),Ze=(0,Q.createContext)(null);function Qe(){let e=(0,Z.c)(1),t=(0,Q.useContext)(Ze);if(!t){let t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={openImage:$e},e[0]=t):t=e[0],t}return t}function $e(){}function et(e){let t=(0,Z.c)(22),{children:n,closeLabel:r}=e,i=r===void 0?`Close`:r,[a,s]=(0,Q.useState)(null),c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=(e,t)=>{s({src:e,alt:t})},t[0]=c):c=t[0];let l=c,u;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(u={openImage:l},t[1]=u):u=t[1];let d=u,f=a!==null,p;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(p=e=>{e||s(null)},t[2]=p):p=t[2];let m;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,$.jsx)(g,{className:`fixed inset-0 z-[70] bg-scrim/90 backdrop-blur-sm`}),t[3]=m):m=t[3];let h;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(h=o(`fixed inset-0 z-[71] flex items-center justify-center p-4 outline-none`,`data-[state=open]:animate-in data-[state=closed]:animate-out`),t[4]=h):h=t[4];let _=a?.alt||`Image preview`,v;t[5]===_?v=t[6]:(v=(0,$.jsx)(D,{className:`sr-only`,children:_}),t[5]=_,t[6]=v);let y;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,$.jsx)(Te,{className:`size-5`,"aria-hidden":!0}),t[7]=y):y=t[7];let b;t[8]===i?b=t[9]:(b=(0,$.jsx)(M,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,"aria-label":i,className:`absolute right-4 top-4 z-10 rounded-lg bg-surface-panel/80 p-2 text-fg-muted backdrop-blur transition-colors hover:bg-surface-hover hover:text-fg`,children:y})}),t[8]=i,t[9]=b);let x;t[10]===a?x=t[11]:(x=a?(0,$.jsx)(`img`,{src:a.src,alt:a.alt??``,className:`max-h-[min(90vh,900px)] max-w-[min(95vw,1200px)] rounded-lg object-contain shadow-lg`}):null,t[10]=a,t[11]=x);let S;t[12]!==b||t[13]!==x||t[14]!==v?(S=(0,$.jsxs)(se,{children:[m,(0,$.jsxs)(ne,{className:h,"aria-describedby":void 0,children:[v,b,x]})]}),t[12]=b,t[13]=x,t[14]=v,t[15]=S):S=t[15];let C;t[16]!==S||t[17]!==f?(C=(0,$.jsx)(k,{open:f,onOpenChange:p,children:S}),t[16]=S,t[17]=f,t[18]=C):C=t[18];let w;return t[19]!==n||t[20]!==C?(w=(0,$.jsxs)(Ze.Provider,{value:d,children:[n,C]}),t[19]=n,t[20]=C,t[21]=w):w=t[21],w}function tt(e){let t=(0,Z.c)(15),{noteId:n,attachmentId:r,className:i}=e,[a,s]=(0,Q.useState)(!1),c;t[0]!==r||t[1]!==n?(c=S(n,r),t[0]=r,t[1]=n,t[2]=c):c=t[2];let l=c;if(a){let e;t[3]===i?e=t[4]:(e=o(`flex size-12 shrink-0 items-center justify-center rounded-lg border border-edge-subtle bg-surface-hover text-fg-muted`,i),t[3]=i,t[4]=e);let n;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,$.jsx)(ke,{className:`size-4`}),t[5]=n):n=t[5];let r;return t[6]===e?r=t[7]:(r=(0,$.jsx)(`div`,{className:e,"aria-hidden":!0,children:n}),t[6]=e,t[7]=r),r}let u;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(u=()=>s(!0),t[8]=u):u=t[8];let d;t[9]===i?d=t[10]:(d=o(`size-12 shrink-0 rounded-lg border border-edge-subtle bg-surface-hover object-cover`,i),t[9]=i,t[10]=d);let f;return t[11]!==n||t[12]!==l||t[13]!==d?(f=(0,$.jsx)(Ke,{src:l,expectedNoteId:n,alt:``,loading:`lazy`,draggable:!1,onLoadFailed:u,className:d}),t[11]=n,t[12]=l,t[13]=d,t[14]=f):f=t[14],f}var nt=6e4,rt=36e5,it=864e5;function at(e){let t=new Date(e);return t.setHours(0,0,0,0),t.getTime()}function ot(e,t,n){let r=t-e;if(r<nt)return n.justNow;if(r<rt){let e=Math.floor(r/nt);return n.minutesAgo.replace(`{{n}}`,String(e))}let i=at(t);if(e>=i)return n.today+` `+new Date(e).toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`});if(e>=i-it)return n.yesterday+` `+new Date(e).toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`});if(r<7*it){let e=Math.floor(r/it);return n.daysAgo.replace(`{{n}}`,String(e))}return new Date(e).toLocaleDateString(void 0,{month:`short`,day:`numeric`})}function st(e,t,n){let r=at(t);if(e>=r)return n.today;if(e>=r-it)return n.yesterday;let i=new Date(e),a=new Date(t);return i.getFullYear()===a.getFullYear()?i.toLocaleDateString(void 0,{month:`long`,day:`numeric`}):i.toLocaleDateString(void 0,{year:`numeric`,month:`long`,day:`numeric`})}function ct(e){let t=new Date(e);return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,`0`)}-${String(t.getDate()).padStart(2,`0`)}`}function lt(e){if(!Number.isFinite(e)||e<0)return`0:00`;let t=Math.floor(e/60),n=Math.floor(e%60);return`${t}:${String(n).padStart(2,`0`)}`}function ut(e){let t=(0,Z.c)(38),{noteId:n,attachmentId:r,durationSec:i,className:a}=e,{playing:s,loading:c,currentTime:l,duration:u,noteId:d,attachmentId:f}=me(),p=me(ft),m=d===n&&f===r,h=m&&s,g=m&&c,_=m?l:0,v=m&&u>0?u:i??0,y=v>0?Math.min(_/v*100,100):0,b;t[0]!==r||t[1]!==i||t[2]!==n||t[3]!==p?(b=e=>{e.stopPropagation(),p(n,r,i)},t[0]=r,t[1]=i,t[2]=n,t[3]=p,t[4]=b):b=t[4];let x=b,S;t[5]!==r||t[6]!==i||t[7]!==n||t[8]!==p?(S=e=>{(e.key===`Enter`||e.key===` `)&&(e.stopPropagation(),e.preventDefault(),p(n,r,i))},t[5]=r,t[6]=i,t[7]=n,t[8]=p,t[9]=S):S=t[9];let C=S,w;t[10]===a?w=t[11]:(w=o(`flex items-center gap-2`,a),t[10]=a,t[11]=w);let T=h?`bg-accent text-white`:`bg-accent/10 text-accent hover:bg-accent/20`,E;t[12]===T?E=t[13]:(E=o(`flex size-7 shrink-0 items-center justify-center rounded-full transition-colors`,T),t[12]=T,t[13]=E);let D=h?`Pause`:`Play`,O;t[14]!==g||t[15]!==h?(O=g?(0,$.jsx)(Le,{className:`size-3.5 animate-spin`}):h?(0,$.jsx)(Se,{className:`size-3.5`}):(0,$.jsx)(ie,{className:`size-3.5 ml-0.5`}),t[14]=g,t[15]=h,t[16]=O):O=t[16];let k;t[17]!==x||t[18]!==C||t[19]!==E||t[20]!==D||t[21]!==O?(k=(0,$.jsx)(`button`,{type:`button`,onClick:x,onKeyDown:C,className:E,"aria-label":D,children:O}),t[17]=x,t[18]=C,t[19]=E,t[20]=D,t[21]=O,t[22]=k):k=t[22];let A=`${y}%`,j;t[23]===A?j=t[24]:(j=(0,$.jsx)(`div`,{className:`h-1 w-full overflow-hidden rounded-full bg-accent/10`,children:(0,$.jsx)(`div`,{className:`h-full rounded-full bg-accent transition-[width] duration-200 ease-linear`,style:{width:A}})}),t[23]=A,t[24]=j);let M;t[25]!==v||t[26]!==m||t[27]!==_?(M=lt(m&&_>0?_:v),t[25]=v,t[26]=m,t[27]=_,t[28]=M):M=t[28];let N;t[29]===M?N=t[30]:(N=(0,$.jsx)(`span`,{className:`text-[10px] tabular-nums text-fg-muted`,children:M}),t[29]=M,t[30]=N);let P;t[31]!==j||t[32]!==N?(P=(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-0.5`,children:[j,N]}),t[31]=j,t[32]=N,t[33]=P):P=t[33];let F;return t[34]!==P||t[35]!==w||t[36]!==k?(F=(0,$.jsxs)(`div`,{className:w,onClick:dt,children:[k,P]}),t[34]=P,t[35]=w,t[36]=k,t[37]=F):F=t[37],F}function dt(e){return e.stopPropagation()}function ft(e){return e.toggle}function pt(e,t){return e.snippet?.trim()?e.snippet:e.coverAttachmentId?t.imageNote:t.noText}function mt(e){let t=(0,Z.c)(83),{note:n,selected:r,onPress:i,onPin:a,onArchive:s,onDelete:c,labels:l,timeLabels:u}=e,d=r===void 0?!1:r,f;t[0]!==l||t[1]!==n?(f=pt(n,l),t[0]=l,t[1]=n,t[2]=f):f=t[2];let p=f,m=!n.snippet?.trim(),[h]=(0,Q.useState)(vt),g;t[3]!==n.createdAt||t[4]!==h||t[5]!==u?(g=ot(n.createdAt,h,u),t[3]=n.createdAt,t[4]=h,t[5]=u,t[6]=g):g=t[6];let _=g,y,S;t[7]!==n.id||t[8]!==i?(y=()=>i(n.id),S=e=>{(e.key===`Enter`||e.key===` `)&&i(n.id)},t[7]=n.id,t[8]=i,t[9]=y,t[10]=S):(y=t[9],S=t[10]);let C=d?`bg-surface-panel hover:bg-surface-panel`:`bg-transparent hover:bg-surface-panel/70`,w;t[11]===C?w=t[12]:(w=o(`group relative flex cursor-pointer flex-col gap-2 overflow-hidden rounded-lg px-3 py-2.5`,`transition-colors duration-150 ease-out`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-2 focus-visible:ring-offset-surface-rail`,C),t[11]=C,t[12]=w);let T=d?`true`:void 0,E;t[13]===d?E=t[14]:(E=d?(0,$.jsx)(`span`,{className:`pointer-events-none absolute inset-y-2 left-0 w-0.5 rounded-r-pill bg-accent`,"aria-hidden":!0}):null,t[13]=d,t[14]=E);let D;t[15]!==n.coverAttachmentId||t[16]!==n.id||t[17]!==n.kind||t[18]!==n.voiceAttachmentId||t[19]!==n.voiceDurationSec?(D=n.coverAttachmentId?(0,$.jsx)(tt,{noteId:n.id,attachmentId:n.coverAttachmentId}):n.kind===`voice`&&n.voiceAttachmentId?(0,$.jsx)(ut,{noteId:n.id,attachmentId:n.voiceAttachmentId,durationSec:n.voiceDurationSec,className:`mt-0.5 w-28 shrink-0`}):null,t[15]=n.coverAttachmentId,t[16]=n.id,t[17]=n.kind,t[18]=n.voiceAttachmentId,t[19]=n.voiceDurationSec,t[20]=D):D=t[20];let O;t[21]===n.title?O=t[22]:(O=n.title&&(0,$.jsx)(`h3`,{className:`mb-0.5 truncate text-sm font-semibold text-fg`,children:n.title}),t[21]=n.title,t[22]=O);let k=n.title?`text-fg-muted`:m?`italic text-fg-muted`:`text-fg`,A;t[23]===k?A=t[24]:(A=o(`truncate text-sm leading-5`,k),t[23]=k,t[24]=A);let M;t[25]!==p||t[26]!==A?(M=(0,$.jsx)(`p`,{className:A,children:p}),t[25]=p,t[26]=A,t[27]=M):M=t[27];let N;t[28]!==O||t[29]!==M?(N=(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[O,M]}),t[28]=O,t[29]=M,t[30]=N):N=t[30];let P;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,$.jsx)(x,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,onClick:_t,className:`shrink-0 rounded-md p-1 text-fg-muted opacity-0 transition-opacity group-hover:opacity-100 hover:bg-surface-panel focus-visible:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,"aria-label":`Actions`,children:(0,$.jsx)(j,{className:`size-4`})})}),t[31]=P):P=t[31];let I;t[32]!==n.id||t[33]!==n.pinned||t[34]!==a?(I=()=>a(n.id,!n.pinned),t[32]=n.id,t[33]=n.pinned,t[34]=a,t[35]=I):I=t[35];let ee;t[36]===n.pinned?ee=t[37]:(ee=n.pinned?(0,$.jsx)(b,{className:`size-4`}):(0,$.jsx)(F,{className:`size-4`}),t[36]=n.pinned,t[37]=ee);let te=n.pinned?l.unpin:l.pin,ne;t[38]!==I||t[39]!==ee||t[40]!==te?(ne=(0,$.jsxs)(re,{className:`flex cursor-pointer items-center gap-2 rounded-lg px-3 py-2 text-sm text-fg outline-none hover:bg-surface-hover focus:bg-surface-hover`,onSelect:I,children:[ee,te]}),t[38]=I,t[39]=ee,t[40]=te,t[41]=ne):ne=t[41];let L;t[42]!==n.id||t[43]!==s?(L=()=>s(n.id),t[42]=n.id,t[43]=s,t[44]=L):L=t[44];let ie;t[45]===Symbol.for(`react.memo_cache_sentinel`)?(ie=(0,$.jsx)(De,{className:`size-4`}),t[45]=ie):ie=t[45];let R;t[46]!==l.archive||t[47]!==L?(R=(0,$.jsxs)(re,{className:`flex cursor-pointer items-center gap-2 rounded-lg px-3 py-2 text-sm text-fg outline-none hover:bg-surface-hover focus:bg-surface-hover`,onSelect:L,children:[ie,l.archive]}),t[46]=l.archive,t[47]=L,t[48]=R):R=t[48];let se;t[49]===Symbol.for(`react.memo_cache_sentinel`)?(se=(0,$.jsx)(ae,{className:`my-1 h-px bg-edge-subtle`}),t[49]=se):se=t[49];let z;t[50]!==n.id||t[51]!==c?(z=()=>c(n.id),t[50]=n.id,t[51]=c,t[52]=z):z=t[52];let B;t[53]===Symbol.for(`react.memo_cache_sentinel`)?(B=(0,$.jsx)(oe,{className:`size-4`}),t[53]=B):B=t[53];let V;t[54]!==l.delete||t[55]!==z?(V=(0,$.jsxs)(re,{className:`flex cursor-pointer items-center gap-2 rounded-lg px-3 py-2 text-sm text-red-500 outline-none hover:bg-surface-hover focus:bg-surface-hover`,onSelect:z,children:[B,l.delete]}),t[54]=l.delete,t[55]=z,t[56]=V):V=t[56];let H;t[57]!==ne||t[58]!==R||t[59]!==V?(H=(0,$.jsxs)(Ge,{children:[P,(0,$.jsx)(v,{children:(0,$.jsxs)(qe,{className:`z-50 min-w-[140px] rounded-xl border border-edge bg-surface-panel p-1 shadow-lg`,sideOffset:4,align:`end`,onClick:gt,children:[ne,R,se,V]})})]}),t[57]=ne,t[58]=R,t[59]=V,t[60]=H):H=t[60];let U;t[61]!==D||t[62]!==N||t[63]!==H?(U=(0,$.jsxs)(`div`,{className:`flex items-start gap-3`,children:[D,N,H]}),t[61]=D,t[62]=N,t[63]=H,t[64]=U):U=t[64];let ce;t[65]===n.pinned?ce=t[66]:(ce=n.pinned&&(0,$.jsx)(`span`,{className:`inline-flex items-center gap-1 rounded-md bg-accent/10 px-1.5 py-0.5 text-xs font-medium text-accent`,children:(0,$.jsx)(F,{className:`size-3`})}),t[65]=n.pinned,t[66]=ce);let W;t[67]===n.tags?W=t[68]:(W=n.tags?.slice(0,2).map(ht),t[67]=n.tags,t[68]=W);let G;t[69]===_?G=t[70]:(G=(0,$.jsx)(`span`,{className:`ml-auto text-xs text-fg-muted`,children:_}),t[69]=_,t[70]=G);let le;t[71]!==ce||t[72]!==W||t[73]!==G?(le=(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[ce,W,G]}),t[71]=ce,t[72]=W,t[73]=G,t[74]=le):le=t[74];let K;return t[75]!==U||t[76]!==le||t[77]!==y||t[78]!==S||t[79]!==w||t[80]!==T||t[81]!==E?(K=(0,$.jsxs)(`article`,{role:`button`,tabIndex:0,onClick:y,onKeyDown:S,className:w,"aria-current":T,children:[E,U,le]}),t[75]=U,t[76]=le,t[77]=y,t[78]=S,t[79]=w,t[80]=T,t[81]=E,t[82]=K):K=t[82],K}function ht(e){return(0,$.jsx)(`span`,{className:`max-w-24 truncate rounded-md bg-surface-hover px-1.5 py-0.5 text-xs text-fg-muted`,children:e},e)}function gt(e){return e.stopPropagation()}function _t(e){return e.stopPropagation()}function vt(){return Date.now()}function yt(e){let t=(0,Z.c)(45),{title:n,description:r,prompt:i,coverage:c,className:u,variant:f}=e,p=f===void 0?`card`:f,m=l(St),h=s(m).automations.suggestions,g=s(m).automations,_=a(),v;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(v={revalidateOnFocus:!1,refreshInterval:15e3},t[0]=v):v=t[0];let{data:y}=d(c?`automation-suggestion-coverage`:null,xt,v),b=c?y?.automations.find(e=>le(e,c)):void 0,x=b?Ne(b,g):[];if(p===`titleAction`){if(b){let e;t[1]===u?e=t[2]:(e=o(`flex min-w-0 items-center gap-2 rounded-lg border border-emerald-500/25 bg-emerald-500/10 px-2.5 py-1.5`,u),t[1]=u,t[2]=e);let n;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,$.jsx)(Fe,{className:`size-3.5 shrink-0 text-emerald-700 dark:text-emerald-300`,"aria-hidden":!0}),t[3]=n):n=t[3];let r;return t[4]===_?r=t[5]:(r=()=>_(`/automations`),t[4]=_,t[5]=r),(0,$.jsxs)(`section`,{className:e,children:[n,(0,$.jsx)(`span`,{className:`min-w-0 truncate text-xs font-medium text-fg`,children:h.coveredTitle}),(0,$.jsx)(C,{variant:`ghost`,className:`h-7 shrink-0 rounded-md px-2 text-xs`,onClick:r,children:h.manage})]})}let e;t[6]===u?e=t[7]:(e=o(`flex min-w-0 items-center gap-2 rounded-lg bg-surface-panel px-2.5 py-1.5 shadow-surface`,u),t[6]=u,t[7]=e);let a;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,$.jsx)(Me,{className:`size-3.5 shrink-0 text-accent`,"aria-hidden":!0}),t[8]=a):a=t[8];let s;t[9]!==r||t[10]!==n?(s=(0,$.jsx)(`span`,{className:`min-w-0 truncate text-xs font-medium text-fg`,title:r,children:n}),t[9]=r,t[10]=n,t[11]=s):s=t[11];let c;t[12]!==_||t[13]!==i?(c=()=>{_(`/automations?${new URLSearchParams({draft:i,autogenerate:`1`}).toString()}`)},t[12]=_,t[13]=i,t[14]=c):c=t[14];let l;return t[15]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,$.jsx)(je,{className:`size-3.5`,"aria-hidden":!0}),t[15]=l):l=t[15],(0,$.jsxs)(`section`,{className:e,children:[a,s,(0,$.jsxs)(C,{variant:`secondary`,className:`h-7 shrink-0 rounded-md px-2 text-xs`,onClick:c,children:[l,h.create]})]})}if(b){let e;t[16]===u?e=t[17]:(e=o(`rounded-lg border border-emerald-500/25 bg-emerald-500/10 p-3`,u),t[16]=u,t[17]=e);let n;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,$.jsx)(Fe,{className:`mt-0.5 size-4 shrink-0 text-emerald-700 dark:text-emerald-300`,"aria-hidden":!0}),t[18]=n):n=t[18];let r;t[19]===_?r=t[20]:(r=()=>_(`/automations`),t[19]=_,t[20]=r);let i;return t[21]!==h||t[22]!==r?(i=(0,$.jsx)(`div`,{className:`mt-3 flex justify-end`,children:(0,$.jsx)(C,{variant:`ghost`,className:`h-8 rounded-md px-2.5 text-xs`,onClick:r,children:h.manage})}),t[21]=h,t[22]=r,t[23]=i):i=t[23],(0,$.jsxs)(`section`,{className:e,children:[(0,$.jsxs)(`div`,{className:`flex items-start gap-2`,children:[n,(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(`div`,{className:`text-sm font-semibold text-fg`,children:h.coveredTitle}),(0,$.jsx)(`p`,{className:`mt-1 break-words text-xs leading-5 text-fg-muted`,children:Re(h.coveredDescription,{name:b.name})})]})]}),(0,$.jsxs)(`div`,{className:`mt-2 rounded-md bg-surface-base/55 px-2.5 py-2`,children:[(0,$.jsx)(`div`,{className:`text-xs font-medium text-fg`,children:g.explain.whyCovered}),(0,$.jsx)(`div`,{className:`mt-1 flex flex-wrap gap-1.5`,children:x.map(bt)})]}),i]})}let S;t[24]===u?S=t[25]:(S=o(`rounded-lg bg-surface-panel p-3 shadow-surface`,u),t[24]=u,t[25]=S);let w;t[26]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,$.jsx)(Me,{className:`mt-0.5 size-4 shrink-0 text-accent`,"aria-hidden":!0}),t[26]=w):w=t[26];let T;t[27]===n?T=t[28]:(T=(0,$.jsx)(`div`,{className:`text-sm font-semibold text-fg`,children:n}),t[27]=n,t[28]=T);let E;t[29]===r?E=t[30]:(E=(0,$.jsx)(`p`,{className:`mt-1 break-words text-xs leading-5 text-fg-muted`,children:r}),t[29]=r,t[30]=E);let D;t[31]!==T||t[32]!==E?(D=(0,$.jsxs)(`div`,{className:`flex items-start gap-2`,children:[w,(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[T,E]})]}),t[31]=T,t[32]=E,t[33]=D):D=t[33];let O;t[34]!==_||t[35]!==i?(O=()=>{_(`/automations?${new URLSearchParams({draft:i,autogenerate:`1`}).toString()}`)},t[34]=_,t[35]=i,t[36]=O):O=t[36];let k;t[37]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,$.jsx)(je,{className:`size-3.5`,"aria-hidden":!0}),t[37]=k):k=t[37];let A;t[38]!==h.create||t[39]!==O?(A=(0,$.jsx)(`div`,{className:`mt-3 flex justify-end`,children:(0,$.jsxs)(C,{variant:`secondary`,className:`h-8 rounded-md px-2.5 text-xs`,onClick:O,children:[k,h.create]})}),t[38]=h.create,t[39]=O,t[40]=A):A=t[40];let j;return t[41]!==A||t[42]!==S||t[43]!==D?(j=(0,$.jsxs)(`section`,{className:S,children:[D,A]}),t[41]=A,t[42]=S,t[43]=D,t[44]=j):j=t[44],j}function bt(e){return(0,$.jsx)(`span`,{className:`rounded-full bg-surface-panel px-2 py-0.5 text-xs text-fg-muted`,children:e},e)}function xt(){return Oe.list()}function St(e){return e.language}function Ct(e){let t=(0,Z.c)(4),{values:n}=e;if(n.length===0)return null;let r;t[0]===n?r=t[1]:(r=n.map(wt),t[0]=n,t[1]=r);let i;return t[2]===r?i=t[3]:(i=(0,$.jsx)(`ul`,{className:`list-disc space-y-1 pl-5`,children:r}),t[2]=r,t[3]=i),i}function wt(e,t){return(0,$.jsx)(`li`,{children:e},`${t}:${e}`)}function Tt(e){let t=(0,Z.c)(35),{noteId:n}=e,r=l(Ot),i;t[0]===r?i=t[1]:(i=s(r),t[0]=r,t[1]=i);let a=i.notes.discussionCapture,o,c;t[2]===n?(o=t[3],c=t[4]):(o=[`note-discussion-document`,n],c=()=>xe(n),t[2]=n,t[3]=o,t[4]=c);let u;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(u={revalidateOnFocus:!1},t[5]=u):u=t[5];let{data:f,mutate:p}=d(o,c,u),m,h;if(t[6]===p?(m=t[7],h=t[8]):(m=()=>{let e=e=>{let t=e.detail;t&&p(e=>{if(!e||e.discussion.id!==t.discussionId)return e;let n=e.transcript.segments.filter(e=>e.sequence!==t.segment.sequence).concat(t.segment).sort(Dt);return{...e,discussion:{...e.discussion,transcriptRevision:t.transcriptRevision},transcript:{...e.transcript,revision:t.transcriptRevision,segments:n,text:t.text,stats:t.stats}}},{revalidate:!1})},t=()=>void p();return window.addEventListener(`discussion-segment-updated`,e),window.addEventListener(`discussion-updated`,t),()=>{window.removeEventListener(`discussion-segment-updated`,e),window.removeEventListener(`discussion-updated`,t)}},h=[p],t[6]=p,t[7]=m,t[8]=h),(0,Q.useEffect)(m,h),!f)return null;let{discussion:g,transcript:_}=f,v=f.organization?.organization,y=[`stopping`,`sealing`,`organizing`].includes(g.status),b;t[9]!==a.actionItems||t[10]!==a.decisions||t[11]!==a.openQuestions||t[12]!==a.organization||t[13]!==a.risks||t[14]!==v?(b=v?(0,$.jsxs)(`section`,{className:`border-b border-edge-subtle px-6 py-5`,children:[(0,$.jsxs)(`div`,{className:`mb-3 flex items-center gap-2 text-sm font-semibold text-accent-fg`,children:[(0,$.jsx)(je,{className:`size-4`,"aria-hidden":!0}),a.organization]}),(0,$.jsx)(`p`,{className:`text-sm leading-6 text-fg`,children:v.summary}),(0,$.jsxs)(`div`,{className:`mt-4 grid gap-4 text-sm leading-6 text-fg sm:grid-cols-2`,children:[v.decisions.length>0?(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`h3`,{className:`font-medium`,children:a.decisions}),(0,$.jsx)(Ct,{values:v.decisions})]}):null,v.actionItems.length>0?(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`h3`,{className:`font-medium`,children:a.actionItems}),(0,$.jsx)(Ct,{values:v.actionItems.map(Et)})]}):null,v.risks.length>0?(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`h3`,{className:`font-medium`,children:a.risks}),(0,$.jsx)(Ct,{values:v.risks})]}):null,v.openQuestions.length>0?(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`h3`,{className:`font-medium`,children:a.openQuestions}),(0,$.jsx)(Ct,{values:v.openQuestions})]}):null]})]}):null,t[9]=a.actionItems,t[10]=a.decisions,t[11]=a.openQuestions,t[12]=a.organization,t[13]=a.risks,t[14]=v,t[15]=b):b=t[15];let x;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,$.jsx)(R,{className:`size-4 text-accent`,"aria-hidden":!0}),t[16]=x):x=t[16];let S=g.status===`recording`?a.draftTranscript:a.fullTranscript,C;t[17]===S?C=t[18]:(C=(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-sm font-medium text-fg`,children:[x,S]}),t[17]=S,t[18]=C);let w;t[19]===g.status?w=t[20]:(w=g.status===`needs_attention`?(0,$.jsx)(O,{className:`size-3.5 text-danger`}):g.status===`completed`?(0,$.jsx)(Fe,{className:`size-3.5 text-success`}):null,t[19]=g.status,t[20]=w);let T=y?a.finalizing:g.status===`needs_attention`?g.failureMessage:null,E;t[21]!==w||t[22]!==T?(E=(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5 text-xs text-fg-muted`,children:[w,T]}),t[21]=w,t[22]=T,t[23]=E):E=t[23];let D;t[24]!==C||t[25]!==E?(D=(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[C,E]}),t[24]=C,t[25]=E,t[26]=D):D=t[26];let k=_.text||a.waitingTranscript,A;t[27]===k?A=t[28]:(A=(0,$.jsx)(`div`,{className:`mt-3 max-h-48 overflow-y-auto whitespace-pre-wrap text-sm leading-6 text-fg-muted`,children:k}),t[27]=k,t[28]=A);let j;t[29]!==D||t[30]!==A?(j=(0,$.jsxs)(`section`,{className:`px-6 py-4`,children:[D,A]}),t[29]=D,t[30]=A,t[31]=j):j=t[31];let M;return t[32]!==j||t[33]!==b?(M=(0,$.jsxs)(`div`,{className:`max-h-[45%] shrink-0 overflow-y-auto border-b border-edge-subtle`,children:[b,j]}),t[32]=j,t[33]=b,t[34]=M):M=t[34],M}function Et(e){return e.title}function Dt(e,t){return e.sequence-t.sequence}function Ot(e){return e.language}var kt={edit:we,ai_edit:je,sync:Y,restore:I};function At(e,t){return{edit:t.triggerEdit,ai_edit:t.triggerAiEdit,sync:t.triggerSync,restore:t.triggerRestore}[e]??e}function jt({noteId:e,activeTimestamp:t,onSelect:n,onClose:r,onRestored:i}){let a=s(l(e=>e.language)).notes,c=a,{data:u}=d(e?[`note-history`,e]:null,()=>pe(e)),[f,p]=(0,Q.useState)(!1),[m,h]=(0,Q.useState)(null),g=(0,Q.useCallback)(async t=>{p(!0);try{await G(e,t),h(null),i()}catch{z({type:`error`,title:a.restoreFailed})}finally{p(!1)}},[e,a.restoreSuccess,a.restoreFailed,i]),_=Date.now();return(0,$.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col`,children:[(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between border-b border-edge px-4 py-3`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-sm font-medium text-fg`,children:[(0,$.jsx)(ve,{className:`size-4`,"aria-hidden":!0}),a.history]}),(0,$.jsx)(`button`,{type:`button`,onClick:r,className:`rounded-lg p-1 text-fg-muted transition-colors hover:bg-surface-hover hover:text-fg`,children:(0,$.jsx)(Te,{className:`size-4`,"aria-hidden":!0})})]}),(0,$.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:u?.length?(0,$.jsx)(`ul`,{className:`divide-y divide-edge`,children:u.map(e=>{let r=kt[e.trigger]??we,i=t===e.timestamp,s=m===e.timestamp;return(0,$.jsxs)(`li`,{children:[(0,$.jsxs)(`button`,{type:`button`,onClick:()=>n(e),className:o(`w-full px-4 py-3 text-left transition-colors`,i?`bg-accent/10`:`hover:bg-surface-hover`),children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(r,{className:`size-3.5 shrink-0 text-fg-muted`,"aria-hidden":!0}),(0,$.jsx)(`span`,{className:`text-xs font-medium text-fg`,children:At(e.trigger,a)}),(0,$.jsx)(`span`,{className:`ml-auto text-xs text-fg-muted`,children:ot(e.timestamp,_,c)})]}),e.snippet&&(0,$.jsx)(`p`,{className:`mt-1 truncate text-xs text-fg-muted/60`,children:e.snippet})]}),i&&(0,$.jsx)(`div`,{className:`border-t border-edge/50 px-4 py-2`,children:s?(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`min-w-0 truncate text-xs text-fg-muted`,children:a.restoreConfirm}),(0,$.jsx)(`button`,{type:`button`,onClick:t=>{t.stopPropagation(),g(e.timestamp)},disabled:f,className:`shrink-0 rounded-lg bg-accent px-3 py-1 text-xs font-medium text-on-accent transition-colors hover:bg-accent/90 disabled:opacity-50`,children:f?`...`:a.restore}),(0,$.jsx)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),h(null)},className:`shrink-0 rounded-lg px-2 py-1 text-xs text-fg-muted hover:bg-surface-hover`,children:`Cancel`})]}):(0,$.jsx)(`button`,{type:`button`,onClick:t=>{t.stopPropagation(),h(e.timestamp)},className:`rounded-lg bg-surface-hover px-3 py-1 text-xs font-medium text-fg transition-colors hover:bg-accent hover:text-on-accent`,children:a.restore})})]},e.timestamp)})}):(0,$.jsxs)(`div`,{className:`px-4 py-8 text-center`,children:[(0,$.jsx)(`p`,{className:`text-sm font-medium text-fg-muted`,children:a.historyEmpty}),(0,$.jsx)(`p`,{className:`mt-1 text-xs text-fg-muted/60`,children:a.historyEmptyDescription})]})})]})}function Mt(e){let t=(0,Z.c)(10),{noteId:n,note:r,catalyzing:i,onCatalyze:c,onClose:u,noteThreads:f,openingChat:p,onOpenChat:m,onOpenNewChat:h}=e,g=s(l(zt)).notes,_=a(),v=r?.aiDeep?.catalysis,y=v?.report??null,b;t[0]===n?b=t[1]:(b=n?[`note-agent-context-status`,n]:null,t[0]=n,t[1]=b);let x;t[2]===n?x=t[3]:(x=()=>X(n),t[2]=n,t[3]=x);let S;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(S={revalidateOnFocus:!1},t[4]=S):S=t[4];let{data:C,mutate:D,isLoading:O}=d(b,x,S),k;t[5]===n?k=t[6]:(k=async e=>{try{await Ye(n,e)}catch{}},t[5]=n,t[6]=k);let A=k,j;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,$.jsx)(je,{className:`size-4 text-accent`,"aria-hidden":!0}),t[7]=j):j=t[7];let M;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,$.jsx)(w,{className:`size-4 rotate-180`,"aria-hidden":!0}),t[8]=M):M=t[8];let N;return t[9]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,$.jsx)(T,{className:`size-4 text-accent`,"aria-hidden":!0}),t[9]=N):N=t[9],(0,$.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between border-b border-edge-subtle px-4 py-3`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[j,(0,$.jsx)(`span`,{className:`text-sm font-semibold text-fg`,children:g.catalysisSectionTitle})]}),(0,$.jsx)(`button`,{type:`button`,onClick:u,"aria-label":g.lightboxClose,className:`rounded-lg p-1.5 text-fg-muted transition-colors hover:bg-surface-hover hover:text-fg`,children:M})]}),(0,$.jsxs)(`div`,{className:`flex-1 overflow-y-auto p-4`,children:[(0,$.jsx)(`p`,{className:`mb-4 text-xs leading-relaxed text-fg-muted`,children:g.catalysisSectionDescription}),C?(0,$.jsxs)(`section`,{className:`mb-4 rounded-xl bg-surface-base p-3`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,$.jsx)(`div`,{className:`text-xs font-medium text-fg-muted`,children:g.contextStatusTitle}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>void D(()=>Ue(n),{revalidate:!1}),disabled:O,className:`rounded-md px-1.5 py-0.5 text-[11px] font-medium text-accent transition-colors hover:bg-accent/10 disabled:cursor-not-allowed disabled:opacity-50`,children:g.contextRebuild}),(0,$.jsx)(`span`,{className:o(`rounded-full px-2 py-0.5 text-[11px] font-medium`,C.status===`ready`?`bg-emerald-500/10 text-emerald-600 dark:text-emerald-300`:C.status===`partial`?`bg-amber-500/10 text-amber-600 dark:text-amber-300`:`bg-red-500/10 text-red-600 dark:text-red-300`),children:C.status})]}),(0,$.jsx)(`div`,{className:`mt-2 text-xs leading-relaxed text-fg-muted`,children:g.contextStatusDetail.replace(`{{attachments}}`,String(C.attachments.length)).replace(`{{tokens}}`,String(C.tokenEstimate??0))}),C.attachments.length>0?(0,$.jsx)(`div`,{className:`mt-3 space-y-1.5`,children:C.attachments.slice(0,5).map(Rt)}):null]}):null,(0,$.jsx)(`button`,{type:`button`,onClick:c,disabled:i,className:`w-full rounded-lg bg-accent px-2.5 py-1.5 text-xs font-medium text-white transition-colors hover:bg-accent/90 disabled:cursor-not-allowed disabled:opacity-50`,children:i?g.processing:y?g.recatalyze:g.catalyzeAction}),y?(0,$.jsxs)(`div`,{className:`mt-4 space-y-4`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`div`,{className:`text-xs font-medium text-fg-muted`,children:g.valueHypothesis}),(0,$.jsx)(`p`,{className:`mt-1 text-sm leading-relaxed text-fg`,children:y.valueHypothesis})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`div`,{className:`text-xs font-medium text-fg-muted`,children:g.targetUsers}),(0,$.jsx)(`div`,{className:`mt-1 flex flex-wrap gap-1.5`,children:y.targetUsers.slice(0,5).map(Lt)})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`div`,{className:`text-xs font-medium text-fg-muted`,children:g.keyQuestions}),(0,$.jsx)(`ul`,{className:`mt-1 space-y-1 text-sm leading-relaxed text-fg`,children:y.keyQuestions.slice(0,3).map(It)})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`div`,{className:`text-xs font-medium text-fg-muted`,children:g.mvpPathLabel}),(0,$.jsx)(`ol`,{className:`mt-1 space-y-1 text-sm leading-relaxed text-fg`,children:y.mvpPath.slice(0,3).map(Ft)})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`div`,{className:`text-xs font-medium text-fg-muted`,children:g.risks}),(0,$.jsx)(`ul`,{className:`mt-1 space-y-1 text-sm leading-relaxed text-fg`,children:y.risks.slice(0,3).map(Pt)})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`div`,{className:`text-xs font-medium text-fg-muted`,children:g.nextActions}),(0,$.jsx)(`ul`,{className:`mt-1 space-y-1 text-sm leading-relaxed text-fg`,children:y.nextActions.slice(0,4).map(Nt)})]}),(0,$.jsxs)(`div`,{className:`flex items-center justify-between border-t border-edge-subtle pt-3`,children:[(0,$.jsx)(`span`,{className:`text-xs text-fg-muted`,children:g.confidenceLabel.replace(`{{percent}}`,String(Math.round(y.confidence*100)))}),(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,$.jsx)(`button`,{type:`button`,onClick:()=>void A(`helpful`),className:o(`rounded-lg p-1.5 text-fg-muted transition-colors hover:bg-surface-hover hover:text-fg`,v?.feedback===`helpful`&&`bg-accent/10 text-accent`),"aria-label":g.feedbackHelpfulAria,children:(0,$.jsx)(B,{className:`size-3.5`,"aria-hidden":!0})}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>void A(`not_helpful`),className:o(`rounded-lg p-1.5 text-fg-muted transition-colors hover:bg-surface-hover hover:text-fg`,v?.feedback===`not_helpful`&&`bg-accent/10 text-accent`),"aria-label":g.feedbackNotHelpfulAria,children:(0,$.jsx)(E,{className:`size-3.5`,"aria-hidden":!0})})]})]})]}):(0,$.jsx)(`div`,{className:`mt-4 rounded-lg border border-dashed border-edge-subtle px-3 py-6 text-center text-sm text-fg-muted`,children:g.noCatalysisReportHint}),(0,$.jsxs)(`section`,{className:`mt-6 rounded-xl bg-surface-base p-4`,children:[(0,$.jsxs)(`div`,{className:`mb-3 flex items-center justify-between gap-3`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-sm font-semibold text-fg`,children:[N,g.relatedThreadsTitle]}),(0,$.jsx)(`p`,{className:`mt-1 text-xs text-fg-muted`,children:g.relatedThreadsDescription})]}),(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1.5`,children:[(0,$.jsx)(`button`,{type:`button`,onClick:m,disabled:p,className:`rounded-lg border border-edge px-2.5 py-1.5 text-xs font-medium text-fg-muted transition-colors hover:bg-surface-hover hover:text-fg disabled:cursor-not-allowed disabled:opacity-50`,children:p?g.openingChat:g.openThread}),(0,$.jsx)(`button`,{type:`button`,onClick:h,disabled:p,className:`rounded-lg bg-accent px-2.5 py-1.5 text-xs font-medium text-white transition-colors hover:bg-accent/90 disabled:cursor-not-allowed disabled:opacity-50`,children:g.newThread})]})]}),f.length>0?(0,$.jsx)(`div`,{className:`space-y-2`,children:f.slice(0,5).map(e=>(0,$.jsxs)(`button`,{type:`button`,onClick:()=>_(`/chat/${encodeURIComponent(e.key)}`),className:`w-full rounded-lg border border-edge-subtle px-3 py-2 text-left transition-colors hover:bg-surface-hover`,children:[(0,$.jsx)(`div`,{className:`truncate text-sm font-medium text-fg`,children:e.name||g.noteDiscussionFallback}),(0,$.jsx)(`div`,{className:`mt-0.5 text-xs text-fg-muted`,children:g.messageCount.replace(`{{count}}`,String(e.messageCount??0))})]},e.key))}):(0,$.jsx)(`div`,{className:`rounded-lg border border-dashed border-edge-subtle px-3 py-5 text-center text-sm text-fg-muted`,children:g.noThreads})]})]})]})}function Nt(e){return(0,$.jsxs)(`li`,{className:`flex gap-2`,children:[(0,$.jsx)(`span`,{className:`rounded bg-accent/10 px-1.5 py-0.5 text-[10px] uppercase tracking-wide text-accent`,children:e.kind}),(0,$.jsx)(`span`,{children:e.text})]},`${e.kind}:${e.text}`)}function Pt(e){return(0,$.jsxs)(`li`,{className:`flex gap-2`,children:[(0,$.jsx)(`span`,{className:`mt-2 size-1 shrink-0 rounded-full bg-fg-muted`}),(0,$.jsx)(`span`,{children:e})]},e)}function Ft(e,t){return(0,$.jsxs)(`li`,{className:`flex gap-2`,children:[(0,$.jsxs)(`span`,{className:`text-fg-muted`,children:[t+1,`.`]}),(0,$.jsx)(`span`,{children:e})]},e)}function It(e){return(0,$.jsxs)(`li`,{className:`flex gap-2`,children:[(0,$.jsx)(`span`,{className:`mt-2 size-1 shrink-0 rounded-full bg-accent`}),(0,$.jsx)(`span`,{children:e})]},e)}function Lt(e){return(0,$.jsx)(`span`,{className:`rounded-full bg-surface-hover px-2 py-0.5 text-xs text-fg`,children:e},e)}function Rt(e){return(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2 rounded-lg bg-surface-hover px-2 py-1.5 text-xs`,children:[(0,$.jsx)(`span`,{className:`min-w-0 truncate text-fg`,children:e.fileName}),(0,$.jsx)(`span`,{className:`shrink-0 text-fg-muted`,children:e.status})]},e.attachmentId)}function zt(e){return e.language}var Bt=()=>i(()=>import(`./block-editor-B8hR2tXc.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26])),Vt=()=>i(()=>import(`./markdown-editor-BvUebh3C.js`).then(e=>e.n),__vite__mapDeps([27,1,3,24,5,28])),Ht=(0,Q.lazy)(()=>Bt().then(e=>({default:e.BlockEditor}))),Ut=(0,Q.lazy)(()=>Vt().then(e=>({default:e.MarkdownEditor})));function Wt(){let e=(0,Z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,$.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col px-6 py-4`,"aria-busy":!0,children:[(0,$.jsx)(`div`,{className:`h-8 w-56 max-w-full animate-pulse rounded-md bg-surface-hover`}),(0,$.jsx)(`div`,{className:`mt-6 h-4 w-11/12 animate-pulse rounded bg-surface-hover`}),(0,$.jsx)(`div`,{className:`mt-3 h-4 w-9/12 animate-pulse rounded bg-surface-hover`}),(0,$.jsx)(`div`,{className:`mt-3 h-4 w-10/12 animate-pulse rounded bg-surface-hover`})]}),e[0]=t):t=e[0],t}function Gt(e){let t=(0,Z.c)(14),{mode:n,onModeChange:r,labels:i}=e,a;t[0]===i.edit?a=t[1]:(a={id:`wysiwyg`,label:i.edit,Icon:h},t[0]=i.edit,t[1]=a);let s;t[2]===i.source?s=t[3]:(s={id:`source`,label:i.source,Icon:A},t[2]=i.source,t[3]=s);let c;t[4]===i.preview?c=t[5]:(c={id:`preview`,label:i.preview,Icon:ee},t[4]=i.preview,t[5]=c);let l;t[6]!==a||t[7]!==s||t[8]!==c?(l=[a,s,c],t[6]=a,t[7]=s,t[8]=c,t[9]=l):l=t[9];let u=l,d;return t[10]!==n||t[11]!==u||t[12]!==r?(d=(0,$.jsx)(`div`,{className:`flex items-center gap-0.5 rounded-lg border border-edge p-0.5`,children:u.map(e=>{let{id:t,label:i,Icon:a}=e;return(0,$.jsxs)(`button`,{type:`button`,onClick:()=>r(t),onMouseEnter:()=>{t===`wysiwyg`&&Bt(),t===`source`&&Vt()},onFocus:()=>{t===`wysiwyg`&&Bt(),t===`source`&&Vt()},className:o(`inline-flex items-center gap-1 rounded-lg px-2 py-1 text-xs font-medium transition-colors`,n===t?`bg-surface-hover text-fg`:`text-fg-muted hover:bg-surface-hover hover:text-fg`),children:[(0,$.jsx)(a,{className:`size-3.5`,"aria-hidden":!0}),i]},t)})}),t[10]=n,t[11]=u,t[12]=r,t[13]=d):d=t[13],d}function Kt(e){let t=(0,Z.c)(15),{noteId:n,onBack:r,onSaved:i,showBackButton:a,backButtonClassName:o,clearHeaderOnCleanup:c,onOpenSearch:u,autoFocus:d,onAutoFocusConsumed:f}=e,p=a===void 0?!0:a,m=c===void 0?!0:c,h=d===void 0?!1:d,g=l(qt),_;t[0]===g?_=t[1]:(_=s(g),t[0]=g,t[1]=_);let v=_.notes.lightboxClose,y;t[2]!==h||t[3]!==o||t[4]!==m||t[5]!==n||t[6]!==f||t[7]!==r||t[8]!==u||t[9]!==i||t[10]!==p?(y=(0,$.jsx)(Jt,{noteId:n,onBack:r,onSaved:i,showBackButton:p,backButtonClassName:o,clearHeaderOnCleanup:m,onOpenSearch:u,autoFocus:h,onAutoFocusConsumed:f}),t[2]=h,t[3]=o,t[4]=m,t[5]=n,t[6]=f,t[7]=r,t[8]=u,t[9]=i,t[10]=p,t[11]=y):y=t[11];let b;return t[12]!==v||t[13]!==y?(b=(0,$.jsx)(et,{closeLabel:v,children:y}),t[12]=v,t[13]=y,t[14]=b):b=t[14],b}function qt(e){return e.language}function Jt({noteId:e,onBack:t,onSaved:n,showBackButton:r=!0,backButtonClassName:i,clearHeaderOnCleanup:c=!0,onOpenSearch:p,autoFocus:m=!1,onAutoFocusConsumed:h}){let g=l(e=>e.language),_=s(g).notes,v=s(g).automations.suggestions,b=a(),x=u(e=>e.resolved)===`dark`,{openImage:S}=Qe(),[C,E]=(0,Q.useState)(`wysiwyg`),[D,O]=(0,Q.useState)(null),[k,A]=(0,Q.useState)(null),[j,M]=(0,Q.useState)(!1),[P,F]=(0,Q.useState)(``),[I,ee]=(0,Q.useState)(360),[ne,re]=(0,Q.useState)(!1),[L,ie]=(0,Q.useState)(!1),[ae,oe]=(0,Q.useState)(!1),R=(0,Q.useRef)(!1),se=(0,Q.useRef)(!1),B=(0,Q.useRef)(null),V=(0,Q.useRef)(null),H=(0,Q.useRef)(null),U=(0,Q.useRef)(null),G=(0,Q.useRef)(null),le=(0,Q.useRef)(null),ue=(0,Q.useRef)(null),de=(0,Q.useRef)(null),pe=(0,Q.useRef)(null),me=fe(e=>e.setPageHeader),he=fe(e=>e.clearPageHeader),{data:q,mutate:Y}=d(e?[`note-detail`,e]:null,()=>K(e)),{data:_e=[],mutate:ye}=d(e?[`note-threads`,e]:null,()=>J(e),{revalidateOnFocus:!1}),be=k!==null;(0,Q.useEffect)(()=>{if(!e)return;let t=t=>{t.detail?.noteId===e&&Y()};return window.addEventListener(`note-updated`,t),()=>window.removeEventListener(`note-updated`,t)},[Y,e]),(0,Q.useEffect)(()=>{R.current=!1,F(``),A(null),O(null),se.current=!1,pe.current=null},[e]),(0,Q.useEffect)(()=>{!q||R.current||(F(q.title??``),R.current=!0)},[q]),(0,Q.useEffect)(()=>{if(!m||!q||be||pe.current===e)return;let t=window.requestAnimationFrame(()=>{de.current?.focus(),h?.()});return pe.current=e,()=>window.cancelAnimationFrame(t)},[m,be,q,e,h]);let xe=q?new Date(q.createdAt).toLocaleString(void 0,{year:`numeric`,month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`}):``,Se=(0,Q.useMemo)(()=>r?(0,$.jsx)(`button`,{type:`button`,onClick:t,"aria-label":_.back,className:o(`rounded-lg p-1.5 text-fg-muted transition-colors hover:bg-surface-hover hover:text-fg`,N,i),children:(0,$.jsx)(w,{className:`size-4`,"aria-hidden":!0})}):null,[i,_.back,t,r]),we=(0,Q.useCallback)(t=>{F(t),e&&(U.current=t,V.current&&clearTimeout(V.current),V.current=setTimeout(async()=>{let t=U.current;if(U.current=null,t!==null){M(!0);try{await Je(e,{title:t}),await Y(),n?.()}catch{}finally{M(!1)}}},600))},[e,Y,n]),Te=(0,Q.useMemo)(()=>(0,$.jsxs)(`div`,{className:o(`flex min-w-0 items-center gap-2`,N),children:[(0,$.jsx)(`span`,{className:`min-w-0 truncate text-sm font-medium text-fg`,title:P||xe||void 0,children:P||xe}),j?(0,$.jsx)(`span`,{className:`shrink-0 text-xs text-fg-muted opacity-60`,children:_.saving}):null]}),[_.saving,j,xe,P]),Ee=(0,Q.useCallback)(async(t=!1)=>{oe(!0);try{let n=await Ae(e,{forceNew:t});await Y(),await ye(),b(`/chat/${encodeURIComponent(n.sessionKey)}`)}catch(e){z({type:`error`,title:_.chatOpenFailedTitle,message:e instanceof Error?e.message:_.chatOpenFailedMessage})}finally{oe(!1)}},[Y,ye,b,e,_.chatOpenFailedMessage,_.chatOpenFailedTitle]),De=(0,Q.useCallback)(async()=>{ie(!0);try{await W(e),await Y()}catch(e){z({type:`error`,title:_.catalysisFailed,message:e instanceof Error?e.message:_.chatOpenFailedMessage})}finally{ie(!1)}},[Y,e]),Oe=(0,Q.useCallback)(()=>{O(D===`breakdown`?null:`breakdown`),!q?.aiDeep?.catalysis?.report&&!L&&De()},[D,L,De,q?.aiDeep?.catalysis?.report]),X=(0,Q.useCallback)(()=>{let t=k?.markdown??H.current??q?.markdown??``,n=k?.title??P,r=te([n,t].filter(Boolean).join(`
3
+
4
+ `));return{source:{type:`note`,id:e,title:n||_.titlePlaceholder},text:r,language:f(r,g)}},[g,_.titlePlaceholder,q?.markdown,e,k,P]),ke=(0,Q.useMemo)(()=>(0,$.jsxs)(`div`,{className:o(`flex items-center gap-2`,N),children:[p?(0,$.jsx)(`button`,{type:`button`,onClick:p,"aria-label":_.searchDialogTitle,className:`rounded-lg p-1.5 text-fg-muted transition-colors hover:bg-surface-hover hover:text-fg focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,children:(0,$.jsx)(ge,{className:`size-4`,"aria-hidden":!0})}):null,(0,$.jsx)(Ce,{input:X,labels:{read:_.readAloud,preparing:_.readAloudPreparing,pause:_.readAloudPause,resume:_.readAloudResume,retry:_.readAloudRetry},showLabel:!0}),(0,$.jsxs)(`button`,{type:`button`,onClick:Oe,disabled:L,"aria-label":_.catalysisSectionTitle,className:o(`inline-flex items-center gap-1.5 rounded-lg px-2.5 py-1.5 text-xs font-medium transition-colors disabled:cursor-not-allowed disabled:opacity-50`,D===`breakdown`?`bg-accent/10 text-accent`:`bg-accent/10 text-fg hover:bg-accent/15`),children:[(0,$.jsx)(je,{className:`size-3.5`,"aria-hidden":!0}),L?_.catalyzing:_.catalyzeButton]}),(0,$.jsxs)(`button`,{type:`button`,onClick:()=>Ee(!1),disabled:ae,className:o(`inline-flex items-center gap-1.5 rounded-lg px-2.5 py-1.5 text-xs font-medium transition-colors`,`border border-edge text-fg-muted hover:bg-surface-hover hover:text-fg disabled:cursor-not-allowed disabled:opacity-50`),children:[(0,$.jsx)(T,{className:`size-3.5`,"aria-hidden":!0}),ae?_.openingChat:_.openChatButton]}),(0,$.jsx)(Gt,{mode:C,onModeChange:E,labels:{edit:_.modeEdit,source:_.modeSource,preview:_.modePreview}}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>O(D===`history`?null:`history`),"aria-label":_.history,className:o(`rounded-lg p-1.5 transition-colors`,D===`history`?`bg-accent/10 text-accent`:`text-fg-muted hover:bg-surface-hover hover:text-fg`),children:(0,$.jsx)(ve,{className:`size-4`,"aria-hidden":!0})})]}),[L,Oe,Ee,C,_.history,_.modeEdit,_.modePreview,_.modeSource,ae,D,p,_.searchDialogTitle,_.readAloud,_.readAloudPause,_.readAloudPreparing,_.readAloudResume,_.readAloudRetry,X]);(0,Q.useLayoutEffect)(()=>(me({startExtra:Se,main:q?Te:null,end:q?ke:null}),()=>{c&&he()}),[c,he,ke,Te,Se,q,me]);let Me=(0,Q.useCallback)(t=>{e&&(H.current=t,B.current&&clearTimeout(B.current),B.current=setTimeout(async()=>{let t=H.current;if(H.current=null,t!==null){M(!0);try{await Je(e,{markdown:t}),await Y(),n?.()}catch(e){z({type:`error`,title:_.saveFailed,message:e instanceof Error?e.message:_.saveFailedHint})}finally{M(!1)}}},600))},[e,Y,_.saveFailed,_.saveFailedHint,n]),Ne=(0,Q.useCallback)(t=>{He(e,t.timestamp).then(e=>{e&&A(e)})},[e]),Pe=(0,Q.useCallback)(()=>{O(null),A(null)},[]),Fe=(0,Q.useCallback)(()=>{O(null),A(null),Y(),n?.()},[Y,n]);if((0,Q.useEffect)(()=>()=>{B.current&&clearTimeout(B.current),V.current&&clearTimeout(V.current);let t=H.current,n=U.current;H.current=null,U.current=null;let r={};t!==null&&(r.markdown=t),n!==null&&(r.title=n),Object.keys(r).length>0&&Je(e,r)},[e]),q===void 0)return(0,$.jsx)(`div`,{className:`flex flex-1 items-center justify-center`,children:(0,$.jsx)(`div`,{className:`size-6 animate-spin rounded-full border-2 border-accent border-t-transparent`})});if(q===null)return(0,$.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center gap-3 text-center`,children:[(0,$.jsx)(`div`,{className:`text-sm font-medium text-fg`,children:_.notFoundTitle}),(0,$.jsx)(`p`,{className:`text-sm text-fg-muted`,children:_.notFoundDescription}),(0,$.jsx)(`button`,{type:`button`,onClick:t,className:`rounded-lg border border-edge px-3 py-1.5 text-sm font-medium text-fg-muted transition-colors hover:bg-surface-hover hover:text-fg`,children:_.back})]});let Ie=be?k.title??``:P,Le=be?k.markdown??``:q.markdown??``,Re=new Date(q.createdAt).getTime(),ze=Number.isFinite(Re)&&Date.now()-Re<3600*1e3?(0,$.jsx)(yt,{title:v.noteCreatedTitle,description:v.noteCreatedDescription,prompt:v.noteCreatedPrompt,coverage:{eventType:`note.created`,source:`notes`,eventPayload:{noteId:e}},variant:`titleAction`,className:`ml-3 hidden max-w-[18rem] shrink-0 md:flex`}):null;return(0,$.jsxs)(`div`,{className:`flex h-full min-h-0 gap-3 p-4 sm:px-5`,children:[(0,$.jsxs)(`div`,{className:`mx-auto flex min-h-0 min-w-0 w-full max-w-[60rem] flex-1 flex-col`,children:[(0,$.jsx)(ce,{eventType:`note.created`,source:`notes`,payloadKey:`noteId`,payloadValue:e,className:`mb-3 shrink-0`}),(0,$.jsx)(ce,{eventType:`note.updated`,source:`notes`,payloadKey:`noteId`,payloadValue:e,className:`mb-3 shrink-0`}),(0,$.jsxs)(`div`,{ref:G,className:`flex min-h-0 flex-1 flex-col overflow-hidden rounded-xl border border-edge-subtle bg-surface-panel`,children:[(0,$.jsx)(Tt,{noteId:e}),be?(0,$.jsxs)(`div`,{className:`h-full overflow-y-auto px-6 py-4`,children:[Ie&&(0,$.jsx)(`h1`,{className:`mb-4 text-2xl font-bold text-fg/70`,children:Ie}),Le?(0,$.jsx)(y,{noteId:e,content:Le,className:`opacity-80`}):(0,$.jsx)(`p`,{className:`italic text-fg-muted`,children:_.emptyPreview})]}):(0,$.jsxs)($.Fragment,{children:[C===`wysiwyg`&&(0,$.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,$.jsxs)(`div`,{className:`flex shrink-0 items-start px-6 pt-4`,children:[(0,$.jsx)(`input`,{ref:de,type:`text`,value:P,onChange:e=>we(e.target.value),onCompositionStart:()=>{se.current=!0},onCompositionEnd:()=>{se.current=!1},onKeyDown:e=>{let t=e.nativeEvent;e.key===`Enter`&&!se.current&&!t.isComposing&&(e.preventDefault(),(G.current?.querySelector(`.ProseMirror`))?.focus())},placeholder:_.titlePlaceholder,className:`min-w-0 flex-1 border-none bg-transparent text-2xl font-bold text-fg placeholder:text-fg-muted/40 focus:outline-none`}),ze]}),(0,$.jsx)(`div`,{className:`min-h-0 flex-1`,children:(0,$.jsx)(Q.Suspense,{fallback:(0,$.jsx)(Wt,{}),children:(0,$.jsx)(Ht,{initialContent:q.markdown??``,onChange:Me,noteId:e},`wysiwyg-${e}`)})})]}),C===`source`&&(0,$.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,$.jsxs)(`div`,{className:`flex shrink-0 items-start px-6 pt-4`,children:[(0,$.jsx)(`input`,{ref:de,type:`text`,value:P,onChange:e=>we(e.target.value),placeholder:_.titlePlaceholder,className:`min-w-0 flex-1 border-none bg-transparent text-2xl font-bold text-fg placeholder:text-fg-muted/40 focus:outline-none`}),ze]}),(0,$.jsx)(`div`,{className:`min-h-0 flex-1`,children:(0,$.jsx)(Q.Suspense,{fallback:(0,$.jsx)(Wt,{}),children:(0,$.jsx)(Ut,{initialContent:q.markdown??``,onChange:Me,isDark:x},`source-${e}`)})})]}),C===`preview`&&(0,$.jsxs)(`div`,{className:`h-full overflow-y-auto px-6 py-4`,onClick:e=>{let t=e.target;t instanceof HTMLImageElement&&S(t.currentSrc||t.src,t.alt)},children:[P&&(0,$.jsx)(`h1`,{className:`mb-4 text-2xl font-bold text-fg`,children:P}),q.markdown?(0,$.jsx)(y,{noteId:e,content:q.markdown,className:`[&_img]:cursor-zoom-in`}):(0,$.jsx)(`p`,{className:`italic text-fg-muted`,children:_.emptyPreview})]})]})]})]}),(0,$.jsx)(`div`,{ref:le,className:o(`relative flex min-h-0 shrink-0 flex-col overflow-hidden`,!ne&&`transition-[width] duration-300 ease-in-out`),style:{width:D?I:0},children:(0,$.jsxs)(`div`,{ref:ue,className:`flex min-h-0 flex-1 flex-col`,style:{width:I},children:[(0,$.jsx)(`div`,{role:`separator`,"aria-orientation":`vertical`,onPointerDown:e=>{e.preventDefault();let t=e.currentTarget;t.setPointerCapture(e.pointerId),re(!0);let n=e.clientX,r=I,i=e.pointerId,a=0,o=I,s=I,c=()=>{a=0,s=o,D&&le.current?.style.setProperty(`width`,`${s}px`),ue.current?.style.setProperty(`width`,`${s}px`)},l=e=>{let t=r-(e.clientX-n);o=Math.max(280,Math.min(600,Math.round(t))),a===0&&(a=window.requestAnimationFrame(c))},u=()=>{a!==0&&(window.cancelAnimationFrame(a),c());try{t.releasePointerCapture(i)}catch{}re(!1),ee(s),window.removeEventListener(`pointermove`,l),window.removeEventListener(`pointerup`,u),window.removeEventListener(`pointercancel`,u)};window.addEventListener(`pointermove`,l),window.addEventListener(`pointerup`,u),window.addEventListener(`pointercancel`,u)},className:o(`absolute left-0 top-0 z-10 h-full w-2 -translate-x-1/2 cursor-col-resize`,`before:content-[''] before:pointer-events-none before:absolute before:left-1/2 before:top-0 before:h-full before:w-px before:-translate-x-1/2`,`before:bg-transparent before:transition-[background-color] before:duration-150`,`hover:before:bg-edge/65 dark:hover:before:bg-edge/75`,ne&&`before:!bg-edge/80 dark:before:!bg-edge/85`,`touch-none select-none`)}),(0,$.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-hidden rounded-xl border border-edge-subtle bg-surface-panel`,children:D===`history`?(0,$.jsx)(jt,{noteId:e,activeTimestamp:k?.timestamp??null,onSelect:Ne,onClose:Pe,onRestored:Fe}):D===`breakdown`?(0,$.jsx)(Mt,{noteId:e,note:q??null,catalyzing:L,onCatalyze:De,onClose:()=>O(null),noteThreads:_e,openingChat:ae,onOpenChat:()=>Ee(!1),onOpenNewChat:()=>Ee(!0)}):null})]})})]})}var Yt=3e4;function Xt(){if(!(typeof MediaRecorder>`u`))return[`audio/webm;codecs=opus`,`audio/webm`,`audio/mp4`,`audio/ogg;codecs=opus`].find(e=>MediaRecorder.isTypeSupported(e))}function Zt({placeholder:e,sendLabel:t,onCapture:n,onImagePick:r,onVoiceCapture:i,recordingLabel:a=`Recording…`,imageDisabled:s=!1,voiceDisabled:c=!1,onDiscussionCapture:l,discussionCaptureLabel:u=`Record discussion`}){let[d,f]=(0,Q.useState)(``),[p,h]=(0,Q.useState)(!1),[g,_]=(0,Q.useState)(!1),[v,y]=(0,Q.useState)(0),[b,x]=(0,Q.useState)(!1),S=(0,Q.useRef)(null),C=(0,Q.useRef)(null),w=(0,Q.useRef)(null),T=(0,Q.useRef)([]),E=(0,Q.useRef)(0),D=(0,Q.useRef)(null),O=(0,Q.useRef)(null),k=(0,Q.useCallback)(()=>{D.current&&=(clearInterval(D.current),null),O.current&&=(clearTimeout(O.current),null),w.current?.getTracks().forEach(e=>e.stop()),w.current=null,C.current=null,T.current=[],_(!1),y(0)},[]);(0,Q.useEffect)(()=>()=>k(),[k]);let A=(0,Q.useCallback)(async()=>{let e=C.current;if(!e||e.state!==`recording`)return;x(!0),await new Promise(t=>{e.addEventListener(`stop`,()=>t(),{once:!0}),e.stop()});let t=Math.max(1,Math.round((Date.now()-E.current)/1e3)),n=e.mimeType||Xt()||`audio/webm`,r=new Blob(T.current,{type:n});if(k(),r.size>0&&i){let e=n.includes(`mp4`)?`m4a`:n.includes(`ogg`)?`ogg`:`webm`,a=new File([r],`voice-${Date.now()}.${e}`,{type:n});try{await i(a,t)}finally{x(!1)}return}x(!1)},[k,i]),j=(0,Q.useCallback)(async()=>{if(!(!i||b||g)&&!(!navigator.mediaDevices?.getUserMedia||typeof MediaRecorder>`u`))try{let e=await navigator.mediaDevices.getUserMedia({audio:!0}),t=Xt(),n=t?new MediaRecorder(e,{mimeType:t}):new MediaRecorder(e);w.current=e,C.current=n,T.current=[],E.current=Date.now(),n.ondataavailable=e=>{e.data.size>0&&T.current.push(e.data)},n.start(),_(!0),y(0),D.current=setInterval(()=>{y(Math.round((Date.now()-E.current)/1e3))},250),O.current=setTimeout(()=>{A()},Yt)}catch{k()}},[k,i,g,A,b]),M=(0,Q.useCallback)(()=>{if(g){A();return}j()},[g,j,A]),N=(0,Q.useCallback)(async e=>{let t=d.trim();if(!(!t||p)){h(!0),f(``);try{await n(t,e)}catch{f(t)}finally{h(!1),S.current?.focus()}}},[d,p,n]),P=(0,Q.useCallback)(e=>{e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),N()),e.key===`Enter`&&e.shiftKey&&(e.preventDefault(),N({navigate:!1}))},[N]),F=p||b;return(0,$.jsxs)(`div`,{className:o(`flex items-center gap-1.5 rounded-2xl border border-edge bg-surface-panel p-2 shadow-float dark:shadow-elevated`,`focus-within:border-accent focus-within:ring-1 focus-within:ring-accent`,g&&`border-danger ring-1 ring-danger/40`),children:[r&&(0,$.jsx)(`button`,{type:`button`,onClick:r,disabled:F||s||g,className:`shrink-0 rounded-lg p-2 text-fg-muted transition-colors hover:bg-surface-hover hover:text-fg disabled:cursor-not-allowed disabled:opacity-50`,"aria-label":`Image`,children:(0,$.jsx)(q,{className:`size-4`})}),i&&(0,$.jsx)(`button`,{type:`button`,onClick:M,disabled:F||c||p,className:o(`shrink-0 rounded-lg p-2 transition-colors disabled:cursor-not-allowed disabled:opacity-50`,g?`bg-danger-soft text-danger hover:bg-danger-soft`:`text-fg-muted hover:bg-surface-hover hover:text-fg`),"aria-label":g?`Stop recording`:`Voice`,"aria-pressed":g,children:g?(0,$.jsx)(m,{className:`size-4 fill-current`}):(0,$.jsx)(R,{className:`size-4`})}),l&&!g?(0,$.jsx)(`button`,{type:`button`,onClick:l,disabled:F,className:`shrink-0 rounded-lg p-2 text-fg-muted transition-colors hover:bg-surface-hover hover:text-fg disabled:cursor-not-allowed disabled:opacity-50`,"aria-label":u,title:u,children:(0,$.jsx)(L,{className:`size-4`,"aria-hidden":!0})}):null,g?(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate py-1.5 text-sm text-danger`,children:a.replace(`{{seconds}}`,String(v))}):(0,$.jsx)(`textarea`,{ref:S,value:d,onChange:e=>f(e.target.value),onKeyDown:P,placeholder:e,rows:1,disabled:F,className:`min-h-8 flex-1 resize-none bg-transparent py-1.5 text-sm leading-5 text-fg placeholder:text-fg-muted focus:outline-none disabled:opacity-60`,style:{fieldSizing:`content`}}),(0,$.jsx)(`button`,{type:`button`,disabled:!d.trim()||F||g,onClick:e=>void N({navigate:!e.shiftKey}),"aria-label":t,className:o(`shrink-0 rounded-lg p-2 transition-colors disabled:cursor-not-allowed disabled:opacity-50`,d.trim()&&!F&&!g?`text-accent hover:bg-accent-soft`:`text-fg-disabled`),children:(0,$.jsx)(ue,{className:`size-4`})})]})}var Qt={statusFilter:`all`,kindFilter:`all`,pinnedOnly:!1},$t=240,en=320,tn=520,nn=560;function rn(e){if(globalThis.localStorage===void 0)return en;try{let t=globalThis.localStorage.getItem(e);if(!t)return en;let n=Number(t);return Number.isFinite(n)?n:en}catch{return en}}function an(e,t){if(globalThis.localStorage!==void 0)try{globalThis.localStorage.setItem(e,String(Math.round(t)))}catch{}}var on={thought:V,todo:Ve,voice:R,media:q,bookmark:We,mixed:V,task:Ve};function sn(e,t){return e.snippet?.trim()?e.snippet:e.coverAttachmentId?t.imageNote:t.noText}function cn(e,t){return e.statusFilter===t.patch.statusFilter&&e.kindFilter===t.patch.kindFilter&&e.pinnedOnly===t.patch.pinnedOnly}function ln(e,t){return`${e.replace(/\/$/,``)}/${encodeURIComponent(t)}`}function un({selectedNoteId:e,basePath:t,managePageHeader:n=!1,showLibrary:r=!0,allowMediaCapture:i=!0,projectId:u,listTitle:f,listDescription:m,emptyText:h,emptyDescription:v,listWidthStorageKey:y=`xopc.notes.listWidth`}){let b=s(l(e=>e.language)).notes,x=!!c(e=>e.token),[S,C]=(0,Q.useReducer)(Ee,Qt),[w,T]=(0,Q.useState)(!1),[E,O]=(0,Q.useState)(``),[A,j]=(0,Q.useState)(0),[I,ee]=(0,Q.useState)(()=>rn(y)),[te,re]=(0,Q.useState)(!1),[L,ie]=(0,Q.useState)(!1),[ae,oe]=(0,Q.useState)(!1),[B,ce]=(0,Q.useState)(null),W=(0,Q.useRef)(null),G=(0,Q.useRef)(null),[le]=(0,Q.useState)(()=>Date.now()),K=a(),ue=(0,Q.useCallback)(e=>{let t=W.current?.clientWidth??window.innerWidth,n=Math.max($t,t-nn);return Math.max($t,Math.min(Math.min(tn,n),e))},[]),pe=(0,Q.useCallback)(e=>{let t=ue(e);ee(t),an(y,t)},[ue,y]);(0,Q.useLayoutEffect)(()=>{ee(e=>ue(e))},[ue]);let{data:me,mutate:J,isLoading:Y}=d((0,Q.useMemo)(()=>x?[`notes-list`,u,S.statusFilter,S.kindFilter,S.pinnedOnly]:null,[x,u,S.statusFilter,S.kindFilter,S.pinnedOnly]),()=>Ie({status:S.statusFilter===`all`?void 0:S.statusFilter,kind:S.kindFilter===`all`?void 0:S.kindFilter,projectId:u,pinned:S.pinnedOnly?!0:void 0,limit:100,sortBy:`createdAt`,sortOrder:`desc`}),{keepPreviousData:!0}),ve=Y&&!me,xe=me?.items??[],Se=me?.total??0,Ce=E.trim(),{data:we,isLoading:Oe}=d(x&&w&&Ce?[`notes-search`,u,Ce]:null,()=>Ie({search:Ce,projectId:u,limit:30,sortBy:`updatedAt`,sortOrder:`desc`})),X=we?.items??[],ke=e?xe.some(t=>t.id===e):!0;(0,Q.useEffect)(()=>{j(0)},[Ce]),(0,Q.useEffect)(()=>{A>=X.length&&j(Math.max(0,X.length-1))},[A,X.length]),(0,Q.useEffect)(()=>{let e=()=>{J()};return window.addEventListener(`note-updated`,e),()=>window.removeEventListener(`note-updated`,e)},[J]);let Ae=fe(e=>e.setPageHeader),je=fe(e=>e.clearPageHeader),Me=Se>0?b.noteCount.replace(`{{count}}`,String(Se)):null,Ne=b.searchDialogTitle,Fe=b.searchClose,Le=b.searchClear,Re=(0,Q.useMemo)(()=>(0,$.jsxs)(`button`,{type:`button`,onClick:()=>T(!0),className:o(`inline-flex h-9 items-center gap-2 rounded-lg border border-edge bg-surface-base px-3 text-sm font-medium text-fg`,`hover:bg-surface-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,N),"aria-label":Ne,children:[(0,$.jsx)(ge,{className:`size-4`,"aria-hidden":!0}),(0,$.jsx)(`span`,{className:`hidden sm:inline`,children:Ne})]}),[Ne]);(0,Q.useLayoutEffect)(()=>{if(n)return x?(Ae({startExtra:null,main:(0,$.jsxs)(`div`,{className:o(`flex min-w-0 items-center gap-2`,N),children:[(0,$.jsx)(`h1`,{className:`min-w-0 truncate text-base font-semibold tracking-tight text-fg`,children:f??b.title}),Me?(0,$.jsx)(`span`,{className:`shrink-0 text-xs text-fg-muted`,children:Me}):null]}),end:Re}),()=>je()):(je(),()=>je())},[je,x,Re,f,n,b.title,Me,e,Ae]);let He=(0,Q.useMemo)(()=>({justNow:b.justNow,minutesAgo:b.minutesAgo,today:b.today,yesterday:b.yesterday,daysAgo:b.daysAgo}),[b.justNow,b.minutesAgo,b.today,b.yesterday,b.daysAgo]),Ue=(0,Q.useMemo)(()=>[{id:`recent`,label:b.viewRecent,description:b.viewRecentDescription,icon:H,patch:{statusFilter:`all`,kindFilter:`all`,pinnedOnly:!1}},{id:`inbox`,label:b.filterInbox,description:b.viewInboxDescription,icon:de,patch:{statusFilter:`inbox`,kindFilter:`all`,pinnedOnly:!1}},{id:`pinned`,label:b.pinned,description:b.viewPinnedDescription,icon:F,patch:{statusFilter:`all`,kindFilter:`all`,pinnedOnly:!0}},{id:`tasks`,label:b.viewTasks,description:b.viewTasksDescription,icon:Ve,patch:{statusFilter:`all`,kindFilter:`todo`,pinnedOnly:!1}},{id:`voice`,label:b.kindVoice,description:b.viewVoiceDescription,icon:R,patch:{statusFilter:`all`,kindFilter:`voice`,pinnedOnly:!1}},{id:`media`,label:b.kindMedia,description:b.viewMediaDescription,icon:q,patch:{statusFilter:`all`,kindFilter:`media`,pinnedOnly:!1}},{id:`bookmarks`,label:b.kindBookmark,description:b.viewBookmarksDescription,icon:We,patch:{statusFilter:`all`,kindFilter:`bookmark`,pinnedOnly:!1}},{id:`processed`,label:b.filterProcessed,description:b.viewProcessedDescription,icon:ze,patch:{statusFilter:`processed`,kindFilter:`all`,pinnedOnly:!1}},{id:`archive`,label:b.filterArchived,description:b.viewArchiveDescription,icon:De,patch:{statusFilter:`archived`,kindFilter:`all`,pinnedOnly:!1}}],[b.filterArchived,b.filterInbox,b.filterProcessed,b.kindBookmark,b.kindMedia,b.kindVoice,b.pinned,b.viewArchiveDescription,b.viewBookmarksDescription,b.viewInboxDescription,b.viewMediaDescription,b.viewPinnedDescription,b.viewProcessedDescription,b.viewRecent,b.viewRecentDescription,b.viewTasks,b.viewTasksDescription,b.viewVoiceDescription]),Ge=Ue.find(e=>cn(S,e))??Ue[0],Ke=f??Ge.label,qe=m??Ge.description,Ye=(0,Q.useCallback)(async(e,n)=>{let r=u?await Pe({markdown:e,kind:`thought`,projectId:u,channel:`web`}):await ye(e,`web`);await J(),n?.navigate!==!1&&K(ln(t,r.id))},[t,J,K,u]),Z=(0,Q.useCallback)(async()=>{if(!ae){oe(!0);try{let e=await Pe({markdown:``,kind:`thought`,projectId:u,channel:`web`});C({type:`patch`,patch:Qt}),await J(),ce(e.id),K(ln(t,e.id))}catch(e){z({type:`error`,title:b.createBlankFailed,message:e instanceof Error?e.message:b.createBlankFailedHint})}finally{oe(!1)}}},[t,ae,J,b.createBlankFailed,b.createBlankFailedHint,K,u]),Ze=(0,Q.useCallback)(()=>{let e=document.createElement(`input`);e.type=`file`,e.accept=`image/*`,e.onchange=async()=>{let t=e.files?.[0];if(t)try{await _e(t,`web`),await J()}catch(e){z({type:`error`,title:b.imageUploadFailed,message:e instanceof Error?e.message:b.imageUploadFailedHint})}},e.click()},[J,b.imageUploadFailed,b.imageUploadFailedHint]),Qe=(0,Q.useCallback)(async(e,t)=>{try{await U(e,t,`web`),await J()}catch(e){z({type:`error`,title:b.voiceUploadFailed,message:e instanceof Error?e.message:b.voiceUploadFailedHint})}},[J,b.voiceUploadFailed,b.voiceUploadFailedHint]),$e=(0,Q.useCallback)(async(e,t)=>{await Je(e,{pinned:t}),await J()},[J]),et=(0,Q.useCallback)(async e=>{await Je(e,{status:`archived`}),await J()},[J]),tt=(0,Q.useCallback)(async e=>{await Be(e),await J()},[J]),nt=(0,Q.useCallback)(e=>{K(ln(t,e))},[t,K]),rt=(0,Q.useCallback)(e=>{K(ln(t,e)),T(!1)},[t,K]),it=(0,Q.useCallback)(e=>{if(X.length){if(e.key===`ArrowDown`)e.preventDefault(),j(e=>Math.min(X.length-1,e+1));else if(e.key===`ArrowUp`)e.preventDefault(),j(e=>Math.max(0,e-1));else if(e.key===`Enter`){e.preventDefault();let t=X[A]??X[0];t&&rt(t.id)}}},[A,rt,X]),at=(0,Q.useCallback)(e=>{e.preventDefault();let t=e.currentTarget,n=G.current;t.setPointerCapture(e.pointerId),re(!0);let r=W.current?.clientWidth??window.innerWidth,i=Math.max($t,r-nn),a=Math.min(tn,i),o=e=>Math.max($t,Math.min(a,e)),s=e.clientX,c=o(I),l=e.pointerId,u=0,d=c,f=c;n&&(n.style.transition=`none`,n.style.width=`${c}px`);let p=()=>{u=0,f=d,n&&(n.style.width=`${f}px`)},m=e=>{d=o(c+e.clientX-s),u===0&&(u=window.requestAnimationFrame(p))},h=()=>{u!==0&&(window.cancelAnimationFrame(u),p());try{t.releasePointerCapture(l)}catch{}re(!1),W.current?.style.setProperty(`--notes-list-width`,`${f}px`),n&&(n.style.removeProperty(`transition`),n.style.removeProperty(`width`)),ee(f),an(y,f),window.removeEventListener(`pointermove`,m),window.removeEventListener(`pointerup`,h),window.removeEventListener(`pointercancel`,h)};window.addEventListener(`pointermove`,m),window.addEventListener(`pointerup`,h),window.addEventListener(`pointercancel`,h)},[y,I]);(0,Q.useEffect)(()=>{let e=e=>{e.defaultPrevented||e.repeat||e.key.toLowerCase()!==`n`||!e.metaKey&&!e.ctrlKey||e.altKey||e.shiftKey||(e.preventDefault(),Z())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[Z]);let lt=(0,Q.useCallback)(e=>{e.key===`ArrowLeft`?(e.preventDefault(),pe(I-16)):e.key===`ArrowRight`?(e.preventDefault(),pe(I+16)):e.key===`Home`?(e.preventDefault(),pe($t)):e.key===`End`&&(e.preventDefault(),pe(tn))},[pe,I]);return x?(0,$.jsxs)(`div`,{ref:W,className:`flex h-full min-h-0 w-full flex-1 overflow-hidden bg-surface-base`,style:{"--notes-list-width":`${I}px`},children:[(0,$.jsxs)(`section`,{ref:G,className:o(`relative flex min-h-0 w-full shrink-0 flex-col overflow-hidden border-r border-edge bg-surface-rail`,!te&&`lg:transition-[width] lg:duration-[280ms] lg:ease-[cubic-bezier(0.22,1,0.36,1)] motion-reduce:lg:transition-none`,L?`lg:w-0 lg:min-w-0 lg:max-w-0 lg:pointer-events-none`:`lg:w-[var(--notes-list-width)]`,e&&`hidden lg:flex`),"aria-hidden":L?!0:void 0,children:[(0,$.jsx)(`div`,{className:`shrink-0 border-b border-edge-subtle p-3`,children:(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,$.jsxs)(`div`,{className:`min-w-0`,children:[r?(0,$.jsx)(p,{value:Ge.id,onChange:e=>{let t=Ue.find(t=>t.id===e.target.value);t&&C({type:`patch`,patch:t.patch})},className:`-ml-1 block max-w-44 truncate rounded-lg border border-transparent bg-transparent px-1 py-0.5 text-sm font-semibold text-fg transition-colors hover:border-edge hover:bg-surface-base focus:border-accent focus:bg-surface-base focus:outline-none focus:ring-1 focus:ring-accent`,"aria-label":b.libraryTitle,children:Ue.map(e=>(0,$.jsx)(he,{value:e.id,children:e.label},e.id))}):(0,$.jsx)(`h2`,{className:`truncate text-sm font-semibold text-fg`,children:Ke}),(0,$.jsx)(`p`,{className:`truncate text-xs text-fg-muted`,children:Me??qe})]}),(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1.5`,children:[(0,$.jsx)(`button`,{type:`button`,onClick:()=>ie(!0),className:`hidden size-8 items-center justify-center rounded-lg text-fg-muted transition-colors hover:bg-surface-hover hover:text-fg focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent lg:inline-flex`,"aria-label":b.collapseNotesList,title:b.collapseNotesList,children:(0,$.jsx)(P,{className:`size-4`,strokeWidth:1.5,"aria-hidden":!0})}),(0,$.jsx)(`button`,{type:`button`,onClick:Z,disabled:ae,className:`inline-flex size-8 items-center justify-center rounded-lg text-fg-muted transition-colors hover:bg-surface-hover hover:text-fg focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent disabled:cursor-not-allowed disabled:opacity-50`,"aria-label":b.createBlankNote,title:b.createBlankShortcut,children:(0,$.jsx)(_,{className:`size-4`,"aria-hidden":!0})}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>T(!0),className:`inline-flex size-8 items-center justify-center rounded-lg text-fg-muted transition-colors hover:bg-surface-hover hover:text-fg focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,"aria-label":b.searchDialogTitle,children:(0,$.jsx)(ge,{className:`size-4`,"aria-hidden":!0})})]})]})}),(0,$.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto overscroll-contain px-2 py-3 [scrollbar-gutter:stable]`,children:ve?(0,$.jsx)(`div`,{className:`flex flex-col gap-2`,children:[1,2,3,4].map(e=>(0,$.jsx)(`div`,{className:`h-20 animate-pulse rounded-lg bg-surface-hover`},e))}):xe.length===0?(0,$.jsxs)(`div`,{className:`flex min-h-[min(40vh,20rem)] flex-col items-center justify-center gap-2 px-6 py-16 text-center`,children:[(0,$.jsx)(V,{className:`size-8 text-fg-muted`}),(0,$.jsx)(`p`,{className:`text-sm font-medium text-fg-muted`,children:e&&!ke?b.noteOutsideCurrentView:h??b.noNotes}),e&&!ke?null:(0,$.jsx)(`p`,{className:`text-xs leading-5 text-fg-muted`,children:v??b.noNotesDescription})]}):(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[e&&!ke?(0,$.jsx)(`div`,{className:`mb-2 rounded-lg border border-edge-subtle bg-surface-base px-3 py-2 text-xs leading-5 text-fg-muted`,children:b.noteOutsideCurrentView}):null,xe.map((t,n)=>{let r=n>0?ct(xe[n-1].createdAt):null;return(0,$.jsxs)(`div`,{children:[ct(t.createdAt)!==r&&(0,$.jsx)(`div`,{className:o(`px-3 pb-1.5 pt-2 text-xs font-medium text-fg-muted`,n===0&&`pt-0`),children:st(t.createdAt,le,He)}),(0,$.jsx)(mt,{note:t,selected:t.id===e,onPress:nt,onPin:$e,onArchive:et,onDelete:tt,timeLabels:He,labels:{pin:b.pin,unpin:b.unpin,archive:b.archive,delete:b.delete,imageNote:b.imageNote,noText:b.noText}})]},t.id)})]})}),(0,$.jsx)(`div`,{className:`shrink-0 border-t border-edge-subtle p-3`,children:(0,$.jsx)(Zt,{placeholder:b.quickCapturePlaceholder,sendLabel:b.send,onCapture:Ye,onImagePick:i?Ze:void 0,onVoiceCapture:i?Qe:void 0,recordingLabel:b.recording,discussionCaptureLabel:b.discussionCapture.title,onDiscussionCapture:()=>be(u)})})]}),(0,$.jsx)(`div`,{role:`separator`,"aria-orientation":`vertical`,"aria-label":b.resizeNotesList,"aria-valuemin":$t,"aria-valuemax":tn,"aria-valuenow":Math.round(I),tabIndex:0,onPointerDown:at,onDoubleClick:()=>pe(en),onKeyDown:lt,title:b.resizeNotesList,className:o(`group relative z-10 hidden shrink-0 cursor-col-resize touch-none select-none items-center justify-center bg-surface-base lg:flex`,`lg:transition-[width,opacity] lg:duration-[280ms] lg:ease-[cubic-bezier(0.22,1,0.36,1)] motion-reduce:lg:transition-none`,L?`lg:w-0 lg:opacity-0 lg:pointer-events-none`:`lg:w-2 lg:opacity-100`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-0`),children:(0,$.jsx)(`span`,{"aria-hidden":!0,className:o(`h-full w-px bg-edge transition-[background-color,transform] duration-150`,`group-hover:bg-accent/70 group-focus-visible:bg-accent`,te&&`bg-accent scale-x-[2]`)})}),(0,$.jsxs)(`section`,{className:o(`relative min-w-0 flex-1 bg-surface-base`,!e&&`hidden lg:flex`),children:[L?(0,$.jsx)(`button`,{type:`button`,onClick:()=>ie(!1),className:`absolute left-3 top-3 z-10 hidden size-8 items-center justify-center rounded-lg border border-edge bg-surface-base text-fg-muted shadow-surface transition-colors hover:bg-surface-hover hover:text-fg focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent lg:inline-flex`,"aria-label":b.expandNotesList,title:b.expandNotesList,children:(0,$.jsx)(P,{className:`size-4`,strokeWidth:1.5,"aria-hidden":!0})}):null,e?(0,$.jsx)(Kt,{noteId:e,onBack:()=>K(t),onSaved:()=>void J(),backButtonClassName:`lg:hidden`,clearHeaderOnCleanup:!1,onOpenSearch:()=>T(!0),autoFocus:e===B,onAutoFocusConsumed:()=>ce(null)}):(0,$.jsx)(`div`,{className:`flex h-full min-h-0 flex-1 items-center justify-center px-8 text-center`,children:(0,$.jsxs)(`div`,{className:`max-w-sm`,children:[(0,$.jsx)(V,{className:`mx-auto size-9 text-fg-muted`,"aria-hidden":!0}),(0,$.jsx)(`h2`,{className:`mt-4 text-base font-semibold text-fg`,children:b.emptyEditorTitle}),(0,$.jsx)(`p`,{className:`mt-2 text-sm leading-6 text-fg-muted`,children:b.emptyEditorDescription}),(0,$.jsxs)(`button`,{type:`button`,onClick:Z,disabled:ae,className:`mt-5 inline-flex items-center gap-2 rounded-lg bg-accent px-3 py-2 text-sm font-medium text-white transition-colors hover:bg-accent-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent disabled:cursor-not-allowed disabled:opacity-50`,children:[(0,$.jsx)(_,{className:`size-4`,"aria-hidden":!0}),ae?b.creatingBlankNote:b.createBlankNote]})]})})]}),(0,$.jsx)(k,{open:w,onOpenChange:T,children:(0,$.jsxs)(se,{children:[(0,$.jsx)(g,{className:`fixed inset-0 z-[80] bg-scrim backdrop-blur-[2px]`}),(0,$.jsxs)(ne,{className:`fixed left-1/2 top-24 z-[90] w-[min(36rem,calc(100vw-2rem))] -translate-x-1/2 overflow-hidden rounded-xl border border-edge bg-surface-panel shadow-float focus:outline-none`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3 border-b border-edge px-4 py-3`,children:[(0,$.jsx)(D,{className:`text-sm font-semibold text-fg`,children:Ne}),(0,$.jsx)(Xe,{className:`sr-only`,children:b.searchPlaceholder}),(0,$.jsx)(M,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,className:`inline-flex size-8 items-center justify-center rounded-lg text-fg-muted hover:bg-surface-hover hover:text-fg focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,"aria-label":Fe,children:(0,$.jsx)(Te,{className:`size-4`,"aria-hidden":!0})})})]}),(0,$.jsxs)(`div`,{className:`p-4`,children:[(0,$.jsxs)(`div`,{className:`relative`,children:[(0,$.jsx)(ge,{className:`pointer-events-none absolute left-3 top-1/2 size-4 -translate-y-1/2 text-fg-muted`,"aria-hidden":!0}),(0,$.jsx)(`input`,{type:`search`,value:E,onChange:e=>O(e.target.value),onKeyDown:it,placeholder:b.searchPlaceholder,className:`w-full rounded-lg border border-edge bg-surface-base py-2 pl-9 pr-10 text-sm text-fg placeholder:text-fg-muted focus:border-accent focus:outline-none focus:ring-1 focus:ring-accent`}),E?(0,$.jsx)(`button`,{type:`button`,onClick:()=>O(``),className:`absolute right-2 top-1/2 inline-flex size-7 -translate-y-1/2 items-center justify-center rounded-md text-fg-muted hover:bg-surface-hover hover:text-fg`,"aria-label":Le,children:(0,$.jsx)(Te,{className:`size-3.5`,"aria-hidden":!0})}):null]}),(0,$.jsx)(`div`,{className:`mt-4 max-h-[min(28rem,calc(100vh-14rem))] overflow-y-auto [scrollbar-gutter:stable]`,children:Ce?Oe&&!we?(0,$.jsx)(`div`,{className:`flex flex-col gap-2`,children:[1,2,3].map(e=>(0,$.jsx)(`div`,{className:`h-16 animate-pulse rounded-lg bg-surface-hover`},e))}):X.length===0?(0,$.jsxs)(`div`,{className:`flex min-h-40 flex-col items-center justify-center gap-2 px-6 text-center`,children:[(0,$.jsx)(V,{className:`size-7 text-fg-muted`,"aria-hidden":!0}),(0,$.jsx)(`p`,{className:`text-sm font-medium text-fg`,children:b.searchNoResults}),(0,$.jsx)(`p`,{className:`text-xs leading-5 text-fg-muted`,children:b.searchNoResultsDescription})]}):(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,$.jsx)(`p`,{className:`px-2 pb-1 text-xs text-fg-muted`,children:b.searchResultsCount.replace(`{{count}}`,String(we?.total??X.length))}),X.map((e,t)=>{let n=on[e.kind]||V,r=sn(e,{imageNote:b.imageNote,noText:b.noText});return(0,$.jsxs)(`button`,{type:`button`,onClick:()=>rt(e.id),onMouseEnter:()=>j(t),className:o(`flex w-full items-start gap-3 rounded-lg px-3 py-2.5 text-left transition-colors`,t===A?`bg-surface-active`:`hover:bg-surface-hover`),children:[(0,$.jsx)(n,{className:`mt-0.5 size-4 shrink-0 text-fg-muted`,"aria-hidden":!0}),(0,$.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,$.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`truncate text-sm font-medium text-fg`,children:e.title||r}),(0,$.jsx)(`span`,{className:`shrink-0 text-xs text-fg-muted`,children:ot(e.updatedAt,le,He)})]}),e.title?(0,$.jsx)(`span`,{className:`mt-0.5 block line-clamp-2 text-xs leading-5 text-fg-muted`,children:r}):null,e.tags?.length?(0,$.jsx)(`span`,{className:`mt-1 flex min-w-0 flex-wrap gap-1`,children:e.tags.slice(0,3).map(e=>(0,$.jsx)(`span`,{className:`max-w-24 truncate rounded-md bg-surface-hover px-1.5 py-0.5 text-xs text-fg-muted`,children:e},e))}):null]})]},e.id)})]}):(0,$.jsxs)(`div`,{className:`flex min-h-40 flex-col items-center justify-center gap-2 px-6 text-center`,children:[(0,$.jsx)(ge,{className:`size-7 text-fg-muted`,"aria-hidden":!0}),(0,$.jsx)(`p`,{className:`text-sm font-medium text-fg`,children:b.searchEmptyTitle}),(0,$.jsx)(`p`,{className:`text-xs leading-5 text-fg-muted`,children:b.searchEmptyDescription})]})})]})]})]})})]}):(0,$.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center gap-3 p-8 text-center`,children:[(0,$.jsx)(V,{className:`size-10 text-fg-muted`}),(0,$.jsx)(`p`,{className:`text-sm text-fg-muted`,children:b.needToken})]})}export{Qe as n,un 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"./cn-JdwAhgNB.js";import{Ts as a}from"./index-BA56bQ68.js";var o=n(),s=e(t(),1),c=r();function l(e){let t=(0,o.c)(40),{items:n,activeTab:r,onChange:l,ariaLabel:u,tabIdPrefix:d,panelIdPrefix:f,className:p,buttonClassName:m,selectedClassName:h,unselectedClassName:g,countClassName:_,onReorder:v}=e,y=h===void 0?`bg-accent-soft text-accent-fg`:h,b=g===void 0?`text-fg-muted hover:bg-surface-hover hover:text-fg`:g,[x,S]=(0,s.useState)(null),[C,w]=(0,s.useState)(null),T;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(T=()=>{S(null),w(null)},t[0]=T):T=t[0];let E=T,D;t[1]===p?D=t[2]:(D=i(`-mx-1 flex gap-1 overflow-x-auto px-1 pb-1`,p),t[1]=p,t[2]=D);let O;t[3]===v?O=t[4]:(O=e=>{if(!v)return;let t=e.relatedTarget;t instanceof Node&&e.currentTarget.contains(t)||w(null)},t[3]=v,t[4]=O);let k;t[5]!==r||t[6]!==n||t[7]!==l?(k=e=>{if(e.key!==`ArrowLeft`&&e.key!==`ArrowRight`)return;e.preventDefault();let t=n.findIndex(e=>e.id===r);t<0||l(n[(t+(e.key===`ArrowRight`?1:-1)+n.length)%n.length].id)},t[5]=r,t[6]=n,t[7]=l,t[8]=k):k=t[8];let A;if(t[9]!==r||t[10]!==m||t[11]!==_||t[12]!==x||t[13]!==C||t[14]!==n||t[15]!==l||t[16]!==v||t[17]!==f||t[18]!==y||t[19]!==d||t[20]!==b){let e;t[22]!==r||t[23]!==m||t[24]!==_||t[25]!==x||t[26]!==C||t[27]!==l||t[28]!==v||t[29]!==f||t[30]!==y||t[31]!==d||t[32]!==b?(e=e=>{let{id:t,icon:n,label:o,count:s,suffix:u,title:p}=e,h=t===r,g=x===t,T=C?.id===t&&C.position===`before`,D=C?.id===t&&C.position===`after`;return(0,c.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":h,id:d?`${d}-${t}`:void 0,"aria-controls":f?`${f}-${t}`:void 0,"aria-grabbed":v?g:void 0,draggable:!!v,title:p,className:i(`relative inline-flex shrink-0 items-center gap-1.5 rounded-lg px-3 py-2 text-sm font-medium transition-colors`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,a.press,h?y:b,v&&`cursor-grab active:cursor-grabbing`,g&&`scale-[0.98] border border-edge bg-surface-active/60 opacity-55 shadow-surface`,(T||D)&&!g&&`bg-surface-hover text-fg`,m),onClick:()=>l(t),onDragStart:e=>{v&&(S(t),w(null),e.dataTransfer.effectAllowed=`move`,e.dataTransfer.setData(`text/plain`,t))},onDragOver:e=>{if(!v||!x)return;if(x===t){w(null);return}e.preventDefault(),e.dataTransfer.dropEffect=`move`;let n=e.currentTarget.getBoundingClientRect(),r=e.clientX<n.left+n.width/2?`before`:`after`;w(e=>e?.id===t&&e.position===r?e:{id:t,position:r})},onDrop:e=>{!v||!x||x===t||(e.preventDefault(),v(x,t,C?.id===t?C.position:`before`),E())},onDragEnd:E,children:[T?(0,c.jsx)(`span`,{className:`pointer-events-none absolute -left-0.5 top-1/2 h-5 w-0.5 -translate-y-1/2 rounded-full bg-accent shadow-[0_0_0_2px_var(--color-surface-panel)]`,"aria-hidden":!0}):null,n?(0,c.jsx)(n,{className:`size-3.5 shrink-0`,strokeWidth:1.75,"aria-hidden":!0}):null,(0,c.jsx)(`span`,{children:o}),s==null?null:(0,c.jsx)(`span`,{className:i(`rounded-full bg-surface-hover px-1.5 py-0.5 text-[10px] tabular-nums text-fg-subtle`,_),children:s}),u,D?(0,c.jsx)(`span`,{className:`pointer-events-none absolute -right-0.5 top-1/2 h-5 w-0.5 -translate-y-1/2 rounded-full bg-accent shadow-[0_0_0_2px_var(--color-surface-panel)]`,"aria-hidden":!0}):null]},t)},t[22]=r,t[23]=m,t[24]=_,t[25]=x,t[26]=C,t[27]=l,t[28]=v,t[29]=f,t[30]=y,t[31]=d,t[32]=b,t[33]=e):e=t[33],A=n.map(e),t[9]=r,t[10]=m,t[11]=_,t[12]=x,t[13]=C,t[14]=n,t[15]=l,t[16]=v,t[17]=f,t[18]=y,t[19]=d,t[20]=b,t[21]=A}else A=t[21];let j;return t[34]!==u||t[35]!==D||t[36]!==O||t[37]!==k||t[38]!==A?(j=(0,c.jsx)(`nav`,{"aria-label":u,className:D,role:`tablist`,onDragLeave:O,onKeyDown:k,children:A}),t[34]=u,t[35]=D,t[36]=O,t[37]=k,t[38]=A,t[39]=j):j=t[39],j}export{l as t};
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-JdwAhgNB.js";import{bs as a}from"./index-vi5KlR5_.js";var o=n(),s=e(t(),1),c=r();function l(e){let t=(0,o.c)(40),{items:n,activeTab:r,onChange:l,ariaLabel:u,tabIdPrefix:d,panelIdPrefix:f,className:p,buttonClassName:m,selectedClassName:h,unselectedClassName:g,countClassName:_,onReorder:v}=e,y=h===void 0?`bg-accent-soft text-accent-fg`:h,b=g===void 0?`text-fg-muted hover:bg-surface-hover hover:text-fg`:g,[x,S]=(0,s.useState)(null),[C,w]=(0,s.useState)(null),T;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(T=()=>{S(null),w(null)},t[0]=T):T=t[0];let E=T,D;t[1]===p?D=t[2]:(D=i(`-mx-1 flex gap-1 overflow-x-auto px-1 pb-1`,p),t[1]=p,t[2]=D);let O;t[3]===v?O=t[4]:(O=e=>{if(!v)return;let t=e.relatedTarget;t instanceof Node&&e.currentTarget.contains(t)||w(null)},t[3]=v,t[4]=O);let k;t[5]!==r||t[6]!==n||t[7]!==l?(k=e=>{if(e.key!==`ArrowLeft`&&e.key!==`ArrowRight`)return;e.preventDefault();let t=n.findIndex(e=>e.id===r);t<0||l(n[(t+(e.key===`ArrowRight`?1:-1)+n.length)%n.length].id)},t[5]=r,t[6]=n,t[7]=l,t[8]=k):k=t[8];let A;if(t[9]!==r||t[10]!==m||t[11]!==_||t[12]!==x||t[13]!==C||t[14]!==n||t[15]!==l||t[16]!==v||t[17]!==f||t[18]!==y||t[19]!==d||t[20]!==b){let e;t[22]!==r||t[23]!==m||t[24]!==_||t[25]!==x||t[26]!==C||t[27]!==l||t[28]!==v||t[29]!==f||t[30]!==y||t[31]!==d||t[32]!==b?(e=e=>{let{id:t,icon:n,label:o,count:s,suffix:u,title:p}=e,h=t===r,g=x===t,T=C?.id===t&&C.position===`before`,D=C?.id===t&&C.position===`after`;return(0,c.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":h,id:d?`${d}-${t}`:void 0,"aria-controls":f?`${f}-${t}`:void 0,"aria-grabbed":v?g:void 0,draggable:!!v,title:p,className:i(`relative inline-flex shrink-0 items-center gap-1.5 rounded-lg px-3 py-2 text-sm font-medium transition-colors`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,a.press,h?y:b,v&&`cursor-grab active:cursor-grabbing`,g&&`scale-[0.98] border border-edge bg-surface-active/60 opacity-55 shadow-surface`,(T||D)&&!g&&`bg-surface-hover text-fg`,m),onClick:()=>l(t),onDragStart:e=>{v&&(S(t),w(null),e.dataTransfer.effectAllowed=`move`,e.dataTransfer.setData(`text/plain`,t))},onDragOver:e=>{if(!v||!x)return;if(x===t){w(null);return}e.preventDefault(),e.dataTransfer.dropEffect=`move`;let n=e.currentTarget.getBoundingClientRect(),r=e.clientX<n.left+n.width/2?`before`:`after`;w(e=>e?.id===t&&e.position===r?e:{id:t,position:r})},onDrop:e=>{!v||!x||x===t||(e.preventDefault(),v(x,t,C?.id===t?C.position:`before`),E())},onDragEnd:E,children:[T?(0,c.jsx)(`span`,{className:`pointer-events-none absolute -left-0.5 top-1/2 h-5 w-0.5 -translate-y-1/2 rounded-full bg-accent shadow-[0_0_0_2px_var(--color-surface-panel)]`,"aria-hidden":!0}):null,n?(0,c.jsx)(n,{className:`size-3.5 shrink-0`,strokeWidth:1.75,"aria-hidden":!0}):null,(0,c.jsx)(`span`,{children:o}),s==null?null:(0,c.jsx)(`span`,{className:i(`rounded-full bg-surface-hover px-1.5 py-0.5 text-[10px] tabular-nums text-fg-subtle`,_),children:s}),u,D?(0,c.jsx)(`span`,{className:`pointer-events-none absolute -right-0.5 top-1/2 h-5 w-0.5 -translate-y-1/2 rounded-full bg-accent shadow-[0_0_0_2px_var(--color-surface-panel)]`,"aria-hidden":!0}):null]},t)},t[22]=r,t[23]=m,t[24]=_,t[25]=x,t[26]=C,t[27]=l,t[28]=v,t[29]=f,t[30]=y,t[31]=d,t[32]=b,t[33]=e):e=t[33],A=n.map(e),t[9]=r,t[10]=m,t[11]=_,t[12]=x,t[13]=C,t[14]=n,t[15]=l,t[16]=v,t[17]=f,t[18]=y,t[19]=d,t[20]=b,t[21]=A}else A=t[21];let j;return t[34]!==u||t[35]!==D||t[36]!==O||t[37]!==k||t[38]!==A?(j=(0,c.jsx)(`nav`,{"aria-label":u,className:D,role:`tablist`,onDragLeave:O,onKeyDown:k,children:A}),t[34]=u,t[35]=D,t[36]=O,t[37]=k,t[38]=A,t[39]=j):j=t[39],j}export{l as t};
@@ -1 +1 @@
1
- import{n as e,t}from"./vendor-react-BOUWij0V.js";import{t as n}from"./cn-JdwAhgNB.js";import{Gl as r,Jo as i,Ts as a,Yl as o}from"./index-BA56bQ68.js";var s=e(),c=t();function l(e){let t=(0,s.c)(31),{message:l,downloadLabel:u,onDownload:d,openSystemLabel:f,onOpenWithSystemApp:p,chooseAppLabel:m,onChooseOpenWithApp:h,canOpenWithSystemApp:g,canChooseOpenWithApp:_}=e,v=g===void 0?!0:g,y=_===void 0?!0:_,b;t[0]!==v||t[1]!==p||t[2]!==f?(b=i()&&v&&typeof p==`function`&&typeof f==`string`&&f.length>0,t[0]=v,t[1]=p,t[2]=f,t[3]=b):b=t[3];let x=b,S;t[4]!==y||t[5]!==m||t[6]!==h?(S=i()&&y&&typeof h==`function`&&typeof m==`string`&&m.length>0,t[4]=y,t[5]=m,t[6]=h,t[7]=S):S=t[7];let C=S,w;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(w=n(`flex flex-col gap-2 rounded-lg border border-edge-subtle bg-surface-hover/60 p-3 sm:flex-row sm:items-center sm:justify-between dark:border-edge`),t[8]=w):w=t[8];let T;t[9]===l?T=t[10]:(T=(0,c.jsx)(`p`,{className:`min-w-0 text-xs leading-relaxed text-fg-muted`,children:l}),t[9]=l,t[10]=T);let E;t[11]!==p||t[12]!==f||t[13]!==x?(E=x?(0,c.jsxs)(`button`,{type:`button`,className:n(`inline-flex items-center gap-1.5 rounded-md border border-edge bg-surface-panel px-3 py-1.5 text-xs font-medium text-fg shadow-sm dark:border-edge`,a.transition,a.press,a.focusRingPanel),onClick:()=>void p?.(),children:[(0,c.jsx)(r,{className:`size-3.5 shrink-0`,"aria-hidden":!0}),f]}):null,t[11]=p,t[12]=f,t[13]=x,t[14]=E):E=t[14];let D;t[15]!==m||t[16]!==h||t[17]!==C?(D=C?(0,c.jsxs)(`button`,{type:`button`,className:n(`inline-flex items-center gap-1.5 rounded-md border border-edge bg-surface-panel px-3 py-1.5 text-xs font-medium text-fg shadow-sm dark:border-edge`,a.transition,a.press,a.focusRingPanel),onClick:()=>void h?.(),children:[(0,c.jsx)(r,{className:`size-3.5 shrink-0`,"aria-hidden":!0}),m]}):null,t[15]=m,t[16]=h,t[17]=C,t[18]=D):D=t[18];let O;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(O=n(`inline-flex items-center gap-1.5 rounded-md border border-accent bg-accent px-3 py-1.5 text-xs font-medium text-white shadow-sm`,a.transition,a.press,a.focusRingPanel),t[19]=O):O=t[19];let k;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,c.jsx)(o,{className:`size-3.5 shrink-0`,"aria-hidden":!0}),t[20]=k):k=t[20];let A;t[21]!==u||t[22]!==d?(A=(0,c.jsxs)(`button`,{type:`button`,className:O,onClick:d,children:[k,u]}),t[21]=u,t[22]=d,t[23]=A):A=t[23];let j;t[24]!==A||t[25]!==E||t[26]!==D?(j=(0,c.jsxs)(`div`,{className:`flex shrink-0 flex-wrap items-center gap-2`,children:[E,D,A]}),t[24]=A,t[25]=E,t[26]=D,t[27]=j):j=t[27];let M;return t[28]!==j||t[29]!==T?(M=(0,c.jsxs)(`div`,{className:w,children:[T,j]}),t[28]=j,t[29]=T,t[30]=M):M=t[30],M}export{l as t};
1
+ import{n as e,t}from"./vendor-react-BOUWij0V.js";import{t as n}from"./cn-JdwAhgNB.js";import{Fl as r,Uo as i,bs as a,zl as o}from"./index-vi5KlR5_.js";var s=e(),c=t();function l(e){let t=(0,s.c)(31),{message:l,downloadLabel:u,onDownload:d,openSystemLabel:f,onOpenWithSystemApp:p,chooseAppLabel:m,onChooseOpenWithApp:h,canOpenWithSystemApp:g,canChooseOpenWithApp:_}=e,v=g===void 0?!0:g,y=_===void 0?!0:_,b;t[0]!==v||t[1]!==p||t[2]!==f?(b=i()&&v&&typeof p==`function`&&typeof f==`string`&&f.length>0,t[0]=v,t[1]=p,t[2]=f,t[3]=b):b=t[3];let x=b,S;t[4]!==y||t[5]!==m||t[6]!==h?(S=i()&&y&&typeof h==`function`&&typeof m==`string`&&m.length>0,t[4]=y,t[5]=m,t[6]=h,t[7]=S):S=t[7];let C=S,w;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(w=n(`flex flex-col gap-2 rounded-lg border border-edge-subtle bg-surface-hover/60 p-3 sm:flex-row sm:items-center sm:justify-between dark:border-edge`),t[8]=w):w=t[8];let T;t[9]===l?T=t[10]:(T=(0,c.jsx)(`p`,{className:`min-w-0 text-xs leading-relaxed text-fg-muted`,children:l}),t[9]=l,t[10]=T);let E;t[11]!==p||t[12]!==f||t[13]!==x?(E=x?(0,c.jsxs)(`button`,{type:`button`,className:n(`inline-flex items-center gap-1.5 rounded-md border border-edge bg-surface-panel px-3 py-1.5 text-xs font-medium text-fg shadow-sm dark:border-edge`,a.transition,a.press,a.focusRingPanel),onClick:()=>void p?.(),children:[(0,c.jsx)(r,{className:`size-3.5 shrink-0`,"aria-hidden":!0}),f]}):null,t[11]=p,t[12]=f,t[13]=x,t[14]=E):E=t[14];let D;t[15]!==m||t[16]!==h||t[17]!==C?(D=C?(0,c.jsxs)(`button`,{type:`button`,className:n(`inline-flex items-center gap-1.5 rounded-md border border-edge bg-surface-panel px-3 py-1.5 text-xs font-medium text-fg shadow-sm dark:border-edge`,a.transition,a.press,a.focusRingPanel),onClick:()=>void h?.(),children:[(0,c.jsx)(r,{className:`size-3.5 shrink-0`,"aria-hidden":!0}),m]}):null,t[15]=m,t[16]=h,t[17]=C,t[18]=D):D=t[18];let O;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(O=n(`inline-flex items-center gap-1.5 rounded-md border border-accent bg-accent px-3 py-1.5 text-xs font-medium text-white shadow-sm`,a.transition,a.press,a.focusRingPanel),t[19]=O):O=t[19];let k;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,c.jsx)(o,{className:`size-3.5 shrink-0`,"aria-hidden":!0}),t[20]=k):k=t[20];let A;t[21]!==u||t[22]!==d?(A=(0,c.jsxs)(`button`,{type:`button`,className:O,onClick:d,children:[k,u]}),t[21]=u,t[22]=d,t[23]=A):A=t[23];let j;t[24]!==A||t[25]!==E||t[26]!==D?(j=(0,c.jsxs)(`div`,{className:`flex shrink-0 flex-wrap items-center gap-2`,children:[E,D,A]}),t[24]=A,t[25]=E,t[26]=D,t[27]=j):j=t[27];let M;return t[28]!==j||t[29]!==T?(M=(0,c.jsxs)(`div`,{className:w,children:[T,j]}),t[28]=j,t[29]=T,t[30]=M):M=t[30],M}export{l as t};
@@ -0,0 +1 @@
1
+ import{a as e,l as t,n,s as r,t as i}from"./schemas-C6onAggk.js";var a=i([`task`,`project`,`note`,`workflow_definition`,`workflow_run`,`automation`,`local_app`,`file`,`session`,`settings`]),o=i([`open`,`preview`,`edit`,`continue_in_chat`,`run`,`pause`,`resume`,`share`,`reveal`,`configure`]),s=r({kind:a,id:t().min(1),title:t().min(1),summary:t().optional(),status:t().optional(),revision:t().optional(),projectId:t().optional(),capabilities:n(o).default([])}),c=i([`created`,`updated`,`opened`,`started`,`completed`,`failed`]),l=r({version:e(1),operation:c,primary:s.optional(),related:n(s).optional()});function u(e){let t=l.safeParse(e);return t.success?t.data:null}var d=`xopc-product-delivery:`;function f(e){let t=e.split(/\s+/).find(e=>e.startsWith(d));if(!t)return null;try{return u(JSON.parse(decodeURIComponent(t.slice(22))))}catch{return null}}function p(e){let t=encodeURIComponent(e.id);switch(e.kind){case`task`:return`/tasks/${t}`;case`project`:return`/projects/${t}`;case`note`:return`/notes/${t}`;case`workflow_definition`:return`/workflows/${t}`;case`workflow_run`:return`/workflows/runs/${t}`;case`automation`:return`/automations?automation=${t}`;case`local_app`:return`/local-apps/${t}`;case`session`:return`/chat/${t}`;case`settings`:return`/settings/${e.id.replace(/^\/+/,``).split(`/`).map(encodeURIComponent).join(`/`)}`;case`file`:return null}}function m(e){return e.kind===`local_app`?`/open?${new URLSearchParams({kind:e.kind,id:e.id}).toString()}`:p(e)}function h(e){try{let t=new URL(e);if(t.protocol!==`xopc:`||t.hostname!==`open`)return null;let n=a.safeParse(t.searchParams.get(`kind`)),r=t.searchParams.get(`id`)?.trim();return n.success&&r?{kind:n.data,id:r}:null}catch{return null}}export{p as a,m as i,f as n,h as r,u as t};
@@ -1 +1 @@
1
- import{n as e,t}from"./vendor-react-BOUWij0V.js";import{c as n,r,t as i}from"./chunk-KS7C4IRE-BMhrPKJC.js";import{n as a}from"./locale-store-BNC8HUCI.js";import{i as o}from"./vendor-swr-BIWyz7Rc.js";import{a as s,r as c}from"./product-delivery-BVG-eWQO.js";import{eo as l}from"./index-BA56bQ68.js";import{n as u}from"./api-CUClAvuL.js";var d=e();function f(e){return e.installationState===`installed`&&e.enabled&&e.status===`installed`?`/extensions/${encodeURIComponent(e.extensionId)}`:`/local-apps/${encodeURIComponent(e.id)}`}var p=t();function m(){let e=(0,d.c)(14),t=n(),i=a(h)===`zh`,m=c(`xopc://open${t.search}`),_=m?.kind===`local_app`?m.id:null,{data:v,error:y}=o(_?[`local-app-open`,_]:null,()=>u(_));if(!m){let t=i?`这个打开链接无效。`:`This open link is invalid.`,n;return e[0]!==t||e[1]!==i?(n=(0,p.jsx)(g,{message:t,zh:i}),e[0]=t,e[1]=i,e[2]=n):n=e[2],n}if(m.kind!==`local_app`){let t=s({...m,title:m.id,capabilities:[`open`]}),n;return e[3]!==t||e[4]!==i?(n=t?(0,p.jsx)(r,{to:t,replace:!0}):(0,p.jsx)(g,{message:i?`这个内容无法在应用中打开。`:`This content cannot be opened in the app.`,zh:i}),e[3]=t,e[4]=i,e[5]=n):n=e[5],n}if(y){let t=typeof y==`object`&&y&&`status`in y&&y.status===404?i?`找不到这个本地应用,它可能已被删除。`:`This local app was not found and may have been deleted.`:y instanceof Error?y.message:i?`无法打开这个本地应用。`:`Unable to open this local app.`,n;return e[6]!==t||e[7]!==i?(n=(0,p.jsx)(g,{message:t,zh:i}),e[6]=t,e[7]=i,e[8]=n):n=e[8],n}if(v){let t;e[9]===v?t=e[10]:(t=f(v),e[9]=v,e[10]=t);let n;return e[11]===t?n=e[12]:(n=(0,p.jsx)(r,{to:t,replace:!0}),e[11]=t,e[12]=n),n}let b;return e[13]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,p.jsxs)(`div`,{className:`flex w-full flex-col gap-4 px-3 py-6 sm:px-5 xl:px-6`,"aria-busy":!0,children:[(0,p.jsx)(l,{className:`h-6 w-48`}),(0,p.jsx)(l,{className:`h-32 rounded-xl`})]}),e[13]=b):b=e[13],b}function h(e){return e.language}function g(e){let t=(0,d.c)(7),{message:n,zh:r}=e,a;t[0]===n?a=t[1]:(a=(0,p.jsx)(`p`,{children:n}),t[0]=n,t[1]=a);let o=r?`查看本地应用`:`View local apps`,s;t[2]===o?s=t[3]:(s=(0,p.jsx)(i,{className:`mt-3 inline-flex font-medium text-accent hover:underline`,to:`/local-apps`,children:o}),t[2]=o,t[3]=s);let c;return t[4]!==a||t[5]!==s?(c=(0,p.jsxs)(`div`,{className:`m-6 rounded-xl border border-danger/30 bg-danger-soft p-4 text-sm text-danger`,role:`alert`,children:[a,s]}),t[4]=a,t[5]=s,t[6]=c):c=t[6],c}export{m as ProductOpenPage};
1
+ import{n as e,t}from"./vendor-react-BOUWij0V.js";import{c as n,r,t as i}from"./chunk-KS7C4IRE-BMhrPKJC.js";import{n as a}from"./locale-store-Bff30u5V.js";import{i as o}from"./vendor-swr-BIWyz7Rc.js";import{a as s,r as c}from"./product-delivery-C8JbSj5Y.js";import{to as l}from"./index-vi5KlR5_.js";import{n as u}from"./api-tVOllncq.js";var d=e();function f(e){return e.installationState===`installed`&&e.enabled&&e.status===`installed`?`/extensions/${encodeURIComponent(e.extensionId)}`:`/local-apps/${encodeURIComponent(e.id)}`}var p=t();function m(){let e=(0,d.c)(14),t=n(),i=a(h)===`zh`,m=c(`xopc://open${t.search}`),_=m?.kind===`local_app`?m.id:null,{data:v,error:y}=o(_?[`local-app-open`,_]:null,()=>u(_));if(!m){let t=i?`这个打开链接无效。`:`This open link is invalid.`,n;return e[0]!==t||e[1]!==i?(n=(0,p.jsx)(g,{message:t,zh:i}),e[0]=t,e[1]=i,e[2]=n):n=e[2],n}if(m.kind!==`local_app`){let t=s({...m,title:m.id,capabilities:[`open`]}),n;return e[3]!==t||e[4]!==i?(n=t?(0,p.jsx)(r,{to:t,replace:!0}):(0,p.jsx)(g,{message:i?`这个内容无法在应用中打开。`:`This content cannot be opened in the app.`,zh:i}),e[3]=t,e[4]=i,e[5]=n):n=e[5],n}if(y){let t=typeof y==`object`&&y&&`status`in y&&y.status===404?i?`找不到这个本地应用,它可能已被删除。`:`This local app was not found and may have been deleted.`:y instanceof Error?y.message:i?`无法打开这个本地应用。`:`Unable to open this local app.`,n;return e[6]!==t||e[7]!==i?(n=(0,p.jsx)(g,{message:t,zh:i}),e[6]=t,e[7]=i,e[8]=n):n=e[8],n}if(v){let t;e[9]===v?t=e[10]:(t=f(v),e[9]=v,e[10]=t);let n;return e[11]===t?n=e[12]:(n=(0,p.jsx)(r,{to:t,replace:!0}),e[11]=t,e[12]=n),n}let b;return e[13]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,p.jsxs)(`div`,{className:`flex w-full flex-col gap-4 px-3 py-6 sm:px-5 xl:px-6`,"aria-busy":!0,children:[(0,p.jsx)(l,{className:`h-6 w-48`}),(0,p.jsx)(l,{className:`h-32 rounded-xl`})]}),e[13]=b):b=e[13],b}function h(e){return e.language}function g(e){let t=(0,d.c)(7),{message:n,zh:r}=e,a;t[0]===n?a=t[1]:(a=(0,p.jsx)(`p`,{children:n}),t[0]=n,t[1]=a);let o=r?`查看本地应用`:`View local apps`,s;t[2]===o?s=t[3]:(s=(0,p.jsx)(i,{className:`mt-3 inline-flex font-medium text-accent hover:underline`,to:`/local-apps`,children:o}),t[2]=o,t[3]=s);let c;return t[4]!==a||t[5]!==s?(c=(0,p.jsxs)(`div`,{className:`m-6 rounded-xl border border-danger/30 bg-danger-soft p-4 text-sm text-danger`,role:`alert`,children:[a,s]}),t[4]=a,t[5]=s,t[6]=c):c=t[6],c}export{m as ProductOpenPage};
@@ -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,f as a,l as o,t as s}from"./chunk-KS7C4IRE-BMhrPKJC.js";import{t as c}from"./check-DUBLcKHA.js";import{t as l}from"./cn-JdwAhgNB.js";import{t as u}from"./copy-to-clipboard-HOJ79TWv.js";import{t as d}from"./messages-CPxz48hr.js";import{n as f,r as p,s as m}from"./locale-store-Bff30u5V.js";import{$i as h,$o as g,Ba as _,Bo as v,Cc as y,Dc as b,Es as x,Eu as S,Fa as C,Fl as w,Ga as T,Gr as E,Ha as D,Hl as O,Ho as ee,Ia as k,Io as A,Jl as te,Ka as j,La as M,Lo as ne,Ls as N,Ma as re,Mc as P,Na as F,Nt as I,Oc as L,Oi as ie,Os as R,Pa as ae,Ra as oe,Ro as z,Rr as se,Sl as B,Tc as ce,Tl as le,Tt as ue,Ua as de,Uc as fe,Us as pe,Va as V,Vo as H,Wa as me,Wl as he,Xa as ge,Xi as _e,Yi as ve,Ys as ye,aa as be,au as xe,ca as Se,cc as Ce,cs as we,cu as Te,do as Ee,ds as De,du as Oe,ea as ke,el as Ae,es as je,fc as Me,fs as Ne,fu as Pe,gt as Fe,hc as Ie,hl as Le,ht as Re,ia as ze,ja as Be,jc as Ve,kl as He,ks as Ue,ku as We,l as Ge,la as Ke,ls as qe,lu as Je,na as Ye,nc as Xe,nr as Ze,oa as Qe,ol as $e,ou as et,pc as tt,qa as nt,ra as rt,rt as it,sa as at,tl as ot,to as st,us as ct,uu as lt,wl as ut,yt as dt,za as ft,zl as pt,zo as mt,zs as ht}from"./index-vi5KlR5_.js";import{t as gt}from"./notes-workbench-DqSkeDXX.js";import{t as _t}from"./page-tabs-3t88bbGx.js";import{t as vt}from"./directory-picker-path-field-B2cvhvAI.js";import{f as yt,o as bt,r as xt}from"./skills-page.utils-BBXirAjc.js";var U=e(t(),1),St=n();function Ct(e){return m(p(`/api/projects/${encodeURIComponent(e)}/skills`))}function wt(e,t){return m(p(`/api/projects/${encodeURIComponent(e)}/skills/${encodeURIComponent(t)}`))}function W(e,t){let n=new FormData;return n.set(`file`,t),m(p(`/api/projects/${encodeURIComponent(e)}/skills/upload`),{method:`POST`,body:n})}function Tt(e,t,n={}){return m(p(`/api/projects/${encodeURIComponent(e)}/skills/marketplace/install`),{method:`POST`,body:JSON.stringify({name:t,...n})})}function Et(e,t){return m(p(`/api/projects/${encodeURIComponent(e)}/skills/source/install`),{method:`POST`,body:JSON.stringify({source:t})})}function Dt(e,t){return m(p(`/api/projects/${encodeURIComponent(e)}/skills/${encodeURIComponent(t)}`),{method:`DELETE`})}var G=r();function Ot({projectId:e,copy:t}){let[n,r]=(0,U.useState)([]),[i,a]=(0,U.useState)(``),[o,s]=(0,U.useState)(!0),[c,u]=(0,U.useState)(!1),[d,f]=(0,U.useState)(null),[p,m]=(0,U.useState)(``),[h,g]=(0,U.useState)(null),[_,b]=(0,U.useState)(null),[S,C]=(0,U.useState)(``),[T,E]=(0,U.useState)(1),[D,O]=(0,U.useState)(null),[k,te]=(0,U.useState)(!1),[j,M]=(0,U.useState)(``),[N,re]=(0,U.useState)(``),P=(0,U.useRef)(null),F=(0,U.useCallback)(async()=>{s(!0),m(``);try{let t=await Ct(e);r(t.items),a(t.skillsRoot)}catch(e){m(e instanceof Error?e.message:String(e))}finally{s(!1)}},[e]);(0,U.useEffect)(()=>{F()},[F]),(0,U.useEffect)(()=>{if(h!==`marketplace`)return;let e=new AbortController,t=window.setTimeout(()=>{te(!0),M(``),yt({q:S,page:T,pageSize:8,sort:`downloads`,signal:e.signal}).then(O).catch(t=>{e.signal.aborted||M(t instanceof Error?t.message:String(t))}).finally(()=>{e.signal.aborted||te(!1)})},250);return()=>{window.clearTimeout(t),e.abort()}},[h,T,S]);async function I(e,t){u(!0),f(t??null),m(``);try{await e(),g(null),re(``),await F()}catch(e){m(e instanceof Error?e.message:String(e))}finally{u(!1),f(null)}}async function L(t){m(``);try{b((await wt(e,t)).skill)}catch(e){m(e instanceof Error?e.message:String(e))}}async function ie(n){if(window.confirm(t.removeConfirm.replace(`{{name}}`,n.name))){u(!0);try{await Dt(e,n.id),await F()}catch(e){m(e instanceof Error?e.message:String(e))}finally{u(!1)}}}return(0,G.jsxs)(`section`,{id:`project-panel-skills`,role:`tabpanel`,"aria-labelledby":`project-primary-tab-skills`,className:`grid content-start gap-4`,children:[(0,G.jsxs)(`div`,{className:`rounded-lg bg-surface-panel p-4 shadow-surface`,children:[(0,G.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-3`,children:[(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:t.title}),(0,G.jsx)(`p`,{className:`mt-1 text-sm leading-6 text-fg-muted`,children:t.description})]}),(0,G.jsxs)(De,{children:[(0,G.jsx)(Ne,{asChild:!0,children:(0,G.jsxs)(x,{type:`button`,children:[(0,G.jsx)(y,{className:`size-4`,"aria-hidden":!0}),t.add,(0,G.jsx)(Oe,{className:`size-3.5`,"aria-hidden":!0})]})}),(0,G.jsx)(ct,{children:(0,G.jsxs)(qe,{align:`end`,sideOffset:8,className:`z-50 w-72 rounded-lg border border-edge bg-surface-panel p-1.5 shadow-xl`,children:[(0,G.jsx)(kt,{icon:ye,title:t.marketplace,hint:t.marketplaceHint,onClick:()=>g(`marketplace`)}),(0,G.jsx)(kt,{icon:B,title:t.source,hint:t.sourceHint,onClick:()=>g(`source`)}),(0,G.jsx)(kt,{icon:ht,title:t.upload,hint:t.uploadHint,onClick:()=>P.current?.click()})]})})]}),(0,G.jsx)(`input`,{ref:P,type:`file`,accept:`.zip,application/zip`,className:`hidden`,onChange:t=>{let n=t.target.files?.[0];n&&I(()=>W(e,n)),t.target.value=``}})]}),i?(0,G.jsxs)(`p`,{className:`mt-3 break-all font-mono text-xs text-fg-subtle`,children:[t.path,`: `,i]}):null]}),p?(0,G.jsx)(`p`,{className:`rounded-lg border border-red-500/30 bg-red-500/10 px-3 py-2 text-sm text-red-700 dark:text-red-300`,children:p}):null,o?(0,G.jsx)(`div`,{className:`grid gap-3 sm:grid-cols-2 xl:grid-cols-3`,children:[0,1,2].map(e=>(0,G.jsx)(st,{className:`h-36 rounded-lg`},e))}):n.length?(0,G.jsx)(`div`,{className:`grid gap-3 sm:grid-cols-2 xl:grid-cols-3`,children:n.map(e=>(0,G.jsxs)(`article`,{className:`flex min-h-36 flex-col rounded-lg border border-edge bg-surface-panel p-4`,children:[(0,G.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,G.jsx)(We,{className:`size-4 text-accent-fg`,"aria-hidden":!0}),(0,G.jsx)(`h3`,{className:`min-w-0 truncate text-sm font-semibold text-fg`,children:e.name})]}),(0,G.jsx)(`p`,{className:`mt-2 line-clamp-2 flex-1 text-sm leading-5 text-fg-muted`,children:e.description||e.id}),(0,G.jsxs)(`div`,{className:`mt-3 flex items-center justify-between gap-2`,children:[(0,G.jsxs)(x,{type:`button`,variant:`ghost`,className:`h-8 px-2 text-xs`,onClick:()=>void L(e.id),children:[(0,G.jsx)(w,{className:`size-3.5`,"aria-hidden":!0}),t.view]}),(0,G.jsxs)(x,{type:`button`,variant:`ghost`,className:`h-8 px-2 text-xs text-red-600`,disabled:c,onClick:()=>void ie(e),children:[(0,G.jsx)(pe,{className:`size-3.5`,"aria-hidden":!0}),t.remove]})]})]},e.id))}):(0,G.jsxs)(`div`,{className:`rounded-lg border border-dashed border-edge bg-surface-panel px-6 py-12 text-center`,children:[(0,G.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:t.empty}),(0,G.jsx)(`p`,{className:`mt-2 text-sm text-fg-muted`,children:t.emptyHint})]}),(0,G.jsx)(A,{open:h!==null,onOpenChange:e=>{e||g(null)},children:(0,G.jsxs)(H,{children:[(0,G.jsx)(v,{className:`fixed inset-0 z-50 bg-black/45`}),(0,G.jsxs)(z,{className:l(`fixed left-1/2 top-1/2 z-50 flex -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-xl border border-edge bg-surface-panel shadow-xl`,h===`marketplace`?`h-[min(46rem,calc(100vh-2rem))] w-[min(58rem,calc(100vw-2rem))]`:`h-[min(22rem,calc(100vh-2rem))] w-[min(36rem,calc(100vw-2rem))]`),children:[(0,G.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between border-b border-edge px-5 py-4`,children:[(0,G.jsx)(ee,{className:`text-base font-semibold text-fg`,children:h===`marketplace`?t.marketplace:t.source}),(0,G.jsx)(ne,{asChild:!0,children:(0,G.jsx)(x,{type:`button`,variant:`ghost`,className:`size-9 p-0`,children:(0,G.jsx)(Ue,{className:`size-4`})})})]}),(0,G.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto p-5`,children:h===`marketplace`?(0,G.jsxs)(`section`,{children:[(0,G.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:t.marketplace}),(0,G.jsx)(`p`,{className:`mt-1 text-xs leading-5 text-fg-muted`,children:t.marketplaceHint}),(0,G.jsxs)(`div`,{className:`relative mt-3`,children:[(0,G.jsx)(Me,{className:`pointer-events-none absolute left-3 top-1/2 size-4 -translate-y-1/2 text-fg-subtle`,"aria-hidden":!0}),(0,G.jsx)(`input`,{className:`h-10 w-full rounded-md border border-edge bg-surface-base pl-9 pr-3 text-sm outline-none focus:border-accent`,value:S,onChange:e=>{C(e.target.value),E(1)},placeholder:t.marketplacePlaceholder,autoFocus:!0})]}),j?(0,G.jsx)(`p`,{className:`mt-3 text-sm text-red-600 dark:text-red-300`,children:j}):null,k&&!D?(0,G.jsx)(`div`,{className:`mt-3 grid grid-cols-1 gap-3 sm:grid-cols-2`,children:[0,1,2,3].map(e=>(0,G.jsx)(st,{className:`h-32 rounded-lg`},e))}):D?.items.length?(0,G.jsx)(`div`,{className:`mt-3 grid grid-cols-1 gap-3 sm:grid-cols-2`,children:D.items.map(r=>{let i=r.providerId??D.provider,a=xt(r,i),o=n.some(e=>e.id===r.id||e.id===a||e.name===r.name),s=d===a;return(0,G.jsxs)(`article`,{className:`group flex min-h-32 gap-3 rounded-lg border border-edge bg-surface-base p-3`,children:[(0,G.jsx)(bt,{name:r.name,className:`size-10`}),(0,G.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,G.jsx)(`h4`,{className:`truncate text-sm font-semibold text-fg`,children:r.name}),(0,G.jsx)(`p`,{className:`mt-1 line-clamp-2 text-xs leading-5 text-fg-muted`,children:r.description||`—`}),(0,G.jsxs)(`div`,{className:`mt-auto flex items-end justify-between gap-2 pt-2`,children:[(0,G.jsxs)(`span`,{className:`inline-flex items-center gap-1 text-xs text-fg-subtle`,children:[(0,G.jsx)(pt,{className:`size-3.5`,"aria-hidden":!0}),t.marketplaceDownloads,` `,r.downloads]}),(0,G.jsx)(x,{type:`button`,className:`h-8 px-2.5 text-xs`,variant:o?`secondary`:`primary`,disabled:c||o,onClick:()=>void I(()=>Tt(e,a,{provider:i}),a),children:o?t.marketplaceInstalled:s?t.installing:t.install})]})]})]},`${i??`default`}:${r.id}`)})}):k?null:(0,G.jsx)(`p`,{className:`mt-6 text-center text-sm text-fg-muted`,children:t.marketplaceEmpty}),D&&D.meta.totalPages>1?(0,G.jsxs)(`div`,{className:`mt-3 flex items-center justify-between border-t border-edge-subtle pt-3`,children:[(0,G.jsx)(`span`,{className:`text-xs text-fg-muted`,children:t.marketplacePage.replace(`{{page}}`,String(D.meta.page)).replace(`{{total}}`,String(D.meta.totalPages))}),(0,G.jsxs)(`div`,{className:`flex gap-2`,children:[(0,G.jsxs)(x,{type:`button`,variant:`ghost`,className:`h-8 px-2 text-xs`,disabled:k||T<=1,onClick:()=>E(e=>Math.max(1,e-1)),children:[(0,G.jsx)(lt,{className:`size-4`}),t.marketplacePrevious]}),(0,G.jsxs)(x,{type:`button`,variant:`ghost`,className:`h-8 px-2 text-xs`,disabled:k||T>=D.meta.totalPages,onClick:()=>E(e=>e+1),children:[t.marketplaceNext,(0,G.jsx)(Je,{className:`size-4`})]})]})]}):null]}):(0,G.jsxs)(`section`,{className:`flex h-full flex-col`,children:[(0,G.jsx)(`p`,{className:`text-sm leading-6 text-fg-muted`,children:t.sourceHint}),(0,G.jsx)(`input`,{className:`mt-4 h-10 w-full rounded-md border border-edge bg-surface-base px-3 text-sm outline-none focus:border-accent`,value:N,onChange:e=>re(e.target.value),placeholder:t.sourcePlaceholder,autoFocus:!0}),(0,G.jsxs)(`div`,{className:`mt-auto flex justify-end gap-2 border-t border-edge pt-4`,children:[(0,G.jsx)(ne,{asChild:!0,children:(0,G.jsx)(x,{type:`button`,variant:`secondary`,children:t.close})}),(0,G.jsx)(x,{type:`button`,disabled:c||!N.trim(),onClick:()=>void I(()=>Et(e,N.trim())),children:c?t.installing:t.install})]})]})})]})]})}),(0,G.jsx)(A,{open:!!_,onOpenChange:e=>{e||b(null)},children:(0,G.jsxs)(H,{children:[(0,G.jsx)(v,{className:`fixed inset-0 z-50 bg-black/45`}),(0,G.jsxs)(z,{className:`fixed left-1/2 top-1/2 z-50 flex h-[min(42rem,calc(100vh-2rem))] w-[min(48rem,calc(100vw-2rem))] -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-xl border border-edge bg-surface-panel shadow-xl`,children:[(0,G.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between border-b border-edge px-5 py-4`,children:[(0,G.jsx)(ee,{className:`text-base font-semibold text-fg`,children:_?.name}),(0,G.jsx)(ne,{asChild:!0,children:(0,G.jsx)(x,{type:`button`,variant:`ghost`,className:`size-9 p-0`,children:(0,G.jsx)(Ue,{className:`size-4`})})})]}),(0,G.jsx)(`pre`,{className:`min-h-0 flex-1 overflow-auto whitespace-pre-wrap p-5 text-sm leading-6 text-fg-muted`,children:_?.bodyMarkdown})]})]})})]})}function kt(e){let t=(0,St.c)(13),{icon:n,title:r,hint:i,onClick:a}=e,o;t[0]===n?o=t[1]:(o=(0,G.jsx)(n,{className:`mt-0.5 size-4 shrink-0 text-accent-fg`,"aria-hidden":!0}),t[0]=n,t[1]=o);let s;t[2]===r?s=t[3]:(s=(0,G.jsx)(`span`,{className:`block text-sm font-medium text-fg`,children:r}),t[2]=r,t[3]=s);let c;t[4]===i?c=t[5]:(c=(0,G.jsx)(`span`,{className:`mt-0.5 block text-xs leading-5 text-fg-muted`,children:i}),t[4]=i,t[5]=c);let l;t[6]!==s||t[7]!==c?(l=(0,G.jsxs)(`span`,{className:`min-w-0`,children:[s,c]}),t[6]=s,t[7]=c,t[8]=l):l=t[8];let u;return t[9]!==a||t[10]!==o||t[11]!==l?(u=(0,G.jsx)(we,{asChild:!0,children:(0,G.jsxs)(`button`,{type:`button`,className:`flex w-full items-start gap-3 rounded-md px-3 py-2.5 text-left hover:bg-surface-hover`,onClick:a,children:[o,l]})}),t[9]=a,t[10]=o,t[11]=l,t[12]=u):u=t[12],u}var At=[`ready`,`moving`,`needs_user`,`done`];function jt(e){return{ready:e.filter(e=>e.lane===`ready`),moving:e.filter(e=>e.lane===`moving`),needs_user:e.filter(e=>e.lane===`needs_user`),done:e.filter(e=>e.lane===`done`)}}function Mt(e,t){if(t===`ready`&&e.allowedCommands.includes(`add_wait`))return`pause`;if(t===`moving`&&e.allowedCommands.includes(`start`))return`run`;if(t===`moving`&&e.allowedCommands.includes(`resolve_wait`))return`resume`;if(t===`done`&&e.allowedCommands.includes(`request_review`))return`verify`}function Nt(e){if(e.allowedCommands.includes(`start`))return`run`;if(e.allowedCommands.includes(`resolve_wait`))return`resume`;if(e.allowedCommands.includes(`request_review`))return`verify`;if(e.allowedCommands.includes(`add_wait`))return`pause`}var Pt={ready:xe,moving:Ae,needs_user:N,done:et},Ft={ready:`text-fg-muted`,moving:`text-accent-fg`,needs_user:`text-amber-700 dark:text-amber-300`,done:`text-emerald-700 dark:text-emerald-300`};function It(e){let t=(0,St.c)(52),{task:n,returnTo:r,copy:i,busy:a,onAction:o,onDragStart:c}=e,u;t[0]===n?u=t[1]:(u=Nt(n),t[0]=n,t[1]=u);let d=u,f=!!d,p;t[2]!==c||t[3]!==n.id?(p=e=>{e.dataTransfer.effectAllowed=`move`,e.dataTransfer.setData(`text/plain`,n.id),c(n.id)},t[2]=c,t[3]=n.id,t[4]=p):p=t[4];let m;t[5]===c?m=t[6]:(m=()=>c(``),t[5]=c,t[6]=m);let h=`/tasks/${encodeURIComponent(n.id)}`,g;t[7]!==r||t[8]!==h?(g=_e(h,r),t[7]=r,t[8]=h,t[9]=g):g=t[9];let _;t[10]===n.title?_=t[11]:(_=(0,G.jsx)(`h3`,{className:`text-sm font-medium leading-5 text-fg`,children:n.title}),t[10]=n.title,t[11]=_);let v;t[12]!==i||t[13]!==n.priority?(v=n.priority===`critical`||n.priority===`high`?(0,G.jsx)(`span`,{className:l(`shrink-0 rounded-full px-2 py-0.5 text-[11px] font-medium`,n.priority===`critical`?`bg-red-500/10 text-red-700 dark:text-red-300`:`bg-amber-500/10 text-amber-700 dark:text-amber-300`),children:i.priorityOptions[n.priority]}):null,t[12]=i,t[13]=n.priority,t[14]=v):v=t[14];let y;t[15]!==_||t[16]!==v?(y=(0,G.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[_,v]}),t[15]=_,t[16]=v,t[17]=y):y=t[17];let b;t[18]===n.attention[0]?b=t[19]:(b=n.attention[0]?(0,G.jsx)(`p`,{className:`mt-2 line-clamp-3 text-xs leading-5 text-fg-muted`,children:n.attention[0].summary}):null,t[18]=n.attention[0],t[19]=b);let x;t[20]!==i||t[21]!==n.latestVerification?(x=n.latestVerification?(0,G.jsx)(`span`,{className:l(`font-medium`,n.latestVerification===`passed`?`text-emerald-700 dark:text-emerald-300`:n.latestVerification===`failed`?`text-red-700 dark:text-red-300`:`text-fg-subtle`),children:i.verification[n.latestVerification]}):null,t[20]=i,t[21]=n.latestVerification,t[22]=x):x=t[22];let S;t[23]!==i||t[24]!==n.acceptanceCriteriaCount?(S=n.acceptanceCriteriaCount>0?(0,G.jsx)(`span`,{children:i.acceptanceCriteria.replace(`{{count}}`,String(n.acceptanceCriteriaCount))}):null,t[23]=i,t[24]=n.acceptanceCriteriaCount,t[25]=S):S=t[25];let C;t[26]===n.dueAt?C=t[27]:(C=n.dueAt?(0,G.jsxs)(`span`,{className:`inline-flex items-center gap-1`,children:[(0,G.jsx)(Pe,{className:`size-3`,"aria-hidden":!0}),it(new Date(n.dueAt))]}):null,t[26]=n.dueAt,t[27]=C);let w;t[28]===n.nextCheckAt?w=t[29]:(w=n.nextCheckAt?(0,G.jsxs)(`span`,{className:`inline-flex items-center gap-1 text-accent-fg`,children:[(0,G.jsx)(Pe,{className:`size-3`,"aria-hidden":!0}),it(new Date(n.nextCheckAt))]}):null,t[28]=n.nextCheckAt,t[29]=w);let T;t[30]!==x||t[31]!==S||t[32]!==C||t[33]!==w?(T=(0,G.jsxs)(`div`,{className:`mt-3 flex flex-wrap items-center gap-x-3 gap-y-1 text-[11px] text-fg-subtle`,children:[x,S,C,w]}),t[30]=x,t[31]=S,t[32]=C,t[33]=w,t[34]=T):T=t[34];let E;t[35]!==b||t[36]!==T||t[37]!==g||t[38]!==y?(E=(0,G.jsxs)(s,{to:g,className:`block p-3 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-accent`,children:[y,b,T]}),t[35]=b,t[36]=T,t[37]=g,t[38]=y,t[39]=E):E=t[39];let D;t[40]!==a||t[41]!==i||t[42]!==o||t[43]!==d||t[44]!==n?(D=d?(0,G.jsxs)(`div`,{className:`flex items-center gap-3 border-t border-edge-subtle px-3 py-2`,children:[(0,G.jsx)(`button`,{type:`button`,disabled:a,onClick:()=>o(n,d),className:`text-xs font-medium text-accent-fg hover:underline disabled:cursor-wait disabled:opacity-50`,children:i.actions[d]}),d!==`verify`&&n.allowedCommands.includes(`request_review`)?(0,G.jsx)(`button`,{type:`button`,disabled:a,onClick:()=>o(n,`verify`),className:`text-xs font-medium text-fg-muted hover:text-fg hover:underline disabled:cursor-wait disabled:opacity-50`,children:i.actions.verify}):null]}):null,t[40]=a,t[41]=i,t[42]=o,t[43]=d,t[44]=n,t[45]=D):D=t[45];let O;return t[46]!==E||t[47]!==D||t[48]!==f||t[49]!==p||t[50]!==m?(O=(0,G.jsxs)(`article`,{draggable:f,onDragStart:p,onDragEnd:m,className:`rounded-lg border border-edge-subtle bg-surface-panel transition-colors hover:border-edge hover:bg-surface-hover`,children:[E,D]}),t[46]=E,t[47]=D,t[48]=f,t[49]=p,t[50]=m,t[51]=O):O=t[51],O}function Lt({tasks:e,returnTo:t,copy:n,onAction:r,onCreate:i,actionBusyId:a}){let[o,s]=(0,U.useState)(null),[u,p]=(0,U.useState)(!1),[m,h]=(0,U.useState)(()=>crypto.randomUUID()),[_,b]=(0,U.useState)(``),[S,C]=(0,U.useState)(`normal`),[w,T]=(0,U.useState)(``),[E,D]=(0,U.useState)([]),[O,k]=(0,U.useState)(!1),[te,j]=(0,U.useState)(``),[M,N]=(0,U.useState)(!1),[re,F]=(0,U.useState)(null),L=ue({chat:d(f(e=>e.language)).chat}),ie=jt(e),R=e.filter(e=>e.phase!==`closed`),ae=te.trim().toLocaleLowerCase(),oe=R.filter(e=>!ae||e.title.toLocaleLowerCase().includes(ae)).slice(0,8),se=(e,t)=>{r(e,t)},B=async e=>{e.preventDefault();let t=_.trim();if(!(!t||M)){N(!0),F(null);try{let e=w?new Date(`${w}T23:59:59.999`).getTime():void 0;await i({requestId:m,objective:t,priority:S,dependsOnTaskIds:E,attachments:L.wireAttachmentsPayload(),...e===void 0?{}:{dueAt:e}}),b(``),C(`normal`),T(``),D([]),k(!1),j(``),L.clearAttachments(),h(crypto.randomUUID()),p(!1)}catch(e){F(e instanceof Error?e.message:n.createFailed)}finally{N(!1)}}};return(0,G.jsxs)(`section`,{id:`project-panel-board`,role:`tabpanel`,"aria-labelledby":`project-primary-tab-board`,className:`min-h-full`,children:[(0,G.jsxs)(`div`,{className:`mb-4 flex flex-wrap items-start justify-between gap-3`,children:[(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`h2`,{className:`text-base font-semibold text-fg`,children:n.title}),(0,G.jsx)(`p`,{className:`mt-1 text-sm leading-6 text-fg-muted`,children:n.description})]}),(0,G.jsxs)(x,{type:`button`,variant:`primary`,className:`h-9 rounded-lg`,onClick:()=>{h(crypto.randomUUID()),b(``),C(`normal`),T(``),D([]),k(!1),j(``),L.clearAttachments(),F(null),p(!0)},children:[(0,G.jsx)(y,{className:`size-4`,"aria-hidden":!0}),n.create]})]}),(0,G.jsx)(`div`,{className:`grid min-w-[64rem] grid-cols-4 gap-3`,children:At.map(r=>{let i=Pt[r],c=ie[r];return(0,G.jsxs)(`section`,{onDragOver:t=>{let n=e.find(e=>e.id===o);n&&Mt(n,r)&&t.preventDefault()},onDrop:t=>{t.preventDefault();let n=e.find(e=>e.id===o),i=n?Mt(n,r):void 0;s(null),n&&i&&se(n,i)},className:`min-w-0 rounded-xl bg-surface-muted/60 p-2.5`,children:[(0,G.jsxs)(`header`,{className:`mb-2.5 flex items-center justify-between gap-2 px-1`,children:[(0,G.jsxs)(`div`,{className:l(`flex items-center gap-2`,Ft[r]),children:[(0,G.jsx)(i,{className:`size-4`,"aria-hidden":!0}),(0,G.jsx)(`h3`,{className:`text-sm font-semibold`,children:n.lanes[r]})]}),(0,G.jsx)(`span`,{className:`rounded-full bg-surface-panel px-2 py-0.5 text-xs text-fg-subtle`,children:c.length})]}),(0,G.jsx)(`div`,{className:`grid gap-2`,children:c.length?c.map(e=>(0,G.jsx)(It,{task:e,returnTo:t,copy:n,busy:a===e.id,onAction:se,onDragStart:s},e.id)):(0,G.jsx)(`p`,{className:`rounded-lg border border-dashed border-edge px-3 py-5 text-center text-xs text-fg-subtle`,children:n.empty})})]},r)})}),(0,G.jsx)(A,{open:u,onOpenChange:e=>{M||p(e)},children:(0,G.jsxs)(H,{children:[(0,G.jsx)(v,{className:`fixed inset-0 z-[80] bg-scrim backdrop-blur-[2px]`}),(0,G.jsxs)(z,{className:`fixed left-1/2 top-1/2 z-[90] flex h-[min(40rem,calc(100vh-2rem))] w-[min(38rem,calc(100vw-2rem))] -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-xl border border-edge bg-surface-panel shadow-float focus:outline-none`,children:[(0,G.jsxs)(`div`,{className:`shrink-0 border-b border-edge px-5 py-4`,children:[(0,G.jsx)(ee,{className:`text-base font-semibold text-fg`,children:n.createTitle}),(0,G.jsx)(mt,{className:`mt-1 text-sm leading-6 text-fg-muted`,children:n.createDescription})]}),(0,G.jsxs)(`form`,{className:`flex min-h-0 flex-1 flex-col`,onSubmit:e=>void B(e),children:[(0,G.jsxs)(`div`,{className:`min-h-0 flex-1 space-y-4 overflow-y-auto px-5 py-4`,children:[(0,G.jsxs)(`div`,{className:`grid gap-2 text-sm`,children:[(0,G.jsx)(`label`,{htmlFor:`project-task-objective`,className:`font-medium text-fg-muted`,children:n.objective}),(0,G.jsxs)(`div`,{className:l(`overflow-hidden rounded-lg border border-edge bg-surface-base transition-colors focus-within:border-accent`,L.isDragging&&`border-accent bg-accent-soft/30`),onDragOver:e=>{e.preventDefault(),M||L.setIsDragging(!0)},onDragLeave:e=>{e.currentTarget.contains(e.relatedTarget)||L.setIsDragging(!1)},onDrop:e=>{e.preventDefault(),L.setIsDragging(!1),M||L.processFiles(Array.from(e.dataTransfer.files))},children:[(0,G.jsx)(`textarea`,{id:`project-task-objective`,autoFocus:!0,className:`min-h-28 w-full resize-y bg-transparent px-3 py-3 text-sm leading-6 text-fg outline-none placeholder:text-fg-subtle`,value:_,onChange:e=>{b(e.target.value),F(null)},placeholder:n.objectivePlaceholder,maxLength:12e3,disabled:M}),(0,G.jsx)(I,{attachments:L.attachments,topPadded:!1,onRemove:e=>{M||L.removeAttachment(e)}}),(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2 border-t border-edge-subtle px-2.5 py-2`,children:[(0,G.jsxs)(x,{type:`button`,variant:`ghost`,className:`h-8 rounded-lg px-2.5 text-xs`,disabled:M,onClick:()=>L.fileInputRef.current?.click(),children:[(0,G.jsx)(P,{className:`size-3.5`,"aria-hidden":!0}),n.addFiles]}),(0,G.jsx)(`span`,{className:`text-xs text-fg-subtle`,children:n.attachmentsDescription}),(0,G.jsx)(`input`,{ref:L.fileInputRef,type:`file`,multiple:!0,className:`hidden`,onChange:e=>{L.processFiles(Array.from(e.target.files??[])),e.currentTarget.value=``}})]})]})]}),(0,G.jsxs)(`div`,{className:`grid gap-4 sm:grid-cols-2`,children:[(0,G.jsxs)(`label`,{className:`grid gap-2 text-sm`,children:[(0,G.jsx)(`span`,{className:`font-medium text-fg-muted`,children:n.priority}),(0,G.jsx)(g,{value:S,onChange:e=>C(e.target.value),disabled:M,children:[`low`,`normal`,`high`,`critical`].map(e=>(0,G.jsx)(je,{value:e,children:n.priorityOptions[e]},e))})]}),(0,G.jsxs)(`label`,{className:`grid gap-2 text-sm`,children:[(0,G.jsxs)(`span`,{className:`font-medium text-fg-muted`,children:[n.dueDate,` `,(0,G.jsx)(`span`,{className:`font-normal text-fg-subtle`,children:n.optional})]}),(0,G.jsx)(`input`,{type:`date`,className:`min-h-10 rounded-md border border-edge bg-surface-base px-3 text-sm text-fg outline-none focus:border-accent`,value:w,onChange:e=>T(e.target.value),disabled:M})]})]}),(0,G.jsxs)(`fieldset`,{className:`grid gap-2`,children:[(0,G.jsxs)(`legend`,{className:`text-sm font-medium text-fg-muted`,children:[n.dependencies,` `,(0,G.jsx)(`span`,{className:`font-normal text-fg-subtle`,children:n.optional})]}),(0,G.jsx)(`p`,{className:`text-xs leading-5 text-fg-subtle`,children:n.dependenciesDescription}),E.length>0?(0,G.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:E.map(e=>{let t=R.find(t=>t.id===e);return t?(0,G.jsxs)(`span`,{className:`inline-flex max-w-full items-center gap-1.5 rounded-lg bg-accent-soft px-2.5 py-1.5 text-xs text-accent-fg`,children:[(0,G.jsx)(`span`,{className:`truncate`,children:t.title}),(0,G.jsx)(`button`,{type:`button`,className:`shrink-0 rounded text-accent-fg/70 hover:text-accent-fg`,"aria-label":n.removeDependency.replace(`{{task}}`,t.title),disabled:M,onClick:()=>D(e=>e.filter(e=>e!==t.id)),children:(0,G.jsx)(Ue,{className:`size-3.5`,"aria-hidden":!0})})]},t.id):null})}):null,R.length>0?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsxs)(x,{type:`button`,variant:`secondary`,className:`w-fit rounded-lg`,disabled:M,"aria-expanded":O,onClick:()=>k(e=>!e),children:[(0,G.jsx)(ot,{className:`size-4`,"aria-hidden":!0}),E.length>0?n.linkedDependencies.replace(`{{count}}`,String(E.length)):n.linkDependencies,(0,G.jsx)(Oe,{className:l(`size-3.5 transition-transform`,O&&`rotate-180`),"aria-hidden":!0})]}),O?(0,G.jsxs)(`div`,{className:`grid gap-2 rounded-lg border border-edge bg-surface-base p-2`,children:[(0,G.jsxs)(`label`,{className:`relative block`,children:[(0,G.jsx)(Me,{className:`pointer-events-none absolute left-2.5 top-1/2 size-4 -translate-y-1/2 text-fg-subtle`,"aria-hidden":!0}),(0,G.jsx)(`input`,{value:te,onChange:e=>j(e.target.value),placeholder:n.dependencySearchPlaceholder,className:`h-9 w-full rounded-md border border-edge bg-surface-panel pl-8 pr-3 text-sm text-fg outline-none placeholder:text-fg-subtle focus:border-accent`,autoFocus:!0})]}),oe.length>0?(0,G.jsx)(`div`,{className:`grid max-h-44 gap-1 overflow-y-auto`,children:oe.map(e=>{let t=E.includes(e.id);return(0,G.jsxs)(`button`,{type:`button`,"aria-pressed":t,disabled:M,onClick:()=>D(n=>t?n.filter(t=>t!==e.id):[...n,e.id]),className:l(`flex items-center gap-2 rounded-md px-2.5 py-2 text-left text-sm transition-colors`,t?`bg-accent-soft text-accent-fg`:`text-fg hover:bg-surface-hover`),children:[(0,G.jsx)(`span`,{className:l(`flex size-4 shrink-0 items-center justify-center rounded border`,t?`border-accent bg-accent text-white`:`border-edge`),children:t?(0,G.jsx)(c,{className:`size-3`,"aria-hidden":!0}):null}),(0,G.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.title})]},e.id)})}):(0,G.jsx)(`p`,{className:`px-2 py-3 text-center text-sm text-fg-subtle`,children:n.noDependencyMatches})]}):null]}):(0,G.jsx)(`p`,{className:`text-sm text-fg-subtle`,children:n.noDependencyCandidates})]}),re?(0,G.jsx)(`p`,{className:`text-sm text-red-600 dark:text-red-400`,children:re}):null]}),(0,G.jsxs)(`div`,{className:`flex shrink-0 justify-end gap-2 border-t border-edge px-5 py-4`,children:[(0,G.jsx)(ne,{asChild:!0,children:(0,G.jsx)(x,{type:`button`,variant:`ghost`,className:`rounded-lg`,disabled:M,children:n.cancel})}),(0,G.jsx)(x,{type:`submit`,variant:`primary`,className:`rounded-lg`,disabled:M||!_.trim(),children:M?n.creating:n.create})]})]})]})]})})]})}var Rt=new Set([{id:`overview`,icon:$e},{id:`tasks`,icon:he},{id:`automations`,icon:R},{id:`files`,icon:ut},{id:`notes`,icon:He},{id:`skills`,icon:Xe},{id:`sessions`,icon:fe},{id:`progress`,icon:Le},{id:`settings`,icon:Ce}].map(e=>e.id)),zt=`xopc.projectFiles.panelWidthPx`,Bt=320,Vt=220,Ht=560;function Ut(e){return Math.min(Ht,Math.max(Vt,Math.round(e)))}function Wt(){try{let e=window.localStorage.getItem(zt);if(e==null)return Bt;let t=Number.parseInt(e,10);return Number.isFinite(t)?Ut(t):Bt}catch{return Bt}}function Gt(e){try{window.localStorage.setItem(zt,String(Ut(e)))}catch{}}function Kt(e){return!!(e&&Rt.has(e))}function qt(e,t){return e.replace(/\{\{(\w+)\}\}/g,(e,n)=>String(t[n]??``))}function Jt(e,t=``){if(!e)return t;let n=new Date(e);return Number.isNaN(n.getTime())?String(e):it(n)}function Yt(e){return e===`active`?`bg-accent-soft text-accent-fg`:e===`done`?`bg-emerald-500/10 text-emerald-700 dark:text-emerald-300`:e===`paused`?`bg-amber-500/10 text-amber-700 dark:text-amber-300`:e===`archived`?`bg-surface-muted text-fg-subtle`:`bg-surface-hover text-fg-muted`}function Xt(e){let t=(0,St.c)(8),{label:n,hint:r,children:i}=e,a;t[0]===n?a=t[1]:(a=(0,G.jsx)(`span`,{className:`font-medium text-fg-muted`,children:n}),t[0]=n,t[1]=a);let o;t[2]===r?o=t[3]:(o=r?(0,G.jsx)(`span`,{className:`text-xs leading-5 text-fg-subtle`,children:r}):null,t[2]=r,t[3]=o);let s;return t[4]!==i||t[5]!==a||t[6]!==o?(s=(0,G.jsxs)(`label`,{className:`grid gap-1.5 text-sm`,children:[a,i,o]}),t[4]=i,t[5]=a,t[6]=o,t[7]=s):s=t[7],s}function Zt(e=!1){return l(`w-full rounded-md border border-edge bg-surface-base px-3 text-sm text-fg outline-none focus:border-accent`,e?`min-h-24 py-2 leading-5`:`min-h-10`)}function Qt(e){let t=(0,St.c)(10),{label:n,value:r,mono:i}=e,a=i===void 0?!1:i,o;t[0]===n?o=t[1]:(o=(0,G.jsx)(`div`,{className:`text-xs font-medium text-fg-subtle`,children:n}),t[0]=n,t[1]=o);let s=a&&`font-mono text-xs`,c;t[2]===s?c=t[3]:(c=l(`mt-1 min-w-0 truncate text-sm text-fg`,s),t[2]=s,t[3]=c);let u;t[4]!==c||t[5]!==r?(u=(0,G.jsx)(`div`,{className:c,title:r,children:r}),t[4]=c,t[5]=r,t[6]=u):u=t[6];let d;return t[7]!==o||t[8]!==u?(d=(0,G.jsxs)(`div`,{className:`min-w-0 rounded-md bg-surface-base px-3 py-2`,children:[o,u]}),t[7]=o,t[8]=u,t[9]=d):d=t[9],d}function $t(e){return[e.name,e.slug,e.workspaceRoot,e.description,e.brief].filter(Boolean).join(` `).toLowerCase()}function en(e){let t=e.lastActiveAt??e.updatedAt??e.createdAt,n=t?new Date(t).getTime():0;return Number.isFinite(n)?n:0}function tn(e){return e.trim().replace(/[\\/]+$/,``).split(/[\\/]/).filter(Boolean).pop()??``}function nn(e){let t=e?.body;return t?.code===`workspace_root_missing`&&t.workspaceRoot?t.workspaceRoot:null}function rn(e){let t=e.actor;return t.name?t.name:t.agentId?t.agentId:t.id?t.id:t.sessionKey?t.sessionKey:t.kind}function an(e){return e.primaryObject.title?.trim()||e.primaryObject.id}function on(e){let t=e.source;return t.toolCallId?`${t.kind} · ${t.toolCallId}`:t.runId?`${t.kind} · ${t.runId}`:t.requestId?`${t.kind} · ${t.requestId}`:t.kind}function sn(e){let t=e.sourceChannel?.trim();if(t)return cn(t);let n=e.key.split(`:`).filter(Boolean),r=(n[0]?.toLowerCase()===`agent`?n.slice(2).join(`:`):e.key).split(`:`)[0]?.split(/[-_]/)[0]?.trim();return cn(r||``)}function cn(e){let t=e.trim().toLowerCase();return t?t===`tui`?`TUI`:t===`acp`?`ACP`:t===`webchat`?`Webchat`:t:``}function ln(e){let t=e.payload.changes;if(Array.isArray(t)&&t.length)return t.filter(e=>typeof e==`string`).join(`, `);let n=e.payload.contentPreview;if(typeof n==`string`&&n.trim())return n.trim();let r=e.payload.title??e.payload.name;return typeof r==`string`&&r.trim()?r.trim():``}function un(e){return e.map(e=>({name:e.name,path:e.path,absolutePath:e.absolutePath,isDirectory:e.type===`directory`,children:e.type===`directory`?[]:void 0}))}function dn(e,t,n){return e.map(e=>e.path===t?{...e,children:n}:e.isDirectory&&e.children?.length?{...e,children:dn(e.children,t,n)}:e)}function fn({currentProject:e,pm:t,projectsText:n,wd:r}){let i=o(),[a,s]=(0,U.useState)(!1),[u,d]=(0,U.useState)([e]),[f,p]=(0,U.useState)(``),[m,h]=(0,U.useState)(!1),[g,_]=(0,U.useState)(null),[b,S]=(0,U.useState)(!1),[C,w]=(0,U.useState)(`new`),[T,E]=(0,U.useState)(``),[D,O]=(0,U.useState)(``),[k,te]=(0,U.useState)(!1),[j,M]=(0,U.useState)(null),[N,P]=(0,U.useState)(null),F=(0,U.useCallback)(async()=>{h(!0),_(null);try{let t=await V({limit:100});d(n=>{let r=new Map;r.set(e.id,e);for(let e of n)r.set(e.id,e);for(let e of t.items)r.set(e.id,e);return Array.from(r.values())})}catch(e){_(e instanceof Error?e.message:String(e))}finally{h(!1)}},[e]);(0,U.useEffect)(()=>{d(t=>[e,...t.filter(t=>t.id!==e.id)])},[e]),(0,U.useEffect)(()=>{a&&F()},[F,a]);let I=(0,U.useMemo)(()=>{let t=f.trim().toLowerCase().split(/\s+/).filter(Boolean);return u.filter(t=>t.id!==e.id).filter(e=>{if(t.length===0)return!0;let n=$t(e);return t.every(e=>n.includes(e))}).sort((e,t)=>en(t)-en(e))},[e.id,u,f]),L=e=>t.statuses[e.status]??e.status,ie=e=>e.workspaceRoot||e.effectiveWorkspaceRoot||e.description||e.brief||t.common.defaultWorkspace,R=e=>{w(e),E(``),O(``),M(null),S(!0),s(!1)},ae=(0,U.useCallback)(async(e={})=>{let t=D.trim(),n=T.trim()||(C===`directory`?tn(t):``);if(n){te(!0),M(null),P(null);try{let r=await re({name:n,...t?{workspaceRoot:t}:{},...e.createWorkspaceRoot?{createWorkspaceRoot:!0}:{}});S(!1),E(``),O(``),d(e=>[r,...e.filter(e=>e.id!==r.id)]),i(`/projects/${encodeURIComponent(r.id)}`)}catch(e){let t=nn(e);t?(P(t),S(!1)):M(e instanceof Error?e.message:String(e))}finally{te(!1)}}},[C,T,i,D]),oe=(0,U.useCallback)(e=>{e.preventDefault(),ae()},[ae]),se=(0,U.useCallback)(()=>{ae({createWorkspaceRoot:!0})},[ae]),B=(0,U.useCallback)(()=>{P(null),S(!0)},[]),ce=e=>{O(e),C===`directory`&&!T.trim()&&E(tn(e))},ue=(e,t)=>(0,G.jsxs)(`button`,{type:`button`,className:l(`grid w-full grid-cols-[1rem_minmax(0,1fr)_auto] items-center gap-2 rounded-md p-2 text-left hover:bg-surface-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/40`,t&&`bg-accent-soft/55 hover:bg-accent-soft/70`),onClick:()=>{s(!1),t||i(`/projects/${encodeURIComponent(e.id)}`)},children:[(0,G.jsx)(c,{className:l(`size-4 text-accent-fg`,!t&&`invisible`),"aria-hidden":!0}),(0,G.jsxs)(`span`,{className:`min-w-0`,children:[(0,G.jsx)(`span`,{className:`block truncate text-sm font-medium text-fg`,children:e.name}),(0,G.jsx)(`span`,{className:`block truncate text-xs text-fg-muted`,children:ie(e)})]}),(0,G.jsx)(`span`,{className:l(`shrink-0 rounded-full px-2 py-0.5 text-[11px] font-medium`,Yt(e.status)),children:L(e)})]},e.id);return(0,G.jsxs)(G.Fragment,{children:[(0,G.jsxs)(De,{open:a,onOpenChange:s,children:[(0,G.jsx)(Ne,{asChild:!0,children:(0,G.jsxs)(`button`,{type:`button`,className:`group flex max-w-full min-w-0 items-center gap-2 rounded-lg px-2 py-1 text-left hover:bg-surface-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/40`,"aria-label":t.projectSwitcher.switchProject,title:t.projectSwitcher.switchProject,children:[(0,G.jsxs)(`span`,{className:`min-w-0`,children:[(0,G.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,G.jsx)(`h1`,{className:`truncate text-base font-semibold tracking-tight text-fg`,children:e.name}),(0,G.jsx)(`span`,{className:l(`shrink-0 rounded-full px-2 py-0.5 text-[11px] font-medium`,Yt(e.status)),children:L(e)})]}),(0,G.jsx)(`span`,{className:`block truncate text-xs text-fg-muted`,children:ie(e)})]}),(0,G.jsx)(Oe,{className:`size-4 shrink-0 text-fg-subtle transition-transform group-data-[state=open]:rotate-180`,"aria-hidden":!0})]})}),(0,G.jsx)(ct,{children:(0,G.jsxs)(qe,{side:`bottom`,align:`start`,sideOffset:6,className:`z-[70] w-[min(26rem,calc(100vw-2rem))] overflow-hidden rounded-xl border border-edge bg-surface-panel p-1.5 shadow-popover outline-none`,onOpenAutoFocus:e=>e.preventDefault(),children:[(0,G.jsxs)(`label`,{className:`relative block`,children:[(0,G.jsx)(Me,{className:`pointer-events-none absolute left-3 top-1/2 size-4 -translate-y-1/2 text-fg-subtle`,"aria-hidden":!0}),(0,G.jsx)(`input`,{type:`search`,className:`h-9 w-full rounded-lg border border-edge bg-surface-base pl-9 pr-3 text-sm text-fg outline-none placeholder:text-fg-muted focus:border-accent`,value:f,onChange:e=>p(e.target.value),placeholder:t.projectSwitcher.searchPlaceholder,"aria-label":t.projectSwitcher.searchPlaceholder})]}),(0,G.jsxs)(`div`,{className:`mt-1 max-h-[min(54vh,24rem)] overflow-y-auto pr-0.5 [scrollbar-gutter:stable]`,children:[(0,G.jsx)(`div`,{className:`px-2 pb-1 pt-2 text-[11px] font-semibold uppercase tracking-wide text-fg-subtle`,children:t.projectSwitcher.current}),ue(e,!0),(0,G.jsx)(`div`,{className:`px-2 pb-1 pt-3 text-[11px] font-semibold uppercase tracking-wide text-fg-subtle`,children:t.projectSwitcher.recent}),g?(0,G.jsx)(`div`,{className:`p-2 text-xs text-red-600 dark:text-red-400`,children:g}):null,m&&I.length===0?(0,G.jsx)(`div`,{className:`px-2 py-3 text-center text-xs text-fg-muted`,children:t.projectSwitcher.loading}):null,!m&&I.length===0?(0,G.jsx)(`div`,{className:`px-2 py-3 text-center text-xs text-fg-muted`,children:t.projectSwitcher.noMatches}):null,I.map(e=>ue(e,!1))]}),(0,G.jsxs)(`div`,{className:`mt-1 border-t border-edge-subtle pt-1`,children:[(0,G.jsxs)(`button`,{type:`button`,className:`flex h-9 w-full items-center gap-2 rounded-md px-2 text-left text-sm text-fg hover:bg-surface-hover`,onClick:()=>R(`new`),children:[(0,G.jsx)(y,{className:`size-4 text-fg-muted`,"aria-hidden":!0}),(0,G.jsx)(`span`,{className:`min-w-0 truncate`,children:t.projectSwitcher.newProject})]}),(0,G.jsxs)(`button`,{type:`button`,className:`flex h-9 w-full items-center gap-2 rounded-md px-2 text-left text-sm text-fg hover:bg-surface-hover`,onClick:()=>R(`directory`),children:[(0,G.jsx)(ut,{className:`size-4 text-fg-muted`,"aria-hidden":!0}),(0,G.jsx)(`span`,{className:`min-w-0 truncate`,children:t.projectSwitcher.openDirectory})]}),(0,G.jsxs)(`button`,{type:`button`,className:`flex h-9 w-full items-center gap-2 rounded-md px-2 text-left text-sm text-fg hover:bg-surface-hover`,onClick:()=>{s(!1),i(`/projects`)},children:[(0,G.jsx)(Ce,{className:`size-4 text-fg-muted`,"aria-hidden":!0}),(0,G.jsx)(`span`,{className:`min-w-0 truncate`,children:t.projectSwitcher.manageProjects})]})]})]})})]}),(0,G.jsx)(A,{open:b,onOpenChange:e=>!k&&S(e),children:(0,G.jsxs)(H,{children:[(0,G.jsx)(v,{className:`fixed inset-0 z-[80] bg-scrim backdrop-blur-[2px]`}),(0,G.jsxs)(z,{className:`fixed left-1/2 top-1/2 z-[90] flex h-[min(32rem,calc(100vh-2rem))] w-[min(40rem,calc(100vw-2rem))] -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-xl border border-edge bg-surface-panel shadow-float focus:outline-none`,children:[(0,G.jsxs)(`div`,{className:`shrink-0 border-b border-edge px-5 py-4`,children:[(0,G.jsx)(ee,{className:`text-base font-semibold text-fg`,children:C===`directory`?t.projectSwitcher.createFromDirectoryTitle:n.createTitle}),(0,G.jsx)(mt,{className:`mt-1 text-sm text-fg-muted`,children:C===`directory`?t.projectSwitcher.createFromDirectoryDescription:n.createDescription})]}),(0,G.jsxs)(`form`,{onSubmit:oe,className:`flex min-h-0 flex-1 flex-col`,children:[(0,G.jsxs)(`div`,{className:`min-h-0 flex-1 space-y-4 overflow-y-auto px-5 py-4`,children:[j?(0,G.jsx)(`div`,{className:`rounded-lg border border-red-500/30 bg-red-500/10 px-3 py-2 text-sm text-red-700 dark:text-red-300`,children:j}):null,(0,G.jsxs)(`label`,{className:`grid gap-1.5 text-sm`,children:[(0,G.jsx)(`span`,{className:`font-medium text-fg-muted`,children:n.projectName}),(0,G.jsx)(`input`,{className:`min-h-10 rounded-md border border-edge bg-surface-base px-3 text-sm text-fg outline-none placeholder:text-fg-muted focus:border-accent`,value:T,onChange:e=>E(e.target.value),placeholder:`xopc`})]}),(0,G.jsxs)(`div`,{className:`grid gap-1.5 text-sm`,children:[(0,G.jsx)(`span`,{className:`font-medium text-fg-muted`,children:n.workspaceRoot}),(0,G.jsx)(vt,{value:D,onChange:ce,disabled:k,wd:r,placeholder:n.workspacePlaceholder,inputClassName:`min-h-10 rounded-md border border-edge bg-surface-base px-3 text-sm text-fg outline-none placeholder:text-fg-muted focus:border-accent`}),(0,G.jsx)(`p`,{className:`text-xs text-fg-subtle`,children:n.workspaceHint})]})]}),(0,G.jsxs)(`div`,{className:`flex shrink-0 justify-end gap-2 border-t border-edge px-5 py-4`,children:[(0,G.jsx)(ne,{asChild:!0,children:(0,G.jsx)(x,{type:`button`,variant:`ghost`,className:`rounded-lg`,disabled:k,children:n.cancel})}),(0,G.jsxs)(x,{type:`submit`,variant:`primary`,className:`rounded-lg`,disabled:k||!(T.trim()||C===`directory`&&tn(D)),children:[(0,G.jsx)(y,{className:`size-4`,"aria-hidden":!0}),n.create]})]})]})]})]})}),(0,G.jsx)(A,{open:!!N,onOpenChange:e=>{e||P(null)},children:(0,G.jsxs)(H,{children:[(0,G.jsx)(v,{className:`fixed inset-0 z-[100] bg-scrim backdrop-blur-[2px]`}),(0,G.jsxs)(z,{className:`fixed left-1/2 top-1/2 z-[110] flex w-[min(30rem,calc(100vw-2rem))] -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-xl border border-edge bg-surface-panel shadow-float focus:outline-none`,children:[(0,G.jsxs)(`div`,{className:`border-b border-edge px-5 py-4`,children:[(0,G.jsx)(ee,{className:`text-base font-semibold text-fg`,children:n.workspaceMissingTitle}),(0,G.jsx)(mt,{className:`mt-1 text-sm leading-6 text-fg-muted`,children:N?qt(n.workspaceMissingDescription,{workspace:N}):null})]}),N?(0,G.jsx)(`div`,{className:`px-5 py-4`,children:(0,G.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg bg-surface-muted px-3 py-2 text-sm text-fg-muted`,children:[(0,G.jsx)(ut,{className:`size-4 shrink-0 text-fg-subtle`,"aria-hidden":!0}),(0,G.jsx)(`span`,{className:`min-w-0 truncate`,children:N})]})}):null,(0,G.jsxs)(`div`,{className:`flex justify-end gap-2 border-t border-edge px-5 py-4`,children:[(0,G.jsx)(x,{type:`button`,variant:`ghost`,className:`rounded-lg`,onClick:B,disabled:k,children:n.workspaceMissingBack}),(0,G.jsxs)(x,{type:`button`,variant:`primary`,className:`rounded-lg`,onClick:se,disabled:k,children:[(0,G.jsx)(le,{className:`size-4`,"aria-hidden":!0}),n.workspaceMissingCreate]})]})]})]})})]})}function pn(){let{projectId:e=``,tabId:t,noteId:n}=i(),r=o(),[c]=a(),p=f(e=>e.language),m=d(p),w=m.chat.workingDirectory,N=m.projectDetailPage,re=m.projectsPage,P=Ee(e=>e.setPageHeader),I=Ee(e=>e.clearPageHeader),[B,ue]=(0,U.useState)(null),[V,ye]=(0,U.useState)(null),[xe,we]=(0,U.useState)([]),[De,Oe]=(0,U.useState)(``),[Ae,Ne]=(0,U.useState)([]),[Pe,qe]=(0,U.useState)(!1),[Je,et]=(0,U.useState)(null),[it,ot]=(0,U.useState)([]),[ct,lt]=(0,U.useState)(0),[pt,ht]=(0,U.useState)(!1),[yt,bt]=(0,U.useState)(!1),[xt,St]=(0,U.useState)(!1),[Ct,wt]=(0,U.useState)([]),W=(0,U.useRef)(new Set),[Tt,Et]=(0,U.useState)(null),[Dt,kt]=(0,U.useState)(Wt),[At,jt]=(0,U.useState)(!1),[Mt,Nt]=(0,U.useState)(!1),[Pt,Ft]=(0,U.useState)(``),[It,Rt]=(0,U.useState)([]),[zt,Bt]=(0,U.useState)(!1),[Vt,Ht]=(0,U.useState)(null),[$t,en]=(0,U.useState)(!1),[tn,cn]=(0,U.useState)(null),[pn,mn]=(0,U.useState)([]),[hn,gn]=(0,U.useState)(``),[_n,vn]=(0,U.useState)(!0),[K,yn]=(0,U.useState)(!1),[bn,xn]=(0,U.useState)(!1),[Sn,Cn]=(0,U.useState)(null),[wn,Tn]=(0,U.useState)(!1),[q,En]=(0,U.useState)(`fixed`),[Dn,On]=(0,U.useState)(``),[kn,An]=(0,U.useState)(null),[jn,Mn]=(0,U.useState)(!1),[Nn,Pn]=(0,U.useState)(!1),[Fn,In]=(0,U.useState)(!1),[Ln,Rn]=(0,U.useState)(null),[zn,J]=(0,U.useState)(null),[Bn,Vn]=(0,U.useState)({title:``,reason:``}),[Y,X]=(0,U.useState)({name:``,description:``,status:`active`,defaultAgentId:``,workspaceRoot:``,brief:``,instructions:``}),Hn=`overview`,Z=n?`notes`:Kt(t)?t:Hn,Q=(0,U.useMemo)(()=>ve(c.get(`returnTo`),`/projects`,[`/chat`]),[c]),$=(0,U.useCallback)(t=>{if(!e)return`/projects`;let n=`/projects/${encodeURIComponent(e)}/${t}`;return Q===`/projects`?n:_e(n,Q)},[Q,e]),Un=(0,U.useCallback)(t=>{e&&r($(t))},[r,e,$]),Wn=(0,U.useCallback)(t=>{e&&r($(t),{replace:!0})},[r,e,$]),Gn=(0,U.useCallback)((e,t)=>{Wn(e),r(t)},[r,Wn]),Kn=(0,U.useCallback)(e=>t=>{t.defaultPrevented||t.button!==0||t.metaKey||t.altKey||t.ctrlKey||t.shiftKey||Wn(e)},[Wn]),qn=(0,U.useCallback)(e=>e.startsWith(`/chat/`)?`sessions`:e.startsWith(`/notes`)?`notes`:Z,[Z]);(0,U.useEffect)(()=>{!e||!t||Kt(t)||r($(Hn),{replace:!0})},[Hn,r,e,$,t]),(0,U.useEffect)(()=>{if(!e)return;let t=!1;return vn(!0),J(null),Promise.all([k(e),ft(e),_(e),E().catch(()=>null)]).then(([e,n,r,i])=>{t||(ue(e),ye(n),we(r),mn(i?.agents??[]),gn(e.defaultAgentId??``),X({name:e.name,description:e.description??``,status:e.status,defaultAgentId:e.defaultAgentId??``,workspaceRoot:e.workspaceRoot??``,brief:e.brief??``,instructions:e.instructions??``}))}).catch(e=>{t||J(e instanceof Error?e.message:String(e))}).finally(()=>{t||vn(!1)}),()=>{t=!0}},[e]);let Jn=(0,U.useCallback)(async()=>{e&&ye(await ft(e))},[e]);(0,U.useEffect)(()=>{let t=t=>{t.detail?.projectId===e&&Jn()};return window.addEventListener(`task-created-v2`,t),window.addEventListener(`task-commanded-v2`,t),window.addEventListener(`task-phase-changed-v2`,t),()=>{window.removeEventListener(`task-created-v2`,t),window.removeEventListener(`task-commanded-v2`,t),window.removeEventListener(`task-phase-changed-v2`,t)}},[e,Jn]);let Yn=(0,U.useCallback)(async(e,t)=>{Rn(e.id),J(null);try{let n=await dt(e.id),r=t===`run`?{type:`start`,executor:{kind:`agent`,agentId:n.task.delegateAgentId??`main`}}:t===`pause`?{type:`add_wait`,wait:{kind:`paused`,reason:`Paused by user`,condition:{}}}:t===`verify`?{type:`request_review`}:{type:`resolve_wait`,waitId:n.waits[0]?.id??``};if(r.type===`resolve_wait`&&!r.waitId)throw Error(`No active wait to resolve`);await Re(e.id,r,n.task.version),await Jn()}catch(e){J(e instanceof Error?e.message:N.board.actionFailed)}finally{Rn(null)}},[V,N.board.actionFailed,Jn]),Xn=(0,U.useCallback)(async t=>{e&&(J(null),await Fe({idempotencyKey:t.requestId,title:t.objective,projectId:e,priority:t.priority,dueAt:t.dueAt,locale:p,contract:{objective:t.objective,expectedOutputs:[],acceptanceCriteria:[],constraints:[],approvalRequired:[],assumptions:[],risks:[],acceptancePolicy:`manual`,outputDestinations:[]},dependencies:t.dependsOnTaskIds,context:t.attachments.map((e,t)=>({targetKind:`file`,targetId:e.uri??e.name??`attachment-${t+1}`,role:`input`,title:e.name,pinned:!0,retrievalPolicy:{},metadata:{mimeType:e.mimeType,size:e.size,data:e.data}})),authorityGrants:[],activation:{mode:`capture`,phase:`backlog`}}),await Jn())},[p,e,Jn]),Zn=(0,U.useCallback)(async()=>{if(B){qe(!0),J(null);try{Ne((await Ge.list({projectId:B.id})).automations)}catch(e){J(e instanceof Error?e.message:String(e))}finally{qe(!1)}}},[B]);(0,U.useEffect)(()=>{Z===`automations`&&Zn()},[Zn,Z]);let Qn=(0,U.useCallback)(async()=>{if(B){ht(!0),J(null);try{let e=await M(B.id,{includeRelated:yt,limit:100});ot(e.items),lt(e.total)}catch(e){J(e instanceof Error?e.message:String(e))}finally{ht(!1)}}},[B,yt]);(0,U.useEffect)(()=>{Z===`progress`&&Qn()},[Qn,Z]);let $n=(0,U.useCallback)(async e=>{et(`toggle:${e.id}`),J(null);try{e.enabled?await Ge.pause(e.id):await Ge.resume(e.id),await Zn()}catch(e){J(e instanceof Error?e.message:String(e))}finally{et(null)}},[Zn]),er=(0,U.useCallback)(async()=>{if(!B?.effectiveWorkspaceRoot?.trim()){wt([]),W.current.clear(),cn(null);return}en(!0),cn(null),W.current.clear();try{wt(un((await oe(B.id,``)).entries)),W.current.add(``)}catch(e){wt([]),W.current.clear(),cn(e instanceof Error?e.message:String(e))}finally{en(!1)}},[B]),tr=(0,U.useCallback)(async e=>{if(!(!B?.effectiveWorkspaceRoot?.trim()||W.current.has(e))){W.current.add(e),cn(null);try{let t=await oe(B.id,e);wt(n=>dn(n,e,un(t.entries)))}catch(t){W.current.delete(e),cn(t instanceof Error?t.message:String(t))}}},[B]);(0,U.useEffect)(()=>{Z===`files`&&er()},[er,Z]);let nr=Pt.trim();(0,U.useEffect)(()=>{if(Z!==`files`||!B||!Mt||!nr){Rt([]),Bt(!1),Ht(null);return}let e=!1;Bt(!0),Ht(null),Rt([]);let t=window.setTimeout(()=>{T(B.id,nr,50).then(t=>{e||Rt(t)}).catch(t=>{e||Ht(t instanceof Error?t.message:String(t))}).finally(()=>{e||Bt(!1)})},180);return()=>{e=!0,window.clearTimeout(t)}},[nr,B,Mt,Z]);let rr=(0,U.useCallback)(async()=>{if(B){Pn(!0),J(null);try{let e=await ae(B.id);Gn(`sessions`,`/chat/${encodeURIComponent(e.key)}`)}catch(e){J(e instanceof Error?e.message:String(e))}finally{Pn(!1)}}},[Gn,B]),ir=(0,U.useCallback)(async()=>{if(!B)return;let[e,t]=await Promise.all([k(B.id),ft(B.id)]);ye(t),ue(e)},[B]),ar=(0,U.useCallback)(async e=>{if(e.preventDefault(),!(!B||!Bn.title.trim())){In(!0),J(null);try{await F(B.id,{title:Bn.title.trim(),reason:Bn.reason.trim()||void 0}),Vn({title:``,reason:``}),await ir()}catch(e){J(e instanceof Error?e.message:String(e))}finally{In(!1)}}},[Bn.reason,Bn.title,B,ir]),or=(0,U.useMemo)(()=>(0,G.jsx)(s,{to:Q,className:`inline-flex size-9 items-center justify-center rounded-lg text-fg-muted hover:bg-surface-hover hover:text-fg`,"aria-label":Q===`/projects`?N.backToProjects:m.sidebar.back,children:(0,G.jsx)(S,{className:`size-4`,"aria-hidden":!0})}),[Q,m.sidebar.back,N.backToProjects]),sr=(0,U.useMemo)(()=>B?(0,G.jsx)(G.Fragment,{children:(0,G.jsxs)(x,{variant:`primary`,className:`h-9 rounded-lg`,onClick:()=>void rr(),disabled:Nn,children:[(0,G.jsx)(fe,{className:`size-4`,"aria-hidden":!0}),N.common.newChat]})}):null,[N.common.newChat,B,rr,Nn]);(0,U.useLayoutEffect)(()=>(P({startExtra:or,main:B?(0,G.jsx)(fn,{currentProject:B,pm:N,projectsText:re,wd:w}):(0,G.jsxs)(`div`,{className:`min-w-0`,children:[(0,G.jsx)(`h1`,{className:`truncate text-base font-semibold tracking-tight text-fg`,children:N.fallbackTitle}),(0,G.jsx)(`p`,{className:`truncate text-xs text-fg-muted`,children:N.fallbackContext})]}),end:sr}),()=>I()),[I,sr,or,N,B,re,P,w]);function cr(e){ue(t=>t?{...t,...e}:null),gn(e.defaultAgentId??``),X(t=>({...t,name:e.name,description:e.description??``,status:e.status,defaultAgentId:e.defaultAgentId??``,workspaceRoot:e.workspaceRoot??``,brief:e.brief??``,instructions:e.instructions??``})),window.dispatchEvent(new CustomEvent(`project-updated`,{detail:{id:e.id}}))}async function lr(){if(!(!B||!Y.name.trim())){yn(!0),J(null),Cn(null);try{cr(await nt(B.id,{name:Y.name.trim(),status:Y.status,description:Y.description,defaultAgentId:Y.defaultAgentId,brief:Y.brief,instructions:Y.instructions}))}catch(e){let t=nn(e);t?Cn(t):J(e instanceof Error?e.message:String(e))}finally{yn(!1)}}}function ur(e){e.preventDefault(),lr()}let dr=(0,U.useCallback)(()=>{if(!B)return;let e=B.workspaceRoot?.trim()??``;En(e?`fixed`:`follow`),On(e||B.effectiveWorkspaceRoot||``),Tn(!0)},[B]);async function fr(e={}){if(!B)return;let t=q===`fixed`?Dn.trim():``;if(!(q===`fixed`&&!t)){yn(!0),J(null),Cn(null);try{cr(await nt(B.id,{workspaceRoot:t,...e.createWorkspaceRoot?{createWorkspaceRoot:!0}:{}})),Tn(!1),Cn(null)}catch(e){let t=nn(e);t?(Cn(t),Tn(!1)):J(e instanceof Error?e.message:String(e))}finally{yn(!1)}}}async function pr(){if(!(!B||kn)){An(`pin`),J(null);try{cr(B.pinnedAt?await j(B.id):await D(B.id))}catch(e){J(e instanceof Error?e.message:String(e))}finally{An(null)}}}async function mr(){if(!(!B||kn)){An(`archive`),J(null);try{cr(B.status===`archived`?await de(B.id):await Be(B.id))}catch(e){J(e instanceof Error?e.message:String(e))}finally{An(null)}}}async function hr(){if(B){Mn(!0),J(null);try{await C(B.id),xn(!1),r(`/projects`)}catch(e){J(e instanceof Error?e.message:String(e))}finally{Mn(!1)}}}async function gr(){if(!(!B||xt)){St(!0),J(null);try{await me(B.id)}catch(e){J(e instanceof Error?e.message:String(e))}finally{St(!1)}}}let _r=(0,U.useCallback)(e=>{Et(e)},[]),vr=(0,U.useCallback)((e,t)=>{t||Et(e)},[]),yr=(0,U.useCallback)(async(e,t,n)=>{let r=B?.id;if(r)switch(e){case`preview`:t.isDirectory||Et(t.path);break;case`download`:if(t.isDirectory)return;try{let e=ke(t.path);if(Ye(h(e))!==`text`){let n=await be(t.path,{projectId:r}),i=ge(e)??`application/octet-stream`;rt(e,await n.arrayBuffer(),i)}else{let{content:n}=await Qe(t.path,{projectId:r});ze(e,n)}}catch(e){Ke(`warning`,e instanceof Error?e.message:String(e),void 0,{duration:4e3})}break;case`copyPath`:try{await u(t.absolutePath??t.path)&&Ke(`success`,m.workspace.pathCopied,void 0,{duration:2500})}catch{Ke(`warning`,m.clipboard.copyFailed,void 0,{duration:4e3})}break;case`openDefault`:if(!t.absolutePath||!window.electronAPI?.shell?.openPath)return;await window.electronAPI.shell.openPath(t.absolutePath);break;case`openWith`:if(!t.absolutePath||!window.electronAPI?.shell?.chooseAppAndOpenPath)return;await window.electronAPI.shell.chooseAppAndOpenPath(t.absolutePath);break;case`openWithApp`:if(!t.absolutePath||!n||!window.electronAPI?.shell?.openPathWithApp)return;await window.electronAPI.shell.openPathWithApp(t.absolutePath,n);break;case`revealInFolder`:if(!t.absolutePath||!window.electronAPI?.shell?.showItemInFolder)return;await window.electronAPI.shell.showItemInFolder(t.absolutePath);break;default:break}},[m.clipboard.copyFailed,m.workspace.pathCopied,B?.id]),br=(0,U.useCallback)(e=>{if(!window.matchMedia(`(min-width: 1024px)`).matches)return;e.preventDefault();let t=e.currentTarget,n=t.closest(`[data-project-files-grid]`);if(!n)return;t.setPointerCapture(e.pointerId),jt(!0);let r=e.clientX,i=Dt,a=e.pointerId,o=0,s=i,c=i,l=()=>{o=0,c=s,n.style.setProperty(`--project-files-panel-width`,`${c}px`)},u=e=>{s=Ut(i+(e.clientX-r)),o===0&&(o=window.requestAnimationFrame(l))},d=()=>{o!==0&&(window.cancelAnimationFrame(o),l());try{t.releasePointerCapture(a)}catch{}jt(!1),kt(c),Gt(c),window.removeEventListener(`pointermove`,u),window.removeEventListener(`pointerup`,d),window.removeEventListener(`pointercancel`,d)};window.addEventListener(`pointermove`,u),window.addEventListener(`pointerup`,d),window.addEventListener(`pointercancel`,d)},[Dt]);if((0,U.useEffect)(()=>{Z!==`files`&&Et(null)},[e,Z]),_n)return(0,G.jsx)(`main`,{className:`w-full flex-1 p-3 text-sm text-fg-muted sm:px-5 sm:py-4 xl:px-6`,children:N.loading});if(!B)return(0,G.jsxs)(`main`,{className:`w-full flex-1 p-3 sm:px-5 sm:py-4 xl:px-6`,children:[(0,G.jsxs)(s,{to:Q,className:`inline-flex items-center gap-2 text-sm text-accent-fg hover:underline`,children:[(0,G.jsx)(S,{className:`size-4`,"aria-hidden":!0}),Q===`/projects`?N.backToProjects:m.sidebar.back]}),(0,G.jsx)(`p`,{className:`mt-6 rounded-lg bg-surface-panel p-4 shadow-surface text-sm text-fg-muted`,children:zn||N.notFound})]});let xr=xe.slice(0,6),Sr=V?.blockers??[],Cr=V?.tasks.filter(e=>e.lane!==`done`)??[],wr=e=>N.statuses[e]??e,Tr=e=>qt(N.common.messages,{count:e}),Er=De.trim().toLowerCase(),Dr=Er?xe.filter(e=>{let t=Jt(e.updatedAt),n=e.routing?.agentId||e.agentId||N.common.agent,r=e.name?.trim()||N.sessions.fallbackTitle,i=Tr(e.messageCount??0),a=sn(e);return[r,e.key,n,a,t,i].filter(Boolean).join(` `).toLowerCase().includes(Er)}):xe,Or=xe.length>0&&Dr.length===0,kr=pn.find(e=>e.id===Y.defaultAgentId)?.name||Y.defaultAgentId||N.settings.globalDefaultAgent,Ar=pn.find(e=>e.id===Y.defaultAgentId),jr=B.workspaceRoot?.trim()||``,Mr=B.status===`archived`,Nr=!!B.pinnedAt,Pr=!jr,Fr=jr||Ar?.workspace||B.effectiveWorkspaceRoot||N.common.defaultWorkspace,Ir=q===`fixed`?Dn.trim()||N.settings.workspacePlaceholder:Ar?.workspace||B.effectiveWorkspaceRoot||N.common.defaultWorkspace,Lr=(q===`fixed`?Dn.trim():``)!==jr&&(q===`follow`||!!Dn.trim()),Rr=[{id:`overview`,icon:$e,label:N.tabs.overview},{id:`tasks`,icon:he,label:N.tabs.tasks},{id:`automations`,icon:R,label:N.tabs.automations},{id:`files`,icon:ut,label:N.tabs.files},{id:`notes`,icon:He,label:N.tabs.notes},{id:`skills`,icon:Xe,label:N.tabs.skills},{id:`sessions`,icon:fe,label:N.tabs.sessions},{id:`progress`,icon:Le,label:N.tabs.progress}];async function zr(){if(!Fr)return;let e=await u(Fr);Ke(e?`success`:`warning`,e?m.workspace.pathCopied:m.clipboard.copyFailed,void 0,{duration:e?2500:4e3})}function Br(){Cn(null),Tn(!0)}return(0,G.jsxs)(`main`,{className:`flex h-full min-h-0 w-full flex-1 flex-col overflow-hidden p-3 sm:px-5 sm:py-4 xl:px-6`,children:[(0,G.jsxs)(`div`,{className:`flex shrink-0 items-start justify-between gap-3`,children:[(0,G.jsx)(_t,{items:Rr,activeTab:Z,onChange:Un,ariaLabel:N.navAria,tabIdPrefix:`project-primary-tab`,className:`min-w-0 flex-1`}),(0,G.jsxs)(x,{id:`project-primary-tab-settings`,type:`button`,variant:Z===`settings`?`secondary`:`ghost`,className:`h-9 shrink-0 rounded-lg px-3`,"aria-current":Z===`settings`?`page`:void 0,onClick:()=>Un(`settings`),children:[(0,G.jsx)(Ce,{className:`size-4`,"aria-hidden":!0}),N.tabs.settings]})]}),zn?(0,G.jsx)(`p`,{className:`mt-3 shrink-0 rounded-lg border border-red-500/30 bg-red-500/10 px-3 py-2 text-sm text-red-700 dark:text-red-300`,children:zn}):null,(0,G.jsxs)(`div`,{className:l(`mt-3 min-h-0 flex-1`,Z===`overview`?`overflow-y-auto pr-1 [scrollbar-gutter:stable] xl:overflow-hidden xl:pr-0`:`overflow-y-auto pr-1 [scrollbar-gutter:stable]`),children:[Z===`overview`?(0,G.jsxs)(`section`,{id:`project-panel-overview`,role:`tabpanel`,"aria-labelledby":`project-primary-tab-overview`,className:`grid min-h-full gap-4 xl:h-full xl:min-h-0 xl:grid-cols-[minmax(0,1fr)_20rem] xl:overflow-hidden`,children:[(0,G.jsxs)(`div`,{className:`grid min-w-0 content-start gap-4 xl:min-h-0 xl:overflow-y-auto xl:pr-1 xl:[scrollbar-gutter:stable]`,children:[(0,G.jsx)(`div`,{className:`min-w-0 rounded-lg bg-surface-panel p-4 shadow-surface`,children:(0,G.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-3`,children:[(0,G.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,G.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:N.overview.directionTitle}),(0,G.jsx)(`p`,{className:`mt-1 max-w-3xl text-sm leading-6 text-fg-muted`,children:B.outcome||V?.digest.summary||B.description||B.brief||N.overview.directionFallback}),V?.digest.recommendedAction?(0,G.jsx)(`p`,{className:`mt-2 max-w-3xl text-sm font-medium leading-6 text-fg`,children:qt(N.overview.recommendedNext,{action:V.digest.recommendedAction})}):null]}),(0,G.jsx)(`div`,{className:`flex shrink-0 flex-wrap gap-2`,children:(0,G.jsxs)(x,{type:`button`,variant:`secondary`,onClick:()=>void gr(),disabled:xt,children:[(0,G.jsx)(tt,{className:`size-4`,"aria-hidden":!0}),xt?N.overview.savingDigest:N.overview.saveDigest]})})]})}),(0,G.jsxs)(`div`,{className:`min-w-0 rounded-lg bg-surface-panel shadow-surface`,children:[(0,G.jsx)(`div`,{className:`flex items-center justify-between gap-3 border-b border-edge px-4 py-3`,children:(0,G.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:N.overview.nextActions})}),(0,G.jsx)(`div`,{className:`divide-y divide-edge`,children:Cr.length?Cr.map(e=>(0,G.jsxs)(s,{to:_e(`/tasks/${encodeURIComponent(e.id)}`,$(`overview`)),onClick:Kn(`overview`),className:`block px-4 py-3 hover:bg-surface-hover`,children:[(0,G.jsxs)(`div`,{className:`flex min-w-0 items-center justify-between gap-3`,children:[(0,G.jsx)(`span`,{className:`min-w-0 truncate text-sm font-medium text-fg`,children:e.title}),(0,G.jsxs)(`span`,{className:`shrink-0 rounded-full bg-surface-muted px-2 py-0.5 text-xs font-medium text-fg-muted`,children:[e.phase,` · `,e.operationalState]})]}),e.attention[0]?(0,G.jsx)(`p`,{className:`mt-1 line-clamp-2 text-sm leading-5 text-fg-muted`,children:e.attention[0].summary}):null]},e.id)):(0,G.jsx)(`div`,{className:`px-4 py-6 text-sm text-fg-muted`,children:N.overview.noNextActions})})]}),V?.recentReceipts.length?(0,G.jsxs)(`div`,{className:`min-w-0 rounded-lg bg-surface-panel shadow-surface`,children:[(0,G.jsx)(`div`,{className:`border-b border-edge px-4 py-3`,children:(0,G.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:N.overview.recentResults})}),(0,G.jsx)(`div`,{className:`divide-y divide-edge`,children:V.recentReceipts.slice(0,5).map(e=>(0,G.jsx)(`div`,{className:`px-4 py-3`,children:(0,G.jsxs)(`div`,{className:`flex min-w-0 items-center justify-between gap-3`,children:[(0,G.jsx)(`span`,{className:`min-w-0 truncate text-sm font-medium text-fg`,children:e.summary}),(0,G.jsxs)(`span`,{className:`shrink-0 rounded-full bg-surface-hover px-2 py-0.5 text-xs text-fg-muted`,children:[e.status,` · `,e.verification.status]})]})},e.runId))})]}):null,(0,G.jsxs)(`div`,{className:`grid min-w-0 gap-4 md:grid-cols-2`,children:[(0,G.jsxs)(`div`,{className:`rounded-lg bg-surface-panel shadow-surface`,children:[(0,G.jsx)(`div`,{className:`border-b border-edge px-4 py-3`,children:(0,G.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:N.overview.milestones})}),(0,G.jsx)(`div`,{className:`divide-y divide-edge`,children:B.milestones.length?B.milestones.map(e=>(0,G.jsxs)(`div`,{className:`flex items-center justify-between gap-3 px-4 py-3`,children:[(0,G.jsx)(`span`,{className:`min-w-0 truncate text-sm font-medium text-fg`,children:e.title}),(0,G.jsx)(`span`,{className:`shrink-0 text-xs text-fg-muted`,children:e.status})]},e.id)):(0,G.jsx)(`p`,{className:`px-4 py-5 text-sm text-fg-muted`,children:N.overview.noMilestones})})]}),(0,G.jsxs)(`div`,{className:`rounded-lg bg-surface-panel shadow-surface`,children:[(0,G.jsx)(`div`,{className:`border-b border-edge px-4 py-3`,children:(0,G.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:N.overview.projectUpdates})}),(0,G.jsx)(`div`,{className:`divide-y divide-edge`,children:B.recentUpdates.length?B.recentUpdates.slice(0,3).map(e=>(0,G.jsxs)(`div`,{className:`px-4 py-3`,children:[(0,G.jsx)(`p`,{className:`text-sm leading-5 text-fg`,children:e.summary}),(0,G.jsx)(`p`,{className:`mt-1 text-xs text-fg-muted`,children:e.health})]},e.id)):(0,G.jsx)(`p`,{className:`px-4 py-5 text-sm text-fg-muted`,children:N.overview.noProjectUpdates})})]})]})]}),(0,G.jsxs)(`aside`,{className:`grid min-w-0 content-start gap-4 xl:min-h-0 xl:overflow-y-auto xl:pr-1 xl:[scrollbar-gutter:stable]`,children:[(0,G.jsxs)(`div`,{className:`min-w-0 rounded-lg bg-surface-panel p-4 shadow-surface`,children:[(0,G.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:N.overview.attention}),Sr.length?(0,G.jsx)(`div`,{className:`mt-3 grid gap-3`,children:Sr.map(e=>{let t=(0,G.jsxs)(G.Fragment,{children:[(0,G.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,G.jsx)(Te,{className:`size-4 text-amber-600 dark:text-amber-300`,"aria-hidden":!0}),(0,G.jsx)(`span`,{className:`min-w-0 truncate text-sm font-medium text-fg`,children:e.title})]}),(0,G.jsxs)(`p`,{className:`mt-1 line-clamp-2 text-xs leading-5 text-fg-muted`,children:[N.overview.attentionKinds[e.kind]??e.kind,e.detail?` · ${e.detail}`:e.status?` · ${wr(e.status)}`:``]})]});return e.href?(0,G.jsx)(s,{to:e.href,onClick:Kn(qn(e.href)),className:`min-w-0 rounded-md bg-surface-base p-3 hover:bg-surface-hover`,children:t},e.id):(0,G.jsx)(`div`,{className:`min-w-0 rounded-md bg-surface-base p-3`,children:t},e.id)})}):(0,G.jsx)(`p`,{className:`mt-2 text-sm text-fg-muted`,children:N.overview.noBlockedTasks}),(0,G.jsxs)(`form`,{onSubmit:ar,className:`mt-4 flex gap-2 border-t border-edge pt-4`,children:[(0,G.jsx)(`input`,{className:`min-h-9 min-w-0 flex-1 rounded-md border border-edge bg-surface-base px-3 text-sm text-fg outline-none focus:border-accent`,value:Bn.title,onChange:e=>Vn(t=>({...t,title:e.target.value})),placeholder:N.overview.blockerTitlePlaceholder}),(0,G.jsx)(x,{type:`submit`,variant:`secondary`,className:`shrink-0 rounded-lg px-3`,disabled:Fn||!Bn.title.trim(),"aria-label":Fn?N.overview.addingBlocker:N.overview.addBlocker,title:Fn?N.overview.addingBlocker:N.overview.addBlocker,children:(0,G.jsx)(y,{className:`size-4`,"aria-hidden":!0})})]})]}),(0,G.jsxs)(`div`,{className:`min-w-0 rounded-lg bg-surface-panel shadow-surface`,children:[(0,G.jsxs)(`div`,{className:`flex items-center justify-between gap-3 border-b border-edge px-4 py-3`,children:[(0,G.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,G.jsx)(te,{className:`size-4 shrink-0 text-fg-muted`,"aria-hidden":!0}),(0,G.jsx)(`h2`,{className:`min-w-0 truncate text-sm font-semibold text-fg`,children:N.overview.recentSessions})]}),(0,G.jsx)(`button`,{type:`button`,className:`shrink-0 text-xs font-medium text-accent-fg hover:underline`,onClick:()=>Un(`sessions`),children:N.common.viewAll})]}),(0,G.jsx)(`div`,{className:`divide-y divide-edge`,children:xr.length?xr.map(e=>(0,G.jsxs)(s,{to:`/chat/${encodeURIComponent(e.key)}`,onClick:Kn(`sessions`),className:`block px-4 py-3 hover:bg-surface-hover`,children:[(0,G.jsxs)(`div`,{className:`flex min-w-0 items-center justify-between gap-3`,children:[(0,G.jsx)(`span`,{className:`min-w-0 truncate text-sm font-medium text-fg`,children:e.name||e.key}),(0,G.jsx)(`span`,{className:`shrink-0 text-xs text-fg-subtle`,children:Jt(e.updatedAt)})]}),(0,G.jsx)(`p`,{className:`mt-1 truncate text-xs text-fg-muted`,children:e.agentId||N.common.agent})]},e.key)):(0,G.jsx)(`div`,{className:`px-4 py-6 text-sm text-fg-muted`,children:N.overview.noSessions})})]})]})]}):null,Z===`tasks`?(0,G.jsx)(Lt,{tasks:V?.tasks??[],returnTo:$(`tasks`),copy:N.board,onAction:Yn,onCreate:Xn,actionBusyId:Ln}):null,Z===`automations`?(0,G.jsx)(`section`,{id:`project-panel-automations`,role:`tabpanel`,"aria-labelledby":`project-primary-tab-automations`,className:`grid min-h-full content-start gap-4`,children:(0,G.jsxs)(`div`,{className:`grid gap-4 rounded-lg bg-surface-panel p-4 shadow-surface`,children:[(0,G.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-3`,children:[(0,G.jsxs)(`div`,{className:`min-w-0`,children:[(0,G.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,G.jsx)(R,{className:`size-4 text-accent-fg`,"aria-hidden":!0}),(0,G.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:N.automations.title})]}),(0,G.jsx)(`p`,{className:`mt-1 text-sm leading-6 text-fg-muted`,children:N.automations.hint})]}),(0,G.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[(0,G.jsxs)(x,{type:`button`,variant:`ghost`,className:`rounded-lg`,onClick:()=>void Zn(),disabled:Pe,children:[(0,G.jsx)(Ie,{className:l(`size-4`,Pe&&`animate-spin`),"aria-hidden":!0}),N.common.refresh]}),(0,G.jsxs)(x,{type:`button`,variant:`secondary`,className:`rounded-lg`,onClick:()=>Gn(`automations`,`/automations?projectId=${encodeURIComponent(B.id)}&action=create`),children:[(0,G.jsx)(y,{className:`size-4`,"aria-hidden":!0}),N.automations.create]})]})]}),Pe&&Ae.length===0?(0,G.jsxs)(`div`,{className:`grid gap-2 md:grid-cols-2`,"aria-busy":!0,children:[(0,G.jsx)(st,{className:`h-24 rounded-lg`}),(0,G.jsx)(st,{className:`h-24 rounded-lg`})]}):Ae.length?(0,G.jsx)(`div`,{className:`grid gap-3 md:grid-cols-2`,children:Ae.map(e=>(0,G.jsxs)(`div`,{className:`grid gap-3 rounded-lg border border-edge bg-surface-base p-3`,children:[(0,G.jsxs)(`div`,{className:`flex min-w-0 items-start justify-between gap-3`,children:[(0,G.jsx)(`button`,{type:`button`,className:`min-w-0 truncate text-left text-sm font-medium text-fg hover:text-accent-fg`,onClick:()=>Gn(`automations`,`/automations?automation=${encodeURIComponent(e.id)}`),children:e.name}),(0,G.jsx)(`span`,{className:l(`shrink-0 rounded-full px-2 py-0.5 text-xs font-medium`,e.enabled?`bg-emerald-500/10 text-emerald-700 dark:text-emerald-300`:`bg-surface-hover text-fg-muted`),children:e.enabled?N.automations.enabled:N.automations.paused})]}),(0,G.jsx)(`p`,{className:`line-clamp-2 text-xs leading-5 text-fg-muted`,children:e.description||e.action.kind}),(0,G.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,G.jsx)(x,{type:`button`,variant:`ghost`,className:`h-8 rounded-lg px-2 text-xs`,onClick:()=>Gn(`automations`,`/automations?automation=${encodeURIComponent(e.id)}`),children:N.common.open}),(0,G.jsxs)(x,{type:`button`,variant:`ghost`,className:`h-8 rounded-lg px-2 text-xs`,disabled:Je===`toggle:${e.id}`,onClick:()=>void $n(e),children:[e.enabled?(0,G.jsx)(Ve,{className:`size-3.5`,"aria-hidden":!0}):(0,G.jsx)(ce,{className:`size-3.5`,"aria-hidden":!0}),e.enabled?N.automations.pause:N.automations.resume]})]})]},e.id))}):(0,G.jsx)(`p`,{className:`rounded-lg border border-dashed border-edge px-3 py-4 text-sm text-fg-muted`,children:N.automations.empty})]})}):null,Z===`notes`?(0,G.jsx)(`section`,{id:`project-panel-notes`,role:`tabpanel`,"aria-labelledby":`project-primary-tab-notes`,className:`flex h-full min-h-[28rem] overflow-hidden rounded-lg bg-surface-panel shadow-surface`,children:(0,G.jsx)(gt,{selectedNoteId:n,basePath:`/projects/${encodeURIComponent(B.id)}/notes`,showLibrary:!1,allowMediaCapture:!1,projectId:B.id,listTitle:N.notes.title,listDescription:N.notes.hint,emptyText:N.notes.emptyTitle,emptyDescription:N.notes.emptyDescription,listWidthStorageKey:`xopc.projectNotes.listWidth.${B.id}`})}):null,Z===`skills`?(0,G.jsx)(Ot,{projectId:B.id,copy:N.skills}):null,Z===`files`?(0,G.jsx)(`section`,{id:`project-panel-files`,role:`tabpanel`,"aria-labelledby":`project-primary-tab-files`,className:`flex h-full min-h-[28rem] flex-col`,children:(0,G.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-hidden rounded-lg bg-surface-panel shadow-surface`,children:B.effectiveWorkspaceRoot?(0,G.jsxs)(`div`,{"data-project-files-grid":!0,className:l(`grid min-h-0 flex-1 grid-cols-1 overflow-hidden lg:grid-cols-[var(--project-files-panel-width)_6px_minmax(0,1fr)]`,At&&`cursor-col-resize select-none`),style:{"--project-files-panel-width":`${Dt}px`},children:[(0,G.jsxs)(`aside`,{className:`flex min-h-0 flex-col border-b border-edge lg:border-b-0 lg:border-r`,children:[(0,G.jsxs)(`div`,{className:`flex h-11 items-center gap-1 border-b border-edge bg-surface-muted/50 px-3 text-sm`,children:[(0,G.jsx)(ie,{workspacePath:Fr}),(0,G.jsxs)(`div`,{className:`ml-auto flex shrink-0 items-center gap-1`,children:[(0,G.jsx)(`button`,{type:`button`,className:l(`inline-flex size-7 shrink-0 items-center justify-center rounded-md text-fg-muted hover:bg-surface-hover hover:text-fg`,Mt&&`bg-surface-hover text-fg`),onClick:()=>Nt(!0),"aria-label":N.files.search,title:N.files.search,"aria-pressed":Mt,children:(0,G.jsx)(Me,{className:`size-3.5`,"aria-hidden":!0})}),(0,G.jsx)(Se,{className:`size-7 shrink-0 rounded-md p-0`,loading:$t,label:m.cron.refresh,onClick:()=>void er()})]})]}),Mt?(0,G.jsx)(`div`,{className:`shrink-0 border-b border-edge bg-surface-muted/40 px-3 py-2`,children:(0,G.jsxs)(`div`,{className:`flex h-8 items-center gap-2 rounded-md border border-edge bg-surface-panel px-2 focus-within:border-accent focus-within:ring-2 focus-within:ring-accent/20`,children:[(0,G.jsx)(Me,{className:`size-3.5 shrink-0 text-fg-subtle`,"aria-hidden":!0}),(0,G.jsx)(`input`,{type:`text`,role:`searchbox`,value:Pt,onChange:e=>Ft(e.target.value),placeholder:N.files.searchPlaceholder,"aria-label":N.files.searchPlaceholder,className:`min-w-0 flex-1 bg-transparent text-xs text-fg outline-none placeholder:text-fg-subtle`}),(0,G.jsx)(`button`,{type:`button`,className:`flex size-6 shrink-0 items-center justify-center rounded-md text-fg-muted hover:bg-surface-hover hover:text-fg`,"aria-label":N.files.clearSearch,title:N.files.clearSearch,onClick:()=>{Ft(``),Nt(!1)},children:(0,G.jsx)(Ue,{className:`size-3.5`,"aria-hidden":!0})})]})}):null,tn?(0,G.jsx)(`div`,{className:`border-b border-edge bg-red-500/10 px-4 py-3 text-sm text-red-700 dark:text-red-300`,children:tn}):null,nr?(0,G.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto py-2`,children:zt?(0,G.jsxs)(`div`,{className:`space-y-2 px-3 py-1`,children:[(0,G.jsx)(st,{className:`h-11 w-full`}),(0,G.jsx)(st,{className:`h-11 w-full`}),(0,G.jsx)(st,{className:`h-11 w-full`})]}):Vt?(0,G.jsxs)(`p`,{className:`px-3 py-2 text-xs text-red-600 dark:text-red-400`,children:[m.workspace.loadError,`: `,Vt]}):It.length===0?(0,G.jsx)(`p`,{className:`px-3 py-2 text-xs text-fg-muted`,children:N.files.noSearchResults}):It.map(e=>(0,G.jsxs)(`button`,{type:`button`,className:l(`flex w-full min-w-0 items-center gap-2 px-3 py-2 text-left hover:bg-surface-hover`,Tt===e.path&&`bg-accent-soft text-accent-fg`),onClick:()=>Et(e.path),title:e.path,children:[(0,G.jsx)(He,{className:`size-4 shrink-0 text-fg-muted`,"aria-hidden":!0}),(0,G.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,G.jsx)(`span`,{className:`block truncate text-sm text-fg`,children:e.name}),(0,G.jsx)(`span`,{className:`block truncate text-xs text-fg-subtle`,children:e.path})]})]},e.path))}):$t&&Ct.length===0?(0,G.jsx)(`div`,{className:`px-4 py-6 text-sm text-fg-muted`,children:N.files.loading}):(0,G.jsx)(at,{tree:Ct,selectedPath:Tt,onSelectFile:_r,onSelectEntry:vr,onExpandDir:e=>void tr(e),onAction:yr,actionLabels:{preview:m.workspace.preview,download:m.workspace.download,copyPath:m.workspace.copyPath,openDefault:m.workspace.openSystemApp,openWith:m.workspace.openWith,revealInFolder:m.workspace.revealInFolder,recommendedApps:m.workspace.recommendedApps},emptyHint:N.files.emptyDirectory})]}),(0,G.jsx)(`div`,{role:`separator`,"aria-orientation":`vertical`,"aria-label":N.files.resizeHandle,className:l(`hidden cursor-col-resize touch-none items-stretch justify-center bg-surface-panel transition-colors hover:bg-surface-hover lg:flex`,At&&`bg-surface-hover`),onPointerDown:br,children:(0,G.jsx)(`div`,{className:`my-3 w-px rounded-full bg-edge-strong/70`})}),(0,G.jsx)(`div`,{className:`min-h-0 min-w-0 overflow-hidden bg-surface-base`,children:Tt?(0,G.jsx)(Ze,{filePath:Tt,projectId:B.id,agentId:B.defaultAgentId||hn||void 0,onClose:()=>Et(null)}):(0,G.jsx)(`div`,{className:`flex h-full min-h-[18rem] items-center justify-center px-6 text-center`,children:(0,G.jsxs)(`div`,{className:`max-w-sm`,children:[(0,G.jsx)(ut,{className:`mx-auto size-8 text-fg-subtle`,"aria-hidden":!0}),(0,G.jsx)(`p`,{className:`mt-3 text-sm font-medium text-fg`,children:N.files.previewEmptyTitle}),(0,G.jsx)(`p`,{className:`mt-1 text-sm leading-6 text-fg-muted`,children:N.files.previewEmptyDescription})]})})})]}):(0,G.jsxs)(`div`,{className:`grid gap-3 px-4 py-8 text-sm text-fg-muted`,children:[(0,G.jsx)(`p`,{children:N.files.needWorkspace}),(0,G.jsx)(`div`,{children:(0,G.jsx)(x,{type:`button`,variant:`secondary`,className:`rounded-lg`,onClick:()=>Un(`settings`),children:N.files.openSettings})})]})})}):null,Z===`sessions`?(0,G.jsxs)(`section`,{id:`project-panel-sessions`,role:`tabpanel`,"aria-labelledby":`project-primary-tab-sessions`,className:`grid min-h-full content-start gap-3`,children:[xe.length?(0,G.jsxs)(`label`,{className:`relative flex min-h-9 w-full max-w-lg cursor-text items-center rounded-lg bg-surface-panel py-1.5 pl-9 pr-9 shadow-surface`,children:[(0,G.jsx)(Me,{className:`pointer-events-none absolute left-3 top-1/2 size-4 -translate-y-1/2 text-fg-disabled`,"aria-hidden":!0}),(0,G.jsx)(`input`,{type:`search`,enterKeyHint:`search`,value:De,onChange:e=>Oe(e.currentTarget.value),placeholder:N.sessions.searchPlaceholder,"aria-label":N.sessions.searchPlaceholder,className:`min-w-0 flex-1 appearance-none border-0 bg-transparent py-0.5 text-sm leading-normal text-fg caret-current placeholder:text-fg-disabled focus:border-0 focus:shadow-none focus:outline-none focus:ring-0 focus-visible:outline-none`}),De?(0,G.jsx)(`button`,{type:`button`,className:`absolute right-2 top-1/2 inline-flex size-6 -translate-y-1/2 items-center justify-center rounded-md text-fg-muted hover:bg-surface-hover hover:text-fg focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/40`,"aria-label":N.sessions.clearSearch,onClick:()=>Oe(``),children:(0,G.jsx)(Ue,{className:`size-3.5`,"aria-hidden":!0})}):null]}):null,Dr.length?(0,G.jsx)(`div`,{className:`grid gap-3 sm:grid-cols-2 xl:grid-cols-3`,children:Dr.map(e=>{let t=Jt(e.updatedAt),n=e.routing?.agentId||e.agentId||N.common.agent,r=sn(e),i=e.name?.trim()||N.sessions.fallbackTitle,a=Tr(e.messageCount??0);return(0,G.jsxs)(s,{to:`/chat/${encodeURIComponent(e.key)}`,onClick:Kn(`sessions`),className:`group flex min-h-[8.75rem] min-w-0 flex-col rounded-lg bg-surface-panel p-4 shadow-surface transition-colors hover:bg-surface-hover/45 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/40`,children:[(0,G.jsxs)(`div`,{className:`flex min-w-0 items-start gap-3`,children:[(0,G.jsx)(`span`,{className:`mt-0.5 flex size-9 shrink-0 items-center justify-center rounded-lg bg-surface-base text-fg-muted`,children:(0,G.jsx)(fe,{className:`size-4`,"aria-hidden":!0})}),(0,G.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,G.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,G.jsx)(`h3`,{className:`min-w-0 flex-1 truncate text-sm font-semibold text-fg`,children:i}),r?(0,G.jsx)(`span`,{className:`shrink-0 rounded-md bg-surface-base px-2 py-0.5 text-[11px] font-medium leading-5 text-fg-muted`,children:r}):null]})})]}),(0,G.jsxs)(`div`,{className:`mt-auto grid gap-2 pt-4 text-xs text-fg-muted`,children:[(0,G.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[(0,G.jsxs)(`span`,{className:`min-w-0 max-w-full truncate rounded-md bg-surface-base px-2 py-1`,children:[N.sessions.agent,`: `,n]}),(0,G.jsx)(`span`,{className:`rounded-md bg-surface-base px-2 py-1`,children:a})]}),t?(0,G.jsxs)(`span`,{className:`truncate rounded-md bg-surface-base px-2 py-1`,children:[N.sessions.updated,`: `,t]}):null]})]},e.key)})}):Or?(0,G.jsx)(`div`,{className:`grid gap-1 rounded-lg bg-surface-panel px-4 py-8 text-center shadow-surface`,children:(0,G.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:N.sessions.noMatches})}):(0,G.jsx)(`div`,{className:`grid gap-1 rounded-lg bg-surface-panel px-4 py-8 text-center shadow-surface`,children:(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:N.sessions.emptyTitle}),(0,G.jsx)(`p`,{className:`mx-auto mt-1 max-w-md text-sm leading-6 text-fg-muted`,children:N.sessions.emptyDescription})]})})]}):null,Z===`progress`?(0,G.jsxs)(`section`,{id:`project-panel-progress`,role:`tabpanel`,"aria-labelledby":`project-primary-tab-progress`,className:`grid min-h-full content-start gap-3`,children:[(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:N.progress.title}),(0,G.jsx)(`p`,{className:`mt-1 text-sm text-fg-muted`,children:qt(N.progress.count,{count:ct})})]}),(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,G.jsxs)(`label`,{className:`inline-flex min-h-9 items-center gap-2 rounded-lg bg-surface-panel px-3 text-sm text-fg-muted shadow-surface`,children:[(0,G.jsx)(`input`,{type:`checkbox`,checked:yt,onChange:e=>bt(e.currentTarget.checked),className:`size-4 rounded border-edge text-accent focus:ring-accent/30`}),N.progress.includeRelated]}),(0,G.jsxs)(x,{type:`button`,variant:`secondary`,className:`h-9 rounded-lg px-3`,onClick:()=>void Qn(),disabled:pt,children:[(0,G.jsx)(Ie,{className:l(`size-4`,pt&&`animate-spin`),"aria-hidden":!0}),N.common.refresh]})]})]}),(0,G.jsx)(`div`,{className:`overflow-hidden rounded-lg bg-surface-panel shadow-surface`,children:pt&&it.length===0?(0,G.jsx)(`div`,{className:`px-4 py-8 text-sm text-fg-muted`,children:N.progress.loading}):it.length?(0,G.jsx)(`div`,{className:`divide-y divide-edge`,children:it.map(e=>{let t=N.progress.types[e.type]??e.type,n=N.progress.objectKinds[e.primaryObject.kind]??e.primaryObject.kind,r=ln(e),i=e.relatedProjects.length>0&&!e.scopes.some(e=>e.scopeKind===`project`&&e.scopeId===B.id);return(0,G.jsxs)(`article`,{className:`grid gap-2 px-4 py-3`,children:[(0,G.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-start justify-between gap-3`,children:[(0,G.jsxs)(`div`,{className:`min-w-0`,children:[(0,G.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[(0,G.jsx)(`span`,{className:`min-w-0 truncate text-sm font-medium text-fg`,children:t}),i?(0,G.jsx)(`span`,{className:`rounded-full bg-surface-muted px-2 py-0.5 text-xs font-medium text-fg-muted`,children:N.progress.related}):null]}),(0,G.jsxs)(`p`,{className:`mt-1 min-w-0 truncate text-sm text-fg-muted`,children:[n,`: `,an(e)]})]}),(0,G.jsx)(`time`,{className:`shrink-0 text-xs text-fg-subtle`,dateTime:new Date(e.createdAt).toISOString(),children:Jt(e.createdAt)})]}),r?(0,G.jsx)(`p`,{className:`line-clamp-2 text-sm leading-5 text-fg-muted`,children:r}):null,(0,G.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-2 text-xs text-fg-subtle`,children:[(0,G.jsxs)(`span`,{className:`rounded-md bg-surface-base px-2 py-1`,children:[N.progress.actor,`: `,rn(e)]}),(0,G.jsxs)(`span`,{className:`max-w-full truncate rounded-md bg-surface-base px-2 py-1`,children:[N.progress.source,`: `,on(e)]})]})]},e.id)})}):(0,G.jsx)(`div`,{className:`px-4 py-8 text-sm text-fg-muted`,children:N.progress.empty})})]}):null,Z===`settings`?(0,G.jsxs)(`form`,{id:`project-panel-settings`,role:`tabpanel`,"aria-labelledby":`project-primary-tab-settings`,onSubmit:ur,className:`grid min-h-full content-start gap-4`,children:[(0,G.jsxs)(`section`,{className:`grid gap-3 rounded-lg bg-surface-panel p-4 shadow-surface`,children:[(0,G.jsxs)(`div`,{className:`flex min-w-0 items-start justify-between gap-3`,children:[(0,G.jsxs)(`div`,{className:`min-w-0`,children:[(0,G.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:N.settings.summaryTitle}),(0,G.jsx)(`p`,{className:`mt-1 text-sm leading-6 text-fg-muted`,children:N.settings.summaryHint})]}),(0,G.jsx)(`span`,{className:l(`shrink-0 rounded-full px-2 py-0.5 text-xs font-medium`,Yt(Y.status)),children:N.settings.statuses[Y.status]})]}),(0,G.jsxs)(`div`,{className:`grid gap-3 md:grid-cols-2 xl:grid-cols-5`,children:[(0,G.jsx)(Qt,{label:N.settings.workspaceRoot,value:Fr,mono:!0}),(0,G.jsx)(Qt,{label:N.settings.defaultAgent,value:kr}),(0,G.jsx)(Qt,{label:N.settings.pinState,value:Nr?N.settings.pinned:N.settings.notPinned}),(0,G.jsx)(Qt,{label:N.settings.createdAt,value:Jt(B.createdAt)||N.common.never}),(0,G.jsx)(Qt,{label:N.settings.updatedAt,value:Jt(B.updatedAt)||N.common.never})]})]}),(0,G.jsxs)(`section`,{className:`grid gap-4 rounded-lg bg-surface-panel p-4 shadow-surface`,children:[(0,G.jsx)(`div`,{children:(0,G.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:N.settings.detailsTitle})}),(0,G.jsxs)(`div`,{className:`grid gap-4 md:grid-cols-2`,children:[(0,G.jsx)(Xt,{label:N.settings.name,children:(0,G.jsx)(`input`,{className:Zt(),value:Y.name,onChange:e=>X(t=>({...t,name:e.target.value}))})}),(0,G.jsx)(Xt,{label:N.settings.defaultAgent,children:(0,G.jsxs)(g,{className:Zt(),value:Y.defaultAgentId,onChange:e=>X(t=>({...t,defaultAgentId:e.target.value})),children:[(0,G.jsx)(je,{value:``,children:N.settings.globalDefaultAgent}),pn.map(e=>(0,G.jsx)(je,{value:e.id,children:se(e,m.agentsSettings)},e.id))]})}),(0,G.jsx)(Xt,{label:N.settings.status,children:Mr?(0,G.jsx)(`div`,{className:`grid min-h-10 content-center rounded-md border border-edge bg-surface-muted px-3 text-sm text-fg-muted`,children:N.settings.statuses.archived}):(0,G.jsxs)(g,{className:Zt(),value:Y.status===`archived`?`active`:Y.status,onChange:e=>X(t=>({...t,status:e.target.value})),children:[(0,G.jsx)(je,{value:`active`,children:N.settings.statuses.active}),(0,G.jsx)(je,{value:`paused`,children:N.settings.statuses.paused})]})}),(0,G.jsx)(Xt,{label:N.settings.description,hint:N.settings.descriptionHint,children:(0,G.jsx)(`textarea`,{className:Zt(!0),value:Y.description,onChange:e=>X(t=>({...t,description:e.target.value}))})})]})]}),(0,G.jsx)(`section`,{className:`grid gap-4 rounded-lg bg-surface-panel p-4 shadow-surface`,children:(0,G.jsxs)(`div`,{className:`grid gap-2 text-sm`,children:[(0,G.jsx)(`span`,{className:`font-medium text-fg-muted`,children:N.settings.workspaceRoot}),(0,G.jsxs)(`div`,{className:`grid gap-3 rounded-md border border-edge bg-surface-base p-3`,children:[(0,G.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-3 md:flex-row md:items-start md:justify-between`,children:[(0,G.jsxs)(`div`,{className:`min-w-0`,children:[(0,G.jsx)(`div`,{className:`flex flex-wrap items-center gap-2`,children:(0,G.jsx)(`span`,{className:`rounded-md bg-surface-muted px-2 py-0.5 text-xs font-medium text-fg-muted`,children:Pr?N.settings.workspaceModeFollow:N.settings.workspaceModeFixed})}),(0,G.jsx)(`div`,{className:`mt-2 break-all font-mono text-xs leading-5 text-fg`,title:Fr,children:Fr})]}),(0,G.jsxs)(`div`,{className:`flex shrink-0 flex-wrap gap-2`,children:[(0,G.jsxs)(x,{type:`button`,variant:`ghost`,className:`rounded-lg`,onClick:()=>void zr(),children:[(0,G.jsx)(O,{className:`size-4`,"aria-hidden":!0}),N.settings.copyWorkspacePath]}),(0,G.jsx)(ie,{workspacePath:Fr}),(0,G.jsxs)(x,{type:`button`,variant:`ghost`,className:`rounded-lg`,onClick:dr,children:[(0,G.jsx)(le,{className:`size-4`,"aria-hidden":!0}),N.settings.migrateWorkspace]})]})]}),(0,G.jsx)(`p`,{className:`text-xs leading-5 text-fg-subtle`,children:N.settings.workspaceMigrationHint})]})]})}),(0,G.jsxs)(`section`,{className:`grid gap-4 rounded-lg bg-surface-panel p-4 shadow-surface`,children:[(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:N.settings.projectGuidanceTitle}),(0,G.jsx)(`p`,{className:`mt-1 text-sm leading-6 text-fg-muted`,children:N.settings.projectGuidanceHint})]}),(0,G.jsx)(Xt,{label:N.settings.brief,hint:N.settings.briefHint,children:(0,G.jsx)(`textarea`,{className:Zt(!0),value:Y.brief,onChange:e=>X(t=>({...t,brief:e.target.value}))})}),(0,G.jsx)(Xt,{label:N.settings.instructions,hint:N.settings.instructionsHint,children:(0,G.jsx)(`textarea`,{className:Zt(!0),value:Y.instructions,onChange:e=>X(t=>({...t,instructions:e.target.value}))})})]}),(0,G.jsxs)(`section`,{className:`grid gap-4 rounded-lg bg-surface-panel p-4 shadow-surface`,children:[(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:N.settings.managementTitle}),(0,G.jsx)(`p`,{className:`mt-1 text-sm leading-6 text-fg-muted`,children:N.settings.managementHint})]}),(0,G.jsxs)(`div`,{className:`grid gap-3 md:grid-cols-2`,children:[(0,G.jsxs)(`div`,{className:`grid gap-3 rounded-md border border-edge bg-surface-base p-3`,children:[(0,G.jsxs)(`div`,{className:`min-w-0`,children:[(0,G.jsx)(`h3`,{className:`text-sm font-medium text-fg`,children:Nr?N.settings.pinnedTitle:N.settings.pinTitle}),(0,G.jsx)(`p`,{className:`mt-1 text-xs leading-5 text-fg-subtle`,children:N.settings.pinHint})]}),(0,G.jsxs)(x,{type:`button`,variant:`ghost`,className:`w-fit rounded-lg`,disabled:kn===`pin`,onClick:()=>void pr(),children:[Nr?(0,G.jsx)(b,{className:`size-4`,"aria-hidden":!0}):(0,G.jsx)(L,{className:`size-4`,"aria-hidden":!0}),Nr?N.settings.unpinProject:N.settings.pinProject]})]}),(0,G.jsxs)(`div`,{className:`grid gap-3 rounded-md border border-edge bg-surface-base p-3`,children:[(0,G.jsxs)(`div`,{className:`min-w-0`,children:[(0,G.jsx)(`h3`,{className:`text-sm font-medium text-fg`,children:Mr?N.settings.restoreTitle:N.settings.archiveTitle}),(0,G.jsx)(`p`,{className:`mt-1 text-xs leading-5 text-fg-subtle`,children:Mr?N.settings.restoreHint:N.settings.archiveHint})]}),(0,G.jsxs)(x,{type:`button`,variant:Mr?`primary`:`ghost`,className:`w-fit rounded-lg`,disabled:kn===`archive`,onClick:()=>void mr(),children:[Mr?(0,G.jsx)(Ie,{className:`size-4`,"aria-hidden":!0}):(0,G.jsx)(We,{className:`size-4`,"aria-hidden":!0}),Mr?N.settings.restoreProject:N.settings.archiveProject]})]})]})]}),(0,G.jsxs)(`section`,{className:`grid gap-3 rounded-lg border border-red-500/20 bg-red-500/5 p-4`,children:[(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`h2`,{className:`text-sm font-semibold text-red-700 dark:text-red-300`,children:N.settings.dangerTitle}),(0,G.jsx)(`p`,{className:`mt-1 text-sm leading-6 text-red-700/80 dark:text-red-200/80`,children:N.settings.dangerHint})]}),(0,G.jsxs)(x,{type:`button`,variant:`ghost`,className:`w-fit text-red-600 hover:bg-red-500/10 hover:text-red-700 focus-visible:ring-red-500 dark:text-red-400 dark:hover:text-red-300`,onClick:()=>xn(!0),children:[(0,G.jsx)(pe,{className:`size-4`,"aria-hidden":!0}),N.settings.deleteConfirmAction]})]}),(0,G.jsx)(`div`,{className:`flex flex-wrap justify-end gap-2 border-t border-edge pt-4`,children:(0,G.jsxs)(x,{type:`submit`,variant:`primary`,disabled:K||!Y.name.trim(),children:[(0,G.jsx)(tt,{className:`size-4`,"aria-hidden":!0}),N.common.save]})})]}):null]}),(0,G.jsx)(A,{open:bn,onOpenChange:e=>{jn||xn(e)},children:(0,G.jsxs)(H,{children:[(0,G.jsx)(v,{className:`fixed inset-0 z-[80] bg-scrim backdrop-blur-[2px]`}),(0,G.jsxs)(z,{className:`fixed left-1/2 top-1/2 z-[90] w-[min(28rem,calc(100vw-2rem))] -translate-x-1/2 -translate-y-1/2 rounded-xl border border-edge bg-surface-panel p-5 shadow-float focus:outline-none`,children:[(0,G.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,G.jsx)(`span`,{className:`mt-0.5 flex size-9 shrink-0 items-center justify-center rounded-lg bg-red-500/10 text-red-600 dark:text-red-400`,children:(0,G.jsx)(Te,{className:`size-5`,strokeWidth:1.75,"aria-hidden":!0})}),(0,G.jsxs)(`div`,{className:`min-w-0`,children:[(0,G.jsx)(ee,{className:`text-base font-semibold text-fg`,children:N.settings.deleteConfirmTitle}),(0,G.jsx)(mt,{className:`mt-1 text-sm leading-6 text-fg-muted`,children:B?qt(N.settings.deleteConfirm,{name:B.name}):N.settings.deleteConfirmFallback})]})]}),(0,G.jsxs)(`div`,{className:`mt-5 flex justify-end gap-2`,children:[(0,G.jsx)(ne,{asChild:!0,children:(0,G.jsx)(x,{type:`button`,variant:`ghost`,className:`rounded-lg`,disabled:jn,children:N.common.cancel})}),(0,G.jsxs)(x,{type:`button`,variant:`ghost`,className:`rounded-lg text-red-600 hover:bg-red-500/10 hover:text-red-700 focus-visible:ring-red-500 dark:text-red-400 dark:hover:text-red-300`,disabled:jn||!B,onClick:()=>void hr(),children:[(0,G.jsx)(pe,{className:`size-4`,"aria-hidden":!0}),N.settings.deleteConfirmAction]})]})]})]})}),(0,G.jsx)(A,{open:wn,onOpenChange:e=>{K||Tn(e)},children:(0,G.jsxs)(H,{children:[(0,G.jsx)(v,{className:`fixed inset-0 z-[80] bg-scrim backdrop-blur-[2px]`}),(0,G.jsxs)(z,{className:`fixed left-1/2 top-1/2 z-[90] flex h-[min(34rem,calc(100vh-2rem))] w-[min(36rem,calc(100vw-2rem))] -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-xl border border-edge bg-surface-panel shadow-float focus:outline-none`,children:[(0,G.jsxs)(`div`,{className:`shrink-0 border-b border-edge px-5 py-4`,children:[(0,G.jsx)(ee,{className:`text-base font-semibold text-fg`,children:N.settings.workspaceMigrationTitle}),(0,G.jsx)(mt,{className:`mt-1 text-sm leading-6 text-fg-muted`,children:N.settings.workspaceMigrationDescription})]}),(0,G.jsxs)(`div`,{className:`min-h-0 flex-1 space-y-4 overflow-y-auto px-5 py-4`,children:[(0,G.jsxs)(`div`,{className:`grid gap-2 text-sm`,children:[(0,G.jsx)(`span`,{className:`font-medium text-fg-muted`,children:N.settings.workspaceMode}),(0,G.jsxs)(`div`,{className:`grid gap-2 md:grid-cols-2`,children:[(0,G.jsxs)(`label`,{className:l(`flex min-h-10 items-start gap-2 rounded-md border px-3 py-2`,q===`fixed`?`border-accent bg-accent-soft/40 text-fg`:`border-edge bg-surface-base text-fg-muted`),children:[(0,G.jsx)(`input`,{type:`radio`,className:`mt-0.5 size-4`,checked:q===`fixed`,onChange:()=>En(`fixed`),disabled:K}),(0,G.jsxs)(`span`,{className:`min-w-0`,children:[(0,G.jsx)(`span`,{className:`block font-medium`,children:N.settings.workspaceModeFixed}),(0,G.jsx)(`span`,{className:`block text-xs leading-5 text-fg-subtle`,children:N.settings.workspaceMigrationFixedHint})]})]}),(0,G.jsxs)(`label`,{className:l(`flex min-h-10 items-start gap-2 rounded-md border px-3 py-2`,q===`follow`?`border-accent bg-accent-soft/40 text-fg`:`border-edge bg-surface-base text-fg-muted`),children:[(0,G.jsx)(`input`,{type:`radio`,className:`mt-0.5 size-4`,checked:q===`follow`,onChange:()=>En(`follow`),disabled:K}),(0,G.jsxs)(`span`,{className:`min-w-0`,children:[(0,G.jsx)(`span`,{className:`block font-medium`,children:N.settings.workspaceModeFollow}),(0,G.jsx)(`span`,{className:`block text-xs leading-5 text-fg-subtle`,children:N.settings.workspaceHint})]})]})]})]}),q===`fixed`?(0,G.jsx)(vt,{value:Dn,onChange:On,disabled:K,wd:w,placeholder:N.settings.workspacePlaceholder,inputClassName:Zt(),autoFocus:!0}):null,(0,G.jsx)(`div`,{className:`rounded-lg border border-amber-500/30 bg-amber-500/10 px-3 py-2 text-sm leading-6 text-amber-800 dark:text-amber-200`,children:N.settings.workspaceMigrationImpact}),(0,G.jsx)(`div`,{className:`rounded-lg bg-surface-muted px-3 py-2 text-xs leading-5 text-fg-subtle`,children:qt(N.settings.workspaceCurrent,{workspace:Ir})})]}),(0,G.jsxs)(`div`,{className:`flex shrink-0 justify-end gap-2 border-t border-edge px-5 py-4`,children:[(0,G.jsx)(ne,{asChild:!0,children:(0,G.jsx)(x,{type:`button`,variant:`ghost`,className:`rounded-lg`,disabled:K,children:N.common.cancel})}),(0,G.jsxs)(x,{type:`button`,variant:`primary`,className:`rounded-lg`,disabled:K||!Lr,onClick:()=>void fr(),children:[(0,G.jsx)(le,{className:`size-4`,"aria-hidden":!0}),N.settings.workspaceMigrationConfirm]})]})]})]})}),(0,G.jsx)(A,{open:!!Sn,onOpenChange:e=>{e||Cn(null)},children:(0,G.jsxs)(H,{children:[(0,G.jsx)(v,{className:`fixed inset-0 z-[80] bg-scrim backdrop-blur-[2px]`}),(0,G.jsxs)(z,{className:`fixed left-1/2 top-1/2 z-[90] flex w-[min(30rem,calc(100vw-2rem))] -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-xl border border-edge bg-surface-panel shadow-float focus:outline-none`,children:[(0,G.jsxs)(`div`,{className:`border-b border-edge px-5 py-4`,children:[(0,G.jsx)(ee,{className:`text-base font-semibold text-fg`,children:N.settings.workspaceMissingTitle}),(0,G.jsx)(mt,{className:`mt-1 text-sm leading-6 text-fg-muted`,children:Sn?qt(N.settings.workspaceMissingDescription,{workspace:Sn}):null})]}),Sn?(0,G.jsx)(`div`,{className:`px-5 py-4`,children:(0,G.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg bg-surface-muted px-3 py-2 text-sm text-fg-muted`,children:[(0,G.jsx)(ut,{className:`size-4 shrink-0 text-fg-subtle`,"aria-hidden":!0}),(0,G.jsx)(`span`,{className:`min-w-0 truncate`,children:Sn})]})}):null,(0,G.jsxs)(`div`,{className:`flex justify-end gap-2 border-t border-edge px-5 py-4`,children:[(0,G.jsx)(x,{type:`button`,variant:`ghost`,className:`rounded-lg`,onClick:Br,disabled:K,children:N.settings.workspaceMissingBack}),(0,G.jsxs)(x,{type:`button`,variant:`primary`,className:`rounded-lg`,onClick:()=>void fr({createWorkspaceRoot:!0}),disabled:K,children:[(0,G.jsx)(le,{className:`size-4`,"aria-hidden":!0}),N.settings.workspaceMissingCreate]})]})]})]})})]})}export{pn as ProjectDetailPage};
@@ -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"./chunk-KS7C4IRE-BMhrPKJC.js";import{t as a}from"./cn-JdwAhgNB.js";import{t as ee}from"./messages-CPxz48hr.js";import{n as o}from"./locale-store-Bff30u5V.js";import{At as s,Bo as c,Cc as l,Dc as u,Dl as te,El as d,Es as f,Et as p,Ha as m,Ho as h,Io as g,Ka as _,Lo as v,Ma as y,Oc as b,Ro as x,Tu as S,Ua as C,Va as w,Vo as T,do as E,fc as D,hc as O,ja as k,ku as A,nt as j,qc as M,to as N,zo as P}from"./index-vi5KlR5_.js";var F=n(),I=e(t(),1),L=r();function R(e,t){if(e==null)return t;let n=new Date(e);return Number.isNaN(n.getTime())?t:j(n)}function ne(e){return[...e].sort((e,t)=>{let n=Number(!!t.pinnedAt)-Number(!!e.pinnedAt);return n===0?new Date(t.lastActiveAt??t.updatedAt).getTime()-new Date(e.lastActiveAt??e.updatedAt).getTime():n})}function re(){let e=(0,F.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,L.jsx)(`div`,{className:`grid gap-3 md:grid-cols-2 xl:grid-cols-3`,"aria-busy":!0,children:Array.from({length:6},z)}),e[0]=t):t=e[0],t}function z(e,t){return(0,L.jsx)(N,{className:`h-40 rounded-xl`},t)}function ie(e){let t=(0,F.c)(59),{project:n,busy:r,onTogglePin:a,onToggleArchive:s}=e,c=o(B),l,d,p,m,h,g,_,v;if(t[0]!==c||t[1]!==n.brief||t[2]!==n.description||t[3]!==n.id||t[4]!==n.lastActiveAt||t[5]!==n.name||t[6]!==n.status||t[7]!==n.updatedAt||t[8]!==n.workspaceRoot){let e=ee(c).projectsPage;l=e.management,_=`flex h-full flex-col rounded-xl border border-edge-subtle bg-surface-base p-4`;let r;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,L.jsx)(`span`,{className:`flex size-9 shrink-0 items-center justify-center rounded-lg bg-accent-soft text-accent`,children:(0,L.jsx)(te,{className:`size-4`,"aria-hidden":!0})}),t[17]=r):r=t[17];let a;t[18]===n.name?a=t[19]:(a=(0,L.jsx)(`h2`,{className:`truncate text-sm font-semibold text-fg`,children:n.name}),t[18]=n.name,t[19]=a);let o=(0,L.jsxs)(`div`,{className:`min-w-0`,children:[a,(0,L.jsx)(`p`,{className:`mt-0.5 text-xs text-fg-subtle`,children:e.statuses[n.status]})]}),s;t[20]===o?s=t[21]:(s=(0,L.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[r,o]}),t[20]=o,t[21]=s);let u;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,L.jsx)(S,{className:`mt-2 size-4 shrink-0 text-fg-subtle transition-transform group-hover:translate-x-0.5`,"aria-hidden":!0}),t[22]=u):u=t[22];let f;t[23]===s?f=t[24]:(f=(0,L.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[s,u]}),t[23]=s,t[24]=f),v=(0,L.jsxs)(i,{to:`/projects/${encodeURIComponent(n.id)}`,className:`group flex min-w-0 flex-1 flex-col rounded-lg focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,children:[f,(0,L.jsx)(`p`,{className:`mt-3 line-clamp-2 min-h-10 text-xs leading-5 text-fg-muted`,children:n.description||n.brief||e.noDescription})]}),g=`mt-3 flex shrink-0 items-end justify-between gap-3 border-t border-edge-subtle pt-3`,m=`min-w-0 text-[11px] text-fg-subtle`,h=(0,L.jsx)(`p`,{className:`truncate`,children:n.workspaceRoot||e.agentDefault}),d=`mt-1`,p=R(n.lastActiveAt??n.updatedAt,e.never),t[0]=c,t[1]=n.brief,t[2]=n.description,t[3]=n.id,t[4]=n.lastActiveAt,t[5]=n.name,t[6]=n.status,t[7]=n.updatedAt,t[8]=n.workspaceRoot,t[9]=l,t[10]=d,t[11]=p,t[12]=m,t[13]=h,t[14]=g,t[15]=_,t[16]=v}else l=t[9],d=t[10],p=t[11],m=t[12],h=t[13],g=t[14],_=t[15],v=t[16];let y;t[25]!==d||t[26]!==p?(y=(0,L.jsx)(`p`,{className:d,children:p}),t[25]=d,t[26]=p,t[27]=y):y=t[27];let x;t[28]!==m||t[29]!==h||t[30]!==y?(x=(0,L.jsxs)(`div`,{className:m,children:[h,y]}),t[28]=m,t[29]=h,t[30]=y,t[31]=x):x=t[31];let C=n.pinnedAt?l.unpin:l.pin,w=n.pinnedAt?l.unpin:l.pin,T;t[32]===n.pinnedAt?T=t[33]:(T=n.pinnedAt?(0,L.jsx)(u,{className:`size-4`,"aria-hidden":!0}):(0,L.jsx)(b,{className:`size-4`,"aria-hidden":!0}),t[32]=n.pinnedAt,t[33]=T);let E;t[34]!==r||t[35]!==a||t[36]!==C||t[37]!==w||t[38]!==T?(E=(0,L.jsx)(f,{type:`button`,variant:`ghost`,className:`size-8 p-0`,disabled:r,onClick:a,"aria-label":C,title:w,children:T}),t[34]=r,t[35]=a,t[36]=C,t[37]=w,t[38]=T,t[39]=E):E=t[39];let D=n.status===`archived`?l.restore:l.archive,k=n.status===`archived`?l.restore:l.archive,j;t[40]===n.status?j=t[41]:(j=n.status===`archived`?(0,L.jsx)(O,{className:`size-4`,"aria-hidden":!0}):(0,L.jsx)(A,{className:`size-4`,"aria-hidden":!0}),t[40]=n.status,t[41]=j);let M;t[42]!==r||t[43]!==s||t[44]!==D||t[45]!==k||t[46]!==j?(M=(0,L.jsx)(f,{type:`button`,variant:`ghost`,className:`size-8 p-0`,disabled:r,onClick:s,"aria-label":D,title:k,children:j}),t[42]=r,t[43]=s,t[44]=D,t[45]=k,t[46]=j,t[47]=M):M=t[47];let N;t[48]!==E||t[49]!==M?(N=(0,L.jsxs)(`div`,{className:`flex shrink-0 gap-1`,children:[E,M]}),t[48]=E,t[49]=M,t[50]=N):N=t[50];let P;t[51]!==N||t[52]!==g||t[53]!==x?(P=(0,L.jsxs)(`div`,{className:g,children:[x,N]}),t[51]=N,t[52]=g,t[53]=x,t[54]=P):P=t[54];let I;return t[55]!==P||t[56]!==_||t[57]!==v?(I=(0,L.jsxs)(`article`,{className:_,children:[v,P]}),t[55]=P,t[56]=_,t[57]=v,t[58]=I):I=t[58],I}function B(e){return e.language}function V(){let e=ee(o(e=>e.language)),t=e.projectsPage,n=t.management,r=e.chat.workingDirectory,i=E(e=>e.setPageHeader),u=E(e=>e.clearPageHeader),[b,S]=(0,I.useState)([]),[O,A]=(0,I.useState)(!0),[j,N]=(0,I.useState)(null),[F,R]=(0,I.useState)(``),[z,B]=(0,I.useState)(`active`),[V,ae]=(0,I.useState)(null),[oe,H]=(0,I.useState)(!1),[U,W]=(0,I.useState)(null),[G,K]=(0,I.useState)(!1),[q,J]=(0,I.useState)(``),[Y,X]=(0,I.useState)(``),[Z,se]=(0,I.useState)(``),Q=s({initialPath:Z,onPicked:se}),$=(0,I.useCallback)(async()=>{A(!0),N(null);try{S(ne((await w({limit:100,sortBy:`updatedAt`,sortOrder:`desc`})).items))}catch(e){N(e instanceof Error?e.message:String(e))}finally{A(!1)}},[]);(0,I.useEffect)(()=>{$()},[$]);let ce=(0,I.useMemo)(()=>{let e=F.trim().toLocaleLowerCase();return b.filter(e=>z===`all`||e.status===z).filter(t=>!e||[t.name,t.description,t.brief,t.workspaceRoot].filter(Boolean).some(t=>t.toLocaleLowerCase().includes(e)))},[z,b,F]),le=(0,I.useMemo)(()=>(0,L.jsxs)(f,{type:`button`,variant:`primary`,className:`h-9 rounded-lg`,onClick:()=>H(!0),children:[(0,L.jsx)(l,{className:`size-4`,"aria-hidden":!0}),t.create]}),[t.create]);(0,I.useLayoutEffect)(()=>(i({startExtra:null,main:(0,L.jsxs)(`div`,{className:`min-w-0`,children:[(0,L.jsx)(`h1`,{className:`truncate text-base font-semibold tracking-tight text-fg`,children:n.title}),(0,L.jsx)(`p`,{className:`truncate text-xs text-fg-muted`,children:n.subtitle})]}),end:le}),()=>u()),[u,le,n.subtitle,n.title,i]);let ue=(0,I.useCallback)(async e=>{e.preventDefault();let t=q.trim(),n=Z.trim();if(!(!t||!n||G)){K(!0),W(null);try{let e=await y({name:t,...Y.trim()?{description:Y.trim()}:{},workspaceRoot:n});S(t=>[e,...t.filter(t=>t.id!==e.id)]),J(``),X(``),se(``),H(!1),window.dispatchEvent(new CustomEvent(`project-updated`,{detail:{id:e.id}}))}catch(e){W(e instanceof Error?e.message:String(e))}finally{K(!1)}}},[G,Y,q,Z]),de=(0,I.useCallback)(async(e,t)=>{ae(e.id),N(null);try{let n;n=t===`pin`?e.pinnedAt?await _(e.id):await m(e.id):e.status===`archived`?await C(e.id):await k(e.id),S(e=>e.map(e=>e.id===n.id?n:e)),window.dispatchEvent(new CustomEvent(`project-updated`,{detail:{id:e.id}}))}catch(e){N(e instanceof Error?e.message:String(e))}finally{ae(null)}},[]),fe=[{id:`active`,label:t.statuses.active},{id:`paused`,label:t.statuses.paused},{id:`archived`,label:t.statuses.archived},{id:`all`,label:t.all}];return(0,L.jsxs)(`main`,{className:`flex w-full flex-1 flex-col gap-5 px-3 py-6 sm:px-5 xl:px-6`,children:[(0,L.jsx)(g,{open:oe,onOpenChange:e=>{H(e),e||W(null)},children:(0,L.jsxs)(T,{children:[(0,L.jsx)(c,{className:`fixed inset-0 z-[80] bg-scrim backdrop-blur-[2px]`}),(0,L.jsxs)(x,{className:`fixed left-1/2 top-1/2 z-[90] flex h-[min(34rem,calc(100vh-2rem))] w-[min(38rem,calc(100vw-2rem))] -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-xl border border-edge bg-surface-panel shadow-float focus:outline-none`,children:[(0,L.jsxs)(`div`,{className:`shrink-0 border-b border-edge px-5 py-4`,children:[(0,L.jsx)(h,{className:`text-base font-semibold text-fg`,children:t.createTitle}),(0,L.jsx)(P,{className:`mt-1 text-sm text-fg-muted`,children:t.createDescription})]}),(0,L.jsxs)(`form`,{onSubmit:ue,className:`flex min-h-0 flex-1 flex-col`,children:[(0,L.jsxs)(`div`,{className:`min-h-0 flex-1 space-y-4 overflow-y-auto px-5 py-4`,children:[(0,L.jsxs)(`label`,{className:`grid gap-1.5 text-sm font-medium text-fg`,children:[t.projectName,(0,L.jsx)(`input`,{className:`h-10 rounded-lg border border-edge bg-surface-base px-3 font-normal outline-none focus:border-accent focus:ring-2 focus:ring-accent/20`,value:q,onChange:e=>J(e.target.value),maxLength:160})]}),(0,L.jsxs)(`label`,{className:`grid gap-1.5 text-sm font-medium text-fg`,children:[n.descriptionLabel,(0,L.jsx)(`textarea`,{className:`min-h-28 resize-none rounded-lg border border-edge bg-surface-base px-3 py-2 font-normal leading-6 outline-none focus:border-accent focus:ring-2 focus:ring-accent/20`,value:Y,onChange:e=>X(e.target.value),maxLength:2e3,placeholder:n.descriptionPlaceholder})]}),(0,L.jsxs)(`div`,{className:`grid gap-1.5 text-sm`,children:[(0,L.jsx)(`span`,{className:`font-medium text-fg`,children:t.workspaceRoot}),(0,L.jsxs)(`button`,{type:`button`,className:`flex min-h-12 w-full items-center gap-3 rounded-lg border border-edge bg-surface-base px-3 py-2 text-left outline-none transition-colors hover:bg-surface-hover focus-visible:border-accent focus-visible:ring-2 focus-visible:ring-accent/20 disabled:cursor-not-allowed disabled:opacity-60`,onClick:Q.pick,disabled:G||Q.picking,children:[Q.picking?(0,L.jsx)(M,{className:`size-5 shrink-0 animate-spin text-accent`,"aria-hidden":!0}):(0,L.jsx)(d,{className:`size-5 shrink-0 text-accent`,"aria-hidden":!0}),(0,L.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,L.jsx)(`span`,{className:`block text-sm font-medium text-fg`,children:Z?r.chooseFolder:r.selectWorkingDirectory}),(0,L.jsx)(`span`,{className:a(`mt-0.5 block truncate font-mono text-xs font-normal`,Z?`text-fg-muted`:`text-fg-subtle`),title:Z||void 0,children:Z||t.workspaceSelectionPlaceholder})]})]}),(0,L.jsx)(`p`,{className:`text-xs font-normal text-fg-subtle`,children:t.workspaceSelectionHint})]}),U?(0,L.jsx)(`p`,{className:`rounded-lg bg-danger-soft px-3 py-2 text-xs text-danger`,role:`alert`,children:U}):null]}),(0,L.jsxs)(`div`,{className:`flex shrink-0 justify-end gap-2 border-t border-edge px-5 py-4`,children:[(0,L.jsx)(v,{asChild:!0,children:(0,L.jsx)(f,{type:`button`,variant:`ghost`,children:t.cancel})}),(0,L.jsx)(f,{type:`submit`,variant:`primary`,disabled:G||!q.trim()||!Z.trim(),children:G?t.home.creating:t.create})]})]})]})]})}),Q.hasNativePicker?null:(0,L.jsx)(p,{open:Q.modalOpen,onOpenChange:Q.setModalOpen,initialAbsolutePath:Z||void 0,onConfirm:Q.confirmPick,wd:r}),(0,L.jsxs)(`section`,{className:`flex flex-col gap-3 rounded-xl border border-edge-subtle bg-surface-base p-4 sm:flex-row sm:items-center sm:justify-between`,children:[(0,L.jsx)(`div`,{className:`flex flex-wrap gap-1`,"aria-label":n.filterLabel,children:fe.map(e=>(0,L.jsx)(`button`,{type:`button`,className:a(`rounded-lg px-3 py-1.5 text-xs font-medium transition-colors`,z===e.id?`bg-accent-soft text-accent-fg`:`text-fg-muted hover:bg-surface-hover hover:text-fg`),onClick:()=>B(e.id),children:e.label},e.id))}),(0,L.jsxs)(`label`,{className:`relative block min-w-0 sm:w-64`,children:[(0,L.jsx)(D,{className:`pointer-events-none absolute left-3 top-1/2 size-4 -translate-y-1/2 text-fg-subtle`,"aria-hidden":!0}),(0,L.jsx)(`input`,{className:`h-9 w-full rounded-lg border border-edge bg-surface-panel pl-9 pr-3 text-sm text-fg outline-none placeholder:text-fg-muted focus:border-accent`,value:F,onChange:e=>R(e.target.value),placeholder:t.searchPlaceholder,"aria-label":t.searchPlaceholder})]})]}),j?(0,L.jsxs)(`div`,{className:`flex items-center justify-between gap-3 rounded-xl border border-danger/25 bg-danger-soft px-4 py-3 text-sm text-danger`,role:`alert`,children:[(0,L.jsx)(`span`,{children:j}),(0,L.jsx)(f,{type:`button`,variant:`ghost`,className:`h-8 px-2`,onClick:()=>void $(),children:t.home.retry})]}):null,O?(0,L.jsx)(re,{}):ce.length?(0,L.jsx)(`section`,{className:`grid gap-3 md:grid-cols-2 xl:grid-cols-3`,children:ce.map(e=>(0,L.jsx)(ie,{project:e,busy:V===e.id,onTogglePin:()=>void de(e,`pin`),onToggleArchive:()=>void de(e,`archive`)},e.id))}):(0,L.jsxs)(`section`,{className:`rounded-xl border border-dashed border-edge p-10 text-center`,children:[(0,L.jsx)(te,{className:`mx-auto size-7 text-fg-subtle`,"aria-hidden":!0}),(0,L.jsx)(`h2`,{className:`mt-3 text-sm font-semibold text-fg`,children:n.emptyTitle}),(0,L.jsx)(`p`,{className:`mt-1 text-sm text-fg-muted`,children:n.emptyHint})]})]})}export{V as ProjectsPage};