@xopcai/xopc 0.0.428 → 0.0.430

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 (396) hide show
  1. package/dist/browser-ext/manifest.json +1 -1
  2. package/dist/extensions/feishu/src/adapters/cli-login.js +3 -3
  3. package/dist/extensions/feishu/src/outbound/media-load.js +1 -1
  4. package/dist/extensions/telegram/src/inbound-processor.js +2 -2
  5. package/dist/extensions/telegram/src/outbound-sender.js +1 -1
  6. package/dist/extensions/telegram/src/plugin.js +2 -2
  7. package/dist/extensions/telegram/xopc.extension.json +1 -1
  8. package/dist/extensions/weixin/src/api/api.js +2 -2
  9. package/dist/extensions/weixin/src/auth/accounts.js +12 -12
  10. package/dist/extensions/weixin/src/messaging/debug-mode.js +5 -5
  11. package/dist/extensions/weixin/src/messaging/inbound.js +11 -11
  12. package/dist/gateway/static/root/assets/{agents-yTsbcxRi.js → agents-Ds7K3D7T.js} +1 -1
  13. package/dist/gateway/static/root/assets/{automation-task-card-w6cKxfaP.js → automation-task-card-DIjI_Y1X.js} +1 -1
  14. package/dist/gateway/static/root/assets/{automations-page-D4LyOLzY.js → automations-page-BQwSCkmd.js} +1 -1
  15. package/dist/gateway/static/root/assets/{automations-workspace-BGyvZZj5.js → automations-workspace-BUFTTjBq.js} +2 -2
  16. package/dist/gateway/static/root/assets/{capabilities-page-DHJLl4RD.js → capabilities-page-B8UgQ4dD.js} +2 -2
  17. package/dist/gateway/static/root/assets/{capabilities-settings-panel-FJ3Vo7Wa.js → capabilities-settings-panel-Bxn8HtEO.js} +2 -2
  18. package/dist/gateway/static/root/assets/{chat-page--dKUIg5W.js → chat-page-e-xCsrdS.js} +1 -1
  19. package/dist/gateway/static/root/assets/{computer-settings-page-Bm70SIjD.js → computer-settings-page-BIHbjBVt.js} +1 -1
  20. package/dist/gateway/static/root/assets/{image-generation-api-BbEnKsK1.js → image-generation-api-CdwYgzhU.js} +1 -1
  21. package/dist/gateway/static/root/assets/{index-ClPeYgQk.js → index-C5BhE5cA.js} +5 -5
  22. package/dist/gateway/static/root/assets/model-selector-YsCHu1Gn.js +1 -0
  23. package/dist/gateway/static/root/assets/{personal-page-CiKdXLeR.js → personal-page-Cvd-v9kT.js} +1 -1
  24. package/dist/gateway/static/root/assets/{phone-model-connection-ucX3Tvl8.js → phone-model-connection-BieYnAJ5.js} +1 -1
  25. package/dist/gateway/static/root/assets/phone-model-picker-Bkex4Sre.js +1 -0
  26. package/dist/gateway/static/root/assets/{phone-settings-page-BSdB2pnW.js → phone-settings-page-D8PuvEuJ.js} +1 -1
  27. package/dist/gateway/static/root/assets/{product-preview-content-CNaJb6Bj.js → product-preview-content-VcvxaO2S.js} +1 -1
  28. package/dist/gateway/static/root/assets/{product-preview-modal-DgwrrpqJ.js → product-preview-modal-Ym6bomTW.js} +2 -2
  29. package/dist/gateway/static/root/assets/{project-detail-page-FReFYUv0.js → project-detail-page-CFbXWvcd.js} +1 -1
  30. package/dist/gateway/static/root/assets/{route-preload-DS4fVFbc.js → route-preload-C-VRKwB1.js} +2 -2
  31. package/dist/gateway/static/root/assets/{sessions-page-C8gwrFHR.js → sessions-page-C2CH-55n.js} +1 -1
  32. package/dist/gateway/static/root/assets/{settings-page-DCQnHCNN.js → settings-page-B6vrcc6f.js} +1 -1
  33. package/dist/gateway/static/root/assets/{setup-interaction-page-B9ACeAvO.js → setup-interaction-page-BDPte58u.js} +1 -1
  34. package/dist/gateway/static/root/assets/{task-detail-page-L5RIelv0.js → task-detail-page-CC3Rzqq9.js} +1 -1
  35. package/dist/gateway/static/root/index.html +6 -6
  36. package/dist/package.js +1 -1
  37. package/dist/src/agent/agent-manager.js +18 -18
  38. package/dist/src/agent/agent-scope.js +2 -2
  39. package/dist/src/agent/background-review/prompts.js +1 -1
  40. package/dist/src/agent/background-review/run-background-review.js +12 -12
  41. package/dist/src/agent/child-agent-factory.js +2 -2
  42. package/dist/src/agent/coding/run-verification.d.ts +1 -0
  43. package/dist/src/agent/coding/run-verification.js +1 -1
  44. package/dist/src/agent/context/coordinator.js +2 -2
  45. package/dist/src/agent/context/execution-context.js +4 -4
  46. package/dist/src/agent/context/project-context.js +3 -3
  47. package/dist/src/agent/data-acquisition/service.js +1 -1
  48. package/dist/src/agent/embedded/codemode-extension.js +1 -1
  49. package/dist/src/agent/embedded/execution-tool-policy.js +1 -1
  50. package/dist/src/agent/embedded/external-tool-discovery.js +1 -1
  51. package/dist/src/agent/embedded/run-for-session.js +6 -6
  52. package/dist/src/agent/embedded/run-turn.js +31 -23
  53. package/dist/src/agent/embedded/session-runner.js +4 -4
  54. package/dist/src/agent/embedded/session-tool-result-guard.js +1 -1
  55. package/dist/src/agent/embedded/xopc-tools-bridge.js +1 -1
  56. package/dist/src/agent/external-tools/cliProvider.js +4 -4
  57. package/dist/src/agent/external-tools/composio-provider.js +4 -4
  58. package/dist/src/agent/external-tools/endpoint-provider.js +6 -6
  59. package/dist/src/agent/external-tools/extension-provider.js +1 -1
  60. package/dist/src/agent/external-tools/gateway-tools.js +3 -3
  61. package/dist/src/agent/external-tools/memory-provider.js +1 -1
  62. package/dist/src/agent/image/generation/openai-images-provider.js +1 -1
  63. package/dist/src/agent/image/generation/runtime.js +1 -1
  64. package/dist/src/agent/image/index.js +1 -1
  65. package/dist/src/agent/inbound/attachment-pipeline.js +2 -2
  66. package/dist/src/agent/inbound/inbound-loop.js +2 -2
  67. package/dist/src/agent/independent-execution.js +2 -2
  68. package/dist/src/agent/index.js +3 -3
  69. package/dist/src/agent/mcp/connection-drafts.js +1 -1
  70. package/dist/src/agent/mcp/connection-setup.js +1 -1
  71. package/dist/src/agent/mcp/conversation-setup.js +1 -1
  72. package/dist/src/agent/mcp/discovery.js +2 -2
  73. package/dist/src/agent/mcp/transport.js +1 -1
  74. package/dist/src/agent/memory/index.js +1 -1
  75. package/dist/src/agent/orchestration/llm-turn-retry.js +1 -1
  76. package/dist/src/agent/prompt/response-language.js +1 -1
  77. package/dist/src/agent/prompt/service-prompt-builder.js +3 -3
  78. package/dist/src/agent/prompt/system-prompt-params.js +1 -1
  79. package/dist/src/agent/sandbox/exec-policy.js +1 -1
  80. package/dist/src/agent/service/direct-turn-helpers.js +15 -12
  81. package/dist/src/agent/service/process-direct-streaming.js +6 -6
  82. package/dist/src/agent/service/webchat-tts.js +2 -2
  83. package/dist/src/agent/service.js +22 -22
  84. package/dist/src/agent/session/session-config-service.js +2 -2
  85. package/dist/src/agent/session/session-hydrator.js +1 -1
  86. package/dist/src/agent/session/session-inspector.js +1 -1
  87. package/dist/src/agent/skills/filesystem-watcher.js +1 -1
  88. package/dist/src/agent/skills/hub-lock.js +1 -1
  89. package/dist/src/agent/skills/hub-pull.js +2 -2
  90. package/dist/src/agent/skills/index.js +1 -1
  91. package/dist/src/agent/skills/managed-store.js +1 -1
  92. package/dist/src/agent/skills/marketplace/adapters/store/adapter.js +1 -1
  93. package/dist/src/agent/skills/marketplace/adapters/store/store-api-client.js +1 -1
  94. package/dist/src/agent/skills/skill-manage-ops.js +1 -1
  95. package/dist/src/agent/skills/skill-manager.js +1 -1
  96. package/dist/src/agent/skills/skill-sources.js +1 -1
  97. package/dist/src/agent/source-context/index.js +1 -1
  98. package/dist/src/agent/tasks/task-judge-service.js +8 -8
  99. package/dist/src/agent/tools/create-share-tool.js +2 -2
  100. package/dist/src/agent/tools/delegate-tool.js +3 -3
  101. package/dist/src/agent/tools/exec-command.js +1 -1
  102. package/dist/src/agent/tools/executor.js +1 -1
  103. package/dist/src/agent/tools/factory.js +19 -19
  104. package/dist/src/agent/tools/fetch-text.js +1 -1
  105. package/dist/src/agent/tools/image-generate-tool.js +2 -2
  106. package/dist/src/agent/tools/index.js +4 -4
  107. package/dist/src/agent/tools/list-dir.js +1 -1
  108. package/dist/src/agent/tools/personal-attention-tool.js +2 -2
  109. package/dist/src/agent/tools/personal-read-tool.js +1 -1
  110. package/dist/src/agent/tools/personal-request-result-tool.js +1 -1
  111. package/dist/src/agent/tools/personal-request-tool.js +4 -4
  112. package/dist/src/agent/tools/personal-result-tool.js +1 -1
  113. package/dist/src/agent/tools/personal-task-tool.js +5 -5
  114. package/dist/src/agent/tools/phone-use-tool.js +1 -1
  115. package/dist/src/agent/tools/publish-artifacts.js +1 -1
  116. package/dist/src/agent/tools/read.js +1 -1
  117. package/dist/src/agent/tools/review-workspace.js +1 -1
  118. package/dist/src/agent/tools/send-media.js +1 -1
  119. package/dist/src/agent/tools/skill-manage-tool.js +1 -1
  120. package/dist/src/agent/tools/task-collaboration-tool.js +2 -2
  121. package/dist/src/agent/tools/tts-tool.js +1 -1
  122. package/dist/src/agent/tools/user-context-tool.js +2 -2
  123. package/dist/src/agent/tools/web.js +1 -1
  124. package/dist/src/agent/tools/write.js +1 -1
  125. package/dist/src/agent/tools/xopc-use-tool.js +12 -12
  126. package/dist/src/agent/transcript/index.js +2 -2
  127. package/dist/src/agent/transcript/transcript-hygiene.js +2 -2
  128. package/dist/src/agent-catalog/capabilities.js +2 -2
  129. package/dist/src/agent-catalog/repository.js +1 -1
  130. package/dist/src/agent-matching/delegation-service.js +1 -1
  131. package/dist/src/ai-assist/text-assist.js +1 -1
  132. package/dist/src/auth/credentials.js +1 -1
  133. package/dist/src/auth/oauth/openai.js +1 -1
  134. package/dist/src/auth/oauth/xopc-cloud.js +1 -1
  135. package/dist/src/auth/profiles/store.js +1 -1
  136. package/dist/src/automations/api/routes.js +2 -2
  137. package/dist/src/automations/capabilities/drafts.js +1 -1
  138. package/dist/src/automations/capabilities/write.js +1 -1
  139. package/dist/src/automations/configuration-conversation.js +1 -1
  140. package/dist/src/automations/delivery/delivery-router.js +1 -1
  141. package/dist/src/automations/domain/index.js +1 -1
  142. package/dist/src/automations/draft/automation-draft-service.js +1 -1
  143. package/dist/src/automations/index.js +2 -2
  144. package/dist/src/automations/service/action-executor.js +2 -2
  145. package/dist/src/automations/service/automation-service.js +2 -2
  146. package/dist/src/browser/native-messaging-host.js +1 -1
  147. package/dist/src/browser/providers/browser-ext-install.js +2 -2
  148. package/dist/src/capabilities/runtime/dispatcher.js +1 -1
  149. package/dist/src/capabilities/runtime/product.js +1 -1
  150. package/dist/src/capabilities/store-connector.js +2 -2
  151. package/dist/src/channels/attachments/voice-stt-webchat.js +1 -1
  152. package/dist/src/channels/index.js +1 -1
  153. package/dist/src/channels/outbound-sender.js +1 -1
  154. package/dist/src/channels/pairing/allow-from-file.js +9 -9
  155. package/dist/src/channels/pairing/pairing-store.js +6 -6
  156. package/dist/src/chat-commands/agent-edit.js +1 -1
  157. package/dist/src/chat-commands/builtins/config.js +2 -2
  158. package/dist/src/chat-commands/builtins/session.js +1 -1
  159. package/dist/src/chat-commands/builtins/thinking.js +1 -1
  160. package/dist/src/chat-commands/builtins/tts.js +1 -1
  161. package/dist/src/chat-commands/context.js +1 -1
  162. package/dist/src/chat-commands/index.js +3 -3
  163. package/dist/src/cli/commands/agent.js +7 -7
  164. package/dist/src/cli/commands/agents.js +1 -1
  165. package/dist/src/cli/commands/config.js +1 -1
  166. package/dist/src/cli/commands/connectors.js +1 -1
  167. package/dist/src/cli/commands/doctor/checks/channel-plugins.js +1 -1
  168. package/dist/src/cli/commands/doctor/checks/database-schema.js +1 -1
  169. package/dist/src/cli/commands/doctor/checks/gateway-health.js +1 -1
  170. package/dist/src/cli/commands/extension-agent-plugin.js +1 -1
  171. package/dist/src/cli/commands/extension-dev.js +1 -1
  172. package/dist/src/cli/commands/extension.js +2 -2
  173. package/dist/src/cli/commands/image.js +1 -1
  174. package/dist/src/cli/commands/init.js +1 -1
  175. package/dist/src/cli/commands/models.js +3 -3
  176. package/dist/src/cli/commands/onboard/channels/registry.js +1 -1
  177. package/dist/src/cli/commands/onboard/model.js +1 -1
  178. package/dist/src/cli/commands/onboard.js +1 -1
  179. package/dist/src/cli/commands/project.js +1 -1
  180. package/dist/src/cli/commands/skills.js +2 -2
  181. package/dist/src/cli/commands/tunnel.js +4 -4
  182. package/dist/src/cli/extension-cli-register.js +5 -5
  183. package/dist/src/cli/utils/gateway-client.js +1 -1
  184. package/dist/src/cli/utils/init-workspace-core.js +3 -3
  185. package/dist/src/cli/utils/session.js +1 -1
  186. package/dist/src/computer/flows.js +1 -1
  187. package/dist/src/computer/model-adapter.js +1 -1
  188. package/dist/src/computer/model-policy.js +1 -1
  189. package/dist/src/computer/runtime.js +4 -4
  190. package/dist/src/config/agent-profile.js +1 -1
  191. package/dist/src/config/index.js +3 -3
  192. package/dist/src/config/loader.js +1 -1
  193. package/dist/src/config/models-json.d.ts +6 -0
  194. package/dist/src/config/models-json.js +10 -5
  195. package/dist/src/connectors/cli/authorization.js +1 -1
  196. package/dist/src/connectors/composio-sessions.js +1 -1
  197. package/dist/src/connectors/composio.js +1 -1
  198. package/dist/src/connectors/connected-source-ingestion.js +2 -2
  199. package/dist/src/connectors/connected-source-understanding.js +5 -5
  200. package/dist/src/connectors/connection-recovery-service.js +4 -4
  201. package/dist/src/connectors/content-enrichment.js +1 -1
  202. package/dist/src/connectors/health.js +1 -1
  203. package/dist/src/connectors/instances.js +1 -1
  204. package/dist/src/connectors/runtime-adapter-registry.js +2 -2
  205. package/dist/src/discussions/live-worker.js +1 -1
  206. package/dist/src/discussions/sealer.js +1 -1
  207. package/dist/src/endpoint-tools/index.js +1 -1
  208. package/dist/src/endpoint-tools/runtime.js +2 -2
  209. package/dist/src/execution-environments/local-worktree-manager.js +1 -1
  210. package/dist/src/extensions/activation-context.js +3 -3
  211. package/dist/src/extensions/agent-plugins/auth.js +1 -1
  212. package/dist/src/extensions/agent-plugins/skill-catalog.js +3 -3
  213. package/dist/src/extensions/agent-plugins/source-http-fetch.js +1 -1
  214. package/dist/src/extensions/agent-plugins/validation.js +1 -1
  215. package/dist/src/extensions/api.js +3 -3
  216. package/dist/src/extensions/bundled-extension-activation.js +1 -1
  217. package/dist/src/extensions/index.js +3 -3
  218. package/dist/src/extensions/loader.js +2 -2
  219. package/dist/src/extensions/lockfile.js +1 -1
  220. package/dist/src/extensions/sdk/index.js +1 -1
  221. package/dist/src/extensions/sdk/media.js +1 -1
  222. package/dist/src/gateway/agents-admin.js +2 -2
  223. package/dist/src/gateway/device-routes.js +1 -1
  224. package/dist/src/gateway/file-path-classifier.js +1 -1
  225. package/dist/src/gateway/global-defaults-admin.js +1 -1
  226. package/dist/src/gateway/hono/app.js +2 -2
  227. package/dist/src/gateway/hono/lib/config-payload.js +2 -2
  228. package/dist/src/gateway/hono/oauth-async.js +1 -1
  229. package/dist/src/gateway/hono/routes/agent-plugins.js +1 -1
  230. package/dist/src/gateway/hono/routes/agents.js +1 -1
  231. package/dist/src/gateway/hono/routes/auth-registry-extensions.js +1 -1
  232. package/dist/src/gateway/hono/routes/commands-skills.js +4 -4
  233. package/dist/src/gateway/hono/routes/config-patch/gateway.js +1 -1
  234. package/dist/src/gateway/hono/routes/config-patch/misc.js +1 -1
  235. package/dist/src/gateway/hono/routes/connectors.js +1 -1
  236. package/dist/src/gateway/hono/routes/context-sources.js +1 -1
  237. package/dist/src/gateway/hono/routes/endpoint-tools.js +1 -1
  238. package/dist/src/gateway/hono/routes/home.js +1 -1
  239. package/dist/src/gateway/hono/routes/location-sharing.js +1 -1
  240. package/dist/src/gateway/hono/routes/mcp.js +1 -1
  241. package/dist/src/gateway/hono/routes/memory-learning.js +3 -3
  242. package/dist/src/gateway/hono/routes/models.js +16 -9
  243. package/dist/src/gateway/hono/routes/notes.js +3 -3
  244. package/dist/src/gateway/hono/routes/phone-dependencies.js +1 -1
  245. package/dist/src/gateway/hono/routes/phone-setup.js +3 -2
  246. package/dist/src/gateway/hono/routes/phone.js +3 -2
  247. package/dist/src/gateway/hono/routes/projects.js +5 -5
  248. package/dist/src/gateway/hono/routes/runtime-tools.js +1 -1
  249. package/dist/src/gateway/hono/routes/session-command-handler.js +2 -2
  250. package/dist/src/gateway/hono/routes/session-input-handler.js +5 -5
  251. package/dist/src/gateway/hono/routes/sessions.js +3 -3
  252. package/dist/src/gateway/hono/routes/shares.js +1 -1
  253. package/dist/src/gateway/hono/routes/side-chats.js +1 -1
  254. package/dist/src/gateway/hono/routes/tasks.js +2 -2
  255. package/dist/src/gateway/hono/routes/user-model.js +7 -7
  256. package/dist/src/gateway/hono/routes/voice.js +7 -7
  257. package/dist/src/gateway/image-generation-setup.js +1 -1
  258. package/dist/src/gateway/lock.js +11 -11
  259. package/dist/src/gateway/media-access.js +1 -1
  260. package/dist/src/gateway/mobile-privacy.js +2 -2
  261. package/dist/src/gateway/ports.js +6 -6
  262. package/dist/src/gateway/provider-model-setup.js +1 -1
  263. package/dist/src/gateway/server.js +1 -1
  264. package/dist/src/gateway/service/agent-runner.js +2 -2
  265. package/dist/src/gateway/service/config-coordinator.js +2 -2
  266. package/dist/src/gateway/service/marketplace-service.js +2 -2
  267. package/dist/src/gateway/service/run-gateway-agent.js +6 -7
  268. package/dist/src/gateway/service/session-command-service.js +2 -2
  269. package/dist/src/gateway/service/session-input-coordinator.js +1 -1
  270. package/dist/src/gateway/service.js +47 -47
  271. package/dist/src/gateway/session-context-summary.js +4 -4
  272. package/dist/src/gateway/session-reset-service.js +1 -1
  273. package/dist/src/gateway/workspace-editor-path.js +2 -2
  274. package/dist/src/gateway/xopc-cloud-capability-setup.js +5 -2
  275. package/dist/src/home-intelligence/generator.js +2 -2
  276. package/dist/src/imports/importService.js +1 -1
  277. package/dist/src/imports/inventory.js +2 -2
  278. package/dist/src/imports/productImport.js +1 -1
  279. package/dist/src/imports/runtime.js +1 -1
  280. package/dist/src/infra/gateway-processes.js +2 -2
  281. package/dist/src/infra/path-env.js +3 -3
  282. package/dist/src/infra/update-global.js +9 -9
  283. package/dist/src/knowledge/connected-knowledge-pipeline.js +1 -1
  284. package/dist/src/knowledge/index.js +1 -1
  285. package/dist/src/knowledge-memory/repository.js +1 -1
  286. package/dist/src/knowledge-memory/usage-policy.js +1 -1
  287. package/dist/src/local-apps/service.js +3 -3
  288. package/dist/src/mcp/gateway-http-client.js +1 -1
  289. package/dist/src/media-understanding/openai-compatible-audio.js +1 -1
  290. package/dist/src/memory-learning/source-learning.js +5 -5
  291. package/dist/src/memory-learning/task-receipts.js +1 -1
  292. package/dist/src/notes/agent-context.js +4 -4
  293. package/dist/src/notes/index.js +1 -1
  294. package/dist/src/notes/service.js +3 -3
  295. package/dist/src/observability/runtime.d.ts +2 -0
  296. package/dist/src/observability/runtime.js +12 -1
  297. package/dist/src/personal-agent/capability-service.js +2 -2
  298. package/dist/src/personal-agent/proactivity/routes.js +1 -1
  299. package/dist/src/personal-agent/proactivity/service.js +7 -7
  300. package/dist/src/personal-agent/prompt-context.js +7 -7
  301. package/dist/src/personal-agent/prompts.js +2 -2
  302. package/dist/src/personal-agent/reply-composer.js +9 -9
  303. package/dist/src/personal-agent/request-delivery.js +2 -2
  304. package/dist/src/personal-agent/request-service.js +7 -7
  305. package/dist/src/personal-agent/result-reader.js +1 -1
  306. package/dist/src/personal-agent/service.js +2 -2
  307. package/dist/src/phone/contracts.d.ts +2 -0
  308. package/dist/src/phone/contracts.js +1 -0
  309. package/dist/src/phone/model-adapter.d.ts +1 -1
  310. package/dist/src/phone/model-adapter.js +30 -7
  311. package/dist/src/phone/model-policy.d.ts +4 -0
  312. package/dist/src/phone/model-policy.js +30 -0
  313. package/dist/src/phone/repository.js +1 -1
  314. package/dist/src/phone/runtime.js +4 -4
  315. package/dist/src/phone/structured-model.d.ts +6 -0
  316. package/dist/src/phone/structured-model.js +87 -0
  317. package/dist/src/projects/index.js +2 -2
  318. package/dist/src/projects/project-agent-suggestion.js +1 -1
  319. package/dist/src/projects/project-service.js +2 -2
  320. package/dist/src/projects/project-skill-service.js +2 -2
  321. package/dist/src/projects/workspace.js +1 -1
  322. package/dist/src/providers/model-catalog-types.d.ts +1 -1
  323. package/dist/src/providers/model-reference-auditor.js +3 -2
  324. package/dist/src/providers/presentation.js +5 -3
  325. package/dist/src/realtime/runtime.js +1 -1
  326. package/dist/src/remote-access/exposure-manager.js +1 -1
  327. package/dist/src/runtime-tools/archive.js +1 -1
  328. package/dist/src/runtime-tools/phone-dependencies.js +2 -2
  329. package/dist/src/session/index.js +2 -2
  330. package/dist/src/session/init-session-turn.js +1 -1
  331. package/dist/src/session/resolve-session.js +1 -1
  332. package/dist/src/session/store.js +5 -5
  333. package/dist/src/session/thinking-resolve.js +1 -1
  334. package/dist/src/share/hosted-session-share.js +2 -2
  335. package/dist/src/share/session-share-service.js +1 -1
  336. package/dist/src/share/share-store.js +1 -1
  337. package/dist/src/share/share-thumbnail.js +1 -1
  338. package/dist/src/share/site-proxy.js +1 -1
  339. package/dist/src/share/site-share-store.js +1 -1
  340. package/dist/src/storage/sqlite/connection.js +9 -9
  341. package/dist/src/storage/sqlite/schema.d.ts +2 -2
  342. package/dist/src/storage/sqlite/schema.js +7 -7
  343. package/dist/src/storage/sqlite/upgrades/261_session_input_task_origins.sql +6 -0
  344. package/dist/src/tasks/capabilities/read.js +2 -2
  345. package/dist/src/tasks/capabilities/write.js +2 -2
  346. package/dist/src/tasks/home-query-service.js +1 -1
  347. package/dist/src/tasks/index.js +5 -5
  348. package/dist/src/tasks/task-allocation-service.js +5 -5
  349. package/dist/src/tasks/task-application-service.js +5 -5
  350. package/dist/src/tasks/task-collaboration-delivery.js +1 -1
  351. package/dist/src/tasks/task-context-assembler.js +2 -2
  352. package/dist/src/tasks/task-contract-planner.js +2 -2
  353. package/dist/src/tasks/task-handoff-service.js +1 -1
  354. package/dist/src/tasks/task-handoff.js +4 -4
  355. package/dist/src/tasks/task-main-update-decision-service.js +3 -3
  356. package/dist/src/tasks/task-model-call.js +1 -1
  357. package/dist/src/tasks/task-research-result.js +4 -4
  358. package/dist/src/tasks/task-result-delivery-repository.js +1 -1
  359. package/dist/src/tasks/task-result-delivery-service.js +2 -2
  360. package/dist/src/tasks/task-run-coordinator.js +3 -3
  361. package/dist/src/tasks/task-run-dispatcher.js +1 -1
  362. package/dist/src/tui/backends/embedded-backend.js +12 -12
  363. package/dist/src/tui/backends/gateway-realtime-backend.js +2 -2
  364. package/dist/src/tui/extension-host/load-extensions.js +1 -1
  365. package/dist/src/tui/tui-commands.js +5 -5
  366. package/dist/src/tui/tui-picker-overlay.js +1 -1
  367. package/dist/src/tui/tui-skills-autocomplete.js +1 -1
  368. package/dist/src/tui/tui-startup-resources.js +3 -3
  369. package/dist/src/tui/tui.js +4 -4
  370. package/dist/src/tunnel/gateway-lifecycle.js +1 -1
  371. package/dist/src/user-context/access-policy.js +2 -2
  372. package/dist/src/user-model/bootstrap.js +1 -1
  373. package/dist/src/user-model/capture/executor.js +1 -1
  374. package/dist/src/user-model/index.js +2 -2
  375. package/dist/src/user-model/usage-policy.js +1 -1
  376. package/dist/src/voice/platform-catalog.d.ts +1 -1
  377. package/dist/src/voice/realtime/memory-context.js +5 -5
  378. package/dist/src/voice/realtime/omniRoute.js +1 -1
  379. package/dist/src/voice/realtime/persona-context.js +1 -1
  380. package/dist/src/voice/realtime/runtime.js +4 -4
  381. package/dist/src/voice/stt/index.js +2 -2
  382. package/dist/src/voice/stt/preflight.js +1 -1
  383. package/dist/src/voice/stt/providers/alibaba-transcription.js +1 -1
  384. package/dist/src/voice/stt/providers/bailian-plan-transcription.js +1 -1
  385. package/dist/src/voice/stt/providers/xopc-cloud-transcription.js +1 -1
  386. package/dist/src/voice/stt/transcribe-core.js +1 -1
  387. package/dist/src/voice/tts/index.js +3 -3
  388. package/dist/src/voice/tts/merge-config.js +1 -1
  389. package/dist/src/voice/tts/payload.js +1 -1
  390. package/dist/src/voice/tts/providers/bailian-plan-speech.js +1 -1
  391. package/dist/src/voice/tts/providers/xopc-cloud-speech.js +1 -1
  392. package/dist/src/voice/tts/speak-core.js +1 -1
  393. package/dist/src/work-discovery/service.js +7 -7
  394. package/package.json +1 -1
  395. package/dist/gateway/static/root/assets/model-selector-DJSVr3LM.js +0 -1
  396. package/dist/gateway/static/root/assets/phone-model-picker-CU37sziM.js +0 -1
