@xopcai/xopc 0.0.110 → 0.0.112

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 (583) hide show
  1. package/README.md +46 -4
  2. package/README.zh-CN.md +46 -4
  3. package/dist/browser-ext/manifest.json +1 -1
  4. package/dist/extensions/feishu/src/outbound/media-load.js +1 -1
  5. package/dist/extensions/feishu/src/workflow-progress.js +1 -1
  6. package/dist/extensions/telegram/src/adapters/streaming-adapter.js +1 -1
  7. package/dist/extensions/telegram/src/inbound-processor.js +1 -1
  8. package/dist/extensions/telegram/src/plugin.js +1 -1
  9. package/dist/extensions/telegram/src/routing-integration.js +2 -2
  10. package/dist/extensions/telegram/src/update-offset-store.js +1 -1
  11. package/dist/extensions/telegram/src/workflow-progress.js +1 -1
  12. package/dist/extensions/telegram/xopc.extension.json +1 -1
  13. package/dist/extensions/weixin/src/api/api.js +2 -2
  14. package/dist/extensions/weixin/src/auth/accounts.js +1 -1
  15. package/dist/extensions/weixin/src/cdn/upload.js +1 -1
  16. package/dist/extensions/weixin/src/media/data-url.js +1 -1
  17. package/dist/extensions/weixin/src/messaging/debug-mode.js +1 -1
  18. package/dist/extensions/weixin/src/messaging/inbound.js +1 -1
  19. package/dist/extensions/weixin/src/messaging/process-message.js +1 -1
  20. package/dist/extensions/weixin/src/plugin.js +1 -1
  21. package/dist/extensions/weixin/src/storage/sync-buf.js +1 -1
  22. package/dist/extensions/weixin/src/workflow-progress.js +1 -1
  23. package/dist/gateway/static/root/apple-touch-icon.png +0 -0
  24. package/dist/gateway/static/root/assets/Combination-BzaXOLd9.js +41 -0
  25. package/dist/gateway/static/root/assets/agent-avatar-dicebear-EhRp-ZMa.js +1 -0
  26. package/dist/gateway/static/root/assets/agent-browser-settings-page-H4foVCiS.js +6 -0
  27. package/dist/gateway/static/root/assets/agent-defaults-tabbed-page-DDNw2oNU.js +1 -0
  28. package/dist/gateway/static/root/assets/agents-E_X2kzS1.js +71 -0
  29. package/dist/gateway/static/root/assets/app-management-settings-panel-BIy7KEsM.js +1 -0
  30. package/dist/gateway/static/root/assets/appearance-settings-DGQG8NwA.js +1 -0
  31. package/dist/gateway/static/root/assets/apps-page-BZLvInLr.js +1 -0
  32. package/dist/gateway/static/root/assets/archive-plugin-uuQPupqx.js +1 -0
  33. package/dist/gateway/static/root/assets/attachment-load-DBkv0cAv.js +2 -0
  34. package/dist/gateway/static/root/assets/{attachment-preview-renderer-CybMSIoS.js → attachment-preview-renderer-DonnL2dL.js} +1 -1
  35. package/dist/gateway/static/root/assets/binary-plugins-DxxN_VAR.js +2 -0
  36. package/dist/gateway/static/root/assets/block-editor-CwnUlRmO.js +180 -0
  37. package/dist/gateway/static/root/assets/channels-settings-BHvUKlzw.js +1 -0
  38. package/dist/gateway/static/root/assets/cn-JdwAhgNB.js +1 -0
  39. package/dist/gateway/static/root/assets/code-editor-dZTY2dRW.js +1 -0
  40. package/dist/gateway/static/root/assets/config-api-BD-NcD5d.js +3 -0
  41. package/dist/gateway/static/root/assets/config-reload-event-Bjh2zoKp.js +1 -0
  42. package/dist/gateway/static/root/assets/connectors-settings-VBzXcEXL.js +2 -0
  43. package/dist/gateway/static/root/assets/cron-api-C5DoipZA.js +1 -0
  44. package/dist/gateway/static/root/assets/cron-dreaming-jobs-nCMWCf0p.js +1 -0
  45. package/dist/gateway/static/root/assets/cron-page-BLTpdm34.js +3 -0
  46. package/dist/gateway/static/root/assets/dist-By6Rh2ee.js +1 -0
  47. package/dist/gateway/static/root/assets/dist-CkobR7mk.js +1 -0
  48. package/dist/gateway/static/root/assets/dist-DokQNVMQ.js +1 -0
  49. package/dist/gateway/static/root/assets/dreaming-scene-BHMRVEUS.js +4585 -0
  50. package/dist/gateway/static/root/assets/dreaming-settings-DSVhXTPq.js +1 -0
  51. package/dist/gateway/static/root/assets/extension-debug-page-BDHA9o_e.js +1 -0
  52. package/dist/gateway/static/root/assets/{extension-page-W1wiG38F.js → extension-page-DmDLVSPE.js} +1 -1
  53. package/dist/gateway/static/root/assets/extension-settings-page-1124aHw_.js +1 -0
  54. package/dist/gateway/static/root/assets/fetch-DOe56Wmy.js +1 -0
  55. package/dist/gateway/static/root/assets/format-cron-label-BsotZDO5.js +2 -0
  56. package/dist/gateway/static/root/assets/format-interval-label-tsMSvBSR.js +1 -0
  57. package/dist/gateway/static/root/assets/gateway-config-api-CsD4FC9D.js +1 -0
  58. package/dist/gateway/static/root/assets/gateway-settings-HQ8FBhY2.js +1 -0
  59. package/dist/gateway/static/root/assets/gateway-startup-retry-C1zg7pH3.js +1 -0
  60. package/dist/gateway/static/root/assets/goal-detail-page-BG3Onph0.js +1 -0
  61. package/dist/gateway/static/root/assets/goals-page-DgeKn8zL.js +2 -0
  62. package/dist/gateway/static/root/assets/goals-settings-B5nI6lgz.js +1 -0
  63. package/dist/gateway/static/root/assets/heartbeat-config-api-CIv42nJD.js +1 -0
  64. package/dist/gateway/static/root/assets/heartbeat-settings-DFcVuJ3M.js +1 -0
  65. package/dist/gateway/static/root/assets/html-workspace-editor-CQLWDiwE.js +1 -0
  66. package/dist/gateway/static/root/assets/index-5A_ZaABy.css +1 -0
  67. package/dist/gateway/static/root/assets/index-BTmbp2AU.js +121 -0
  68. package/dist/gateway/static/root/assets/interval-presets-DGP3S7OB.js +1 -0
  69. package/dist/gateway/static/root/assets/keyboard-shortcuts-settings-fETaDYQP.js +1 -0
  70. package/dist/gateway/static/root/assets/locale-store-DjbfSsfA.js +1 -0
  71. package/dist/gateway/static/root/assets/logs-page-B1-b27lK.js +2 -0
  72. package/dist/gateway/static/root/assets/markdown-editor-AssmZFx4.js +2 -0
  73. package/dist/gateway/static/root/assets/markdown-split-CgeBJMOD.js +1 -0
  74. package/dist/gateway/static/root/assets/media-plugins-C30GzlV2.js +1 -0
  75. package/dist/gateway/static/root/assets/mermaid-render-BbqDc_LQ.js +134 -0
  76. package/dist/gateway/static/root/assets/messages-BUUfPaZ9.js +3 -0
  77. package/dist/gateway/static/root/assets/middleware-Pd0e8Igk.js +1 -0
  78. package/dist/gateway/static/root/assets/models-hub-panel-DPcTS1-u.js +2 -0
  79. package/dist/gateway/static/root/assets/note-detail-page-xeGb4owe.js +2 -0
  80. package/dist/gateway/static/root/assets/note-image-lightbox-t1g0qZYh.js +1 -0
  81. package/dist/gateway/static/root/assets/note-time-hm6JO_Wi.js +1 -0
  82. package/dist/gateway/static/root/assets/notes-page-C_TdnKBe.js +1 -0
  83. package/dist/gateway/static/root/assets/preview-open-alternatives-DeWp9x5g.js +1 -0
  84. package/dist/gateway/static/root/assets/remote-access-hub-BtkPmJIN.js +1 -0
  85. package/dist/gateway/static/root/assets/save-bar-controls-BOaAOJI3.js +1 -0
  86. package/dist/gateway/static/root/assets/schedule-field-BLWLKqgw.js +1 -0
  87. package/dist/gateway/static/root/assets/schema-form-plqRFYT8.js +1 -0
  88. package/dist/gateway/static/root/assets/sessions-page-DOUjxzJm.js +1 -0
  89. package/dist/gateway/static/root/assets/settings-advanced-gate-qK_bnTrw.js +1 -0
  90. package/dist/gateway/static/root/assets/settings-collapsible-section-BP5zRrDI.js +1 -0
  91. package/dist/gateway/static/root/assets/settings-form-section-Bv8MZplG.js +1 -0
  92. package/dist/gateway/static/root/assets/settings-page-DmDfE1ww.js +1 -0
  93. package/dist/gateway/static/root/assets/setup-status-panel-BEFwNcIZ.js +1 -0
  94. package/dist/gateway/static/root/assets/share-preview-page-4OX1YCgp.js +2 -0
  95. package/dist/gateway/static/root/assets/shares-settings-CbKmJZot.js +1 -0
  96. package/dist/gateway/static/root/assets/skill-reload-api-YdtnUHtK.js +1 -0
  97. package/dist/gateway/static/root/assets/skills-page-DwW1IzQ0.js +2 -0
  98. package/dist/gateway/static/root/assets/system-settings-panel-CGy4f_s2.js +1 -0
  99. package/dist/gateway/static/root/assets/theme-store-CD2wtgZV.js +1 -0
  100. package/dist/gateway/static/root/assets/use-agent-defaults-form-BMuMvzl_.js +1 -0
  101. package/dist/gateway/static/root/assets/use-blob-object-url-D4BFuzZB.js +1 -0
  102. package/dist/gateway/static/root/assets/use-channel-catalog-CjGHnDvN.js +1 -0
  103. package/dist/gateway/static/root/assets/use-settings-tab-guard-BMMFa0oA.js +1 -0
  104. package/dist/gateway/static/root/assets/vendor-codemirror-CNP1wPe7.js +45 -0
  105. package/dist/gateway/static/root/assets/voice-api-key-field-DnRbhMNq.js +1 -0
  106. package/dist/gateway/static/root/assets/voice-player-store-D5vzWwls.js +1 -0
  107. package/dist/gateway/static/root/assets/{workflow-page.utils-EYg_xBQS.js → workflow-page.utils-tjGpRVnw.js} +1 -1
  108. package/dist/gateway/static/root/assets/workflows-page-DqqHKGj2.js +18 -0
  109. package/dist/gateway/static/root/favicon-16x16.png +0 -0
  110. package/dist/gateway/static/root/favicon-32x32.png +0 -0
  111. package/dist/gateway/static/root/favicon.ico +0 -0
  112. package/dist/gateway/static/root/favicon.svg +14 -12
  113. package/dist/gateway/static/root/index.html +18 -15
  114. package/dist/package.js +1 -1
  115. package/dist/src/agent/agent-manager.d.ts +28 -2
  116. package/dist/src/agent/agent-manager.js +82 -11
  117. package/dist/src/agent/agent-manager.js.map +1 -1
  118. package/dist/src/agent/agent-scope.js +1 -1
  119. package/dist/src/agent/bootstrap/load-bootstrap-files.js +1 -1
  120. package/dist/src/agent/context/workspace-seed.js +2 -2
  121. package/dist/src/agent/context/workspace-state.js +1 -1
  122. package/dist/src/agent/context/workspace.js +1 -1
  123. package/dist/src/agent/goals/checklist-judge.d.ts +5 -0
  124. package/dist/src/agent/goals/checklist-judge.js +26 -2
  125. package/dist/src/agent/goals/checklist-judge.js.map +1 -1
  126. package/dist/src/agent/goals/evaluate-turn.d.ts +5 -1
  127. package/dist/src/agent/goals/evaluate-turn.js +29 -3
  128. package/dist/src/agent/goals/evaluate-turn.js.map +1 -1
  129. package/dist/src/agent/goals/goal-locale.d.ts +0 -2
  130. package/dist/src/agent/goals/goal-locale.js +3 -16
  131. package/dist/src/agent/goals/goal-locale.js.map +1 -1
  132. package/dist/src/agent/goals/persistent-goal-service.d.ts +9 -0
  133. package/dist/src/agent/goals/persistent-goal-service.js +3 -2
  134. package/dist/src/agent/goals/persistent-goal-service.js.map +1 -1
  135. package/dist/src/agent/goals/post-turn.d.ts +7 -0
  136. package/dist/src/agent/goals/post-turn.js +70 -25
  137. package/dist/src/agent/goals/post-turn.js.map +1 -1
  138. package/dist/src/agent/goals/state.d.ts +0 -5
  139. package/dist/src/agent/goals/state.js +1 -96
  140. package/dist/src/agent/goals/state.js.map +1 -1
  141. package/dist/src/agent/image/load-image-media.js +2 -2
  142. package/dist/src/agent/ipc/inbox.js +3 -3
  143. package/dist/src/agent/ipc/socket.js +1 -1
  144. package/dist/src/agent/mcp/bundle-mcp-materialize.js +1 -1
  145. package/dist/src/agent/mcp/bundle-mcp-runtime.js +1 -1
  146. package/dist/src/agent/mcp/mcp-transport-config.js +1 -1
  147. package/dist/src/agent/mcp/mcp-transport.js +1 -1
  148. package/dist/src/agent/memory/builtin-memory-store.js +1 -1
  149. package/dist/src/agent/memory/dreaming/deep-promotion.js +1 -1
  150. package/dist/src/agent/memory/dreaming/events.js +1 -1
  151. package/dist/src/agent/memory/dreaming/last-run.js +1 -1
  152. package/dist/src/agent/memory/dreaming/light-sweep.js +1 -1
  153. package/dist/src/agent/memory/dreaming/preview.js +1 -1
  154. package/dist/src/agent/memory/dreaming/rem-patterns.js +1 -1
  155. package/dist/src/agent/memory/dreaming/short-term-store.js +1 -1
  156. package/dist/src/agent/memory/dreaming/utils.js +1 -1
  157. package/dist/src/agent/memory/memory-flush.js +1 -1
  158. package/dist/src/agent/memory/plugin-discovery.js +1 -1
  159. package/dist/src/agent/messaging/command-handler.d.ts +7 -0
  160. package/dist/src/agent/messaging/command-handler.js +11 -2
  161. package/dist/src/agent/messaging/command-handler.js.map +1 -1
  162. package/dist/src/agent/models/manager.js +1 -1
  163. package/dist/src/agent/prompt/memory/index.js +1 -1
  164. package/dist/src/agent/prompt/service-prompt-builder.js +2 -2
  165. package/dist/src/agent/reply/post-compaction-context.js +1 -1
  166. package/dist/src/agent/reply/workspace-boundary-read.js +1 -1
  167. package/dist/src/agent/sandbox/path-policy.js +2 -2
  168. package/dist/src/agent/service/direct-turn-helpers.d.ts +2 -0
  169. package/dist/src/agent/service/direct-turn-helpers.js +3 -2
  170. package/dist/src/agent/service/direct-turn-helpers.js.map +1 -1
  171. package/dist/src/agent/service/process-direct-streaming.js +10 -1
  172. package/dist/src/agent/service/process-direct-streaming.js.map +1 -1
  173. package/dist/src/agent/service/reconcile-dreaming-cron.js +8 -5
  174. package/dist/src/agent/service/reconcile-dreaming-cron.js.map +1 -1
  175. package/dist/src/agent/service.d.ts +2 -1
  176. package/dist/src/agent/service.js +30 -6
  177. package/dist/src/agent/service.js.map +1 -1
  178. package/dist/src/agent/service.types.d.ts +12 -0
  179. package/dist/src/agent/session/session-config-service.d.ts +8 -0
  180. package/dist/src/agent/session/session-config-service.js +20 -0
  181. package/dist/src/agent/session/session-config-service.js.map +1 -1
  182. package/dist/src/agent/session/session-inspector.js +1 -1
  183. package/dist/src/agent/skills/config.js +2 -2
  184. package/dist/src/agent/skills/filesystem-watcher.d.ts +19 -0
  185. package/dist/src/agent/skills/filesystem-watcher.js +182 -0
  186. package/dist/src/agent/skills/filesystem-watcher.js.map +1 -0
  187. package/dist/src/agent/skills/hub-hash.js +2 -2
  188. package/dist/src/agent/skills/hub-lock.js +1 -1
  189. package/dist/src/agent/skills/hub-pull.js +30 -36
  190. package/dist/src/agent/skills/hub-pull.js.map +1 -1
  191. package/dist/src/agent/skills/index.js +82 -38
  192. package/dist/src/agent/skills/index.js.map +1 -1
  193. package/dist/src/agent/skills/installer.js +2 -2
  194. package/dist/src/agent/skills/managed-store.d.ts +19 -0
  195. package/dist/src/agent/skills/managed-store.js +97 -38
  196. package/dist/src/agent/skills/managed-store.js.map +1 -1
  197. package/dist/src/agent/skills/skill-manage-ops.js +1 -1
  198. package/dist/src/agent/skills/skill-manager.d.ts +16 -6
  199. package/dist/src/agent/skills/skill-manager.js +79 -24
  200. package/dist/src/agent/skills/skill-manager.js.map +1 -1
  201. package/dist/src/agent/skills/skill-view-path.js +1 -1
  202. package/dist/src/agent/skills/test-framework.js +1 -1
  203. package/dist/src/agent/skills/types.d.ts +11 -0
  204. package/dist/src/agent/skills/watcher.js +1 -1
  205. package/dist/src/agent/starter-agents.js +1 -1
  206. package/dist/src/agent/tools/cronjob-tool.d.ts +8 -3
  207. package/dist/src/agent/tools/cronjob-tool.js +82 -24
  208. package/dist/src/agent/tools/cronjob-tool.js.map +1 -1
  209. package/dist/src/agent/tools/dreaming-tool.js +1 -1
  210. package/dist/src/agent/tools/edit.d.ts +2 -0
  211. package/dist/src/agent/tools/edit.js +10 -0
  212. package/dist/src/agent/tools/edit.js.map +1 -1
  213. package/dist/src/agent/tools/factory.js +17 -4
  214. package/dist/src/agent/tools/factory.js.map +1 -1
  215. package/dist/src/agent/tools/find.js +1 -1
  216. package/dist/src/agent/tools/goal-evidence-recorder.d.ts +6 -0
  217. package/dist/src/agent/tools/goal-evidence-recorder.js +34 -0
  218. package/dist/src/agent/tools/goal-evidence-recorder.js.map +1 -0
  219. package/dist/src/agent/tools/goal-tool.d.ts +19 -0
  220. package/dist/src/agent/tools/goal-tool.js +101 -0
  221. package/dist/src/agent/tools/goal-tool.js.map +1 -0
  222. package/dist/src/agent/tools/grep.js +1 -1
  223. package/dist/src/agent/tools/image-generate-tool.js +1 -1
  224. package/dist/src/agent/tools/index.d.ts +1 -0
  225. package/dist/src/agent/tools/index.js +2 -1
  226. package/dist/src/agent/tools/shell.d.ts +2 -0
  227. package/dist/src/agent/tools/shell.js +17 -2
  228. package/dist/src/agent/tools/shell.js.map +1 -1
  229. package/dist/src/agent/tools/skill-manage-tool.js +1 -1
  230. package/dist/src/agent/tools/workflow-tool.d.ts +1 -0
  231. package/dist/src/agent/tools/workflow-tool.js +11 -3
  232. package/dist/src/agent/tools/workflow-tool.js.map +1 -1
  233. package/dist/src/agent/tools/write.d.ts +2 -0
  234. package/dist/src/agent/tools/write.js +11 -0
  235. package/dist/src/agent/tools/write.js.map +1 -1
  236. package/dist/src/agent/workflow/catalog.js +1 -1
  237. package/dist/src/agent/workspace-runtime/registry.d.ts +5 -0
  238. package/dist/src/agent/workspace-runtime/registry.js +7 -0
  239. package/dist/src/agent/workspace-runtime/registry.js.map +1 -1
  240. package/dist/src/ai-assist/text-assist.d.ts +39 -0
  241. package/dist/src/ai-assist/text-assist.js +234 -0
  242. package/dist/src/ai-assist/text-assist.js.map +1 -0
  243. package/dist/src/auth/credentials.js +2 -2
  244. package/dist/src/auth/profiles/store.js +2 -2
  245. package/dist/src/auth/sync-provider-auth.js +1 -1
  246. package/dist/src/browser/cache-dir-policy.js +1 -1
  247. package/dist/src/browser/cdp-local-launcher.js +2 -2
  248. package/dist/src/browser/providers/browser-ext-install.js +4 -4
  249. package/dist/src/browser/providers/cloakbrowser.js +5 -5
  250. package/dist/src/browser/providers/playwright-doctor.js +1 -1
  251. package/dist/src/browser/stealth.js +1 -1
  252. package/dist/src/channels/attachments/inbound-persist.d.ts +7 -0
  253. package/dist/src/channels/attachments/inbound-persist.js +20 -2
  254. package/dist/src/channels/attachments/inbound-persist.js.map +1 -1
  255. package/dist/src/channels/outbound/persist-store.js +1 -1
  256. package/dist/src/channels/pairing/allow-from-file.js +1 -1
  257. package/dist/src/channels/pairing/pairing-store.js +2 -2
  258. package/dist/src/chat-commands/agent-edit.js +2 -2
  259. package/dist/src/chat-commands/builtins/config.js +3 -3
  260. package/dist/src/chat-commands/builtins/goal.d.ts +1 -1
  261. package/dist/src/chat-commands/builtins/goal.js +55 -97
  262. package/dist/src/chat-commands/builtins/goal.js.map +1 -1
  263. package/dist/src/chat-commands/builtins/subgoal.d.ts +1 -1
  264. package/dist/src/chat-commands/builtins/subgoal.js +49 -108
  265. package/dist/src/chat-commands/builtins/subgoal.js.map +1 -1
  266. package/dist/src/chat-commands/builtins/system.js +11 -4
  267. package/dist/src/chat-commands/builtins/system.js.map +1 -1
  268. package/dist/src/chat-commands/builtins/workflow.js +132 -8
  269. package/dist/src/chat-commands/builtins/workflow.js.map +1 -1
  270. package/dist/src/chat-commands/context.d.ts +6 -0
  271. package/dist/src/chat-commands/context.js +12 -0
  272. package/dist/src/chat-commands/context.js.map +1 -1
  273. package/dist/src/chat-commands/types.d.ts +7 -0
  274. package/dist/src/cli/command-catalog.js +43 -0
  275. package/dist/src/cli/command-catalog.js.map +1 -1
  276. package/dist/src/cli/command-loaders.js +1 -0
  277. package/dist/src/cli/command-loaders.js.map +1 -1
  278. package/dist/src/cli/command-manifest.js +4 -0
  279. package/dist/src/cli/command-manifest.js.map +1 -1
  280. package/dist/src/cli/commands/config.js +1 -1
  281. package/dist/src/cli/commands/cron.js +55 -16
  282. package/dist/src/cli/commands/cron.js.map +1 -1
  283. package/dist/src/cli/commands/doctor/checks/config-health.js +1 -1
  284. package/dist/src/cli/commands/doctor/checks/cron-health.js +2 -83
  285. package/dist/src/cli/commands/doctor/checks/cron-health.js.map +1 -1
  286. package/dist/src/cli/commands/doctor/checks/database-schema.js +1 -1
  287. package/dist/src/cli/commands/doctor/checks/provider-auth.js +1 -1
  288. package/dist/src/cli/commands/doctor/checks/state-integrity.js +1 -1
  289. package/dist/src/cli/commands/doctor/checks/workspace-status.js +1 -1
  290. package/dist/src/cli/commands/extension-create.js +1 -1
  291. package/dist/src/cli/commands/extension-dev.js +2 -2
  292. package/dist/src/cli/commands/extension-marketplace.js +2 -2
  293. package/dist/src/cli/commands/extension-pack.js +2 -2
  294. package/dist/src/cli/commands/extension.js +3 -3
  295. package/dist/src/cli/commands/gateway/logs.js +1 -1
  296. package/dist/src/cli/commands/goal.d.ts +4 -0
  297. package/dist/src/cli/commands/goal.js +213 -0
  298. package/dist/src/cli/commands/goal.js.map +1 -0
  299. package/dist/src/cli/commands/image.js +1 -1
  300. package/dist/src/cli/commands/init.js +2 -2
  301. package/dist/src/cli/commands/models.js +1 -1
  302. package/dist/src/cli/commands/onboard.js +11 -5
  303. package/dist/src/cli/commands/onboard.js.map +1 -1
  304. package/dist/src/cli/commands/skills-test.js +1 -1
  305. package/dist/src/cli/templates.js +1 -1
  306. package/dist/src/cli/utils/gateway-client.js +1 -1
  307. package/dist/src/cli/utils/init-workspace-core.js +2 -2
  308. package/dist/src/config/agent-profile.js +1 -1
  309. package/dist/src/config/agent-typed-models.js +1 -1
  310. package/dist/src/config/gateway-bind.js +1 -1
  311. package/dist/src/config/index.js +8 -8
  312. package/dist/src/config/loader.js +4 -4
  313. package/dist/src/config/models-json.js +2 -2
  314. package/dist/src/config/paths-state.js +1 -1
  315. package/dist/src/config/paths.js +1 -1
  316. package/dist/src/config/profile.js +1 -1
  317. package/dist/src/config/reload.js +1 -1
  318. package/dist/src/config/schema.d.ts +115 -2
  319. package/dist/src/config/schema.js +63 -7
  320. package/dist/src/config/schema.js.map +1 -1
  321. package/dist/src/config/web-patch.d.ts +14 -1
  322. package/dist/src/config/web-patch.js +45 -8
  323. package/dist/src/config/web-patch.js.map +1 -1
  324. package/dist/src/config/workspace-path.js +1 -1
  325. package/dist/src/cron/executor.d.ts +2 -0
  326. package/dist/src/cron/executor.js +126 -70
  327. package/dist/src/cron/executor.js.map +1 -1
  328. package/dist/src/cron/index.d.ts +1 -1
  329. package/dist/src/cron/index.js +3 -3
  330. package/dist/src/cron/job-content.js +1 -0
  331. package/dist/src/cron/job-content.js.map +1 -1
  332. package/dist/src/cron/run-log-store.d.ts +1 -0
  333. package/dist/src/cron/run-log-store.js +4 -2
  334. package/dist/src/cron/run-log-store.js.map +1 -1
  335. package/dist/src/cron/schedule.d.ts +10 -0
  336. package/dist/src/cron/schedule.js +85 -0
  337. package/dist/src/cron/schedule.js.map +1 -0
  338. package/dist/src/cron/service.d.ts +34 -77
  339. package/dist/src/cron/service.js +327 -264
  340. package/dist/src/cron/service.js.map +1 -1
  341. package/dist/src/cron/types.d.ts +97 -49
  342. package/dist/src/cron/validation.d.ts +374 -86
  343. package/dist/src/cron/validation.js +156 -129
  344. package/dist/src/cron/validation.js.map +1 -1
  345. package/dist/src/cron/workflow-run-completion.js +1 -1
  346. package/dist/src/daemon/constants.js +1 -1
  347. package/dist/src/daemon/install-plan.js +2 -2
  348. package/dist/src/daemon/launchd.js +2 -2
  349. package/dist/src/daemon/schtasks.js +2 -2
  350. package/dist/src/daemon/systemd.js +2 -2
  351. package/dist/src/extensions/bundle-mcp.js +1 -1
  352. package/dist/src/extensions/discover-extensions.js +2 -2
  353. package/dist/src/extensions/health.js +1 -1
  354. package/dist/src/extensions/install.js +2 -2
  355. package/dist/src/extensions/loader.js +2 -2
  356. package/dist/src/extensions/lockfile.js +3 -3
  357. package/dist/src/extensions/security.js +1 -1
  358. package/dist/src/extensions/update.js +2 -2
  359. package/dist/src/gateway/agents-admin.js +2 -2
  360. package/dist/src/gateway/chat-stream/mapper.d.ts +1 -0
  361. package/dist/src/gateway/chat-stream/mapper.js +6 -2
  362. package/dist/src/gateway/chat-stream/mapper.js.map +1 -1
  363. package/dist/src/gateway/chat-stream/protocol.d.ts +2 -0
  364. package/dist/src/gateway/file-path-classifier.js +2 -2
  365. package/dist/src/gateway/hono/lib/config-payload.d.ts +14 -1
  366. package/dist/src/gateway/hono/lib/config-payload.js +1 -1
  367. package/dist/src/gateway/hono/lib/extension-store.js +2 -2
  368. package/dist/src/gateway/hono/lib/static-ui.js +2 -2
  369. package/dist/src/gateway/hono/oauth-async.js +1 -1
  370. package/dist/src/gateway/hono/routes/agents.js +1 -1
  371. package/dist/src/gateway/hono/routes/ai-assist.d.ts +3 -0
  372. package/dist/src/gateway/hono/routes/ai-assist.js +66 -0
  373. package/dist/src/gateway/hono/routes/ai-assist.js.map +1 -0
  374. package/dist/src/gateway/hono/routes/auth-registry-extensions.js +1 -1
  375. package/dist/src/gateway/hono/routes/commands-skills.js +7 -0
  376. package/dist/src/gateway/hono/routes/commands-skills.js.map +1 -1
  377. package/dist/src/gateway/hono/routes/config-patch/misc.js +1 -1
  378. package/dist/src/gateway/hono/routes/cron.js +24 -5
  379. package/dist/src/gateway/hono/routes/cron.js.map +1 -1
  380. package/dist/src/gateway/hono/routes/dreaming.js +1 -1
  381. package/dist/src/gateway/hono/routes/goals.d.ts +1 -1
  382. package/dist/src/gateway/hono/routes/goals.js +670 -173
  383. package/dist/src/gateway/hono/routes/goals.js.map +1 -1
  384. package/dist/src/gateway/hono/routes/home.d.ts +5 -0
  385. package/dist/src/gateway/hono/routes/home.js +90 -3
  386. package/dist/src/gateway/hono/routes/home.js.map +1 -1
  387. package/dist/src/gateway/hono/routes/host-fs.js +2 -2
  388. package/dist/src/gateway/hono/routes/lazy-bundles.js +8 -0
  389. package/dist/src/gateway/hono/routes/lazy-bundles.js.map +1 -1
  390. package/dist/src/gateway/hono/routes/models.js +1 -1
  391. package/dist/src/gateway/hono/routes/notes.js +20 -14
  392. package/dist/src/gateway/hono/routes/notes.js.map +1 -1
  393. package/dist/src/gateway/hono/routes/shares.js +1 -1
  394. package/dist/src/gateway/hono/routes/workflows.js +8 -4
  395. package/dist/src/gateway/hono/routes/workflows.js.map +1 -1
  396. package/dist/src/gateway/hono/routes/workspace.js +2 -2
  397. package/dist/src/gateway/hono/sse.js.map +1 -1
  398. package/dist/src/gateway/lock.js +3 -3
  399. package/dist/src/gateway/ports.js +1 -1
  400. package/dist/src/gateway/service/agent-runner.d.ts +2 -0
  401. package/dist/src/gateway/service/agent-runner.js +8 -4
  402. package/dist/src/gateway/service/agent-runner.js.map +1 -1
  403. package/dist/src/gateway/service/config-coordinator.js +1 -1
  404. package/dist/src/gateway/service/marketplace-service.d.ts +22 -10
  405. package/dist/src/gateway/service/marketplace-service.js +46 -5
  406. package/dist/src/gateway/service/marketplace-service.js.map +1 -1
  407. package/dist/src/gateway/service/run-gateway-agent.d.ts +3 -0
  408. package/dist/src/gateway/service/run-gateway-agent.js.map +1 -1
  409. package/dist/src/gateway/service.d.ts +8 -0
  410. package/dist/src/gateway/service.js +79 -6
  411. package/dist/src/gateway/service.js.map +1 -1
  412. package/dist/src/gateway/workspace-fs-file-list.js +1 -1
  413. package/dist/src/goals/goal-notifications.d.ts +29 -0
  414. package/dist/src/goals/goal-notifications.js +154 -0
  415. package/dist/src/goals/goal-notifications.js.map +1 -0
  416. package/dist/src/goals/goal-queue-store.d.ts +16 -0
  417. package/dist/src/goals/goal-queue-store.js +131 -0
  418. package/dist/src/goals/goal-queue-store.js.map +1 -0
  419. package/dist/src/goals/goal-queue-types.d.ts +31 -0
  420. package/dist/src/goals/goal-queue-types.js +1 -0
  421. package/dist/src/goals/goal-runner.d.ts +17 -0
  422. package/dist/src/goals/goal-runner.js +127 -0
  423. package/dist/src/goals/goal-runner.js.map +1 -0
  424. package/dist/src/goals/goal-service.d.ts +77 -0
  425. package/dist/src/goals/goal-service.js +261 -0
  426. package/dist/src/goals/goal-service.js.map +1 -0
  427. package/dist/src/goals/goal-store.d.ts +38 -0
  428. package/dist/src/goals/goal-store.js +404 -0
  429. package/dist/src/goals/goal-store.js.map +1 -0
  430. package/dist/src/goals/goal-workflow-judge.d.ts +13 -0
  431. package/dist/src/goals/goal-workflow-judge.js +147 -0
  432. package/dist/src/goals/goal-workflow-judge.js.map +1 -0
  433. package/dist/src/goals/index.d.ts +10 -0
  434. package/dist/src/goals/index.js +7 -0
  435. package/dist/src/goals/types.d.ts +119 -0
  436. package/dist/src/goals/types.js +1 -0
  437. package/dist/src/i18n/goals-bundle.js +1 -1
  438. package/dist/src/i18n/index.js +1 -1
  439. package/dist/src/i18n/share-tool-bundle.js +2 -2
  440. package/dist/src/infra/brew.js +1 -1
  441. package/dist/src/infra/package-json.js +1 -1
  442. package/dist/src/infra/package-update-steps.js +1 -1
  443. package/dist/src/infra/path-env.js +2 -2
  444. package/dist/src/infra/restart.js +1 -1
  445. package/dist/src/infra/stable-node-path.js +1 -1
  446. package/dist/src/infra/update-check.js +1 -1
  447. package/dist/src/infra/update-global.js +1 -1
  448. package/dist/src/infra/update-lock.js +2 -2
  449. package/dist/src/infra/update-restart.js +1 -1
  450. package/dist/src/infra/update-runner.js +1 -1
  451. package/dist/src/infra/update-startup.js +1 -1
  452. package/dist/src/infra/write-file-atomic.js +2 -2
  453. package/dist/src/media/store.js +1 -1
  454. package/dist/src/notes/agent-context.js +1 -1
  455. package/dist/src/notes/service.js +1 -1
  456. package/dist/src/notes/store.js +2 -2
  457. package/dist/src/project-trust/trust-store.js +2 -2
  458. package/dist/src/providers/auth-runtime/auth-profile-store.js +1 -1
  459. package/dist/src/providers/index.js +1 -1
  460. package/dist/src/providers/model-registry.js +4 -4
  461. package/dist/src/session/init-session-turn.js +2 -2
  462. package/dist/src/session/resolve-session.js +3 -3
  463. package/dist/src/session/session-title.js +2 -2
  464. package/dist/src/session/store.js +1 -1
  465. package/dist/src/share/share-auto.js +2 -2
  466. package/dist/src/share/share-store.js +3 -3
  467. package/dist/src/share/share-thumbnail.js +2 -2
  468. package/dist/src/share/share-zip.js +1 -1
  469. package/dist/src/share/site-share-store.js +3 -3
  470. package/dist/src/share/site-static-serve.js +1 -1
  471. package/dist/src/storage/sqlite/connection.js +1 -1
  472. package/dist/src/storage/sqlite/cron-job-repository.d.ts +6 -0
  473. package/dist/src/storage/sqlite/cron-job-repository.js +70 -0
  474. package/dist/src/storage/sqlite/cron-job-repository.js.map +1 -0
  475. package/dist/src/storage/sqlite/cron-run-repository.js +0 -1
  476. package/dist/src/storage/sqlite/cron-run-repository.js.map +1 -1
  477. package/dist/src/storage/sqlite/index.d.ts +1 -0
  478. package/dist/src/storage/sqlite/index.js +2 -1
  479. package/dist/src/storage/sqlite/memory-index-repository.js +2 -2
  480. package/dist/src/storage/sqlite/migrations/006_add_goals.sql +108 -0
  481. package/dist/src/storage/sqlite/migrations/007_goal_run_judge_schema.sql +4 -0
  482. package/dist/src/storage/sqlite/migrations/008_goal_queue_workflow_runs.sql +53 -0
  483. package/dist/src/storage/sqlite/migrations/009_cron_jobs.sql +24 -0
  484. package/dist/src/storage/sqlite/migrations/discover.js +1 -1
  485. package/dist/src/storage/sqlite/migrations/runner.d.ts +1 -1
  486. package/dist/src/storage/sqlite/migrations/runner.js +4 -4
  487. package/dist/src/storage/sqlite/migrations/runner.js.map +1 -1
  488. package/dist/src/storage/sqlite/migrations/runner.ts +1 -1
  489. package/dist/src/storage/sqlite/schema.js +2 -2
  490. package/dist/src/storage/sqlite/schema.sql +188 -0
  491. package/dist/src/tui/clipboard-image.js +3 -3
  492. package/dist/src/tui/extension-host/load-extensions.js +1 -1
  493. package/dist/src/tui/theme-manager.js +1 -1
  494. package/dist/src/tui/tui-command-formatters.js +4 -4
  495. package/dist/src/tui/tui-commands.js +2 -2
  496. package/dist/src/tui/tui-keybindings-file.js +1 -1
  497. package/dist/src/tui/tui-scoped-models.js +2 -2
  498. package/dist/src/tui/tui-settings.js +1 -1
  499. package/dist/src/tui/tui-startup-resources.js +1 -1
  500. package/dist/src/tui/tui.js +6 -6
  501. package/dist/src/tunnel/frpc-binary.js +4 -4
  502. package/dist/src/tunnel/frpc-config.js +1 -1
  503. package/dist/src/tunnel/frpc-extract.js +1 -1
  504. package/dist/src/tunnel/tunnel-state.js +1 -1
  505. package/dist/src/utils/logger/audit.js +1 -1
  506. package/dist/src/utils/logger/log-store.js +1 -1
  507. package/dist/src/utils/logger/rotation.js +1 -1
  508. package/dist/src/utils/logger/stats.d.ts +1 -1
  509. package/dist/src/utils/logger/streams.js +1 -1
  510. package/dist/src/voice/tts/audio.js +1 -1
  511. package/dist/src/voice/tts/providers/edge-speech.js +2 -2
  512. package/dist/src/workflows/domain/run.d.ts +1 -0
  513. package/dist/src/workflows/domain/run.js.map +1 -1
  514. package/dist/src/workflows/draft/workflow-draft-service.js +1 -1
  515. package/dist/src/workflows/engine/projector.js +23 -14
  516. package/dist/src/workflows/engine/projector.js.map +1 -1
  517. package/dist/src/workflows/engine/workflow-engine.d.ts +1 -0
  518. package/dist/src/workflows/engine/workflow-engine.js +36 -0
  519. package/dist/src/workflows/engine/workflow-engine.js.map +1 -1
  520. package/dist/src/workflows/index.js +1 -1
  521. package/dist/src/workflows/service/workflow-run-service.d.ts +1 -0
  522. package/dist/src/workflows/service/workflow-run-service.js +7 -3
  523. package/dist/src/workflows/service/workflow-run-service.js.map +1 -1
  524. package/dist/src/workflows/service/workflow-run-service.types.d.ts +1 -0
  525. package/dist/src/workflows/service/workflow-session-bridge.js +8 -1
  526. package/dist/src/workflows/service/workflow-session-bridge.js.map +1 -1
  527. package/dist/src/workflows/store/event-store.js +1 -1
  528. package/dist/src/workflows/store/run-index-store.d.ts +8 -0
  529. package/dist/src/workflows/store/run-index-store.js +58 -0
  530. package/dist/src/workflows/store/run-index-store.js.map +1 -0
  531. package/dist/src/workflows/store/run-store.d.ts +2 -0
  532. package/dist/src/workflows/store/run-store.js +15 -22
  533. package/dist/src/workflows/store/run-store.js.map +1 -1
  534. package/package.json +10 -5
  535. package/dist/gateway/static/root/assets/Combination-HAlzriaz.js +0 -41
  536. package/dist/gateway/static/root/assets/agents-CFFioJCI.js +0 -78
  537. package/dist/gateway/static/root/assets/apps-page-BYDmkbzG.js +0 -1
  538. package/dist/gateway/static/root/assets/channels-settings-CsbDaMvd.js +0 -1
  539. package/dist/gateway/static/root/assets/circle-check-C23XjkUj.js +0 -1
  540. package/dist/gateway/static/root/assets/copy-Dv6d4Dvw.js +0 -1
  541. package/dist/gateway/static/root/assets/cron-page-Apk-7p4p.js +0 -1
  542. package/dist/gateway/static/root/assets/dist-DmGDgpy2.js +0 -1
  543. package/dist/gateway/static/root/assets/extension-debug-page-pxFC-tUa.js +0 -1
  544. package/dist/gateway/static/root/assets/extension-settings-page-COXSv6xP.js +0 -1
  545. package/dist/gateway/static/root/assets/fetch-CFdKBnE6.js +0 -1
  546. package/dist/gateway/static/root/assets/gateway-startup-retry-DdngdObI.js +0 -1
  547. package/dist/gateway/static/root/assets/heartbeat-config-api-DcmAMYmN.js +0 -1
  548. package/dist/gateway/static/root/assets/index-C_2yKRJX.js +0 -4845
  549. package/dist/gateway/static/root/assets/index-DI5_GsZt.css +0 -1
  550. package/dist/gateway/static/root/assets/logs-page-DvTWUOzd.js +0 -2
  551. package/dist/gateway/static/root/assets/note-detail-page-CZbdugWZ.js +0 -180
  552. package/dist/gateway/static/root/assets/note-time-RdyBZxj3.js +0 -1
  553. package/dist/gateway/static/root/assets/notes-page-mEAwy3e1.js +0 -1
  554. package/dist/gateway/static/root/assets/schema-form-DEvdni_r.js +0 -1
  555. package/dist/gateway/static/root/assets/sessions-page-BsgffzV4.js +0 -1
  556. package/dist/gateway/static/root/assets/settings-advanced-gate-t6v8Dwb8.js +0 -2
  557. package/dist/gateway/static/root/assets/settings-form-section-BoYYZmJG.js +0 -1
  558. package/dist/gateway/static/root/assets/settings-page-ClIthYF8.js +0 -3
  559. package/dist/gateway/static/root/assets/share-preview-page-Dd9et7KD.js +0 -2
  560. package/dist/gateway/static/root/assets/skills-page-DEXtxyfQ.js +0 -2
  561. package/dist/gateway/static/root/assets/theme-store-BZozwAeK.js +0 -1
  562. package/dist/gateway/static/root/assets/url-DQRqHuL-.js +0 -3
  563. package/dist/gateway/static/root/assets/vendor-codemirror-DYoKfS8f.js +0 -45
  564. package/dist/gateway/static/root/assets/voice-api-key-field-CNrKzQrf.js +0 -1
  565. package/dist/gateway/static/root/assets/workflows-page-EMZkzJNN.js +0 -18
  566. package/dist/gateway/static/root/favicon-16.png +0 -0
  567. package/dist/gateway/static/root/favicon-32.png +0 -0
  568. package/dist/src/agent/goals/checklist-user.d.ts +0 -24
  569. package/dist/src/agent/goals/checklist-user.js +0 -92
  570. package/dist/src/agent/goals/checklist-user.js.map +0 -1
  571. package/dist/src/agent/goals/goal-run-store.d.ts +0 -19
  572. package/dist/src/agent/goals/goal-run-store.js +0 -138
  573. package/dist/src/agent/goals/goal-run-store.js.map +0 -1
  574. package/dist/src/agent/goals/goal-run-types.d.ts +0 -28
  575. package/dist/src/agent/goals/goal-run-types.js +0 -6
  576. package/dist/src/agent/goals/goal-run-types.js.map +0 -1
  577. package/dist/src/agent/goals/patch-from-user-action.d.ts +0 -20
  578. package/dist/src/agent/goals/patch-from-user-action.js +0 -103
  579. package/dist/src/agent/goals/patch-from-user-action.js.map +0 -1
  580. package/dist/src/cron/persistence.d.ts +0 -62
  581. package/dist/src/cron/persistence.js +0 -188
  582. package/dist/src/cron/persistence.js.map +0 -1
  583. /package/dist/gateway/static/root/assets/{note-detail-page-D4ZIVQbk.css → block-editor-D4ZIVQbk.css} +0 -0