@@ -1,5 +1,5 @@
1
1
  const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/mcp-conversation-setup-page-Dwx4TuIr.js","assets/rolldown-runtime-aKtaBQYM.js","assets/vendor-react-BOUWij0V.js","assets/chunk-KS7C4IRE-CiwuuyV8.js","assets/preload-helper-Czpn1I53.js","assets/locale-store-B7y-RVe8.js","assets/messages-DYDkJvXj.js","assets/dist-BGTk37IG.js","assets/es2015-DBLcMg5B.js","assets/dist-CxGUk8J-.js","assets/check-DUBLcKHA.js","assets/createLucideIcon-DPHK1VkS.js","assets/secret-input-Dryrns2s.js","assets/circle-check-C23XjkUj.js","assets/copy-Dv6d4Dvw.js","assets/eye-CABVeTq0.js","assets/loader-circle-CifKLtgG.js","assets/cn-0WouolD0.js","assets/bundle-mjs-rHxsej31.js","assets/copy-to-clipboard-HOJ79TWv.js","assets/interaction-BdhHBbYa.js","assets/form-field-width-DJw_jULe.js","assets/is-masked-secret-DOkL5b_X.js","assets/key-round-DWbpyU2U.js","assets/link-2-D_ZKYUW7.js","assets/lock-keyhole-DEK5kH0u.js","assets/x-B_N4OPjy.js","assets/skeleton-BI5TyibZ.js","assets/vendor-swr-CdRzEUwF.js","assets/button-Cc4hUNTt.js","assets/chat-terminal-dock-CQMuG-Bz.js","assets/plus-Q2yW6OE7.js","assets/square-terminal-K87bylpZ.js","assets/session-api-DVXLCZX2.js","assets/schemas-CCWMleym.js","assets/gateway-startup-retry-BsU5k8oi.js","assets/session-manager-DjRWxXJG.js","assets/constants-DBtMsXdW.js","assets/local-session-drafts-nRGeybku.js","assets/tool-activity-BtJkgjFf.js","assets/personal-proactivity-DaRnbB1f.js","assets/attachment-utils-core-BIOUBrpT.js","assets/gateway-realtime-CSd9VB7Z.js","assets/gateway-realtime-store-Bxkv62qs.js","assets/registry-api-QZEjziDq.js","assets/agents-admin-api-Bgv4lJ9Y.js","assets/gateway-config-swr-BD4Bf8uu.js","assets/sliding-tab-list-DuQyViqe.js","assets/sliding-indicator-hwz0sx3h.js","assets/terminal-panel-store-BGdKE9hU.js","assets/chat-terminal-dock-uQUnjRtf.css"])))=>i.map(i=>d[i]);