@@ -0,0 +1 @@
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,n,t as r}from"./vendor-react-BOUWij0V.js";import{t as i}from"./cn-JdwAhgNB.js";import{c as a,i as o,n as s}from"./fetch-DOe56Wmy.js";import{o as c}from"./vendor-swr-BIWyz7Rc.js";import{$ as l,Oi as u,Ss as d,X as f,Y as p,_a as m,br as h,gi as g,ki as _,ko as v,qa as y,rs as b,yr as x}from"./index-BTmbp2AU.js";var S=`/api/image/providers`;async function C(){return(await s(o(`/api/image/providers`)))?.payload?.providers??[]}var w=e(t(),1),ee=n();function T(){return{apiKey:``,region:``,baseUrl:``,imageBaseUrl:``}}function te(e){return e?.apiKey?`••••••••••••`:``}function E(e,t){let n=(()=>{if(!e||typeof e!=`object`||!(`providersConfig`in e))return;let t=e.providersConfig;if(!(!t||typeof t!=`object`||Array.isArray(t)))return t})(),r={};for(let e of t){let t=n?.[e];r[e]={apiKey:te(t),region:t?.region??``,baseUrl:t?.baseUrl??``,imageBaseUrl:t?.imageBaseUrl??``}}return r}function D(e,t,n){let r=e[n].trim();if(r!==t[n].trim())return r||null}function O(e,t){let n=e.trim(),r=t.trim();if(n!==r&&!(l(n)&&l(r)))return n||(r?null:void 0)}function k(e,t,n){let r={};for(let i of e){let e=t[i]??T(),a=n[i]??T();if(JSON.stringify(e)===JSON.stringify(a))continue;let o={},s=O(e.apiKey,a.apiKey);s!==void 0&&(o.apiKey=s);let c=D(e,a,`region`);c!==void 0&&(o.region=c);let l=D(e,a,`baseUrl`);l!==void 0&&(o.baseUrl=l);let u=D(e,a,`imageBaseUrl`);u!==void 0&&(o.imageBaseUrl=u),Object.keys(o).length>0&&(r[i]=o)}return r}async function A(e){let t=await s(o(`/api/image/providers/${encodeURIComponent(e)}/reveal-api-key`),{method:`POST`,headers:{"Content-Type":`application/json`},body:`{}`});if(!t.ok||!t.payload)throw Error(t.error?.message??`Reveal failed`);return t.payload}async function j(e){Object.keys(e).length!==0&&(await s(o(`/api/config`),{method:`PATCH`,body:JSON.stringify({providersConfig:e})}),await x())}var M=r();function ne(e){let t=(0,ee.c)(18),{providerId:n,value:r,onChange:i,labels:a,apiKeyLinks:o,apiKeyLinkLabels:s}=e,c;t[0]===n?c=t[1]:(c=()=>A(n).then(N),t[0]=n,t[1]=c);let l=c,u=`img-cred-key-${n}`,d;t[2]!==a.apiKeyLabel||t[3]!==u?(d=(0,M.jsx)(`label`,{className:`text-xs font-medium text-fg-muted`,htmlFor:u,children:a.apiKeyLabel}),t[2]=a.apiKeyLabel,t[3]=u,t[4]=d):d=t[4];let p;t[5]!==s||t[6]!==o?(p=o.length>0?(0,M.jsx)(`div`,{className:`flex flex-col gap-1`,children:o.map(e=>(0,M.jsxs)(`a`,{href:e.href,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex w-fit items-center gap-1 text-xs font-medium text-accent-fg hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,children:[f(e.kind,s),(0,M.jsx)(v,{className:`size-3`,"aria-hidden":!0})]},`${e.kind}-${e.href}`))}):null,t[5]=s,t[6]=o,t[7]=p):p=t[7];let m=`img-cred-key-${n}`,h;t[8]!==a||t[9]!==i||t[10]!==l||t[11]!==m||t[12]!==r?(h=(0,M.jsx)(g,{id:m,value:r,onChange:i,placeholder:a.optionalPlaceholder,labels:a,reveal:l,loadFailedLabel:a.loadFailed,maskedHelp:a.maskedHelp,notInConfigFile:a.notInConfigFile}),t[8]=a,t[9]=i,t[10]=l,t[11]=m,t[12]=r,t[13]=h):h=t[13];let _;return t[14]!==d||t[15]!==p||t[16]!==h?(_=(0,M.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1 sm:col-span-2`,children:[d,p,h]}),t[14]=d,t[15]=p,t[16]=h,t[17]=_):_=t[17],_}function N(e){return e.apiKey??null}function P(){return i(`w-full rounded-lg border border-edge bg-surface-panel px-3 py-2 text-sm text-fg`,`placeholder:text-fg-subtle`,u)}function re(){return i(P(),`appearance-none bg-[length:1rem] bg-[right_0.5rem_center] bg-no-repeat pr-9`)}var F=`__custom__`;function ie(e,t){if(!e.region.trim()&&!e.imageBaseUrl.trim())return``;let n=e.region.trim().toLowerCase();return t.some(e=>e.value===n)?n:F}function ae(e,t){let n=e.baseUrl.trim().replace(/\/+$/,``);if(!n)return``;let r=t.map(e=>e.value.replace(/\/+$/,``)).indexOf(n);return r>=0?t[r].value:F}function oe(e,t,n){return t===`beijing`?e.dashscopeRegion_beijing:t===`singapore`?e.dashscopeRegion_singapore:t===`us`?e.dashscopeRegion_us:n}function se(e,t){return t===`minimax`?e.minimaxClusterLabel:t===`fal`?e.falQueueBaseLabel:e.baseUrlLabel}function ce(e,t){return t===`minimax`?e.minimaxClusterHint:t===`fal`?e.falQueueBaseHint:null}function le(e,t){return JSON.stringify(e)!==JSON.stringify(t)}function ue(e,t){return t===1?e.modelCountOne:e.modelCountMany.replace(`{count}`,String(t))}function I(e){let t=(0,ee.c)(76),{summaries:n,credDraft:r,credBaseline:a,credDirty:o,credSaving:s,credError:c,credSavedFlash:l,credNoopFlash:u,updateCredRow:f,onDiscardCredentials:h,onSaveCredentials:g,extensionIds:x,showExtensionLinks:S,showImageModelsLink:C,hideActions:te,language:E,apiKeyLinkLabels:D,messages:O}=e,k=te===void 0?!1:te,A;t[0]===n?A=t[1]:(A=n.some(he),t[0]=n,t[1]=A);let j=A,N;t[2]===n?N=t[3]:(N=n.some(me),t[2]=n,t[3]=N);let I=N,[ge,_e]=(0,w.useState)(pe),[ve,L]=(0,w.useState)(fe),R;if(t[4]!==a||t[5]!==r||t[6]!==n){R=new Set;for(let e of n)le(r[e.id]??T(),a[e.id]??T())&&R.add(e.id);t[4]=a,t[5]=r,t[6]=n,t[7]=R}else R=t[7];let z=R,B;t[8]!==z||t[9]!==ve||t[10]!==ge?(B=e=>ve.has(e)?!1:ge.has(e)?!0:z.has(e),t[8]=z,t[9]=ve,t[10]=ge,t[11]=B):B=t[11];let V=B,H;t[12]===V?H=t[13]:(H=e=>{if(V(e)){L(t=>new Set(t).add(e)),_e(t=>{let n=new Set(t);return n.delete(e),n});return}L(t=>{let n=new Set(t);return n.delete(e),n}),_e(t=>new Set(t).add(e))},t[12]=V,t[13]=H);let U=H;if(n.length===0)return null;let W;t[14]===O.credentialsIntro?W=t[15]:(W=(0,M.jsx)(`p`,{children:O.credentialsIntro}),t[14]=O.credentialsIntro,t[15]=W);let G;t[16]!==j||t[17]!==O.regionHint?(G=j?(0,M.jsx)(`p`,{className:`text-fg-subtle`,children:O.regionHint}):null,t[16]=j,t[17]=O.regionHint,t[18]=G):G=t[18];let K;t[19]!==I||t[20]!==O.endpointPresetsHint?(K=I?(0,M.jsx)(`p`,{className:`text-fg-subtle`,children:O.endpointPresetsHint}):null,t[19]=I,t[20]=O.endpointPresetsHint,t[21]=K):K=t[21];let q;t[22]!==C||t[23]!==O.imageModelsLinkTitle||t[24]!==O.openImageModelsPage?(q=C?(0,M.jsx)(`p`,{children:(0,M.jsx)(d,{to:`/settings/credentials?tab=image-models`,className:`font-medium text-accent hover:underline`,title:O.imageModelsLinkTitle,children:O.openImageModelsPage})}):null,t[22]=C,t[23]=O.imageModelsLinkTitle,t[24]=O.openImageModelsPage,t[25]=q):q=t[25];let J;t[26]!==W||t[27]!==G||t[28]!==K||t[29]!==q?(J=(0,M.jsxs)(`div`,{className:`flex flex-col gap-1 text-xs leading-relaxed text-fg-muted`,children:[W,G,K,q]}),t[26]=W,t[27]=G,t[28]=K,t[29]=q,t[30]=J):J=t[30];let Y;t[31]===c?Y=t[32]:(Y=c?(0,M.jsx)(`div`,{className:`rounded-lg border border-red-500/30 bg-red-500/10 px-3 py-2 text-sm text-red-700 dark:text-red-300`,children:c}):null,t[31]=c,t[32]=Y);let X;t[33]!==o||t[34]!==u||t[35]!==l||t[36]!==s||t[37]!==k||t[38]!==h||t[39]!==g||t[40]!==O.credentialsNothingToSave||t[41]!==O.credentialsSaved||t[42]!==O.discardCredentials||t[43]!==O.saveCredentials||t[44]!==O.savingCredentials?(X=k?null:(0,M.jsxs)(`div`,{className:`flex flex-wrap items-center justify-end gap-2`,children:[l?(0,M.jsx)(`span`,{className:`text-sm text-fg-muted`,children:O.credentialsSaved}):null,u?(0,M.jsx)(`span`,{className:`text-sm text-fg-muted`,children:O.credentialsNothingToSave}):null,(0,M.jsx)(_,{type:`button`,variant:`secondary`,onClick:h,disabled:!o||s,children:O.discardCredentials}),(0,M.jsx)(_,{type:`button`,variant:`primary`,onClick:g,disabled:!o||s,children:s?(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(y,{className:`size-3.5 animate-spin`}),(0,M.jsx)(`span`,{className:`ml-1.5`,children:O.savingCredentials})]}):(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(m,{className:`size-3.5`}),(0,M.jsx)(`span`,{className:`ml-1.5`,children:O.saveCredentials})]})})]}),t[33]=o,t[34]=u,t[35]=l,t[36]=s,t[37]=k,t[38]=h,t[39]=g,t[40]=O.credentialsNothingToSave,t[41]=O.credentialsSaved,t[42]=O.discardCredentials,t[43]=O.saveCredentials,t[44]=O.savingCredentials,t[45]=X):X=t[45];let Z;if(t[46]!==D||t[47]!==a||t[48]!==r||t[49]!==x||t[50]!==V||t[51]!==E||t[52]!==S||t[53]!==n||t[54]!==O||t[55]!==U||t[56]!==f){let e;t[58]!==D||t[59]!==a||t[60]!==r||t[61]!==x||t[62]!==V||t[63]!==E||t[64]!==S||t[65]!==O||t[66]!==U||t[67]!==f?(e=e=>{let t=r[e.id]??T(),n=e.ui,o=S&&x.has(e.id)?`/settings/ext/${encodeURIComponent(e.id)}`:null,s=le(t,a[e.id]??T()),c=V(e.id),l=e.label??e.id,u=ue(O,e.models.length);return(0,M.jsxs)(`section`,{className:i(`overflow-hidden rounded-xl border bg-surface-panel shadow-sm transition-colors dark:shadow-none`,s?`border-accent/50`:`border-edge`),children:[(0,M.jsxs)(`button`,{type:`button`,className:`flex w-full items-start justify-between gap-3 px-4 py-3 text-left hover:bg-surface-hover/70`,"aria-expanded":c,"aria-controls":`img-provider-credentials-${e.id}`,onClick:()=>U(e.id),children:[(0,M.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-2`,children:[(0,M.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[(0,M.jsx)(`span`,{className:`truncate text-sm font-semibold text-fg`,children:l}),(0,M.jsx)(`span`,{className:`rounded-full bg-surface-subtle px-2 py-0.5 text-[11px] font-medium text-fg-muted`,children:e.id}),s?(0,M.jsx)(`span`,{className:`rounded-full bg-accent-soft px-2 py-0.5 text-[11px] font-medium text-accent-fg`,children:O.unsavedChanges}):null,e.configured?(0,M.jsx)(`span`,{className:`rounded-full bg-accent-soft px-2 py-0.5 text-[11px] font-medium text-accent-fg`,children:O.configured}):(0,M.jsx)(`span`,{className:`rounded-full border border-amber-500/40 bg-amber-500/10 px-2 py-0.5 text-[11px] font-medium text-amber-700 dark:text-amber-300`,children:O.missingKey})]}),(0,M.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-x-3 gap-y-1 text-xs text-fg-subtle`,children:[(0,M.jsx)(`span`,{children:u}),e.defaultModel?(0,M.jsxs)(`span`,{className:`min-w-0 truncate`,children:[(0,M.jsxs)(`span`,{className:`text-fg-muted`,children:[O.defaultModel,`:`]}),` `,e.id,`/`,e.defaultModel]}):null]})]}),(0,M.jsx)(b,{className:i(`mt-0.5 size-4 shrink-0 text-fg-subtle transition-transform`,c?`rotate-180`:`rotate-0`),"aria-hidden":`true`}),(0,M.jsx)(`span`,{className:`sr-only`,children:c?O.collapseProvider:O.expandProvider})]}),c?(0,M.jsxs)(`div`,{id:`img-provider-credentials-${e.id}`,className:`border-t border-edge px-4 py-4`,children:[o?(0,M.jsxs)(d,{to:o,className:`mb-3 inline-flex items-center gap-1 text-xs font-medium text-accent hover:underline`,title:O.extensionSettingsLinkTitle,children:[(0,M.jsx)(v,{className:`size-3`}),O.openExtensionSettings]}):null,e.models.length>0?(0,M.jsxs)(`p`,{className:`mb-3 text-xs leading-relaxed text-fg-subtle`,children:[(0,M.jsxs)(`span`,{className:`text-fg-muted`,children:[O.modelsLabel,`:`]}),` `,e.models.map(t=>`${e.id}/${t}`).join(`, `)]}):null,(0,M.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[(0,M.jsx)(ne,{providerId:e.id,value:t.apiKey,onChange:t=>f(e.id,{apiKey:t}),apiKeyLinks:p(e.id,E),apiKeyLinkLabels:D,labels:{apiKeyLabel:O.apiKeyLabel,optionalPlaceholder:O.optionalPlaceholder,maskedHelp:O.apiKeyMaskedHelp,copy:O.apiKeyCopy,copied:O.apiKeyCopied,show:O.apiKeyShow,hide:O.apiKeyHide,notInConfigFile:O.apiKeyNotInConfigFile,loadFailed:O.apiKeyRevealFailed}}),n?.regions?.length?(0,M.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1 sm:col-span-2`,children:[(0,M.jsx)(`label`,{className:`text-xs font-medium text-fg-muted`,htmlFor:`img-cred-region-preset-${e.id}`,children:O.regionLabel}),(0,M.jsxs)(`select`,{id:`img-cred-region-preset-${e.id}`,className:re(),value:ie(t,n.regions),onChange:t=>{let r=t.target.value;if(r===``){f(e.id,{region:``,imageBaseUrl:``});return}if(r===F){f(e.id,{region:``,imageBaseUrl:``});return}let i=n.regions.find(e=>e.value===r);i&&f(e.id,{region:i.value,imageBaseUrl:i.imageBaseUrl})},children:[(0,M.jsx)(`option`,{value:``,children:O.regionPresetDefault}),n.regions.map(e=>(0,M.jsx)(`option`,{value:e.value,children:oe(O,e.value,e.label)},e.value)),(0,M.jsx)(`option`,{value:F,children:O.regionPresetCustom})]}),ie(t,n.regions)===F?(0,M.jsxs)(`div`,{className:`mt-2 grid gap-2 sm:grid-cols-2`,children:[(0,M.jsx)(`input`,{type:`text`,className:P(),value:t.region,placeholder:`region`,onChange:t=>f(e.id,{region:t.target.value})}),(0,M.jsx)(`input`,{type:`url`,className:P(),value:t.imageBaseUrl,placeholder:O.imageBaseUrlLabel,onChange:t=>f(e.id,{imageBaseUrl:t.target.value})})]}):null]}):null,n?.baseUrlPresets?.length?(0,M.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1 sm:col-span-2`,children:[(0,M.jsx)(`label`,{className:`text-xs font-medium text-fg-muted`,htmlFor:`img-cred-base-preset-${e.id}`,children:se(O,n.baseUrlPresetKind)}),ce(O,n.baseUrlPresetKind)?(0,M.jsx)(`p`,{className:`text-[11px] text-fg-subtle`,children:ce(O,n.baseUrlPresetKind)}):null,(0,M.jsxs)(`select`,{id:`img-cred-base-preset-${e.id}`,className:re(),value:ae(t,n.baseUrlPresets),onChange:t=>{let n=t.target.value;if(n===``){f(e.id,{baseUrl:``});return}if(n===F){f(e.id,{baseUrl:``});return}f(e.id,{baseUrl:n.replace(/\/+$/,``)})},children:[(0,M.jsx)(`option`,{value:``,children:O.baseUrlPresetDefault}),n.baseUrlPresets.map(de),(0,M.jsx)(`option`,{value:F,children:O.baseUrlPresetCustom})]}),ae(t,n.baseUrlPresets)===F?(0,M.jsx)(`input`,{type:`url`,className:i(P(),`mt-2`),value:t.baseUrl,placeholder:`https://…`,onChange:t=>f(e.id,{baseUrl:t.target.value})}):null]}):null,n?.regions?.length&&ie(t,n.regions)!==F?(0,M.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1 sm:col-span-2`,children:[(0,M.jsx)(`label`,{className:`text-xs font-medium text-fg-muted`,htmlFor:`img-cred-imgbase-ro-${e.id}`,children:O.imageBaseUrlLabel}),(0,M.jsx)(`input`,{id:`img-cred-imgbase-ro-${e.id}`,type:`url`,readOnly:!0,className:i(P(),`cursor-not-allowed opacity-90`),value:t.imageBaseUrl,title:O.imageBaseUrlPresetHint}),(0,M.jsx)(`p`,{className:`text-[11px] text-fg-subtle`,children:O.imageBaseUrlPresetHint})]}):null]})]}):null]},e.id)},t[58]=D,t[59]=a,t[60]=r,t[61]=x,t[62]=V,t[63]=E,t[64]=S,t[65]=O,t[66]=U,t[67]=f,t[68]=e):e=t[68],Z=n.map(e),t[46]=D,t[47]=a,t[48]=r,t[49]=x,t[50]=V,t[51]=E,t[52]=S,t[53]=n,t[54]=O,t[55]=U,t[56]=f,t[57]=Z}else Z=t[57];let Q;t[69]===Z?Q=t[70]:(Q=(0,M.jsx)(`div`,{className:`flex flex-col gap-4`,children:Z}),t[69]=Z,t[70]=Q);let $;return t[71]!==J||t[72]!==Y||t[73]!==X||t[74]!==Q?($=(0,M.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[J,Y,X,Q]}),t[71]=J,t[72]=Y,t[73]=X,t[74]=Q,t[75]=$):$=t[75],$}function de(e){return(0,M.jsx)(`option`,{value:e.value,children:e.label},e.value)}function fe(){return new Set}function pe(){return new Set}function me(e){return(e.ui?.baseUrlPresets?.length??0)>0}function he(e){return(e.ui?.regions?.length??0)>0}function ge(e){let t=h(a(e=>!!e.token)),n=t.data,r=(0,w.useMemo)(()=>e.map(e=>e.id),[e]),i=(0,w.useRef)(!1),[s,l]=(0,w.useState)(null),[u,d]=(0,w.useState)(!1),[f,p]=(0,w.useState)(null),[m,g]=(0,w.useState)(!1),[_,v]=(0,w.useState)(!1),y=(0,w.useMemo)(()=>E(n?.payload?.config,r),[n?.payload?.config,r]),b=s??y,x=y;return{gwSwr:t,credDraft:b,credBaseline:x,credDirty:(0,w.useMemo)(()=>JSON.stringify(b)!==JSON.stringify(x),[b,x]),credSaving:u,credError:f,credSavedFlash:m,credNoopFlash:_,updateCredRow:(0,w.useCallback)((e,t)=>{i.current=!0,l(n=>{let r=n??y,i=r[e]??T();return{...r,[e]:{...i,...t}}})},[y]),onDiscardCredentials:(0,w.useCallback)(()=>{i.current=!1,l(null),p(null),g(!1),v(!1)},[]),saveCredentials:(0,w.useCallback)(async e=>{let n=k(r,b,x);if(Object.keys(n).length===0){v(!0),window.setTimeout(()=>v(!1),2200);return}d(!0),p(null),g(!1);try{await j(n),await t.mutate?.(),c(o(S)),i.current=!1,l(null),g(!0),window.setTimeout(()=>g(!1),2e3)}catch(t){p(t instanceof Error?t.message:e)}finally{d(!1)}},[r,b,x,t])}}function _e(){return{enabled:!1,provider:`alibaba`,alibaba:{model:`paraformer-v2`},openai:{model:`whisper-1`},fallback:{enabled:!0,order:[`alibaba`,`openai`]}}}function ve(){return{enabled:!1,provider:`openai`,trigger:`always`,maxTextLength:512,timeoutMs:6e4,alibaba:{model:`qwen-tts`,voice:`Cherry`},openai:{model:`tts-1`,voice:`alloy`},edge:{voice:`en-US-MichelleNeural`},minimax:{model:`speech-2.8-hd`,voice:`male-qn-qingse`},"tts-local-cli":{command:``,outputFormat:`wav`}}}function L(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function R(e){return typeof e==`string`&&e.trim().length>0?e.trim():`alibaba`}function z(e,t,n){let r=L(e.providers)?e.providers:void 0,i=r&&L(r[t])?r[t]:void 0;return{...n,...i??{}}}function B(e){let t=_e();if(!L(e))return t;let n=R(e.provider),r=z(e,`alibaba`,t.alibaba??{}),i=z(e,`openai`,t.openai??{}),a=t.fallback??{enabled:!0,order:[`alibaba`,`openai`]};if(L(e.fallback)){let t=Array.isArray(e.fallback.order)?e.fallback.order.filter(e=>typeof e==`string`&&e.trim().length>0):a.order;a={enabled:typeof e.fallback.enabled==`boolean`?e.fallback.enabled:a.enabled,order:t.length?t:a.order}}let o=L(e.providers)?Object.fromEntries(Object.entries(e.providers).map(([e,t])=>[e,L(t)?{...t}:{}])):void 0;return{enabled:!!e.enabled,provider:n,alibaba:r,openai:i,...o?{providers:o}:{},fallback:a}}function V(e){return typeof e==`string`&&e.trim().length>0?e.trim():`openai`}function H(e){let t=ve();if(!L(e))return t;let n=V(e.provider),r=e.trigger===`off`||e.trigger===`always`||e.trigger===`inbound`||e.trigger===`tagged`?e.trigger:`always`,i=t[`tts-local-cli`]??{},a=L(e.providers)?Object.fromEntries(Object.entries(e.providers).map(([e,t])=>[e,L(t)?{...t}:{}])):void 0;return{enabled:!!e.enabled,provider:n,trigger:r,maxTextLength:typeof e.maxTextLength==`number`&&Number.isFinite(e.maxTextLength)?e.maxTextLength:t.maxTextLength,timeoutMs:typeof e.timeoutMs==`number`&&Number.isFinite(e.timeoutMs)?e.timeoutMs:t.timeoutMs,...a?{providers:a}:{},alibaba:z(e,`alibaba`,t.alibaba??{}),openai:z(e,`openai`,t.openai??{}),edge:z(e,`edge`,t.edge??{}),minimax:z(e,`minimax`,t.minimax??{}),"tts-local-cli":z(e,`tts-local-cli`,i)}}function U(e){let{alibaba:t,openai:n,providers:r,...i}=e,a={...r??{}};return t&&(a.alibaba={...a.alibaba??{},...t}),n&&(a.openai={...a.openai??{},...n}),{...i,...Object.keys(a).length>0?{providers:a}:{}}}function W(e){let{alibaba:t,openai:n,edge:r,minimax:i,"tts-local-cli":a,providers:o,...s}=e,c={...o??{}};return t&&(c.alibaba={...c.alibaba??{},...t}),n&&(c.openai={...c.openai??{},...n}),r&&(c.edge={...c.edge??{},...r}),i&&(c.minimax={...c.minimax??{},...i}),a&&(c[`tts-local-cli`]={...c[`tts-local-cli`]??{},...a}),{...s,...Object.keys(c).length>0?{providers:c}:{}}}function G(e){let t=L(e)?e:{};return{stt:B(t.stt),tts:H(t.tts)}}async function K(){return G((await s(o(`/api/config`))).payload?.config??{})}async function q(e){await s(o(`/api/config`),{method:`PATCH`,body:JSON.stringify({stt:U(e.stt),tts:W(e.tts)})}),x()}async function J(){let e=await s(o(`/api/voice/models`));if(!e.payload?.models)throw Error(`Missing voice models payload`);return e.payload.models}async function Y(){let e=await s(o(`/api/voice/providers`));if(!e.payload?.providers)throw Error(`Missing voice providers payload`);return e.payload}async function X(){let e=await s(o(`/api/voice/stt-providers`));if(!e.payload?.providers)throw Error(`Missing STT providers payload`);return e.payload}async function Z(e){let t=await s(o(`/api/voice/reveal-api-key`),{method:`POST`,body:JSON.stringify(e)});if(!t.payload)throw Error(`Missing reveal payload`);return t.payload}function Q(e){let t=(0,ee.c)(15),{kind:n,providerId:r,fieldId:a,value:o,onChange:s,labels:c,placeholder:l,className:u}=e,d=l===void 0?`sk-...`:l,f;t[0]!==n||t[1]!==r?(f=()=>Z({kind:n,provider:r}).then($),t[0]=n,t[1]=r,t[2]=f):f=t[2];let p=f,m;t[3]===u?m=t[4]:(m=i(`flex min-w-0 flex-col gap-1.5`,u),t[3]=u,t[4]=m);let h;t[5]!==a||t[6]!==c||t[7]!==s||t[8]!==d||t[9]!==p||t[10]!==o?(h=(0,M.jsx)(g,{id:a,value:o,onChange:s,placeholder:d,labels:c,reveal:p,loadFailedLabel:c.loadFailed,maskedHelp:c.maskedHelp,notInConfigFile:c.notInConfigFile,inputClassName:`text-xs`}),t[5]=a,t[6]=c,t[7]=s,t[8]=d,t[9]=p,t[10]=o,t[11]=h):h=t[11];let _;return t[12]!==m||t[13]!==h?(_=(0,M.jsx)(`div`,{className:m,children:h}),t[12]=m,t[13]=h,t[14]=_):_=t[14],_}function $(e){return e.apiKey??null}export{X as a,ge as c,S as d,K as i,I as l,J as n,G as o,Y as r,q as s,Q as t,C as u};
@@ -0,0 +1 @@
1
+ import{s as e}from"./locale-store-DjbfSsfA.js";import{Ot as t,kt as n}from"./index-BTmbp2AU.js";var r={noteId:null,attachmentId:null,playing:!1,currentTime:0,duration:0,loading:!1},i=null,a=null,o=null,s=null;function c(){return i||(i=new Audio,i.addEventListener(`timeupdate`,()=>{u.setState({currentTime:i.currentTime})}),i.addEventListener(`loadedmetadata`,()=>{let e=i.duration;Number.isFinite(e)&&u.setState({duration:e})}),i.addEventListener(`ended`,()=>{u.setState({playing:!1,currentTime:0}),i.currentTime=0}),i.addEventListener(`pause`,()=>{u.setState({playing:!1})}),i.addEventListener(`play`,()=>{u.setState({playing:!0})})),i}function l(){o&&s&&n(o,s),a=null,o=null,s=null}var u=e()((e,n)=>({...r,play:async(r,i,u)=>{let d=c(),f=n();if(f.noteId===r&&f.attachmentId===i&&a){d.play();return}d.pause(),l(),e({noteId:r,attachmentId:i,playing:!1,currentTime:0,duration:u??0,loading:!0});try{let n=await t(r,i);a=n,o=r,s=i,d.src=n,await d.play(),e({loading:!1})}catch{e({loading:!1,playing:!1}),l()}},pause:()=>{c().pause()},toggle:(e,t,r)=>{let i=n();i.noteId===e&&i.attachmentId===t&&i.playing?n().pause():n().play(e,t,r)},seek:t=>{let n=c();n.currentTime=t,e({currentTime:t})},reset:()=>{c().pause(),c().src=``,l(),e(r)}}));export{u as t};
@@ -1 +1 @@
1
- import{c as e,l as t,rr as n}from"./index-C_2yKRJX.js";function r(e){return e===`zh`?`zh`:`en`}function i(e,t){let n=r(t),i=n===`en`?void 0:e.metadata.i18n?.[n],a=i?.examplePrompts&&i.examplePrompts.length>0?i.examplePrompts:e.metadata.examplePrompts??[];return{description:o(i?.description,e.description),whenToUse:s(i?.whenToUse,e.metadata.whenToUse),examplePrompts:a}}function a(e){return[e.name,e.title,e.description,e.metadata.whenToUse??``,...(e.metadata.examplePrompts??[]).map(e=>e.text),...Object.values(e.metadata.i18n??{}).flatMap(e=>[e.description??``,e.whenToUse??``,...(e.examplePrompts??[]).map(e=>e.text)]),...e.metadata.tags].join(` `).toLowerCase()}function o(e,t){return e?.trim()||t}function s(e,t){return e?.trim()||t?.trim()||void 0}function c(e,t,n){if(e.field===`goal`){t(e.text);return}n(t=>({...t,[e.field]:e.text}))}function l(e,t){return e.replace(/\{\{(\w+)\}\}/g,(e,n)=>String(t[n]??``))}function u(e,t){return e?new Intl.DateTimeFormat(t,{month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`}).format(new Date(e)):`—`}function d(e){if(!e||!Number.isFinite(e))return`—`;let t=Math.max(0,Math.floor(e/1e3));if(t<60)return`${t}s`;let n=Math.floor(t/60),r=t%60;if(n<60)return r?`${n}m ${r}s`:`${n}m`;let i=Math.floor(n/60),a=n%60;return a?`${i}h ${a}m`:`${i}h`}function f(e){return e===`succeeded`?`bg-emerald-500/15 text-emerald-700 dark:text-emerald-300`:e===`failed`||e===`timeout`?`bg-red-500/15 text-red-700 dark:text-red-300`:e===`cancelled`?`bg-amber-500/15 text-amber-700 dark:text-amber-300`:`bg-accent-soft text-accent-fg`}function p(n){let r=n.metadata.tags.map(e=>e.toLowerCase());for(let n of e)if(t[n].some(e=>r.includes(e)))return n;return null}function m(e,n){if(n===`all`)return!0;let r=e.metadata.tags.map(e=>e.toLowerCase());return t[n].some(e=>r.includes(e))}function h(t){let n=new Map;for(let e of t){let t=p(e)??`uncategorized`,r=n.get(t)??[];r.push(e),n.set(t,r)}let r=[];for(let t of e){let e=n.get(t);e?.length&&r.push({category:t,items:e})}let i=n.get(`uncategorized`);return i?.length&&r.push({category:`uncategorized`,items:i}),r}function g(e,t){return t===`all`?!0:t===`builtin`?e.metadata.builtIn:e.metadata.source===`user`}function _(e,t,n,r){let i=t.trim().toLowerCase();return e.filter(e=>!m(e,n)||!g(e,r)?!1:i?a(e).includes(i):!0)}function v(e){if(e==null)return``;if(typeof e==`string`)return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}function y(e){if(e==null)return e;if(typeof e==`object`&&e&&`raw`in e){let t=e.raw;return t===void 0?e:t}return e}function b(e){let t=e.run.metadata?.sessionKey?.trim();return t&&n(t)?t:null}function x(e,t){let n=`/chat/${encodeURIComponent(e)}`,r=t?.trim();return r?`${n}?${new URLSearchParams({draft:r}).toString()}`:n}function S(e){let t=e.source;return t&&typeof t==`object`&&`kind`in t&&typeof t.kind==`string`?t.kind:e.metadata?.triggerSource?.trim()||`unknown`}function C(e,t){let n=t.trim();return!n||n===`all`?!0:S(e)===n}function w(e){let t={};for(let[n,r]of Object.entries(e)){let e=r.trim();e&&(t[n]=e)}return Object.keys(t).length>0?t:void 0}function T(e){let t=[];e.run.error&&t.push({key:`run-error`,kind:`run_error`,severity:e.run.error.recoverable?`warning`:`error`,code:e.run.error.code,message:e.run.error.message,detail:e.run.error.detail});for(let n of e.agents){n.status===`error`?t.push({key:`agent-error:${n.id}`,kind:`agent_error`,severity:`error`,agentId:n.id,agentLabel:n.label,message:n.error,detail:n.resultPreview}):n.status===`skipped`&&t.push({key:`agent-skipped:${n.id}`,kind:`agent_skipped`,severity:`warning`,agentId:n.id,agentLabel:n.label,message:n.error});for(let e of n.steps??[])e.status===`error`&&t.push({key:`step-error:${n.id}:${e.id}`,kind:`step_error`,severity:`error`,agentId:n.id,agentLabel:n.label,stepId:e.id,stepLabel:e.label,message:e.error,detail:e.resultPreview??e.detail})}return t}export{u as a,y as c,f as d,v as f,i as h,d as i,b as l,c as m,T as n,h as o,x as p,_ as r,l as s,w as t,C as u};
1
+ import{c as e,ir as t,l as n}from"./index-BTmbp2AU.js";function r(e){return e===`zh`?`zh`:`en`}function i(e,t){let n=r(t),i=n===`en`?void 0:e.metadata.i18n?.[n],a=i?.examplePrompts&&i.examplePrompts.length>0?i.examplePrompts:e.metadata.examplePrompts??[];return{description:o(i?.description,e.description),whenToUse:s(i?.whenToUse,e.metadata.whenToUse),examplePrompts:a}}function a(e){return[e.name,e.title,e.description,e.metadata.whenToUse??``,...(e.metadata.examplePrompts??[]).map(e=>e.text),...Object.values(e.metadata.i18n??{}).flatMap(e=>[e.description??``,e.whenToUse??``,...(e.examplePrompts??[]).map(e=>e.text)]),...e.metadata.tags].join(` `).toLowerCase()}function o(e,t){return e?.trim()||t}function s(e,t){return e?.trim()||t?.trim()||void 0}function c(e,t,n){if(e.field===`goal`){t(e.text);return}n(t=>({...t,[e.field]:e.text}))}function l(e,t){return e.replace(/\{\{(\w+)\}\}/g,(e,n)=>String(t[n]??``))}function u(e,t){return e?new Intl.DateTimeFormat(t,{month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`}).format(new Date(e)):`—`}function d(e){if(!e||!Number.isFinite(e))return`—`;let t=Math.max(0,Math.floor(e/1e3));if(t<60)return`${t}s`;let n=Math.floor(t/60),r=t%60;if(n<60)return r?`${n}m ${r}s`:`${n}m`;let i=Math.floor(n/60),a=n%60;return a?`${i}h ${a}m`:`${i}h`}function f(e){return e===`succeeded`?`bg-emerald-500/15 text-emerald-700 dark:text-emerald-300`:e===`failed`||e===`timeout`?`bg-red-500/15 text-red-700 dark:text-red-300`:e===`cancelled`?`bg-amber-500/15 text-amber-700 dark:text-amber-300`:`bg-accent-soft text-accent-fg`}function p(t){let r=t.metadata.tags.map(e=>e.toLowerCase());for(let t of e)if(n[t].some(e=>r.includes(e)))return t;return null}function m(e,t){if(t===`all`)return!0;let r=e.metadata.tags.map(e=>e.toLowerCase());return n[t].some(e=>r.includes(e))}function h(t){let n=new Map;for(let e of t){let t=p(e)??`uncategorized`,r=n.get(t)??[];r.push(e),n.set(t,r)}let r=[];for(let t of e){let e=n.get(t);e?.length&&r.push({category:t,items:e})}let i=n.get(`uncategorized`);return i?.length&&r.push({category:`uncategorized`,items:i}),r}function g(e,t){return t===`all`?!0:t===`builtin`?e.metadata.builtIn:e.metadata.source===`user`}function _(e,t,n,r){let i=t.trim().toLowerCase();return e.filter(e=>!m(e,n)||!g(e,r)?!1:i?a(e).includes(i):!0)}function v(e){if(e==null)return``;if(typeof e==`string`)return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}function y(e){if(e==null)return e;if(typeof e==`object`&&e&&`raw`in e){let t=e.raw;return t===void 0?e:t}return e}function b(e){let n=e.run.metadata?.sessionKey?.trim();return n&&t(n)?n:null}function x(e,t){let n=`/chat/${encodeURIComponent(e)}`,r=t?.trim();return r?`${n}?${new URLSearchParams({draft:r}).toString()}`:n}function S(e){let t=e.source;return t&&typeof t==`object`&&`kind`in t&&typeof t.kind==`string`?t.kind:e.metadata?.triggerSource?.trim()||`unknown`}function C(e,t){let n=t.trim();return!n||n===`all`?!0:S(e)===n}function w(e){let t={};for(let[n,r]of Object.entries(e)){let e=r.trim();e&&(t[n]=e)}return Object.keys(t).length>0?t:void 0}function T(e){let t=[];e.run.error&&t.push({key:`run-error`,kind:`run_error`,severity:e.run.error.recoverable?`warning`:`error`,code:e.run.error.code,message:e.run.error.message,detail:e.run.error.detail});for(let n of e.agents){n.status===`error`?t.push({key:`agent-error:${n.id}`,kind:`agent_error`,severity:`error`,agentId:n.id,agentLabel:n.label,message:n.error,detail:n.resultPreview}):n.status===`skipped`&&t.push({key:`agent-skipped:${n.id}`,kind:`agent_skipped`,severity:`warning`,agentId:n.id,agentLabel:n.label,message:n.error});for(let e of n.steps??[])e.status===`error`&&t.push({key:`step-error:${n.id}:${e.id}`,kind:`step_error`,severity:`error`,agentId:n.id,agentLabel:n.label,stepId:e.id,stepLabel:e.label,message:e.error,detail:e.resultPreview??e.detail})}return t}export{u as a,y as c,f as d,v as f,i as h,d as i,b as l,c as m,T as n,h as o,x as p,_ as r,l as s,w as t,C as u};
@@ -0,0 +1,18 @@
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,n,t as r}from"./vendor-react-BOUWij0V.js";import{t as i}from"./cn-JdwAhgNB.js";import{t as a}from"./messages-BUUfPaZ9.js";import{t as o}from"./locale-store-DjbfSsfA.js";import{c as s}from"./fetch-DOe56Wmy.js";import{i as c}from"./vendor-swr-BIWyz7Rc.js";import{$r as l,A as u,Ao as d,C as f,D as p,Ds as m,E as h,Ea as g,F as _,Fo as v,Ft as y,Ha as b,I as x,Ia as S,Ii as C,Jr as w,M as T,Mo as E,N as D,Oa as O,Qr as k,Ro as A,S as j,T as M,Ts as N,Vi as P,Vt as F,Xr as I,Yr as ee,Zo as L,Zr as te,_ as ne,_i as re,a as R,aa as ie,ba as z,bo as B,cs as V,d as ae,f as H,g as U,h as oe,i as se,ii as ce,is as W,j as G,ji as K,k as le,ki as q,m as ue,o as J,oo as de,pa as fe,qi as pe,qo as me,qr as he,r as ge,ra as _e,rs as ve,s as ye,sa as be,u as xe,v as Se,w as Ce,xi as we,y as Te,ya as Ee}from"./index-BTmbp2AU.js";import{a as De,c as Oe,d as ke,f as Ae,h as Y,i as je,l as Me,m as Ne,n as Pe,o as Fe,p as Ie,r as Le,s as X,t as Re,u as ze}from"./workflow-page.utils-tjGpRVnw.js";var Z=e(t(),1),Q=n(),Be=[`queued`,`running`,`succeeded`,`attention`],Ve=10080*60*1e3,He=new Set([`failed`,`timeout`,`cancelled`]);function Ue(e){return e.metadata?.sessionKey?.trim()||null}function We(e,t){return e.length<=t?e:`${e.slice(0,t-1)}…`}function Ge(e,t){if(!e||typeof e!=`object`)return null;let n=e;for(let e of t){let t=n[e];if(typeof t==`string`&&t.trim())return t.trim()}return null}function Ke(e,t=90){let n=e.metadata?.input?.goal?.trim()||(typeof e.metadata?.input?.payload==`string`?e.metadata.input.payload.trim():null)||Ge(e.metadata?.input?.payload,[`query`,`goal`,`prompt`,`input`,`message`])||Ge(e.metadata?.input?.variables,[`query`,`goal`,`prompt`,`input`,`message`]);return n?We(n,t):null}function qe(e,t=90){return Ke(e,t)??We(e.title?.trim()||e.definitionId,t)}function Je(e,t=44){return We(e.title?.trim()||e.definitionId,t)}function Ye(e,t){let n=t.trim().toLowerCase();return n?[Ke(e,500),e.title,e.definitionId,e.id].filter(Boolean).join(` `).toLowerCase().includes(n):!0}function Xe(e,t){let n=t.workflowFilterId.trim();return e.filter(e=>n&&e.definitionId!==n||!ze(e,t.triggerFilter??`all`)?!1:Ye(e,t.searchQuery))}function Ze(e){return e.completedAtMs??e.createdAtMs}function Qe(e,t){return t-Ze(e)<=Ve}function $e(e,t){return e.status===`queued`?`queued`:e.status===`running`?`running`:e.status===`succeeded`?Qe(e,t)?`succeeded`:null:He.has(e.status)?`attention`:null}function et(e,t){let n=[...t];return e===`queued`?n.sort((e,t)=>e.createdAtMs-t.createdAtMs):e===`running`?n.sort((e,t)=>(t.startedAtMs??t.createdAtMs)-(e.startedAtMs??e.createdAtMs)):n.sort((e,t)=>Ze(t)-Ze(e))}function tt(e,t){let n={queued:[],running:[],succeeded:[],attention:[]};for(let r of e){let e=$e(r,t);e&&n[e].push(r)}let r=et(`succeeded`,n.succeeded),i=r.length,a=r.slice(0,20),o=Math.max(0,i-20);return Be.map(e=>e===`succeeded`?{id:e,runs:a,totalInWindow:i,hiddenByCap:o}:{id:e,runs:et(e,n[e])})}var nt=new Map;function rt(e){let t=nt.get(e);return t||(t=new Intl.RelativeTimeFormat(e,{numeric:`auto`}),nt.set(e,t)),t}function it(e,t,n){let r=Math.round((t-e)/1e3),i=rt(n);if(r<60)return i.format(-r,`second`);let a=Math.round(r/60);if(a<60)return i.format(-a,`minute`);let o=Math.round(a/60);if(o<48)return i.format(-o,`hour`);let s=Math.round(o/24);return i.format(-s,`day`)}function at(e){return e.status===`queued`||e.status===`running`}function ot(e){return e.status===`failed`||e.status===`timeout`||e.status===`cancelled`}var $=r(),st=(0,Z.memo)(function(e){let t=(0,Q.c)(65),{run:n,language:r,localeTag:o,nowMs:s,selected:c,onOpen:l,onOpenChat:u,onCancel:f,onRetry:p}=e,m=a(r).workflows,[h,g]=(0,Z.useState)(!1),_;t[0]===n?_=t[1]:(_=Ue(n),t[0]=n,t[1]=_);let v=!_,y;t[2]===n?y=t[3]:(y=at(n),t[2]=n,t[3]=y);let b=y,x=n.status===`running`||n.status===`queued`,S;t[4]!==n.metrics.agentCount||t[5]!==n.metrics.doneAgentCount?(S=n.metrics.agentCount>0?Math.round(n.metrics.doneAgentCount/n.metrics.agentCount*100):0,t[4]=n.metrics.agentCount,t[5]=n.metrics.doneAgentCount,t[6]=S):S=t[6];let C=S,w=n.metrics.errorAgentCount>0,T=n.startedAtMs??n.createdAtMs,E=je(b?s-T:n.metrics.durationMs),D=X(m.taskArtifacts,{count:n.metrics.artifactCount}),O;t[7]===n?O=t[8]:(O=qe(n),t[7]=n,t[8]=O);let k=O,A;t[9]===n?A=t[10]:(A=Je(n),t[9]=n,t[10]=A);let j=A,M;t[11]!==l||t[12]!==n?(M=()=>{l(n)},t[11]=l,t[12]=n,t[13]=M):M=t[13];let N=M,F;t[14]!==v||t[15]!==u||t[16]!==n?(F=()=>{v||u(n)},t[14]=v,t[15]=u,t[16]=n,t[17]=F):F=t[17];let I=F,ee=c?`border-accent/70 ring-1 ring-accent/30`:`border-edge`,L;t[18]===ee?L=t[19]:(L=i(`group relative overflow-hidden rounded-xl border bg-surface-panel p-3.5 transition-colors`,ee,`hover:border-edge-strong hover:bg-surface-hover/50`),t[18]=ee,t[19]=L);let te;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(te=i(`w-full text-left`,we.focusRingPanel),t[20]=te):te=t[20];let ne;t[21]===k?ne=t[22]:(ne=(0,$.jsx)(`div`,{className:`line-clamp-2 text-sm font-semibold leading-5 text-fg`,children:k}),t[21]=k,t[22]=ne);let re;t[23]===j?re=t[24]:(re=(0,$.jsx)(`div`,{className:`mt-1 truncate text-[11px] font-medium text-fg-muted`,children:j}),t[23]=j,t[24]=re);let R;t[25]!==ne||t[26]!==re?(R=(0,$.jsxs)(`div`,{className:`min-w-0`,children:[ne,re]}),t[25]=ne,t[26]=re,t[27]=R):R=t[27];let ie;t[28]===n.status?ie=t[29]:(ie=i(`shrink-0 rounded-full px-2 py-0.5 text-[10px] font-semibold shadow-sm`,ke(n.status)),t[28]=n.status,t[29]=ie);let z;t[30]!==o||t[31]!==s||t[32]!==T?(z=it(T,s,o),t[30]=o,t[31]=s,t[32]=T,t[33]=z):z=t[33];let B;t[34]===z?B=t[35]:(B=(0,$.jsx)(`span`,{children:z}),t[34]=z,t[35]=B);let V=E===`—`?null:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{"aria-hidden":!0,children:`·`}),(0,$.jsx)(`span`,{children:X(m.taskElapsed,{duration:E})})]}),ae;t[36]!==B||t[37]!==V?(ae=(0,$.jsxs)(`div`,{className:`mt-2 flex flex-wrap items-center gap-1.5 text-[11px] text-fg-subtle`,children:[B,V]}),t[36]=B,t[37]=V,t[38]=ae):ae=t[38];let H=n.metrics.artifactCount>0?(0,$.jsx)(`span`,{className:`rounded-full bg-surface-hover px-2 py-0.5 font-medium text-fg-muted`,children:D}):null,U=c?(0,$.jsx)(`span`,{className:`font-medium text-accent-fg`,children:m.taskOpenDetails}):null,oe;t[39]!==H||t[40]!==U?(oe=(0,$.jsxs)(`div`,{className:`mt-3 flex flex-wrap items-center gap-2 text-[11px] text-fg-subtle`,children:[H,U]}),t[39]=H,t[40]=U,t[41]=oe):oe=t[41];let se;t[42]===g?se=t[43]:(se=()=>g(lt),t[42]=g,t[43]=se);let ce;t[44]===Symbol.for(`react.memo_cache_sentinel`)?(ce=(0,$.jsx)(d,{className:`size-4`,"aria-hidden":!0}),t[44]=ce):ce=t[44];let W;t[45]!==m.taskActionsAria||t[46]!==h||t[47]!==se?(W=(0,$.jsx)(q,{variant:`ghost`,className:`size-7 p-0 opacity-0 group-hover:opacity-100 group-focus-within:opacity-100`,"aria-label":m.taskActionsAria,"aria-expanded":h,onClick:se,children:ce}),t[45]=m.taskActionsAria,t[46]=h,t[47]=se,t[48]=W):W=t[48];let G;t[49]!==b||t[50]!==v||t[51]!==I||t[52]!==m.cancel||t[53]!==m.continueInChat||t[54]!==m.rerun||t[55]!==m.taskCloseMenu||t[56]!==h||t[57]!==f||t[58]!==p||t[59]!==n||t[60]!==g?(G=h?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`button`,{type:`button`,className:`fixed inset-0 z-10 cursor-default`,"aria-label":m.taskCloseMenu,onClick:()=>g(!1)}),(0,$.jsxs)(`div`,{className:`absolute right-0 z-20 mt-1 min-w-36 rounded-lg border border-edge bg-surface-panel py-1 shadow-surface`,children:[(0,$.jsx)(ct,{label:m.continueInChat,disabled:v,onClick:()=>{g(!1),I()}}),b?(0,$.jsx)(ct,{label:m.cancel,tone:`danger`,onClick:()=>{g(!1),f(n.id)}}):null,ot(n)?(0,$.jsx)(ct,{label:m.rerun,onClick:()=>{g(!1),p(n.id)}}):null]})]}):null,t[49]=b,t[50]=v,t[51]=I,t[52]=m.cancel,t[53]=m.continueInChat,t[54]=m.rerun,t[55]=m.taskCloseMenu,t[56]=h,t[57]=f,t[58]=p,t[59]=n,t[60]=g,t[61]=G):G=t[61];let K;return t[62]!==W||t[63]!==G?(K=(0,$.jsxs)(`div`,{className:`absolute right-2 top-2`,children:[W,G]}),t[62]=W,t[63]=G,t[64]=K):K=t[64],(0,$.jsxs)(`div`,{className:L,children:[(0,$.jsxs)(`button`,{type:`button`,onClick:N,"aria-label":`${m.taskOpenDetails}: ${k}`,"aria-current":c?`true`:void 0,className:te,children:[(0,$.jsxs)(`div`,{className:`pr-7`,children:[(0,$.jsxs)(`div`,{className:`flex min-w-0 items-start justify-between gap-2`,children:[R,(0,$.jsx)(`span`,{className:ie,children:m.status[n.status]??n.status})]}),ae]}),x?(0,$.jsxs)(`div`,{className:`mt-2.5`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2 text-[11px] text-fg-muted`,children:[(0,$.jsx)(`span`,{children:X(m.agentProgress,{done:n.metrics.doneAgentCount,total:n.metrics.agentCount})}),(0,$.jsxs)(`span`,{children:[C,`%`]})]}),(0,$.jsx)(`div`,{className:`mt-1.5 h-1.5 overflow-hidden rounded-full bg-surface-hover`,children:(0,$.jsx)(`div`,{className:`h-full rounded-full bg-accent transition-all`,style:{width:`${C}%`}})})]}):null,oe,w?(0,$.jsxs)(`div`,{className:`mt-2 flex items-center gap-1 text-[11px] text-amber-700 dark:text-amber-300`,children:[(0,$.jsx)(P,{className:`size-3 shrink-0`,"aria-hidden":!0}),X(m.runRowErrorSummary,{count:n.metrics.errorAgentCount})]}):null]}),K]})});function ct(e){let t=(0,Q.c)(8),{label:n,disabled:r,tone:a,onClick:o}=e,s=r?`cursor-not-allowed text-fg-subtle`:`text-fg hover:bg-surface-hover`,c=a===`danger`&&!r&&`text-red-600 dark:text-red-300`,l;t[0]!==s||t[1]!==c?(l=i(`block w-full px-3 py-1.5 text-left text-xs`,s,c),t[0]=s,t[1]=c,t[2]=l):l=t[2];let u;return t[3]!==r||t[4]!==n||t[5]!==o||t[6]!==l?(u=(0,$.jsx)(`button`,{type:`button`,disabled:r,onClick:o,className:l,children:n}),t[3]=r,t[4]=n,t[5]=o,t[6]=l,t[7]=u):u=t[7],u}function lt(e){return!e}function ut(e,t){return t.boardColumns[e]}var dt=(0,Z.memo)(function(e){let t=(0,Q.c)(14),{column:n,language:r,localeTag:o,nowMs:s,selectedRunId:c,onOpenRun:l,onOpenRunChat:u,onCancelRun:d,onRetryRun:f}=e,p=a(r).workflows,[m,h]=(0,Z.useState)(!1),g=n.id===`succeeded`,_=g?5:n.runs.length,v;t[0]!==_||t[1]!==n.runs||t[2]!==m||t[3]!==g?(v=g&&!m?n.runs.slice(0,_):n.runs,t[0]=_,t[1]=n.runs,t[2]=m,t[3]=g,t[4]=v):v=t[4];let y=v,b=g&&n.runs.length>5&&!m,x=g&&m,S;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(S=i(`flex h-full w-80 shrink-0 snap-center flex-col overflow-hidden rounded-2xl border border-edge bg-surface-panel/40`),t[5]=S):S=t[5];let C;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,$.jsx)(`span`,{className:`size-2 rounded-full bg-accent`,"aria-hidden":!0}),t[6]=C):C=t[6];let w;t[7]===n.runs.length?w=t[8]:(w=(0,$.jsx)(`span`,{className:`rounded-full bg-surface-hover px-2.5 py-1 text-xs font-semibold tabular-nums text-fg-muted`,children:n.runs.length}),t[7]=n.runs.length,t[8]=w);let T=y.length===0?(0,$.jsx)(`div`,{className:`flex min-h-32 items-center justify-center rounded-xl border border-dashed border-edge bg-surface-panel/40 px-4 py-6 text-center text-xs text-fg-subtle`,children:p.boardColumnEmpty}):y.map(e=>(0,$.jsx)(st,{run:e,language:r,localeTag:o,nowMs:s,selected:e.id===c,onOpen:l,onOpenChat:u,onCancel:d,onRetry:f},e.id)),E=b?(0,$.jsx)(q,{variant:`ghost`,className:`h-8 w-full text-xs`,onClick:()=>h(!0),children:X(p.boardExpandSucceeded,{count:Math.min(n.runs.length,n.totalInWindow??n.runs.length)})}):null,D=x?(0,$.jsx)(q,{variant:`ghost`,className:`h-8 w-full text-xs`,onClick:()=>h(!1),children:p.boardCollapseSucceeded}):null,O=g&&(n.hiddenByCap??0)>0?(0,$.jsx)(`p`,{className:`px-1 text-center text-[11px] text-fg-subtle`,children:X(p.boardSucceededCapHint,{count:n.hiddenByCap??0})}):null,k;return t[9]!==T||t[10]!==E||t[11]!==D||t[12]!==O?(k=(0,$.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-3 overflow-y-auto p-2.5`,children:[T,E,D,O]}),t[9]=T,t[10]=E,t[11]=D,t[12]=O,t[13]=k):k=t[13],(0,$.jsxs)(`section`,{className:S,"aria-label":ut(n.id,p),children:[(0,$.jsxs)(`header`,{className:`flex shrink-0 items-center justify-between gap-2 rounded-t-2xl border-b border-edge-subtle bg-surface-panel/90 px-3.5 py-3 backdrop-blur`,children:[(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[C,(0,$.jsx)(`h2`,{className:`truncate text-sm font-semibold text-fg`,children:ut(n.id,p)})]}),w]}),k]})}),ft=(0,Z.memo)(function(e){let t=(0,Q.c)(45),{runs:n,language:r,localeTag:i,labels:a,searchQuery:o,workflowFilterId:s,triggerFilter:c,selectedRunId:l,loading:u,onOpenRun:d,onOpenRunChat:f,onCancelRun:p,onRetryRun:m,onStart:h}=e,g;t[0]===n?g=t[1]:(g=n.some(pt),t[0]=n,t[1]=g);let _=g,[v,y]=(0,Z.useState)(mt),b,x;t[2]===_?(b=t[3],x=t[4]):(b=()=>{if(!_)return;let e=window.setInterval(()=>y(Date.now()),1e3);return()=>window.clearInterval(e)},x=[_],t[2]=_,t[3]=b,t[4]=x),(0,Z.useEffect)(b,x);let S;t[5]!==v||t[6]!==n||t[7]!==o||t[8]!==c||t[9]!==s?(S=tt(Xe(n,{searchQuery:o,workflowFilterId:s,triggerFilter:c}),v),t[5]=v,t[6]=n,t[7]=o,t[8]=c,t[9]=s,t[10]=S):S=t[10];let C=S,w=C.reduce(ht,0);if(u&&w===0){let e;return t[11]===a.loading?e=t[12]:(e=(0,$.jsx)(`p`,{className:`text-sm text-fg-muted`,children:a.loading}),t[11]=a.loading,t[12]=e),e}if(!u&&w===0){let e;t[13]===a.boardEmptyTitle?e=t[14]:(e=(0,$.jsx)(`p`,{className:`text-sm font-medium text-fg`,children:a.boardEmptyTitle}),t[13]=a.boardEmptyTitle,t[14]=e);let n;t[15]===a.boardEmptyHint?n=t[16]:(n=(0,$.jsx)(`p`,{className:`mx-auto mt-2 max-w-md text-sm leading-6 text-fg-muted`,children:a.boardEmptyHint}),t[15]=a.boardEmptyHint,t[16]=n);let r;t[17]!==a.boardStart||t[18]!==h?(r=(0,$.jsx)(`div`,{className:`mt-4 flex justify-center`,children:(0,$.jsx)(q,{variant:`primary`,onClick:h,children:a.boardStart})}),t[17]=a.boardStart,t[18]=h,t[19]=r):r=t[19];let i;return t[20]!==e||t[21]!==n||t[22]!==r?(i=(0,$.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col items-center justify-center rounded-2xl border border-dashed border-edge bg-surface-panel/40 px-6 py-12 text-center`,children:[e,n,r]}),t[20]=e,t[21]=n,t[22]=r,t[23]=i):i=t[23],i}let T;if(t[24]!==C||t[25]!==r||t[26]!==i||t[27]!==v||t[28]!==p||t[29]!==d||t[30]!==f||t[31]!==m||t[32]!==l){let e;t[34]!==r||t[35]!==i||t[36]!==v||t[37]!==p||t[38]!==d||t[39]!==f||t[40]!==m||t[41]!==l?(e=e=>(0,$.jsx)(dt,{column:e,language:r,localeTag:i,nowMs:v,selectedRunId:l,onOpenRun:d,onOpenRunChat:f,onCancelRun:p,onRetryRun:m},e.id),t[34]=r,t[35]=i,t[36]=v,t[37]=p,t[38]=d,t[39]=f,t[40]=m,t[41]=l,t[42]=e):e=t[42],T=C.map(e),t[24]=C,t[25]=r,t[26]=i,t[27]=v,t[28]=p,t[29]=d,t[30]=f,t[31]=m,t[32]=l,t[33]=T}else T=t[33];let E;return t[43]===T?E=t[44]:(E=(0,$.jsx)(`div`,{className:`-mx-1 flex h-full min-w-0 snap-x snap-mandatory gap-3 overflow-x-auto px-1 pb-3`,children:T}),t[43]=T,t[44]=E),E});function pt(e){return e.status===`queued`||e.status===`running`}function mt(){return Date.now()}function ht(e,t){return e+t.runs.length}var gt=`export const meta = {
2
+ name: 'my_workflow',
3
+ description: 'Describe what this workflow does.',
4
+ whenToUse: 'When the user asks for ...',
5
+ examplePrompts: [
6
+ { field: 'goal', text: 'Example goal for this workflow' },
7
+ ],
8
+ tags: ['custom'],
9
+ estimatedAgents: { min: 2, max: 4 },
10
+ phases: [{ title: 'Step 1' }, { title: 'Synthesize' }],
11
+ }
12
+
13
+ phase('Step 1')
14
+ const first = await agent('Do the first step.', { label: 'step 1' })
15
+
16
+ phase('Synthesize')
17
+ return await agent('Summarize:\\n\\n' + first, { label: 'synthesis' })
18
+ `;function _t(e){let t=(0,Q.c)(44),{open:n,language:r,ownerAgentId:i,saving:o,onClose:s,onSave:c,onSaveAndStart:u}=e,d;t[0]===r?d=t[1]:(d=a(r),t[0]=r,t[1]=d);let f=d.workflows,[p,m]=(0,Z.useState)(`ai`),h,g;t[2]===n?(h=t[3],g=t[4]):(h=()=>{n&&m(`ai`)},g=[n],t[2]=n,t[3]=h,t[4]=g),(0,Z.useEffect)(h,g);let _;t[5]===s?_=t[6]:(_=e=>!e&&s(),t[5]=s,t[6]=_);let v;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,$.jsx)(I,{className:`xopc-dialog-overlay fixed inset-0 z-65 bg-scrim backdrop-blur-[1px]`}),t[7]=v):v=t[7];let y;t[8]===f.createWorkflowTitle?y=t[9]:(y=(0,$.jsx)(l,{className:`text-base font-semibold text-fg`,children:f.createWorkflowTitle}),t[8]=f.createWorkflowTitle,t[9]=y);let b;t[10]===f.createWorkflowHint?b=t[11]:(b=(0,$.jsx)(ee,{className:`mt-1 text-sm text-fg-muted`,children:f.createWorkflowHint}),t[10]=f.createWorkflowHint,t[11]=b);let x=p===`ai`,S,C;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(C=()=>m(`ai`),S=(0,$.jsx)(_e,{className:`size-4`,"aria-hidden":!0}),t[12]=S,t[13]=C):(S=t[12],C=t[13]);let T;t[14]!==f.createWorkflowAiTab||t[15]!==x?(T=(0,$.jsx)(vt,{active:x,onClick:C,icon:S,children:f.createWorkflowAiTab}),t[14]=f.createWorkflowAiTab,t[15]=x,t[16]=T):T=t[16];let E=p===`manual`,D,O;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(D=()=>m(`manual`),O=(0,$.jsx)(A,{className:`size-4`,"aria-hidden":!0}),t[17]=D,t[18]=O):(D=t[17],O=t[18]);let j;t[19]!==f.createWorkflowManualTab||t[20]!==E?(j=(0,$.jsx)(vt,{active:E,onClick:D,icon:O,children:f.createWorkflowManualTab}),t[19]=f.createWorkflowManualTab,t[20]=E,t[21]=j):j=t[21];let M;t[22]!==T||t[23]!==j?(M=(0,$.jsxs)(`div`,{className:`mt-4 inline-flex rounded-xl border border-edge bg-surface-base p-1`,children:[T,j]}),t[22]=T,t[23]=j,t[24]=M):M=t[24];let N;t[25]!==M||t[26]!==y||t[27]!==b?(N=(0,$.jsxs)(`div`,{className:`border-b border-edge px-5 py-4`,children:[y,b,M]}),t[25]=M,t[26]=y,t[27]=b,t[28]=N):N=t[28];let P;t[29]!==r||t[30]!==p||t[31]!==s||t[32]!==c||t[33]!==u||t[34]!==i||t[35]!==o?(P=p===`ai`?(0,$.jsx)(yt,{language:r,ownerAgentId:i,saving:o,onClose:s,onSave:c,onSaveAndStart:u}):(0,$.jsx)(bt,{language:r,saving:o,onClose:s,onSave:c}),t[29]=r,t[30]=p,t[31]=s,t[32]=c,t[33]=u,t[34]=i,t[35]=o,t[36]=P):P=t[36];let F;t[37]!==N||t[38]!==P?(F=(0,$.jsxs)(te,{children:[v,(0,$.jsxs)(w,{className:`fixed left-1/2 top-1/2 z-66 flex h-[min(92vh,52rem)] w-[min(100%-2rem,72rem)] -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-2xl border border-edge bg-surface-panel shadow-popover outline-none`,children:[N,P]})]}),t[37]=N,t[38]=P,t[39]=F):F=t[39];let L;return t[40]!==n||t[41]!==F||t[42]!==_?(L=(0,$.jsx)(k,{open:n,onOpenChange:_,children:F}),t[40]=n,t[41]=F,t[42]=_,t[43]=L):L=t[43],L}function vt(e){let t=(0,Q.c)(5),{active:n,onClick:r,icon:i,children:a}=e,o=n?`inline-flex h-8 items-center gap-2 rounded-lg bg-surface-panel px-3 text-sm font-medium text-fg shadow-surface`:`inline-flex h-8 items-center gap-2 rounded-lg px-3 text-sm font-medium text-fg-muted hover:text-fg`,s;return t[0]!==a||t[1]!==i||t[2]!==r||t[3]!==o?(s=(0,$.jsxs)(`button`,{type:`button`,onClick:r,className:o,children:[i,a]}),t[0]=a,t[1]=i,t[2]=r,t[3]=o,t[4]=s):s=t[4],s}function yt({language:e,ownerAgentId:t,saving:n,onClose:r,onSave:i,onSaveAndStart:o}){let s=a(e).workflows,[c,l]=(0,Z.useState)(``),[u,d]=(0,Z.useState)(null),[p,m]=(0,Z.useState)(``),[h,g]=(0,Z.useState)(``),[_,v]=(0,Z.useState)({allowNetwork:!1,fileSystem:`read`,maxPhases:4,maxSubagents:8,outputFormat:`report`}),[y,b]=(0,Z.useState)(!1),[x,S]=(0,Z.useState)(null),C=(0,Z.useMemo)(()=>u?.validation.errors.map(e=>e.message)??[],[u]),w=(0,Z.useMemo)(()=>u?.lint.filter(e=>e.severity===`error`)??[],[u]),T=c.trim().length>0&&!y,E=!!(u&&p.trim()&&h.trim()&&u.validation.valid&&w.length===0&&!n),D=async n=>{if(c.trim()){b(!0),S(null);try{let r=await f({prompt:c,agentId:t,language:e===`zh`?`zh`:`en`,mode:n,existingScript:n===`improve`?h:void 0,constraints:_});d(r),m(r.name),g(r.script)}catch(e){S(e instanceof Error?e.message:s.nlBuilderGenerateFailed)}finally{b(!1)}}},O=async()=>{E&&await i({name:p.trim(),script:h})&&r()},k=async()=>{E&&await o({name:p.trim(),script:h,goal:c.trim()})};return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`grid min-h-0 flex-1 gap-4 overflow-auto px-5 py-4 lg:grid-cols-[minmax(18rem,0.9fr)_minmax(24rem,1.4fr)]`,children:[(0,$.jsxs)(`section`,{className:`space-y-3`,children:[(0,$.jsxs)(`label`,{className:`block`,children:[(0,$.jsx)(`span`,{className:`text-xs font-medium text-fg`,children:s.nlBuilderPromptLabel}),(0,$.jsx)(`textarea`,{value:c,onChange:e=>l(e.target.value),placeholder:s.nlBuilderPromptPlaceholder,className:`mt-1.5 min-h-36 w-full resize-y rounded-xl border border-edge bg-surface-base px-3 py-2 text-sm leading-6 text-fg outline-none placeholder:text-fg-subtle focus:border-accent focus:ring-2 focus:ring-accent/20`})]}),(0,$.jsxs)(`div`,{className:`grid gap-2 sm:grid-cols-2`,children:[(0,$.jsx)(xt,{label:s.nlBuilderMaxPhases,value:_.maxPhases??4,min:1,max:8,onChange:e=>v(t=>({...t,maxPhases:e}))}),(0,$.jsx)(xt,{label:s.nlBuilderMaxAgents,value:_.maxSubagents??8,min:1,max:20,onChange:e=>v(t=>({...t,maxSubagents:e}))})]}),(0,$.jsxs)(`div`,{className:`grid gap-2 sm:grid-cols-2`,children:[(0,$.jsxs)(`label`,{className:`flex items-center gap-2 rounded-xl border border-edge bg-surface-base px-3 py-2 text-sm text-fg-muted`,children:[(0,$.jsx)(`input`,{type:`checkbox`,checked:!!_.allowNetwork,onChange:e=>v(t=>({...t,allowNetwork:e.target.checked}))}),s.nlBuilderAllowNetwork]}),(0,$.jsxs)(`label`,{className:`block`,children:[(0,$.jsx)(`span`,{className:`text-xs font-medium text-fg`,children:s.nlBuilderFilesystem}),(0,$.jsxs)(`select`,{value:_.fileSystem??`read`,onChange:e=>v(t=>({...t,fileSystem:e.target.value})),className:`mt-1.5 w-full rounded-xl border border-edge bg-surface-base px-3 py-2 text-sm text-fg outline-none focus:border-accent focus:ring-2 focus:ring-accent/20`,children:[(0,$.jsx)(`option`,{value:`none`,children:`none`}),(0,$.jsx)(`option`,{value:`read`,children:`read`}),(0,$.jsx)(`option`,{value:`write`,children:`write`})]})]})]}),(0,$.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,$.jsxs)(q,{variant:`primary`,disabled:!T,onClick:()=>void D(`create`),children:[(0,$.jsx)(_e,{className:`size-4`,"aria-hidden":!0}),y?s.nlBuilderGenerating:s.nlBuilderGenerate]}),u?(0,$.jsxs)(q,{variant:`secondary`,disabled:!T,onClick:()=>void D(`improve`),children:[(0,$.jsx)(Ee,{className:`size-4`,"aria-hidden":!0}),s.nlBuilderImprove]}):null]}),x?(0,$.jsx)(Nt,{text:x}):null,u?(0,$.jsx)(wt,{draft:u,labels:s}):null]}),(0,$.jsxs)(`section`,{className:`min-w-0 space-y-3`,children:[(0,$.jsx)(St,{labels:s,name:p,setName:m}),(0,$.jsx)(Ct,{labels:s,script:h,setScript:g,minHeightClass:`min-h-96`}),u?(0,$.jsx)(Tt,{draft:u,labels:s,validationIssues:C}):null]})]}),(0,$.jsxs)(`div`,{className:`flex flex-wrap justify-end gap-2 border-t border-edge px-5 py-4`,children:[(0,$.jsx)(q,{variant:`secondary`,onClick:r,disabled:n||y,children:s.cancelDialog}),(0,$.jsx)(q,{variant:`secondary`,disabled:!E,onClick:()=>void O(),children:n?s.savingWorkflow:s.saveWorkflow}),(0,$.jsx)(q,{variant:`primary`,disabled:!E,onClick:()=>void k(),children:s.nlBuilderSaveAndStart})]})]})}function bt({language:e,saving:t,onClose:n,onSave:r}){let i=a(e).workflows,[o,s]=(0,Z.useState)(``),[c,l]=(0,Z.useState)(gt),[u,d]=(0,Z.useState)(!1),[f,p]=(0,Z.useState)(!1),[m,h]=(0,Z.useState)(null),[g,_]=(0,Z.useState)(null),v=o.trim(),y=!!(v&&c.trim());(0,Z.useEffect)(()=>{if(!y){p(!1),h(null),_(null);return}let e=!1,t=window.setTimeout(()=>{p(!0),h(null),x(v,c).then(t=>{e||_(t)}).catch(t=>{e||(_(null),h(t instanceof Error?t.message:i.validateWorkflowFailed))}).finally(()=>{e||p(!1)})},450);return()=>{e=!0,window.clearTimeout(t)}},[y,i.validateWorkflowFailed,c,v]);let b=(0,Z.useMemo)(()=>m?[m]:g?.errors.map(e=>e.message)??[],[m,g]),S=u||f||g!=null||m!=null,C=y&&!t&&!f&&g?.valid===!0,w=async()=>{if(d(!0),!(!y||t)){p(!0),h(null);try{let e=await x(v,c);if(_(e),!e.valid)return;await r({name:v,script:c})&&n()}catch(e){_(null),h(e instanceof Error?e.message:i.validateWorkflowFailed)}finally{p(!1)}}};return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`min-h-0 flex-1 space-y-3 overflow-auto px-5 py-4`,children:[(0,$.jsx)(St,{labels:i,name:o,setName:e=>{s(e),_(null),h(null)}}),(0,$.jsx)(Ct,{labels:i,script:c,setScript:e=>{l(e),_(null),h(null)},minHeightClass:`min-h-72`}),S?(0,$.jsx)(kt,{labels:i,validating:f,validationIssues:b,validationResult:g}):null]}),(0,$.jsxs)(`div`,{className:`flex justify-end gap-2 border-t border-edge px-5 py-4`,children:[(0,$.jsx)(q,{variant:`secondary`,onClick:n,disabled:t,children:i.cancelDialog}),(0,$.jsx)(q,{variant:`primary`,disabled:!C,onClick:()=>void w(),children:t?i.savingWorkflow:i.saveWorkflow})]})]})}function xt(e){let t=(0,Q.c)(12),{label:n,value:r,min:i,max:a,onChange:o}=e,s;t[0]===n?s=t[1]:(s=(0,$.jsx)(`span`,{className:`text-xs font-medium text-fg`,children:n}),t[0]=n,t[1]=s);let c;t[2]===o?c=t[3]:(c=e=>o(Number(e.target.value)||void 0),t[2]=o,t[3]=c);let l;t[4]!==a||t[5]!==i||t[6]!==c||t[7]!==r?(l=(0,$.jsx)(`input`,{type:`number`,min:i,max:a,value:r,onChange:c,className:`mt-1.5 w-full rounded-xl border border-edge bg-surface-base px-3 py-2 text-sm text-fg outline-none focus:border-accent focus:ring-2 focus:ring-accent/20`}),t[4]=a,t[5]=i,t[6]=c,t[7]=r,t[8]=l):l=t[8];let u;return t[9]!==s||t[10]!==l?(u=(0,$.jsxs)(`label`,{className:`block`,children:[s,l]}),t[9]=s,t[10]=l,t[11]=u):u=t[11],u}function St(e){let t=(0,Q.c)(11),{labels:n,name:r,setName:i}=e,a;t[0]===n.workflowNameLabel?a=t[1]:(a=(0,$.jsx)(`span`,{className:`text-xs font-medium text-fg`,children:n.workflowNameLabel}),t[0]=n.workflowNameLabel,t[1]=a);let o;t[2]===i?o=t[3]:(o=e=>i(e.target.value),t[2]=i,t[3]=o);let s;t[4]!==n.workflowNamePlaceholder||t[5]!==r||t[6]!==o?(s=(0,$.jsx)(`input`,{value:r,onChange:o,placeholder:n.workflowNamePlaceholder,className:`mt-1.5 w-full rounded-xl border border-edge bg-surface-base px-3 py-2 font-mono text-sm text-fg outline-none placeholder:text-fg-subtle focus:border-accent focus:ring-2 focus:ring-accent/20`}),t[4]=n.workflowNamePlaceholder,t[5]=r,t[6]=o,t[7]=s):s=t[7];let c;return t[8]!==a||t[9]!==s?(c=(0,$.jsxs)(`label`,{className:`block`,children:[a,s]}),t[8]=a,t[9]=s,t[10]=c):c=t[10],c}function Ct(e){let t=(0,Q.c)(11),{labels:n,script:r,setScript:i,minHeightClass:a}=e,o;t[0]===n.workflowScriptLabel?o=t[1]:(o=(0,$.jsx)(`span`,{className:`text-xs font-medium text-fg`,children:n.workflowScriptLabel}),t[0]=n.workflowScriptLabel,t[1]=o);let s;t[2]===i?s=t[3]:(s=e=>i(e.target.value),t[2]=i,t[3]=s);let c=`mt-1.5 w-full resize-y rounded-xl border border-edge bg-surface-base px-3 py-2 font-mono text-xs leading-5 text-fg outline-none focus:border-accent focus:ring-2 focus:ring-accent/20 ${a}`,l;t[4]!==r||t[5]!==s||t[6]!==c?(l=(0,$.jsx)(`textarea`,{value:r,onChange:s,spellCheck:!1,className:c}),t[4]=r,t[5]=s,t[6]=c,t[7]=l):l=t[7];let u;return t[8]!==o||t[9]!==l?(u=(0,$.jsxs)(`label`,{className:`block`,children:[o,l]}),t[8]=o,t[9]=l,t[10]=u):u=t[10],u}function wt(e){let t=(0,Q.c)(23),{draft:n,labels:r}=e,i=n.manifest.title??n.name,a;t[0]===i?a=t[1]:(a=(0,$.jsx)(`div`,{className:`text-sm font-semibold text-fg`,children:i}),t[0]=i,t[1]=a);let o;t[2]===n.explanation?o=t[3]:(o=(0,$.jsx)(`p`,{className:`text-xs leading-5 text-fg-muted`,children:n.explanation}),t[2]=n.explanation,t[3]=o);let s;t[4]!==n.repairAttempts||t[5]!==r.nlBuilderAutoRepaired?(s=n.repairAttempts>0?(0,$.jsx)(`div`,{className:`text-xs font-medium text-accent-fg`,children:r.nlBuilderAutoRepaired.replace(`{count}`,String(n.repairAttempts))}):null,t[4]=n.repairAttempts,t[5]=r.nlBuilderAutoRepaired,t[6]=s):s=t[6];let c;t[7]!==n.permissionsSummary||t[8]!==r.nlBuilderPermissions?(c=(0,$.jsx)(jt,{title:r.nlBuilderPermissions,items:n.permissionsSummary}),t[7]=n.permissionsSummary,t[8]=r.nlBuilderPermissions,t[9]=c):c=t[9];let l;t[10]!==n.assumptions||t[11]!==r.nlBuilderAssumptions?(l=(0,$.jsx)(jt,{title:r.nlBuilderAssumptions,items:n.assumptions}),t[10]=n.assumptions,t[11]=r.nlBuilderAssumptions,t[12]=l):l=t[12];let u;t[13]!==n.risks||t[14]!==r.nlBuilderRisks?(u=(0,$.jsx)(jt,{title:r.nlBuilderRisks,items:n.risks}),t[13]=n.risks,t[14]=r.nlBuilderRisks,t[15]=u):u=t[15];let d;return t[16]!==a||t[17]!==o||t[18]!==s||t[19]!==c||t[20]!==l||t[21]!==u?(d=(0,$.jsxs)(`div`,{className:`space-y-2 rounded-xl border border-edge bg-surface-base/50 p-3`,children:[a,o,s,c,l,u]}),t[16]=a,t[17]=o,t[18]=s,t[19]=c,t[20]=l,t[21]=u,t[22]=d):d=t[22],d}function Tt(e){let t=(0,Q.c)(17),{draft:n,labels:r,validationIssues:i}=e,a=n.lint,o;t[0]!==n.validation.valid||t[1]!==a?(o=n.validation.valid&&a.every(Ot),t[0]=n.validation.valid,t[1]=a,t[2]=o):o=t[2];let s=o,c=s?`rounded-xl border border-emerald-500/30 bg-emerald-500/10 p-3 text-sm text-emerald-800 dark:text-emerald-200`:`rounded-xl border border-amber-500/30 bg-amber-500/10 p-3 text-sm text-amber-800 dark:text-amber-200`,l;t[3]===s?l=t[4]:(l=s?(0,$.jsx)(L,{className:`size-4`,"aria-hidden":!0}):(0,$.jsx)(P,{className:`size-4`,"aria-hidden":!0}),t[3]=s,t[4]=l);let u=s?r.validationPassed:r.nlBuilderReviewIssues,d;t[5]!==l||t[6]!==u?(d=(0,$.jsxs)(`div`,{className:`flex items-center gap-2 font-medium`,children:[l,u]}),t[5]=l,t[6]=u,t[7]=d):d=t[7];let f;t[8]!==n.validation.definition?.phases||t[9]!==r.validationPreview||t[10]!==a||t[11]!==i?(f=i.length>0||a.length>0?(0,$.jsxs)(`ul`,{className:`mt-2 list-disc space-y-1 pl-5 text-xs leading-5`,children:[i.map(Dt),a.map(Et)]}):(0,$.jsx)(`p`,{className:`mt-1 text-xs opacity-80`,children:r.validationPreview.replace(`{{phaseCount}}`,String(n.validation.definition?.phases.length??0))}),t[8]=n.validation.definition?.phases,t[9]=r.validationPreview,t[10]=a,t[11]=i,t[12]=f):f=t[12];let p;return t[13]!==c||t[14]!==d||t[15]!==f?(p=(0,$.jsxs)(`div`,{className:c,children:[d,f]}),t[13]=c,t[14]=d,t[15]=f,t[16]=p):p=t[16],p}function Et(e){return(0,$.jsx)(`li`,{children:e.message},`${e.code}:${e.message}`)}function Dt(e){return(0,$.jsx)(`li`,{children:e},e)}function Ot(e){return e.severity!==`error`}function kt(e){let t=(0,Q.c)(10),{labels:n,validating:r,validationIssues:i,validationResult:a}=e,o=i.length>0?`rounded-xl border border-red-500/30 bg-red-500/10 px-3 py-2 text-sm text-red-700 dark:text-red-200`:`rounded-xl border border-emerald-500/30 bg-emerald-500/10 px-3 py-2 text-sm text-emerald-700 dark:text-emerald-200`,s=r?n.validatingWorkflow:i.length>0?n.validationFailed:n.validationPassed,c;t[0]===s?c=t[1]:(c=(0,$.jsx)(`div`,{className:`font-medium`,children:s}),t[0]=s,t[1]=c);let l;t[2]!==n.validationPreview||t[3]!==i||t[4]!==a?(l=i.length>0?(0,$.jsx)(`ul`,{className:`mt-1 list-disc space-y-1 pl-5`,children:i.map(At)}):a?.definition?(0,$.jsx)(`div`,{className:`mt-1 text-xs opacity-80`,children:n.validationPreview.replace(`{{phaseCount}}`,String(a.definition.phases.length))}):null,t[2]=n.validationPreview,t[3]=i,t[4]=a,t[5]=l):l=t[5];let u;return t[6]!==o||t[7]!==c||t[8]!==l?(u=(0,$.jsxs)(`div`,{className:o,role:`status`,children:[c,l]}),t[6]=o,t[7]=c,t[8]=l,t[9]=u):u=t[9],u}function At(e){return(0,$.jsx)(`li`,{children:e},e)}function jt(e){let t=(0,Q.c)(10),{title:n,items:r}=e;if(!r.length)return null;let i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,$.jsx)(V,{className:`size-3`,"aria-hidden":!0}),t[0]=i):i=t[0];let a;t[1]===n?a=t[2]:(a=(0,$.jsxs)(`div`,{className:`mb-1 flex items-center gap-1 text-[10px] font-semibold uppercase tracking-wide text-fg-subtle`,children:[i,n]}),t[1]=n,t[2]=a);let o;t[3]===r?o=t[4]:(o=r.slice(0,5).map(Mt),t[3]=r,t[4]=o);let s;t[5]===o?s=t[6]:(s=(0,$.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:o}),t[5]=o,t[6]=s);let c;return t[7]!==a||t[8]!==s?(c=(0,$.jsxs)(`div`,{children:[a,s]}),t[7]=a,t[8]=s,t[9]=c):c=t[9],c}function Mt(e){return(0,$.jsx)(`span`,{className:`rounded-lg border border-edge-subtle bg-surface-panel px-2 py-1 text-[11px] text-fg-muted`,children:e},e)}function Nt(e){let t=(0,Q.c)(2),{text:n}=e,r;return t[0]===n?r=t[1]:(r=(0,$.jsx)(`div`,{className:`rounded-xl border border-red-500/30 bg-red-500/10 px-3 py-2 text-sm text-red-700 dark:text-red-200`,children:n}),t[0]=n,t[1]=r),r}function Pt(e){let t=(0,Q.c)(57),{open:n,definition:r,language:i,onClose:o,onRun:s}=e,c;t[0]===i?c=t[1]:(c=a(i),t[0]=i,t[1]=c);let u=c.workflows;if(!r)return null;let d;t[2]!==r||t[3]!==i?(d=Y(r,i),t[2]=r,t[3]=i,t[4]=d):d=t[4];let f=d,p=r.runtime?.source??``,m;t[5]===o?m=t[6]:(m=e=>!e&&o(),t[5]=o,t[6]=m);let h;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,$.jsx)(I,{className:`xopc-dialog-overlay fixed inset-0 z-65 bg-scrim backdrop-blur-[1px]`}),t[7]=h):h=t[7];let g;t[8]===r.title?g=t[9]:(g=(0,$.jsx)(l,{className:`text-base font-semibold text-fg`,children:r.title}),t[8]=r.title,t[9]=g);let _;t[10]===f.description?_=t[11]:(_=(0,$.jsx)(ee,{className:`mt-1 text-sm text-fg-muted`,children:f.description}),t[10]=f.description,t[11]=_);let v;t[12]!==g||t[13]!==_?(v=(0,$.jsxs)(`div`,{className:`border-b border-edge px-5 py-4`,children:[g,_]}),t[12]=g,t[13]=_,t[14]=v):v=t[14];let y;t[15]!==u.whenToUseHeading||t[16]!==f.whenToUse?(y=f.whenToUse?(0,$.jsxs)(`section`,{children:[(0,$.jsx)(`h3`,{className:`text-xs font-semibold uppercase tracking-wide text-fg-subtle`,children:u.whenToUseHeading}),(0,$.jsx)(`p`,{className:`mt-2 text-sm leading-6 text-fg-muted`,children:f.whenToUse})]}):null,t[15]=u.whenToUseHeading,t[16]=f.whenToUse,t[17]=y):y=t[17];let b;t[18]!==r||t[19]!==u?(b=(0,$.jsx)(It,{definition:r,labels:u}),t[18]=r,t[19]=u,t[20]=b):b=t[20];let x;t[21]!==r.inputSchema||t[22]!==u.inputsHeading?(x=r.inputSchema?(0,$.jsx)(Rt,{title:u.inputsHeading,schema:r.inputSchema}):null,t[21]=r.inputSchema,t[22]=u.inputsHeading,t[23]=x):x=t[23];let S;t[24]!==r.outputSchema||t[25]!==u.outputsHeading?(S=r.outputSchema?(0,$.jsx)(Rt,{title:u.outputsHeading,schema:r.outputSchema}):null,t[24]=r.outputSchema,t[25]=u.outputsHeading,t[26]=S):S=t[26];let C;t[27]!==r.phases||t[28]!==u.phasesHeading?(C=r.phases.length>0?(0,$.jsxs)(`section`,{children:[(0,$.jsx)(`h3`,{className:`text-xs font-semibold uppercase tracking-wide text-fg-subtle`,children:u.phasesHeading}),(0,$.jsx)(`ol`,{className:`mt-2 space-y-2`,children:r.phases.map(Ft)})]}):null,t[27]=r.phases,t[28]=u.phasesHeading,t[29]=C):C=t[29];let T;t[30]!==u.scriptHeading||t[31]!==p?(T=p?(0,$.jsxs)(`section`,{children:[(0,$.jsx)(`h3`,{className:`text-xs font-semibold uppercase tracking-wide text-fg-subtle`,children:u.scriptHeading}),(0,$.jsx)(`pre`,{className:`mt-2 max-h-64 overflow-auto rounded-xl border border-edge bg-surface-base/50 p-3 font-mono text-xs leading-5 text-fg-muted`,children:p})]}):null,t[30]=u.scriptHeading,t[31]=p,t[32]=T):T=t[32];let E;t[33]!==x||t[34]!==S||t[35]!==C||t[36]!==T||t[37]!==y||t[38]!==b?(E=(0,$.jsxs)(`div`,{className:`min-h-0 flex-1 space-y-4 overflow-auto px-5 py-4`,children:[y,b,x,S,C,T]}),t[33]=x,t[34]=S,t[35]=C,t[36]=T,t[37]=y,t[38]=b,t[39]=E):E=t[39];let D;t[40]!==u.closeResult||t[41]!==o?(D=(0,$.jsx)(q,{variant:`secondary`,onClick:o,children:u.closeResult}),t[40]=u.closeResult,t[41]=o,t[42]=D):D=t[42];let O;t[43]!==u.runWorkflow||t[44]!==s?(O=(0,$.jsx)(q,{variant:`primary`,onClick:s,children:u.runWorkflow}),t[43]=u.runWorkflow,t[44]=s,t[45]=O):O=t[45];let A;t[46]!==D||t[47]!==O?(A=(0,$.jsxs)(`div`,{className:`flex justify-end gap-2 border-t border-edge px-5 py-4`,children:[D,O]}),t[46]=D,t[47]=O,t[48]=A):A=t[48];let j;t[49]!==E||t[50]!==A||t[51]!==v?(j=(0,$.jsxs)(te,{children:[h,(0,$.jsxs)(w,{className:`fixed left-1/2 top-1/2 z-66 flex max-h-[min(85vh,44rem)] w-[min(100%-2rem,48rem)] -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-2xl border border-edge bg-surface-panel shadow-popover outline-none`,children:[v,E,A]})]}),t[49]=E,t[50]=A,t[51]=v,t[52]=j):j=t[52];let M;return t[53]!==n||t[54]!==j||t[55]!==m?(M=(0,$.jsx)(k,{open:n,onOpenChange:m,children:j}),t[53]=n,t[54]=j,t[55]=m,t[56]=M):M=t[56],M}function Ft(e,t){return(0,$.jsxs)(`li`,{className:`rounded-xl border border-edge bg-surface-base/40 px-3 py-2`,children:[(0,$.jsxs)(`div`,{className:`text-sm font-medium text-fg`,children:[t+1,`. `,e.title]}),e.description?(0,$.jsx)(`p`,{className:`mt-1 text-xs leading-5 text-fg-muted`,children:e.description}):null]},e.id)}function It(e){let t=(0,Q.c)(39),{definition:n,labels:r}=e,i=n.permissions,a=n.resources,o;t[0]!==r.permissionsTools||t[1]!==i?(o=i?.tools?.length?[r.permissionsTools,i.tools.join(`, `)]:null,t[0]=r.permissionsTools,t[1]=i,t[2]=o):o=t[2];let s;t[3]!==r.networkDisabled||t[4]!==r.networkEnabled||t[5]!==r.permissionsNetwork||t[6]!==i?(s=i?.network==null?null:[r.permissionsNetwork,i.network?r.networkEnabled:r.networkDisabled],t[3]=r.networkDisabled,t[4]=r.networkEnabled,t[5]=r.permissionsNetwork,t[6]=i,t[7]=s):s=t[7];let c;t[8]!==r.permissionsFileSystem||t[9]!==i?(c=i?.fileSystem?[r.permissionsFileSystem,i.fileSystem]:null,t[8]=r.permissionsFileSystem,t[9]=i,t[10]=c):c=t[10];let l;t[11]!==r.permissionsApproval||t[12]!==i?.approvalRequired?(l=i?.approvalRequired?[r.permissionsApproval,r.permissionsApproval]:null,t[11]=r.permissionsApproval,t[12]=i?.approvalRequired,t[13]=l):l=t[13];let u;t[14]!==r.resourcesSkills||t[15]!==a?(u=a?.skills?.length?[r.resourcesSkills,a.skills.join(`, `)]:null,t[14]=r.resourcesSkills,t[15]=a,t[16]=u):u=t[16];let d;t[17]!==r.resourcesContextFiles||t[18]!==a?(d=a?.contextFiles?.length?[r.resourcesContextFiles,a.contextFiles.join(`, `)]:null,t[17]=r.resourcesContextFiles,t[18]=a,t[19]=d):d=t[19];let f;t[20]!==r.resourcesPromptTemplates||t[21]!==a?(f=a?.promptTemplates?.length?[r.resourcesPromptTemplates,a.promptTemplates.join(`, `)]:null,t[20]=r.resourcesPromptTemplates,t[21]=a,t[22]=f):f=t[22];let p;t[23]!==o||t[24]!==s||t[25]!==c||t[26]!==l||t[27]!==u||t[28]!==d||t[29]!==f?(p=[o,s,c,l,u,d,f].filter(Boolean),t[23]=o,t[24]=s,t[25]=c,t[26]=l,t[27]=u,t[28]=d,t[29]=f,t[30]=p):p=t[30];let m=p,h;t[31]===r.capabilitiesHeading?h=t[32]:(h=(0,$.jsx)(`h3`,{className:`text-xs font-semibold uppercase tracking-wide text-fg-subtle`,children:r.capabilitiesHeading}),t[31]=r.capabilitiesHeading,t[32]=h);let g;t[33]!==r.capabilityNone||t[34]!==m?(g=m.length>0?(0,$.jsx)(`div`,{className:`mt-2 grid gap-2 sm:grid-cols-2`,children:m.map(Lt)}):(0,$.jsx)(`p`,{className:`mt-2 text-sm text-fg-muted`,children:r.capabilityNone}),t[33]=r.capabilityNone,t[34]=m,t[35]=g):g=t[35];let _;return t[36]!==g||t[37]!==h?(_=(0,$.jsxs)(`section`,{children:[h,g]}),t[36]=g,t[37]=h,t[38]=_):_=t[38],_}function Lt(e){let[t,n]=e;return(0,$.jsxs)(`div`,{className:`rounded-xl border border-edge bg-surface-base/40 px-3 py-2`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-xs font-medium text-fg-muted`,children:[(0,$.jsx)(be,{className:`size-3.5 text-fg-subtle`,"aria-hidden":!0}),t]}),(0,$.jsx)(`div`,{className:`mt-1 break-words text-sm text-fg`,children:n})]},`${t}:${n}`)}function Rt(e){let t=(0,Q.c)(16),{title:n,schema:r}=e,i;t[0]===r.properties?i=t[1]:(i=Object.keys(r.properties??{}),t[0]=r.properties,t[1]=i);let a=i,o;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,$.jsx)(V,{className:`size-3.5`,"aria-hidden":!0}),t[2]=o):o=t[2];let s;t[3]===n?s=t[4]:(s=(0,$.jsxs)(`h3`,{className:`flex items-center gap-2 text-xs font-semibold uppercase tracking-wide text-fg-subtle`,children:[o,n]}),t[3]=n,t[4]=s);let c;t[5]===a?c=t[6]:(c=a.length>0?(0,$.jsx)(`div`,{className:`mt-2 flex flex-wrap gap-1.5`,children:a.map(zt)}):null,t[5]=a,t[6]=c);let l;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,$.jsx)(`summary`,{className:`cursor-pointer text-xs text-fg-subtle hover:text-fg-muted`,children:`JSON`}),t[7]=l):l=t[7];let u;t[8]===r?u=t[9]:(u=JSON.stringify(r,null,2),t[8]=r,t[9]=u);let d;t[10]===u?d=t[11]:(d=(0,$.jsxs)(`details`,{className:`mt-2`,children:[l,(0,$.jsx)(`pre`,{className:`mt-2 max-h-48 overflow-auto rounded-xl border border-edge bg-surface-base/50 p-3 font-mono text-xs leading-5 text-fg-muted`,children:u})]}),t[10]=u,t[11]=d);let f;return t[12]!==s||t[13]!==c||t[14]!==d?(f=(0,$.jsxs)(`section`,{children:[s,c,d]}),t[12]=s,t[13]=c,t[14]=d,t[15]=f):f=t[15],f}function zt(e){return(0,$.jsx)(`span`,{className:`rounded-lg border border-edge-subtle bg-surface-base px-2 py-1 text-xs text-fg-muted`,children:e},e)}function Bt(e,t){let n=e.metadata.estimatedAgents;return n?n.min===n.max?X(t.agentScaleExact,{count:n.min}):X(t.agentScaleRange,{min:n.min,max:n.max}):null}function Vt(e){let t=(0,Q.c)(50),{definition:n,language:r,labels:a,onPick:o}=e,s;t[0]!==n||t[1]!==r?(s=Y(n,r),t[0]=n,t[1]=r,t[2]=s):s=t[2];let c=s,l;t[3]!==n||t[4]!==a?(l=Bt(n,a),t[3]=n,t[4]=a,t[5]=l):l=t[5];let u=l,d=n.metadata.source===`user`,f;t[6]!==n||t[7]!==o?(f=()=>o(n),t[6]=n,t[7]=o,t[8]=f):f=t[8];let p;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(p=i(`group flex h-full flex-col rounded-xl border border-edge-subtle bg-surface-base p-4 text-left transition-colors`,`hover:border-accent/40 hover:bg-surface-hover`,we.focusRingPanel),t[9]=p):p=t[9];let m=d?`bg-accent-soft text-accent-fg`:`bg-surface-hover text-fg-muted`,h;t[10]===m?h=t[11]:(h=i(`rounded-full px-2 py-0.5 text-[10px] font-medium`,m),t[10]=m,t[11]=h);let g=d?a.badgeUser:a.badgeBuiltin,_;t[12]!==h||t[13]!==g?(_=(0,$.jsx)(`span`,{className:h,children:g}),t[12]=h,t[13]=g,t[14]=_):_=t[14];let v;t[15]!==n.inputSchema||t[16]!==a.inputSchemaBadge?(v=n.inputSchema?(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-surface-hover px-2 py-0.5 text-[10px] text-fg-subtle`,children:[(0,$.jsx)(V,{className:`size-2.5`,"aria-hidden":!0}),a.inputSchemaBadge]}):null,t[15]=n.inputSchema,t[16]=a.inputSchemaBadge,t[17]=v):v=t[17];let y;t[18]===n.metadata.tags?y=t[19]:(y=n.metadata.tags.slice(0,2).map(Ht),t[18]=n.metadata.tags,t[19]=y);let b;t[20]!==y||t[21]!==_||t[22]!==v?(b=(0,$.jsxs)(`div`,{className:`mb-2 flex flex-wrap items-center gap-1.5`,children:[_,v,y]}),t[20]=y,t[21]=_,t[22]=v,t[23]=b):b=t[23];let x;t[24]===n.title?x=t[25]:(x=(0,$.jsx)(`span`,{className:`line-clamp-2 text-sm font-semibold leading-5 text-fg`,children:n.title}),t[24]=n.title,t[25]=x);let S;t[26]!==b||t[27]!==x?(S=(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[b,x]}),t[26]=b,t[27]=x,t[28]=S):S=t[28];let w;t[29]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,$.jsx)(`span`,{className:`flex size-8 shrink-0 items-center justify-center rounded-lg bg-accent-soft text-accent-fg opacity-80 transition-opacity group-hover:opacity-100`,children:(0,$.jsx)(O,{className:`size-3.5`,"aria-hidden":!0})}),t[29]=w):w=t[29];let T;t[30]===S?T=t[31]:(T=(0,$.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[S,w]}),t[30]=S,t[31]=T);let E;t[32]===c.description?E=t[33]:(E=c.description?(0,$.jsx)(`p`,{className:`mt-2 line-clamp-2 text-xs leading-5 text-fg-muted`,children:c.description}):null,t[32]=c.description,t[33]=E);let D;t[34]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,$.jsx)(de,{className:`size-3`,"aria-hidden":!0}),t[34]=D):D=t[34];let k;t[35]!==n.phases.length||t[36]!==a.phaseCount?(k=X(a.phaseCount,{count:n.phases.length}),t[35]=n.phases.length,t[36]=a.phaseCount,t[37]=k):k=t[37];let A;t[38]===k?A=t[39]:(A=(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1`,children:[D,k]}),t[38]=k,t[39]=A);let j;t[40]===u?j=t[41]:(j=u?(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1`,children:[(0,$.jsx)(C,{className:`size-3`,"aria-hidden":!0}),u]}):null,t[40]=u,t[41]=j);let M;t[42]!==A||t[43]!==j?(M=(0,$.jsxs)(`div`,{className:`mt-auto flex flex-wrap items-center gap-3 pt-3 text-[11px] text-fg-subtle`,children:[A,j]}),t[42]=A,t[43]=j,t[44]=M):M=t[44];let N;return t[45]!==T||t[46]!==E||t[47]!==M||t[48]!==f?(N=(0,$.jsxs)(`button`,{type:`button`,onClick:f,className:p,children:[T,E,M]}),t[45]=T,t[46]=E,t[47]=M,t[48]=f,t[49]=N):N=t[49],N}function Ht(e){return(0,$.jsx)(`span`,{className:`rounded-full bg-surface-hover px-2 py-0.5 text-[10px] text-fg-subtle`,children:e},e)}function Ut(e,t){return e===`uncategorized`?t.categories.uncategorized:t.categories[e]}function Wt(e){let t=(0,Q.c)(11),{definitions:n,language:r,onPick:o}=e,s=a(r).workflows,[c,l]=(0,Z.useState)(``),[u,d]=(0,Z.useState)(`all`),f;t[0]!==u||t[1]!==n||t[2]!==c?(f=Le(n,c,u,`all`),t[0]=u,t[1]=n,t[2]=c,t[3]=f):f=t[3];let p=f,m;t[4]===p?m=t[5]:(m=Fe(p),t[4]=p,t[5]=m);let h=m,g;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,$.jsx)(fe,{className:`pointer-events-none absolute left-3 top-1/2 size-4 -translate-y-1/2 text-fg-subtle`,"aria-hidden":!0}),t[6]=g):g=t[6];let _;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(_=e=>l(e.target.value),t[7]=_):_=t[7];let v=s.searchPlaceholder,y;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(y=i(`h-10 w-full rounded-xl border border-edge bg-surface-base py-2 pl-10 pr-3 text-sm text-fg`,`placeholder:text-fg-subtle`,we.focusRingPanel),t[8]=y):y=t[8];let b=p.length===0?(0,$.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center px-4 py-12 text-center`,children:[(0,$.jsx)(`p`,{className:`text-sm text-fg-muted`,children:s.noDefinitions}),(0,$.jsx)(`p`,{className:`mt-1 max-w-sm text-xs leading-5 text-fg-subtle`,children:s.noDefinitionsHint})]}):u===`all`?(0,$.jsx)(`div`,{className:`flex flex-col gap-6 pb-1`,children:h.map(e=>(0,$.jsxs)(`section`,{children:[(0,$.jsx)(`h3`,{className:`mb-3 text-xs font-semibold uppercase tracking-wide text-fg-subtle`,children:Ut(e.category,s)}),(0,$.jsx)(`div`,{className:`grid grid-cols-1 gap-3 sm:grid-cols-2 xl:grid-cols-3`,children:e.items.map(e=>(0,$.jsx)(Vt,{definition:e,language:r,labels:s,onPick:o},e.id))})]},e.category))}):(0,$.jsx)(`div`,{className:`grid grid-cols-1 gap-3 pb-1 sm:grid-cols-2 xl:grid-cols-3`,children:p.map(e=>(0,$.jsx)(Vt,{definition:e,language:r,labels:s,onPick:o},e.id))}),x;return t[9]===b?x=t[10]:(x=(0,$.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:b}),t[9]=b,t[10]=x),(0,$.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-4`,children:[(0,$.jsxs)(`div`,{className:`flex shrink-0 flex-col gap-4`,children:[(0,$.jsxs)(`div`,{className:`relative`,children:[g,(0,$.jsx)(`input`,{value:c,onChange:_,placeholder:v,className:y})]}),(0,$.jsx)(`div`,{className:`flex flex-wrap gap-2`,role:`group`,"aria-label":s.categoryFilterAria,children:ye.map(e=>(0,$.jsx)(q,{type:`button`,variant:u===e?`secondary`:`ghost`,className:`h-8 rounded-full px-3 py-1.5 text-xs`,onClick:()=>d(e),children:s.categories[e]},e))})]}),x]})}function Gt(e){let t=(0,Q.c)(30),{open:n,definitions:r,language:o,onClose:s,onPick:c}=e,u;t[0]===o?u=t[1]:(u=a(o),t[0]=o,t[1]=u);let d=u.workflows,f;t[2]===s?f=t[3]:(f=e=>!e&&s(),t[2]=s,t[3]=f);let p;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,$.jsx)(I,{className:`fixed inset-0 z-50 bg-scrim`}),t[4]=p):p=t[4];let m;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(m=i(`pointer-events-auto relative flex h-[min(90vh,840px)] w-full max-w-5xl flex-col`,`rounded-2xl border border-edge bg-surface-panel shadow-popover outline-none`,we.focusRingPanel),t[5]=m):m=t[5];let h;t[6]===d.pickStartTitle?h=t[7]:(h=(0,$.jsx)(l,{className:`text-lg font-semibold text-fg`,children:d.pickStartTitle}),t[6]=d.pickStartTitle,t[7]=h);let g;t[8]===d.pickStartHint?g=t[9]:(g=(0,$.jsx)(ee,{className:`mt-1 text-sm leading-6 text-fg-muted`,children:d.pickStartHint}),t[8]=d.pickStartHint,t[9]=g);let _;t[10]!==h||t[11]!==g?(_=(0,$.jsxs)(`div`,{className:`min-w-0`,children:[h,g]}),t[10]=h,t[11]=g,t[12]=_):_=t[12];let v;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,$.jsx)(K,{className:`size-5`,strokeWidth:1.75,"aria-hidden":!0}),t[13]=v):v=t[13];let y;t[14]===d.pickStartClose?y=t[15]:(y=(0,$.jsx)(he,{asChild:!0,children:(0,$.jsx)(q,{variant:`ghost`,className:`size-9 shrink-0 p-0`,"aria-label":d.pickStartClose,children:v})}),t[14]=d.pickStartClose,t[15]=y);let b;t[16]!==_||t[17]!==y?(b=(0,$.jsxs)(`div`,{className:`flex shrink-0 items-start justify-between gap-4 border-b border-edge-subtle px-6 py-5`,children:[_,y]}),t[16]=_,t[17]=y,t[18]=b):b=t[18];let x;t[19]!==r||t[20]!==o||t[21]!==c?(x=(0,$.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col px-6 py-5`,children:(0,$.jsx)(Wt,{definitions:r,language:o,onPick:c})}),t[19]=r,t[20]=o,t[21]=c,t[22]=x):x=t[22];let S;t[23]!==b||t[24]!==x?(S=(0,$.jsxs)(te,{children:[p,(0,$.jsx)(`div`,{className:`fixed inset-0 z-50 flex items-center justify-center p-4 pointer-events-none`,children:(0,$.jsxs)(w,{className:m,onOpenAutoFocus:Kt,children:[b,x]})})]}),t[23]=b,t[24]=x,t[25]=S):S=t[25];let C;return t[26]!==n||t[27]!==S||t[28]!==f?(C=(0,$.jsx)(k,{open:n,onOpenChange:f,children:S}),t[26]=n,t[27]=S,t[28]=f,t[29]=C):C=t[29],C}function Kt(e){return e.preventDefault()}function qt(e,t){return t.status[e]??e}function Jt(e,t){return t.phaseStatus[e]??e}function Yt(e,t){let{run:n}=e;return n.status===`succeeded`?X(t.runSummarySucceeded,{agents:n.metrics.doneAgentCount,artifacts:n.metrics.artifactCount}):n.status===`failed`||n.status===`timeout`?n.error?.message??t.runSummaryFailedFallback:n.status===`cancelled`?t.runSummaryCancelled:X(t.runSummaryActive,{done:n.metrics.doneAgentCount,total:n.metrics.agentCount})}function Xt(e,t){let{run:n}=e;return n.status===`failed`?t.diagnosticFailedHint:n.status===`timeout`?t.diagnosticTimeoutHint:n.status===`cancelled`?t.diagnosticCancelledHint:n.status===`succeeded`&&n.metrics.errorAgentCount>0?t.diagnosticPartialHint:null}function Zt(e){return Me(e)}function Qt(e){return!e||typeof e!=`object`||!(`kind`in e)?`unknown`:e.kind===`chat`?`chat · ${e.sessionKey}`:e.kind===`webui`?e.sessionKey?`webui · ${e.sessionKey}`:`webui`:e.kind===`cron`?`cron · ${e.scheduleId}`:e.kind===`api`?e.requestId?`api · ${e.requestId}`:`api`:e.kind===`im`?`${e.channel} · ${e.chatId}`:String(e.kind)}function $t({view:e,comparison:t,currentDefinition:n,loading:r,language:o,localeTag:s,onCancel:c,onRetry:u,onReplay:d,onOpenRunId:f,ownerAgentId:p,onClose:m}){let h=a(o).workflows,g=ue(o),_=N(),[y,x]=(0,Z.useState)(!0),[C,T]=(0,Z.useState)(!1),[D,O]=(0,Z.useState)(null),[A,j]=(0,Z.useState)(!1),[F,ee]=(0,Z.useState)(null),[L,R]=(0,Z.useState)(null),[,ie]=(0,Z.useState)(0),z=e?.run.status,B=z?se.has(z):!1;(0,Z.useEffect)(()=>{e?.run.id&&(x(B||z===`failed`||z===`timeout`||z===`succeeded`&&e.run.metrics.errorAgentCount>0),O(null),ee(null))},[e?.run.id,B,z,e?.run.metrics.errorAgentCount]),(0,Z.useEffect)(()=>{if(!B)return;let e=window.setInterval(()=>ie(e=>e+1),1e3);return()=>window.clearInterval(e)},[B]);let V=(0,Z.useMemo)(()=>e?H(e):null,[e]),ae=(0,Z.useMemo)(()=>V?Te(V):{phases:[],unphased:null},[V]),ce=(0,Z.useMemo)(()=>D==null||!V?null:V.agents.find(e=>e.id===D)??null,[D,V]),G=(0,Z.useCallback)(e=>{O(e.id)},[]),le=e?dn(e.run.result):null,J=(0,Z.useMemo)(()=>e?Pe(e):[],[e]),de=e?Oe(e.run.result):void 0,fe=Ae(de),pe=fe.trim().length>0,he=(0,Z.useCallback)(async()=>{pe&&await re(fe)&&(j(!0),window.setTimeout(()=>j(!1),1500))},[pe,fe]),ge=(0,Z.useCallback)(()=>{if(!pe||!e)return;let t=new Blob([fe],{type:`text/markdown;charset=utf-8`}),n=URL.createObjectURL(t),r=document.createElement(`a`);r.href=n,r.download=`${e.run.definitionId}-${e.run.id.slice(0,8)}.md`,r.click(),URL.revokeObjectURL(n)},[pe,fe,e]),ye=(0,Z.useCallback)(()=>{if(!e)return;let t=Zt(e);t&&_(Ie(t))},[_,e]),be=(0,Z.useCallback)(async t=>{if(e){ee(null),R(t.id);try{ln(await M(e.run.id,t.id,{ownerAgentId:p}),t.name||t.id)}catch(e){ee(e instanceof Error?e.message:String(e))}finally{R(null)}}},[p,e]),xe=(0,Z.useCallback)(t=>{if(!e||!t.prompt)return;let n=Zt(e);if(!n){re(t.prompt);return}_(Ie(n,t.prompt))},[_,e]),Ce=(0,Z.useCallback)(t=>{if(!e||t==null)return;let n=String(t),r=e.agents.findIndex(e=>String(e.id)===n);if(r<0)return;let i=Number.parseInt(n,10);O(Number.isFinite(i)?i:r+1)},[e]),we=e?Zt(e):null;if(r)return(0,$.jsx)(k,{open:!0,onOpenChange:e=>!e&&m(),children:(0,$.jsxs)(te,{children:[(0,$.jsx)(I,{className:`xopc-dialog-overlay fixed inset-0 z-65 bg-scrim backdrop-blur-[1px]`}),(0,$.jsxs)(w,{className:`fixed left-1/2 top-1/2 z-66 flex h-[min(85vh,44rem)] w-[min(100%-2rem,48rem)] -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-2xl border border-edge bg-surface-panel shadow-popover outline-none`,children:[(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between gap-2 border-b border-edge px-5 py-4`,children:[(0,$.jsx)(l,{className:`text-base font-semibold tracking-tight text-fg`,children:h.runSummaryTitle}),(0,$.jsx)(q,{type:`button`,variant:`ghost`,className:`size-9 shrink-0 p-0`,"aria-label":h.pickStartClose,onClick:m,children:(0,$.jsx)(K,{className:`size-5`,"aria-hidden":!0})})]}),(0,$.jsx)(`div`,{className:`p-5 text-sm text-fg-muted`,children:h.loading})]})]})});if(!e||!V)return null;let{run:Y}=e,Ne=e.controls.canCancel&&B,Fe=B&&Y.startedAtMs!=null?je(Date.now()-Y.startedAtMs):je(Y.metrics.durationMs??void 0),Le=Yt(e,h),Re=Xt(e,h),ze=Y.metadata,Q=Qt(Y.source),Be=e.controls.canRetry&&e.agents.some(e=>(e.status===`error`||e.status===`skipped`)&&e.prompt?.trim()),Ve=e.controls.canRetry&&(e.phases.some(t=>t.status===`failed`&&e.agents.some(e=>e.phaseId===t.id&&e.prompt?.trim()))||e.agents.some(e=>(e.status===`error`||e.status===`skipped`)&&e.phaseId&&e.prompt?.trim()));return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(k,{open:!0,onOpenChange:e=>!e&&m(),children:(0,$.jsxs)(te,{children:[(0,$.jsx)(I,{className:`xopc-dialog-overlay fixed inset-0 z-65 bg-scrim backdrop-blur-[1px]`}),(0,$.jsxs)(w,{className:`fixed left-1/2 top-1/2 z-66 flex h-[min(90vh,52rem)] w-[min(100%-2rem,64rem)] -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-2xl border border-edge bg-surface-panel shadow-popover outline-none`,children:[(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between gap-2 border-b border-edge px-5 py-4`,children:[(0,$.jsx)(l,{className:`truncate text-base font-semibold tracking-tight text-fg`,children:Y.title}),(0,$.jsx)(q,{type:`button`,variant:`ghost`,className:`size-9 shrink-0 p-0`,"aria-label":h.pickStartClose,onClick:m,children:(0,$.jsx)(K,{className:`size-5`,"aria-hidden":!0})})]}),(0,$.jsxs)(`section`,{className:`min-h-0 flex-1 overflow-y-auto p-5`,children:[(0,$.jsx)(`div`,{className:`flex flex-col gap-4 lg:flex-row lg:items-start lg:justify-between`,children:(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,$.jsx)(`h2`,{className:`text-lg font-semibold text-fg`,children:Y.title}),(0,$.jsx)(`span`,{className:i(`rounded-full px-2 py-0.5 text-xs font-medium`,ke(Y.status)),children:qt(Y.status,h)})]}),(0,$.jsx)(`p`,{className:`mt-1 text-xs text-fg-subtle`,children:Y.definitionId}),Y.goal?(0,$.jsx)(`p`,{className:`mt-3 text-sm leading-6 text-fg-muted`,children:Y.goal}):null]})}),(0,$.jsx)(`div`,{className:`mt-5 rounded-2xl border border-edge-subtle bg-surface-base/60 p-4`,children:(0,$.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,$.jsx)(`div`,{className:`rounded-xl bg-accent-soft p-2 text-accent-fg`,children:Y.status===`succeeded`?(0,$.jsx)(S,{className:`size-4`,"aria-hidden":!0}):Y.status===`failed`||Y.status===`timeout`?(0,$.jsx)(P,{className:`size-4`,"aria-hidden":!0}):(0,$.jsx)(_e,{className:`size-4`,"aria-hidden":!0})}),(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:h.runSummaryTitle}),(0,$.jsx)(`p`,{className:`mt-1 text-sm leading-6 text-fg-muted`,children:Le}),Re?(0,$.jsx)(`p`,{className:`mt-2 text-xs leading-5 text-fg-subtle`,children:Re}):null]})]})}),(0,$.jsx)(en,{diagnostics:J,labels:h,onOpenAgent:Ce}),(0,$.jsx)(nn,{view:e,comparison:t,labels:h,onOpenRunId:f}),(0,$.jsxs)(`dl`,{className:`mt-5 grid gap-3 sm:grid-cols-2 lg:grid-cols-4`,children:[(0,$.jsx)(vn,{label:h.metrics.startedAt,value:De(Y.startedAtMs??Y.createdAtMs,s)}),(0,$.jsx)(vn,{label:h.metrics.duration,value:Fe}),(0,$.jsx)(vn,{label:h.metrics.agents,value:X(h.agentProgress,{done:Y.metrics.doneAgentCount,total:Y.metrics.agentCount})}),(0,$.jsx)(vn,{label:h.metrics.artifacts,value:String(Y.metrics.artifactCount)})]}),(0,$.jsxs)(`div`,{className:`mt-5 flex flex-wrap gap-2`,children:[we?(0,$.jsxs)(q,{variant:`primary`,onClick:ye,children:[(0,$.jsx)(b,{className:`size-4`,"aria-hidden":!0}),h.continueInChat]}):null,Ne?(0,$.jsxs)(q,{variant:`secondary`,onClick:c,className:`text-red-600 dark:text-red-300`,children:[(0,$.jsx)(me,{className:`size-4`,"aria-hidden":!0}),h.cancel]}):null,e.controls.canRetry?(0,$.jsxs)(q,{variant:`secondary`,onClick:u,children:[(0,$.jsx)(Ee,{className:`size-4`,"aria-hidden":!0}),h.rerun]}):null,Be?(0,$.jsxs)(q,{variant:`secondary`,onClick:()=>d(`failed_agents`),children:[(0,$.jsx)(Ee,{className:`size-4`,"aria-hidden":!0}),h.replayFailedAgents]}):null,Ve?(0,$.jsxs)(q,{variant:`secondary`,onClick:()=>d(`failed_phases`),children:[(0,$.jsx)(Ee,{className:`size-4`,"aria-hidden":!0}),h.replayFailedPhases]}):null,pe?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(q,{variant:`secondary`,onClick:he,children:[A?(0,$.jsx)(W,{className:`size-4`,"aria-hidden":!0}):(0,$.jsx)(v,{className:`size-4`,"aria-hidden":!0}),A?h.copied:h.copyResult]}),(0,$.jsxs)(q,{variant:`secondary`,onClick:ge,children:[(0,$.jsx)(E,{className:`size-4`,"aria-hidden":!0}),h.exportResult]})]}):null]}),(0,$.jsxs)(`div`,{className:`mt-6`,children:[(0,$.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:h.resultTitle}),pe?(0,$.jsx)(`div`,{className:`mt-3 rounded-xl border border-edge bg-surface-base/50 p-3`,children:(0,$.jsx)(oe,{result:de,labels:g.result})}):(0,$.jsx)(`div`,{className:`mt-3 rounded-xl border border-dashed border-edge p-4 text-sm text-fg-muted`,children:h.noResult}),(0,$.jsx)(cn,{outcome:le,labels:h,downloadingArtifactId:L,downloadError:F,onCopyText:e=>void re(e),onDownloadArtifact:e=>void be(e),onStartFollowUp:xe})]}),(0,$.jsxs)(`div`,{className:`mt-6 rounded-2xl border border-edge bg-surface-base/35`,children:[(0,$.jsxs)(`button`,{type:`button`,className:`flex w-full items-center justify-between gap-4 px-4 py-3 text-left`,onClick:()=>x(e=>!e),"aria-expanded":y,children:[(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:h.process}),(0,$.jsxs)(`p`,{className:`mt-1 text-xs text-fg-subtle`,children:[X(h.agentProgress,{done:Y.metrics.doneAgentCount,total:Y.metrics.agentCount}),` · `,Fe]})]}),(0,$.jsx)(ve,{className:i(`size-4 shrink-0 text-fg-subtle transition-transform`,y?`rotate-180`:null),"aria-hidden":!0})]}),y?(0,$.jsxs)(`div`,{className:`border-t border-edge px-4 pb-4 pt-4`,children:[B?(0,$.jsx)(ne,{snapshot:V,labels:g,logsExpanded:C,onToggleLogs:()=>T(e=>!e),selectedAgentId:D,onSelectAgent:G}):(0,$.jsx)(U,{rollup:ae,currentPhase:V.currentPhase,labels:g.phase,recentLogs:V.logs,recentLogsHeading:g.recentLogsHeading,showAllLogsLabel:g.showAllLogs,logsExpanded:C,onToggleLogs:()=>T(e=>!e),selectedAgentId:D,onSelectAgent:G}),e.phases.length>0?(0,$.jsx)(`div`,{className:`mt-4 grid gap-2 sm:grid-cols-2`,children:e.phases.map(e=>(0,$.jsx)(`div`,{className:`rounded-xl border border-edge bg-surface-panel px-3 py-2`,children:(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,$.jsx)(`span`,{className:`text-sm font-medium text-fg`,children:e.title}),(0,$.jsx)(`span`,{className:`text-xs text-fg-subtle`,children:Jt(e.status,h)})]})},e.id))}):null]}):null]}),(0,$.jsx)(fn,{agents:V.agents,labels:h,defaultExpanded:Y.status===`failed`||Y.status===`timeout`||Y.metrics.errorAgentCount>0}),(0,$.jsxs)(`div`,{className:`mt-6 grid gap-3 rounded-2xl border border-edge-subtle bg-surface-base/35 p-4 sm:grid-cols-2 lg:grid-cols-4`,children:[(0,$.jsx)(yn,{label:h.metadataSession,value:ze?.sessionKey??Me(e)??`—`}),(0,$.jsx)(yn,{label:h.metadataSource,value:Q}),(0,$.jsx)(yn,{label:h.metadataDefinition,value:`${ze?.definition.version??Y.definitionVersion} · ${ze?.definition.source??`unknown`}`}),(0,$.jsx)(yn,{label:h.metadataDefinitionHash,value:rn(ze?.definition,n,h)}),(0,$.jsx)(yn,{label:h.metadataPermissions,value:an(ze?.definition)}),(0,$.jsx)(yn,{label:h.metadataRetryOf,value:ze?.retryOfRunId??`—`})]})]})]})]})}),(0,$.jsx)(Se,{open:D!=null&&ce!=null,agent:ce,snapshot:V,sessionKey:null,ownerAgentId:p,onClose:()=>O(null),labels:g.drawer})]})}function en(e){let t=(0,Q.c)(18),{diagnostics:n,labels:r,onOpenAgent:i}=e;if(n.length===0)return null;let a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,$.jsx)(`div`,{className:`rounded-xl bg-rose-500/10 p-2 text-rose-700 dark:text-rose-300`,children:(0,$.jsx)(P,{className:`size-4`,"aria-hidden":!0})}),t[0]=a):a=t[0];let o;t[1]===r.diagnosticsTitle?o=t[2]:(o=(0,$.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:r.diagnosticsTitle}),t[1]=r.diagnosticsTitle,t[2]=o);let s;t[3]===r.diagnosticsHint?s=t[4]:(s=(0,$.jsx)(`p`,{className:`mt-1 text-xs leading-5 text-fg-subtle`,children:r.diagnosticsHint}),t[3]=r.diagnosticsHint,t[4]=s);let c;if(t[5]!==n||t[6]!==r||t[7]!==i){let e;t[9]!==r||t[10]!==i?(e=e=>(0,$.jsx)(`li`,{className:`rounded-xl border border-edge-subtle bg-surface-panel px-3 py-2`,children:(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`div`,{className:`text-sm font-medium text-fg`,children:tn(e,r)}),e.message?(0,$.jsx)(`div`,{className:`mt-0.5 text-xs leading-5 text-fg-muted`,children:e.message}):null,e.detail?(0,$.jsx)(`div`,{className:`mt-0.5 line-clamp-2 text-xs leading-5 text-fg-subtle`,children:e.detail}):null]}),e.agentId==null?null:(0,$.jsx)(q,{type:`button`,variant:`ghost`,className:`h-8 shrink-0 px-2 text-xs`,onClick:()=>i(e.agentId),children:r.openAgentDetails})]})},e.key),t[9]=r,t[10]=i,t[11]=e):e=t[11],c=n.slice(0,5).map(e),t[5]=n,t[6]=r,t[7]=i,t[8]=c}else c=t[8];let l;t[12]===c?l=t[13]:(l=(0,$.jsx)(`ul`,{className:`mt-3 space-y-2`,children:c}),t[12]=c,t[13]=l);let u;return t[14]!==o||t[15]!==s||t[16]!==l?(u=(0,$.jsx)(`section`,{className:`mt-5 rounded-2xl border border-rose-500/20 bg-rose-500/5 p-4`,children:(0,$.jsxs)(`div`,{className:`flex items-start gap-3`,children:[a,(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[o,s,l]})]})}),t[14]=o,t[15]=s,t[16]=l,t[17]=u):u=t[17],u}function tn(e,t){return e.kind===`run_error`?e.code?X(t.diagnosticsRunErrorWithCode,{code:e.code}):t.diagnosticsRunError:e.kind===`agent_error`?X(t.diagnosticsAgentError,{agent:e.agentLabel??String(e.agentId??`—`)}):e.kind===`step_error`?X(t.diagnosticsStepError,{agent:e.agentLabel??String(e.agentId??`—`),step:e.stepLabel??e.stepId??`—`}):X(t.diagnosticsAgentSkipped,{agent:e.agentLabel??String(e.agentId??`—`)})}function nn(e){let t=(0,Q.c)(36),{view:n,comparison:r,labels:i,onOpenRunId:a}=e,o=n.run.metadata?.replay;if(!o)return null;let s;t[0]===i.replayLineageTitle?s=t[1]:(s=(0,$.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:i.replayLineageTitle}),t[0]=i.replayLineageTitle,t[1]=s);let c;t[2]!==i||t[3]!==o.scope||t[4]!==o.targetCount?(c=X(i.replayLineageSummary,{scope:sn(o.scope,i),count:o.targetCount}),t[2]=i,t[3]=o.scope,t[4]=o.targetCount,t[5]=c):c=t[5];let l;t[6]===c?l=t[7]:(l=(0,$.jsx)(`p`,{className:`mt-1 text-xs leading-5 text-fg-subtle`,children:c}),t[6]=c,t[7]=l);let u;t[8]!==i.replaySourceRun||t[9]!==o.sourceRunId?(u=(0,$.jsx)(yn,{label:i.replaySourceRun,value:o.sourceRunId}),t[8]=i.replaySourceRun,t[9]=o.sourceRunId,t[10]=u):u=t[10];let d=i.replayTargetAgents,f;t[11]===o.agentIds?f=t[12]:(f=o.agentIds.join(`, `),t[11]=o.agentIds,t[12]=f);let p;t[13]!==i.replayTargetAgents||t[14]!==f?(p=(0,$.jsx)(yn,{label:d,value:f}),t[13]=i.replayTargetAgents,t[14]=f,t[15]=p):p=t[15];let m;t[16]!==u||t[17]!==p?(m=(0,$.jsxs)(`dl`,{className:`mt-3 grid gap-2 text-xs sm:grid-cols-2`,children:[u,p]}),t[16]=u,t[17]=p,t[18]=m):m=t[18];let h;t[19]!==r||t[20]!==i.replayDurationDelta||t[21]!==i.replayFixedAgents||t[22]!==i.replayStillFailingAgents?(h=r?(0,$.jsxs)(`div`,{className:`mt-3 grid gap-2 sm:grid-cols-3`,children:[(0,$.jsx)(vn,{label:i.replayFixedAgents,value:String(r.fixedAgentIds.length)}),(0,$.jsx)(vn,{label:i.replayStillFailingAgents,value:String(r.stillFailingAgentIds.length)}),(0,$.jsx)(vn,{label:i.replayDurationDelta,value:on(r.durationDeltaMs)})]}):null,t[19]=r,t[20]=i.replayDurationDelta,t[21]=i.replayFixedAgents,t[22]=i.replayStillFailingAgents,t[23]=h):h=t[23];let g;t[24]!==s||t[25]!==l||t[26]!==m||t[27]!==h?(g=(0,$.jsxs)(`div`,{className:`min-w-0`,children:[s,l,m,h]}),t[24]=s,t[25]=l,t[26]=m,t[27]=h,t[28]=g):g=t[28];let _;t[29]!==i.replayOpenSource||t[30]!==a||t[31]!==o.sourceRunId?(_=a?(0,$.jsx)(q,{type:`button`,variant:`secondary`,className:`shrink-0`,onClick:()=>a(o.sourceRunId),children:i.replayOpenSource}):null,t[29]=i.replayOpenSource,t[30]=a,t[31]=o.sourceRunId,t[32]=_):_=t[32];let v;return t[33]!==g||t[34]!==_?(v=(0,$.jsx)(`section`,{className:`mt-5 rounded-2xl border border-edge-subtle bg-surface-base/35 p-4`,children:(0,$.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-3`,children:[g,_]})}),t[33]=g,t[34]=_,t[35]=v):v=t[35],v}function rn(e,t,n){if(!e?.contentHash)return n.definitionHashUnavailable;let r=e.contentHash.slice(0,8);return t?.contentHash?t.contentHash===e.contentHash?`${r} · ${n.definitionHashMatches}`:`${r} · ${n.definitionHashDrifted}`:`${r} · ${n.definitionHashCurrentUnknown}`}function an(e){let t=e?.permissions;if(!t)return`—`;let n=[t.tools?.length?`tools:${t.tools.join(`,`)}`:null,t.network==null?null:`network:${t.network?`on`:`off`}`,t.fileSystem?`fs:${t.fileSystem}`:null,t.approvalRequired?`approval`:null].filter(Boolean);return n.length>0?n.join(` · `):`—`}function on(e){return e==null?`—`:`${e>0?`+`:e<0?`-`:``}${je(Math.abs(e))}`}function sn(e,t){return e===`failed_phases`?t.replayScopeFailedPhases:t.replayScopeFailedAgents}function cn(e){let t=(0,Q.c)(18),{outcome:n,labels:r,downloadingArtifactId:i,downloadError:a,onCopyText:o,onDownloadArtifact:s,onStartFollowUp:c}=e;if(!n||!n.artifacts.length&&!n.followUps.length&&n.structuredOutput===void 0)return null;let l;t[0]!==a||t[1]!==i||t[2]!==r||t[3]!==s||t[4]!==n.artifacts?(l=n.artifacts.length>0?(0,$.jsxs)(un,{title:r.outcomeArtifacts,children:[(0,$.jsx)(`ul`,{className:`space-y-2`,children:n.artifacts.map(e=>(0,$.jsxs)(`li`,{className:`min-w-0 rounded-lg bg-surface-base px-2.5 py-2`,children:[(0,$.jsx)(`div`,{className:`truncate text-sm font-medium text-fg`,title:e.title??e.name,children:e.title??e.name}),(0,$.jsx)(`div`,{className:`mt-0.5 text-xs text-fg-subtle`,children:e.mimeType}),(0,$.jsxs)(`button`,{type:`button`,className:`mt-1 inline-flex items-center gap-1 text-xs font-medium text-accent-fg hover:underline disabled:cursor-wait disabled:opacity-60`,disabled:i===e.id,onClick:()=>s(e),children:[(0,$.jsx)(E,{className:`size-3`,"aria-hidden":!0}),i===e.id?r.downloadingArtifact:r.downloadArtifact]})]},e.id))}),a?(0,$.jsx)(`p`,{className:`mt-2 text-xs leading-5 text-rose-600 dark:text-rose-400`,children:a}):null]}):null,t[0]=a,t[1]=i,t[2]=r,t[3]=s,t[4]=n.artifacts,t[5]=l):l=t[5];let u;t[6]!==r||t[7]!==o||t[8]!==c||t[9]!==n.followUps?(u=n.followUps.length>0?(0,$.jsx)(un,{title:r.outcomeFollowUps,children:(0,$.jsx)(`ul`,{className:`space-y-2`,children:n.followUps.map(e=>(0,$.jsxs)(`li`,{className:`rounded-lg bg-surface-base px-2.5 py-2`,children:[(0,$.jsx)(`div`,{className:`text-sm font-medium text-fg`,children:e.title}),e.prompt?(0,$.jsxs)(`div`,{className:`mt-1 flex flex-wrap gap-2`,children:[(0,$.jsx)(`button`,{type:`button`,className:`text-xs font-medium text-accent-fg hover:underline`,onClick:()=>c(e),children:r.startFollowUp}),(0,$.jsx)(`button`,{type:`button`,className:`text-xs font-medium text-fg-subtle hover:text-fg`,onClick:()=>o(e.prompt??``),children:r.copyPrompt})]}):null]},e.id))})}):null,t[6]=r,t[7]=o,t[8]=c,t[9]=n.followUps,t[10]=u):u=t[10];let d;t[11]!==r||t[12]!==n.structuredOutput?(d=n.structuredOutput===void 0?null:(0,$.jsx)(un,{title:r.outcomeStructuredOutput,children:(0,$.jsx)(`pre`,{className:`max-h-44 overflow-auto whitespace-pre-wrap break-words rounded-lg bg-surface-base p-2 font-mono text-xs leading-5 text-fg-muted`,children:Ae(n.structuredOutput)})}),t[11]=r,t[12]=n.structuredOutput,t[13]=d):d=t[13];let f;return t[14]!==l||t[15]!==u||t[16]!==d?(f=(0,$.jsxs)(`div`,{className:`mt-3 grid gap-3 lg:grid-cols-3`,children:[l,u,d]}),t[14]=l,t[15]=u,t[16]=d,t[17]=f):f=t[17],f}function ln(e,t){let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,r.click(),URL.revokeObjectURL(n)}function un(e){let t=(0,Q.c)(7),{title:n,children:r}=e,i;t[0]===n?i=t[1]:(i=(0,$.jsx)(`h4`,{className:`text-xs font-semibold uppercase tracking-wide text-fg-subtle`,children:n}),t[0]=n,t[1]=i);let a;t[2]===r?a=t[3]:(a=(0,$.jsx)(`div`,{className:`mt-2`,children:r}),t[2]=r,t[3]=a);let o;return t[4]!==i||t[5]!==a?(o=(0,$.jsxs)(`section`,{className:`min-w-0 rounded-xl border border-edge-subtle bg-surface-base/35 p-3`,children:[i,a]}),t[4]=i,t[5]=a,t[6]=o):o=t[6],o}function dn(e){if(!e||typeof e!=`object`||Array.isArray(e))return null;let t=e,n=Array.isArray(t.artifacts)?t.artifacts:[],r=Array.isArray(t.followUps)?t.followUps:[];return n.length===0&&r.length===0&&t.structuredOutput===void 0?null:{artifacts:n,followUps:r,structuredOutput:t.structuredOutput}}function fn(e){let t=(0,Q.c)(26),{agents:n,labels:r,defaultExpanded:a}=e,[o,s]=(0,Z.useState)(a),c,l;if(t[0]===a?(c=t[1],l=t[2]):(c=()=>{s(a)},l=[a],t[0]=a,t[1]=c,t[2]=l),(0,Z.useEffect)(c,l),n.length===0)return null;let u;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(u=()=>s(pn),t[3]=u):u=t[3];let d;t[4]===r.agentIoTitle?d=t[5]:(d=(0,$.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:r.agentIoTitle}),t[4]=r.agentIoTitle,t[5]=d);let f;t[6]===r.agentIoHint?f=t[7]:(f=(0,$.jsx)(`p`,{className:`text-xs leading-5 text-fg-subtle`,children:r.agentIoHint}),t[6]=r.agentIoHint,t[7]=f);let p;t[8]!==d||t[9]!==f?(p=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[d,f]}),t[8]=d,t[9]=f,t[10]=p):p=t[10];let m=o?`rotate-180`:null,h;t[11]===m?h=t[12]:(h=i(`mt-0.5 size-4 shrink-0 text-fg-subtle transition-transform`,m),t[11]=m,t[12]=h);let g;t[13]===h?g=t[14]:(g=(0,$.jsx)(ve,{className:h,"aria-hidden":!0}),t[13]=h,t[14]=g);let _;t[15]!==o||t[16]!==p||t[17]!==g?(_=(0,$.jsxs)(`button`,{type:`button`,className:`flex w-full items-start justify-between gap-4 px-4 py-3 text-left`,onClick:u,"aria-expanded":o,children:[p,g]}),t[15]=o,t[16]=p,t[17]=g,t[18]=_):_=t[18];let v;t[19]!==n||t[20]!==o||t[21]!==r?(v=o?(0,$.jsx)(`div`,{className:`grid gap-3 border-t border-edge px-4 py-4`,children:n.map(e=>{let t=e.error||e.resultPreview||r.agentNoOutput;return(0,$.jsxs)(`article`,{className:`rounded-xl border border-edge-subtle bg-surface-panel p-3`,children:[(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[(0,$.jsx)(`div`,{className:`min-w-0 text-sm font-medium text-fg`,children:e.label}),(0,$.jsx)(`span`,{className:i(`rounded-full px-2 py-0.5 text-xs font-medium`,_n(e.status)),children:r.agentStatus[e.status]??e.status})]}),(0,$.jsxs)(`div`,{className:`mt-3 grid gap-3 lg:grid-cols-2`,children:[(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`div`,{className:`text-[10px] font-medium uppercase tracking-wide text-fg-subtle`,children:r.agentInputHeading}),(0,$.jsx)(`pre`,{className:`mt-1 max-h-32 overflow-y-auto whitespace-pre-wrap wrap-break-word rounded-lg border border-edge-subtle bg-surface-base/50 p-2 font-mono text-xs leading-5 text-fg-muted`,children:e.prompt||`—`})]}),(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`div`,{className:`text-[10px] font-medium uppercase tracking-wide text-fg-subtle`,children:r.agentOutputHeading}),(0,$.jsx)(`div`,{className:i(`mt-1 max-h-32 overflow-y-auto whitespace-pre-wrap wrap-break-word rounded-lg border border-edge-subtle bg-surface-base/50 p-2 text-xs leading-5`,e.error?`font-mono text-rose-600 dark:text-rose-400`:`text-fg-muted`),children:t})]})]}),(0,$.jsx)(mn,{agent:e,labels:r})]},e.id)})}):null,t[19]=n,t[20]=o,t[21]=r,t[22]=v):v=t[22];let y;return t[23]!==_||t[24]!==v?(y=(0,$.jsxs)(`section`,{className:`mt-6 rounded-2xl border border-edge bg-surface-base/35`,children:[_,v]}),t[23]=_,t[24]=v,t[25]=y):y=t[25],y}function pn(e){return!e}function mn(e){let t=(0,Q.c)(21),{agent:n,labels:r}=e,i=n.invocation;if(!i)return null;let a=i.resolvedModelRef??i.modelRef,o;t[0]!==r.agentInvocationModel||t[1]!==a?(o={label:r.agentInvocationModel,value:a},t[0]=r.agentInvocationModel,t[1]=a,t[2]=o):o=t[2];let s;t[3]===i.toolset?s=t[4]:(s=i.toolset?.join(`, `),t[3]=i.toolset,t[4]=s);let c;t[5]!==r.agentInvocationTools||t[6]!==s?(c={label:r.agentInvocationTools,value:s},t[5]=r.agentInvocationTools,t[6]=s,t[7]=c):c=t[7];let l=i.maxIterations==null?void 0:String(i.maxIterations),u;t[8]!==r.agentInvocationIterations||t[9]!==l?(u={label:r.agentInvocationIterations,value:l},t[8]=r.agentInvocationIterations,t[9]=l,t[10]=u):u=t[10];let d=i.schema?r.agentInvocationSchemaPresent:void 0,f;t[11]!==r.agentInvocationSchema||t[12]!==d?(f={label:r.agentInvocationSchema,value:d},t[11]=r.agentInvocationSchema,t[12]=d,t[13]=f):f=t[13];let p;t[14]!==o||t[15]!==c||t[16]!==u||t[17]!==f?(p=[o,c,u,f].filter(gn),t[14]=o,t[15]=c,t[16]=u,t[17]=f,t[18]=p):p=t[18];let m=p;if(m.length===0)return null;let h;return t[19]===m?h=t[20]:(h=(0,$.jsx)(`dl`,{className:`mt-3 grid gap-2 border-t border-edge-subtle pt-3 text-xs sm:grid-cols-2 lg:grid-cols-4`,children:m.map(hn)}),t[19]=m,t[20]=h),h}function hn(e){return(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`dt`,{className:`text-fg-subtle`,children:e.label}),(0,$.jsx)(`dd`,{className:`mt-0.5 truncate font-medium text-fg-muted`,title:e.value,children:e.value})]},e.label)}function gn(e){return!!e.value}function _n(e){return e===`done`?`bg-emerald-500/10 text-emerald-700 dark:text-emerald-300`:e===`error`?`bg-rose-500/10 text-rose-700 dark:text-rose-300`:e===`running`?`bg-accent-soft text-accent-fg`:`bg-surface-hover text-fg-subtle`}function vn(e){let t=(0,Q.c)(7),{label:n,value:r}=e,i;t[0]===n?i=t[1]:(i=(0,$.jsx)(`dt`,{className:`text-xs text-fg-subtle`,children:n}),t[0]=n,t[1]=i);let a;t[2]===r?a=t[3]:(a=(0,$.jsx)(`dd`,{className:`mt-1 text-sm font-semibold text-fg`,children:r}),t[2]=r,t[3]=a);let o;return t[4]!==i||t[5]!==a?(o=(0,$.jsxs)(`div`,{className:`rounded-xl border border-edge bg-surface-base/40 p-3`,children:[i,a]}),t[4]=i,t[5]=a,t[6]=o):o=t[6],o}function yn(e){let t=(0,Q.c)(7),{label:n,value:r}=e,i;t[0]===n?i=t[1]:(i=(0,$.jsx)(`div`,{className:`text-xs text-fg-subtle`,children:n}),t[0]=n,t[1]=i);let a;t[2]===r?a=t[3]:(a=(0,$.jsx)(`div`,{className:`mt-1 truncate text-sm font-medium text-fg`,title:r,children:r}),t[2]=r,t[3]=a);let o;return t[4]!==i||t[5]!==a?(o=(0,$.jsxs)(`div`,{className:`min-w-0`,children:[i,a]}),t[4]=i,t[5]=a,t[6]=o):o=t[6],o}var bn=`mt-1.5 w-full rounded-xl border border-edge bg-surface-base px-3 py-2 text-sm text-fg outline-none placeholder:text-fg-subtle focus:border-accent focus:ring-2 focus:ring-accent/20`;function xn(e){return!!(e&&e.type===`object`&&e.properties&&!Array.isArray(e.properties))}function Sn({schema:e,value:t,onChange:n,labels:r}){let a=(0,Z.useMemo)(()=>Tn(e),[e]),[o,s]=(0,Z.useState)(!1),[c,l]=(0,Z.useState)(()=>JSON.stringify(t,null,2)),[u,d]=(0,Z.useState)(null);if(a.length===0)return null;let f=(e,r)=>{let i={...t,[e]:r};(r===``||r===void 0)&&delete i[e],n(i),o&&l(JSON.stringify(i,null,2))},p=e=>{l(e);try{let t=e.trim()?JSON.parse(e):{};if(!t||typeof t!=`object`||Array.isArray(t)){d(r.rawJsonInvalid);return}d(null),n(t)}catch{d(r.rawJsonInvalid)}};return(0,$.jsxs)(`section`,{className:`rounded-2xl border border-edge-subtle bg-surface-base/35 p-4`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,$.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:r.inputSchemaHeading}),(0,$.jsx)(`button`,{type:`button`,className:`text-xs font-medium text-accent-fg hover:underline`,onClick:()=>{let e=!o;s(e),e&&(l(JSON.stringify(t,null,2)),d(null))},children:r.rawJson})]}),o?(0,$.jsxs)(`div`,{className:`mt-3`,children:[(0,$.jsx)(`textarea`,{value:c,onChange:e=>p(e.target.value),spellCheck:!1,className:i(bn,`min-h-40 font-mono text-xs leading-5`)}),u?(0,$.jsx)(`p`,{className:`mt-1 text-xs text-red-600 dark:text-red-300`,children:u}):null]}):(0,$.jsx)(`div`,{className:`mt-3 grid gap-3`,children:a.map(e=>(0,$.jsx)(Cn,{field:e,value:t[e.key],labels:r,onChange:t=>f(e.key,t)},e.key))})]})}function Cn(e){let t=(0,Q.c)(18),{field:n,value:r,labels:a,onChange:o}=e,s=n.schema.title||n.key,c=typeof n.schema.description==`string`?n.schema.description:void 0,l=Array.isArray(n.schema.type)?n.schema.type[0]:n.schema.type,u;t[0]===n.schema.enum?u=t[1]:(u=Array.isArray(n.schema.enum)?n.schema.enum:[],t[0]=n.schema.enum,t[1]=u);let d=u,f=String(s),p=n.required?` *`:``,m;t[2]!==f||t[3]!==p?(m=(0,$.jsxs)(`span`,{className:`text-xs font-medium text-fg`,children:[f,p]}),t[2]=f,t[3]=p,t[4]=m):m=t[4];let h;t[5]===c?h=t[6]:(h=c?(0,$.jsx)(`p`,{className:`mt-0.5 text-xs leading-5 text-fg-subtle`,children:c}):null,t[5]=c,t[6]=h);let g;t[7]!==c||t[8]!==d||t[9]!==a||t[10]!==o||t[11]!==l||t[12]!==r?(g=d.length>0?(0,$.jsxs)(`select`,{value:r==null?``:String(r),onChange:e=>o(e.target.value),className:bn,children:[(0,$.jsx)(`option`,{value:``}),d.map(wn)]}):l===`boolean`?(0,$.jsxs)(`select`,{value:typeof r==`boolean`?String(r):``,onChange:e=>o(e.target.value===``?void 0:e.target.value===`true`),className:bn,children:[(0,$.jsx)(`option`,{value:``}),(0,$.jsx)(`option`,{value:`true`,children:a.booleanTrue}),(0,$.jsx)(`option`,{value:`false`,children:a.booleanFalse})]}):l===`number`||l===`integer`?(0,$.jsx)(`input`,{type:`number`,value:typeof r==`number`||typeof r==`string`?String(r):``,onChange:e=>o(e.target.value===``?void 0:Number(e.target.value)),className:bn}):(0,$.jsx)(`textarea`,{value:typeof r==`string`?r:r==null?``:String(r),onChange:e=>o(e.target.value),className:i(bn,c&&c.length>80?`min-h-20 resize-y`:`min-h-10 resize-y`)}),t[7]=c,t[8]=d,t[9]=a,t[10]=o,t[11]=l,t[12]=r,t[13]=g):g=t[13];let _;return t[14]!==m||t[15]!==h||t[16]!==g?(_=(0,$.jsxs)(`label`,{className:`block`,children:[m,h,g]}),t[14]=m,t[15]=h,t[16]=g,t[17]=_):_=t[17],_}function wn(e){return(0,$.jsx)(`option`,{value:String(e),children:String(e)},String(e))}function Tn(e){let t=e.properties??{},n=new Set(e.required??[]);return Object.entries(t).map(([e,t])=>({key:e,schema:t,required:n.has(e)}))}function En(e){let t=(0,Q.c)(12),{examples:n,labels:r,onSelect:i}=e;if(n.length===0)return null;let a;t[0]===r.examplePrompts?a=t[1]:(a=(0,$.jsx)(`div`,{className:`text-xs font-medium text-fg-muted`,children:r.examplePrompts}),t[0]=r.examplePrompts,t[1]=a);let o;if(t[2]!==n||t[3]!==i){let e;t[5]===i?e=t[6]:(e=e=>(0,$.jsx)(`button`,{type:`button`,onClick:()=>i(e),className:`rounded-lg border border-edge bg-surface-base/50 px-3 py-2 text-left text-xs text-fg-muted hover:bg-surface-hover`,children:e.text},`${e.field}:${e.text}`),t[5]=i,t[6]=e),o=n.map(e),t[2]=n,t[3]=i,t[4]=o}else o=t[4];let s;t[7]===o?s=t[8]:(s=(0,$.jsx)(`div`,{className:`mt-2 flex flex-col gap-1.5`,children:o}),t[7]=o,t[8]=s);let c;return t[9]!==a||t[10]!==s?(c=(0,$.jsxs)(`div`,{children:[a,s]}),t[9]=a,t[10]=s,t[11]=c):c=t[11],c}function Dn(e,t){let n=e.metadata.estimatedAgents;return n?n.min===n.max?X(t.agentScaleExact,{count:n.min}):X(t.agentScaleRange,{min:n.min,max:n.max}):X(t.agentScaleExact,{count:e.defaults.maxSubagents})}function On(e,t,n,r){let i=Object.values(t).map(e=>e.trim()).filter(Boolean),a=e.trim()||n;return a&&i.unshift(a),i.length===0?r.noInputSummary:i.join(` · `)}function kn(e){let t=(0,Q.c)(58),{open:n,definition:r,language:o,starting:s,onClose:c,onStart:u}=e,d=a(o).workflows,[f,p]=(0,Z.useState)(``),m;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(m={},t[0]=m):m=t[0];let[h,g]=(0,Z.useState)(m),_;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(_={},t[1]=_):_=t[1];let[v,y]=(0,Z.useState)(_),[b,x]=(0,Z.useState)(``),[S,T]=(0,Z.useState)(``),[E,D]=(0,Z.useState)(!1),O;t[2]!==r||t[3]!==o?(O=r?Y(r,o):null,t[2]=r,t[3]=o,t[4]=O):O=t[4];let A=O,j;t[5]===r?j=t[6]:(j=r?J[r.name]??[]:[],t[5]=r,t[6]=j);let M=j,N;t[7]===A?.examplePrompts?N=t[8]:(N=A?.examplePrompts??[],t[7]=A?.examplePrompts,t[8]=N);let P=N,F=r?.inputSchema,L;t[9]===F?L=t[10]:(L=xn(F),t[9]=F,t[10]=L);let ne=L,re=!ne&&M.length>0,R;t[11]!==b||t[12]!==r?.defaults?(R=b.trim()?Number(b):r?.defaults.concurrency,t[11]=b,t[12]=r?.defaults,t[13]=R):R=t[13];let z=R,B;t[14]!==r?.defaults||t[15]!==S?(B=S.trim()?Number(S):r?.defaults.maxSubagents,t[14]=r?.defaults,t[15]=S,t[16]=B):B=t[16];let V=B,ae=r&&A?ne&&Object.keys(v).length>0?Object.entries(v).map(Mn).join(` · `):On(f,h,A.description,d):d.noInputSummary,H;t[17]!==r||t[18]!==n?(H=()=>{!n||!r||(p(``),g({}),y({}),x(``),T(``),D(!1))},t[17]=r,t[18]=n,t[19]=H):H=t[19];let U=r?.id,oe;if(t[20]!==n||t[21]!==U?(oe=[n,U],t[20]=n,t[21]=U,t[22]=oe):oe=t[22],(0,Z.useEffect)(H,oe),!r||!A)return null;let se;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(se=e=>{Ne(e,p,g)},t[23]=se):se=t[23];let ce=se,W;t[24]!==h||t[25]!==b||t[26]!==f||t[27]!==ne||t[28]!==A.description||t[29]!==S||t[30]!==u||t[31]!==v?(W=()=>{let e=ne&&Object.keys(v).length>0?v:Re(h);u({goal:f.trim()||A.description,input:e,concurrency:b.trim()?Number(b):void 0,maxSubagents:S.trim()?Number(S):void 0})},t[24]=h,t[25]=b,t[26]=f,t[27]=ne,t[28]=A.description,t[29]=S,t[30]=u,t[31]=v,t[32]=W):W=t[32];let G=W,K;t[33]===c?K=t[34]:(K=e=>!e&&c(),t[33]=c,t[34]=K);let le;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(le=(0,$.jsx)(I,{className:`xopc-dialog-overlay fixed inset-0 z-65 bg-scrim backdrop-blur-[1px]`}),t[35]=le):le=t[35];let ue;t[36]===A.description?ue=t[37]:(ue=(0,$.jsx)(ee,{className:`mt-1 text-sm text-fg-muted`,children:A.description}),t[36]=A.description,t[37]=ue);let fe;t[38]===Symbol.for(`react.memo_cache_sentinel`)?(fe=(0,$.jsx)(de,{className:`size-3.5 shrink-0 text-fg-subtle`,"aria-hidden":!0}),t[38]=fe):fe=t[38];let me;t[39]===Symbol.for(`react.memo_cache_sentinel`)?(me=(0,$.jsx)(C,{className:`size-3.5 shrink-0 text-fg-subtle`,"aria-hidden":!0}),t[39]=me):me=t[39];let he;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(he=(0,$.jsx)(ie,{className:`size-3.5 shrink-0 text-fg-subtle`,"aria-hidden":!0}),t[40]=he):he=t[40];let ge;t[41]===Symbol.for(`react.memo_cache_sentinel`)?(ge=e=>p(e.target.value),t[41]=ge):ge=t[41];let _e;t[42]===Symbol.for(`react.memo_cache_sentinel`)?(_e=()=>D(An),t[42]=_e):_e=t[42];let ye=d.advancedSettings,be=E&&`rotate-180`,xe;t[43]===be?xe=t[44]:(xe=i(`size-4 transition-transform`,be),t[43]=be,t[44]=xe);let Se;t[45]===xe?Se=t[46]:(Se=(0,$.jsx)(ve,{className:xe}),t[45]=xe,t[46]=Se);let Ce;t[47]!==d.cancelDialog||t[48]!==c||t[49]!==s?(Ce=(0,$.jsx)(q,{variant:`secondary`,onClick:c,disabled:s,children:d.cancelDialog}),t[47]=d.cancelDialog,t[48]=c,t[49]=s,t[50]=Ce):Ce=t[50];let we=s?d.starting:d.start,Te;t[51]!==s||t[52]!==G||t[53]!==we?(Te=(0,$.jsx)(q,{variant:`primary`,onClick:G,disabled:s,children:we}),t[51]=s,t[52]=G,t[53]=we,t[54]=Te):Te=t[54];let Ee;return t[55]!==Ce||t[56]!==Te?(Ee=(0,$.jsxs)(`div`,{className:`flex justify-end gap-2 border-t border-edge px-5 py-4`,children:[Ce,Te]}),t[55]=Ce,t[56]=Te,t[57]=Ee):Ee=t[57],(0,$.jsx)(k,{open:n,onOpenChange:K,children:(0,$.jsxs)(te,{children:[le,(0,$.jsxs)(w,{className:`fixed left-1/2 top-1/2 z-66 flex max-h-[min(85vh,40rem)] w-[min(100%-2rem,32rem)] -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-2xl border border-edge bg-surface-panel shadow-popover outline-none`,children:[(0,$.jsxs)(`div`,{className:`border-b border-edge px-5 py-4`,children:[(0,$.jsxs)(l,{className:`text-base font-semibold text-fg`,children:[d.startTitle,` · `,r.title]}),ue]}),(0,$.jsxs)(`div`,{className:`min-h-0 flex-1 space-y-4 overflow-auto px-5 py-4`,children:[(0,$.jsxs)(`section`,{className:`rounded-2xl border border-edge bg-surface-base/70 p-4`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:d.runPlanPreview}),(0,$.jsx)(`p`,{className:`mt-1 line-clamp-2 text-xs leading-5 text-fg-muted`,children:ae})]}),(0,$.jsx)(`span`,{className:`shrink-0 rounded-full bg-accent-soft px-2 py-1 text-[11px] font-medium text-accent-fg`,children:d.readyToStart})]}),(0,$.jsxs)(`div`,{className:`mt-4 grid gap-2 text-xs text-fg-muted sm:grid-cols-3`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2 rounded-xl bg-surface-panel px-2.5 py-2`,children:[fe,(0,$.jsx)(`span`,{children:X(d.phaseCount,{count:r.phases.length})})]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2 rounded-xl bg-surface-panel px-2.5 py-2`,children:[me,(0,$.jsx)(`span`,{children:Dn(r,d)})]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2 rounded-xl bg-surface-panel px-2.5 py-2`,children:[he,(0,$.jsx)(`span`,{children:X(d.runLimitsSummary,{concurrency:z??r.defaults.concurrency,max:V??r.defaults.maxSubagents})})]})]}),r.phases.length>0?(0,$.jsxs)(`div`,{className:`mt-4`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-[11px] font-medium uppercase tracking-wide text-fg-subtle`,children:[(0,$.jsx)(pe,{className:`size-3.5`,"aria-hidden":!0}),d.startPlanPhases]}),(0,$.jsx)(`div`,{className:`mt-2 flex flex-wrap items-center gap-1.5`,children:r.phases.map(jn)})]}):null]}),ne&&r.inputSchema?(0,$.jsx)(Sn,{schema:r.inputSchema,value:v,onChange:y,labels:{inputSchemaHeading:d.inputSchemaHeading,rawJson:d.rawJson,rawJsonInvalid:d.rawJsonInvalid,booleanTrue:d.booleanTrue,booleanFalse:d.booleanFalse}}):null,!ne&&M.map(e=>(0,$.jsxs)(`label`,{className:`block`,children:[(0,$.jsxs)(`span`,{className:`text-xs font-medium text-fg`,children:[Nn(d,e.labelKey),e.required?` *`:``]}),e.multiline?(0,$.jsx)(`textarea`,{value:h[e.key]??``,onChange:t=>g(n=>({...n,[e.key]:t.target.value})),placeholder:Nn(d,e.placeholderKey),className:`mt-1.5 min-h-20 w-full resize-y rounded-xl border border-edge bg-surface-base px-3 py-2 text-sm text-fg outline-none placeholder:text-fg-subtle focus:border-accent focus:ring-2 focus:ring-accent/20`}):(0,$.jsx)(`input`,{value:h[e.key]??``,onChange:t=>g(n=>({...n,[e.key]:t.target.value})),placeholder:Nn(d,e.placeholderKey),className:`mt-1.5 w-full rounded-xl border border-edge bg-surface-base px-3 py-2 text-sm text-fg outline-none placeholder:text-fg-subtle focus:border-accent focus:ring-2 focus:ring-accent/20`})]},e.key)),re?(0,$.jsx)(En,{examples:P,labels:d,onSelect:ce}):null,(0,$.jsxs)(`label`,{className:`block`,children:[(0,$.jsx)(`span`,{className:`text-xs font-medium text-fg`,children:d.goalLabel}),(0,$.jsx)(`textarea`,{value:f,onChange:ge,placeholder:d.goalPlaceholder,className:`mt-1.5 min-h-24 w-full resize-y rounded-xl border border-edge bg-surface-base px-3 py-2 text-sm text-fg outline-none placeholder:text-fg-subtle focus:border-accent focus:ring-2 focus:ring-accent/20`})]}),re?null:(0,$.jsx)(En,{examples:P,labels:d,onSelect:ce}),(0,$.jsxs)(`div`,{className:`rounded-xl border border-edge`,children:[(0,$.jsxs)(`button`,{type:`button`,className:`flex w-full items-center justify-between px-3 py-2.5 text-left text-sm text-fg`,onClick:_e,children:[ye,Se]}),E?(0,$.jsxs)(`div`,{className:`grid gap-3 border-t border-edge px-3 pb-3 pt-3 sm:grid-cols-2`,children:[(0,$.jsx)(`input`,{value:b,onChange:e=>x(e.target.value),placeholder:X(d.concurrencyPlaceholder,{default:r.defaults.concurrency}),inputMode:`numeric`,className:`rounded-xl border border-edge bg-surface-base px-3 py-2 text-sm text-fg outline-none placeholder:text-fg-subtle focus:border-accent focus:ring-2 focus:ring-accent/20`}),(0,$.jsx)(`input`,{value:S,onChange:e=>T(e.target.value),placeholder:X(d.maxSubagentsPlaceholder,{default:r.defaults.maxSubagents}),inputMode:`numeric`,className:`rounded-xl border border-edge bg-surface-base px-3 py-2 text-sm text-fg outline-none placeholder:text-fg-subtle focus:border-accent focus:ring-2 focus:ring-accent/20`})]}):null]})]}),Ee]})]})})}function An(e){return!e}function jn(e,t){return(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[t>0?(0,$.jsx)(`span`,{className:`text-fg-subtle`,children:`→`}):null,(0,$.jsx)(`span`,{className:`rounded-lg border border-edge-subtle bg-surface-panel px-2 py-1 text-[11px] text-fg-muted`,children:e.title})]},e.id)}function Mn(e){let[t,n]=e;return`${t}: ${String(n)}`}function Nn(e,t){return e.args[t]??t}function Pn(e){let t=(0,Q.c)(30),{stats:n,language:r}=e,i,o,s;if(t[0]!==r||t[1]!==n){s=Symbol.for(`react.early_return_sentinel`);bb0:{if(i=a(r).workflows,!n||n.totalRuns===0){s=null;break bb0}o=n.topDefinitions[0]?X(i.statsTopWorkflow,{name:n.topDefinitions[0].definitionId,count:n.topDefinitions[0].count}):null}t[0]=r,t[1]=n,t[2]=i,t[3]=o,t[4]=s}else i=t[2],o=t[3],s=t[4];if(s!==Symbol.for(`react.early_return_sentinel`))return s;let c=o,l=i.statsTotalRuns,u=String(n.totalRuns),d;t[5]!==i.statsTotalRuns||t[6]!==u?(d=(0,$.jsx)(Fn,{label:l,value:u}),t[5]=i.statsTotalRuns,t[6]=u,t[7]=d):d=t[7];let f=i.statsActiveRuns,p=String(n.activeRuns),m;t[8]!==i.statsActiveRuns||t[9]!==p?(m=(0,$.jsx)(Fn,{label:f,value:p}),t[8]=i.statsActiveRuns,t[9]=p,t[10]=m):m=t[10];let h;t[11]!==n.succeededRuns||t[12]!==n.totalRuns?(h=n.totalRuns>0?`${Math.round(n.succeededRuns/n.totalRuns*100)}%`:`—`,t[11]=n.succeededRuns,t[12]=n.totalRuns,t[13]=h):h=t[13];let g;t[14]!==i.statsSuccessRate||t[15]!==h?(g=(0,$.jsx)(Fn,{label:i.statsSuccessRate,value:h}),t[14]=i.statsSuccessRate,t[15]=h,t[16]=g):g=t[16];let _;t[17]===n.averageDurationMs?_=t[18]:(_=n.averageDurationMs==null?`—`:je(n.averageDurationMs),t[17]=n.averageDurationMs,t[18]=_);let v;t[19]!==i.statsAvgDuration||t[20]!==_?(v=(0,$.jsx)(Fn,{label:i.statsAvgDuration,value:_}),t[19]=i.statsAvgDuration,t[20]=_,t[21]=v):v=t[21];let y;t[22]===c?y=t[23]:(y=c?(0,$.jsx)(`span`,{className:`min-w-0 truncate text-xs text-fg-muted`,children:c}):null,t[22]=c,t[23]=y);let b;return t[24]!==g||t[25]!==v||t[26]!==y||t[27]!==d||t[28]!==m?(b=(0,$.jsxs)(`section`,{className:`flex min-w-0 flex-wrap items-center gap-2 rounded-lg border border-edge bg-surface-panel/70 px-3 py-2`,children:[d,m,g,v,y]}),t[24]=g,t[25]=v,t[26]=y,t[27]=d,t[28]=m,t[29]=b):b=t[29],b}function Fn(e){let t=(0,Q.c)(7),{label:n,value:r}=e,i;t[0]===n?i=t[1]:(i=(0,$.jsx)(`span`,{children:n}),t[0]=n,t[1]=i);let a;t[2]===r?a=t[3]:(a=(0,$.jsx)(`span`,{className:`font-semibold tabular-nums text-fg`,children:r}),t[2]=r,t[3]=a);let o;return t[4]!==i||t[5]!==a?(o=(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 rounded-full border border-edge bg-surface-muted px-2.5 py-1 text-xs text-fg-muted`,children:[i,a]}),t[4]=i,t[5]=a,t[6]=o):o=t[6],o}function In(e){let t=(0,Q.c)(25),{vm:n}=e,{labels:r,loading:a,refreshAll:o,setManageOpen:s,setPickStartOpen:c}=n,l;t[0]===c?l=t[1]:(l=()=>c(!0),t[0]=c,t[1]=l);let u;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,$.jsx)(O,{className:`size-4`,"aria-hidden":!0}),t[2]=u):u=t[2];let d;t[3]!==r.boardStart||t[4]!==l?(d=(0,$.jsxs)(q,{variant:`primary`,className:`h-9 rounded-lg`,onClick:l,children:[u,r.boardStart]}),t[3]=r.boardStart,t[4]=l,t[5]=d):d=t[5];let f;t[6]===s?f=t[7]:(f=()=>s(!0),t[6]=s,t[7]=f);let p;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,$.jsx)(g,{className:`size-4`,"aria-hidden":!0}),t[8]=p):p=t[8];let m;t[9]!==r.addWorkflow||t[10]!==f?(m=(0,$.jsxs)(q,{variant:`secondary`,className:`h-9 rounded-lg`,onClick:f,children:[p,r.addWorkflow]}),t[9]=r.addWorkflow,t[10]=f,t[11]=m):m=t[11];let h=r.refresh,_=r.refresh,v=a&&`animate-spin`,y;t[12]===v?y=t[13]:(y=i(`size-4`,v),t[12]=v,t[13]=y);let b;t[14]===y?b=t[15]:(b=(0,$.jsx)(z,{className:y,strokeWidth:1.75,"aria-hidden":!0}),t[14]=y,t[15]=b);let x;t[16]!==r.refresh||t[17]!==a||t[18]!==o||t[19]!==b?(x=(0,$.jsx)(q,{type:`button`,variant:`ghost`,className:`size-9 shrink-0 p-0`,onClick:o,disabled:a,title:h,"aria-label":_,children:b}),t[16]=r.refresh,t[17]=a,t[18]=o,t[19]=b,t[20]=x):x=t[20];let S;return t[21]!==x||t[22]!==d||t[23]!==m?(S=(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[d,m,x]}),t[21]=x,t[22]=d,t[23]=m,t[24]=S):S=t[24],S}function Ln(e){let t=(0,Q.c)(204),{vm:n}=e,{language:r,localeTag:o,labels:s,hasToken:c,definitions:l,runs:u,searchQuery:d,setSearchQuery:f,ownerAgentId:p,agentOptions:m,setOwnerAgentId:h,workflowFilterId:g,setWorkflowFilterId:_,triggerFilter:v,setTriggerFilter:b,selectedRunId:x,selectedRunView:S,selectedRunComparison:C,selectedRunLoading:w,selectedRunError:T,openRunDetails:E,closeRunDetails:D,openRunDetailsById:O,openRunInChat:k,pickStartOpen:A,setPickStartOpen:j,startDefinition:M,setStartDefinition:N,detailDefinition:P,setDetailDefinition:F,manageOpen:I,setManageOpen:ee,actionError:L,actionFeedback:te,starting:ne,savingWorkflow:re,loading:R,error:ie,stats:z,submitStart:V,cancelRun:ae,retryRun:H,replayRun:U,saveCustomWorkflow:oe,saveDraftAndStart:se}=n,W=ce(Bn),G=ce(zn),K;t[0]!==G||t[1]!==c||t[2]!==s.statsActiveRuns||t[3]!==s.statsTotalRuns||t[4]!==s.subtitleBoard||t[5]!==s.title||t[6]!==W||t[7]!==z||t[8]!==n?(K=()=>{if(!c){G();return}return W({startExtra:null,main:(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`h1`,{className:`truncate text-base font-semibold tracking-tight text-fg`,children:s.title}),(0,$.jsx)(`p`,{className:`truncate text-xs text-fg-muted`,children:z?`${s.statsTotalRuns}: ${z.totalRuns} · ${s.statsActiveRuns}: ${z.activeRuns}`:s.subtitleBoard})]}),end:(0,$.jsx)(In,{vm:n})}),()=>G()},t[0]=G,t[1]=c,t[2]=s.statsActiveRuns,t[3]=s.statsTotalRuns,t[4]=s.subtitleBoard,t[5]=s.title,t[6]=W,t[7]=z,t[8]=n,t[9]=K):K=t[9];let le;if(t[10]!==G||t[11]!==c||t[12]!==s.statsActiveRuns||t[13]!==s.statsTotalRuns||t[14]!==s.subtitleBoard||t[15]!==s.title||t[16]!==R||t[17]!==z||t[18]!==n?(le=[G,c,s.title,s.statsActiveRuns,s.statsTotalRuns,s.subtitleBoard,R,z,n,n.refreshAll,n.setManageOpen,n.setSearchQuery],t[10]=G,t[11]=c,t[12]=s.statsActiveRuns,t[13]=s.statsTotalRuns,t[14]=s.subtitleBoard,t[15]=s.title,t[16]=R,t[17]=z,t[18]=n,t[19]=le):le=t[19],(0,Z.useLayoutEffect)(K,le),!c){let e;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(B,{className:`size-10 text-accent-fg`,"aria-hidden":!0}),t[20]=e):e=t[20];let n;t[21]===s.title?n=t[22]:(n=(0,$.jsx)(`h1`,{className:`mt-4 text-xl font-semibold text-fg`,children:s.title}),t[21]=s.title,t[22]=n);let r;t[23]===s.needToken?r=t[24]:(r=(0,$.jsx)(`p`,{className:`mt-2 max-w-md text-sm leading-6 text-fg-muted`,children:s.needToken}),t[23]=s.needToken,t[24]=r);let i;return t[25]!==n||t[26]!==r?(i=(0,$.jsx)(`main`,{className:`min-h-0 flex-1 overflow-auto bg-surface-base`,children:(0,$.jsxs)(`div`,{className:`mx-auto flex w-full max-w-app-main flex-col items-center px-4 py-16 text-center sm:px-8`,children:[e,n,r]})}),t[25]=n,t[26]=r,t[27]=i):i=t[27],i}let q;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(q=(0,$.jsx)(fe,{className:`pointer-events-none absolute left-2.5 top-1/2 size-4 -translate-y-1/2 text-fg-subtle`,"aria-hidden":!0}),t[28]=q):q=t[28];let ue;t[29]===f?ue=t[30]:(ue=e=>f(e.target.value),t[29]=f,t[30]=ue);let J=s.searchPlaceholder,de;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(de=i(`h-9 w-full rounded-lg border border-edge bg-surface-panel py-2 pl-9 pr-3 text-sm text-fg shadow-surface`,`placeholder:text-fg-subtle`,we.focusRingPanel),t[31]=de):de=t[31];let pe;t[32]!==s.searchPlaceholder||t[33]!==d||t[34]!==ue?(pe=(0,$.jsxs)(`div`,{className:`relative min-w-48 flex-1 sm:max-w-xs`,children:[q,(0,$.jsx)(`input`,{value:d,onChange:ue,placeholder:J,className:de})]}),t[32]=s.searchPlaceholder,t[33]=d,t[34]=ue,t[35]=pe):pe=t[35];let me;t[36]!==m||t[37]!==r||t[38]!==p||t[39]!==h?(me=m.length>1?(0,$.jsx)(`select`,{value:p??``,"aria-label":`Agent`,onChange:e=>h(e.target.value),className:i(`h-9 min-w-32 rounded-lg border border-edge bg-surface-panel px-2.5 text-xs font-medium text-fg shadow-surface`,we.focusRingPanel),children:m.map(e=>(0,$.jsx)(`option`,{value:e.id,children:y(e,a(r).agentsSettings)},e.id))}):null,t[36]=m,t[37]=r,t[38]=p,t[39]=h,t[40]=me):me=t[40];let he=s.boardTriggerFilterAria,ge;t[41]===b?ge=t[42]:(ge=e=>b(e.target.value),t[41]=b,t[42]=ge);let _e;t[43]===Symbol.for(`react.memo_cache_sentinel`)?(_e=i(`h-9 min-w-[7.5rem] rounded-lg border border-edge bg-surface-panel px-2.5 text-xs font-medium text-fg shadow-surface`,we.focusRingPanel),t[43]=_e):_e=t[43];let ve;t[44]===s.boardTriggerFilterAll?ve=t[45]:(ve=(0,$.jsx)(`option`,{value:`all`,children:s.boardTriggerFilterAll}),t[44]=s.boardTriggerFilterAll,t[45]=ve);let ye;t[46]===s.boardTriggerFilterCron?ye=t[47]:(ye=(0,$.jsx)(`option`,{value:`cron`,children:s.boardTriggerFilterCron}),t[46]=s.boardTriggerFilterCron,t[47]=ye);let be;t[48]===s.boardTriggerFilterWebui?be=t[49]:(be=(0,$.jsx)(`option`,{value:`webui`,children:s.boardTriggerFilterWebui}),t[48]=s.boardTriggerFilterWebui,t[49]=be);let xe;t[50]===s.boardTriggerFilterChat?xe=t[51]:(xe=(0,$.jsx)(`option`,{value:`chat`,children:s.boardTriggerFilterChat}),t[50]=s.boardTriggerFilterChat,t[51]=xe);let Se;t[52]===s.boardTriggerFilterApi?Se=t[53]:(Se=(0,$.jsx)(`option`,{value:`api`,children:s.boardTriggerFilterApi}),t[52]=s.boardTriggerFilterApi,t[53]=Se);let Ce;t[54]!==s.boardTriggerFilterAria||t[55]!==ge||t[56]!==ve||t[57]!==ye||t[58]!==be||t[59]!==xe||t[60]!==Se||t[61]!==v?(Ce=(0,$.jsxs)(`select`,{value:v,"aria-label":he,onChange:ge,className:_e,children:[ve,ye,be,xe,Se]}),t[54]=s.boardTriggerFilterAria,t[55]=ge,t[56]=ve,t[57]=ye,t[58]=be,t[59]=xe,t[60]=Se,t[61]=v,t[62]=Ce):Ce=t[62];let Te=s.boardWorkflowFilterAria,Ee;t[63]===_?Ee=t[64]:(Ee=e=>_(e.target.value),t[63]=_,t[64]=Ee);let De;t[65]===Symbol.for(`react.memo_cache_sentinel`)?(De=i(`h-9 min-w-40 rounded-lg border border-edge bg-surface-panel px-2.5 text-xs font-medium text-fg shadow-surface`,we.focusRingPanel),t[65]=De):De=t[65];let Oe;t[66]===s.boardWorkflowFilterAll?Oe=t[67]:(Oe=(0,$.jsx)(`option`,{value:``,children:s.boardWorkflowFilterAll}),t[66]=s.boardWorkflowFilterAll,t[67]=Oe);let ke;t[68]===l?ke=t[69]:(ke=l.map(Rn),t[68]=l,t[69]=ke);let Ae;t[70]!==s.boardWorkflowFilterAria||t[71]!==Ee||t[72]!==Oe||t[73]!==ke||t[74]!==g?(Ae=(0,$.jsxs)(`select`,{value:g,"aria-label":Te,onChange:Ee,className:De,children:[Oe,ke]}),t[70]=s.boardWorkflowFilterAria,t[71]=Ee,t[72]=Oe,t[73]=ke,t[74]=g,t[75]=Ae):Ae=t[75];let Y;t[76]!==Ce||t[77]!==Ae||t[78]!==pe||t[79]!==me?(Y=(0,$.jsxs)(`section`,{className:`flex flex-wrap items-center gap-2 rounded-lg border border-edge bg-surface-panel/70 px-3 py-2`,children:[pe,me,Ce,Ae]}),t[76]=Ce,t[77]=Ae,t[78]=pe,t[79]=me,t[80]=Y):Y=t[80];let je;t[81]===te?je=t[82]:(je=te?(0,$.jsx)(`div`,{className:`rounded-xl border border-emerald-500/25 bg-emerald-500/10 px-3 py-2 text-sm text-emerald-800 dark:text-emerald-200`,children:te}):null,t[81]=te,t[82]=je);let Me;t[83]!==L||t[84]!==ie?(Me=L??ie?(0,$.jsx)(`div`,{className:`rounded-xl border border-red-500/25 bg-red-500/10 px-3 py-2 text-sm text-red-700 dark:text-red-300`,children:L??ie}):null,t[83]=L,t[84]=ie,t[85]=Me):Me=t[85];let Ne;t[86]!==r||t[87]!==z?(Ne=(0,$.jsx)(Pn,{stats:z,language:r}),t[86]=r,t[87]=z,t[88]=Ne):Ne=t[88];let Pe;t[89]===T?Pe=t[90]:(Pe=T?(0,$.jsx)(`div`,{className:`rounded-xl border border-amber-500/25 bg-amber-500/10 px-3 py-2 text-sm text-amber-800 dark:text-amber-200`,children:T}):null,t[89]=T,t[90]=Pe);let Fe;t[91]!==s.boardEmptyHint||t[92]!==s.boardEmptyTitle||t[93]!==s.boardStart||t[94]!==s.loading?(Fe={boardEmptyTitle:s.boardEmptyTitle,boardEmptyHint:s.boardEmptyHint,boardStart:s.boardStart,loading:s.loading},t[91]=s.boardEmptyHint,t[92]=s.boardEmptyTitle,t[93]=s.boardStart,t[94]=s.loading,t[95]=Fe):Fe=t[95];let Ie;t[96]===ae?Ie=t[97]:(Ie=e=>void ae(e),t[96]=ae,t[97]=Ie);let Le;t[98]===H?Le=t[99]:(Le=e=>void H(e),t[98]=H,t[99]=Le);let X;t[100]===j?X=t[101]:(X=()=>j(!0),t[100]=j,t[101]=X);let Re;t[102]!==r||t[103]!==R||t[104]!==o||t[105]!==E||t[106]!==k||t[107]!==u||t[108]!==d||t[109]!==x||t[110]!==Fe||t[111]!==Ie||t[112]!==Le||t[113]!==X||t[114]!==v||t[115]!==g?(Re=(0,$.jsx)(`div`,{className:`min-h-0 flex-1`,children:(0,$.jsx)(ft,{runs:u,language:r,localeTag:o,labels:Fe,searchQuery:d,workflowFilterId:g,triggerFilter:v,selectedRunId:x,loading:R,onOpenRun:E,onOpenRunChat:k,onCancelRun:Ie,onRetryRun:Le,onStart:X})}),t[102]=r,t[103]=R,t[104]=o,t[105]=E,t[106]=k,t[107]=u,t[108]=d,t[109]=x,t[110]=Fe,t[111]=Ie,t[112]=Le,t[113]=X,t[114]=v,t[115]=g,t[116]=Re):Re=t[116];let ze;t[117]!==Y||t[118]!==je||t[119]!==Me||t[120]!==Ne||t[121]!==Pe||t[122]!==Re?(ze=(0,$.jsxs)(`div`,{className:`flex min-h-0 w-full flex-1 flex-col gap-4 px-4 py-5 sm:px-6 2xl:px-8`,children:[Y,je,Me,Ne,Pe,Re]}),t[117]=Y,t[118]=je,t[119]=Me,t[120]=Ne,t[121]=Pe,t[122]=Re,t[123]=ze):ze=t[123];let Be;if(t[124]!==l||t[125]!==S?.run){let e;t[127]===S?.run?e=t[128]:(e=e=>e.id===S?.run.definitionId,t[127]=S?.run,t[128]=e),Be=l.find(e),t[124]=l,t[125]=S?.run,t[126]=Be}else Be=t[126];let Ve=!!x&&w,He;t[129]!==ae||t[130]!==x?(He=()=>{x&&ae(x)},t[129]=ae,t[130]=x,t[131]=He):He=t[131];let Ue;t[132]!==H||t[133]!==x?(Ue=()=>{x&&H(x)},t[132]=H,t[133]=x,t[134]=Ue):Ue=t[134];let We;t[135]!==U||t[136]!==x?(We=e=>{x&&U(x,e)},t[135]=U,t[136]=x,t[137]=We):We=t[137];let Ge;t[138]!==D||t[139]!==r||t[140]!==o||t[141]!==O||t[142]!==p||t[143]!==C||t[144]!==S||t[145]!==Be||t[146]!==Ve||t[147]!==He||t[148]!==Ue||t[149]!==We?(Ge=(0,$.jsx)($t,{view:S,comparison:C,currentDefinition:Be,loading:Ve,language:r,localeTag:o,onCancel:He,onRetry:Ue,onReplay:We,onOpenRunId:O,ownerAgentId:p,onClose:D}),t[138]=D,t[139]=r,t[140]=o,t[141]=O,t[142]=p,t[143]=C,t[144]=S,t[145]=Be,t[146]=Ve,t[147]=He,t[148]=Ue,t[149]=We,t[150]=Ge):Ge=t[150];let Ke;t[151]===j?Ke=t[152]:(Ke=()=>j(!1),t[151]=j,t[152]=Ke);let qe;t[153]!==j||t[154]!==N?(qe=e=>{j(!1),N(e)},t[153]=j,t[154]=N,t[155]=qe):qe=t[155];let Je;t[156]!==l||t[157]!==r||t[158]!==A||t[159]!==Ke||t[160]!==qe?(Je=(0,$.jsx)(Gt,{open:A,definitions:l,language:r,onClose:Ke,onPick:qe}),t[156]=l,t[157]=r,t[158]=A,t[159]=Ke,t[160]=qe,t[161]=Je):Je=t[161];let Ye=M!=null,Xe;t[162]===N?Xe=t[163]:(Xe=()=>N(null),t[162]=N,t[163]=Xe);let Ze;t[164]===V?Ze=t[165]:(Ze=e=>void V(e),t[164]=V,t[165]=Ze);let Qe;t[166]!==r||t[167]!==M||t[168]!==ne||t[169]!==Ye||t[170]!==Xe||t[171]!==Ze?(Qe=(0,$.jsx)(kn,{open:Ye,definition:M,language:r,starting:ne,onClose:Xe,onStart:Ze}),t[166]=r,t[167]=M,t[168]=ne,t[169]=Ye,t[170]=Xe,t[171]=Ze,t[172]=Qe):Qe=t[172];let $e=P!=null,et;t[173]===F?et=t[174]:(et=()=>F(null),t[173]=F,t[174]=et);let tt;t[175]!==P||t[176]!==F||t[177]!==N?(tt=()=>{P&&(F(null),N(P))},t[175]=P,t[176]=F,t[177]=N,t[178]=tt):tt=t[178];let nt;t[179]!==P||t[180]!==r||t[181]!==$e||t[182]!==et||t[183]!==tt?(nt=(0,$.jsx)(Pt,{open:$e,definition:P,language:r,onClose:et,onRun:tt}),t[179]=P,t[180]=r,t[181]=$e,t[182]=et,t[183]=tt,t[184]=nt):nt=t[184];let rt;t[185]===ee?rt=t[186]:(rt=()=>ee(!1),t[185]=ee,t[186]=rt);let it;t[187]===oe?it=t[188]:(it=e=>oe(e),t[187]=oe,t[188]=it);let at;t[189]!==r||t[190]!==I||t[191]!==p||t[192]!==se||t[193]!==re||t[194]!==rt||t[195]!==it?(at=(0,$.jsx)(_t,{open:I,language:r,ownerAgentId:p,saving:re,onClose:rt,onSave:it,onSaveAndStart:se}),t[189]=r,t[190]=I,t[191]=p,t[192]=se,t[193]=re,t[194]=rt,t[195]=it,t[196]=at):at=t[196];let ot;return t[197]!==ze||t[198]!==Ge||t[199]!==Je||t[200]!==Qe||t[201]!==nt||t[202]!==at?(ot=(0,$.jsxs)(`main`,{className:`flex min-h-0 flex-1 flex-col overflow-hidden bg-surface-base`,children:[ze,Ge,Je,Qe,nt,at]}),t[197]=ze,t[198]=Ge,t[199]=Je,t[200]=Qe,t[201]=nt,t[202]=at,t[203]=ot):ot=t[203],ot}function Rn(e){return(0,$.jsx)(`option`,{value:e.id,children:e.title},e.id)}function zn(e){return e.clearPageHeader}function Bn(e){return e.setPageHeader}function Vn(){let e=o(e=>e.language),t=a(e).workflows,n=e===`zh`?`zh-CN`:`en-US`,r=s(e=>e.token),i=!!r,l=N(),[d,f]=m(),g=d.get(`q`)??``,v=d.get(`wf`)?.trim()??``,y=d.get(`trigger`)?.trim()||`all`,b=d.get(`run`)?.trim()??``,x=d.get(`agent`)?.trim()??``,[S,C]=(0,Z.useState)(null),[w,E]=(0,Z.useState)(!1),[O,k]=(0,Z.useState)(null),[A,M]=(0,Z.useState)(!1),[P,I]=(0,Z.useState)(null),[ee,L]=(0,Z.useState)(null),[te,ne]=(0,Z.useState)(!1),[re,ie]=(0,Z.useState)(!1),z=c(i?[`workflow-agents`,r]:null,F,{revalidateOnFocus:!1}),B=(0,Z.useMemo)(()=>{let e=z.data?.agents??[];return x&&e.some(e=>e.id===x)||x&&e.length===0?x:z.data?.defaultId??(x||void 0)},[z.data,x]),V=c(i?[`workflow-definitions`,r]:null,le,{revalidateOnFocus:!1}),H=c(i&&B?[`workflow-runs`,r,B]:null,()=>u(100,{ownerAgentId:B}),{revalidateOnFocus:!1,refreshInterval:e=>e?.length&&e.some(e=>e.status===`queued`||e.status===`running`)?3e3:0}),U=c(i&&B?[`workflow-stats`,r,B,v]:null,()=>p(v,{ownerAgentId:B}),{revalidateOnFocus:!1});(0,Z.useEffect)(()=>{if(!ee)return;let e=window.setTimeout(()=>L(null),4e3);return()=>window.clearTimeout(e)},[ee]);let oe=V.data??[],se=z.data?.agents??[],ce=H.data??[],W=b||null,K=ge(W,{ownerAgentId:B}),q=c(i&&B&&W&&K.view?.run.metadata?.replay?[`workflow-run-comparison`,r,B,W]:null,()=>h(W,{ownerAgentId:B}),{revalidateOnFocus:!1}),ue=(0,Z.useMemo)(()=>Le(oe,g,`all`,`all`),[oe,g]),J=(0,Z.useCallback)(e=>{f(t=>{let n=new URLSearchParams(t);return e(n,t),n},{replace:!0})},[f]);(0,Z.useEffect)(()=>{let e=z.data?.agents??[];!x||e.length===0||e.some(e=>e.id===x)||J(e=>{z.data?.defaultId?e.set(R,z.data.defaultId):e.delete(R),e.delete(`run`)})},[z.data,x,J]);let de=(0,Z.useCallback)(e=>{J(t=>{let n=e.trim();n?t.set(`q`,n):t.delete(`q`)})},[J]),fe=(0,Z.useCallback)(e=>{J(t=>{let n=e.trim();n?t.set(R,n):t.delete(R),t.delete(`run`)})},[J]),pe=(0,Z.useCallback)(e=>{J(t=>{let n=e.trim();n?t.set(`wf`,n):t.delete(`wf`)})},[J]),me=(0,Z.useCallback)(e=>{J(t=>{let n=e.trim();n&&n!==`all`?t.set(ae,n):t.delete(ae)})},[J]),he=(0,Z.useCallback)(e=>{J(t=>{B&&t.set(R,B),t.set(`run`,e.id)})},[B,J]),_e=(0,Z.useCallback)(()=>{J(e=>{e.delete(`run`)})},[J]),ve=(0,Z.useCallback)(e=>{J(t=>{B&&t.set(R,B),t.set(`run`,e)})},[B,J]),ye=(0,Z.useCallback)(e=>{let t=Ue(e);t&&l(Ie(t))},[l]);(0,Z.useEffect)(()=>{d.get(`tab`)&&J(e=>{e.delete(`tab`)})},[J,d]),(0,Z.useEffect)(()=>{let e=d.get(`def`),t=d.get(xe)===`1`;if(!e||!oe.length)return;let n=oe.find(t=>t.id===e||t.name===e);n&&(t?C(n):k(n),J(e=>{e.delete(`def`),e.delete(xe)}))},[oe,J,d]),(0,Z.useEffect)(()=>{let e=()=>{H.mutate(),U.mutate()};return window.addEventListener(`workflow-event-appended`,e),window.addEventListener(`workflow-run-updated`,e),window.addEventListener(`workflow-run-error`,e),()=>{window.removeEventListener(`workflow-event-appended`,e),window.removeEventListener(`workflow-run-updated`,e),window.removeEventListener(`workflow-run-error`,e)}},[H,U]);let be=(0,Z.useCallback)(()=>{z.mutate(),V.mutate(),H.mutate(),U.mutate()},[z,V,H,U]),Se=(0,Z.useCallback)(async e=>{if(S){ne(!0),I(null);try{let n=await _({definitionId:S.id,goal:e.goal,input:e.input,agentId:B,concurrency:e.concurrency,maxSubagents:e.maxSubagents});C(null),await H.mutate(),await U.mutate(),L(t.startSuccess),J(e=>{B&&e.set(R,B),e.set(`run`,n.runId)})}catch(e){I(e instanceof Error?e.message:t.startFailed)}finally{ne(!1)}}},[t.startFailed,t.startSuccess,B,J,H,S,U]),we=(0,Z.useCallback)(async e=>{try{await j(e,{ownerAgentId:B}),await H.mutate(),await U.mutate()}catch(e){let n=e instanceof Error?e.message:t.cancelFailed;if(/not active|already finished/i.test(n)){await H.mutate(),await U.mutate();return}I(n)}},[t.cancelFailed,B,H,U]),Te=(0,Z.useCallback)(async e=>{try{let t=await T(e,{ownerAgentId:B});await H.mutate(),await U.mutate(),J(e=>{B&&e.set(R,B),e.set(`run`,t.runId)})}catch(e){I(e instanceof Error?e.message:t.retryFailed)}},[t.retryFailed,B,J,H,U]),Ee=(0,Z.useCallback)(async(e,n)=>{try{let t=await G(e,n,{ownerAgentId:B});await H.mutate(),await U.mutate(),J(e=>{B&&e.set(R,B),e.set(`run`,t.runId)})}catch(e){I(e instanceof Error?e.message:t.retryFailed)}},[t.retryFailed,B,J,H,U]),De=(0,Z.useCallback)(async e=>{ie(!0),I(null);try{let n=await D(e.name,e.script);return M(!1),await V.mutate(),L(t.saveWorkflowSuccess),n}catch(e){I(e instanceof Error?e.message:t.saveWorkflowFailed)}finally{ie(!1)}},[V,t.saveWorkflowFailed,t.saveWorkflowSuccess]),Oe=(0,Z.useCallback)(async e=>{ie(!0),I(null);try{let n=await D(e.name,e.script);await V.mutate();let r=await _({definitionId:n.id,goal:e.goal,input:{goal:e.goal},agentId:B});M(!1),await H.mutate(),await U.mutate(),L(t.startSuccess),J(e=>{B&&e.set(R,B),e.set(`run`,r.runId)})}catch(e){I(e instanceof Error?e.message:t.startFailed)}finally{ie(!1)}},[V,t.startFailed,t.startSuccess,B,J,H,U]),ke=(0,Z.useCallback)(async e=>{if(e.metadata.source===`user`&&window.confirm(X(t.deleteConfirm,{name:e.name}))){I(null);try{await Ce(e.id),await V.mutate(),L(t.deleteWorkflowSuccess)}catch(e){I(e instanceof Error?e.message:t.deleteWorkflowFailed)}}},[V,t]),Ae=z.isLoading||V.isLoading||H.isLoading,Y=z.error?.message??V.error?.message??H.error?.message??null;return{language:e,localeTag:n,labels:t,hasToken:i,searchQuery:g,setSearchQuery:de,ownerAgentId:B,agentOptions:se,setOwnerAgentId:fe,workflowFilterId:v,setWorkflowFilterId:pe,triggerFilter:y,setTriggerFilter:me,definitions:oe,filteredDefinitions:ue,runs:ce,selectedRunId:W,selectedRunView:K.view,selectedRunComparison:q.data,selectedRunLoading:K.loading,selectedRunError:K.error?.message??q.error?.message??null,openRunDetails:he,closeRunDetails:_e,openRunDetailsById:ve,openRunInChat:ye,pickStartOpen:w,setPickStartOpen:E,startDefinition:S,setStartDefinition:C,detailDefinition:O,setDetailDefinition:k,manageOpen:A,setManageOpen:M,actionError:P,actionFeedback:ee,starting:te,savingWorkflow:re,loading:Ae,error:Y,stats:U.data,refreshAll:be,submitStart:Se,cancelRun:we,retryRun:Te,replayRun:Ee,saveCustomWorkflow:De,saveDraftAndStart:Oe,removeCustomWorkflow:ke}}function Hn(){let e=(0,Q.c)(2),t=Vn(),n;return e[0]===t?n=e[1]:(n=(0,$.jsx)(Ln,{vm:t}),e[0]=t,e[1]=n),n}export{Hn as WorkflowsPage};
@@ -1,18 +1,20 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" fill="none" aria-hidden="true">
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="14.5 14.5 71 71" fill="none" aria-hidden="true">
2
2
  <title>xopc</title>
3
- <rect x="5" y="5" width="90" height="90" rx="20" fill="#ffffff" />
4
- <rect x="5.75" y="5.75" width="88.5" height="88.5" rx="19.25" stroke="#111827" stroke-opacity="0.18" stroke-width="1.5" />
5
- <g stroke="#111827" stroke-width="5.5" fill="none">
6
- <path d="M 84 50 C 84 68.778 68.778 84 50 84 C 31.222 84 16 68.778 16 50 C 16 31.222 31.222 16 50 16 C 68.778 16 84 31.222 84 50" />
7
- <path d="M 74 50 C 74 63.255 63.255 74 50 74 C 36.745 74 26 63.255 26 50 C 26 36.745 36.745 26 50 26 C 63.255 26 74 36.745 74 50" />
3
+ <rect x="14.5" y="14.5" width="71" height="71" rx="14" ry="14" fill="#ffffff" />
4
+ <!-- Rings (drawn under the hub) -->
5
+ <g stroke="#000000" stroke-width="3.2" stroke-linecap="round" fill="none">
6
+ <path d="M 29.375 23.602 A 33.5 33.5 0 0 1 70.625 23.602" />
7
+ <path d="M 76.398 29.375 A 33.5 33.5 0 0 1 76.398 70.625" />
8
+ <path d="M 70.625 76.398 A 33.5 33.5 0 0 1 29.375 76.398" />
9
+ <path d="M 23.602 70.625 A 33.5 33.5 0 0 1 23.602 29.375" />
10
+ <path d="M 35.011 29.370 A 25.5 25.5 0 0 1 64.989 29.370" />
11
+ <path d="M 70.630 35.011 A 25.5 25.5 0 0 1 70.630 64.989" />
12
+ <path d="M 64.989 70.630 A 25.5 25.5 0 0 1 35.011 70.630" />
13
+ <path d="M 29.370 64.989 A 25.5 25.5 0 0 1 29.370 35.011" />
8
14
  </g>