2
- import{i as e,n as t}from"./rolldown-runtime-aKtaBQYM.js";import{a as n,i as r,n as i,t as a}from"./vendor-react-BOUWij0V.js";import{t as o}from"./preload-helper-Czpn1I53.js";import{f as s,l as c,m as l,t as u,u as d}from"./chunk-KS7C4IRE-CiwuuyV8.js";import{a as f,i as p,l as m,n as h,o as g,p as _,u as v}from"./locale-store-B7y-RVe8.js";import{t as y}from"./messages-DYDkJvXj.js";import{a as b,c as x,i as S,n as C,o as w,r as T,s as E,t as D}from"./dist-BGTk37IG.js";import{t as O}from"./createLucideIcon-DPHK1VkS.js";import{t as k}from"./app-window-DXFNqt_0.js";import{t as A}from"./archive-Dz0hferG.js";import{t as j}from"./arrow-left-D880xG-P.js";import{t as M}from"./arrow-up-D5ZtR1QT.js";import{a as N,c as P,d as F,f as I,l as L,s as R,t as z,u as B}from"./product-automation-feedback-BzY3z8zu.js";import{t as ee}from"./book-open-CCGtrT3R.js";import{t as V}from"./bot-DjLkhyZL.js";import{t as H}from"./check-DUBLcKHA.js";import{t as te}from"./chevron-down-ccbiQQz_.js";import{t as U}from"./chevron-right-BweFrslA.js";import{i as W,r as ne,t as re}from"./working-directory-picker-modal-Dv1HUipe.js";import{a as ie,d as ae,n as oe,o as se,r as G,t as K}from"./popover-select-CEMWIrtY.js";import{t as ce}from"./circle-alert-BEjgurr2.js";import{i as le,r as q,t as ue}from"./new-chat-navigation-B6NPQ4h4.js";import{t as de}from"./circle-x-DFsCKeya.js";import{t as fe}from"./circle-BoO4YvTx.js";import{i as pe,n as me,r as he,t as ge}from"./file-tree-utils-DJs1faGv.js";import{t as _e}from"./copy-Dv6d4Dvw.js";import{t as ve}from"./database-CjjeZfRG.js";import{t as ye}from"./earth-BMhZtzcj.js";import{t as be}from"./ellipsis-0k4rZLoy.js";import{t as xe}from"./external-link-DjqjBmc3.js";import{n as Se,t as Ce}from"./file-BqMS_3DT.js";import{t as we}from"./file-image-CDUPkZvG.js";import{t as Te}from"./file-text-D12HbeVy.js";import{t as Ee}from"./folder-kanban-CpLlFI1o.js";import{t as De}from"./folder-open-CyzJ19I9.js";import{t as Oe}from"./folder-CN-pC3XL.js";import{i as ke,r as Ae,u as je,x as Me}from"./use-file-preview-expanded-DFzy6iVy.js";import{t as Ne}from"./git-branch-Dh9uxTot.js";import{t as Pe}from"./globe-DSSGFWFn.js";import{t as Fe}from"./history-DXH_9jsE.js";import{F as Ie,I as Le,P as Re,c as ze,g as Be,o as Ve,t as He,v as Ue}from"./notes-api-ulup1oFS.js";import{t as We}from"./key-round-DWbpyU2U.js";import{t as Ge}from"./laptop-CI3hBVrl.js";import{t as Ke}from"./link-2-D_ZKYUW7.js";import{t as qe}from"./list-checks-BbsExAoq.js";import{t as Je}from"./list-todo-CTVRto8O.js";import{t as Ye}from"./loader-circle-CifKLtgG.js";import{A as Xe,B as Ze,C as Qe,D as $e,F as et,P as tt,R as nt,S as rt,T as it,_ as at,b as ot,c as st,d as ct,f as lt,g as ut,h as dt,l as ft,m as pt,n as mt,p as ht,r as gt,u as _t,v as vt,w as yt,y as bt}from"./markdown-view-DFHa8rUg.js";import{t as xt}from"./messages-square-BckAJrEW.js";import{t as St}from"./mic-CuUb7zc-.js";import{t as Ct}from"./monitor-Af5eAvF7.js";import{s as wt,t as Tt}from"./install-connector-dialog-DXVOHMhS.js";import{t as Et}from"./paperclip-f1HujQY1.js";import{t as Dt}from"./pause-DuPxgSxk.js";import{t as Ot}from"./pencil-DmIY3Oa-.js";import{t as kt}from"./play-kxZvpBg8.js";import{t as At}from"./plus-Q2yW6OE7.js";import{t as jt}from"./refresh-cw-BRlGaq2w.js";import{t as Mt}from"./rotate-ccw-JM1TBLpp.js";import{t as Nt}from"./save-DRDABU--.js";import{t as Pt}from"./search-DA7gz22f.js";import{t as Ft}from"./settings-2-D-csvaET.js";import{t as It}from"./settings-uiTATseT.js";import{t as Lt}from"./shield-check-BU58siTV.js";import{t as Rt}from"./smartphone-DSSsQFqA.js";import{t as zt}from"./sparkles-DHlfQFAF.js";import{t as Bt}from"./square-DMK_fB-3.js";import{t as Vt}from"./trash-2-DusmjVPV.js";import{t as Ht}from"./triangle-alert-2JXFNNKU.js";import{r as Ut,t as Wt}from"./share-link-dialog-C2LyeNzj.js";import{t as Gt}from"./wrench-DFb4r8bH.js";import{t as Kt}from"./x-B_N4OPjy.js";import{t as qt}from"./zap-dximCGjy.js";import{t as J}from"./cn-0WouolD0.js";import{t as Jt}from"./skeleton-BI5TyibZ.js";import{a as Yt,d as Xt,m as Zt,n as Qt,u as $t}from"./schemas-CCWMleym.js";import{t as en}from"./tasks-DRmd6sWt.js";import{i as tn,n as nn,o as rn,s as an,t as on}from"./product-delivery-DRyD9_Xq.js";import{a as sn}from"./local-apps-Ck6kACsY.js";import{a as cn,c as ln,d as un}from"./api-C-9J9ghT.js";import{a as dn,s as fn}from"./session-api-DVXLCZX2.js";import{$ as pn,A as mn,B as hn,C as gn,D as _n,E as vn,F as yn,G as bn,H as xn,I as Sn,J as Cn,L as wn,M as Tn,N as En,O as Dn,P as On,Q as kn,R as An,S as jn,T as Mn,U as Nn,V as Pn,W as Fn,X as In,Y as Ln,Z as Rn,_ as zn,_t as Bn,b as Vn,d as Hn,dt as Un,et as Wn,ft as Gn,g as Kn,gt as qn,h as Jn,ht as Yn,it as Xn,j as Zn,k as Qn,l as $n,lt as er,m as tr,mt as nr,nt as rr,o as ir,ot as ar,pt as or,q as sr,r as cr,st as lr,t as ur,tt as dr,u as fr,ut as pr,v as mr,vt as hr,w as gr,x as _r,y as vr,z as yr}from"./session-manager-DjRWxXJG.js";import{a as br,d as xr,m as Sr,n as Cr,s as wr}from"./local-session-drafts-nRGeybku.js";import{t as Tr}from"./tool-activity-BtJkgjFf.js";import{a as Er,c as Dr,i as Or,l as kr,n as Ar,o as jr,r as Mr,s as Nr,t as Pr}from"./new-session-preferences-gb411vZP.js";import{a as Fr}from"./extension-provider-301x0rh-.js";import{n as Ir}from"./personal-proactivity-DaRnbB1f.js";import{i as Lr}from"./vendor-swr-CdRzEUwF.js";import{c as Rr,h as zr,i as Br,n as Vr,o as Hr,r as Ur,s as Wr,t as Gr,v as Kr}from"./use-composer-attachments-CoiQAgjo.js";import{a as qr}from"./gateway-config-swr-BD4Bf8uu.js";import{t as Jr}from"./chat-agents-api-Cffxfzi1.js";import{a as Yr,c as Xr,i as Zr,r as Qr,s as $r}from"./attachment-utils-core-BIOUBrpT.js";import{n as ei}from"./gateway-realtime-CSd9VB7Z.js";import{n as ti}from"./gateway-realtime-store-Bxkv62qs.js";import{n as ni,t as ri}from"./registry-api-QZEjziDq.js";import{a as ii}from"./agents-admin-api-Bgv4lJ9Y.js";import{t as ai}from"./button-Cc4hUNTt.js";import{s as oi}from"./file-preview-surface-BaMGmCbw.js";import{a as si,i as ci,o as li,r as ui,s as di}from"./dist-GJ8-1PAx.js";import{t as fi}from"./settings-shell-dialog-layer-BU3UuiJr.js";import{t as pi}from"./middleware-Pd0e8Igk.js";import{i as mi,r as hi}from"./app-link-DRy3-k7j.js";import{t as gi}from"./copy-to-clipboard-HOJ79TWv.js";import{a as _i,c as vi,d as yi,f as bi,g as xi,i as Si,m as Ci,n as wi,o as Ti,p as Ei,r as Di,s as Oi}from"./composer-payload-handoff-_9L2A5AZ.js";import{C as ki,D as Ai,E as ji,T as Mi,_ as Ni,b as Pi,c as Fi,d as Ii,f as Li,g as Ri,h as zi,m as Bi,n as Vi,o as Hi,p as Ui,r as Wi,s as Gi,u as Ki,v as qi,w as Ji,x as Yi,y as Xi}from"./chunk-D32TOXHM-DQIy-Baq.js";import{i as Zi,n as Qi,r as $i,t as ea}from"./chat-chart-block-Bbk0b3TV.js";import{n as ta}from"./interaction-BdhHBbYa.js";import{i as na,n as ra,r as ia,t as aa}from"./tool-friendly-title-DcCc6g7o.js";import{s as oa}from"./connectors-api-B07yoCzk.js";import{t as sa}from"./activity-store-WqnVruhY.js";import{n as ca}from"./voice-call-context-BM2A4bLz.js";import{r as la}from"./app-chrome-BeB4KgOf.js";import{i as ua,n as da,r as fa}from"./form-field-width-DJw_jULe.js";import{n as pa}from"./electron-env-DHOGevH3.js";import{t as ma}from"./page-header-store-CoKMiYoi.js";import{t as ha}from"./use-async-resource-BHFGZCY2.js";import{t as ga}from"./loopi-CNtmi9FU.js";import{t as _a}from"./agent-avatar-display-D-yds6wG.js";import{n as va}from"./index.module-Cd9ENXfk.js";import{a as ya,n as ba,r as xa,t as Sa}from"./skill-wire-pattern-BPpeIcCi.js";import{n as Ca,t as wa}from"./use-directory-picker-C4p7AgWY.js";import{t as Ta}from"./confirm-dialog-D7dQJytv.js";import{a as Ea,c as Da,f as Oa,l as ka,s as Aa,u as ja}from"./workspace-api-Am2ee4R6.js";import{a as Ma,i as Na,o as Pa,r as Fa,s as Ia}from"./copy-text-row-CpiRzq4G.js";import{_ as La,b as Ra,d as za,f as Ba,h as Va,i as Ha,n as Ua,p as Wa,s as Ga,u as Ka,y as qa}from"./shares-api-CTFkLQxq.js";import{t as Ja}from"./workspace-editor-agent-store-CqHcVFhS.js";import{l as Ya,m as Xa,o as Za,r as Qa,t as $a,u as eo}from"./dist-ZrL34Ps4.js";import{a as to,c as no,d as ro,f as io,h as ao,i as oo,l as so,m as co,p as lo,s as uo,t as fo,u as po}from"./command-palette-api-BRxfFgGA.js";import{r as mo,t as ho}from"./model-selector-DJSVr3LM.js";import{n as go,o as _o,r as vo,s as yo}from"./voice-input-shortcut-events-AzfhxBX7.js";import{t as bo}from"./dev-view-store-38EmUIEC.js";import{t as xo}from"./extension-iframe-host-BzjrVAUR.js";import{i as So,t as Co}from"./automation-task-card-w6cKxfaP.js";import{i as wo,r as To}from"./api-Dv6Cn-Rs.js";import{r as Eo,t as Do}from"./runtime-health-D2TDFLLq.js";import{r as Oo}from"./terminal-panel-store-BGdKE9hU.js";import{n as ko}from"./agents-app-path-ciChvpCS.js";import{n as Ao,t as jo}from"./agent-display-names-Bje7vfSn.js";import{t as Mo}from"./oauth-provider-connect-C0PVEHC2.js";import{t as No}from"./use-media-query-ady-FgjK.js";import{n as Po,r as Fo,t as Io}from"./oauth-authorization-window-o6URRos4.js";import{n as Lo,t as Ro}from"./page-context-draft-DhRNxc0v.js";import{t as zo}from"./side-chat-shortcut-BIw-1TTD.js";var Bo=O(`arrow-down`,[[`path`,{d:`M12 5v14`,key:`s699le`}],[`path`,{d:`m19 12-7 7-7-7`,key:`1idqje`}]]),Vo=O(`ban`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M4.929 4.929 19.07 19.071`,key:`196cmz`}]]),Ho=O(`circle-question-mark`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`,key:`1u773s`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),Uo=O(`corner-down-right`,[[`path`,{d:`m15 10 5 5-5 5`,key:`qqa56n`}],[`path`,{d:`M4 4v7a4 4 0 0 0 4 4h12`,key:`z08zvw`}]]),Wo=O(`file-headphone`,[[`path`,{d:`M4 6.835V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-.343`,key:`1vfytu`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M2 19a2 2 0 0 1 4 0v1a2 2 0 0 1-4 0v-4a6 6 0 0 1 12 0v4a2 2 0 0 1-4 0v-1a2 2 0 0 1 4 0`,key:`1etmh7`}]]),Go=O(`file-pen-line`,[[`path`,{d:`M14.364 13.634a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506l4.013-4.009a1 1 0 0 0-3.004-3.004z`,key:`ukzhwg`}],[`path`,{d:`M14.487 7.858A1 1 0 0 1 14 7V2`,key:`1klhew`}],[`path`,{d:`M20 19.645V20a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l2.516 2.516`,key:`rxaxab`}],[`path`,{d:`M8 18h1`,key:`13wk12`}]]),Ko=O(`file-plus-corner`,[[`path`,{d:`M11.35 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v5.35`,key:`17jvcc`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M14 19h6`,key:`bvotb8`}],[`path`,{d:`M17 16v6`,key:`18yu1i`}]]),qo=O(`files`,[[`path`,{d:`M15 2h-4a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V8`,key:`14sh0y`}],[`path`,{d:`M16.706 2.706A2.4 2.4 0 0 0 15 2v5a1 1 0 0 0 1 1h5a2.4 2.4 0 0 0-.706-1.706z`,key:`1970lx`}],[`path`,{d:`M5 7a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h8a2 2 0 0 0 1.732-1`,key:`l4dndm`}]]),Jo=O(`git-commit-horizontal`,[[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}],[`line`,{x1:`3`,x2:`9`,y1:`12`,y2:`12`,key:`1dyftd`}],[`line`,{x1:`15`,x2:`21`,y1:`12`,y2:`12`,key:`oup4p8`}]]),Yo=O(`git-fork`,[[`circle`,{cx:`12`,cy:`18`,r:`3`,key:`1mpf1b`}],[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`circle`,{cx:`18`,cy:`6`,r:`3`,key:`1h7g24`}],[`path`,{d:`M18 9v2c0 .6-.4 1-1 1H7c-.6 0-1-.4-1-1V9`,key:`1uq4wg`}],[`path`,{d:`M12 12v3`,key:`158kv8`}]]),Xo=O(`grip-vertical`,[[`circle`,{cx:`9`,cy:`12`,r:`1`,key:`1vctgf`}],[`circle`,{cx:`9`,cy:`5`,r:`1`,key:`hp0tcf`}],[`circle`,{cx:`9`,cy:`19`,r:`1`,key:`fkjjf6`}],[`circle`,{cx:`15`,cy:`12`,r:`1`,key:`1tmaij`}],[`circle`,{cx:`15`,cy:`5`,r:`1`,key:`19l28e`}],[`circle`,{cx:`15`,cy:`19`,r:`1`,key:`f4zoj3`}]]),Zo=O(`layout-template`,[[`rect`,{width:`18`,height:`7`,x:`3`,y:`3`,rx:`1`,key:`f1a2em`}],[`rect`,{width:`9`,height:`7`,x:`3`,y:`14`,rx:`1`,key:`jqznyg`}],[`rect`,{width:`5`,height:`7`,x:`16`,y:`14`,rx:`1`,key:`q5h2i8`}]]),Qo=O(`list-plus`,[[`path`,{d:`M16 5H3`,key:`m91uny`}],[`path`,{d:`M11 12H3`,key:`51ecnj`}],[`path`,{d:`M16 19H3`,key:`zzsher`}],[`path`,{d:`M18 9v6`,key:`1twb98`}],[`path`,{d:`M21 12h-6`,key:`bt1uis`}]]),$o=O(`message-circle-more`,[[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`,key:`1sd12s`}],[`path`,{d:`M8 12h.01`,key:`czm47f`}],[`path`,{d:`M12 12h.01`,key:`1mp3jc`}],[`path`,{d:`M16 12h.01`,key:`1l6xoz`}]]),es=O(`message-circle-plus`,[[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`,key:`1sd12s`}],[`path`,{d:`M8 12h8`,key:`1wcyev`}],[`path`,{d:`M12 8v8`,key:`napkw2`}]]),ts=O(`message-square-share`,[[`path`,{d:`M12 3H4a2 2 0 0 0-2 2v16.286a.71.71 0 0 0 1.212.502l2.202-2.202A2 2 0 0 1 6.828 19H20a2 2 0 0 0 2-2v-4`,key:`11da1y`}],[`path`,{d:`M16 3h6v6`,key:`1bx56c`}],[`path`,{d:`m16 9 6-6`,key:`m4dnic`}]]),ns=O(`message-square-text`,[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`,key:`18887p`}],[`path`,{d:`M7 11h10`,key:`1twpyw`}],[`path`,{d:`M7 15h6`,key:`d9of3u`}],[`path`,{d:`M7 7h8`,key:`af5zfr`}]]),rs=O(`notebook-pen`,[[`path`,{d:`M13.4 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7.4`,key:`re6nr2`}],[`path`,{d:`M2 6h4`,key:`aawbzj`}],[`path`,{d:`M2 10h4`,key:`l0bgd4`}],[`path`,{d:`M2 14h4`,key:`1gsvsf`}],[`path`,{d:`M2 18h4`,key:`1bu2t1`}],[`path`,{d:`M21.378 5.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z`,key:`pqwjuv`}]]),is=O(`shuffle`,[[`path`,{d:`m18 14 4 4-4 4`,key:`10pe0f`}],[`path`,{d:`m18 2 4 4-4 4`,key:`pucp1d`}],[`path`,{d:`M2 18h1.973a4 4 0 0 0 3.3-1.7l5.454-8.6a4 4 0 0 1 3.3-1.7H22`,key:`1ailkh`}],[`path`,{d:`M2 6h1.972a4 4 0 0 1 3.6 2.2`,key:`km57vx`}],[`path`,{d:`M22 18h-6.041a4 4 0 0 1-3.3-1.8l-.359-.45`,key:`os18l9`}]]),as=O(`square-plus`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M8 12h8`,key:`1wcyev`}],[`path`,{d:`M12 8v8`,key:`napkw2`}]]),os=O(`target`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`circle`,{cx:`12`,cy:`12`,r:`6`,key:`1vlfrh`}],[`circle`,{cx:`12`,cy:`12`,r:`2`,key:`1c9p78`}]]),ss=O(`wallet`,[[`path`,{d:`M19 7V4a1 1 0 0 0-1-1H5a2 2 0 0 0 0 4h15a1 1 0 0 1 1 1v4h-3a2 2 0 0 0 0 4h3a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1`,key:`18etb6`}],[`path`,{d:`M3 5v14a2 2 0 0 0 2 2h15a1 1 0 0 0 1-1v-4`,key:`xoc0q4`}]]);function cs(e,t){return e.replace(/\{\{(\w+)}}/g,(e,n)=>t[n]?.trim()??``).replace(/[ \t]{2,}/g,` `).trim()}function ls(e,t,n){return{id:e,title:cs(t.title,n),prompt:cs(t.prompt,n),reason:cs(t.reason,n)}}function us(e,t){let n={projectName:e.projectName,blockedReason:e.blockedReason,recentFailure:e.recentFailure,nextAction:e.recommendedAction};if(e.blockedReason?.trim())return ls(`project-blocked`,t.recommendations.projectBlocked,n);if(e.recentFailure?.trim())return ls(`project-failure`,t.recommendations.projectFailure,n);if(e.recommendedAction?.trim())return ls(`project-next-action`,t.recommendations.projectNextAction,n)}function ds(e,t){let n={taskTitle:e.taskTitle,attentionSummary:e.attentionSummary,recentFailure:e.recentFailure,nextAction:e.nextAction};if(e.attentionSummary?.trim())return ls(`task-attention`,t.recommendations.taskAttention,n);if(e.recentFailure?.trim())return ls(`task-failure`,t.recommendations.taskFailure,n);if(e.phase===`review`||e.operationalState===`verifying`)return ls(`task-review`,t.recommendations.taskReview,n);if(e.phase===`closed`)return ls(`task-closed`,t.recommendations.taskClosed,n);if(e.nextAction?.trim())return ls(`task-next-action`,t.recommendations.taskNextAction,n)}function fs(e,t){switch(e.kind){case`project`:return us(e,t);case`task`:return ds(e,t);default:return}}function ps(e,t,n={}){let r=n.contextStatus??`ready`;return{headline:e.kind===`project`&&t.projectHeadline?cs(t.projectHeadline,{projectName:e.projectName}):t.headline,contextKind:e.kind,contextStatus:r,recommendation:r===`ready`?fs(e,t):void 0}}var ms=Xt({id:Zt().uuid(),conversationId:Zt(),transcriptId:Zt(),sourceRunId:Zt(),inputRevision:$t().int().nonnegative(),transcriptCursor:$t().int().nonnegative(),agentId:Zt(),locale:Qt([`zh`,`en`]),prompt:Zt().min(1).max(160),expiresAt:$t()}),hs=Xt({status:Qt([`ready`,`pending`,`none`]),suggestion:ms.optional()});Xt({suggestionId:Zt().uuid(),impressionId:Zt().uuid(),event:Qt([`shown`,`accepted`,`dismissed`,`submitted`]),edited:Yt().optional()}).strict();function gs(e,t,n){for(let r of[n,t])if(e.options.includes(r))return r;return e.initialValue}function _s(e,t=`body`){return`result:${encodeURIComponent(e)}:${encodeURIComponent(t)}`}function vs(e){return`${e.taskRunId}:${e.assignmentEpoch}:${e.outcome.outcomeId}`}var ys=e(r(),1),Y=i(),X=a(),Z=e(n(),1);function bs(e,t){return e?[`task-detail`,e,t??``]:null}function xs(e,t){return t.source!==`user`||e===void 0||t.version>e}function Ss(e){let t=m(e=>e.conversationId),[n,r]=(0,Z.useState)(null),[i,a]=(0,Z.useState)(!1),[o,s]=(0,Z.useState)(null),c=(0,Z.useRef)(``),l=(0,Z.useRef)(void 0),u=Lr(bs(e,t),()=>Kr(e),{keepPreviousData:!1,revalidateOnFocus:!0,revalidateOnReconnect:!0,refreshInterval:e=>e&&[`allocating`,`queued`,`running`,`waiting`,`verifying`].includes(e.operationalState)?5e3:0});return l.current=u.data?.task.version,(0,Z.useEffect)(()=>{r(null),a(!1),s(null),c.current=``},[e]),(0,Z.useEffect)(()=>{let t=u.data;if(!t||t.conversation.activeConversationId||t.allocation&&t.allocation.status!==`assigned`)return;let n=`${e}:${t.task.version}`;c.current!==n&&(c.current=n,a(!0),s(null),zr(e).then(()=>c.current===n?u.mutate():void 0).catch(e=>{c.current===n&&s(e)}).finally(()=>{c.current===n&&a(!1)}))},[u.data,u.mutate,e]),(0,Z.useEffect)(()=>{let t,n=()=>{window.clearTimeout(t),t=window.setTimeout(()=>void u.mutate(),120)},i=t=>{let i=en.safeParse(t.detail);!i.success||i.data.taskId!==e||xs(l.current,i.data)&&(r(i.data),n())},a=()=>n();return window.addEventListener(`task-changed-v2`,i),window.addEventListener(`gateway-realtime-connected`,a),window.addEventListener(`realtime-gap`,a),()=>{window.clearTimeout(t),window.removeEventListener(`task-changed-v2`,i),window.removeEventListener(`gateway-realtime-connected`,a),window.removeEventListener(`realtime-gap`,a)}},[u.mutate,e]),{...u,lastChange:n,conversationLoading:i,conversationError:o}}var Cs=new Map,ws=new Set;function Ts(e,t){Cs.set(e,t);for(let e of ws)e();return()=>{Cs.get(e)===t&&Cs.delete(e)}}async function Es(e,t,n){await(Cs.get(e)??await new Promise((t,n)=>{let r=()=>{let n=Cs.get(e);n&&(clearTimeout(i),ws.delete(r),t(n))},i=setTimeout(()=>{ws.delete(r),n(Error(`Chat input is not ready. Please retry.`))},15e3);ws.add(r),r()}))(t,n)}var Ds=crypto.randomUUID(),Os=e=>e===`closed`;function ks(e,t){let n=e,r=n?.code??n?.body?.error?.code,i={PHONE_CONTROL_BUSY:`另一设备正在操作手机,请等待其结束控制。`,PHONE_DEVICE_BUSY:`手机正被其他聊天或人工操作占用,本次操作尚未开始。请查看当前任务,等待或明确停止后再试。`,PHONE_OBSERVE_ONLY:`此入口仅支持查看手机画面,请在来源聊天中操作或接管手机。`,PHONE_CONTROL_CHANGED:`手机控制权已变化,本次操作未继续。请查看最新状态后重新接管。`,PHONE_CONTROL_REQUIRED:`当前窗口没有手机操作权,请先接管手机。`,PHONE_CONTROL_STALE:`手机控制状态已更新,请等待状态刷新后再操作。`,PHONE_DISPATCH_UNKNOWN:`上一条手机输入的结果尚未确认,请先检查手机,避免重复执行。`,PHONE_FRAME_STALE:`手机画面已变化,请等待新画面后再操作。`,PHONE_APP_DENIED:`当前页面不在授权应用范围内,请返回授权应用。`,PHONE_SESSION_NOT_FOUND:`手机连接或来源聊天已变化,请刷新手机面板。`,PHONE_PAUSED:`手机任务已暂停,请检查手机状态并明确交回控制权后继续。`,PHONE_DEVICE_OFFLINE:`手机暂未连接,任务进度已保留。请连接手机后重试。`,PHONE_BINDING_CHANGED:`手机或 Agent 设置已变化,任务进度已保留。请检查设备和模型设置后重试。`,PHONE_ASSISTANCE_CHANGED:`待接管任务已更新,请刷新状态后操作。`};return t&&r&&i[r]?i[r]:n?.message??(t?`无法完成手机操作,请检查连接状态。`:`Phone operation failed. Check the connection.`)}var As=e=>`/api/phone/conversations/${encodeURIComponent(e)}`,js=new Map,Ms=()=>{let e=m.getState();return`${e.baseUrl}:${e.conversationId}`};function Ns(e,t,n=Ms()){let r=`${n}:${e}`,i=js.get(r);return t&&i&&t.report.sessionId===i.report.sessionId&&(t.report.revision??0)<(i.report.revision??0)?i:(t?(js.set(r,t),js.size>100&&js.delete(js.keys().next().value)):js.delete(r),t)}async function Ps(e,t=Ms()){let n=await f(p(e)),r=decodeURIComponent(e.split(`/conversations/`)[1]?.split(`?`)[0]??``);if(n.status===404)return Ns(r,null,t);if((n.status===401||n.status===403)&&Ns(r,null,t),!n.ok)throw Object.assign(Error(`Phone view unavailable (HTTP ${n.status})`),{status:n.status});return Ns(r,(await n.json()).payload,t)}function Fs(e,t){let n=(0,Y.c)(5),r=t===void 0||t,i=m(Rs),a;n[0]!==e||n[1]!==r||n[2]!==i?(a=r&&/^(?:device:)?[\da-f]{8}-[\da-f-]{27}$/i.test(e)?[`${As(e)}?clientId=${Ds}`,i]:null,n[0]=e,n[1]=r,n[2]=i,n[3]=a):a=n[3];let o;return n[4]===Symbol.for(`react.memo_cache_sentinel`)?(o={refreshInterval:1200,revalidateOnFocus:!0,shouldRetryOnError:Is,errorRetryCount:6,errorRetryInterval:2e3,refreshWhenHidden:!1},n[4]=o):o=n[4],Lr(a,Ls,o)}function Is(e){return e.status!==401&&e.status!==403}function Ls(e){let[t,n]=e;return Ps(t,n)}function Rs(e){return`${e.baseUrl}:${e.conversationId}`}async function zs(e,t,n,r={},i=!1){let a=Ms();return Ns(e,(await g(p(`${As(e)}/${t.report.sessionId}/control`),{method:`POST`,keepalive:i,body:JSON.stringify({expectedTranscriptId:t.report.transcriptId,clientId:Ds,assistanceId:t.report.assistanceId,assistanceVersion:t.report.assistanceVersion,operationId:crypto.randomUUID(),epoch:t.report.controlEpoch,op:n,...r})})).payload,a)}async function Bs(e,t,n){let r=await f(p(`${As(e)}/${t}/frame`),{signal:n});if(!r.ok){let e=await r.json().catch(()=>({}));throw Object.assign(Error(e.error?.message??`HTTP ${r.status}`),{status:r.status,code:e.error?.code})}return{blob:await r.blob(),seq:Number(r.headers.get(`X-Phone-Frame-Seq`)),capturedAt:Number(r.headers.get(`X-Phone-Captured-At`)),width:Number(r.headers.get(`X-Phone-Width`)),height:Number(r.headers.get(`X-Phone-Height`))}}function Vs(e,t,n,r,i){let a=Math.min(e.width/t,e.height/n),o=t*a,s=n*a,c=r-e.left-(e.width-o)/2,l=i-e.top-(e.height-s)/2;return!a||c<0||l<0||c>o||l>s?null:[Math.round(c/o*1e3),Math.round(l/s*1e3)]}async function Hs(e,t,n,r=!1){return(await g(p(`${As(e)}/${t.report.sessionId}/execution-mode`),{method:`POST`,body:JSON.stringify({executionMode:n,applyCurrent:r,epoch:t.report.controlEpoch,clientId:Ds})})).payload}function Us(e,t){if(!t.assistanceId||![`needs_user`,`paused`].includes(t.status))return null;let n=m.getState();return JSON.stringify([n.baseUrl,n.conversationId,e,t.transcriptId,t.assistanceId,t.assistanceVersion??1])}var Ws=_(pi(e=>({seen:[],markSeen:t=>e(e=>e.seen.includes(t)?e:{seen:[...e.seen.slice(-99),t]})}),{name:`xopc-phone-attention-v1`}));function Gs(e){let t=(0,Y.c)(15),{detail:n,language:r}=e,i;t[0]===n?i=t[1]:(i=xi(n),t[0]=n,t[1]=i);let a=i,o=r===`zh`,s=a.receipt?.status===`failed`?o?`最近一轮执行失败`:`Latest run failed`:a.receipt?.status===`cancelled`?o?`最近一轮执行已取消`:`Latest run canceled`:a.receipt?o?`最近一轮执行已结束`:`Latest run ended`:o?`尚无本版任务的执行结果`:`No run result for this task version`,c=o?`执行、验收与交付`:`Execution, acceptance and delivery`,l=n.task.phase===`closed`?``:o?`;任务仍未关闭`:`; task remains open`,u;t[2]!==s||t[3]!==l?(u=(0,X.jsxs)(`p`,{children:[s,l]}),t[2]=s,t[3]=l,t[4]=u):u=t[4];let d=o?`验收:${a.verified}/${a.criteria} 项通过`:`Acceptance: ${a.verified}/${a.criteria} criteria passed`,f=a.criteria===0?o?`,尚未定义验收标准`:`; criteria not defined`:``,p;t[5]!==d||t[6]!==f?(p=(0,X.jsxs)(`p`,{children:[d,f]}),t[5]=d,t[6]=f,t[7]=p):p=t[7];let m=a.deliverables>0?o?`已关联交付物:${a.deliverables} 项`:`Linked deliverables: ${a.deliverables}`:o?`尚无正式交付物`:`No formal deliverables linked`,h;t[8]===m?h=t[9]:(h=(0,X.jsx)(`p`,{children:m}),t[8]=m,t[9]=h);let g;return t[10]!==c||t[11]!==u||t[12]!==p||t[13]!==h?(g=(0,X.jsxs)(`div`,{className:`mt-3 space-y-1 border-t border-edge-subtle pt-3 text-xs leading-5 text-fg-muted`,"aria-label":c,children:[u,p,h]}),t[10]=c,t[11]=u,t[12]=p,t[13]=h,t[14]=g):g=t[14],g}var Ks=(0,Z.memo)(function(e){let t=(0,Y.c)(58),{taskId:n}=e,r=c(),i=h(qs),a;t[0]===i?a=t[1]:(a=yi(i),t[0]=i,t[1]=a);let o=a,{data:s}=Ss(n);if(!s)return null;let{task:l,operationalState:d}=s,f,p,m,g;if(t[2]!==o.noDecisionNeeded||t[3]!==s||t[4]!==d||t[5]!==l.phase){let e=bi(s);m=s.attention.length>0;let n;t[10]!==d||t[11]!==l.phase?(n=l.phase!==`closed`&&[`queued`,`running`,`verifying`].includes(d),t[10]=d,t[11]=l.phase,t[12]=n):n=t[12],p=n,f=m?s.attention[0]?.summary??e?.nextAction??e?.summary:l.phase===`closed`?e?.summary:e?.nextAction??e?.summary??o.noDecisionNeeded,g=e?.evidence.filter(Js).length??0,t[2]=o.noDecisionNeeded,t[3]=s,t[4]=d,t[5]=l.phase,t[6]=f,t[7]=p,t[8]=m,t[9]=g}else f=t[6],p=t[7],m=t[8],g=t[9];let _=g,v=o.taskProgress.title,y;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,X.jsx)(os,{className:`size-4`,"aria-hidden":!0}),t[13]=y):y=t[13];let b;t[14]===p?b=t[15]:(b=p?(0,X.jsx)(`span`,{className:`absolute -right-0.5 -top-0.5 size-2.5 rounded-full border-2 border-surface-panel bg-accent motion-safe:animate-pulse`}):null,t[14]=p,t[15]=b);let x;t[16]===b?x=t[17]:(x=(0,X.jsxs)(`span`,{className:`relative mt-0.5 flex size-8 shrink-0 items-center justify-center rounded-full bg-accent-soft text-accent-fg`,children:[y,b]}),t[16]=b,t[17]=x);let S;t[18]===o.taskProgress.title?S=t[19]:(S=(0,X.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:o.taskProgress.title}),t[18]=o.taskProgress.title,t[19]=S);let C;t[20]===s?C=t[21]:(C=J(`rounded-full border px-1.5 py-0.5 text-[10px] font-medium`,Ci(Ei(s))),t[20]=s,t[21]=C);let w=o.detailStatuses[Ei(s)],T;t[22]!==C||t[23]!==w?(T=(0,X.jsx)(`span`,{className:C,children:w}),t[22]=C,t[23]=w,t[24]=T):T=t[24];let E;t[25]!==o.taskProgress.evidence||t[26]!==_?(E=_>0?(0,X.jsxs)(`span`,{className:`text-[11px] text-fg-muted`,children:[_,` `,o.taskProgress.evidence]}):null,t[25]=o.taskProgress.evidence,t[26]=_,t[27]=E):E=t[27];let D;t[28]!==T||t[29]!==E||t[30]!==S?(D=(0,X.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[S,T,E]}),t[28]=T,t[29]=E,t[30]=S,t[31]=D):D=t[31];let O;t[32]===l.title?O=t[33]:(O=(0,X.jsx)(`p`,{className:`mt-1 text-sm font-medium leading-5 text-fg`,children:l.title}),t[32]=l.title,t[33]=O);let k;t[34]===f?k=t[35]:(k=f?(0,X.jsx)(`p`,{className:`mt-1 line-clamp-2 text-xs leading-5 text-fg-muted`,children:f}):null,t[34]=f,t[35]=k);let A;t[36]!==D||t[37]!==O||t[38]!==k?(A=(0,X.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[D,O,k]}),t[36]=D,t[37]=O,t[38]=k,t[39]=A):A=t[39];let j=`${r.pathname}${r.search}`,M;t[40]!==j||t[41]!==l.id?(M=et(j,l.id),t[40]=j,t[41]=l.id,t[42]=M):M=t[42];let N=m?o.taskProgress.decide:o.taskProgress.open,P;t[43]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,X.jsx)(xe,{className:`size-3.5`,"aria-hidden":!0}),t[43]=P):P=t[43];let F;t[44]!==M||t[45]!==N?(F=(0,X.jsxs)(u,{to:M,className:`inline-flex shrink-0 items-center gap-1 rounded-md px-2 py-1.5 text-xs font-medium text-accent hover:bg-accent-soft focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,children:[N,P]}),t[44]=M,t[45]=N,t[46]=F):F=t[46];let I;t[47]!==A||t[48]!==F||t[49]!==x?(I=(0,X.jsxs)(`div`,{className:`flex items-start gap-3`,children:[x,A,F]}),t[47]=A,t[48]=F,t[49]=x,t[50]=I):I=t[50];let L;t[51]!==s||t[52]!==i?(L=(0,X.jsx)(Gs,{detail:s,language:i}),t[51]=s,t[52]=i,t[53]=L):L=t[53];let R;return t[54]!==o.taskProgress.title||t[55]!==I||t[56]!==L?(R=(0,X.jsxs)(`section`,{className:`mb-6 rounded-xl border border-edge bg-surface-panel px-3 py-3 sm:px-4`,"aria-label":v,"aria-live":`polite`,children:[I,L]}),t[54]=o.taskProgress.title,t[55]=I,t[56]=L,t[57]=R):R=t[57],R});function qs(e){return e.language}function Js(e){return e.strength===`verified`}function Ys(e){return e===-5||e===-4||e===-3?`
2
+ import{i as e,n as t}from"./rolldown-runtime-aKtaBQYM.js";import{a as n,i as r,n as i,t as a}from"./vendor-react-BOUWij0V.js";import{t as o}from"./preload-helper-Czpn1I53.js";import{f as s,l as c,m as l,t as u,u as d}from"./chunk-KS7C4IRE-CiwuuyV8.js";import{a as f,i as p,l as m,n as h,o as g,p as _,u as v}from"./locale-store-B7y-RVe8.js";import{t as y}from"./messages-DYDkJvXj.js";import{a as b,c as x,i as S,n as C,o as w,r as T,s as E,t as D}from"./dist-BGTk37IG.js";import{t as O}from"./createLucideIcon-DPHK1VkS.js";import{t as k}from"./app-window-DXFNqt_0.js";import{t as A}from"./archive-Dz0hferG.js";import{t as j}from"./arrow-left-D880xG-P.js";import{t as M}from"./arrow-up-D5ZtR1QT.js";import{a as N,c as P,d as F,f as I,l as L,s as R,t as z,u as B}from"./product-automation-feedback-BzY3z8zu.js";import{t as ee}from"./book-open-CCGtrT3R.js";import{t as V}from"./bot-DjLkhyZL.js";import{t as H}from"./check-DUBLcKHA.js";import{t as te}from"./chevron-down-ccbiQQz_.js";import{t as U}from"./chevron-right-BweFrslA.js";import{i as W,r as ne,t as re}from"./working-directory-picker-modal-Dv1HUipe.js";import{a as ie,d as ae,n as oe,o as se,r as G,t as K}from"./popover-select-CEMWIrtY.js";import{t as ce}from"./circle-alert-BEjgurr2.js";import{i as le,r as q,t as ue}from"./new-chat-navigation-B6NPQ4h4.js";import{t as de}from"./circle-x-DFsCKeya.js";import{t as fe}from"./circle-BoO4YvTx.js";import{i as pe,n as me,r as he,t as ge}from"./file-tree-utils-DJs1faGv.js";import{t as _e}from"./copy-Dv6d4Dvw.js";import{t as ve}from"./database-CjjeZfRG.js";import{t as ye}from"./earth-BMhZtzcj.js";import{t as be}from"./ellipsis-0k4rZLoy.js";import{t as xe}from"./external-link-DjqjBmc3.js";import{n as Se,t as Ce}from"./file-BqMS_3DT.js";import{t as we}from"./file-image-CDUPkZvG.js";import{t as Te}from"./file-text-D12HbeVy.js";import{t as Ee}from"./folder-kanban-CpLlFI1o.js";import{t as De}from"./folder-open-CyzJ19I9.js";import{t as Oe}from"./folder-CN-pC3XL.js";import{i as ke,r as Ae,u as je,x as Me}from"./use-file-preview-expanded-DFzy6iVy.js";import{t as Ne}from"./git-branch-Dh9uxTot.js";import{t as Pe}from"./globe-DSSGFWFn.js";import{t as Fe}from"./history-DXH_9jsE.js";import{F as Ie,I as Le,P as Re,c as ze,g as Be,o as Ve,t as He,v as Ue}from"./notes-api-ulup1oFS.js";import{t as We}from"./key-round-DWbpyU2U.js";import{t as Ge}from"./laptop-CI3hBVrl.js";import{t as Ke}from"./link-2-D_ZKYUW7.js";import{t as qe}from"./list-checks-BbsExAoq.js";import{t as Je}from"./list-todo-CTVRto8O.js";import{t as Ye}from"./loader-circle-CifKLtgG.js";import{A as Xe,B as Ze,C as Qe,D as $e,F as et,P as tt,R as nt,S as rt,T as it,_ as at,b as ot,c as st,d as ct,f as lt,g as ut,h as dt,l as ft,m as pt,n as mt,p as ht,r as gt,u as _t,v as vt,w as yt,y as bt}from"./markdown-view-DFHa8rUg.js";import{t as xt}from"./messages-square-BckAJrEW.js";import{t as St}from"./mic-CuUb7zc-.js";import{t as Ct}from"./monitor-Af5eAvF7.js";import{s as wt,t as Tt}from"./install-connector-dialog-DXVOHMhS.js";import{t as Et}from"./paperclip-f1HujQY1.js";import{t as Dt}from"./pause-DuPxgSxk.js";import{t as Ot}from"./pencil-DmIY3Oa-.js";import{t as kt}from"./play-kxZvpBg8.js";import{t as At}from"./plus-Q2yW6OE7.js";import{t as jt}from"./refresh-cw-BRlGaq2w.js";import{t as Mt}from"./rotate-ccw-JM1TBLpp.js";import{t as Nt}from"./save-DRDABU--.js";import{t as Pt}from"./search-DA7gz22f.js";import{t as Ft}from"./settings-2-D-csvaET.js";import{t as It}from"./settings-uiTATseT.js";import{t as Lt}from"./shield-check-BU58siTV.js";import{t as Rt}from"./smartphone-DSSsQFqA.js";import{t as zt}from"./sparkles-DHlfQFAF.js";import{t as Bt}from"./square-DMK_fB-3.js";import{t as Vt}from"./trash-2-DusmjVPV.js";import{t as Ht}from"./triangle-alert-2JXFNNKU.js";import{r as Ut,t as Wt}from"./share-link-dialog-C2LyeNzj.js";import{t as Gt}from"./wrench-DFb4r8bH.js";import{t as Kt}from"./x-B_N4OPjy.js";import{t as qt}from"./zap-dximCGjy.js";import{t as J}from"./cn-0WouolD0.js";import{t as Jt}from"./skeleton-BI5TyibZ.js";import{a as Yt,d as Xt,m as Zt,n as Qt,u as $t}from"./schemas-CCWMleym.js";import{t as en}from"./tasks-DRmd6sWt.js";import{i as tn,n as nn,o as rn,s as an,t as on}from"./product-delivery-DRyD9_Xq.js";import{a as sn}from"./local-apps-Ck6kACsY.js";import{a as cn,c as ln,d as un}from"./api-C-9J9ghT.js";import{a as dn,s as fn}from"./session-api-DVXLCZX2.js";import{$ as pn,A as mn,B as hn,C as gn,D as _n,E as vn,F as yn,G as bn,H as xn,I as Sn,J as Cn,L as wn,M as Tn,N as En,O as Dn,P as On,Q as kn,R as An,S as jn,T as Mn,U as Nn,V as Pn,W as Fn,X as In,Y as Ln,Z as Rn,_ as zn,_t as Bn,b as Vn,d as Hn,dt as Un,et as Wn,ft as Gn,g as Kn,gt as qn,h as Jn,ht as Yn,it as Xn,j as Zn,k as Qn,l as $n,lt as er,m as tr,mt as nr,nt as rr,o as ir,ot as ar,pt as or,q as sr,r as cr,st as lr,t as ur,tt as dr,u as fr,ut as pr,v as mr,vt as hr,w as gr,x as _r,y as vr,z as yr}from"./session-manager-DjRWxXJG.js";import{a as br,d as xr,m as Sr,n as Cr,s as wr}from"./local-session-drafts-nRGeybku.js";import{t as Tr}from"./tool-activity-BtJkgjFf.js";import{a as Er,c as Dr,i as Or,l as kr,n as Ar,o as jr,r as Mr,s as Nr,t as Pr}from"./new-session-preferences-gb411vZP.js";import{a as Fr}from"./extension-provider-301x0rh-.js";import{n as Ir}from"./personal-proactivity-DaRnbB1f.js";import{i as Lr}from"./vendor-swr-CdRzEUwF.js";import{c as Rr,h as zr,i as Br,n as Vr,o as Hr,r as Ur,s as Wr,t as Gr,v as Kr}from"./use-composer-attachments-CoiQAgjo.js";import{a as qr}from"./gateway-config-swr-BD4Bf8uu.js";import{t as Jr}from"./chat-agents-api-Cffxfzi1.js";import{a as Yr,c as Xr,i as Zr,r as Qr,s as $r}from"./attachment-utils-core-BIOUBrpT.js";import{n as ei}from"./gateway-realtime-CSd9VB7Z.js";import{n as ti}from"./gateway-realtime-store-Bxkv62qs.js";import{n as ni,t as ri}from"./registry-api-QZEjziDq.js";import{a as ii}from"./agents-admin-api-Bgv4lJ9Y.js";import{t as ai}from"./button-Cc4hUNTt.js";import{s as oi}from"./file-preview-surface-BaMGmCbw.js";import{a as si,i as ci,o as li,r as ui,s as di}from"./dist-GJ8-1PAx.js";import{t as fi}from"./settings-shell-dialog-layer-BU3UuiJr.js";import{t as pi}from"./middleware-Pd0e8Igk.js";import{i as mi,r as hi}from"./app-link-DRy3-k7j.js";import{t as gi}from"./copy-to-clipboard-HOJ79TWv.js";import{a as _i,c as vi,d as yi,f as bi,g as xi,i as Si,m as Ci,n as wi,o as Ti,p as Ei,r as Di,s as Oi}from"./composer-payload-handoff-_9L2A5AZ.js";import{C as ki,D as Ai,E as ji,T as Mi,_ as Ni,b as Pi,c as Fi,d as Ii,f as Li,g as Ri,h as zi,m as Bi,n as Vi,o as Hi,p as Ui,r as Wi,s as Gi,u as Ki,v as qi,w as Ji,x as Yi,y as Xi}from"./chunk-D32TOXHM-DQIy-Baq.js";import{i as Zi,n as Qi,r as $i,t as ea}from"./chat-chart-block-Bbk0b3TV.js";import{n as ta}from"./interaction-BdhHBbYa.js";import{i as na,n as ra,r as ia,t as aa}from"./tool-friendly-title-DcCc6g7o.js";import{s as oa}from"./connectors-api-B07yoCzk.js";import{t as sa}from"./activity-store-WqnVruhY.js";import{n as ca}from"./voice-call-context-BM2A4bLz.js";import{r as la}from"./app-chrome-BeB4KgOf.js";import{i as ua,n as da,r as fa}from"./form-field-width-DJw_jULe.js";import{n as pa}from"./electron-env-DHOGevH3.js";import{t as ma}from"./page-header-store-CoKMiYoi.js";import{t as ha}from"./use-async-resource-BHFGZCY2.js";import{t as ga}from"./loopi-CNtmi9FU.js";import{t as _a}from"./agent-avatar-display-D-yds6wG.js";import{n as va}from"./index.module-Cd9ENXfk.js";import{a as ya,n as ba,r as xa,t as Sa}from"./skill-wire-pattern-BPpeIcCi.js";import{n as Ca,t as wa}from"./use-directory-picker-C4p7AgWY.js";import{t as Ta}from"./confirm-dialog-D7dQJytv.js";import{a as Ea,c as Da,f as Oa,l as ka,s as Aa,u as ja}from"./workspace-api-Am2ee4R6.js";import{a as Ma,i as Na,o as Pa,r as Fa,s as Ia}from"./copy-text-row-CpiRzq4G.js";import{_ as La,b as Ra,d as za,f as Ba,h as Va,i as Ha,n as Ua,p as Wa,s as Ga,u as Ka,y as qa}from"./shares-api-CTFkLQxq.js";import{t as Ja}from"./workspace-editor-agent-store-CqHcVFhS.js";import{l as Ya,m as Xa,o as Za,r as Qa,t as $a,u as eo}from"./dist-ZrL34Ps4.js";import{a as to,c as no,d as ro,f as io,h as ao,i as oo,l as so,m as co,p as lo,s as uo,t as fo,u as po}from"./command-palette-api-BRxfFgGA.js";import{r as mo,t as ho}from"./model-selector-YsCHu1Gn.js";import{n as go,o as _o,r as vo,s as yo}from"./voice-input-shortcut-events-AzfhxBX7.js";import{t as bo}from"./dev-view-store-38EmUIEC.js";import{t as xo}from"./extension-iframe-host-BzjrVAUR.js";import{i as So,t as Co}from"./automation-task-card-DIjI_Y1X.js";import{i as wo,r as To}from"./api-Dv6Cn-Rs.js";import{r as Eo,t as Do}from"./runtime-health-D2TDFLLq.js";import{r as Oo}from"./terminal-panel-store-BGdKE9hU.js";import{n as ko}from"./agents-app-path-ciChvpCS.js";import{n as Ao,t as jo}from"./agent-display-names-Bje7vfSn.js";import{t as Mo}from"./oauth-provider-connect-C0PVEHC2.js";import{t as No}from"./use-media-query-ady-FgjK.js";import{n as Po,r as Fo,t as Io}from"./oauth-authorization-window-o6URRos4.js";import{n as Lo,t as Ro}from"./page-context-draft-DhRNxc0v.js";import{t as zo}from"./side-chat-shortcut-BIw-1TTD.js";var Bo=O(`arrow-down`,[[`path`,{d:`M12 5v14`,key:`s699le`}],[`path`,{d:`m19 12-7 7-7-7`,key:`1idqje`}]]),Vo=O(`ban`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M4.929 4.929 19.07 19.071`,key:`196cmz`}]]),Ho=O(`circle-question-mark`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`,key:`1u773s`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),Uo=O(`corner-down-right`,[[`path`,{d:`m15 10 5 5-5 5`,key:`qqa56n`}],[`path`,{d:`M4 4v7a4 4 0 0 0 4 4h12`,key:`z08zvw`}]]),Wo=O(`file-headphone`,[[`path`,{d:`M4 6.835V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-.343`,key:`1vfytu`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M2 19a2 2 0 0 1 4 0v1a2 2 0 0 1-4 0v-4a6 6 0 0 1 12 0v4a2 2 0 0 1-4 0v-1a2 2 0 0 1 4 0`,key:`1etmh7`}]]),Go=O(`file-pen-line`,[[`path`,{d:`M14.364 13.634a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506l4.013-4.009a1 1 0 0 0-3.004-3.004z`,key:`ukzhwg`}],[`path`,{d:`M14.487 7.858A1 1 0 0 1 14 7V2`,key:`1klhew`}],[`path`,{d:`M20 19.645V20a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l2.516 2.516`,key:`rxaxab`}],[`path`,{d:`M8 18h1`,key:`13wk12`}]]),Ko=O(`file-plus-corner`,[[`path`,{d:`M11.35 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v5.35`,key:`17jvcc`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M14 19h6`,key:`bvotb8`}],[`path`,{d:`M17 16v6`,key:`18yu1i`}]]),qo=O(`files`,[[`path`,{d:`M15 2h-4a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V8`,key:`14sh0y`}],[`path`,{d:`M16.706 2.706A2.4 2.4 0 0 0 15 2v5a1 1 0 0 0 1 1h5a2.4 2.4 0 0 0-.706-1.706z`,key:`1970lx`}],[`path`,{d:`M5 7a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h8a2 2 0 0 0 1.732-1`,key:`l4dndm`}]]),Jo=O(`git-commit-horizontal`,[[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}],[`line`,{x1:`3`,x2:`9`,y1:`12`,y2:`12`,key:`1dyftd`}],[`line`,{x1:`15`,x2:`21`,y1:`12`,y2:`12`,key:`oup4p8`}]]),Yo=O(`git-fork`,[[`circle`,{cx:`12`,cy:`18`,r:`3`,key:`1mpf1b`}],[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`circle`,{cx:`18`,cy:`6`,r:`3`,key:`1h7g24`}],[`path`,{d:`M18 9v2c0 .6-.4 1-1 1H7c-.6 0-1-.4-1-1V9`,key:`1uq4wg`}],[`path`,{d:`M12 12v3`,key:`158kv8`}]]),Xo=O(`grip-vertical`,[[`circle`,{cx:`9`,cy:`12`,r:`1`,key:`1vctgf`}],[`circle`,{cx:`9`,cy:`5`,r:`1`,key:`hp0tcf`}],[`circle`,{cx:`9`,cy:`19`,r:`1`,key:`fkjjf6`}],[`circle`,{cx:`15`,cy:`12`,r:`1`,key:`1tmaij`}],[`circle`,{cx:`15`,cy:`5`,r:`1`,key:`19l28e`}],[`circle`,{cx:`15`,cy:`19`,r:`1`,key:`f4zoj3`}]]),Zo=O(`layout-template`,[[`rect`,{width:`18`,height:`7`,x:`3`,y:`3`,rx:`1`,key:`f1a2em`}],[`rect`,{width:`9`,height:`7`,x:`3`,y:`14`,rx:`1`,key:`jqznyg`}],[`rect`,{width:`5`,height:`7`,x:`16`,y:`14`,rx:`1`,key:`q5h2i8`}]]),Qo=O(`list-plus`,[[`path`,{d:`M16 5H3`,key:`m91uny`}],[`path`,{d:`M11 12H3`,key:`51ecnj`}],[`path`,{d:`M16 19H3`,key:`zzsher`}],[`path`,{d:`M18 9v6`,key:`1twb98`}],[`path`,{d:`M21 12h-6`,key:`bt1uis`}]]),$o=O(`message-circle-more`,[[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`,key:`1sd12s`}],[`path`,{d:`M8 12h.01`,key:`czm47f`}],[`path`,{d:`M12 12h.01`,key:`1mp3jc`}],[`path`,{d:`M16 12h.01`,key:`1l6xoz`}]]),es=O(`message-circle-plus`,[[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`,key:`1sd12s`}],[`path`,{d:`M8 12h8`,key:`1wcyev`}],[`path`,{d:`M12 8v8`,key:`napkw2`}]]),ts=O(`message-square-share`,[[`path`,{d:`M12 3H4a2 2 0 0 0-2 2v16.286a.71.71 0 0 0 1.212.502l2.202-2.202A2 2 0 0 1 6.828 19H20a2 2 0 0 0 2-2v-4`,key:`11da1y`}],[`path`,{d:`M16 3h6v6`,key:`1bx56c`}],[`path`,{d:`m16 9 6-6`,key:`m4dnic`}]]),ns=O(`message-square-text`,[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`,key:`18887p`}],[`path`,{d:`M7 11h10`,key:`1twpyw`}],[`path`,{d:`M7 15h6`,key:`d9of3u`}],[`path`,{d:`M7 7h8`,key:`af5zfr`}]]),rs=O(`notebook-pen`,[[`path`,{d:`M13.4 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7.4`,key:`re6nr2`}],[`path`,{d:`M2 6h4`,key:`aawbzj`}],[`path`,{d:`M2 10h4`,key:`l0bgd4`}],[`path`,{d:`M2 14h4`,key:`1gsvsf`}],[`path`,{d:`M2 18h4`,key:`1bu2t1`}],[`path`,{d:`M21.378 5.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z`,key:`pqwjuv`}]]),is=O(`shuffle`,[[`path`,{d:`m18 14 4 4-4 4`,key:`10pe0f`}],[`path`,{d:`m18 2 4 4-4 4`,key:`pucp1d`}],[`path`,{d:`M2 18h1.973a4 4 0 0 0 3.3-1.7l5.454-8.6a4 4 0 0 1 3.3-1.7H22`,key:`1ailkh`}],[`path`,{d:`M2 6h1.972a4 4 0 0 1 3.6 2.2`,key:`km57vx`}],[`path`,{d:`M22 18h-6.041a4 4 0 0 1-3.3-1.8l-.359-.45`,key:`os18l9`}]]),as=O(`square-plus`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M8 12h8`,key:`1wcyev`}],[`path`,{d:`M12 8v8`,key:`napkw2`}]]),os=O(`target`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`circle`,{cx:`12`,cy:`12`,r:`6`,key:`1vlfrh`}],[`circle`,{cx:`12`,cy:`12`,r:`2`,key:`1c9p78`}]]),ss=O(`wallet`,[[`path`,{d:`M19 7V4a1 1 0 0 0-1-1H5a2 2 0 0 0 0 4h15a1 1 0 0 1 1 1v4h-3a2 2 0 0 0 0 4h3a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1`,key:`18etb6`}],[`path`,{d:`M3 5v14a2 2 0 0 0 2 2h15a1 1 0 0 0 1-1v-4`,key:`xoc0q4`}]]);function cs(e,t){return e.replace(/\{\{(\w+)}}/g,(e,n)=>t[n]?.trim()??``).replace(/[ \t]{2,}/g,` `).trim()}function ls(e,t,n){return{id:e,title:cs(t.title,n),prompt:cs(t.prompt,n),reason:cs(t.reason,n)}}function us(e,t){let n={projectName:e.projectName,blockedReason:e.blockedReason,recentFailure:e.recentFailure,nextAction:e.recommendedAction};if(e.blockedReason?.trim())return ls(`project-blocked`,t.recommendations.projectBlocked,n);if(e.recentFailure?.trim())return ls(`project-failure`,t.recommendations.projectFailure,n);if(e.recommendedAction?.trim())return ls(`project-next-action`,t.recommendations.projectNextAction,n)}function ds(e,t){let n={taskTitle:e.taskTitle,attentionSummary:e.attentionSummary,recentFailure:e.recentFailure,nextAction:e.nextAction};if(e.attentionSummary?.trim())return ls(`task-attention`,t.recommendations.taskAttention,n);if(e.recentFailure?.trim())return ls(`task-failure`,t.recommendations.taskFailure,n);if(e.phase===`review`||e.operationalState===`verifying`)return ls(`task-review`,t.recommendations.taskReview,n);if(e.phase===`closed`)return ls(`task-closed`,t.recommendations.taskClosed,n);if(e.nextAction?.trim())return ls(`task-next-action`,t.recommendations.taskNextAction,n)}function fs(e,t){switch(e.kind){case`project`:return us(e,t);case`task`:return ds(e,t);default:return}}function ps(e,t,n={}){let r=n.contextStatus??`ready`;return{headline:e.kind===`project`&&t.projectHeadline?cs(t.projectHeadline,{projectName:e.projectName}):t.headline,contextKind:e.kind,contextStatus:r,recommendation:r===`ready`?fs(e,t):void 0}}var ms=Xt({id:Zt().uuid(),conversationId:Zt(),transcriptId:Zt(),sourceRunId:Zt(),inputRevision:$t().int().nonnegative(),transcriptCursor:$t().int().nonnegative(),agentId:Zt(),locale:Qt([`zh`,`en`]),prompt:Zt().min(1).max(160),expiresAt:$t()}),hs=Xt({status:Qt([`ready`,`pending`,`none`]),suggestion:ms.optional()});Xt({suggestionId:Zt().uuid(),impressionId:Zt().uuid(),event:Qt([`shown`,`accepted`,`dismissed`,`submitted`]),edited:Yt().optional()}).strict();function gs(e,t,n){for(let r of[n,t])if(e.options.includes(r))return r;return e.initialValue}function _s(e,t=`body`){return`result:${encodeURIComponent(e)}:${encodeURIComponent(t)}`}function vs(e){return`${e.taskRunId}:${e.assignmentEpoch}:${e.outcome.outcomeId}`}var ys=e(r(),1),Y=i(),X=a(),Z=e(n(),1);function bs(e,t){return e?[`task-detail`,e,t??``]:null}function xs(e,t){return t.source!==`user`||e===void 0||t.version>e}function Ss(e){let t=m(e=>e.conversationId),[n,r]=(0,Z.useState)(null),[i,a]=(0,Z.useState)(!1),[o,s]=(0,Z.useState)(null),c=(0,Z.useRef)(``),l=(0,Z.useRef)(void 0),u=Lr(bs(e,t),()=>Kr(e),{keepPreviousData:!1,revalidateOnFocus:!0,revalidateOnReconnect:!0,refreshInterval:e=>e&&[`allocating`,`queued`,`running`,`waiting`,`verifying`].includes(e.operationalState)?5e3:0});return l.current=u.data?.task.version,(0,Z.useEffect)(()=>{r(null),a(!1),s(null),c.current=``},[e]),(0,Z.useEffect)(()=>{let t=u.data;if(!t||t.conversation.activeConversationId||t.allocation&&t.allocation.status!==`assigned`)return;let n=`${e}:${t.task.version}`;c.current!==n&&(c.current=n,a(!0),s(null),zr(e).then(()=>c.current===n?u.mutate():void 0).catch(e=>{c.current===n&&s(e)}).finally(()=>{c.current===n&&a(!1)}))},[u.data,u.mutate,e]),(0,Z.useEffect)(()=>{let t,n=()=>{window.clearTimeout(t),t=window.setTimeout(()=>void u.mutate(),120)},i=t=>{let i=en.safeParse(t.detail);!i.success||i.data.taskId!==e||xs(l.current,i.data)&&(r(i.data),n())},a=()=>n();return window.addEventListener(`task-changed-v2`,i),window.addEventListener(`gateway-realtime-connected`,a),window.addEventListener(`realtime-gap`,a),()=>{window.clearTimeout(t),window.removeEventListener(`task-changed-v2`,i),window.removeEventListener(`gateway-realtime-connected`,a),window.removeEventListener(`realtime-gap`,a)}},[u.mutate,e]),{...u,lastChange:n,conversationLoading:i,conversationError:o}}var Cs=new Map,ws=new Set;function Ts(e,t){Cs.set(e,t);for(let e of ws)e();return()=>{Cs.get(e)===t&&Cs.delete(e)}}async function Es(e,t,n){await(Cs.get(e)??await new Promise((t,n)=>{let r=()=>{let n=Cs.get(e);n&&(clearTimeout(i),ws.delete(r),t(n))},i=setTimeout(()=>{ws.delete(r),n(Error(`Chat input is not ready. Please retry.`))},15e3);ws.add(r),r()}))(t,n)}var Ds=crypto.randomUUID(),Os=e=>e===`closed`;function ks(e,t){let n=e,r=n?.code??n?.body?.error?.code,i={PHONE_CONTROL_BUSY:`另一设备正在操作手机,请等待其结束控制。`,PHONE_DEVICE_BUSY:`手机正被其他聊天或人工操作占用,本次操作尚未开始。请查看当前任务,等待或明确停止后再试。`,PHONE_OBSERVE_ONLY:`此入口仅支持查看手机画面,请在来源聊天中操作或接管手机。`,PHONE_CONTROL_CHANGED:`手机控制权已变化,本次操作未继续。请查看最新状态后重新接管。`,PHONE_CONTROL_REQUIRED:`当前窗口没有手机操作权,请先接管手机。`,PHONE_CONTROL_STALE:`手机控制状态已更新,请等待状态刷新后再操作。`,PHONE_DISPATCH_UNKNOWN:`上一条手机输入的结果尚未确认,请先检查手机,避免重复执行。`,PHONE_FRAME_STALE:`手机画面已变化,请等待新画面后再操作。`,PHONE_APP_DENIED:`当前页面不在授权应用范围内,请返回授权应用。`,PHONE_SESSION_NOT_FOUND:`手机连接或来源聊天已变化,请刷新手机面板。`,PHONE_PAUSED:`手机任务已暂停,请检查手机状态并明确交回控制权后继续。`,PHONE_DEVICE_OFFLINE:`手机暂未连接,任务进度已保留。请连接手机后重试。`,PHONE_BINDING_CHANGED:`手机或 Agent 设置已变化,任务进度已保留。请检查设备和模型设置后重试。`,PHONE_ASSISTANCE_CHANGED:`待接管任务已更新,请刷新状态后操作。`};return t&&r&&i[r]?i[r]:n?.message??(t?`无法完成手机操作,请检查连接状态。`:`Phone operation failed. Check the connection.`)}var As=e=>`/api/phone/conversations/${encodeURIComponent(e)}`,js=new Map,Ms=()=>{let e=m.getState();return`${e.baseUrl}:${e.conversationId}`};function Ns(e,t,n=Ms()){let r=`${n}:${e}`,i=js.get(r);return t&&i&&t.report.sessionId===i.report.sessionId&&(t.report.revision??0)<(i.report.revision??0)?i:(t?(js.set(r,t),js.size>100&&js.delete(js.keys().next().value)):js.delete(r),t)}async function Ps(e,t=Ms()){let n=await f(p(e)),r=decodeURIComponent(e.split(`/conversations/`)[1]?.split(`?`)[0]??``);if(n.status===404)return Ns(r,null,t);if((n.status===401||n.status===403)&&Ns(r,null,t),!n.ok)throw Object.assign(Error(`Phone view unavailable (HTTP ${n.status})`),{status:n.status});return Ns(r,(await n.json()).payload,t)}function Fs(e,t){let n=(0,Y.c)(5),r=t===void 0||t,i=m(Rs),a;n[0]!==e||n[1]!==r||n[2]!==i?(a=r&&/^(?:device:)?[\da-f]{8}-[\da-f-]{27}$/i.test(e)?[`${As(e)}?clientId=${Ds}`,i]:null,n[0]=e,n[1]=r,n[2]=i,n[3]=a):a=n[3];let o;return n[4]===Symbol.for(`react.memo_cache_sentinel`)?(o={refreshInterval:1200,revalidateOnFocus:!0,shouldRetryOnError:Is,errorRetryCount:6,errorRetryInterval:2e3,refreshWhenHidden:!1},n[4]=o):o=n[4],Lr(a,Ls,o)}function Is(e){return e.status!==401&&e.status!==403}function Ls(e){let[t,n]=e;return Ps(t,n)}function Rs(e){return`${e.baseUrl}:${e.conversationId}`}async function zs(e,t,n,r={},i=!1){let a=Ms();return Ns(e,(await g(p(`${As(e)}/${t.report.sessionId}/control`),{method:`POST`,keepalive:i,body:JSON.stringify({expectedTranscriptId:t.report.transcriptId,clientId:Ds,assistanceId:t.report.assistanceId,assistanceVersion:t.report.assistanceVersion,operationId:crypto.randomUUID(),epoch:t.report.controlEpoch,op:n,...r})})).payload,a)}async function Bs(e,t,n){let r=await f(p(`${As(e)}/${t}/frame`),{signal:n});if(!r.ok){let e=await r.json().catch(()=>({}));throw Object.assign(Error(e.error?.message??`HTTP ${r.status}`),{status:r.status,code:e.error?.code})}return{blob:await r.blob(),seq:Number(r.headers.get(`X-Phone-Frame-Seq`)),capturedAt:Number(r.headers.get(`X-Phone-Captured-At`)),width:Number(r.headers.get(`X-Phone-Width`)),height:Number(r.headers.get(`X-Phone-Height`))}}function Vs(e,t,n,r,i){let a=Math.min(e.width/t,e.height/n),o=t*a,s=n*a,c=r-e.left-(e.width-o)/2,l=i-e.top-(e.height-s)/2;return!a||c<0||l<0||c>o||l>s?null:[Math.round(c/o*1e3),Math.round(l/s*1e3)]}async function Hs(e,t,n,r=!1){return(await g(p(`${As(e)}/${t.report.sessionId}/execution-mode`),{method:`POST`,body:JSON.stringify({executionMode:n,applyCurrent:r,epoch:t.report.controlEpoch,clientId:Ds})})).payload}function Us(e,t){if(!t.assistanceId||![`needs_user`,`paused`].includes(t.status))return null;let n=m.getState();return JSON.stringify([n.baseUrl,n.conversationId,e,t.transcriptId,t.assistanceId,t.assistanceVersion??1])}var Ws=_(pi(e=>({seen:[],markSeen:t=>e(e=>e.seen.includes(t)?e:{seen:[...e.seen.slice(-99),t]})}),{name:`xopc-phone-attention-v1`}));function Gs(e){let t=(0,Y.c)(15),{detail:n,language:r}=e,i;t[0]===n?i=t[1]:(i=xi(n),t[0]=n,t[1]=i);let a=i,o=r===`zh`,s=a.receipt?.status===`failed`?o?`最近一轮执行失败`:`Latest run failed`:a.receipt?.status===`cancelled`?o?`最近一轮执行已取消`:`Latest run canceled`:a.receipt?o?`最近一轮执行已结束`:`Latest run ended`:o?`尚无本版任务的执行结果`:`No run result for this task version`,c=o?`执行、验收与交付`:`Execution, acceptance and delivery`,l=n.task.phase===`closed`?``:o?`;任务仍未关闭`:`; task remains open`,u;t[2]!==s||t[3]!==l?(u=(0,X.jsxs)(`p`,{children:[s,l]}),t[2]=s,t[3]=l,t[4]=u):u=t[4];let d=o?`验收:${a.verified}/${a.criteria} 项通过`:`Acceptance: ${a.verified}/${a.criteria} criteria passed`,f=a.criteria===0?o?`,尚未定义验收标准`:`; criteria not defined`:``,p;t[5]!==d||t[6]!==f?(p=(0,X.jsxs)(`p`,{children:[d,f]}),t[5]=d,t[6]=f,t[7]=p):p=t[7];let m=a.deliverables>0?o?`已关联交付物:${a.deliverables} 项`:`Linked deliverables: ${a.deliverables}`:o?`尚无正式交付物`:`No formal deliverables linked`,h;t[8]===m?h=t[9]:(h=(0,X.jsx)(`p`,{children:m}),t[8]=m,t[9]=h);let g;return t[10]!==c||t[11]!==u||t[12]!==p||t[13]!==h?(g=(0,X.jsxs)(`div`,{className:`mt-3 space-y-1 border-t border-edge-subtle pt-3 text-xs leading-5 text-fg-muted`,"aria-label":c,children:[u,p,h]}),t[10]=c,t[11]=u,t[12]=p,t[13]=h,t[14]=g):g=t[14],g}var Ks=(0,Z.memo)(function(e){let t=(0,Y.c)(58),{taskId:n}=e,r=c(),i=h(qs),a;t[0]===i?a=t[1]:(a=yi(i),t[0]=i,t[1]=a);let o=a,{data:s}=Ss(n);if(!s)return null;let{task:l,operationalState:d}=s,f,p,m,g;if(t[2]!==o.noDecisionNeeded||t[3]!==s||t[4]!==d||t[5]!==l.phase){let e=bi(s);m=s.attention.length>0;let n;t[10]!==d||t[11]!==l.phase?(n=l.phase!==`closed`&&[`queued`,`running`,`verifying`].includes(d),t[10]=d,t[11]=l.phase,t[12]=n):n=t[12],p=n,f=m?s.attention[0]?.summary??e?.nextAction??e?.summary:l.phase===`closed`?e?.summary:e?.nextAction??e?.summary??o.noDecisionNeeded,g=e?.evidence.filter(Js).length??0,t[2]=o.noDecisionNeeded,t[3]=s,t[4]=d,t[5]=l.phase,t[6]=f,t[7]=p,t[8]=m,t[9]=g}else f=t[6],p=t[7],m=t[8],g=t[9];let _=g,v=o.taskProgress.title,y;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,X.jsx)(os,{className:`size-4`,"aria-hidden":!0}),t[13]=y):y=t[13];let b;t[14]===p?b=t[15]:(b=p?(0,X.jsx)(`span`,{className:`absolute -right-0.5 -top-0.5 size-2.5 rounded-full border-2 border-surface-panel bg-accent motion-safe:animate-pulse`}):null,t[14]=p,t[15]=b);let x;t[16]===b?x=t[17]:(x=(0,X.jsxs)(`span`,{className:`relative mt-0.5 flex size-8 shrink-0 items-center justify-center rounded-full bg-accent-soft text-accent-fg`,children:[y,b]}),t[16]=b,t[17]=x);let S;t[18]===o.taskProgress.title?S=t[19]:(S=(0,X.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:o.taskProgress.title}),t[18]=o.taskProgress.title,t[19]=S);let C;t[20]===s?C=t[21]:(C=J(`rounded-full border px-1.5 py-0.5 text-[10px] font-medium`,Ci(Ei(s))),t[20]=s,t[21]=C);let w=o.detailStatuses[Ei(s)],T;t[22]!==C||t[23]!==w?(T=(0,X.jsx)(`span`,{className:C,children:w}),t[22]=C,t[23]=w,t[24]=T):T=t[24];let E;t[25]!==o.taskProgress.evidence||t[26]!==_?(E=_>0?(0,X.jsxs)(`span`,{className:`text-[11px] text-fg-muted`,children:[_,` `,o.taskProgress.evidence]}):null,t[25]=o.taskProgress.evidence,t[26]=_,t[27]=E):E=t[27];let D;t[28]!==T||t[29]!==E||t[30]!==S?(D=(0,X.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[S,T,E]}),t[28]=T,t[29]=E,t[30]=S,t[31]=D):D=t[31];let O;t[32]===l.title?O=t[33]:(O=(0,X.jsx)(`p`,{className:`mt-1 text-sm font-medium leading-5 text-fg`,children:l.title}),t[32]=l.title,t[33]=O);let k;t[34]===f?k=t[35]:(k=f?(0,X.jsx)(`p`,{className:`mt-1 line-clamp-2 text-xs leading-5 text-fg-muted`,children:f}):null,t[34]=f,t[35]=k);let A;t[36]!==D||t[37]!==O||t[38]!==k?(A=(0,X.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[D,O,k]}),t[36]=D,t[37]=O,t[38]=k,t[39]=A):A=t[39];let j=`${r.pathname}${r.search}`,M;t[40]!==j||t[41]!==l.id?(M=et(j,l.id),t[40]=j,t[41]=l.id,t[42]=M):M=t[42];let N=m?o.taskProgress.decide:o.taskProgress.open,P;t[43]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,X.jsx)(xe,{className:`size-3.5`,"aria-hidden":!0}),t[43]=P):P=t[43];let F;t[44]!==M||t[45]!==N?(F=(0,X.jsxs)(u,{to:M,className:`inline-flex shrink-0 items-center gap-1 rounded-md px-2 py-1.5 text-xs font-medium text-accent hover:bg-accent-soft focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,children:[N,P]}),t[44]=M,t[45]=N,t[46]=F):F=t[46];let I;t[47]!==A||t[48]!==F||t[49]!==x?(I=(0,X.jsxs)(`div`,{className:`flex items-start gap-3`,children:[x,A,F]}),t[47]=A,t[48]=F,t[49]=x,t[50]=I):I=t[50];let L;t[51]!==s||t[52]!==i?(L=(0,X.jsx)(Gs,{detail:s,language:i}),t[51]=s,t[52]=i,t[53]=L):L=t[53];let R;return t[54]!==o.taskProgress.title||t[55]!==I||t[56]!==L?(R=(0,X.jsxs)(`section`,{className:`mb-6 rounded-xl border border-edge bg-surface-panel px-3 py-3 sm:px-4`,"aria-label":v,"aria-live":`polite`,children:[I,L]}),t[54]=o.taskProgress.title,t[55]=I,t[56]=L,t[57]=R):R=t[57],R});function qs(e){return e.language}function Js(e){return e.strength===`verified`}function Ys(e){return e===-5||e===-4||e===-3?`
3
3
  `:e<0?` `:String.fromCharCode(e)}var Xs={partial:!0,tokenize(e,t,n){let r=this;return i=>i===null?t(i):(e.enter(`lineEnding`),e.consume(i),e.exit(`lineEnding`),e=>r.parser.lazy[r.now().line]?n(e):t(e))}};function Zs(e){return function(t,n,r){let i=this,a=``,o=!1,s=!1,c=!1,l=e?`xopcMathFlow`:`xopcMathInline`;return u;function u(e){return t.enter(l),f(e)}function d(i){return(e?rt(a):Qe(a))?(c&&t.exit(`xopcMathValue`),t.exit(l),n(i)):r(i)}function f(n){if(n===null)return d(n);let l=Ys(n);if(l===`
4
4
  `)return e&&i.interrupt||!e||o?d(n):(c&&t.exit(`xopcMathValue`),c=!1,t.attempt(Xs,e=>(a+=`
5
5
  `,s=!1,f(e)),e=>d(e))(n));if(o){if(!e)return/\d/.test(l)&&a.startsWith(`$`)?r(n):d(n);if(l!==` `&&l!==` `)return r(n)}if(c||=(t.enter(`xopcMathValue`),!0),t.consume(n),a+=l,l===`
@@ -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"./chunk-KS7C4IRE-CiwuuyV8.js";import{i as a,n as o,o as s}from"./locale-store-B7y-RVe8.js";import{t as c}from"./messages-DYDkJvXj.js";import{t as l}from"./check-DUBLcKHA.js";import{t as u}from"./globe-DSSGFWFn.js";import{t as d}from"./monitor-Af5eAvF7.js";import{t as f}from"./mouse-pointer-2-DZ51Onvj.js";import{t as p}from"./plus-Q2yW6OE7.js";import{t as m}from"./shield-check-BU58siTV.js";import{t as h}from"./square-DMK_fB-3.js";import{t as g}from"./skeleton-BI5TyibZ.js";import{i as _}from"./vendor-swr-CdRzEUwF.js";import{r as v}from"./gateway-config-swr-BD4Bf8uu.js";import{n as y,t as b}from"./registry-api-QZEjziDq.js";import{t as x}from"./button-Cc4hUNTt.js";import{t as S}from"./electron-env-DHOGevH3.js";import{n as C}from"./model-selector-DJSVr3LM.js";import{n as w,t as T}from"./global-defaults-api-asOZQeM8.js";import{n as ee,t as te}from"./settings-page-header-BLKI3_9N.js";import"./settings-page-layout-BqBVrkC9.js";var E=n(),D=e(t(),1),O=r();function ne({zh:e}){let t=c(e?`zh`:`en`).computerSettings,n=_(`settings-agent-defaults`,T),r=_(b,y),a=n.data?.defaults.models.computerUse?.primary??``,[o,s]=(0,D.useState)(a),[l,u]=(0,D.useState)(!1),[d,f]=(0,D.useState)(``),[p,m]=(0,D.useState)(!1);(0,D.useEffect)(()=>{s(a)},[a]);let h=!o||r.data?.some(e=>e.id===o&&e.computerUse),v=async()=>{u(!0),f(``),m(!1);try{if(!h)throw Error(t.modelUnavailable);let e=await T(),r={...e.defaults.models};o?r.computerUse={primary:o,fallbacks:[]}:delete r.computerUse;let i=await w({...e.defaults,models:r});await n.mutate(i,!1),m(!0)}catch(e){f(e instanceof Error?e.message:String(e))}finally{u(!1)}};return(0,O.jsxs)(`section`,{"aria-label":t.model,className:`space-y-3`,children:[(0,O.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:t.model}),!n.data&&!n.error?(0,O.jsx)(g,{className:`h-52 w-full rounded-xl`}):n.error?(0,O.jsxs)(`div`,{role:`alert`,className:`text-sm text-danger`,children:[String(n.error),(0,O.jsx)(x,{onClick:()=>{n.mutate().catch(()=>{})},children:t.retry})]}):(0,O.jsxs)(`div`,{className:`rounded-2xl border border-edge bg-surface-panel p-4 sm:p-5`,children:[(0,O.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-center`,children:[(0,O.jsx)(`div`,{className:`min-w-0 flex-1`,children:r.isLoading?(0,O.jsx)(g,{className:`h-11 w-full rounded-lg`}):(0,O.jsx)(C,{value:o,onChange:e=>{s(e),m(!1)},disabled:l,capabilitiesFilter:`computer-use`,models:r.data??[],modelsError:r.error,placeholder:t.selectModel,searchPlaceholder:t.searchModel,noMatches:t.noModels,registryEmptyHint:t.noModels,allowEmpty:!0,emptyLabel:t.noModel,ariaLabel:t.modelLabel,className:`w-full`,contentAlign:`start`})}),(0,O.jsx)(x,{variant:`primary`,disabled:l||o===a||!h||!!r.error||r.isLoading,onClick:()=>{v()},children:t.saveModel})]}),(0,O.jsxs)(`div`,{className:`mt-3 flex flex-wrap items-center gap-x-4 gap-y-2 text-xs text-fg-muted`,children:[(0,O.jsx)(`span`,{children:t.modelDataUse}),(0,O.jsx)(x,{asChild:!0,variant:`ghost`,className:`h-auto p-0 text-xs`,children:(0,O.jsx)(i,{to:`/settings/capabilities/models?add=1`,children:t.manageModels})}),p&&(0,O.jsx)(`span`,{role:`status`,children:t.modelSaved})]}),!h&&!r.isLoading&&!r.error&&(0,O.jsx)(`p`,{role:`status`,className:`mt-3 text-sm text-warning`,children:t.modelUnavailable}),r.error&&(0,O.jsxs)(`p`,{role:`alert`,className:`mt-3 text-sm text-danger`,children:[String(r.error),(0,O.jsx)(x,{onClick:()=>{r.mutate().catch(()=>{})},children:t.retry})]}),d&&(0,O.jsx)(`p`,{role:`alert`,className:`mt-3 text-sm text-danger`,children:d})]})]})}function k(e){let t=(0,E.c)(15),{icon:n,title:r,description:i,children:a}=e,o;t[0]===n?o=t[1]:(o=n&&(0,O.jsx)(`div`,{className:`flex size-6 shrink-0 items-center justify-center text-fg-muted`,"aria-hidden":!0,children:n}),t[0]=n,t[1]=o);let s;t[2]===r?s=t[3]:(s=(0,O.jsx)(`h3`,{className:`text-sm font-medium text-fg`,children:r}),t[2]=r,t[3]=s);let c;t[4]===i?c=t[5]:(c=i&&(0,O.jsx)(`div`,{className:`mt-0.5 text-xs text-fg-muted`,children:i}),t[4]=i,t[5]=c);let l;t[6]!==s||t[7]!==c?(l=(0,O.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[s,c]}),t[6]=s,t[7]=c,t[8]=l):l=t[8];let u;t[9]===a?u=t[10]:(u=a&&(0,O.jsx)(`div`,{className:`flex shrink-0 items-center gap-3`,children:a}),t[9]=a,t[10]=u);let d;return t[11]!==o||t[12]!==l||t[13]!==u?(d=(0,O.jsxs)(`div`,{className:`flex min-h-16 flex-wrap items-center gap-3 px-4 py-3 sm:flex-nowrap sm:px-5`,children:[o,l,u]}),t[11]=o,t[12]=l,t[13]=u,t[14]=d):d=t[14],d}function A(){let e=(0,E.c)(2),t=o(j)===`zh`,n;return e[0]===t?n=e[1]:(n=(0,O.jsx)(M,{zh:t}),e[0]=t,e[1]=n),n}function j(e){return e.language}function M({zh:e}){let t=c(e?`zh`:`en`).computerSettings,{data:n,mutate:r,error:o}=v(!0),_=n?.payload?.config,[y,b]=(0,D.useState)(!1),[C,w]=(0,D.useState)(``),[T,E]=(0,D.useState)(!1),[A,j]=(0,D.useState)(null),[M,N]=(0,D.useState)(!1),[P,F]=(0,D.useState)(null),[re,I]=(0,D.useState)(!1),[L,R]=(0,D.useState)(``),[z,B]=(0,D.useState)(!1),[ie,V]=(0,D.useState)(!1),H=window.electronAPI?.platform===`win32`,U=S()?window.electronAPI?.computer:void 0,W=window.electronAPI?.platform===`darwin`?window.electronAPI.system:void 0;(0,D.useEffect)(()=>{if(!U)return;let e=!1,t=!1,n=async()=>{if(!t){t=!0;try{let t=await U.status();e||(j(t),N(!1))}catch{e||(j(null),N(!0))}finally{t=!1}}};n();let r=window.setInterval(()=>{n()},2e3);return()=>{e=!0,window.clearInterval(r)}},[U]),(0,D.useEffect)(()=>{if(!U?.access)return;let e=!1;return U.access().then(t=>{e||(F(t),I(!1))}).catch(()=>{e||I(!0)}),()=>{e=!0}},[U]);let G=async e=>{b(!0),w(``);try{await e()}catch(e){w(e instanceof Error?e.message:String(e))}finally{b(!1)}},ae=e=>G(async()=>{S()&&(await s(a(`/api/config`),{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify({computer:{enabled:e}})}),await r())}),oe=async()=>{w(``),E(!1);try{await U?.stop(),E(!0),U&&j(await U.status())}catch(e){w(e instanceof Error?e.message:String(e))}},K=A?.session?.status??`idle`,q=t.states[K]??K,J=S()&&_?.computer?.enabled===!0,se=A?.controlPaused?t.pausedNotice:J?A?.connected?`${t.connected} · ${q}`:A?t.disconnected:t.checking:t.disabled,Y=!U||M||A?.reenrollmentRequired===!0||!!(A?.error||A?.session?.errorCode)||A!=null&&!H&&(!A.permissions.accessibility||A.permissions.screenRecording!==`granted`),X=(H?A?.connected===!0:A?.permissions.accessibility===!0&&A.permissions.screenRecording===`granted`)&&!A?.reenrollmentRequired,Z=P?.apps.filter(e=>P.authorizedAppIds.includes(e.appId))??[],Q=P?.apps.filter(e=>!P.authorizedAppIds.includes(e.appId)&&`${e.name} ${e.appId}`.toLocaleLowerCase().includes(L.toLocaleLowerCase()))??[],$=(0,O.jsxs)(`section`,{"aria-labelledby":`computer-permissions-title`,className:`space-y-3`,children:[(0,O.jsx)(`h2`,{id:`computer-permissions-title`,className:`text-sm font-semibold text-fg`,children:t.permissions}),U?M?(0,O.jsx)(`p`,{role:`alert`,className:`rounded-xl bg-danger-soft p-5 text-sm text-danger`,children:t.nativeError}):A?X&&!ie?(0,O.jsx)(`div`,{className:`overflow-hidden rounded-2xl border border-edge bg-surface-panel`,children:(0,O.jsx)(k,{icon:(0,O.jsx)(m,{className:`size-5`}),title:H?t.windowsAccess:t.systemPermissions,description:H?t.windowsAccessDescription:t.granted,children:(0,O.jsx)(x,{onClick:()=>V(!0),children:t.viewDetails})})}):(0,O.jsxs)(`div`,{className:`divide-y divide-edge-subtle overflow-hidden rounded-2xl border border-edge bg-surface-panel`,children:[(0,O.jsx)(k,{icon:(0,O.jsx)(d,{className:`size-5`}),title:t.device,description:(0,O.jsxs)(`span`,{"aria-live":`polite`,children:[A.connected?t.connected:t.disconnected,` · `,q]}),children:A.reenrollmentRequired&&(0,O.jsx)(x,{disabled:y,onClick:()=>{G(async()=>{j(await U.reenroll())})},children:t.reenroll})}),H&&(0,O.jsx)(k,{icon:(0,O.jsx)(m,{className:`size-5`}),title:t.windowsAccess,description:t.windowsAccessDescription}),W&&(0,O.jsxs)(O.Fragment,{children:[(0,O.jsxs)(k,{icon:(0,O.jsx)(m,{className:`size-5`}),title:t.accessibility,children:[(0,O.jsx)(`span`,{className:`text-xs text-fg-muted`,children:A.permissions.accessibility?t.granted:t.notGranted}),!A.permissions.accessibility&&(0,O.jsx)(x,{disabled:y,"aria-label":`${t.openSettings}: ${t.accessibility}`,onClick:()=>{G(()=>W.requestAccessibility())},children:t.openSettings})]}),(0,O.jsxs)(k,{icon:(0,O.jsx)(d,{className:`size-5`}),title:t.screen,children:[(0,O.jsx)(`span`,{className:`text-xs text-fg-muted`,children:A.permissions.screenRecording===`granted`?t.granted:t.notGranted}),A.permissions.screenRecording!==`granted`&&(0,O.jsx)(x,{disabled:y,"aria-label":`${t.openSettings}: ${t.screen}`,onClick:()=>{G(()=>W.requestScreen())},children:t.openSettings})]})]}),X&&(0,O.jsx)(`div`,{className:`flex justify-end px-4 py-2 sm:px-5`,children:(0,O.jsx)(x,{variant:`ghost`,onClick:()=>V(!1),children:t.hideDetails})})]}):(0,O.jsx)(`div`,{"aria-label":t.checking,children:(0,O.jsx)(g,{className:`h-20 w-full rounded-xl`})}):(0,O.jsx)(`p`,{className:`rounded-xl bg-surface-hover/20 p-5 text-sm leading-relaxed text-fg-muted`,children:window.electronAPI?t.unsupportedPlatform:t.desktopRequired}),(A?.error||A?.session?.errorCode)&&(0,O.jsx)(`p`,{role:`alert`,className:`break-words text-sm text-red-600`,children:A.error||A.session?.errorCode})]});return(0,O.jsxs)(ee,{gap:`gap-7`,children:[(0,O.jsx)(te,{title:t.title,subtitle:t.subtitle,meta:(0,O.jsx)(`span`,{className:`mt-3 inline-flex rounded-md border border-edge px-2 py-1 text-xs text-fg-muted`,children:t.preview}),actions:U&&(0,O.jsxs)(x,{onClick:()=>{oe()},children:[(0,O.jsx)(h,{className:`size-3.5`}),t.stop]})}),H&&(0,O.jsx)(`p`,{className:`text-sm leading-relaxed text-fg-muted`,children:t.windowsAccessDescription}),C&&(0,O.jsx)(`p`,{role:`alert`,className:`text-sm text-red-600`,children:C}),T&&(0,O.jsx)(`p`,{role:`status`,className:`text-sm text-fg-muted`,children:t.stoppedNotice}),(0,O.jsxs)(`section`,{"aria-labelledby":`computer-control-title`,className:`space-y-3`,children:[(0,O.jsx)(`h2`,{id:`computer-control-title`,className:`text-sm font-semibold text-fg`,children:t.control}),!_&&!o?(0,O.jsx)(g,{className:`h-32 w-full rounded-xl`}):o?(0,O.jsxs)(`div`,{role:`alert`,className:`text-sm text-fg-muted`,children:[String(o),` `,(0,O.jsx)(x,{onClick:()=>{G(()=>r())},children:t.retry})]}):(0,O.jsxs)(`div`,{className:`divide-y divide-edge-subtle overflow-hidden rounded-2xl border border-edge bg-surface-panel`,children:[(0,O.jsx)(k,{icon:(0,O.jsx)(f,{className:`size-5`}),title:t.desktop,description:(0,O.jsx)(`span`,{"aria-live":`polite`,children:se}),children:(0,O.jsx)(`button`,{type:`button`,role:`switch`,"aria-label":t.desktop,"aria-checked":J,disabled:y||!S()||A?.capabilities?.supported===!1,onClick:()=>{ae(_?.computer?.enabled!==!0)},className:`touch-target flex items-center rounded-lg px-1 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent disabled:opacity-50`,children:(0,O.jsx)(`span`,{className:`flex h-6 w-11 items-center rounded-full p-0.5 transition-colors ${J?`bg-accent`:`bg-fg-muted/30`}`,children:(0,O.jsx)(`span`,{className:`size-5 rounded-full bg-white transition-transform ${J?`translate-x-5`:`translate-x-0`}`})})})}),A?.controlPaused&&(0,O.jsx)(`div`,{className:`flex justify-end border-t border-edge-subtle px-4 py-3 sm:px-5`,children:(0,O.jsx)(x,{disabled:y,onClick:()=>{G(async()=>{U&&j(await U.resume()),E(!1)})},children:t.resume})})]})]}),Y&&$,U?.access&&(0,O.jsxs)(`section`,{"aria-labelledby":`computer-app-access-title`,className:`space-y-3`,children:[(0,O.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,O.jsx)(`h2`,{id:`computer-app-access-title`,className:`text-sm font-semibold text-fg`,children:t.appAccess}),!P?.allowAllApps&&(0,O.jsxs)(x,{disabled:y,"aria-expanded":z,"aria-controls":z?`computer-app-picker`:void 0,onClick:()=>{B(e=>!e),R(``)},children:[z?(0,O.jsx)(l,{className:`size-4`,"aria-hidden":!0}):(0,O.jsx)(p,{className:`size-4`,"aria-hidden":!0}),z?t.doneAdding:t.addApp]})]}),P?(0,O.jsxs)(`div`,{className:`overflow-hidden rounded-2xl border border-edge bg-surface-panel`,children:[(0,O.jsx)(k,{icon:(0,O.jsx)(f,{className:`size-5`}),title:t.anyApp,description:t.anyAppDescription,children:(0,O.jsx)(`button`,{type:`button`,role:`switch`,"aria-label":t.anyApp,"aria-checked":P.allowAllApps===!0,disabled:y,onClick:()=>{G(async()=>{F(await U.setAllAppAccess(!P.allowAllApps)),B(!1)})},className:`touch-target flex items-center rounded-lg px-1 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent disabled:opacity-50`,children:(0,O.jsx)(`span`,{className:`flex h-6 w-11 items-center rounded-full p-0.5 transition-colors ${P.allowAllApps?`bg-accent`:`bg-fg-muted/30`}`,children:(0,O.jsx)(`span`,{className:`size-5 rounded-full bg-white transition-transform ${P.allowAllApps?`translate-x-5`:`translate-x-0`}`})})})}),!P.allowAllApps&&(0,O.jsx)(`div`,{className:`border-t border-edge-subtle`,children:Z.length?Z.map(e=>(0,O.jsxs)(`div`,{className:`flex min-h-16 items-center justify-between gap-3 border-b border-edge-subtle px-4 py-3 last:border-b-0 sm:px-5`,children:[(0,O.jsxs)(`div`,{className:`min-w-0`,children:[(0,O.jsx)(`p`,{className:`truncate text-sm font-medium text-fg`,children:e.name}),(0,O.jsx)(`p`,{className:`truncate text-xs text-fg-muted`,children:e.appId})]}),(0,O.jsx)(x,{disabled:y,variant:`ghost`,onClick:()=>{G(async()=>{let t=await U.setAppAccess(e.appId,!1);F(e=>e&&{...e,authorizedAppIds:t.authorizedAppIds})})},children:t.revokeApp})]},e.appId)):(0,O.jsx)(`p`,{className:`px-5 py-6 text-center text-sm text-fg-muted`,children:t.noAuthorizedApps})})]}):re?(0,O.jsx)(`p`,{role:`alert`,className:`text-sm text-danger`,children:t.appListError}):(0,O.jsx)(g,{className:`h-20 w-full rounded-xl`}),z&&!P?.allowAllApps&&(0,O.jsxs)(`div`,{id:`computer-app-picker`,className:`space-y-3 rounded-2xl border border-edge bg-surface-panel p-4`,children:[(0,O.jsxs)(`div`,{className:`flex gap-2`,children:[(0,O.jsx)(`input`,{"aria-label":t.searchApps,value:L,onChange:e=>R(e.target.value),placeholder:t.searchApps,className:`min-w-0 flex-1 rounded-lg border border-edge bg-surface-base px-3 py-2 text-sm text-fg focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`}),(0,O.jsx)(x,{disabled:y,onClick:()=>{G(async()=>{F(await U.access()),I(!1)})},children:t.refreshApps})]}),P&&(0,O.jsx)(`div`,{className:`max-h-64 overflow-y-auto rounded-xl border border-edge`,children:Q.length?Q.map(e=>(0,O.jsxs)(`div`,{className:`flex min-h-14 items-center justify-between gap-3 border-b border-edge-subtle px-3 py-2 last:border-b-0`,children:[(0,O.jsxs)(`div`,{className:`min-w-0`,children:[(0,O.jsx)(`p`,{className:`truncate text-sm font-medium text-fg`,children:e.name}),(0,O.jsx)(`p`,{className:`truncate text-xs text-fg-muted`,children:e.appId})]}),(0,O.jsx)(x,{disabled:y,variant:`secondary`,onClick:()=>{G(async()=>{let t=await U.setAppAccess(e.appId,!0);F(e=>e&&{...e,authorizedAppIds:t.authorizedAppIds})})},children:t.authorizeApp})]},e.appId)):(0,O.jsx)(`p`,{className:`px-3 py-5 text-center text-sm text-fg-muted`,children:P.appsBusy?t.appsBusy:P.appsUnavailable?t.appListError:t.noMatchingApps})})]})]}),(0,O.jsx)(ne,{zh:e}),!Y&&$,(0,O.jsxs)(`section`,{"aria-labelledby":`computer-browser-title`,className:`space-y-3`,children:[(0,O.jsx)(`h2`,{id:`computer-browser-title`,className:`text-sm font-semibold text-fg`,children:t.otherControl}),(0,O.jsx)(`div`,{className:`overflow-hidden rounded-2xl border border-edge bg-surface-panel`,children:(0,O.jsx)(k,{icon:(0,O.jsx)(u,{className:`size-5`}),title:t.browser,description:_?_.browser?.enabled?t.browserEnabled:t.browserDisabled:t.checking,children:(0,O.jsx)(x,{asChild:!0,children:(0,O.jsx)(i,{to:`/settings/agent-browser`,children:t.manage})})})})]}),(0,O.jsx)(`p`,{className:`text-xs text-fg-muted`,children:t.previewFootnote})]})}export{A as ComputerSettingsPage,M as ComputerSettingsPanel};
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-CiwuuyV8.js";import{i as a,n as o,o as s}from"./locale-store-B7y-RVe8.js";import{t as c}from"./messages-DYDkJvXj.js";import{t as l}from"./check-DUBLcKHA.js";import{t as u}from"./globe-DSSGFWFn.js";import{t as d}from"./monitor-Af5eAvF7.js";import{t as f}from"./mouse-pointer-2-DZ51Onvj.js";import{t as p}from"./plus-Q2yW6OE7.js";import{t as m}from"./shield-check-BU58siTV.js";import{t as h}from"./square-DMK_fB-3.js";import{t as g}from"./skeleton-BI5TyibZ.js";import{i as _}from"./vendor-swr-CdRzEUwF.js";import{r as v}from"./gateway-config-swr-BD4Bf8uu.js";import{n as y,t as b}from"./registry-api-QZEjziDq.js";import{t as x}from"./button-Cc4hUNTt.js";import{t as S}from"./electron-env-DHOGevH3.js";import{n as C}from"./model-selector-YsCHu1Gn.js";import{n as w,t as T}from"./global-defaults-api-asOZQeM8.js";import{n as ee,t as te}from"./settings-page-header-BLKI3_9N.js";import"./settings-page-layout-BqBVrkC9.js";var E=n(),D=e(t(),1),O=r();function ne({zh:e}){let t=c(e?`zh`:`en`).computerSettings,n=_(`settings-agent-defaults`,T),r=_(b,y),a=n.data?.defaults.models.computerUse?.primary??``,[o,s]=(0,D.useState)(a),[l,u]=(0,D.useState)(!1),[d,f]=(0,D.useState)(``),[p,m]=(0,D.useState)(!1);(0,D.useEffect)(()=>{s(a)},[a]);let h=!o||r.data?.some(e=>e.id===o&&e.computerUse),v=async()=>{u(!0),f(``),m(!1);try{if(!h)throw Error(t.modelUnavailable);let e=await T(),r={...e.defaults.models};o?r.computerUse={primary:o,fallbacks:[]}:delete r.computerUse;let i=await w({...e.defaults,models:r});await n.mutate(i,!1),m(!0)}catch(e){f(e instanceof Error?e.message:String(e))}finally{u(!1)}};return(0,O.jsxs)(`section`,{"aria-label":t.model,className:`space-y-3`,children:[(0,O.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:t.model}),!n.data&&!n.error?(0,O.jsx)(g,{className:`h-52 w-full rounded-xl`}):n.error?(0,O.jsxs)(`div`,{role:`alert`,className:`text-sm text-danger`,children:[String(n.error),(0,O.jsx)(x,{onClick:()=>{n.mutate().catch(()=>{})},children:t.retry})]}):(0,O.jsxs)(`div`,{className:`rounded-2xl border border-edge bg-surface-panel p-4 sm:p-5`,children:[(0,O.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-center`,children:[(0,O.jsx)(`div`,{className:`min-w-0 flex-1`,children:r.isLoading?(0,O.jsx)(g,{className:`h-11 w-full rounded-lg`}):(0,O.jsx)(C,{value:o,onChange:e=>{s(e),m(!1)},disabled:l,capabilitiesFilter:`computer-use`,models:r.data??[],modelsError:r.error,placeholder:t.selectModel,searchPlaceholder:t.searchModel,noMatches:t.noModels,registryEmptyHint:t.noModels,allowEmpty:!0,emptyLabel:t.noModel,ariaLabel:t.modelLabel,className:`w-full`,contentAlign:`start`})}),(0,O.jsx)(x,{variant:`primary`,disabled:l||o===a||!h||!!r.error||r.isLoading,onClick:()=>{v()},children:t.saveModel})]}),(0,O.jsxs)(`div`,{className:`mt-3 flex flex-wrap items-center gap-x-4 gap-y-2 text-xs text-fg-muted`,children:[(0,O.jsx)(`span`,{children:t.modelDataUse}),(0,O.jsx)(x,{asChild:!0,variant:`ghost`,className:`h-auto p-0 text-xs`,children:(0,O.jsx)(i,{to:`/settings/capabilities/models?add=1`,children:t.manageModels})}),p&&(0,O.jsx)(`span`,{role:`status`,children:t.modelSaved})]}),!h&&!r.isLoading&&!r.error&&(0,O.jsx)(`p`,{role:`status`,className:`mt-3 text-sm text-warning`,children:t.modelUnavailable}),r.error&&(0,O.jsxs)(`p`,{role:`alert`,className:`mt-3 text-sm text-danger`,children:[String(r.error),(0,O.jsx)(x,{onClick:()=>{r.mutate().catch(()=>{})},children:t.retry})]}),d&&(0,O.jsx)(`p`,{role:`alert`,className:`mt-3 text-sm text-danger`,children:d})]})]})}function k(e){let t=(0,E.c)(15),{icon:n,title:r,description:i,children:a}=e,o;t[0]===n?o=t[1]:(o=n&&(0,O.jsx)(`div`,{className:`flex size-6 shrink-0 items-center justify-center text-fg-muted`,"aria-hidden":!0,children:n}),t[0]=n,t[1]=o);let s;t[2]===r?s=t[3]:(s=(0,O.jsx)(`h3`,{className:`text-sm font-medium text-fg`,children:r}),t[2]=r,t[3]=s);let c;t[4]===i?c=t[5]:(c=i&&(0,O.jsx)(`div`,{className:`mt-0.5 text-xs text-fg-muted`,children:i}),t[4]=i,t[5]=c);let l;t[6]!==s||t[7]!==c?(l=(0,O.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[s,c]}),t[6]=s,t[7]=c,t[8]=l):l=t[8];let u;t[9]===a?u=t[10]:(u=a&&(0,O.jsx)(`div`,{className:`flex shrink-0 items-center gap-3`,children:a}),t[9]=a,t[10]=u);let d;return t[11]!==o||t[12]!==l||t[13]!==u?(d=(0,O.jsxs)(`div`,{className:`flex min-h-16 flex-wrap items-center gap-3 px-4 py-3 sm:flex-nowrap sm:px-5`,children:[o,l,u]}),t[11]=o,t[12]=l,t[13]=u,t[14]=d):d=t[14],d}function A(){let e=(0,E.c)(2),t=o(j)===`zh`,n;return e[0]===t?n=e[1]:(n=(0,O.jsx)(M,{zh:t}),e[0]=t,e[1]=n),n}function j(e){return e.language}function M({zh:e}){let t=c(e?`zh`:`en`).computerSettings,{data:n,mutate:r,error:o}=v(!0),_=n?.payload?.config,[y,b]=(0,D.useState)(!1),[C,w]=(0,D.useState)(``),[T,E]=(0,D.useState)(!1),[A,j]=(0,D.useState)(null),[M,N]=(0,D.useState)(!1),[P,F]=(0,D.useState)(null),[re,I]=(0,D.useState)(!1),[L,R]=(0,D.useState)(``),[z,B]=(0,D.useState)(!1),[ie,V]=(0,D.useState)(!1),H=window.electronAPI?.platform===`win32`,U=S()?window.electronAPI?.computer:void 0,W=window.electronAPI?.platform===`darwin`?window.electronAPI.system:void 0;(0,D.useEffect)(()=>{if(!U)return;let e=!1,t=!1,n=async()=>{if(!t){t=!0;try{let t=await U.status();e||(j(t),N(!1))}catch{e||(j(null),N(!0))}finally{t=!1}}};n();let r=window.setInterval(()=>{n()},2e3);return()=>{e=!0,window.clearInterval(r)}},[U]),(0,D.useEffect)(()=>{if(!U?.access)return;let e=!1;return U.access().then(t=>{e||(F(t),I(!1))}).catch(()=>{e||I(!0)}),()=>{e=!0}},[U]);let G=async e=>{b(!0),w(``);try{await e()}catch(e){w(e instanceof Error?e.message:String(e))}finally{b(!1)}},ae=e=>G(async()=>{S()&&(await s(a(`/api/config`),{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify({computer:{enabled:e}})}),await r())}),oe=async()=>{w(``),E(!1);try{await U?.stop(),E(!0),U&&j(await U.status())}catch(e){w(e instanceof Error?e.message:String(e))}},K=A?.session?.status??`idle`,q=t.states[K]??K,J=S()&&_?.computer?.enabled===!0,se=A?.controlPaused?t.pausedNotice:J?A?.connected?`${t.connected} · ${q}`:A?t.disconnected:t.checking:t.disabled,Y=!U||M||A?.reenrollmentRequired===!0||!!(A?.error||A?.session?.errorCode)||A!=null&&!H&&(!A.permissions.accessibility||A.permissions.screenRecording!==`granted`),X=(H?A?.connected===!0:A?.permissions.accessibility===!0&&A.permissions.screenRecording===`granted`)&&!A?.reenrollmentRequired,Z=P?.apps.filter(e=>P.authorizedAppIds.includes(e.appId))??[],Q=P?.apps.filter(e=>!P.authorizedAppIds.includes(e.appId)&&`${e.name} ${e.appId}`.toLocaleLowerCase().includes(L.toLocaleLowerCase()))??[],$=(0,O.jsxs)(`section`,{"aria-labelledby":`computer-permissions-title`,className:`space-y-3`,children:[(0,O.jsx)(`h2`,{id:`computer-permissions-title`,className:`text-sm font-semibold text-fg`,children:t.permissions}),U?M?(0,O.jsx)(`p`,{role:`alert`,className:`rounded-xl bg-danger-soft p-5 text-sm text-danger`,children:t.nativeError}):A?X&&!ie?(0,O.jsx)(`div`,{className:`overflow-hidden rounded-2xl border border-edge bg-surface-panel`,children:(0,O.jsx)(k,{icon:(0,O.jsx)(m,{className:`size-5`}),title:H?t.windowsAccess:t.systemPermissions,description:H?t.windowsAccessDescription:t.granted,children:(0,O.jsx)(x,{onClick:()=>V(!0),children:t.viewDetails})})}):(0,O.jsxs)(`div`,{className:`divide-y divide-edge-subtle overflow-hidden rounded-2xl border border-edge bg-surface-panel`,children:[(0,O.jsx)(k,{icon:(0,O.jsx)(d,{className:`size-5`}),title:t.device,description:(0,O.jsxs)(`span`,{"aria-live":`polite`,children:[A.connected?t.connected:t.disconnected,` · `,q]}),children:A.reenrollmentRequired&&(0,O.jsx)(x,{disabled:y,onClick:()=>{G(async()=>{j(await U.reenroll())})},children:t.reenroll})}),H&&(0,O.jsx)(k,{icon:(0,O.jsx)(m,{className:`size-5`}),title:t.windowsAccess,description:t.windowsAccessDescription}),W&&(0,O.jsxs)(O.Fragment,{children:[(0,O.jsxs)(k,{icon:(0,O.jsx)(m,{className:`size-5`}),title:t.accessibility,children:[(0,O.jsx)(`span`,{className:`text-xs text-fg-muted`,children:A.permissions.accessibility?t.granted:t.notGranted}),!A.permissions.accessibility&&(0,O.jsx)(x,{disabled:y,"aria-label":`${t.openSettings}: ${t.accessibility}`,onClick:()=>{G(()=>W.requestAccessibility())},children:t.openSettings})]}),(0,O.jsxs)(k,{icon:(0,O.jsx)(d,{className:`size-5`}),title:t.screen,children:[(0,O.jsx)(`span`,{className:`text-xs text-fg-muted`,children:A.permissions.screenRecording===`granted`?t.granted:t.notGranted}),A.permissions.screenRecording!==`granted`&&(0,O.jsx)(x,{disabled:y,"aria-label":`${t.openSettings}: ${t.screen}`,onClick:()=>{G(()=>W.requestScreen())},children:t.openSettings})]})]}),X&&(0,O.jsx)(`div`,{className:`flex justify-end px-4 py-2 sm:px-5`,children:(0,O.jsx)(x,{variant:`ghost`,onClick:()=>V(!1),children:t.hideDetails})})]}):(0,O.jsx)(`div`,{"aria-label":t.checking,children:(0,O.jsx)(g,{className:`h-20 w-full rounded-xl`})}):(0,O.jsx)(`p`,{className:`rounded-xl bg-surface-hover/20 p-5 text-sm leading-relaxed text-fg-muted`,children:window.electronAPI?t.unsupportedPlatform:t.desktopRequired}),(A?.error||A?.session?.errorCode)&&(0,O.jsx)(`p`,{role:`alert`,className:`break-words text-sm text-red-600`,children:A.error||A.session?.errorCode})]});return(0,O.jsxs)(ee,{gap:`gap-7`,children:[(0,O.jsx)(te,{title:t.title,subtitle:t.subtitle,meta:(0,O.jsx)(`span`,{className:`mt-3 inline-flex rounded-md border border-edge px-2 py-1 text-xs text-fg-muted`,children:t.preview}),actions:U&&(0,O.jsxs)(x,{onClick:()=>{oe()},children:[(0,O.jsx)(h,{className:`size-3.5`}),t.stop]})}),H&&(0,O.jsx)(`p`,{className:`text-sm leading-relaxed text-fg-muted`,children:t.windowsAccessDescription}),C&&(0,O.jsx)(`p`,{role:`alert`,className:`text-sm text-red-600`,children:C}),T&&(0,O.jsx)(`p`,{role:`status`,className:`text-sm text-fg-muted`,children:t.stoppedNotice}),(0,O.jsxs)(`section`,{"aria-labelledby":`computer-control-title`,className:`space-y-3`,children:[(0,O.jsx)(`h2`,{id:`computer-control-title`,className:`text-sm font-semibold text-fg`,children:t.control}),!_&&!o?(0,O.jsx)(g,{className:`h-32 w-full rounded-xl`}):o?(0,O.jsxs)(`div`,{role:`alert`,className:`text-sm text-fg-muted`,children:[String(o),` `,(0,O.jsx)(x,{onClick:()=>{G(()=>r())},children:t.retry})]}):(0,O.jsxs)(`div`,{className:`divide-y divide-edge-subtle overflow-hidden rounded-2xl border border-edge bg-surface-panel`,children:[(0,O.jsx)(k,{icon:(0,O.jsx)(f,{className:`size-5`}),title:t.desktop,description:(0,O.jsx)(`span`,{"aria-live":`polite`,children:se}),children:(0,O.jsx)(`button`,{type:`button`,role:`switch`,"aria-label":t.desktop,"aria-checked":J,disabled:y||!S()||A?.capabilities?.supported===!1,onClick:()=>{ae(_?.computer?.enabled!==!0)},className:`touch-target flex items-center rounded-lg px-1 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent disabled:opacity-50`,children:(0,O.jsx)(`span`,{className:`flex h-6 w-11 items-center rounded-full p-0.5 transition-colors ${J?`bg-accent`:`bg-fg-muted/30`}`,children:(0,O.jsx)(`span`,{className:`size-5 rounded-full bg-white transition-transform ${J?`translate-x-5`:`translate-x-0`}`})})})}),A?.controlPaused&&(0,O.jsx)(`div`,{className:`flex justify-end border-t border-edge-subtle px-4 py-3 sm:px-5`,children:(0,O.jsx)(x,{disabled:y,onClick:()=>{G(async()=>{U&&j(await U.resume()),E(!1)})},children:t.resume})})]})]}),Y&&$,U?.access&&(0,O.jsxs)(`section`,{"aria-labelledby":`computer-app-access-title`,className:`space-y-3`,children:[(0,O.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,O.jsx)(`h2`,{id:`computer-app-access-title`,className:`text-sm font-semibold text-fg`,children:t.appAccess}),!P?.allowAllApps&&(0,O.jsxs)(x,{disabled:y,"aria-expanded":z,"aria-controls":z?`computer-app-picker`:void 0,onClick:()=>{B(e=>!e),R(``)},children:[z?(0,O.jsx)(l,{className:`size-4`,"aria-hidden":!0}):(0,O.jsx)(p,{className:`size-4`,"aria-hidden":!0}),z?t.doneAdding:t.addApp]})]}),P?(0,O.jsxs)(`div`,{className:`overflow-hidden rounded-2xl border border-edge bg-surface-panel`,children:[(0,O.jsx)(k,{icon:(0,O.jsx)(f,{className:`size-5`}),title:t.anyApp,description:t.anyAppDescription,children:(0,O.jsx)(`button`,{type:`button`,role:`switch`,"aria-label":t.anyApp,"aria-checked":P.allowAllApps===!0,disabled:y,onClick:()=>{G(async()=>{F(await U.setAllAppAccess(!P.allowAllApps)),B(!1)})},className:`touch-target flex items-center rounded-lg px-1 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent disabled:opacity-50`,children:(0,O.jsx)(`span`,{className:`flex h-6 w-11 items-center rounded-full p-0.5 transition-colors ${P.allowAllApps?`bg-accent`:`bg-fg-muted/30`}`,children:(0,O.jsx)(`span`,{className:`size-5 rounded-full bg-white transition-transform ${P.allowAllApps?`translate-x-5`:`translate-x-0`}`})})})}),!P.allowAllApps&&(0,O.jsx)(`div`,{className:`border-t border-edge-subtle`,children:Z.length?Z.map(e=>(0,O.jsxs)(`div`,{className:`flex min-h-16 items-center justify-between gap-3 border-b border-edge-subtle px-4 py-3 last:border-b-0 sm:px-5`,children:[(0,O.jsxs)(`div`,{className:`min-w-0`,children:[(0,O.jsx)(`p`,{className:`truncate text-sm font-medium text-fg`,children:e.name}),(0,O.jsx)(`p`,{className:`truncate text-xs text-fg-muted`,children:e.appId})]}),(0,O.jsx)(x,{disabled:y,variant:`ghost`,onClick:()=>{G(async()=>{let t=await U.setAppAccess(e.appId,!1);F(e=>e&&{...e,authorizedAppIds:t.authorizedAppIds})})},children:t.revokeApp})]},e.appId)):(0,O.jsx)(`p`,{className:`px-5 py-6 text-center text-sm text-fg-muted`,children:t.noAuthorizedApps})})]}):re?(0,O.jsx)(`p`,{role:`alert`,className:`text-sm text-danger`,children:t.appListError}):(0,O.jsx)(g,{className:`h-20 w-full rounded-xl`}),z&&!P?.allowAllApps&&(0,O.jsxs)(`div`,{id:`computer-app-picker`,className:`space-y-3 rounded-2xl border border-edge bg-surface-panel p-4`,children:[(0,O.jsxs)(`div`,{className:`flex gap-2`,children:[(0,O.jsx)(`input`,{"aria-label":t.searchApps,value:L,onChange:e=>R(e.target.value),placeholder:t.searchApps,className:`min-w-0 flex-1 rounded-lg border border-edge bg-surface-base px-3 py-2 text-sm text-fg focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`}),(0,O.jsx)(x,{disabled:y,onClick:()=>{G(async()=>{F(await U.access()),I(!1)})},children:t.refreshApps})]}),P&&(0,O.jsx)(`div`,{className:`max-h-64 overflow-y-auto rounded-xl border border-edge`,children:Q.length?Q.map(e=>(0,O.jsxs)(`div`,{className:`flex min-h-14 items-center justify-between gap-3 border-b border-edge-subtle px-3 py-2 last:border-b-0`,children:[(0,O.jsxs)(`div`,{className:`min-w-0`,children:[(0,O.jsx)(`p`,{className:`truncate text-sm font-medium text-fg`,children:e.name}),(0,O.jsx)(`p`,{className:`truncate text-xs text-fg-muted`,children:e.appId})]}),(0,O.jsx)(x,{disabled:y,variant:`secondary`,onClick:()=>{G(async()=>{let t=await U.setAppAccess(e.appId,!0);F(e=>e&&{...e,authorizedAppIds:t.authorizedAppIds})})},children:t.authorizeApp})]},e.appId)):(0,O.jsx)(`p`,{className:`px-3 py-5 text-center text-sm text-fg-muted`,children:P.appsBusy?t.appsBusy:P.appsUnavailable?t.appListError:t.noMatchingApps})})]})]}),(0,O.jsx)(ne,{zh:e}),!Y&&$,(0,O.jsxs)(`section`,{"aria-labelledby":`computer-browser-title`,className:`space-y-3`,children:[(0,O.jsx)(`h2`,{id:`computer-browser-title`,className:`text-sm font-semibold text-fg`,children:t.otherControl}),(0,O.jsx)(`div`,{className:`overflow-hidden rounded-2xl border border-edge bg-surface-panel`,children:(0,O.jsx)(k,{icon:(0,O.jsx)(u,{className:`size-5`}),title:t.browser,description:_?_.browser?.enabled?t.browserEnabled:t.browserDisabled:t.checking,children:(0,O.jsx)(x,{asChild:!0,children:(0,O.jsx)(i,{to:`/settings/agent-browser`,children:t.manage})})})})]}),(0,O.jsx)(`p`,{className:`text-xs text-fg-muted`,children:t.previewFootnote})]})}export{A as ComputerSettingsPage,M as ComputerSettingsPanel};
@@ -1 +1 @@
1
- import"./rolldown-runtime-aKtaBQYM.js";import{a as e,n as t,t as n}from"./vendor-react-BOUWij0V.js";import{i as r,o as i}from"./locale-store-B7y-RVe8.js";import{t as a}from"./x-B_N4OPjy.js";import{t as o}from"./skeleton-BI5TyibZ.js";import{n as s}from"./model-selector-DJSVr3LM.js";var c=t();e();var l=n();function u(e){let t=(0,c.c)(30),{primary:n,value:r,models:i,loading:u,error:d,zh:f,onChange:p}=e,m;if(t[0]!==i||t[1]!==n||t[2]!==r){let e;t[4]!==n||t[5]!==r?(e=e=>e.id!==n&&!r.includes(e.id),t[4]=n,t[5]=r,t[6]=e):e=t[6],m=i.filter(e),t[0]=i,t[1]=n,t[2]=r,t[3]=m}else m=t[3];let h=m,g=f?`回退顺序`:`Fallback order`,_;t[7]===g?_=t[8]:(_=(0,l.jsx)(`h4`,{className:`text-sm font-medium text-fg`,children:g}),t[7]=g,t[8]=_);let v=f?`主模型不可用时,按从左到右的顺序尝试。`:`Tried from left to right when the primary model is unavailable.`,y;t[9]===v?y=t[10]:(y=(0,l.jsx)(`p`,{className:`mt-1 text-xs text-fg-muted`,children:v}),t[9]=v,t[10]=y);let b;t[11]!==_||t[12]!==y?(b=(0,l.jsx)(`div`,{className:`flex items-center justify-between gap-3`,children:(0,l.jsxs)(`div`,{children:[_,y]})}),t[11]=_,t[12]=y,t[13]=b):b=t[13];let x;t[14]!==i||t[15]!==p||t[16]!==r||t[17]!==f?(x=r.length>0?(0,l.jsx)(`div`,{className:`mt-3 flex flex-wrap gap-2`,children:r.map((e,t)=>(0,l.jsxs)(`span`,{className:`inline-flex items-center gap-2 rounded-full bg-surface-base/70 py-1 pl-2.5 pr-1 text-xs text-fg`,children:[(0,l.jsx)(`span`,{className:`text-fg-subtle`,children:t+1}),(0,l.jsx)(`span`,{children:i.find(t=>t.id===e)?.name??e}),(0,l.jsx)(`button`,{type:`button`,"aria-label":f?`移除 ${e}`:`Remove ${e}`,className:`rounded-full p-1 text-fg-muted hover:bg-surface-hover hover:text-fg`,onClick:()=>p(r.filter(t=>t!==e)),children:(0,l.jsx)(a,{className:`size-3`})})]},e))}):(0,l.jsx)(`p`,{className:`mt-3 text-xs text-fg-subtle`,children:f?`未设置回退模型。`:`No fallback models configured.`}),t[14]=i,t[15]=p,t[16]=r,t[17]=f,t[18]=x):x=t[18];let S;t[19]!==h||t[20]!==d||t[21]!==u||t[22]!==p||t[23]!==r||t[24]!==f?(S=u?(0,l.jsx)(o,{className:`mt-3 h-11 w-full max-w-md rounded-lg`}):(0,l.jsx)(s,{value:``,models:h,modelsLoading:u,modelsError:d,placeholder:f?`添加回退模型`:`Add fallback model`,searchPlaceholder:f?`搜索模型或服务商`:`Search models or providers`,noMatches:f?`没有可添加的模型`:`No models available to add`,showProviderInTrigger:!1,contentAlign:`start`,className:`mt-3 w-full max-w-md`,ariaLabel:f?`添加回退模型`:`Add fallback model`,onChange:e=>{e&&p([...r,e])}}),t[19]=h,t[20]=d,t[21]=u,t[22]=p,t[23]=r,t[24]=f,t[25]=S):S=t[25];let C;return t[26]!==b||t[27]!==x||t[28]!==S?(C=(0,l.jsxs)(`div`,{children:[b,x,S]}),t[26]=b,t[27]=x,t[28]=S,t[29]=C):C=t[29],C}async function d(){let e=await i(r(`/api/image-generation/catalog`));if(!Array.isArray(e.payload?.providers))throw Error(`Invalid image provider catalog`);return e.payload.providers}async function f(){let e=await i(r(`/api/image-generation/custom-providers`));if(!Array.isArray(e.payload?.providers))throw Error(`Invalid custom image provider list`);return e.payload.providers}async function p(e,t){await i(r(`/api/image-generation/custom-providers/${encodeURIComponent(e)}`),{method:`PUT`,body:JSON.stringify(t)})}async function m(e){await i(r(`/api/image-generation/custom-providers/${encodeURIComponent(e)}`),{method:`DELETE`})}async function h(e,t){await i(r(`/api/image-generation/providers/${encodeURIComponent(e)}/credential`),{method:`PUT`,body:JSON.stringify({apiKey:t})})}async function g(e,t){let n=await i(r(`/api/image-generation/providers/${encodeURIComponent(e)}/test`),{method:`POST`,body:JSON.stringify({modelId:t})});if(!Array.isArray(n.payload?.images))throw Error(`Invalid image generation test response`);return{images:n.payload.images}}export{h as a,p as i,f as n,g as o,d as r,u as s,m as t};
1
+ import"./rolldown-runtime-aKtaBQYM.js";import{a as e,n as t,t as n}from"./vendor-react-BOUWij0V.js";import{i as r,o as i}from"./locale-store-B7y-RVe8.js";import{t as a}from"./x-B_N4OPjy.js";import{t as o}from"./skeleton-BI5TyibZ.js";import{n as s}from"./model-selector-YsCHu1Gn.js";var c=t();e();var l=n();function u(e){let t=(0,c.c)(30),{primary:n,value:r,models:i,loading:u,error:d,zh:f,onChange:p}=e,m;if(t[0]!==i||t[1]!==n||t[2]!==r){let e;t[4]!==n||t[5]!==r?(e=e=>e.id!==n&&!r.includes(e.id),t[4]=n,t[5]=r,t[6]=e):e=t[6],m=i.filter(e),t[0]=i,t[1]=n,t[2]=r,t[3]=m}else m=t[3];let h=m,g=f?`回退顺序`:`Fallback order`,_;t[7]===g?_=t[8]:(_=(0,l.jsx)(`h4`,{className:`text-sm font-medium text-fg`,children:g}),t[7]=g,t[8]=_);let v=f?`主模型不可用时,按从左到右的顺序尝试。`:`Tried from left to right when the primary model is unavailable.`,y;t[9]===v?y=t[10]:(y=(0,l.jsx)(`p`,{className:`mt-1 text-xs text-fg-muted`,children:v}),t[9]=v,t[10]=y);let b;t[11]!==_||t[12]!==y?(b=(0,l.jsx)(`div`,{className:`flex items-center justify-between gap-3`,children:(0,l.jsxs)(`div`,{children:[_,y]})}),t[11]=_,t[12]=y,t[13]=b):b=t[13];let x;t[14]!==i||t[15]!==p||t[16]!==r||t[17]!==f?(x=r.length>0?(0,l.jsx)(`div`,{className:`mt-3 flex flex-wrap gap-2`,children:r.map((e,t)=>(0,l.jsxs)(`span`,{className:`inline-flex items-center gap-2 rounded-full bg-surface-base/70 py-1 pl-2.5 pr-1 text-xs text-fg`,children:[(0,l.jsx)(`span`,{className:`text-fg-subtle`,children:t+1}),(0,l.jsx)(`span`,{children:i.find(t=>t.id===e)?.name??e}),(0,l.jsx)(`button`,{type:`button`,"aria-label":f?`移除 ${e}`:`Remove ${e}`,className:`rounded-full p-1 text-fg-muted hover:bg-surface-hover hover:text-fg`,onClick:()=>p(r.filter(t=>t!==e)),children:(0,l.jsx)(a,{className:`size-3`})})]},e))}):(0,l.jsx)(`p`,{className:`mt-3 text-xs text-fg-subtle`,children:f?`未设置回退模型。`:`No fallback models configured.`}),t[14]=i,t[15]=p,t[16]=r,t[17]=f,t[18]=x):x=t[18];let S;t[19]!==h||t[20]!==d||t[21]!==u||t[22]!==p||t[23]!==r||t[24]!==f?(S=u?(0,l.jsx)(o,{className:`mt-3 h-11 w-full max-w-md rounded-lg`}):(0,l.jsx)(s,{value:``,models:h,modelsLoading:u,modelsError:d,placeholder:f?`添加回退模型`:`Add fallback model`,searchPlaceholder:f?`搜索模型或服务商`:`Search models or providers`,noMatches:f?`没有可添加的模型`:`No models available to add`,showProviderInTrigger:!1,contentAlign:`start`,className:`mt-3 w-full max-w-md`,ariaLabel:f?`添加回退模型`:`Add fallback model`,onChange:e=>{e&&p([...r,e])}}),t[19]=h,t[20]=d,t[21]=u,t[22]=p,t[23]=r,t[24]=f,t[25]=S):S=t[25];let C;return t[26]!==b||t[27]!==x||t[28]!==S?(C=(0,l.jsxs)(`div`,{children:[b,x,S]}),t[26]=b,t[27]=x,t[28]=S,t[29]=C):C=t[29],C}async function d(){let e=await i(r(`/api/image-generation/catalog`));if(!Array.isArray(e.payload?.providers))throw Error(`Invalid image provider catalog`);return e.payload.providers}async function f(){let e=await i(r(`/api/image-generation/custom-providers`));if(!Array.isArray(e.payload?.providers))throw Error(`Invalid custom image provider list`);return e.payload.providers}async function p(e,t){await i(r(`/api/image-generation/custom-providers/${encodeURIComponent(e)}`),{method:`PUT`,body:JSON.stringify(t)})}async function m(e){await i(r(`/api/image-generation/custom-providers/${encodeURIComponent(e)}`),{method:`DELETE`})}async function h(e,t){await i(r(`/api/image-generation/providers/${encodeURIComponent(e)}/credential`),{method:`PUT`,body:JSON.stringify({apiKey:t})})}async function g(e,t){let n=await i(r(`/api/image-generation/providers/${encodeURIComponent(e)}/test`),{method:`POST`,body:JSON.stringify({modelId:t})});if(!Array.isArray(n.payload?.images))throw Error(`Invalid image generation test response`);return{images:n.payload.images}}export{h as a,p as i,f as n,g as o,d as r,u as s,m as t};