15
+ <!-- Central hub -->
9
16
  <path
10
- transform="translate(50 50) scale(0.92) translate(-50 -50)"
11
- fill="#111827"
12
- stroke="#ffffff"
13
- stroke-width="5"
14
- stroke-linejoin="round"
15
- paint-order="stroke fill"
17
+ fill="#000000"
16
18
  d="M 61.000 50.000 L 61.159 50.548 L 61.629 51.145 L 62.381 51.837 L 63.374 52.660 L 64.550 53.645 L 65.843 54.806 L 67.178 56.146 L 68.478 57.654 L 69.667 59.302 L 70.676 61.051 L 71.443 62.853 L 71.921 64.647 L 72.075 66.372 L 71.888 67.963 L 71.359 69.359 L 70.506 70.506 L 69.359 71.359 L 67.963 71.888 L 66.372 72.075 L 64.647 71.921 L 62.853 71.443 L 61.051 70.676 L 59.302 69.667 L 57.654 68.478 L 56.146 67.178 L 54.806 65.843 L 53.645 64.550 L 52.660 63.374 L 51.837 62.381 L 51.145 61.629 L 50.548 61.159 L 50.000 61.000 L 49.452 61.159 L 48.855 61.629 L 48.163 62.381 L 47.340 63.374 L 46.355 64.550 L 45.194 65.843 L 43.854 67.178 L 42.346 68.478 L 40.698 69.667 L 38.949 70.676 L 37.147 71.443 L 35.353 71.921 L 33.628 72.075 L 32.037 71.888 L 30.641 71.359 L 29.494 70.506 L 28.641 69.359 L 28.112 67.963 L 27.925 66.372 L 28.079 64.647 L 28.557 62.853 L 29.324 61.051 L 30.333 59.302 L 31.522 57.654 L 32.822 56.146 L 34.157 54.806 L 35.450 53.645 L 36.626 52.660 L 37.619 51.837 L 38.371 51.145 L 38.841 50.548 L 39.000 50.000 L 38.841 49.452 L 38.371 48.855 L 37.619 48.163 L 36.626 47.340 L 35.450 46.355 L 34.157 45.194 L 32.822 43.854 L 31.522 42.346 L 30.333 40.698 L 29.324 38.949 L 28.557 37.147 L 28.079 35.353 L 27.925 33.628 L 28.112 32.037 L 28.641 30.641 L 29.494 29.494 L 30.641 28.641 L 32.037 28.112 L 33.628 27.925 L 35.353 28.079 L 37.147 28.557 L 38.949 29.324 L 40.698 30.333 L 42.346 31.522 L 43.854 32.822 L 45.194 34.157 L 46.355 35.450 L 47.340 36.626 L 48.163 37.619 L 48.855 38.371 L 49.452 38.841 L 50.000 39.000 L 50.548 38.841 L 51.145 38.371 L 51.837 37.619 L 52.660 36.626 L 53.645 35.450 L 54.806 34.157 L 56.146 32.822 L 57.654 31.522 L 59.302 30.333 L 61.051 29.324 L 62.853 28.557 L 64.647 28.079 L 66.372 27.925 L 67.963 28.112 L 69.359 28.641 L 70.506 29.494 L 71.359 30.641 L 71.888 32.037 L 72.075 33.628 L 71.921 35.353 L 71.443 37.147 L 70.676 38.949 L 69.667 40.698 L 68.478 42.346 L 67.178 43.854 L 65.843 45.194 L 64.550 46.355 L 63.374 47.340 L 62.381 48.163 L 61.629 48.855 L 61.159 49.452 L 61.000 50.000 Z"
17
19
  />
18
20
  </svg>
@@ -4,28 +4,31 @@
4
4
  <meta charset="UTF-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <meta name="color-scheme" content="light dark" />
7
- <link rel="icon" href="/favicon.ico?v=20260621-4" sizes="any" />
8
- <link rel="icon" type="image/svg+xml" href="/favicon.svg?v=20260621-4" />
9
- <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32.png?v=20260621-4" />
10
- <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16.png?v=20260621-4" />
11
- <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=20260621-4" />
7
+ <link rel="icon" href="/favicon.ico?v=20260623-2" sizes="any" />
8
+ <link rel="icon" type="image/svg+xml" href="/favicon.svg?v=20260623-2" />
9
+ <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=20260623-2" />
10
+ <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.pngv=20260623-2" />
11
+ <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=20260623-2" />
12
12
  <title>xopc</title>
13
- <script type="module" crossorigin src="/assets/index-C_2yKRJX.js"></script>
13
+ <script type="module" crossorigin src="/assets/index-BTmbp2AU.js"></script>
14
14
  <link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-aKtaBQYM.js">
15
15
  <link rel="modulepreload" crossorigin href="/assets/preload-helper-zJ_50EbN.js">
16
- <link rel="modulepreload" crossorigin href="/assets/vendor-codemirror-DYoKfS8f.js">
17
16
  <link rel="modulepreload" crossorigin href="/assets/vendor-react-BOUWij0V.js">
18
- <link rel="modulepreload" crossorigin href="/assets/Combination-HAlzriaz.js">
17
+ <link rel="modulepreload" crossorigin href="/assets/dist-DokQNVMQ.js">
18
+ <link rel="modulepreload" crossorigin href="/assets/Combination-BzaXOLd9.js">
19
+ <link rel="modulepreload" crossorigin href="/assets/dist-CkobR7mk.js">
20
+ <link rel="modulepreload" crossorigin href="/assets/cn-JdwAhgNB.js">
19
21
  <link rel="modulepreload" crossorigin href="/assets/vendor-swr-BIWyz7Rc.js">
20
- <link rel="modulepreload" crossorigin href="/assets/url-DQRqHuL-.js">
21
22
  <link rel="modulepreload" crossorigin href="/assets/createLucideIcon-DPHK1VkS.js">
22
- <link rel="modulepreload" crossorigin href="/assets/circle-check-C23XjkUj.js">
23
- <link rel="modulepreload" crossorigin href="/assets/copy-Dv6d4Dvw.js">
24
- <link rel="modulepreload" crossorigin href="/assets/theme-store-BZozwAeK.js">
25
- <link rel="modulepreload" crossorigin href="/assets/fetch-CFdKBnE6.js">
26
- <link rel="modulepreload" crossorigin href="/assets/gateway-startup-retry-DdngdObI.js">
23
+ <link rel="modulepreload" crossorigin href="/assets/middleware-Pd0e8Igk.js">
24
+ <link rel="modulepreload" crossorigin href="/assets/locale-store-DjbfSsfA.js">
25
+ <link rel="modulepreload" crossorigin href="/assets/config-reload-event-Bjh2zoKp.js">
26
+ <link rel="modulepreload" crossorigin href="/assets/messages-BUUfPaZ9.js">
27
+ <link rel="modulepreload" crossorigin href="/assets/fetch-DOe56Wmy.js">
28
+ <link rel="modulepreload" crossorigin href="/assets/gateway-startup-retry-C1zg7pH3.js">
27
29
  <link rel="modulepreload" crossorigin href="/assets/toast-z0toXu32.js">
28
- <link rel="stylesheet" crossorigin href="/assets/index-DI5_GsZt.css">
30
+ <link rel="modulepreload" crossorigin href="/assets/theme-store-CD2wtgZV.js">
31
+ <link rel="stylesheet" crossorigin href="/assets/index-5A_ZaABy.css">
29
32
  </head>
30
33
  <body>
31
34
  <div id="root"></div>
package/dist/package.js CHANGED
@@ -1,5 +1,5 @@
1
1
  //#region package.json
2
- var version = "0.0.110";
2
+ var version = "0.0.112";
3
3
  //#endregion
4
4
  export { version };
5
5
 
@@ -15,7 +15,7 @@ import type { MessageBus } from '../infra/bus/index.js';
15
15
  import type { CronService } from '../cron/index.js';
16
16
  import type { SessionStore } from '../session/store.js';
17
17
  import type { SessionContext } from './session/session-context.js';
18
- import type { Skill, SkillMarkdownPreviewPayload } from './skills/types.js';
18
+ import type { Skill, SkillDiagnostic, SkillMarkdownPreviewPayload, SkillRuntimeStatus } from './skills/types.js';
19
19
  import { type SkillHubLockEntry } from './skills/hub-lock.js';
20
20
  import type { MemoryManager } from './memory/manager.js';
21
21
  export interface SkillCatalogEntry {
@@ -33,6 +33,15 @@ export interface SkillCatalogEntry {
33
33
  /** Hub install provenance when under ~/.xopc/skills and listed in skills-lock.json. */
34
34
  hub?: SkillHubLockEntry;
35
35
  }
36
+ export interface SkillCatalogRuntimeMeta {
37
+ version: string;
38
+ loadedAt: number;
39
+ diagnostics: SkillDiagnostic[];
40
+ status: SkillRuntimeStatus;
41
+ }
42
+ export interface SkillCatalogSnapshot extends SkillCatalogRuntimeMeta {
43
+ catalog: SkillCatalogEntry[];
44
+ }
36
45
  export type AgentSkillUnavailableReason = 'agent-denied' | 'disabled' | 'requirements-unmet' | 'model-invocation-disabled';
37
46
  export interface AgentSkillAvailabilityEntry extends SkillCatalogEntry {
38
47
  availableForCurrentAgent: boolean;
@@ -40,6 +49,10 @@ export interface AgentSkillAvailabilityEntry extends SkillCatalogEntry {
40
49
  }
41
50
  export interface AgentSkillAvailabilityPayload {
42
51
  agentId: string;
52
+ version: string;
53
+ loadedAt: number;
54
+ diagnostics: SkillDiagnostic[];
55
+ status: SkillRuntimeStatus;
43
56
  defaultsAllowlist?: string[];
44
57
  agentAllowlist?: string[];
45
58
  effectiveAllowlist?: string[];
@@ -67,6 +80,10 @@ export interface AgentManagerConfig {
67
80
  getCronService?: () => CronService | undefined;
68
81
  /** Gateway: starts persisted workflow runs (dedicated chat session per run). */
69
82
  getWorkflowRunService?: () => import('../workflows/service/workflow-run-service.types.js').WorkflowRunServiceLike | undefined;
83
+ /** Runtime notification for UI/CLI shells that cache skill catalogs. */
84
+ onSkillsUpdated?: (payload: {
85
+ reason: 'disk' | 'config';
86
+ }) => void;
70
87
  }
71
88
  export interface AgentInstance {
72
89
  agent: Agent;
@@ -95,6 +112,12 @@ export declare class AgentManager implements AgentInstanceGateway {
95
112
  private workspaceRuntimes;
96
113
  private memoryPrefetch;
97
114
  private backgroundReview;
115
+ private skillFilesystemWatcher;
116
+ private skillDiskRefreshInProgress;
117
+ private skillDiskRefreshPending;
118
+ private lastExplicitSkillDiskRefreshAt;
119
+ private skillsUpdatedTimer;
120
+ private pendingSkillsUpdatedReason;
98
121
  constructor(config: AgentManagerConfig);
99
122
  private computeBaseWorkspacePath;
100
123
  /**
@@ -159,6 +182,7 @@ export declare class AgentManager implements AgentInstanceGateway {
159
182
  private resolveContextFilesForSession;
160
183
  private skillCatalogEntryFromSkill;
161
184
  getSkillCatalog(): SkillCatalogEntry[];
185
+ getSkillCatalogSnapshot(): SkillCatalogSnapshot;
162
186
  getAgentSkillAvailability(agentId: string): AgentSkillAvailabilityPayload;
163
187
  /**
164
188
  * After ~/.xopc/skills.json changes (enable/disable), refresh `<available_skills>` on active agents.
@@ -167,7 +191,9 @@ export declare class AgentManager implements AgentInstanceGateway {
167
191
  /**
168
192
  * Reload skills from disk and refresh system prompt on all active Agent instances.
169
193
  */
170
- refreshSkillsAfterDiskChange(): void;
194
+ refreshSkillsAfterDiskChange(source?: 'explicit' | 'watch'): void;
195
+ private scheduleSkillsUpdated;
196
+ private applySkillsAfterDiskChange;
171
197
  /**
172
198
  * Get or create an Agent instance for a session
173
199
  */