@xopcai/xopc 0.0.108 → 0.0.110

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 (275) hide show
  1. package/dist/browser-ext/manifest.json +1 -1
  2. package/dist/extensions/feishu/src/outbound/media-load.js +1 -1
  3. package/dist/extensions/feishu/src/pairing-config-resolver.d.ts +1 -0
  4. package/dist/extensions/feishu/src/pairing-config-resolver.js +30 -0
  5. package/dist/extensions/feishu/src/pairing-config-resolver.js.map +1 -0
  6. package/dist/extensions/feishu/src/plugin.d.ts +1 -0
  7. package/dist/extensions/feishu/src/plugin.js +1 -0
  8. package/dist/extensions/feishu/src/plugin.js.map +1 -1
  9. package/dist/extensions/feishu/src/workflow-progress.js +1 -1
  10. package/dist/extensions/telegram/src/access-control.d.ts +2 -1
  11. package/dist/extensions/telegram/src/access-control.js.map +1 -1
  12. package/dist/extensions/telegram/src/account-manager.d.ts +2 -1
  13. package/dist/extensions/telegram/src/account-manager.js.map +1 -1
  14. package/dist/extensions/telegram/src/adapters/gateway-setup.js +26 -26
  15. package/dist/extensions/telegram/src/adapters/gateway-setup.js.map +1 -1
  16. package/dist/extensions/telegram/src/adapters/onboard-cli.js +8 -4
  17. package/dist/extensions/telegram/src/adapters/onboard-cli.js.map +1 -1
  18. package/dist/extensions/telegram/src/adapters/streaming-adapter.js +1 -1
  19. package/dist/extensions/telegram/src/config-schema.d.ts +88 -50
  20. package/dist/extensions/telegram/src/config-schema.js +40 -32
  21. package/dist/extensions/telegram/src/config-schema.js.map +1 -1
  22. package/dist/extensions/telegram/src/config-types.d.ts +54 -0
  23. package/dist/extensions/telegram/src/config-types.js +1 -0
  24. package/dist/extensions/telegram/src/doctor.js +17 -16
  25. package/dist/extensions/telegram/src/doctor.js.map +1 -1
  26. package/dist/extensions/telegram/src/exec-approvals.js +2 -3
  27. package/dist/extensions/telegram/src/exec-approvals.js.map +1 -1
  28. package/dist/extensions/telegram/src/group-config-resolver.d.ts +1 -1
  29. package/dist/extensions/telegram/src/group-config-resolver.js.map +1 -1
  30. package/dist/extensions/telegram/src/inbound-processor.js +1 -1
  31. package/dist/extensions/telegram/src/pairing-config-resolver.d.ts +1 -0
  32. package/dist/extensions/telegram/src/pairing-config-resolver.js +56 -0
  33. package/dist/extensions/telegram/src/pairing-config-resolver.js.map +1 -0
  34. package/dist/extensions/telegram/src/plugin.d.ts +1 -0
  35. package/dist/extensions/telegram/src/plugin.js +9 -10
  36. package/dist/extensions/telegram/src/plugin.js.map +1 -1
  37. package/dist/extensions/telegram/src/routing-integration.js +2 -2
  38. package/dist/extensions/telegram/src/update-offset-store.js +1 -1
  39. package/dist/extensions/telegram/src/workflow-progress.js +1 -1
  40. package/dist/extensions/telegram/xopc.extension.json +156 -122
  41. package/dist/extensions/weixin/src/api/api.js +2 -2
  42. package/dist/extensions/weixin/src/auth/accounts.js +1 -1
  43. package/dist/extensions/weixin/src/cdn/upload.js +1 -1
  44. package/dist/extensions/weixin/src/media/data-url.js +1 -1
  45. package/dist/extensions/weixin/src/messaging/debug-mode.js +1 -1
  46. package/dist/extensions/weixin/src/messaging/inbound.js +1 -1
  47. package/dist/extensions/weixin/src/messaging/process-message.js +1 -1
  48. package/dist/extensions/weixin/src/pairing-config-resolver.d.ts +1 -0
  49. package/dist/extensions/weixin/src/pairing-config-resolver.js +54 -0
  50. package/dist/extensions/weixin/src/pairing-config-resolver.js.map +1 -0
  51. package/dist/extensions/weixin/src/plugin.d.ts +1 -0
  52. package/dist/extensions/weixin/src/plugin.js +2 -1
  53. package/dist/extensions/weixin/src/plugin.js.map +1 -1
  54. package/dist/extensions/weixin/src/storage/sync-buf.js +1 -1
  55. package/dist/extensions/weixin/src/workflow-progress.js +1 -1
  56. package/dist/gateway/static/root/assets/{agents-56kCGHdV.js → agents-CFFioJCI.js} +1 -1
  57. package/dist/gateway/static/root/assets/{apps-page-Dd88J47r.js → apps-page-BYDmkbzG.js} +1 -1
  58. package/dist/gateway/static/root/assets/{channels-settings-Ckyvnvml.js → channels-settings-CsbDaMvd.js} +1 -1
  59. package/dist/gateway/static/root/assets/{cron-page-DKo2ZdRA.js → cron-page-Apk-7p4p.js} +1 -1
  60. package/dist/gateway/static/root/assets/{dist-dmxWdtPG.js → dist-DmGDgpy2.js} +1 -1
  61. package/dist/gateway/static/root/assets/{extension-debug-page-iGpG-vpp.js → extension-debug-page-pxFC-tUa.js} +1 -1
  62. package/dist/gateway/static/root/assets/{extension-page-I7-3uHiD.js → extension-page-W1wiG38F.js} +1 -1
  63. package/dist/gateway/static/root/assets/{extension-settings-page-BisnHG7r.js → extension-settings-page-COXSv6xP.js} +1 -1
  64. package/dist/gateway/static/root/assets/{heartbeat-config-api-tbWAFPN8.js → heartbeat-config-api-DcmAMYmN.js} +1 -1
  65. package/dist/gateway/static/root/assets/{index-slwUkhxH.js → index-C_2yKRJX.js} +3 -3
  66. package/dist/gateway/static/root/assets/{logs-page-CCZiXrWu.js → logs-page-DvTWUOzd.js} +1 -1
  67. package/dist/gateway/static/root/assets/{note-detail-page-BYbw2GLl.js → note-detail-page-CZbdugWZ.js} +1 -1
  68. package/dist/gateway/static/root/assets/{note-time-Cya72Lte.js → note-time-RdyBZxj3.js} +1 -1
  69. package/dist/gateway/static/root/assets/{notes-page-DrAO7VRK.js → notes-page-mEAwy3e1.js} +1 -1
  70. package/dist/gateway/static/root/assets/{schema-form-a6UJCK55.js → schema-form-DEvdni_r.js} +1 -1
  71. package/dist/gateway/static/root/assets/{sessions-page-DNU3Ymvz.js → sessions-page-BsgffzV4.js} +1 -1
  72. package/dist/gateway/static/root/assets/{settings-advanced-gate-CyEJYTbw.js → settings-advanced-gate-t6v8Dwb8.js} +1 -1
  73. package/dist/gateway/static/root/assets/{settings-form-section-DpHo2ecA.js → settings-form-section-BoYYZmJG.js} +1 -1
  74. package/dist/gateway/static/root/assets/{settings-page-YRwe4q56.js → settings-page-ClIthYF8.js} +1 -1
  75. package/dist/gateway/static/root/assets/{share-preview-page-B7rf4QB4.js → share-preview-page-Dd9et7KD.js} +1 -1
  76. package/dist/gateway/static/root/assets/skills-page-DEXtxyfQ.js +2 -0
  77. package/dist/gateway/static/root/assets/{voice-api-key-field-Btagks_B.js → voice-api-key-field-CNrKzQrf.js} +1 -1
  78. package/dist/gateway/static/root/assets/{workflow-page.utils-DvzJKs6W.js → workflow-page.utils-EYg_xBQS.js} +1 -1
  79. package/dist/gateway/static/root/assets/{workflows-page-BgOAgCOG.js → workflows-page-EMZkzJNN.js} +1 -1
  80. package/dist/gateway/static/root/index.html +1 -1
  81. package/dist/package.js +1 -1
  82. package/dist/src/agent/agent-manager.js +7 -7
  83. package/dist/src/agent/agent-scope.js +1 -1
  84. package/dist/src/agent/bootstrap/load-bootstrap-files.js +1 -1
  85. package/dist/src/agent/context/workspace-seed.js +2 -2
  86. package/dist/src/agent/context/workspace-state.js +1 -1
  87. package/dist/src/agent/goals/goal-run-store.js +4 -4
  88. package/dist/src/agent/goals/persistent-goal-service.js +1 -1
  89. package/dist/src/agent/goals/post-turn.js +2 -2
  90. package/dist/src/agent/image/load-image-media.js +2 -2
  91. package/dist/src/agent/ipc/bus.js +1 -1
  92. package/dist/src/agent/ipc/inbox.js +2 -2
  93. package/dist/src/agent/ipc/socket.js +1 -1
  94. package/dist/src/agent/mcp/bundle-mcp-materialize.js +1 -1
  95. package/dist/src/agent/mcp/bundle-mcp-runtime.js +1 -1
  96. package/dist/src/agent/mcp/mcp-transport-config.js +1 -1
  97. package/dist/src/agent/mcp/mcp-transport.js +1 -1
  98. package/dist/src/agent/memory/builtin-memory-store.js +1 -1
  99. package/dist/src/agent/memory/dreaming/deep-promotion.js +1 -1
  100. package/dist/src/agent/memory/dreaming/events.js +1 -1
  101. package/dist/src/agent/memory/dreaming/last-run.js +1 -1
  102. package/dist/src/agent/memory/dreaming/light-sweep.js +1 -1
  103. package/dist/src/agent/memory/dreaming/preview.js +1 -1
  104. package/dist/src/agent/memory/dreaming/rem-patterns.js +1 -1
  105. package/dist/src/agent/memory/dreaming/short-term-store.js +1 -1
  106. package/dist/src/agent/memory/dreaming/utils.js +1 -1
  107. package/dist/src/agent/memory/memory-flush.js +1 -1
  108. package/dist/src/agent/memory/plugin-discovery.js +1 -1
  109. package/dist/src/agent/models/manager.js +1 -1
  110. package/dist/src/agent/prompt/service-prompt-builder.js +2 -2
  111. package/dist/src/agent/reply/post-compaction-context.js +1 -1
  112. package/dist/src/agent/reply/workspace-boundary-read.js +1 -1
  113. package/dist/src/agent/sandbox/path-policy.js +2 -2
  114. package/dist/src/agent/service.js +4 -4
  115. package/dist/src/agent/session/session-inspector.js +1 -1
  116. package/dist/src/agent/skills/config.js +1 -1
  117. package/dist/src/agent/skills/hub-hash.js +2 -2
  118. package/dist/src/agent/skills/hub-lock.js +1 -1
  119. package/dist/src/agent/skills/hub-pull.js +2 -2
  120. package/dist/src/agent/skills/index.js +1 -1
  121. package/dist/src/agent/skills/managed-store.js +1 -1
  122. package/dist/src/agent/skills/scanner.js +1 -1
  123. package/dist/src/agent/skills/skill-manage-ops.js +1 -1
  124. package/dist/src/agent/skills/skill-manager.js +1 -1
  125. package/dist/src/agent/starter-agents.js +1 -1
  126. package/dist/src/agent/tools/dreaming-tool.js +1 -1
  127. package/dist/src/agent/tools/factory.js +1 -1
  128. package/dist/src/agent/tools/image-generate-tool.js +1 -1
  129. package/dist/src/agent/tools/send-media.js +1 -1
  130. package/dist/src/agent/tools/skill-manage-tool.js +1 -1
  131. package/dist/src/agent/tools/workflow-tool.js +1 -1
  132. package/dist/src/agent/tools/write.js +1 -1
  133. package/dist/src/agent/workflow/catalog.js +1 -1
  134. package/dist/src/auth/credentials.js +3 -3
  135. package/dist/src/auth/profiles/store.js +2 -2
  136. package/dist/src/auth/sync-provider-auth.js +1 -1
  137. package/dist/src/browser/cache-dir-policy.js +1 -1
  138. package/dist/src/browser/cdp-local-launcher.js +2 -2
  139. package/dist/src/browser/providers/browser-ext-install.js +3 -3
  140. package/dist/src/browser/providers/cloakbrowser.js +4 -4
  141. package/dist/src/browser/providers/playwright-doctor.js +1 -1
  142. package/dist/src/browser/stealth.js +1 -1
  143. package/dist/src/channels/channel-domain.d.ts +1 -81
  144. package/dist/src/channels/outbound/persist-store.js +1 -1
  145. package/dist/src/channels/pairing/allow-from-file.js +1 -1
  146. package/dist/src/channels/pairing/index.d.ts +2 -2
  147. package/dist/src/channels/pairing/index.js +2 -2
  148. package/dist/src/channels/pairing/pairing-service.d.ts +13 -0
  149. package/dist/src/channels/pairing/pairing-service.js +78 -63
  150. package/dist/src/channels/pairing/pairing-service.js.map +1 -1
  151. package/dist/src/channels/pairing/pairing-store.js +2 -2
  152. package/dist/src/chat-commands/agent-edit.js +2 -2
  153. package/dist/src/chat-commands/builtins/config.js +6 -13
  154. package/dist/src/chat-commands/builtins/config.js.map +1 -1
  155. package/dist/src/chat-commands/context.js +1 -1
  156. package/dist/src/cli/commands/config.js +1 -1
  157. package/dist/src/cli/commands/doctor/checks/config-health.js +1 -1
  158. package/dist/src/cli/commands/doctor/checks/provider-auth.js +1 -1
  159. package/dist/src/cli/commands/doctor/checks/state-integrity.js +1 -1
  160. package/dist/src/cli/commands/doctor/checks/workspace-status.js +1 -1
  161. package/dist/src/cli/commands/extension-create.js +1 -1
  162. package/dist/src/cli/commands/extension-dev.js +1 -1
  163. package/dist/src/cli/commands/extension-marketplace.js +2 -2
  164. package/dist/src/cli/commands/extension-pack.js +2 -2
  165. package/dist/src/cli/commands/extension.js +2 -2
  166. package/dist/src/cli/commands/gateway/logs.js +1 -1
  167. package/dist/src/cli/commands/image.js +1 -1
  168. package/dist/src/cli/commands/init.js +3 -3
  169. package/dist/src/cli/commands/models.js +1 -1
  170. package/dist/src/cli/commands/onboard/model.js +2 -2
  171. package/dist/src/cli/utils/init-workspace-core.js +2 -2
  172. package/dist/src/config/agent-profile.js +1 -1
  173. package/dist/src/config/agent-typed-models.js +1 -1
  174. package/dist/src/config/gateway-bind.js +1 -1
  175. package/dist/src/config/index.js +5 -5
  176. package/dist/src/config/loader.js +2 -2
  177. package/dist/src/config/models-json.js +2 -2
  178. package/dist/src/config/paths-state.js +1 -1
  179. package/dist/src/config/profile.js +2 -2
  180. package/dist/src/config/schema.js +9 -14
  181. package/dist/src/config/schema.js.map +1 -1
  182. package/dist/src/config/workspace-path.js +1 -1
  183. package/dist/src/cron/executor.js +2 -2
  184. package/dist/src/cron/persistence.js +1 -1
  185. package/dist/src/daemon/constants.js +1 -1
  186. package/dist/src/daemon/install-plan.js +2 -2
  187. package/dist/src/daemon/launchd.js +2 -2
  188. package/dist/src/daemon/schtasks.js +2 -2
  189. package/dist/src/daemon/systemd.js +2 -2
  190. package/dist/src/extensions/bundle-mcp.js +1 -1
  191. package/dist/src/extensions/discover-extensions.js +1 -1
  192. package/dist/src/extensions/health.js +1 -1
  193. package/dist/src/extensions/loader.js +1 -1
  194. package/dist/src/extensions/lockfile.js +2 -2
  195. package/dist/src/extensions/update.js +1 -1
  196. package/dist/src/gateway/agents-admin.js +2 -2
  197. package/dist/src/gateway/file-path-classifier.js +2 -2
  198. package/dist/src/gateway/hono/lib/config-payload.js +1 -1
  199. package/dist/src/gateway/hono/lib/extension-store.js +2 -2
  200. package/dist/src/gateway/hono/lib/static-ui.js +2 -2
  201. package/dist/src/gateway/hono/oauth-async.js +1 -1
  202. package/dist/src/gateway/hono/oauth.js +1 -1
  203. package/dist/src/gateway/hono/routes/agents.js +1 -1
  204. package/dist/src/gateway/hono/routes/auth-registry-extensions.js +1 -1
  205. package/dist/src/gateway/hono/routes/config-patch/misc.js +1 -1
  206. package/dist/src/gateway/hono/routes/dreaming.js +1 -1
  207. package/dist/src/gateway/hono/routes/host-fs.js +2 -2
  208. package/dist/src/gateway/hono/routes/models.js +1 -1
  209. package/dist/src/gateway/hono/routes/shares.js +1 -1
  210. package/dist/src/gateway/hono/routes/workflows.js +1 -1
  211. package/dist/src/gateway/hono/routes/workspace.js +2 -2
  212. package/dist/src/gateway/lock.js +3 -3
  213. package/dist/src/gateway/ports.js +1 -1
  214. package/dist/src/gateway/service/agent-runner.js +2 -2
  215. package/dist/src/gateway/service/marketplace-service.js +2 -2
  216. package/dist/src/gateway/service.js +3 -3
  217. package/dist/src/gateway/workspace-fs-file-list.js +1 -1
  218. package/dist/src/infra/brew.js +1 -1
  219. package/dist/src/infra/package-json.js +1 -1
  220. package/dist/src/infra/package-update-steps.js +1 -1
  221. package/dist/src/infra/path-env.js +2 -2
  222. package/dist/src/infra/restart.js +2 -2
  223. package/dist/src/infra/stable-node-path.js +1 -1
  224. package/dist/src/infra/update-check.js +1 -1
  225. package/dist/src/infra/update-global.js +1 -1
  226. package/dist/src/infra/update-lock.js +3 -3
  227. package/dist/src/infra/update-runner.js +1 -1
  228. package/dist/src/infra/update-startup.js +2 -2
  229. package/dist/src/infra/write-file-atomic.js +2 -2
  230. package/dist/src/media/store.js +1 -1
  231. package/dist/src/notes/agent-context.js +1 -1
  232. package/dist/src/notes/store.js +2 -2
  233. package/dist/src/project-trust/trust-store.js +2 -2
  234. package/dist/src/providers/auth-runtime/auth-profile-store.js +1 -1
  235. package/dist/src/providers/index.js +2 -2
  236. package/dist/src/providers/model-registry.js +1 -1
  237. package/dist/src/session/init-session-turn.js +2 -2
  238. package/dist/src/session/resolve-session.js +3 -3
  239. package/dist/src/session/session-title.js +2 -2
  240. package/dist/src/session/store.js +2 -2
  241. package/dist/src/share/share-auto.js +2 -2
  242. package/dist/src/share/share-store.js +3 -3
  243. package/dist/src/share/share-thumbnail.js +2 -2
  244. package/dist/src/share/share-zip.js +1 -1
  245. package/dist/src/share/site-share-store.js +3 -3
  246. package/dist/src/share/site-static-serve.js +1 -1
  247. package/dist/src/storage/sqlite/connection.js +2 -2
  248. package/dist/src/storage/sqlite/memory-index-repository.js +2 -2
  249. package/dist/src/storage/sqlite/migrations/discover.js +1 -1
  250. package/dist/src/storage/sqlite/migrations/runner.js +1 -1
  251. package/dist/src/storage/sqlite/schema.js +1 -1
  252. package/dist/src/tui/backends/embedded-backend.js +1 -1
  253. package/dist/src/tui/clipboard-image.js +3 -3
  254. package/dist/src/tui/theme-manager.js +1 -1
  255. package/dist/src/tui/tui-command-formatters.js +3 -3
  256. package/dist/src/tui/tui-commands.js +2 -2
  257. package/dist/src/tui/tui-keybindings-file.js +1 -1
  258. package/dist/src/tui/tui-scoped-models.js +2 -2
  259. package/dist/src/tui/tui-settings.js +1 -1
  260. package/dist/src/tui/tui-startup-resources.js +1 -1
  261. package/dist/src/tui/tui.js +5 -5
  262. package/dist/src/tunnel/frpc-binary.js +3 -3
  263. package/dist/src/tunnel/frpc-config.js +1 -1
  264. package/dist/src/tunnel/frpc-extract.js +1 -1
  265. package/dist/src/tunnel/tunnel-state.js +1 -1
  266. package/dist/src/utils/logger/audit.js +1 -1
  267. package/dist/src/utils/logger/log-store.js +1 -1
  268. package/dist/src/utils/logger/rotation.js +1 -1
  269. package/dist/src/voice/tts/audio.js +1 -1
  270. package/dist/src/voice/tts/providers/edge-speech.js +2 -2
  271. package/dist/src/workflows/draft/workflow-draft-service.js +1 -1
  272. package/dist/src/workflows/store/event-store.js +1 -1
  273. package/dist/src/workflows/store/run-store.js +1 -1
  274. package/package.json +1 -1
  275. package/dist/gateway/static/root/assets/skills-page-we1NAt7u.js +0 -2
@@ -1,2 +1,2 @@
1
1
  const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/attachment-process-heavy-RnGYy9bC.js","assets/rolldown-runtime-aKtaBQYM.js","assets/preload-helper-zJ_50EbN.js","assets/excel-worksheet-utils-EyvwNT4X.js","assets/attachment-preview-renderer-CybMSIoS.js"])))=>i.map(i=>d[i]);
2
- import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,n,t as r}from"./vendor-react-BOUWij0V.js";import{i,t as a}from"./url-DQRqHuL-.js";import{t as o}from"./preload-helper-zJ_50EbN.js";import{Rn as s,do as c,ja as l,mo as u,ts as d,zn as f}from"./index-slwUkhxH.js";var p=n(),m=e(t(),1),h=r(),g=`application/vnd.openxmlformats-officedocument.wordprocessingml.document`,_=`application/vnd.openxmlformats-officedocument.presentationml.presentation`,v=32*1024*1024,y=5*1024*1024;function b(e){return e===`text/markdown`?`markdown`:e===`text/plain`?`text`:e===`application/json`?`json`:e===`application/pdf`||e.startsWith(`image/`)?`pdf-or-image`:e===g?`docx`:e===_?`pptx`:`unknown`}function x(){let{token:e}=d(),t=i(e=>e.language),n=t===`zh`?T:E,[r,s]=(0,m.useState)(null),[f,p]=(0,m.useState)(null),[g,_]=(0,m.useState)(null),[x,C]=(0,m.useState)(null),[D,O]=(0,m.useState)(!0),[k,A]=(0,m.useState)(null);(0,m.useEffect)(()=>{if(!e){A(n.invalidLink),O(!1);return}let t=!1;return(async()=>{try{let r=await fetch(a(`/s/${encodeURIComponent(e)}/meta`));if(!r.ok){if(t)return;A(r.status===404?n.notFound:n.expired),O(!1);return}let i=await r.json();if(t)return;if(!i.valid){s(i),A(n.expired),O(!1);return}if(s(i),i.kind!==`file`){O(!1);return}let c=b(i.mimeType);if((c===`markdown`||c===`text`||c===`json`)&&i.fileSize<=y){let r=await fetch(a(`/s/${encodeURIComponent(e)}?inline=1`));if(t)return;if(!r.ok){A(n.expired),O(!1);return}let i=await r.text();if(t)return;p(i),O(!1);return}if((c===`docx`||c===`pptx`)&&i.fileSize<=v){let r=await fetch(a(`/s/${encodeURIComponent(e)}?inline=1`));if(t)return;if(!r.ok){A(n.expired),O(!1);return}let s=await r.arrayBuffer();if(t)return;if(c===`docx`)C(s);else try{let{processPptx:e}=await o(async()=>{let{processPptx:e}=await import(`./attachment-process-heavy-RnGYy9bC.js`);return{processPptx:e}},__vite__mapDeps([0,1,2,3])),{extractedText:n}=await e(s,i.fileName);if(t)return;_(n)}catch(e){if(t)return;A(e instanceof Error?e.message:String(e))}O(!1);return}O(!1)}catch(e){if(t)return;A(e instanceof Error?e.message:String(e)),O(!1)}})(),()=>{t=!0}},[e,n.expired,n.invalidLink,n.notFound]);let j=e?a(`/s/${encodeURIComponent(e)}?dl=1`):`#`,M=e?a(`/s/${encodeURIComponent(e)}?inline=1`):`#`;return(0,h.jsxs)(`div`,{className:`flex min-h-screen flex-col bg-surface-base`,children:[(0,h.jsxs)(`header`,{className:`flex h-12 shrink-0 items-center gap-3 border-b border-edge px-4`,children:[(0,h.jsx)(`span`,{className:`text-lg`,"aria-hidden":!0,children:`📄`}),(0,h.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,h.jsx)(`div`,{className:`truncate text-sm font-semibold text-fg`,title:r?.fileName??``,children:r?.fileName??n.loading}),r?(0,h.jsxs)(`div`,{className:`truncate text-xs text-fg-muted`,children:[w(r.fileSize),` · `,n.expiresAt,` `,new Date(r.expiresAt).toLocaleString(t===`zh`?`zh-CN`:`en-US`)]}):null]}),r?(0,h.jsxs)(h.Fragment,{children:[(0,h.jsxs)(`a`,{href:M,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center gap-1 rounded-md px-2 py-1 text-xs text-fg-muted hover:bg-surface-hover hover:text-fg`,children:[(0,h.jsx)(c,{className:`size-3.5`,"aria-hidden":!0}),n.openInline]}),(0,h.jsxs)(`a`,{href:j,className:`inline-flex items-center gap-1 rounded-md bg-accent px-3 py-1.5 text-xs font-medium text-white hover:opacity-90`,download:r.fileName,children:[(0,h.jsx)(u,{className:`size-3.5`,"aria-hidden":!0}),n.download]})]}):null]}),(0,h.jsx)(`main`,{className:`mx-auto w-full max-w-app-main flex-1 px-4 py-6`,children:D?(0,h.jsxs)(`div`,{className:`flex min-h-[50vh] items-center justify-center text-sm text-fg-muted`,children:[(0,h.jsx)(l,{className:`mr-2 size-4 animate-spin`}),n.loading]}):k?(0,h.jsxs)(`div`,{className:`rounded-lg border border-edge bg-surface-panel p-6 text-sm text-fg`,children:[(0,h.jsx)(`p`,{className:`font-medium`,children:n.error}),(0,h.jsx)(`p`,{className:`mt-1 text-fg-muted`,children:k})]}):r?(0,h.jsx)(S,{meta:r,textContent:f,pptxText:g,docxBuffer:x,openInlineUrl:M,t:n}):null})]})}function S(e){let t=(0,p.c)(20),{meta:n,textContent:r,pptxText:i,docxBuffer:a,openInlineUrl:o,t:c}=e;if(n.kind===`directory`){let e;return t[0]===c.directoryHint?e=t[1]:(e=(0,h.jsx)(`div`,{className:`rounded-lg border border-edge bg-surface-panel p-6 text-sm text-fg-muted`,children:c.directoryHint}),t[0]=c.directoryHint,t[1]=e),e}let l=b(n.mimeType);if(l===`markdown`&&r!==null){let e;return t[2]===r?e=t[3]:(e=(0,h.jsx)(`article`,{className:`rounded-lg border border-edge bg-surface-panel p-6`,children:(0,h.jsx)(f,{content:r})}),t[2]=r,t[3]=e),e}if((l===`text`||l===`json`)&&r!==null){let e;return t[4]===r?e=t[5]:(e=(0,h.jsx)(`pre`,{className:`overflow-x-auto rounded-lg border border-edge bg-surface-panel p-4 text-xs text-fg`,children:(0,h.jsx)(`code`,{children:r})}),t[4]=r,t[5]=e),e}if(l===`pdf-or-image`){let e;return t[6]!==n.fileName||t[7]!==o?(e=(0,h.jsx)(`iframe`,{title:n.fileName,src:o,className:`h-[80vh] w-full rounded-lg border border-edge bg-surface-panel`,sandbox:`allow-same-origin allow-popups allow-popups-to-escape-sandbox allow-downloads`}),t[6]=n.fileName,t[7]=o,t[8]=e):e=t[8],e}if(l===`pptx`&&i!==null){let e;t[9]===c.pptxSlide?e=t[10]:(e=e=>c.pptxSlide.replace(`{n}`,String(e)),t[9]=c.pptxSlide,t[10]=e);let n;return t[11]!==i||t[12]!==c.pptxEmptySlide||t[13]!==e?(n=(0,h.jsx)(`div`,{className:`rounded-lg border border-edge bg-surface-panel p-4`,children:(0,h.jsx)(s,{text:i,slideLabel:e,emptySlideLabel:c.pptxEmptySlide})}),t[11]=i,t[12]=c.pptxEmptySlide,t[13]=e,t[14]=n):n=t[14],n}if(l===`docx`&&a!==null){let e;return t[15]!==a||t[16]!==c.loading?(e=(0,h.jsx)(C,{buffer:a,loadingLabel:c.loading}),t[15]=a,t[16]=c.loading,t[17]=e):e=t[17],e}let u;return t[18]===c.cannotPreview?u=t[19]:(u=(0,h.jsx)(`div`,{className:`rounded-lg border border-edge bg-surface-panel p-6 text-sm text-fg-muted`,children:c.cannotPreview}),t[18]=c.cannotPreview,t[19]=u),u}function C({buffer:e,loadingLabel:t}){let n=(0,m.useRef)(null),[r,i]=(0,m.useState)(!0),[a,s]=(0,m.useState)(null);return(0,m.useEffect)(()=>{let t=!1,r=null,a=n.current;if(a)return i(!0),s(null),(async()=>{try{let{renderDocxInContainer:n}=await o(async()=>{let{renderDocxInContainer:e}=await import(`./attachment-preview-renderer-CybMSIoS.js`);return{renderDocxInContainer:e}},__vite__mapDeps([4,2,3]));if(t)return;let s=await n(a,e);if(t){s.cleanup();return}r=s.cleanup,i(!1)}catch(e){if(t)return;s(e instanceof Error?e.message:String(e)),i(!1)}})(),()=>{t=!0,r?.()}},[e]),(0,h.jsxs)(`div`,{className:`rounded-lg border border-edge bg-surface-panel p-4`,children:[r?(0,h.jsxs)(`div`,{className:`flex min-h-[20vh] items-center justify-center text-sm text-fg-muted`,children:[(0,h.jsx)(l,{className:`mr-2 size-4 animate-spin`}),t]}):null,a?(0,h.jsx)(`p`,{className:`text-sm text-red-600 dark:text-red-400`,children:a}):null,(0,h.jsx)(`div`,{ref:n,className:r?`hidden`:`min-h-[40vh]`})]})}function w(e){return e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:e<1073741824?`${(e/1048576).toFixed(1)} MB`:`${(e/1073741824).toFixed(1)} GB`}var T={loading:`加载中…`,error:`加载失败`,expired:`链接已失效`,notFound:`链接不存在`,invalidLink:`链接无效`,expiresAt:`有效期至`,download:`下载`,openInline:`在新窗口打开`,cannotPreview:`此文件类型暂不支持在线预览,请下载查看。`,directoryHint:`目录分享请使用主页面浏览。`,pptxSlide:`第 {n} 页`,pptxEmptySlide:`(本页无文本)`},E={loading:`Loading…`,error:`Failed to load`,expired:`Link no longer valid`,notFound:`Link not found`,invalidLink:`Invalid link`,expiresAt:`Expires`,download:`Download`,openInline:`Open raw`,cannotPreview:`This file type cannot be previewed here. Please download it instead.`,directoryHint:`Directory shares are browsed from the main page.`,pptxSlide:`Slide {n}`,pptxEmptySlide:`(empty slide)`};export{x as SharePreviewPage};
2
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,n,t as r}from"./vendor-react-BOUWij0V.js";import{i,t as a}from"./url-DQRqHuL-.js";import{t as o}from"./preload-helper-zJ_50EbN.js";import{Rn as s,do as c,ja as l,mo as u,ts as d,zn as f}from"./index-C_2yKRJX.js";var p=n(),m=e(t(),1),h=r(),g=`application/vnd.openxmlformats-officedocument.wordprocessingml.document`,_=`application/vnd.openxmlformats-officedocument.presentationml.presentation`,v=32*1024*1024,y=5*1024*1024;function b(e){return e===`text/markdown`?`markdown`:e===`text/plain`?`text`:e===`application/json`?`json`:e===`application/pdf`||e.startsWith(`image/`)?`pdf-or-image`:e===g?`docx`:e===_?`pptx`:`unknown`}function x(){let{token:e}=d(),t=i(e=>e.language),n=t===`zh`?T:E,[r,s]=(0,m.useState)(null),[f,p]=(0,m.useState)(null),[g,_]=(0,m.useState)(null),[x,C]=(0,m.useState)(null),[D,O]=(0,m.useState)(!0),[k,A]=(0,m.useState)(null);(0,m.useEffect)(()=>{if(!e){A(n.invalidLink),O(!1);return}let t=!1;return(async()=>{try{let r=await fetch(a(`/s/${encodeURIComponent(e)}/meta`));if(!r.ok){if(t)return;A(r.status===404?n.notFound:n.expired),O(!1);return}let i=await r.json();if(t)return;if(!i.valid){s(i),A(n.expired),O(!1);return}if(s(i),i.kind!==`file`){O(!1);return}let c=b(i.mimeType);if((c===`markdown`||c===`text`||c===`json`)&&i.fileSize<=y){let r=await fetch(a(`/s/${encodeURIComponent(e)}?inline=1`));if(t)return;if(!r.ok){A(n.expired),O(!1);return}let i=await r.text();if(t)return;p(i),O(!1);return}if((c===`docx`||c===`pptx`)&&i.fileSize<=v){let r=await fetch(a(`/s/${encodeURIComponent(e)}?inline=1`));if(t)return;if(!r.ok){A(n.expired),O(!1);return}let s=await r.arrayBuffer();if(t)return;if(c===`docx`)C(s);else try{let{processPptx:e}=await o(async()=>{let{processPptx:e}=await import(`./attachment-process-heavy-RnGYy9bC.js`);return{processPptx:e}},__vite__mapDeps([0,1,2,3])),{extractedText:n}=await e(s,i.fileName);if(t)return;_(n)}catch(e){if(t)return;A(e instanceof Error?e.message:String(e))}O(!1);return}O(!1)}catch(e){if(t)return;A(e instanceof Error?e.message:String(e)),O(!1)}})(),()=>{t=!0}},[e,n.expired,n.invalidLink,n.notFound]);let j=e?a(`/s/${encodeURIComponent(e)}?dl=1`):`#`,M=e?a(`/s/${encodeURIComponent(e)}?inline=1`):`#`;return(0,h.jsxs)(`div`,{className:`flex min-h-screen flex-col bg-surface-base`,children:[(0,h.jsxs)(`header`,{className:`flex h-12 shrink-0 items-center gap-3 border-b border-edge px-4`,children:[(0,h.jsx)(`span`,{className:`text-lg`,"aria-hidden":!0,children:`📄`}),(0,h.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,h.jsx)(`div`,{className:`truncate text-sm font-semibold text-fg`,title:r?.fileName??``,children:r?.fileName??n.loading}),r?(0,h.jsxs)(`div`,{className:`truncate text-xs text-fg-muted`,children:[w(r.fileSize),` · `,n.expiresAt,` `,new Date(r.expiresAt).toLocaleString(t===`zh`?`zh-CN`:`en-US`)]}):null]}),r?(0,h.jsxs)(h.Fragment,{children:[(0,h.jsxs)(`a`,{href:M,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center gap-1 rounded-md px-2 py-1 text-xs text-fg-muted hover:bg-surface-hover hover:text-fg`,children:[(0,h.jsx)(c,{className:`size-3.5`,"aria-hidden":!0}),n.openInline]}),(0,h.jsxs)(`a`,{href:j,className:`inline-flex items-center gap-1 rounded-md bg-accent px-3 py-1.5 text-xs font-medium text-white hover:opacity-90`,download:r.fileName,children:[(0,h.jsx)(u,{className:`size-3.5`,"aria-hidden":!0}),n.download]})]}):null]}),(0,h.jsx)(`main`,{className:`mx-auto w-full max-w-app-main flex-1 px-4 py-6`,children:D?(0,h.jsxs)(`div`,{className:`flex min-h-[50vh] items-center justify-center text-sm text-fg-muted`,children:[(0,h.jsx)(l,{className:`mr-2 size-4 animate-spin`}),n.loading]}):k?(0,h.jsxs)(`div`,{className:`rounded-lg border border-edge bg-surface-panel p-6 text-sm text-fg`,children:[(0,h.jsx)(`p`,{className:`font-medium`,children:n.error}),(0,h.jsx)(`p`,{className:`mt-1 text-fg-muted`,children:k})]}):r?(0,h.jsx)(S,{meta:r,textContent:f,pptxText:g,docxBuffer:x,openInlineUrl:M,t:n}):null})]})}function S(e){let t=(0,p.c)(20),{meta:n,textContent:r,pptxText:i,docxBuffer:a,openInlineUrl:o,t:c}=e;if(n.kind===`directory`){let e;return t[0]===c.directoryHint?e=t[1]:(e=(0,h.jsx)(`div`,{className:`rounded-lg border border-edge bg-surface-panel p-6 text-sm text-fg-muted`,children:c.directoryHint}),t[0]=c.directoryHint,t[1]=e),e}let l=b(n.mimeType);if(l===`markdown`&&r!==null){let e;return t[2]===r?e=t[3]:(e=(0,h.jsx)(`article`,{className:`rounded-lg border border-edge bg-surface-panel p-6`,children:(0,h.jsx)(f,{content:r})}),t[2]=r,t[3]=e),e}if((l===`text`||l===`json`)&&r!==null){let e;return t[4]===r?e=t[5]:(e=(0,h.jsx)(`pre`,{className:`overflow-x-auto rounded-lg border border-edge bg-surface-panel p-4 text-xs text-fg`,children:(0,h.jsx)(`code`,{children:r})}),t[4]=r,t[5]=e),e}if(l===`pdf-or-image`){let e;return t[6]!==n.fileName||t[7]!==o?(e=(0,h.jsx)(`iframe`,{title:n.fileName,src:o,className:`h-[80vh] w-full rounded-lg border border-edge bg-surface-panel`,sandbox:`allow-same-origin allow-popups allow-popups-to-escape-sandbox allow-downloads`}),t[6]=n.fileName,t[7]=o,t[8]=e):e=t[8],e}if(l===`pptx`&&i!==null){let e;t[9]===c.pptxSlide?e=t[10]:(e=e=>c.pptxSlide.replace(`{n}`,String(e)),t[9]=c.pptxSlide,t[10]=e);let n;return t[11]!==i||t[12]!==c.pptxEmptySlide||t[13]!==e?(n=(0,h.jsx)(`div`,{className:`rounded-lg border border-edge bg-surface-panel p-4`,children:(0,h.jsx)(s,{text:i,slideLabel:e,emptySlideLabel:c.pptxEmptySlide})}),t[11]=i,t[12]=c.pptxEmptySlide,t[13]=e,t[14]=n):n=t[14],n}if(l===`docx`&&a!==null){let e;return t[15]!==a||t[16]!==c.loading?(e=(0,h.jsx)(C,{buffer:a,loadingLabel:c.loading}),t[15]=a,t[16]=c.loading,t[17]=e):e=t[17],e}let u;return t[18]===c.cannotPreview?u=t[19]:(u=(0,h.jsx)(`div`,{className:`rounded-lg border border-edge bg-surface-panel p-6 text-sm text-fg-muted`,children:c.cannotPreview}),t[18]=c.cannotPreview,t[19]=u),u}function C({buffer:e,loadingLabel:t}){let n=(0,m.useRef)(null),[r,i]=(0,m.useState)(!0),[a,s]=(0,m.useState)(null);return(0,m.useEffect)(()=>{let t=!1,r=null,a=n.current;if(a)return i(!0),s(null),(async()=>{try{let{renderDocxInContainer:n}=await o(async()=>{let{renderDocxInContainer:e}=await import(`./attachment-preview-renderer-CybMSIoS.js`);return{renderDocxInContainer:e}},__vite__mapDeps([4,2,3]));if(t)return;let s=await n(a,e);if(t){s.cleanup();return}r=s.cleanup,i(!1)}catch(e){if(t)return;s(e instanceof Error?e.message:String(e)),i(!1)}})(),()=>{t=!0,r?.()}},[e]),(0,h.jsxs)(`div`,{className:`rounded-lg border border-edge bg-surface-panel p-4`,children:[r?(0,h.jsxs)(`div`,{className:`flex min-h-[20vh] items-center justify-center text-sm text-fg-muted`,children:[(0,h.jsx)(l,{className:`mr-2 size-4 animate-spin`}),t]}):null,a?(0,h.jsx)(`p`,{className:`text-sm text-red-600 dark:text-red-400`,children:a}):null,(0,h.jsx)(`div`,{ref:n,className:r?`hidden`:`min-h-[40vh]`})]})}function w(e){return e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:e<1073741824?`${(e/1048576).toFixed(1)} MB`:`${(e/1073741824).toFixed(1)} GB`}var T={loading:`加载中…`,error:`加载失败`,expired:`链接已失效`,notFound:`链接不存在`,invalidLink:`链接无效`,expiresAt:`有效期至`,download:`下载`,openInline:`在新窗口打开`,cannotPreview:`此文件类型暂不支持在线预览,请下载查看。`,directoryHint:`目录分享请使用主页面浏览。`,pptxSlide:`第 {n} 页`,pptxEmptySlide:`(本页无文本)`},E={loading:`Loading…`,error:`Failed to load`,expired:`Link no longer valid`,notFound:`Link not found`,invalidLink:`Invalid link`,expiresAt:`Expires`,download:`Download`,openInline:`Open raw`,cannotPreview:`This file type cannot be previewed here. Please download it instead.`,directoryHint:`Directory shares are browsed from the main page.`,pptxSlide:`Slide {n}`,pptxEmptySlide:`(empty slide)`};export{x as SharePreviewPage};
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/jszip.min-DT31yWkU.js","assets/rolldown-runtime-aKtaBQYM.js"])))=>i.map(i=>d[i]);
2
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,n,t as r}from"./vendor-react-BOUWij0V.js";import{i,o as a}from"./url-DQRqHuL-.js";import{t as o}from"./preload-helper-zJ_50EbN.js";import{a as s}from"./fetch-CFdKBnE6.js";import{$o as c,$t as l,Ar as u,Ei as d,Er as f,Hn as p,Jt as m,Kt as h,Li as g,Mo as _,No as v,Or as y,Po as b,Qt as x,Ti as S,Tr as C,Vr as w,Xt as T,Yt as E,Zi as D,Zt as O,ao as k,do as A,en as j,es as ee,fi as M,hi as N,ia as P,ii as F,ja as I,jr as L,kr as R,lo as te,nn as z,ns as ne,pi as B,qa as re,qt as V,rn as ie,tn as H,ua as U,wr as W,zn as ae}from"./index-C_2yKRJX.js";import{i as oe,n as G,o as se,r as ce,t as le}from"./dist-DmGDgpy2.js";var K=n(),q=e(t(),1),J=r(),ue=(0,q.memo)(function(e){let t=(0,K.c)(30),{loading:n,onReloadClick:r,searchQuery:i,setSearchQuery:a,mainTab:o,sk:s,setPendingFile:c,setInstallOpen:l}=e,u=s.reloadRuntime,d=s.reloadDiskAria,f;t[0]===r?f=t[1]:(f=()=>void r(),t[0]=r,t[1]=f);let p=n&&`animate-spin`,m;t[2]===p?m=t[3]:(m=B(`size-4`,p),t[2]=p,t[3]=m);let h;t[4]===m?h=t[5]:(h=(0,J.jsx)(P,{className:m,strokeWidth:1.75}),t[4]=m,t[5]=h);let g;t[6]!==n||t[7]!==s.reloadDiskAria||t[8]!==s.reloadRuntime||t[9]!==f||t[10]!==h?(g=(0,J.jsx)(M,{type:`button`,variant:`ghost`,className:`size-9 shrink-0 p-0`,disabled:n,title:u,"aria-label":d,onClick:f,children:h}),t[6]=n,t[7]=s.reloadDiskAria,t[8]=s.reloadRuntime,t[9]=f,t[10]=h,t[11]=g):g=t[11];let _;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,J.jsx)(D,{className:`pointer-events-none absolute left-3 top-1/2 size-4 -translate-y-1/2 text-fg-disabled`,strokeWidth:1.75,"aria-hidden":!0}),t[12]=_):_=t[12];let v;t[13]===a?v=t[14]:(v=e=>a(e.target.value),t[13]=a,t[14]=v);let y=o===`marketplace`?s.marketplaceSearchPackages:s.searchPlaceholder,b;t[15]!==i||t[16]!==y||t[17]!==v?(b=(0,J.jsxs)(`label`,{className:`relative flex min-h-9 min-w-0 max-w-sm cursor-text items-center rounded-pill border border-edge bg-surface-base py-1.5 pl-9 pr-3 shadow-surface dark:bg-surface-hover/40 sm:max-w-md`,children:[_,(0,J.jsx)(`input`,{type:`search`,enterKeyHint:`search`,value:i,onChange:v,placeholder:y,autoComplete:`off`,spellCheck:!1,className:`min-w-0 flex-1 appearance-none border-0 bg-transparent py-0.5 text-sm leading-normal text-fg caret-current placeholder:text-fg-disabled focus:border-0 focus:shadow-none focus:outline-none focus:ring-0 focus-visible:outline-none`})]}),t[15]=i,t[16]=y,t[17]=v,t[18]=b):b=t[18];let x;t[19]!==l||t[20]!==c?(x=()=>{c(null),l(!0)},t[19]=l,t[20]=c,t[21]=x):x=t[21];let S;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,J.jsx)(U,{className:`size-4`,strokeWidth:1.75,"aria-hidden":!0}),t[22]=S):S=t[22];let C;t[23]!==s.installCta||t[24]!==x?(C=(0,J.jsxs)(M,{type:`button`,variant:`primary`,className:`shrink-0 gap-2`,onClick:x,children:[S,s.installCta]}),t[23]=s.installCta,t[24]=x,t[25]=C):C=t[25];let w;return t[26]!==b||t[27]!==C||t[28]!==g?(w=(0,J.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-wrap items-center justify-end gap-2`,children:[g,b,C]}),t[26]=b,t[27]=C,t[28]=g,t[29]=w):w=t[29],w}),de=[{light:`bg-sky-100 text-sky-800`,dark:`dark:bg-sky-950/55 dark:text-sky-200`},{light:`bg-violet-100 text-violet-800`,dark:`dark:bg-violet-950/55 dark:text-violet-200`},{light:`bg-emerald-100 text-emerald-800`,dark:`dark:bg-emerald-950/55 dark:text-emerald-200`},{light:`bg-orange-100 text-orange-800`,dark:`dark:bg-orange-950/55 dark:text-orange-200`},{light:`bg-rose-100 text-rose-800`,dark:`dark:bg-rose-950/55 dark:text-rose-200`},{light:`bg-amber-100 text-amber-900`,dark:`dark:bg-amber-950/55 dark:text-amber-200`},{light:`bg-cyan-100 text-cyan-800`,dark:`dark:bg-cyan-950/55 dark:text-cyan-200`},{light:`bg-indigo-100 text-indigo-800`,dark:`dark:bg-indigo-950/55 dark:text-indigo-200`},{light:`bg-fuchsia-100 text-fuchsia-800`,dark:`dark:bg-fuchsia-950/55 dark:text-fuchsia-200`},{light:`bg-teal-100 text-teal-800`,dark:`dark:bg-teal-950/55 dark:text-teal-200`}];function fe(e){let t=0;for(let n=0;n<e.length;n+=1)t=Math.imul(31,t)+e.charCodeAt(n)|0;return Math.abs(t)}function pe(e){let t=e.trim();if(!t)return`?`;let n=t.match(/[\p{L}\p{N}]/u);return n?n[0].toLocaleUpperCase(`en-US`):t[0]}function me(e){let t=(0,K.c)(9),{name:n,className:r}=e,i;t[0]===n?i=t[1]:(i=pe(n),t[0]=n,t[1]=i);let a=i,o=de[fe(n)%de.length],s;t[2]!==r||t[3]!==o.dark||t[4]!==o.light?(s=B(`flex size-11 shrink-0 items-center justify-center rounded-xl font-semibold tracking-tight shadow-surface`,`text-[1.05rem] ring-1 ring-inset ring-black/[0.06] dark:ring-white/[0.1]`,`transition-[transform,box-shadow] duration-200 ease-out group-hover:ring-black/[0.1] dark:group-hover:ring-white/[0.14]`,`group-hover:-translate-y-px`,o.light,o.dark,r),t[2]=r,t[3]=o.dark,t[4]=o.light,t[5]=s):s=t[5];let c;return t[6]!==a||t[7]!==s?(c=(0,J.jsx)(`div`,{className:s,"aria-hidden":!0,children:a}),t[6]=a,t[7]=s,t[8]=c):c=t[8],c}var Y=`animate-pulse motion-reduce:animate-none rounded-md bg-surface-hover dark:bg-surface-active/50`;function X(){let e=(0,K.c)(6),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,J.jsx)(`div`,{className:B(`size-11 shrink-0 rounded-xl`,Y)}),e[0]=t):t=e[0];let n;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,J.jsx)(`div`,{className:B(`h-4 min-w-0 flex-1`,Y)}),e[1]=n):n=e[1];let r,i,a;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,J.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[n,(0,J.jsxs)(`div`,{className:`flex shrink-0 gap-1`,children:[(0,J.jsx)(`div`,{className:B(`size-8 shrink-0 rounded-lg`,Y)}),(0,J.jsx)(`div`,{className:B(`h-8 w-[4.5rem] shrink-0 rounded-lg`,Y)})]})]}),i=(0,J.jsx)(`div`,{className:B(`h-3 w-full`,Y)}),a=(0,J.jsx)(`div`,{className:B(`h-3 w-[92%]`,Y)}),e[2]=r,e[3]=i,e[4]=a):(r=e[2],i=e[3],a=e[4]);let o;return e[5]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,J.jsx)(`div`,{className:`flex h-full min-h-[10.5rem] flex-col rounded-xl border border-edge-subtle bg-surface-base p-4 dark:border-edge-subtle`,"aria-hidden":!0,children:(0,J.jsxs)(`div`,{className:`flex min-h-0 flex-1 items-start gap-3`,children:[t,(0,J.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-2`,children:[r,i,a,(0,J.jsxs)(`div`,{className:`mt-auto space-y-1 pt-0.5`,children:[(0,J.jsx)(`div`,{className:B(`h-3 w-full`,Y)}),(0,J.jsx)(`div`,{className:B(`h-2.5 w-4/5`,Y)})]})]})]})}),e[5]=o):o=e[5],o}function Z(){let e=(0,K.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,J.jsx)(X,{}),e[0]=t):t=e[0],t}var he=new Set([`builtin`,`user`,`marketplace`]),ge=new Set([`all`,`global`,`workspace`,`extra`]),_e=`mprov`,ve=[`s0`,`s1`,`s2`,`s3`,`s4`,`s5`],ye=[`business`,`creative`,`documents`,`engineering`,`tools`];function be(e){let t=(0,K.c)(28),{sk:n,mainTab:r,loading:i,catalog:a,filteredCatalog:o,builtinCategories:s,builtinCategoryFilter:c,setBuiltinCategoryFilter:l,catalogDisplayRows:u,catalogStatusFilter:d,resolveSkillEnabled:f,categoryLabel:p,sourceLabel:m,openSkillDetail:h,onSkillToggle:g,onUseSkillInChat:_,usingSkillInChatName:v,togglingSkillName:y}=e;if(i){let e=n.loading,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=ve.map(Ce),t[0]=r):r=t[0];let i;return t[1]===n.loading?i=t[2]:(i=(0,J.jsx)(`div`,{className:`grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3`,"aria-busy":`true`,"aria-label":e,children:r}),t[1]=n.loading,t[2]=i),i}if(a.length===0){let e;return t[3]===n.empty?e=t[4]:(e=(0,J.jsx)(`div`,{className:`rounded-2xl border border-dashed border-edge py-16 text-center text-sm text-fg-muted`,children:n.empty}),t[3]=n.empty,t[4]=e),e}if(o.length===0){let e;return t[5]===n.noSearchResults?e=t[6]:(e=(0,J.jsx)(`div`,{className:`rounded-2xl border border-dashed border-edge py-16 text-center text-sm text-fg-muted`,children:n.noSearchResults}),t[5]=n.noSearchResults,t[6]=e),e}let b;t[7]!==s||t[8]!==c||t[9]!==p||t[10]!==l||t[11]!==n?(b=s.length>1?(0,J.jsxs)(`div`,{role:`tablist`,"aria-label":n.marketplaceCategoriesAria,className:`-mx-1 flex gap-2 overflow-x-auto px-1 pb-1 pt-0.5 [scrollbar-width:thin]`,children:[(0,J.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":c===``,className:B(`shrink-0 rounded-full border px-3 py-1.5 text-xs font-medium transition-colors`,F.focusRingPanel,c===``?`border-fg bg-fg text-surface-panel dark:border-fg dark:bg-fg dark:text-surface-base`:`border-edge bg-surface-panel text-fg-muted hover:border-edge-strong hover:text-fg dark:border-edge dark:bg-surface-hover/40`),onClick:()=>l(``),children:n.marketplaceCategoryAll}),s.map(e=>{let t=c===e;return(0,J.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":t,className:B(`max-w-[14rem] shrink-0 truncate rounded-full border px-3 py-1.5 text-xs font-medium transition-colors`,F.focusRingPanel,t?`border-fg bg-fg text-surface-panel dark:border-fg dark:bg-fg dark:text-surface-base`:`border-edge bg-surface-panel text-fg-muted hover:border-edge-strong hover:text-fg dark:border-edge dark:bg-surface-hover/40`),title:p(e),onClick:()=>l(e),children:p(e)},e)})]}):null,t[7]=s,t[8]=c,t[9]=p,t[10]=l,t[11]=n,t[12]=b):b=t[12];let x;t[13]!==u||t[14]!==d||t[15]!==r||t[16]!==g||t[17]!==_||t[18]!==h||t[19]!==f||t[20]!==n||t[21]!==m||t[22]!==y||t[23]!==v?(x=u.length===0?(0,J.jsx)(`div`,{className:`rounded-2xl border border-dashed border-edge py-16 text-center text-sm text-fg-muted`,children:d===`disabled`?n.noDisabledSkills:n.noSearchResults}):(0,J.jsx)(`div`,{className:`grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3`,children:u.map(e=>{let t=f(e);return(0,J.jsx)(`article`,{className:B(`group flex h-full flex-col rounded-xl border bg-surface-base p-4 transition-colors`,t?`border-edge-subtle hover:border-accent/40 hover:bg-surface-hover dark:border-edge-subtle`:`border-amber-300/70 bg-amber-50/30 hover:border-amber-400/80 hover:bg-amber-50/50 dark:border-amber-700/50 dark:bg-amber-950/20 dark:hover:border-amber-600/60`),children:(0,J.jsx)(`div`,{role:`button`,tabIndex:0,className:B(`flex min-h-0 flex-1 cursor-pointer flex-col rounded-lg text-left outline-none`,F.focusRingPanel),"aria-labelledby":`catalog-skill-title-${e.directoryId}`,onClick:t=>{t.target.closest(`button`)||h(e)},onKeyDown:t=>{t.target.closest(`button`)||(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),h(e))},children:(0,J.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,J.jsx)(me,{name:e.name}),(0,J.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-2`,children:[(0,J.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[(0,J.jsx)(`h3`,{id:`catalog-skill-title-${e.directoryId}`,className:`min-w-0 flex-1 truncate text-[15px] font-semibold leading-snug tracking-tight text-fg`,children:e.name}),(0,J.jsxs)(`div`,{role:`group`,className:`flex shrink-0 items-center gap-1`,onClick:Se,onKeyDown:xe,children:[t?null:(0,J.jsx)(M,{type:`button`,variant:`primary`,className:`h-8 shrink-0 whitespace-nowrap px-2.5 text-xs font-medium`,disabled:y===e.name,onClick:()=>void g(e.name,!0),children:y===e.name?n.uploading:n.detailModalEnable}),(0,J.jsx)(M,{type:`button`,variant:`secondary`,className:`h-8 shrink-0 whitespace-nowrap px-2.5 text-xs font-medium`,disabled:!t||v===e.name||y===e.name,title:t?void 0:n.useRequiresEnabled,onClick:()=>void _({name:e.name,source:`catalog`}),children:v===e.name?n.previewUseInChatBusy:n.previewUseInChat})]})]}),(0,J.jsx)(`p`,{className:`line-clamp-2 text-sm leading-relaxed text-fg-muted`,title:e.description?e.description:void 0,children:e.description||`—`}),(0,J.jsx)(`div`,{className:`flex flex-wrap gap-1.5 text-[11px] text-fg-subtle`,children:r!==`builtin`||e.managed?(0,J.jsxs)(J.Fragment,{children:[r===`builtin`?null:(0,J.jsx)(`span`,{className:`rounded-md bg-surface-hover/60 px-2 py-0.5 dark:bg-surface-active/50`,children:m(e.source)}),e.managed?(0,J.jsxs)(`span`,{className:`rounded-md bg-surface-hover/60 px-2 py-0.5 dark:bg-surface-active/50`,children:[n.col.managed,`: `,n.yes]}):null,e.hub?(0,J.jsxs)(`span`,{className:`max-w-full break-all rounded-md bg-surface-hover/60 px-2 py-0.5 font-mono text-[10px] leading-snug dark:bg-surface-active/50 line-clamp-2`,title:`${e.hub.source}${e.hub.ref?`\nref: ${e.hub.ref}`:``}\nupdated: ${e.hub.updatedAt}`,children:[n.hubRemote,` ·`,` `,e.hub.kind===`git`?n.hubKindGit:n.hubKindArchive,` ·`,` `,e.hub.source.length>48?`${e.hub.source.slice(0,48)}…`:e.hub.source]}):null]}):null})]})]})})},`${e.directoryId}-${e.path}`)})}),t[13]=u,t[14]=d,t[15]=r,t[16]=g,t[17]=_,t[18]=h,t[19]=f,t[20]=n,t[21]=m,t[22]=y,t[23]=v,t[24]=x):x=t[24];let S;return t[25]!==b||t[26]!==x?(S=(0,J.jsxs)(J.Fragment,{children:[b,x]}),t[25]=b,t[26]=x,t[27]=S):S=t[27],S}function xe(e){return e.stopPropagation()}function Se(e){return e.stopPropagation()}function Ce(e){return(0,J.jsx)(Z,{},e)}var Q=`https://skillhub.cn`,we=`https://clawhub.ai`;function Te(e){let t=e.trim();return t?`${Q}/skills/${encodeURIComponent(t)}`:null}function Ee(e){let t=e.trim();return t?`${we}/${encodeURIComponent(t)}`:null}function De(e,t){return e===`skillhub`?Te(t):e===`clawhub`?Ee(t):null}function Oe(e,t){return t===`store`?e.name.trim()||e.id:e.id.trim()||e.name}function ke(e,t){return e.replace(/\{\{(\w+)\}\}/g,(e,n)=>String(t[n]??``))}function Ae(e){let t=[e.kind];return e.label?.trim()&&t.push(e.label.trim()),e.package?.trim()&&t.push(e.package.trim()),e.formula?.trim()&&t.push(e.formula.trim()),e.module?.trim()&&t.push(e.module.trim()),e.url?.trim()&&t.push(e.url.trim()),t.join(` · `)}function je(e){return{...e,enabled:e.enabled??!0,disableModelInvocation:e.disableModelInvocation??!1}}function Me(e){let t=(0,K.c)(32),{sk:n,confirmOpen:r,setConfirmOpen:i,confirmId:a,setConfirmId:o,runDelete:s}=e,c;t[0]!==o||t[1]!==i?(c=e=>{i(e),e||o(null)},t[0]=o,t[1]=i,t[2]=c):c=t[2];let l;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,J.jsx)(y,{className:`xopc-dialog-overlay fixed inset-0 z-[60] bg-scrim`}),t[3]=l):l=t[3];let d;t[4]===n.deleteTitle?d=t[5]:(d=(0,J.jsx)(L,{className:`text-base font-semibold text-fg`,children:n.deleteTitle}),t[4]=n.deleteTitle,t[5]=d);let p;t[6]!==a||t[7]!==n.deleteMessage?(p=a?ke(n.deleteMessage,{id:a}):``,t[6]=a,t[7]=n.deleteMessage,t[8]=p):p=t[8];let m;t[9]===p?m=t[10]:(m=(0,J.jsx)(`p`,{className:`mt-2 text-sm text-fg-muted`,children:p}),t[9]=p,t[10]=m);let h;t[11]===i?h=t[12]:(h=()=>i(!1),t[11]=i,t[12]=h);let g;t[13]!==n.cancel||t[14]!==h?(g=(0,J.jsx)(M,{type:`button`,variant:`secondary`,onClick:h,children:n.cancel}),t[13]=n.cancel,t[14]=h,t[15]=g):g=t[15];let _;t[16]===s?_=t[17]:(_=()=>void s(),t[16]=s,t[17]=_);let v;t[18]!==n.deleteConfirm||t[19]!==_?(v=(0,J.jsx)(M,{type:`button`,variant:`primary`,className:`bg-red-600 hover:bg-red-700`,onClick:_,children:n.deleteConfirm}),t[18]=n.deleteConfirm,t[19]=_,t[20]=v):v=t[20];let b;t[21]!==g||t[22]!==v?(b=(0,J.jsxs)(`div`,{className:`mt-4 flex justify-end gap-2`,children:[g,v]}),t[21]=g,t[22]=v,t[23]=b):b=t[23];let x;t[24]!==b||t[25]!==d||t[26]!==m?(x=(0,J.jsxs)(R,{children:[l,(0,J.jsxs)(f,{className:`xopc-dialog-content fixed left-1/2 top-1/2 z-[60] w-[min(100%-2rem,24rem)] -translate-x-1/2 -translate-y-1/2 rounded-xl border border-edge bg-surface-panel p-4 shadow-popover dark:border-edge`,children:[d,m,b]})]}),t[24]=b,t[25]=d,t[26]=m,t[27]=x):x=t[27];let S;return t[28]!==r||t[29]!==c||t[30]!==x?(S=(0,J.jsx)(u,{open:r,onOpenChange:c,children:x}),t[28]=r,t[29]=c,t[30]=x,t[31]=S):S=t[31],S}function Ne(e){let t=(0,K.c)(7),{label:n,children:r}=e;if(r==null||r===!1)return null;let i;t[0]===n?i=t[1]:(i=(0,J.jsx)(`div`,{className:`text-xs font-semibold uppercase tracking-wide text-fg-muted`,children:n}),t[0]=n,t[1]=i);let a;t[2]===r?a=t[3]:(a=(0,J.jsx)(`div`,{className:`mt-1.5 min-w-0 text-sm text-fg`,children:r}),t[2]=r,t[3]=a);let o;return t[4]!==i||t[5]!==a?(o=(0,J.jsxs)(`div`,{className:`mt-3 border-t border-edge-subtle pt-3 dark:border-edge/60`,children:[i,a]}),t[4]=i,t[5]=a,t[6]=o):o=t[6],o}function Pe(e){let t=(0,K.c)(118),{preview:n,sk:r}=e,i=n.metadata,a=n.toolConditions,o=!!a&&(a.requiresTools.length>0||a.requiresToolsets.length>0||a.fallbackForTools.length>0||a.fallbackForToolsets.length>0),s=i.requires,c=s&&((s.bins?.length??0)>0||(s.env?.length??0)>0||(s.anyBins?.length??0)>0),l,u,d,f,p,m,h,g,_,v,y,b,x,S,C;if(t[0]!==a||t[1]!==c||t[2]!==o||t[3]!==i.emoji||t[4]!==i.homepage||t[5]!==i.install||t[6]!==i.os||t[7]!==n.description||t[8]!==n.disableModelInvocation||t[9]!==n.requiredEnvVarNames||t[10]!==s||t[11]!==r.detailEnvVarsLabel||t[12]!==r.detailHomepageLabel||t[13]!==r.detailInstallLabel||t[14]!==r.detailNotInjectedNote||t[15]!==r.detailPlatformsLabel||t[16]!==r.detailRequiresAnyBins||t[17]!==r.detailRequiresBins||t[18]!==r.detailRequiresEnv||t[19]!==r.detailRequiresLabel||t[20]!==r.detailSummaryHeading||t[21]!==r.detailToolGatingLabel||t[22]!==r.detailToolsFallbackList||t[23]!==r.detailToolsRequiresList||t[24]!==r.detailToolsetsFallbackList||t[25]!==r.detailToolsetsRequiresList){let e=i.install?.filter(Le)??[],w=n.requiredEnvVarNames?.filter(Ie)??[];h=`space-y-6`,p=`skill-detail-summary-heading`,t[41]===r.detailSummaryHeading?m=t[42]:(m=(0,J.jsx)(`h3`,{id:`skill-detail-summary-heading`,className:`mb-2 text-xs font-semibold uppercase tracking-wide text-fg-muted`,children:r.detailSummaryHeading}),t[41]=r.detailSummaryHeading,t[42]=m),_=`rounded-xl border border-edge bg-surface-base px-4 py-3 dark:bg-surface-hover/25`,t[43]===i.emoji?v=t[44]:(v=i.emoji?.trim()?(0,J.jsx)(`p`,{className:`text-2xl leading-none`,"aria-hidden":!0,children:i.emoji.trim()}):null,t[43]=i.emoji,t[44]=v);let T;t[45]===i.emoji?T=t[46]:(T=i.emoji?.trim()?`mt-2`:``,t[45]=i.emoji,t[46]=T);let E;t[47]===T?E=t[48]:(E=B(`text-sm leading-relaxed text-fg`,T),t[47]=T,t[48]=E),t[49]!==n.description||t[50]!==E?(y=(0,J.jsx)(`p`,{className:E,children:n.description}),t[49]=n.description,t[50]=E,t[51]=y):y=t[51],t[52]!==n.disableModelInvocation||t[53]!==r.detailNotInjectedNote?(b=n.disableModelInvocation?(0,J.jsx)(`p`,{className:`mt-3 rounded-lg border border-amber-200/80 bg-amber-50/90 px-3 py-2 text-xs leading-snug text-amber-950 dark:border-amber-900/50 dark:bg-amber-950/40 dark:text-amber-100`,children:r.detailNotInjectedNote}):null,t[52]=n.disableModelInvocation,t[53]=r.detailNotInjectedNote,t[54]=b):b=t[54];let D;t[55]===i.homepage?D=t[56]:(D=i.homepage?.trim()?(0,J.jsx)(`a`,{href:i.homepage.trim(),target:`_blank`,rel:`noopener noreferrer`,className:`break-all text-accent underline-offset-2 hover:underline`,children:i.homepage.trim()}):null,t[55]=i.homepage,t[56]=D),t[57]!==r.detailHomepageLabel||t[58]!==D?(x=(0,J.jsx)(Ne,{label:r.detailHomepageLabel,children:D}),t[57]=r.detailHomepageLabel,t[58]=D,t[59]=x):x=t[59];let O;t[60]===i.os?O=t[61]:(O=i.os&&i.os.length>0?(0,J.jsx)(`span`,{className:`font-mono text-xs text-fg-muted`,children:i.os.join(`, `)}):null,t[60]=i.os,t[61]=O),t[62]!==r.detailPlatformsLabel||t[63]!==O?(S=(0,J.jsx)(Ne,{label:r.detailPlatformsLabel,children:O}),t[62]=r.detailPlatformsLabel,t[63]=O,t[64]=S):S=t[64];let k;t[65]!==c||t[66]!==s||t[67]!==r.detailRequiresAnyBins||t[68]!==r.detailRequiresBins||t[69]!==r.detailRequiresEnv?(k=c&&s?(0,J.jsxs)(`ul`,{className:`list-inside list-disc space-y-1 text-sm text-fg-muted`,children:[s.bins&&s.bins.length>0?(0,J.jsxs)(`li`,{children:[(0,J.jsxs)(`span`,{className:`text-fg`,children:[r.detailRequiresBins,`: `]}),s.bins.join(`, `)]}):null,s.env&&s.env.length>0?(0,J.jsxs)(`li`,{children:[(0,J.jsxs)(`span`,{className:`text-fg`,children:[r.detailRequiresEnv,`: `]}),(0,J.jsx)(`span`,{className:`font-mono text-xs`,children:s.env.join(`, `)})]}):null,s.anyBins&&s.anyBins.length>0?(0,J.jsxs)(`li`,{children:[(0,J.jsxs)(`span`,{className:`text-fg`,children:[r.detailRequiresAnyBins,`: `]}),s.anyBins.join(`, `)]}):null]}):null,t[65]=c,t[66]=s,t[67]=r.detailRequiresAnyBins,t[68]=r.detailRequiresBins,t[69]=r.detailRequiresEnv,t[70]=k):k=t[70],t[71]!==r.detailRequiresLabel||t[72]!==k?(C=(0,J.jsx)(Ne,{label:r.detailRequiresLabel,children:k}),t[71]=r.detailRequiresLabel,t[72]=k,t[73]=C):C=t[73];let A=e.length>0?(0,J.jsx)(`ul`,{className:`list-inside list-decimal space-y-1.5 text-sm text-fg-muted`,children:e.map(Fe)}):null;t[74]!==r.detailInstallLabel||t[75]!==A?(d=(0,J.jsx)(Ne,{label:r.detailInstallLabel,children:A}),t[74]=r.detailInstallLabel,t[75]=A,t[76]=d):d=t[76];let j;t[77]!==a||t[78]!==o||t[79]!==r.detailToolsFallbackList||t[80]!==r.detailToolsRequiresList||t[81]!==r.detailToolsetsFallbackList||t[82]!==r.detailToolsetsRequiresList?(j=o&&a?(0,J.jsxs)(`ul`,{className:`mt-1 space-y-2 text-sm text-fg-muted`,children:[a.requiresTools.length>0?(0,J.jsxs)(`li`,{children:[(0,J.jsxs)(`span`,{className:`font-medium text-fg`,children:[r.detailToolsRequiresList,`: `]}),a.requiresTools.join(`, `)]}):null,a.requiresToolsets.length>0?(0,J.jsxs)(`li`,{children:[(0,J.jsxs)(`span`,{className:`font-medium text-fg`,children:[r.detailToolsetsRequiresList,`: `]}),a.requiresToolsets.join(`, `)]}):null,a.fallbackForTools.length>0?(0,J.jsxs)(`li`,{children:[(0,J.jsxs)(`span`,{className:`font-medium text-fg`,children:[r.detailToolsFallbackList,`: `]}),a.fallbackForTools.join(`, `)]}):null,a.fallbackForToolsets.length>0?(0,J.jsxs)(`li`,{children:[(0,J.jsxs)(`span`,{className:`font-medium text-fg`,children:[r.detailToolsetsFallbackList,`: `]}),a.fallbackForToolsets.join(`, `)]}):null]}):null,t[77]=a,t[78]=o,t[79]=r.detailToolsFallbackList,t[80]=r.detailToolsRequiresList,t[81]=r.detailToolsetsFallbackList,t[82]=r.detailToolsetsRequiresList,t[83]=j):j=t[83],t[84]!==r.detailToolGatingLabel||t[85]!==j?(f=(0,J.jsx)(Ne,{label:r.detailToolGatingLabel,children:j}),t[84]=r.detailToolGatingLabel,t[85]=j,t[86]=f):f=t[86],l=Ne,u=r.detailEnvVarsLabel,g=w.length>0?(0,J.jsx)(`span`,{className:`font-mono text-xs text-fg-muted`,children:w.join(`, `)}):null,t[0]=a,t[1]=c,t[2]=o,t[3]=i.emoji,t[4]=i.homepage,t[5]=i.install,t[6]=i.os,t[7]=n.description,t[8]=n.disableModelInvocation,t[9]=n.requiredEnvVarNames,t[10]=s,t[11]=r.detailEnvVarsLabel,t[12]=r.detailHomepageLabel,t[13]=r.detailInstallLabel,t[14]=r.detailNotInjectedNote,t[15]=r.detailPlatformsLabel,t[16]=r.detailRequiresAnyBins,t[17]=r.detailRequiresBins,t[18]=r.detailRequiresEnv,t[19]=r.detailRequiresLabel,t[20]=r.detailSummaryHeading,t[21]=r.detailToolGatingLabel,t[22]=r.detailToolsFallbackList,t[23]=r.detailToolsRequiresList,t[24]=r.detailToolsetsFallbackList,t[25]=r.detailToolsetsRequiresList,t[26]=l,t[27]=u,t[28]=d,t[29]=f,t[30]=p,t[31]=m,t[32]=h,t[33]=g,t[34]=_,t[35]=v,t[36]=y,t[37]=b,t[38]=x,t[39]=S,t[40]=C}else l=t[26],u=t[27],d=t[28],f=t[29],p=t[30],m=t[31],h=t[32],g=t[33],_=t[34],v=t[35],y=t[36],b=t[37],x=t[38],S=t[39],C=t[40];let w;t[87]!==l||t[88]!==u||t[89]!==g?(w=(0,J.jsx)(l,{label:u,children:g}),t[87]=l,t[88]=u,t[89]=g,t[90]=w):w=t[90];let T;t[91]!==d||t[92]!==f||t[93]!==w||t[94]!==_||t[95]!==v||t[96]!==y||t[97]!==b||t[98]!==x||t[99]!==S||t[100]!==C?(T=(0,J.jsxs)(`div`,{className:_,children:[v,y,b,x,S,C,d,f,w]}),t[91]=d,t[92]=f,t[93]=w,t[94]=_,t[95]=v,t[96]=y,t[97]=b,t[98]=x,t[99]=S,t[100]=C,t[101]=T):T=t[101];let E;t[102]!==p||t[103]!==m||t[104]!==T?(E=(0,J.jsxs)(`section`,{"aria-labelledby":p,children:[m,T]}),t[102]=p,t[103]=m,t[104]=T,t[105]=E):E=t[105];let D;t[106]===r.detailInstructionsHeading?D=t[107]:(D=(0,J.jsx)(`h3`,{id:`skill-detail-instructions-heading`,className:`mb-2 text-xs font-semibold uppercase tracking-wide text-fg-muted`,children:r.detailInstructionsHeading}),t[106]=r.detailInstructionsHeading,t[107]=D);let O;t[108]!==n.bodyMarkdown||t[109]!==r.detailNoInstructionsBody?(O=n.bodyMarkdown.trim()?(0,J.jsx)(`div`,{className:`markdown-content min-w-0 break-words`,children:(0,J.jsx)(ae,{content:n.bodyMarkdown})}):(0,J.jsx)(`p`,{className:`text-sm italic text-fg-muted`,children:r.detailNoInstructionsBody}),t[108]=n.bodyMarkdown,t[109]=r.detailNoInstructionsBody,t[110]=O):O=t[110];let k;t[111]!==D||t[112]!==O?(k=(0,J.jsxs)(`section`,{"aria-labelledby":`skill-detail-instructions-heading`,children:[D,O]}),t[111]=D,t[112]=O,t[113]=k):k=t[113];let A;return t[114]!==h||t[115]!==E||t[116]!==k?(A=(0,J.jsxs)(`div`,{className:h,children:[E,k]}),t[114]=h,t[115]=E,t[116]=k,t[117]=A):A=t[117],A}function Fe(e,t){return(0,J.jsx)(`li`,{className:`[overflow-wrap:anywhere]`,children:(0,J.jsx)(`span`,{className:`text-fg`,children:Ae(e)})},e.id||`${e.kind}-${t}`)}function Ie(e){return e.trim()}function Le(e){return e&&typeof e.kind==`string`}var Re=[{id:`s0`,width:`w-[92%]`},{id:`s1`,width:`w-full`},{id:`s2`,width:`w-4/5`},{id:`s3`,width:`w-[92%]`},{id:`s4`,width:`w-full`},{id:`s5`,width:`w-4/5`},{id:`s6`,width:`w-[92%]`},{id:`s7`,width:`w-full`},{id:`s8`,width:`w-4/5`},{id:`s9`,width:`w-[92%]`}];function ze(e){let t=(0,K.c)(81),{sk:n,detailOpen:r,setDetailOpen:i,detailSource:a,setDetailSource:o,detailTitle:s,setDetailTitle:c,detailCatalogPreview:l,setDetailCatalogPreview:p,detailMarketplacePreview:m,setDetailMarketplacePreview:h,detailLoading:g,detailError:_,setDetailError:v,detailEnabled:b,detailDirectoryId:x,detailManaged:w,detailExternalUrl:T,usingSkillInChatName:E,installingMarketName:D,togglingSkillName:O,isSkillInstalledByName:k,onUseSkillInChat:j,onMarketInstall:ee,onSkillToggle:P,setConfirmId:I,setConfirmOpen:te}=e,z;t[0]!==p||t[1]!==v||t[2]!==h||t[3]!==i||t[4]!==o||t[5]!==c?(z=e=>{i(e),e||(o(`catalog`),p(null),h(null),v(null),c(``))},t[0]=p,t[1]=v,t[2]=h,t[3]=i,t[4]=o,t[5]=c,t[6]=z):z=t[6];let ne;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(ne=(0,J.jsx)(y,{className:`xopc-dialog-overlay fixed inset-0 z-[60] bg-scrim`}),t[7]=ne):ne=t[7];let V;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(V=B(`xopc-dialog-content fixed left-1/2 top-1/2 z-[60] flex h-[min(88vh,44rem)] max-h-[min(92vh,56rem)] w-[min(100%-2rem,min(92vw,56rem))]`,`-translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-2xl border border-edge bg-surface-panel shadow-float dark:border-edge`),t[8]=V):V=t[8];let ie=s||`?`,H;t[9]===ie?H=t[10]:(H=(0,J.jsx)(me,{name:ie}),t[9]=ie,t[10]=H);let U=s||`—`,W;t[11]===U?W=t[12]:(W=(0,J.jsx)(L,{className:`min-w-0 flex-1 truncate text-base font-semibold text-fg`,children:U}),t[11]=U,t[12]=W);let ae;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(ae=B(`rounded-lg p-1.5 text-fg-muted hover:bg-surface-hover hover:text-fg`,F.focusRingPanel),t[13]=ae):ae=t[13];let oe;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(oe=(0,J.jsx)(N,{className:`size-5`,strokeWidth:1.75,"aria-hidden":!0}),t[14]=oe):oe=t[14];let G;t[15]===n.detailCloseAria?G=t[16]:(G=(0,J.jsx)(C,{asChild:!0,children:(0,J.jsx)(`button`,{type:`button`,className:ae,"aria-label":n.detailCloseAria,children:oe})}),t[15]=n.detailCloseAria,t[16]=G);let se;t[17]!==H||t[18]!==W||t[19]!==G?(se=(0,J.jsxs)(`div`,{className:`group flex min-h-[3.25rem] shrink-0 items-center gap-3 border-b border-edge px-4 py-3`,children:[H,W,G]}),t[17]=H,t[18]=W,t[19]=G,t[20]=se):se=t[20];let ce;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(ce=(0,J.jsx)(re,{className:`mt-0.5 size-4 shrink-0 text-blue-600 dark:text-blue-400`,strokeWidth:1.75,"aria-hidden":!0}),t[21]=ce):ce=t[21];let le=a===`store`&&m?n.detailModalBanner:a===`store`?n.detailModalBannerStore:n.detailModalBanner,q;t[22]===le?q=t[23]:(q=(0,J.jsxs)(`div`,{className:`flex min-h-[3.25rem] shrink-0 items-start gap-2 border-b border-blue-200/80 bg-blue-50/95 px-4 py-2.5 text-sm text-fg dark:border-blue-900/50 dark:bg-blue-950/45`,children:[ce,(0,J.jsx)(`p`,{className:`min-w-0 leading-relaxed`,children:le})]}),t[22]=le,t[23]=q);let ue;t[24]!==l||t[25]!==b||t[26]!==_||t[27]!==g||t[28]!==m||t[29]!==a||t[30]!==n?(ue=(0,J.jsx)(`div`,{className:`min-h-0 min-w-0 flex-1 overflow-auto p-4`,children:g?(0,J.jsx)(`div`,{className:`flex h-full min-h-[14rem] flex-col gap-2.5 py-1`,"aria-busy":`true`,"aria-label":n.loading,children:Re.map(Be)}):_?(0,J.jsx)(`p`,{className:`text-sm text-red-600 dark:text-red-400`,children:_}):a===`catalog`&&l?(0,J.jsxs)(J.Fragment,{children:[b?null:(0,J.jsxs)(`div`,{className:`mb-4 flex items-start gap-2 rounded-xl border border-amber-200 bg-amber-50 px-3 py-2.5 text-sm text-amber-900 dark:border-amber-900/50 dark:bg-amber-950/30 dark:text-amber-100`,children:[(0,J.jsx)(S,{className:`mt-0.5 size-4 shrink-0 text-amber-600 dark:text-amber-300`,strokeWidth:1.75,"aria-hidden":!0}),(0,J.jsx)(`p`,{className:`leading-relaxed`,children:n.detailDisabledNotice})]}),(0,J.jsx)(Pe,{preview:l,sk:n})]}):a===`store`&&m?(0,J.jsx)(Pe,{preview:m,sk:n}):(0,J.jsx)(`p`,{className:`text-sm text-red-600 dark:text-red-400`,children:n.detailLoadFailed})}),t[24]=l,t[25]=b,t[26]=_,t[27]=g,t[28]=m,t[29]=a,t[30]=n,t[31]=ue):ue=t[31];let de;t[32]!==T||t[33]!==a||t[34]!==n.marketplaceOpenExternal||t[35]!==n.marketplaceOpenExternalAria?(de=a===`store`&&T?(0,J.jsxs)(`a`,{href:T,target:`_blank`,rel:`noopener noreferrer`,className:B(`inline-flex h-9 items-center gap-1.5 rounded-lg border border-edge bg-surface-panel px-3 text-sm font-medium text-fg-muted`,`hover:bg-surface-hover hover:text-fg dark:border-edge`,F.focusRingPanel),"aria-label":n.marketplaceOpenExternalAria,title:n.marketplaceOpenExternal,children:[(0,J.jsx)(A,{className:`size-4`,strokeWidth:1.75,"aria-hidden":!0}),(0,J.jsx)(`span`,{children:n.marketplaceOpenExternal})]}):null,t[32]=T,t[33]=a,t[34]=n.marketplaceOpenExternal,t[35]=n.marketplaceOpenExternalAria,t[36]=de):de=t[36];let fe;t[37]!==x||t[38]!==w||t[39]!==a||t[40]!==I||t[41]!==te||t[42]!==n.delete?(fe=a===`catalog`&&w&&x?(0,J.jsxs)(M,{type:`button`,variant:`ghost`,className:`gap-1.5 text-red-600 hover:bg-red-50 hover:text-red-700 dark:text-red-400 dark:hover:bg-red-950/40 dark:hover:text-red-300`,onClick:()=>{I(x),te(!0)},children:[(0,J.jsx)(d,{className:`size-4`,strokeWidth:1.75,"aria-hidden":!0}),n.delete]}):null,t[37]=x,t[38]=w,t[39]=a,t[40]=I,t[41]=te,t[42]=n.delete,t[43]=fe):fe=t[43];let pe;t[44]!==de||t[45]!==fe?(pe=(0,J.jsxs)(`div`,{className:`flex items-center gap-2`,children:[de,fe]}),t[44]=de,t[45]=fe,t[46]=pe):pe=t[46];let Y;t[47]!==b||t[48]!==g||t[49]!==a||t[50]!==s||t[51]!==D||t[52]!==k||t[53]!==ee||t[54]!==P||t[55]!==j||t[56]!==i||t[57]!==n.cancel||t[58]!==n.detailModalDisable||t[59]!==n.detailModalEnable||t[60]!==n.marketplaceInstall||t[61]!==n.marketplaceReinstall||t[62]!==n.previewUseInChat||t[63]!==n.previewUseInChatBusy||t[64]!==n.uploading||t[65]!==n.useRequiresEnabled||t[66]!==O||t[67]!==E?(Y=(0,J.jsx)(`div`,{className:`flex items-center gap-2`,children:a===`store`?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(M,{type:`button`,variant:`ghost`,onClick:()=>i(!1),children:n.cancel}),(0,J.jsx)(M,{type:`button`,variant:`secondary`,disabled:!s||g||E===s||D===s,onClick:()=>void j(),children:E===s?n.previewUseInChatBusy:n.previewUseInChat}),(0,J.jsx)(M,{type:`button`,variant:k(s)?`secondary`:`primary`,disabled:!s||D===s,onClick:()=>{s&&ee(s,{useDetailProvider:!0})},children:D===s?n.uploading:k(s)?n.marketplaceReinstall:n.marketplaceInstall})]}):(0,J.jsxs)(J.Fragment,{children:[b?(0,J.jsx)(M,{type:`button`,variant:`secondary`,disabled:!s||O===s,onClick:()=>{s&&P(s,!1)},children:O===s?n.uploading:n.detailModalDisable}):(0,J.jsx)(M,{type:`button`,variant:`primary`,disabled:!s||O===s,onClick:()=>{s&&P(s,!0)},children:O===s?n.uploading:n.detailModalEnable}),(0,J.jsx)(M,{type:`button`,variant:`secondary`,disabled:!s||!b||g||E===s||O===s,title:b?void 0:n.useRequiresEnabled,onClick:()=>void j(),children:E===s?n.previewUseInChatBusy:n.previewUseInChat})]})}),t[47]=b,t[48]=g,t[49]=a,t[50]=s,t[51]=D,t[52]=k,t[53]=ee,t[54]=P,t[55]=j,t[56]=i,t[57]=n.cancel,t[58]=n.detailModalDisable,t[59]=n.detailModalEnable,t[60]=n.marketplaceInstall,t[61]=n.marketplaceReinstall,t[62]=n.previewUseInChat,t[63]=n.previewUseInChatBusy,t[64]=n.uploading,t[65]=n.useRequiresEnabled,t[66]=O,t[67]=E,t[68]=Y):Y=t[68];let X;t[69]!==pe||t[70]!==Y?(X=(0,J.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between gap-2 border-t border-edge px-4 py-3`,children:[pe,Y]}),t[69]=pe,t[70]=Y,t[71]=X):X=t[71];let Z;t[72]!==se||t[73]!==q||t[74]!==ue||t[75]!==X?(Z=(0,J.jsxs)(R,{children:[ne,(0,J.jsxs)(f,{className:V,children:[se,q,ue,X]})]}),t[72]=se,t[73]=q,t[74]=ue,t[75]=X,t[76]=Z):Z=t[76];let he;return t[77]!==r||t[78]!==z||t[79]!==Z?(he=(0,J.jsx)(u,{open:r,onOpenChange:z,children:Z}),t[77]=r,t[78]=z,t[79]=Z,t[80]=he):he=t[80],he}function Be(e){return(0,J.jsx)(`div`,{className:B(`h-4 animate-pulse rounded-md bg-surface-hover dark:bg-surface-active/50`,e.width)},e.id)}function Ve(e){let t=(0,K.c)(67),{sk:n,installOpen:r,setInstallOpen:i,pendingFile:a,setPendingFile:o,dropActive:s,setDropActive:c,uploading:l,onModalDragOver:d,onModalDragLeave:p,onModalDrop:m,onFileInputChange:h,onInstallSubmit:g}=e,_;t[0]!==c||t[1]!==i||t[2]!==o?(_=e=>{i(e),e||(o(null),c(!1))},t[0]=c,t[1]=i,t[2]=o,t[3]=_):_=t[3];let v;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,J.jsx)(y,{className:`xopc-dialog-overlay fixed inset-0 z-[60] bg-scrim`}),t[4]=v):v=t[4];let b;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(b=B(`xopc-dialog-content fixed left-1/2 top-1/2 z-[60] max-h-[min(100vh-2rem,44rem)] w-[min(100%-2rem,min(92vw,48rem))] -translate-x-1/2 -translate-y-1/2 overflow-y-auto`,`rounded-2xl border border-edge bg-surface-panel p-6 shadow-float dark:border-edge`),t[5]=b):b=t[5];let x;t[6]===n.installModalTitle?x=t[7]:(x=(0,J.jsx)(L,{className:`text-base font-semibold text-fg`,children:n.installModalTitle}),t[6]=n.installModalTitle,t[7]=x);let S;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(S=B(`rounded-lg p-1.5 text-fg-muted hover:bg-surface-hover hover:text-fg`,F.focusRingPanel),t[8]=S):S=t[8];let w;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,J.jsx)(N,{className:`size-5`,strokeWidth:1.75,"aria-hidden":!0}),t[9]=w):w=t[9];let T;t[10]===n.installClose?T=t[11]:(T=(0,J.jsx)(`span`,{className:`sr-only`,children:n.installClose}),t[10]=n.installClose,t[11]=T);let E;t[12]!==n.installClose||t[13]!==T?(E=(0,J.jsx)(C,{asChild:!0,children:(0,J.jsxs)(`button`,{type:`button`,className:S,"aria-label":n.installClose,children:[w,T]})}),t[12]=n.installClose,t[13]=T,t[14]=E):E=t[14];let D;t[15]!==x||t[16]!==E?(D=(0,J.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[x,E]}),t[15]=x,t[16]=E,t[17]=D):D=t[17];let O=s?`border-accent bg-accent-soft/60 dark:bg-blue-950/40`:`border-edge bg-surface-base dark:bg-surface-hover/30`,k;t[18]===O?k=t[19]:(k=B(`mt-4 flex min-h-[11rem] cursor-pointer flex-col items-center justify-center gap-3 rounded-xl border-2 border-dashed px-6 py-12 text-center transition-colors`,O),t[18]=O,t[19]=k);let A;t[20]!==h||t[21]!==n.installModalDropHint||t[22]!==l?(A=(0,J.jsx)(`input`,{type:`file`,accept:`.zip,.md,application/zip,text/markdown`,className:`sr-only`,"aria-label":n.installModalDropHint,disabled:l,onChange:h}),t[20]=h,t[21]=n.installModalDropHint,t[22]=l,t[23]=A):A=t[23];let j;t[24]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,J.jsx)(te,{className:`size-12 text-fg-subtle`,strokeWidth:1.25,"aria-hidden":!0}),t[24]=j):j=t[24];let ee;t[25]===n.installModalDropHint?ee=t[26]:(ee=(0,J.jsx)(`span`,{className:`text-sm text-fg-muted`,children:n.installModalDropHint}),t[25]=n.installModalDropHint,t[26]=ee);let M;t[27]===a?M=t[28]:(M=a?(0,J.jsx)(`span`,{className:`text-xs font-medium text-fg`,children:a.name}):null,t[27]=a,t[28]=M);let P;t[29]!==p||t[30]!==d||t[31]!==m||t[32]!==k||t[33]!==A||t[34]!==ee||t[35]!==M?(P=(0,J.jsxs)(`label`,{className:k,onDragLeave:p,onDragOver:d,onDrop:m,children:[A,j,ee,M]}),t[29]=p,t[30]=d,t[31]=m,t[32]=k,t[33]=A,t[34]=ee,t[35]=M,t[36]=P):P=t[36];let I;t[37]===n.installModalReqTitle?I=t[38]:(I=(0,J.jsx)(`p`,{className:`text-sm font-medium text-fg`,children:n.installModalReqTitle}),t[37]=n.installModalReqTitle,t[38]=I);let z;t[39]===n.installModalReq1?z=t[40]:(z=(0,J.jsx)(`li`,{children:n.installModalReq1}),t[39]=n.installModalReq1,t[40]=z);let ne;t[41]===n.installModalReq2?ne=t[42]:(ne=(0,J.jsx)(`li`,{children:n.installModalReq2}),t[41]=n.installModalReq2,t[42]=ne);let re;t[43]!==z||t[44]!==ne?(re=(0,J.jsxs)(`ul`,{className:`list-inside list-disc space-y-1 text-sm text-fg-muted`,children:[z,ne]}),t[43]=z,t[44]=ne,t[45]=re):re=t[45];let V;t[46]!==I||t[47]!==re?(V=(0,J.jsxs)(`div`,{className:`mt-5 space-y-2`,children:[I,re]}),t[46]=I,t[47]=re,t[48]=V):V=t[48];let ie=!a||l,H=!a||l?`cursor-not-allowed bg-surface-active text-fg-disabled`:`bg-accent text-white hover:bg-accent-hover`,U;t[49]===H?U=t[50]:(U=B(`mt-6 flex w-full items-center justify-center rounded-xl py-3 text-sm font-semibold`,`transition-colors`,H,F.focusRingPanel),t[49]=H,t[50]=U);let W;t[51]===g?W=t[52]:(W=()=>void g(),t[51]=g,t[52]=W);let ae=l?n.uploading:n.installAction,oe;t[53]!==ie||t[54]!==U||t[55]!==W||t[56]!==ae?(oe=(0,J.jsx)(`button`,{type:`button`,disabled:ie,className:U,onClick:W,children:ae}),t[53]=ie,t[54]=U,t[55]=W,t[56]=ae,t[57]=oe):oe=t[57];let G;t[58]!==P||t[59]!==V||t[60]!==oe||t[61]!==D?(G=(0,J.jsxs)(R,{children:[v,(0,J.jsxs)(f,{className:b,children:[D,P,V,oe]})]}),t[58]=P,t[59]=V,t[60]=oe,t[61]=D,t[62]=G):G=t[62];let se;return t[63]!==r||t[64]!==_||t[65]!==G?(se=(0,J.jsx)(u,{open:r,onOpenChange:_,children:G}),t[63]=r,t[64]=_,t[65]=G,t[66]=se):se=t[66],se}function He(e){let t=(0,K.c)(42),{sk:n,mpCategories:r,mpCategoriesLoading:i,mpCategoriesError:a,mpPayload:o,mpLoading:s,mpError:c,marketCategoryId:l,setMarketCategoryId:u,marketPage:d,setMarketPage:f,isSkillInstalledByName:p,openMarketplaceDetail:m,onUseSkillInChat:h,usingSkillInChatName:y,searchInputActive:b,searchQuery:x,setSearchQuery:S,registeredProviders:C,marketBrowseProvider:w,setMarketBrowseProvider:T}=e,E=!b,D;if(t[0]!==p||t[1]!==w||t[2]!==l||t[3]!==d||t[4]!==r||t[5]!==a||t[6]!==i||t[7]!==c||t[8]!==s||t[9]!==o||t[10]!==h||t[11]!==m||t[12]!==C||t[13]!==b||t[14]!==x||t[15]!==T||t[16]!==u||t[17]!==f||t[18]!==S||t[19]!==E||t[20]!==n||t[21]!==y){let e;t[23]===w?e=t[24]:(e=e=>e.id!==w,t[23]=w,t[24]=e);let O=C.filter(e),k=x.trim(),A=(!E||!i&&r.length===0)&&`min-h-0 pb-0 pt-0`,j;t[25]===A?j=t[26]:(j=B(`-mx-1 flex min-h-[2.75rem] items-center gap-2 overflow-x-auto px-1 pb-1 pt-0.5 [scrollbar-width:thin]`,A),t[25]=A,t[26]=j);let ee=E&&(r.length>0||i)?`tablist`:void 0,N=E&&(r.length>0||i)?n.marketplaceCategoriesAria:void 0,P;t[27]!==l||t[28]!==r||t[29]!==i||t[30]!==u||t[31]!==E||t[32]!==n?(P=E?r.length>0?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":l===``,className:B(`shrink-0 rounded-full border px-3 py-1.5 text-xs font-medium transition-colors`,F.focusRingPanel,l===``?`border-fg bg-fg text-surface-panel dark:border-fg dark:bg-fg dark:text-surface-base`:`border-edge bg-surface-panel text-fg-muted hover:border-edge-strong hover:text-fg dark:border-edge dark:bg-surface-hover/40`),onClick:()=>u(``),children:n.marketplaceCategoryAll}),r.map(e=>{let t=l===e.id;return(0,J.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":t,className:B(`max-w-[14rem] shrink-0 truncate rounded-full border px-3 py-1.5 text-xs font-medium transition-colors`,F.focusRingPanel,t?`border-fg bg-fg text-surface-panel dark:border-fg dark:bg-fg dark:text-surface-base`:`border-edge bg-surface-panel text-fg-muted hover:border-edge-strong hover:text-fg dark:border-edge dark:bg-surface-hover/40`),title:e.label,onClick:()=>u(e.id),children:e.label},e.id)})]}):i?(0,J.jsx)(`div`,{className:`flex gap-2 px-1`,"aria-hidden":!0,children:[`p0`,`p1`,`p2`,`p3`,`p4`].map(qe)}):null:null,t[27]=l,t[28]=r,t[29]=i,t[30]=u,t[31]=E,t[32]=n,t[33]=P):P=t[33];let L;t[34]!==j||t[35]!==ee||t[36]!==N||t[37]!==P?(L=(0,J.jsx)(`div`,{className:j,role:ee,"aria-label":N,children:P}),t[34]=j,t[35]=ee,t[36]=N,t[37]=P,t[38]=L):L=t[38];let R;t[39]!==a||t[40]!==E?(R=E&&a?(0,J.jsx)(`p`,{className:`text-xs text-red-600 dark:text-red-400`,role:`alert`,children:a}):null,t[39]=a,t[40]=E,t[41]=R):R=t[41],D=(0,J.jsxs)(J.Fragment,{children:[L,R,!o&&!c?(0,J.jsx)(`div`,{className:`grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3`,"aria-busy":`true`,"aria-label":n.loading,children:ve.map(Ke)}):c&&!o?(0,J.jsx)(`div`,{className:`rounded-xl border border-edge bg-red-50 px-3 py-2 text-sm text-red-700 dark:border-edge dark:bg-red-950/40 dark:text-red-300`,role:`alert`,children:c}):o?(0,J.jsxs)(`div`,{className:`relative`,children:[s?(0,J.jsx)(`div`,{className:`pointer-events-none absolute inset-0 z-[1] flex justify-center bg-surface-panel/40 pt-[min(28vh,7.5rem)] backdrop-blur-[1px] motion-reduce:backdrop-blur-none dark:bg-surface-base/35`,"aria-busy":`true`,"aria-label":n.loading,children:(0,J.jsx)(I,{className:`size-8 shrink-0 animate-spin text-accent motion-reduce:animate-none`,strokeWidth:2,"aria-hidden":!0})}):null,o.items.length===0?(0,J.jsxs)(`div`,{className:`flex flex-col items-center gap-3 rounded-2xl border border-dashed border-edge py-12 text-center text-sm text-fg-muted`,children:[(0,J.jsx)(`p`,{className:`px-4`,children:b&&k?ke(n.marketplaceEmptySearch,{query:k}):n.marketplaceEmpty}),b?(0,J.jsxs)(`div`,{className:`flex flex-wrap items-center justify-center gap-2`,children:[O.map(e=>(0,J.jsx)(M,{type:`button`,variant:`secondary`,className:`h-8 px-3 text-xs`,onClick:()=>T(e.id),children:ke(n.marketplaceEmptySearchTryProvider,{provider:e.displayName})},e.id)),(0,J.jsx)(M,{type:`button`,variant:`ghost`,className:`h-8 px-3 text-xs`,onClick:()=>S(``),children:n.marketplaceEmptySearchClear})]}):null]}):(0,J.jsx)(`div`,{className:B(`grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3`,s&&`pointer-events-none opacity-[0.52] motion-reduce:opacity-100`),children:o.items.map(e=>{let t=Oe(e,e.providerId??w),r=p(t);return(0,J.jsx)(`article`,{className:B(`group flex h-full flex-col rounded-xl border border-edge-subtle bg-surface-base p-4`,`transition-colors hover:border-accent/40 hover:bg-surface-hover`,`dark:border-edge-subtle`),children:(0,J.jsx)(`div`,{role:`button`,tabIndex:0,className:B(`flex min-h-0 flex-1 cursor-pointer flex-col rounded-lg text-left outline-none`,F.focusRingPanel),"aria-labelledby":`mp-skill-title-${e.id}`,onClick:n=>{n.target.closest(`button`)||m(t,e.name,e.providerId??void 0)},onKeyDown:n=>{n.target.closest(`button`)||(n.key===`Enter`||n.key===` `)&&(n.preventDefault(),m(t,e.name,e.providerId??void 0))},children:(0,J.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,J.jsx)(me,{name:e.id}),(0,J.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-2`,children:[(0,J.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[(0,J.jsx)(`h3`,{id:`mp-skill-title-${e.id}`,className:`min-w-0 flex-1 text-[15px] font-semibold leading-snug tracking-tight text-fg`,children:(0,J.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1.5`,children:[(0,J.jsx)(`span`,{className:`truncate`,children:e.name}),r?null:(0,J.jsx)(`span`,{className:`shrink-0 text-[10px] font-normal leading-none text-fg-subtle`,children:n.marketplaceNotInstalled})]})}),(0,J.jsx)(`div`,{role:`group`,className:`flex shrink-0 items-center gap-1`,onClick:Ge,onKeyDown:$,children:(0,J.jsx)(M,{type:`button`,variant:`secondary`,className:`h-8 shrink-0 whitespace-nowrap px-2.5 text-xs font-medium`,disabled:s||y===t,onClick:()=>void h({name:t,source:`store`,providerOverride:e.providerId??null}),children:y===t?n.previewUseInChatBusy:n.previewUseInChat})})]}),(()=>{let t=[],n=(e,n)=>{if(!e||t.some(t=>t.id===e))return;let r=C.find(t=>t.id===e)?.displayName??n??e;t.push({id:e,label:r})};n(e.providerId,e.sourceLabel);for(let t of e.additionalSources??[])n(t.providerId,t.sourceLabel);return t.length===0&&e.sourceLabel&&t.push({id:e.sourceLabel,label:e.sourceLabel}),t.length===0?null:(0,J.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:t.map(We)})})(),(0,J.jsx)(`p`,{className:`line-clamp-2 text-sm leading-relaxed text-fg-muted`,title:e.description?e.description:void 0,children:e.description||`—`}),(0,J.jsxs)(`div`,{className:`mt-auto min-h-[2.625rem] space-y-1 text-[11px] leading-snug text-fg-muted`,children:[(0,J.jsxs)(`p`,{className:`line-clamp-1`,title:`${n.marketplaceAuthor}: ${e.author.username} · ${n.marketplaceDownloads}: ${e.downloads}${e.stars!=null&&e.stars>0?` · ★${e.stars}`:``}${r?` · ${n.marketplaceInstalled}`:``}`,children:[(0,J.jsx)(`span`,{className:`text-fg-subtle`,children:n.marketplaceAuthor}),` `,(0,J.jsx)(`span`,{className:`text-fg`,children:e.author.username}),(0,J.jsx)(`span`,{className:`text-fg-subtle`,children:` · `}),(0,J.jsxs)(`span`,{children:[n.marketplaceDownloads,`: `,e.downloads]}),e.stars!=null&&e.stars>0?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`span`,{className:`text-fg-subtle`,children:` · `}),(0,J.jsxs)(`span`,{className:`inline-flex items-center gap-0.5 text-fg-muted`,children:[(0,J.jsx)(g,{className:`size-3 shrink-0 text-amber-600 dark:text-amber-400`,strokeWidth:2,"aria-hidden":!0}),e.stars]})]}):null,r?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`span`,{className:`text-fg-subtle`,children:` · `}),(0,J.jsx)(`span`,{className:`text-emerald-700 dark:text-emerald-400`,children:n.marketplaceInstalled})]}):null]}),e.latestVersion?(0,J.jsxs)(`p`,{className:`line-clamp-1 min-h-[1.125rem] font-mono text-[10px] text-fg-subtle`,title:`${n.marketplaceVersion}: ${e.latestVersion}`,children:[n.marketplaceVersion,`: `,e.latestVersion]}):null]})]})]})})},e.id)})}),o.items.length>0?(0,J.jsxs)(`div`,{className:`mt-3 flex flex-col items-center justify-between gap-3 sm:flex-row`,children:[(0,J.jsx)(`p`,{className:`text-center text-xs text-fg-muted sm:text-left`,children:ke(n.marketplacePageStatus,{page:o.meta.page,totalPages:o.meta.totalPages,total:o.meta.total})}),(0,J.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,J.jsxs)(M,{type:`button`,variant:`ghost`,className:`h-9 gap-1 px-2`,disabled:s||d<=1,"aria-label":n.marketplacePagePrev,onClick:()=>f(Ue),children:[(0,J.jsx)(v,{className:`size-4`,strokeWidth:1.75,"aria-hidden":!0}),(0,J.jsx)(`span`,{className:`sr-only sm:not-sr-only`,children:n.marketplacePagePrev})]}),(0,J.jsxs)(M,{type:`button`,variant:`ghost`,className:`h-9 gap-1 px-2`,disabled:s||d>=o.meta.totalPages,"aria-label":n.marketplacePageNext,onClick:()=>f(e=>Math.min(o.meta.totalPages,e+1)),children:[(0,J.jsx)(`span`,{className:`sr-only sm:not-sr-only`,children:n.marketplacePageNext}),(0,J.jsx)(_,{className:`size-4`,strokeWidth:1.75,"aria-hidden":!0})]})]})]}):null]}):null]}),t[0]=p,t[1]=w,t[2]=l,t[3]=d,t[4]=r,t[5]=a,t[6]=i,t[7]=c,t[8]=s,t[9]=o,t[10]=h,t[11]=m,t[12]=C,t[13]=b,t[14]=x,t[15]=T,t[16]=u,t[17]=f,t[18]=S,t[19]=E,t[20]=n,t[21]=y,t[22]=D}else D=t[22];return D}function Ue(e){return Math.max(1,e-1)}function We(e){return(0,J.jsx)(`span`,{className:`inline-flex items-center rounded-full border border-edge-subtle bg-surface-panel px-2 py-0.5 text-[10px] font-medium leading-none text-fg-muted dark:bg-surface-hover/40`,children:e.label},e.id)}function $(e){return e.stopPropagation()}function Ge(e){return e.stopPropagation()}function Ke(e){return(0,J.jsx)(X,{},e)}function qe(e){return(0,J.jsx)(`div`,{className:`h-8 w-[4.5rem] shrink-0 animate-pulse rounded-full bg-surface-hover motion-reduce:animate-none dark:bg-surface-active/50`},e)}function Je(e){let t=(0,K.c)(131),{vm:n}=e,{sk:r,hasToken:i,error:a,actionFeedback:o,mainTab:s,setMainTab:c,setSourceFilter:l,builtinTabStats:u,userTabStats:d,catalogDisabledCount:f,catalogStatusFilter:p,setCatalogStatusFilter:m,marketSort:h,setMarketSort:g,marketBrowseProvider:_,setMarketBrowseProvider:v,registeredProviders:y,filterLabel:x,inSettingsShell:S,searchInputActive:C,resultTab:w,setResultTab:T,aggregatedTabCounts:E,aggregatedProviderStatus:D}=n;if(!i){let e;t[0]===n?e=t[1]:(e=(0,J.jsx)(Ze,{vm:n}),t[0]=n,t[1]=e);let i;t[2]===r.needToken?i=t[3]:(i=(0,J.jsx)(`div`,{className:`mx-auto w-full max-w-app-main px-4 py-16 text-center text-sm text-fg-muted sm:px-8`,children:r.needToken}),t[2]=r.needToken,t[3]=i);let a;return t[4]!==e||t[5]!==i?(a=(0,J.jsxs)(J.Fragment,{children:[e,i]}),t[4]=e,t[5]=i,t[6]=a):a=t[6],a}let O;t[7]===n?O=t[8]:(O=(0,J.jsx)(Ze,{vm:n}),t[7]=n,t[8]=O);let A;t[9]!==o||t[10]!==a?(A=o?(0,J.jsx)(`div`,{role:`status`,"aria-live":`polite`,className:B(`rounded-xl border px-3 py-2 text-sm`,o.kind===`success`?`border-emerald-200 bg-emerald-50 text-emerald-800 dark:border-emerald-900/40 dark:bg-emerald-950/40 dark:text-emerald-200`:`border-red-200 bg-red-50 text-red-800 dark:border-red-900/50 dark:bg-red-950/40 dark:text-red-200`),children:o.message}):a?(0,J.jsx)(`div`,{className:`rounded-xl border border-edge bg-red-50 px-3 py-2 text-sm text-red-700 dark:border-edge dark:bg-red-950/40 dark:text-red-300`,role:`alert`,children:a}):null,t[9]=o,t[10]=a,t[11]=A):A=t[11];let j;t[12]!==S||t[13]!==n.loading||t[14]!==n.mainTab||t[15]!==n.onReloadClick||t[16]!==n.searchQuery||t[17]!==n.setInstallOpen||t[18]!==n.setPendingFile||t[19]!==n.setSearchQuery||t[20]!==n.sk?(j=S?(0,J.jsx)(`div`,{className:`flex flex-col gap-3 border-b border-edge-subtle pb-4 dark:border-edge-subtle sm:flex-row sm:flex-wrap sm:items-center sm:justify-end`,children:(0,J.jsx)(ue,{loading:n.loading,onReloadClick:n.onReloadClick,searchQuery:n.searchQuery,setSearchQuery:n.setSearchQuery,mainTab:n.mainTab,sk:n.sk,setPendingFile:n.setPendingFile,setInstallOpen:n.setInstallOpen})}):null,t[12]=S,t[13]=n.loading,t[14]=n.mainTab,t[15]=n.onReloadClick,t[16]=n.searchQuery,t[17]=n.setInstallOpen,t[18]=n.setPendingFile,t[19]=n.setSearchQuery,t[20]=n.sk,t[21]=j):j=t[21];let ee=r.skillsNavAria,M=s===`marketplace`,N=s===`marketplace`?`text-fg`:`text-fg-muted hover:text-fg`,P=s===`marketplace`&&`after:absolute after:bottom-0 after:left-1/2 after:h-0.5 after:w-9 after:-translate-x-1/2 after:rounded-full after:bg-accent`,I;t[22]!==N||t[23]!==P?(I=B(`relative max-w-full rounded-md px-3 py-2 text-left text-sm font-medium transition-colors sm:text-center`,N,P),t[22]=N,t[23]=P,t[24]=I):I=t[24];let L;t[25]===c?L=t[26]:(L=()=>c(`marketplace`),t[25]=c,t[26]=L);let R;t[27]!==r.tabMarketplace||t[28]!==M||t[29]!==I||t[30]!==L?(R=(0,J.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":M,className:I,onClick:L,children:r.tabMarketplace}),t[27]=r.tabMarketplace,t[28]=M,t[29]=I,t[30]=L,t[31]=R):R=t[31];let te=s===`builtin`,z=s===`builtin`?`text-fg`:`text-fg-muted hover:text-fg`,ne=s===`builtin`&&`after:absolute after:bottom-0 after:left-1/2 after:h-0.5 after:w-9 after:-translate-x-1/2 after:rounded-full after:bg-accent`,re;t[32]!==z||t[33]!==ne?(re=B(`relative rounded-md px-3 py-2 text-sm font-medium transition-colors`,z,ne),t[32]=z,t[33]=ne,t[34]=re):re=t[34];let V;t[35]===c?V=t[36]:(V=()=>c(`builtin`),t[35]=c,t[36]=V);let ie;t[37]!==u.enabled||t[38]!==u.total?(ie=(0,J.jsxs)(`span`,{className:`ml-1 tabular-nums text-fg-muted`,children:[`(`,u.enabled,`/`,u.total,`)`]}),t[37]=u.enabled,t[38]=u.total,t[39]=ie):ie=t[39];let H;t[40]!==r.tabBuiltin||t[41]!==te||t[42]!==re||t[43]!==V||t[44]!==ie?(H=(0,J.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":te,className:re,onClick:V,children:[r.tabBuiltin,ie]}),t[40]=r.tabBuiltin,t[41]=te,t[42]=re,t[43]=V,t[44]=ie,t[45]=H):H=t[45];let U=s===`user`,W=s===`user`?`text-fg`:`text-fg-muted hover:text-fg`,ae=s===`user`&&`after:absolute after:bottom-0 after:left-1/2 after:h-0.5 after:w-9 after:-translate-x-1/2 after:rounded-full after:bg-accent`,q;t[46]!==W||t[47]!==ae?(q=B(`relative rounded-md px-3 py-2 text-sm font-medium transition-colors`,W,ae),t[46]=W,t[47]=ae,t[48]=q):q=t[48];let de;t[49]===c?de=t[50]:(de=()=>c(`user`),t[49]=c,t[50]=de);let fe;t[51]!==d.enabled||t[52]!==d.total?(fe=(0,J.jsxs)(`span`,{className:`ml-1 tabular-nums text-fg-muted`,children:[`(`,d.enabled,`/`,d.total,`)`]}),t[51]=d.enabled,t[52]=d.total,t[53]=fe):fe=t[53];let pe;t[54]!==r.tabUser||t[55]!==U||t[56]!==q||t[57]!==de||t[58]!==fe?(pe=(0,J.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":U,className:q,onClick:de,children:[r.tabUser,fe]}),t[54]=r.tabUser,t[55]=U,t[56]=q,t[57]=de,t[58]=fe,t[59]=pe):pe=t[59];let me;t[60]!==r.skillsNavAria||t[61]!==R||t[62]!==H||t[63]!==pe?(me=(0,J.jsxs)(`div`,{className:`flex flex-wrap gap-x-1 gap-y-1`,role:`tablist`,"aria-label":ee,children:[R,H,pe]}),t[60]=r.skillsNavAria,t[61]=R,t[62]=H,t[63]=pe,t[64]=me):me=t[64];let Y=s===`user`?`flex-nowrap overflow-x-auto pb-0.5 sm:justify-end`:`flex-wrap sm:justify-end`,X;t[65]===Y?X=t[66]:(X=B(`flex min-h-9 min-w-0 items-center gap-2`,Y),t[65]=Y,t[66]=X);let Z;t[67]!==x||t[68]!==s||t[69]!==l||t[70]!==r.filterAll||t[71]!==r.filterExtra||t[72]!==r.filterGlobal||t[73]!==r.filterWorkspace?(Z=s===`user`?(0,J.jsxs)(oe,{children:[(0,J.jsx)(se,{asChild:!0,children:(0,J.jsxs)(`button`,{type:`button`,className:B(`inline-flex h-9 min-h-9 min-w-[9rem] shrink-0 items-center gap-1.5 rounded-lg border border-edge bg-surface-panel px-2.5 text-xs font-medium text-fg shadow-surface`,F.transition,F.focusRingPanel),children:[(0,J.jsx)(k,{className:`size-3.5 text-fg-muted`,strokeWidth:1.75,"aria-hidden":!0}),(0,J.jsx)(`span`,{children:x}),(0,J.jsx)(b,{className:`size-3.5 text-fg-subtle`,strokeWidth:1.75,"aria-hidden":!0})]})}),(0,J.jsx)(ce,{children:(0,J.jsx)(le,{className:`z-50 min-w-[10rem] rounded-xl border border-edge bg-surface-panel p-1 shadow-popover dark:border-edge`,sideOffset:6,align:`end`,children:[`all`,`global`,`workspace`,`extra`].map(e=>(0,J.jsx)(G,{className:B(`cursor-pointer rounded-lg px-3 py-2 text-sm text-fg outline-none`,`hover:bg-surface-hover data-[highlighted]:bg-surface-hover`),onSelect:()=>l(e),children:e===`all`?r.filterAll:e===`global`?r.filterGlobal:e===`workspace`?r.filterWorkspace:r.filterExtra},e))})})]}):null,t[67]=x,t[68]=s,t[69]=l,t[70]=r.filterAll,t[71]=r.filterExtra,t[72]=r.filterGlobal,t[73]=r.filterWorkspace,t[74]=Z):Z=t[74];let he;t[75]!==D||t[76]!==E||t[77]!==s||t[78]!==_||t[79]!==h||t[80]!==y||t[81]!==w||t[82]!==C||t[83]!==v||t[84]!==g||t[85]!==T||t[86]!==r.marketplaceBrowseSwitchAria||t[87]!==r.marketplaceLoadFailed||t[88]!==r.marketplaceResultsTabAll||t[89]!==r.marketplaceResultsTabsAria||t[90]!==r.marketplaceSortDownloads||t[91]!==r.marketplaceSortNewest?(he=s===`marketplace`?C?(0,J.jsx)(`div`,{className:`inline-flex h-9 shrink-0 rounded-lg border border-edge bg-surface-panel p-0.5 shadow-surface`,role:`tablist`,"aria-label":r.marketplaceResultsTabsAria,children:[`all`,...y.map(Xe)].map(e=>{let t=w===e,n=e===`all`?r.marketplaceResultsTabAll:y.find(t=>t.id===e)?.displayName??e,i=E[e]??0,a=e===`all`?null:D[e];return(0,J.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":t,className:B(`inline-flex items-center gap-1 rounded-md px-2.5 py-1.5 text-xs font-medium transition-colors`,F.focusRingPanel,t?`bg-fg text-surface-panel dark:bg-fg dark:text-surface-base`:`text-fg-muted hover:text-fg`),onClick:()=>T(e),title:a===`error`?`${n} · ${r.marketplaceLoadFailed}`:void 0,children:[(0,J.jsx)(`span`,{children:n}),a===`loading`?(0,J.jsx)(`span`,{className:B(`inline-block size-1.5 animate-pulse rounded-full motion-reduce:animate-none`,t?`bg-surface-panel/70`:`bg-fg-muted/60`),"aria-hidden":!0}):a===`error`?(0,J.jsx)(`span`,{className:`inline-block size-1.5 rounded-full bg-red-500`,"aria-hidden":!0}):(0,J.jsx)(`span`,{className:`tabular-nums opacity-70`,children:i})]},e)})}):(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`div`,{className:`inline-flex h-9 shrink-0 rounded-lg border border-edge bg-surface-panel p-0.5 shadow-surface`,role:`group`,"aria-label":r.marketplaceBrowseSwitchAria,children:y.map(e=>{let t=_===e.id;return(0,J.jsx)(`button`,{type:`button`,className:B(`rounded-md px-2.5 py-1.5 text-xs font-medium transition-colors`,F.focusRingPanel,t?`bg-fg text-surface-panel dark:bg-fg dark:text-surface-base`:`text-fg-muted hover:text-fg`),"aria-pressed":t,onClick:()=>v(e.id),children:e.displayName},e.id)})}),(0,J.jsxs)(oe,{children:[(0,J.jsx)(se,{asChild:!0,children:(0,J.jsxs)(`button`,{type:`button`,className:B(`inline-flex h-9 min-h-9 min-w-[9rem] shrink-0 items-center gap-1.5 rounded-lg border border-edge bg-surface-panel px-2.5 text-xs font-medium text-fg shadow-surface`,F.transition,F.focusRingPanel),children:[(0,J.jsx)(k,{className:`size-3.5 text-fg-muted`,strokeWidth:1.75,"aria-hidden":!0}),(0,J.jsx)(`span`,{children:h===`newest`?r.marketplaceSortNewest:r.marketplaceSortDownloads}),(0,J.jsx)(b,{className:`size-3.5 text-fg-subtle`,strokeWidth:1.75,"aria-hidden":!0})]})}),(0,J.jsx)(ce,{children:(0,J.jsxs)(le,{className:`z-50 min-w-[10rem] rounded-xl border border-edge bg-surface-panel p-1 shadow-popover dark:border-edge`,sideOffset:6,align:`end`,children:[(0,J.jsx)(G,{className:B(`cursor-pointer rounded-lg px-3 py-2 text-sm text-fg outline-none`,`hover:bg-surface-hover data-[highlighted]:bg-surface-hover`),onSelect:()=>g(`downloads`),children:r.marketplaceSortDownloads}),(0,J.jsx)(G,{className:B(`cursor-pointer rounded-lg px-3 py-2 text-sm text-fg outline-none`,`hover:bg-surface-hover data-[highlighted]:bg-surface-hover`),onSelect:()=>g(`newest`),children:r.marketplaceSortNewest})]})})]})]}):null,t[75]=D,t[76]=E,t[77]=s,t[78]=_,t[79]=h,t[80]=y,t[81]=w,t[82]=C,t[83]=v,t[84]=g,t[85]=T,t[86]=r.marketplaceBrowseSwitchAria,t[87]=r.marketplaceLoadFailed,t[88]=r.marketplaceResultsTabAll,t[89]=r.marketplaceResultsTabsAria,t[90]=r.marketplaceSortDownloads,t[91]=r.marketplaceSortNewest,t[92]=he):he=t[92];let ge;t[93]!==f||t[94]!==p||t[95]!==s||t[96]!==m||t[97]!==r.filterAll||t[98]!==r.filterDisabledOnly||t[99]!==r.filterDisabledOnlyAria?(ge=s!==`marketplace`&&f>0?(0,J.jsx)(`button`,{type:`button`,className:B(`inline-flex h-9 shrink-0 items-center rounded-lg border px-2.5 text-xs font-medium transition-colors`,F.focusRingPanel,p===`disabled`?`border-fg bg-fg text-surface-panel dark:border-fg dark:bg-fg dark:text-surface-base`:`border-amber-300/80 bg-amber-50/90 text-amber-950 hover:border-amber-400 dark:border-amber-700/60 dark:bg-amber-950/40 dark:text-amber-100`),"aria-pressed":p===`disabled`,"aria-label":r.filterDisabledOnlyAria,onClick:()=>m(Ye),children:p===`disabled`?r.filterAll:ke(r.filterDisabledOnly,{count:f})}):s===`builtin`?(0,J.jsx)(`div`,{className:`h-9 min-w-[9rem] shrink-0`,"aria-hidden":!0}):null,t[93]=f,t[94]=p,t[95]=s,t[96]=m,t[97]=r.filterAll,t[98]=r.filterDisabledOnly,t[99]=r.filterDisabledOnlyAria,t[100]=ge):ge=t[100];let _e;t[101]!==X||t[102]!==Z||t[103]!==he||t[104]!==ge?(_e=(0,J.jsxs)(`div`,{className:X,children:[Z,he,ge]}),t[101]=X,t[102]=Z,t[103]=he,t[104]=ge,t[105]=_e):_e=t[105];let ve;t[106]!==me||t[107]!==_e?(ve=(0,J.jsxs)(`div`,{className:`flex flex-col gap-3 border-b border-edge-subtle pb-3 sm:flex-row sm:items-center sm:justify-between dark:border-edge-subtle`,children:[me,_e]}),t[106]=me,t[107]=_e,t[108]=ve):ve=t[108];let ye;t[109]!==s||t[110]!==n?(ye=s===`marketplace`?(0,J.jsx)(He,{...n}):(0,J.jsx)(be,{...n}),t[109]=s,t[110]=n,t[111]=ye):ye=t[111];let xe;t[112]!==ve||t[113]!==ye?(xe=(0,J.jsxs)(`section`,{className:`flex flex-col gap-4`,children:[ve,ye]}),t[112]=ve,t[113]=ye,t[114]=xe):xe=t[114];let Se;t[115]!==A||t[116]!==j||t[117]!==xe?(Se=(0,J.jsxs)(`div`,{className:`mx-auto flex w-full max-w-app-main flex-col gap-6 px-4 py-6 sm:px-8`,children:[A,j,xe]}),t[115]=A,t[116]=j,t[117]=xe,t[118]=Se):Se=t[118];let Ce,Q,we;t[119]===n?(Ce=t[120],Q=t[121],we=t[122]):(Ce=(0,J.jsx)(ze,{...n}),Q=(0,J.jsx)(Ve,{...n}),we=(0,J.jsx)(Me,{...n}),t[119]=n,t[120]=Ce,t[121]=Q,t[122]=we);let Te;t[123]!==Se||t[124]!==Ce||t[125]!==Q||t[126]!==we?(Te=(0,J.jsxs)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col bg-surface-panel`,children:[Se,Ce,Q,we]}),t[123]=Se,t[124]=Ce,t[125]=Q,t[126]=we,t[127]=Te):Te=t[127];let Ee;return t[128]!==O||t[129]!==Te?(Ee=(0,J.jsxs)(J.Fragment,{children:[O,Te]}),t[128]=O,t[129]=Te,t[130]=Ee):Ee=t[130],Ee}function Ye(e){return e===`disabled`?`all`:`disabled`}function Xe(e){return e.id}function Ze(e){let t=(0,K.c)(17),{vm:n}=e,{sk:r,hasToken:i,loading:a,onReloadClick:o,searchQuery:s,setSearchQuery:c,mainTab:l,setPendingFile:u,setInstallOpen:d,inSettingsShell:f}=n,p=w($e),m=w(Qe),h;t[0]!==a||t[1]!==l||t[2]!==o||t[3]!==s||t[4]!==d||t[5]!==u||t[6]!==c||t[7]!==r?(h=(0,J.jsx)(ue,{loading:a,onReloadClick:o,searchQuery:s,setSearchQuery:c,mainTab:l,sk:r,setPendingFile:u,setInstallOpen:d}),t[0]=a,t[1]=l,t[2]=o,t[3]=s,t[4]=d,t[5]=u,t[6]=c,t[7]=r,t[8]=h):h=t[8];let g=h,_,v;return t[9]!==m||t[10]!==i||t[11]!==f||t[12]!==p||t[13]!==r.title||t[14]!==g?(_=()=>!i||f?(m(),()=>m()):(p({startExtra:null,main:(0,J.jsx)(`div`,{className:`min-w-0`,children:(0,J.jsx)(`h1`,{className:`truncate text-base font-semibold tracking-tight text-fg`,children:r.title})}),end:g}),()=>m()),v=[m,i,f,p,g,r.title],t[9]=m,t[10]=i,t[11]=f,t[12]=p,t[13]=r.title,t[14]=g,t[15]=_,t[16]=v):(_=t[15],v=t[16]),(0,q.useLayoutEffect)(_,v),null}function Qe(e){return e.clearPageHeader}function $e(e){return e.setPageHeader}async function et(t){let n=t.name.toLowerCase();if(n.endsWith(`.zip`))return t;if(n.endsWith(`skill.md`)){let n=(await o(async()=>{let{default:t}=await import(`./jszip.min-DT31yWkU.js`).then(t=>e(t.default,1));return{default:t}},__vite__mapDeps([0,1]))).default,r=new n;r.file(`SKILL.md`,await t.arrayBuffer());let i=await r.generateAsync({type:`blob`,compression:`DEFLATE`}),a=t.name.replace(/\.md$/i,``).replace(/\s+/g,`-`)||`skill`;return new File([i],`${a}.zip`,{type:`application/zip`})}throw Error(`invalid`)}function tt(){let e=a(i(e=>e.language)).skills,t=!!s(e=>e.token),n=ee(),[r,o]=ne(),u=r.get(`mprov`)?.trim()||null,[d,f]=(0,q.useState)(!1),[g,_]=(0,q.useState)(null),[v,y]=(0,q.useState)(!1),b=r.get(`q`)??``,S=r.get(`tab`),C=r.get(`source`),w=he.has(S)?S:`marketplace`,D=ge.has(C)?C:`all`,[k,A]=(0,q.useState)(b),[M]=p(k,250),N=M.trim(),P=k.trim().length>0,F=N.length>0,[I,L]=(0,q.useState)(null),[R,te]=(0,q.useState)(w),[B,re]=(0,q.useState)(D),[U,ae]=(0,q.useState)(``),[oe,G]=(0,q.useState)(`all`),[se,ce]=(0,q.useState)(!1),[le,K]=(0,q.useState)(null),[J,ue]=(0,q.useState)(!1),[de,fe]=(0,q.useState)(!1),[pe,me]=(0,q.useState)(null),[Y,X]=(0,q.useState)(null),[Z,ve]=(0,q.useState)({}),[be,xe]=(0,q.useState)(!1),[Se,Ce]=(0,q.useState)(`catalog`),[Q,we]=(0,q.useState)(``),[Te,Ee]=(0,q.useState)(null),[Oe,ke]=(0,q.useState)(null),[Ae,Me]=(0,q.useState)(!1),[Ne,Pe]=(0,q.useState)(null),[Fe,Ie]=(0,q.useState)(`downloads`),[Le,Re]=(0,q.useState)(1),[ze,Be]=(0,q.useState)(null),[Ve,He]=(0,q.useState)(null),[Ue,We]=(0,q.useState)(``),[$,Ge]=(0,q.useState)(()=>u),[Ke,qe]=(0,q.useState)(0),Je=(0,q.useRef)(null),Ye=(0,q.useRef)(u),Xe=(0,q.useRef)(null),Ze=(0,q.useRef)(``),Qe=(0,q.useRef)(null),[$e,tt]=(0,q.useState)({query:``,byProvider:{}}),[nt,rt]=(0,q.useState)(`all`),it=(0,q.useRef)(0),at=(0,q.useRef)(N);at.current!==N&&(at.current=N,rt(e=>e===`all`?e:`all`));let ot=W(()=>l().then(e=>e.catalog.map(je)),[t],{enabled:t,initial:[],errorData:[]}),{data:st,loading:ct,setData:lt}=ot,ut=W(async()=>{try{let{providers:e,current:t}=await T();return{providers:e.map(e=>({id:e.id,displayName:e.displayName})),current:t}}catch{try{return{providers:[],current:(await E()).provider}}catch{return{providers:[],current:`skillhub`}}}},[t,Ke],{enabled:t,initial:{providers:[],current:null}}),dt=d||ct,ft=ut.data.providers;(0,q.useEffect)(()=>{let e=()=>qe(e=>e+1);return window.addEventListener(`config-reload`,e),()=>window.removeEventListener(`config-reload`,e)},[]);let pt=r.toString(),mt=(0,q.useRef)(pt);if(mt.current!==pt){mt.current=pt;let e=r.get(`q`)??``,t=r.get(`tab`),n=r.get(`source`),i=he.has(t)?t:`marketplace`,a=ge.has(n)?n:`all`;A(t=>t===e?t:e),te(e=>e===i?e:i),re(e=>e===a?e:a);let o=r.get(`mcat`)??``;We(i===`marketplace`?e=>e===o?e:o:``)}let ht=(0,q.useRef)(t);!t&&ht.current&&(Ge(null),Je.current=null),ht.current=t,t&&u&&Ye.current!==u&&(Ye.current=u,Ge(u)),t&&u==null&&ut.data.current&&ut.data.current!==Xe.current&&(Xe.current=ut.data.current,Ge(e=>e??ut.data.current));let gt=`${N}|${Fe}|${R}|${Ue}|${$??``}|${nt}`;Ze.current!==gt&&(Ze.current=gt,Re(1)),R===`marketplace`&&$&&Qe.current!=null&&Qe.current!==$&&We(``),Qe.current=$;let _t=W(()=>O({page:Le,pageSize:20,sort:Fe,category:Ue.trim()||void 0,provider:$}),[t,R,Ue,Le,Fe,F,$],{enabled:t&&R===`marketplace`&&!!$&&!F,initial:null,errorData:null});(0,q.useLayoutEffect)(()=>{!t||!P||te(e=>e===`marketplace`?e:`marketplace`)},[t,P]),(0,q.useEffect)(()=>{if(!t||!F||R!==`marketplace`||ft.length===0)return;let n=++it.current,r={};for(let e of ft)r[e.id]={status:`loading`,rows:[]};tt({query:N,byProvider:r});let i=[],a=[];for(let t of ft){let r=new AbortController;i.push(r);let o=window.setTimeout(()=>{r.abort(new DOMException(`Adapter timed out`,`TimeoutError`))},8e3);a.push(o),O({provider:t.id,q:N,page:1,pageSize:40,sort:Fe,signal:r.signal}).then(e=>{if(window.clearTimeout(o),n!==it.current)return;let r=e.items.map(e=>({...e,providerId:t.id}));tt(e=>({...e,byProvider:{...e.byProvider,[t.id]:{status:`ok`,rows:r}}}))}).catch(r=>{if(window.clearTimeout(o),n!==it.current)return;let i=r instanceof DOMException&&(r.name===`TimeoutError`||r.name===`AbortError`)?e.marketplaceLoadFailed:r instanceof Error?r.message:e.marketplaceLoadFailed;tt(e=>({...e,byProvider:{...e.byProvider,[t.id]:{status:`error`,rows:[],error:i}}}))})}return()=>{for(let e of a)window.clearTimeout(e);for(let e of i)e.abort()}},[t,R,F,N,ft,Fe,e.marketplaceLoadFailed]);let vt=W(()=>V({provider:$}).then(e=>e.items),[t,R,$],{enabled:t&&R===`marketplace`&&!!$,initial:[],errorData:[]}),yt=(0,q.useMemo)(()=>{if(!F||$e.query!==N)return[];let e=ft.map(e=>({id:e.id,rows:[...$e.byProvider[e.id]?.rows??[]]})),t=[];for(;e.some(e=>e.rows.length>0);)for(let n of e)n.rows.length>0&&t.push(n.rows.shift());let n=new Map;for(let e of t){let t=[(e.id??``).toLowerCase().trim(),(e.name??``).toLowerCase().trim(),(e.author?.username??``).toLowerCase().trim()].join(`|`),r=n.get(t);if(!r){n.set(t,{...e,additionalSources:[]});continue}if(e.providerId&&e.providerId!==r.providerId){let t=r.additionalSources??[];t.some(t=>t.providerId===e.providerId)||(t.push({providerId:e.providerId,sourceLabel:e.sourceLabel}),r.additionalSources=t)}}return Array.from(n.values())},[F,N,$e,ft]),bt=(0,q.useMemo)(()=>{if(!F)return{};let e={all:yt.length};for(let t of ft)e[t.id]=yt.filter(e=>e.providerId===t.id||(e.additionalSources??[]).some(e=>e.providerId===t.id)).length;return e},[F,yt,ft]),xt=(0,q.useMemo)(()=>F?nt===`all`?yt:yt.filter(e=>e.providerId===nt||(e.additionalSources??[]).some(e=>e.providerId===nt)):[],[F,yt,nt]),St=(0,q.useMemo)(()=>{if(!F)return{};let e={};for(let t of ft)e[t.id]=$e.byProvider[t.id]?.status??`loading`;return e},[F,$e,ft]),Ct=(0,q.useMemo)(()=>Object.values(St).some(e=>e===`loading`),[St]),wt=(0,q.useMemo)(()=>{if(!F)return!1;let e=Object.values(St);return e.length>0&&e.every(e=>e===`error`)},[F,St]),Tt=(0,q.useMemo)(()=>{if(!F||yt.length===0&&Ct)return null;let e=xt.length,t=(Le-1)*20;return{items:xt.slice(t,t+20),meta:{page:Le,pageSize:20,total:e,totalPages:Math.max(1,Math.ceil(e/20))},provider:nt}},[F,yt,Ct,xt,Le,nt]),Et=R===`marketplace`?P?F?Tt:null:_t.data:null,Dt=R===`marketplace`?P?F?Ct:!0:_t.loading:!1,Ot=F?wt?e.marketplaceLoadFailed:null:_t.error instanceof Error?_t.error.message:_t.error?e.marketplaceLoadFailed:null,kt=R===`marketplace`?vt.data:[],At=R===`marketplace`?vt.loading:!1,jt=vt.error instanceof Error?vt.error.message:vt.error?e.marketplaceCategoriesFailed:null;Ue.trim()&&kt.length>0&&!kt.some(e=>e.id===Ue)&&We(``);let Mt=(0,q.useCallback)(async t=>{let n=t?.silent===!0;n||f(!0),_(null);try{return lt((await l()).catalog.map(je)),{ok:!0}}catch(t){let n=t instanceof Error?t.message:e.loadFailed;return _(n),{ok:!1,message:n}}finally{n||f(!1)}},[lt,e.loadFailed]),Nt=!d&&ot.error?ot.error instanceof Error?ot.error.message:e.loadFailed:null,Pt=g??Nt;(0,q.useEffect)(()=>{o(e=>{let t=new URLSearchParams(e);return N?t.set(`q`,N):t.delete(`q`),R===`marketplace`?t.delete(`tab`):t.set(`tab`,R),B===`all`?t.delete(`source`):t.set(`source`,B),R===`marketplace`&&Ue.trim()?t.set(`mcat`,Ue.trim()):t.delete(`mcat`),R===`marketplace`&&$?t.set(_e,$):t.delete(_e),t.toString()===e.toString()?e:t},{replace:!0})},[R,Ue,$,N,o,B]);let Ft=(0,q.useCallback)((e,t,n=5e3)=>{L({kind:e,message:t}),window.setTimeout(()=>L(null),n)},[]),It=(0,q.useCallback)(async t=>{Ce(`catalog`),xe(!0),we(t.name),Ee(null),ke(null),Pe(null),Me(!0);try{let e=await x(t.name);Ee(e),we(e.name)}catch(t){Ee(null),Pe(t instanceof Error?t.message:e.detailLoadFailed)}finally{Me(!1)}},[e.detailLoadFailed]),Lt=(0,q.useCallback)(async(t,n,r)=>{let i=r?.trim()||$;if(i){Je.current=i,Ce(`store`),xe(!0),we(n?.trim()||t),Ee(null),ke(null),Pe(null),Me(!0);try{let e=await m(t,{provider:i});we(e.name),ke(e.skillDocPreview)}catch(t){ke(null),Pe(t instanceof Error?t.message:e.detailLoadFailed)}finally{Me(!1)}}},[$,e.detailLoadFailed]),Rt=(0,q.useCallback)(async(t,n)=>{X(t),ve(e=>({...e,[t]:n})),L(null);try{return await H(t,n),await Mt({silent:!0}),!0}catch(n){return ve(e=>{let{[t]:n,...r}=e;return r}),Ft(`error`,n instanceof Error?n.message:e.skillToggleFailed),!1}finally{X(null),ve(e=>{let{[t]:n,...r}=e;return r})}},[Mt,Ft,e.skillToggleFailed]),zt=(0,q.useCallback)(async()=>{L(null),f(!0),_(null);try{await z()}catch(t){_(t instanceof Error?t.message:e.reloadFailed),f(!1);return}await Mt()},[Mt,e.reloadFailed]),Bt=(0,q.useMemo)(()=>{let e=k.trim().toLowerCase();return e?st.filter(t=>[t.name,t.description,t.directoryId,t.path,t.source,t.hub?.source,t.hub?.ref].filter(Boolean).join(` `).toLowerCase().includes(e)):st},[st,k]),Vt=(0,q.useMemo)(()=>{let e=Bt.filter(e=>e.source===`builtin`);return{total:e.length,enabled:e.filter(e=>Z[e.name]??e.enabled).length}},[Bt,Z]),Ht=(0,q.useMemo)(()=>{let e=Bt.filter(e=>e.source!==`builtin`);return{total:e.length,enabled:e.filter(e=>Z[e.name]??e.enabled).length}},[Bt,Z]),Ut=(0,q.useMemo)(()=>Q?st.find(e=>e.name===Q):void 0,[st,Q]),Wt=Ut==null?!0:Z[Q]??Ut.enabled,Gt=Ut?.directoryId??null,Kt=Ut?.managed??!1,qt=(0,q.useMemo)(()=>Se!==`store`||!Q?null:De(Je.current??$,Q),[Se,Q,$]),Jt=(0,q.useMemo)(()=>{let e=Bt;return R===`builtin`?e=e.filter(e=>e.source===`builtin`):R===`user`&&(e=e.filter(e=>e.source!==`builtin`),B!==`all`&&(e=e.filter(e=>e.source===B))),e},[Bt,R,B]),Yt=(0,q.useMemo)(()=>{let e=new Set,t=[];for(let n of Jt){let r=n.category;!r||e.has(r)||(e.add(r),t.push(r))}return t.sort((e,t)=>{let n=ye.indexOf(e),r=ye.indexOf(t);return n>=0&&r>=0?n-r:n>=0?-1:r>=0?1:e.localeCompare(t)})},[Jt]),Xt=(0,q.useCallback)(t=>e.categoryLabel?.[t]||t,[e.categoryLabel]),Zt=(0,q.useMemo)(()=>U?Jt.filter(e=>e.category===U):Jt,[Jt,U]);(0,q.useEffect)(()=>{G(`all`)},[R]);let Qt=(0,q.useCallback)(e=>Z[e.name]??e.enabled,[Z]),$t=(0,q.useMemo)(()=>Zt.filter(e=>!Qt(e)).length,[Zt,Qt]),en=(0,q.useMemo)(()=>{let e=Zt;return oe===`disabled`&&(e=e.filter(e=>!Qt(e))),[...e].toSorted((e,t)=>{let n=Qt(e);return n===Qt(t)?e.name.localeCompare(t.name,void 0,{sensitivity:`base`}):n?-1:1})},[Zt,oe,Qt]),tn=async t=>{L(null),y(!0),_(null);try{let n;try{n=await et(t)}catch{_(e.invalidFile),Ft(`error`,e.invalidFile);return}await ie(n,{overwrite:!0}),await Mt(),Ft(`success`,e.installSuccess),ce(!1),K(null),te(`user`)}catch(t){_(t instanceof Error?t.message:e.uploadFailed),Ft(`error`,t instanceof Error?t.message:e.uploadFailed)}finally{y(!1)}},nn=()=>{le&&tn(le)},rn=e=>{let t=e.target.files?.[0];e.target.value=``,t&&K(t)},an=e=>{e.preventDefault(),e.stopPropagation(),e.dataTransfer.types.includes(`Files`)&&(ue(!0),e.dataTransfer.dropEffect=`copy`)},on=e=>{let t=e.currentTarget,n=e.relatedTarget;n&&t.contains(n)||ue(!1)},sn=e=>{e.preventDefault(),e.stopPropagation(),ue(!1);let t=e.dataTransfer?.files?.[0];t&&K(t)},cn=t=>{switch(t){case`builtin`:return e.source.builtin;case`workspace`:return e.source.workspace;case`global`:return e.source.global;case`extra`:return e.source.extra;default:return t}},ln=async()=>{let t=pe;if(fe(!1),me(null),t){L(null);try{await h(t),await Mt()}catch(t){_(t instanceof Error?t.message:e.deleteFailed)}}},un=(0,q.useCallback)(e=>st.some(t=>t.name===e),[st]),dn=(0,q.useCallback)(async t=>{let r=(t?.name??Q).trim();if(!r)return;let i=t?.source??Se;if(i===`catalog`){let e=st.find(e=>e.name===r);if(e&&!(Z[e.name]??e.enabled))return}L(null);let a=i===`store`&&!un(r);He(r);try{if(a){let e=t?.providerOverride?.trim()||Je.current||$;await j({name:r,overwrite:!1,...e?{provider:e}:{}}),await Mt({silent:!0})}xe(!1),n(`/chat/new?skill=${encodeURIComponent(r)}`)}catch(t){Ft(`error`,t instanceof Error?t.message:e.uploadFailed)}finally{He(null)}},[st,Q,Se,Z,un,Mt,n,Ft,e.uploadFailed,$]),fn=(0,q.useCallback)(async(t,n)=>{let r=un(t);if(!(r&&!window.confirm(e.marketplaceReinstallConfirm))){L(null),Be(t);try{let i=n?.providerOverride?.trim()||(n?.useDetailProvider?Je.current??$:$);await j({name:t,overwrite:r,...i?{provider:i}:{}}),await Mt({silent:!0}),Ft(`success`,e.installSuccess),xe(!1),te(`user`)}catch(t){Ft(`error`,t instanceof Error?t.message:e.uploadFailed)}finally{Be(null)}}},[un,Mt,$,Ft,e.installSuccess,e.marketplaceReinstallConfirm,e.uploadFailed]),pn=B===`all`?e.filterAll:B===`global`?e.filterGlobal:B===`workspace`?e.filterWorkspace:e.filterExtra,{pathname:mn}=c();return{sk:e,hasToken:t,catalog:st,loading:dt,error:Pt,uploading:v,searchQuery:k,setSearchQuery:A,actionFeedback:I,mainTab:R,setMainTab:te,sourceFilter:B,setSourceFilter:re,builtinCategoryFilter:U,setBuiltinCategoryFilter:ae,installOpen:se,setInstallOpen:ce,pendingFile:le,setPendingFile:K,dropActive:J,setDropActive:ue,confirmOpen:de,setConfirmOpen:fe,confirmId:pe,setConfirmId:me,togglingSkillName:Y,enabledOverride:Z,detailOpen:be,setDetailOpen:xe,detailSource:Se,setDetailSource:Ce,detailTitle:Q,setDetailTitle:we,detailCatalogPreview:Te,setDetailCatalogPreview:Ee,detailMarketplacePreview:Oe,setDetailMarketplacePreview:ke,detailLoading:Ae,detailError:Ne,setDetailError:Pe,marketSort:Fe,setMarketSort:Ie,marketPage:Le,setMarketPage:Re,mpLoading:Dt,mpError:Ot,mpPayload:Et,searchActive:F,searchInputActive:P,resultTab:nt,setResultTab:rt,aggregatedTabCounts:bt,aggregatedProviderStatus:St,aggregatedAllFailed:wt,installingMarketName:ze,usingSkillInChatName:Ve,onUseSkillInChat:dn,marketCategoryId:Ue,setMarketCategoryId:We,mpCategories:kt,mpCategoriesError:jt,mpCategoriesLoading:At,marketBrowseProvider:$,setMarketBrowseProvider:Ge,registeredProviders:ft,builtinTabStats:Vt,userTabStats:Ht,detailEnabled:Wt,detailDirectoryId:Gt,detailManaged:Kt,detailExternalUrl:qt,filteredCatalog:Jt,builtinCategories:Yt,categoryFilteredCatalog:Zt,catalogDisplayRows:en,catalogDisabledCount:$t,catalogStatusFilter:oe,setCatalogStatusFilter:G,resolveSkillEnabled:Qt,filterLabel:pn,inSettingsShell:mn.startsWith(`/settings/`),categoryLabel:Xt,onReloadClick:zt,openSkillDetail:It,openMarketplaceDetail:Lt,onSkillToggle:Rt,onInstallSubmit:nn,onFileInputChange:rn,onModalDragOver:an,onModalDragLeave:on,onModalDrop:sn,sourceLabel:cn,runDelete:ln,onMarketInstall:fn,isSkillInstalledByName:un}}function nt(){let e=(0,K.c)(2),t=tt(),n;return e[0]===t?n=e[1]:(n=(0,J.jsx)(Je,{vm:t}),e[0]=t,e[1]=n),n}export{nt as SkillsPage};
@@ -1 +1 @@
1
- import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,n,t as r}from"./vendor-react-BOUWij0V.js";import{t as i}from"./url-DQRqHuL-.js";import{o as a}from"./vendor-swr-BIWyz7Rc.js";import{a as o,n as s}from"./fetch-CFdKBnE6.js";import{i as c,r as l}from"./gateway-startup-retry-DdngdObI.js";import{$r as u,J as d,Po as f,Z as p,Zo as m,di as h,do as g,fi as _,ja as v,pi as y,q as b,ta as x}from"./index-slwUkhxH.js";var S=`/api/image/providers`;async function ee(){return(await s(i(`/api/image/providers`)))?.payload?.providers??[]}var C=e(t(),1),te=n();function w(){return{apiKey:``,region:``,baseUrl:``,imageBaseUrl:``}}function ne(e){return e?.apiKey?`••••••••••••`:``}function T(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:ne(t),region:t?.region??``,baseUrl:t?.baseUrl??``,imageBaseUrl:t?.imageBaseUrl??``}}return r}function E(e,t,n){let r=e[n].trim();if(r!==t[n].trim())return r||null}function D(e,t){let n=e.trim(),r=t.trim();if(n!==r&&!(p(n)&&p(r)))return n||(r?null:void 0)}function O(e,t,n){let r={};for(let i of e){let e=t[i]??w(),a=n[i]??w();if(JSON.stringify(e)===JSON.stringify(a))continue;let o={},s=D(e.apiKey,a.apiKey);s!==void 0&&(o.apiKey=s);let c=E(e,a,`region`);c!==void 0&&(o.region=c);let l=E(e,a,`baseUrl`);l!==void 0&&(o.baseUrl=l);let u=E(e,a,`imageBaseUrl`);u!==void 0&&(o.imageBaseUrl=u),Object.keys(o).length>0&&(r[i]=o)}return r}async function k(e){let t=await s(i(`/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 A(e){Object.keys(e).length!==0&&(await s(i(`/api/config`),{method:`PATCH`,body:JSON.stringify({providersConfig:e})}),await l())}var j=r();function re(e){let t=(0,te.c)(18),{providerId:n,value:r,onChange:i,labels:a,apiKeyLinks:o,apiKeyLinkLabels:s}=e,c;t[0]===n?c=t[1]:(c=()=>k(n).then(M),t[0]=n,t[1]=c);let l=c,f=`img-cred-key-${n}`,p;t[2]!==a.apiKeyLabel||t[3]!==f?(p=(0,j.jsx)(`label`,{className:`text-xs font-medium text-fg-muted`,htmlFor:f,children:a.apiKeyLabel}),t[2]=a.apiKeyLabel,t[3]=f,t[4]=p):p=t[4];let m;t[5]!==s||t[6]!==o?(m=o.length>0?(0,j.jsx)(`div`,{className:`flex flex-col gap-1`,children:o.map(e=>(0,j.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:[d(e.kind,s),(0,j.jsx)(g,{className:`size-3`,"aria-hidden":!0})]},`${e.kind}-${e.href}`))}):null,t[5]=s,t[6]=o,t[7]=m):m=t[7];let h=`img-cred-key-${n}`,_;t[8]!==a||t[9]!==i||t[10]!==l||t[11]!==h||t[12]!==r?(_=(0,j.jsx)(u,{id:h,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]=h,t[12]=r,t[13]=_):_=t[13];let v;return t[14]!==p||t[15]!==m||t[16]!==_?(v=(0,j.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1 sm:col-span-2`,children:[p,m,_]}),t[14]=p,t[15]=m,t[16]=_,t[17]=v):v=t[17],v}function M(e){return e.apiKey??null}function N(){return y(`w-full rounded-lg border border-edge bg-surface-panel px-3 py-2 text-sm text-fg`,`placeholder:text-fg-subtle`,h)}function ie(){return y(N(),`appearance-none bg-[length:1rem] bg-[right_0.5rem_center] bg-no-repeat pr-9`)}var P=`__custom__`;function ae(e,t){if(!e.region.trim()&&!e.imageBaseUrl.trim())return``;let n=e.region.trim().toLowerCase();return t.some(e=>e.value===n)?n:P}function oe(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:P}function se(e,t,n){return t===`beijing`?e.dashscopeRegion_beijing:t===`singapore`?e.dashscopeRegion_singapore:t===`us`?e.dashscopeRegion_us:n}function ce(e,t){return t===`minimax`?e.minimaxClusterLabel:t===`fal`?e.falQueueBaseLabel:e.baseUrlLabel}function le(e,t){return t===`minimax`?e.minimaxClusterHint:t===`fal`?e.falQueueBaseHint:null}function ue(e,t){return JSON.stringify(e)!==JSON.stringify(t)}function de(e,t){return t===1?e.modelCountOne:e.modelCountMany.replace(`{count}`,String(t))}function fe(e){let t=(0,te.c)(76),{summaries:n,credDraft:r,credBaseline:i,credDirty:a,credSaving:o,credError:s,credSavedFlash:c,credNoopFlash:l,updateCredRow:u,onDiscardCredentials:d,onSaveCredentials:p,extensionIds:h,showExtensionLinks:S,showImageModelsLink:ee,hideActions:ne,language:T,apiKeyLinkLabels:E,messages:D}=e,O=ne===void 0?!1:ne,k;t[0]===n?k=t[1]:(k=n.some(_e),t[0]=n,t[1]=k);let A=k,M;t[2]===n?M=t[3]:(M=n.some(ge),t[2]=n,t[3]=M);let fe=M,[F,ve]=(0,C.useState)(he),[I,L]=(0,C.useState)(me),R;if(t[4]!==i||t[5]!==r||t[6]!==n){R=new Set;for(let e of n)ue(r[e.id]??w(),i[e.id]??w())&&R.add(e.id);t[4]=i,t[5]=r,t[6]=n,t[7]=R}else R=t[7];let z=R,B;t[8]!==z||t[9]!==I||t[10]!==F?(B=e=>I.has(e)?!1:F.has(e)?!0:z.has(e),t[8]=z,t[9]=I,t[10]=F,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)),ve(t=>{let n=new Set(t);return n.delete(e),n});return}L(t=>{let n=new Set(t);return n.delete(e),n}),ve(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]===D.credentialsIntro?W=t[15]:(W=(0,j.jsx)(`p`,{children:D.credentialsIntro}),t[14]=D.credentialsIntro,t[15]=W);let G;t[16]!==A||t[17]!==D.regionHint?(G=A?(0,j.jsx)(`p`,{className:`text-fg-subtle`,children:D.regionHint}):null,t[16]=A,t[17]=D.regionHint,t[18]=G):G=t[18];let K;t[19]!==fe||t[20]!==D.endpointPresetsHint?(K=fe?(0,j.jsx)(`p`,{className:`text-fg-subtle`,children:D.endpointPresetsHint}):null,t[19]=fe,t[20]=D.endpointPresetsHint,t[21]=K):K=t[21];let q;t[22]!==ee||t[23]!==D.imageModelsLinkTitle||t[24]!==D.openImageModelsPage?(q=ee?(0,j.jsx)(`p`,{children:(0,j.jsx)(m,{to:`/settings/credentials?tab=image-models`,className:`font-medium text-accent hover:underline`,title:D.imageModelsLinkTitle,children:D.openImageModelsPage})}):null,t[22]=ee,t[23]=D.imageModelsLinkTitle,t[24]=D.openImageModelsPage,t[25]=q):q=t[25];let J;t[26]!==W||t[27]!==G||t[28]!==K||t[29]!==q?(J=(0,j.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]===s?Y=t[32]:(Y=s?(0,j.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:s}):null,t[31]=s,t[32]=Y);let X;t[33]!==a||t[34]!==l||t[35]!==c||t[36]!==o||t[37]!==O||t[38]!==d||t[39]!==p||t[40]!==D.credentialsNothingToSave||t[41]!==D.credentialsSaved||t[42]!==D.discardCredentials||t[43]!==D.saveCredentials||t[44]!==D.savingCredentials?(X=O?null:(0,j.jsxs)(`div`,{className:`flex flex-wrap items-center justify-end gap-2`,children:[c?(0,j.jsx)(`span`,{className:`text-sm text-fg-muted`,children:D.credentialsSaved}):null,l?(0,j.jsx)(`span`,{className:`text-sm text-fg-muted`,children:D.credentialsNothingToSave}):null,(0,j.jsx)(_,{type:`button`,variant:`secondary`,onClick:d,disabled:!a||o,children:D.discardCredentials}),(0,j.jsx)(_,{type:`button`,variant:`primary`,onClick:p,disabled:!a||o,children:o?(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(v,{className:`size-3.5 animate-spin`}),(0,j.jsx)(`span`,{className:`ml-1.5`,children:D.savingCredentials})]}):(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(x,{className:`size-3.5`}),(0,j.jsx)(`span`,{className:`ml-1.5`,children:D.saveCredentials})]})})]}),t[33]=a,t[34]=l,t[35]=c,t[36]=o,t[37]=O,t[38]=d,t[39]=p,t[40]=D.credentialsNothingToSave,t[41]=D.credentialsSaved,t[42]=D.discardCredentials,t[43]=D.saveCredentials,t[44]=D.savingCredentials,t[45]=X):X=t[45];let Z;if(t[46]!==E||t[47]!==i||t[48]!==r||t[49]!==h||t[50]!==V||t[51]!==T||t[52]!==S||t[53]!==n||t[54]!==D||t[55]!==U||t[56]!==u){let e;t[58]!==E||t[59]!==i||t[60]!==r||t[61]!==h||t[62]!==V||t[63]!==T||t[64]!==S||t[65]!==D||t[66]!==U||t[67]!==u?(e=e=>{let t=r[e.id]??w(),n=e.ui,a=S&&h.has(e.id)?`/settings/ext/${encodeURIComponent(e.id)}`:null,o=ue(t,i[e.id]??w()),s=V(e.id),c=e.label??e.id,l=de(D,e.models.length);return(0,j.jsxs)(`section`,{className:y(`overflow-hidden rounded-xl border bg-surface-panel shadow-sm transition-colors dark:shadow-none`,o?`border-accent/50`:`border-edge`),children:[(0,j.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":s,"aria-controls":`img-provider-credentials-${e.id}`,onClick:()=>U(e.id),children:[(0,j.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-2`,children:[(0,j.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[(0,j.jsx)(`span`,{className:`truncate text-sm font-semibold text-fg`,children:c}),(0,j.jsx)(`span`,{className:`rounded-full bg-surface-subtle px-2 py-0.5 text-[11px] font-medium text-fg-muted`,children:e.id}),o?(0,j.jsx)(`span`,{className:`rounded-full bg-accent-soft px-2 py-0.5 text-[11px] font-medium text-accent-fg`,children:D.unsavedChanges}):null,e.configured?(0,j.jsx)(`span`,{className:`rounded-full bg-accent-soft px-2 py-0.5 text-[11px] font-medium text-accent-fg`,children:D.configured}):(0,j.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:D.missingKey})]}),(0,j.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-x-3 gap-y-1 text-xs text-fg-subtle`,children:[(0,j.jsx)(`span`,{children:l}),e.defaultModel?(0,j.jsxs)(`span`,{className:`min-w-0 truncate`,children:[(0,j.jsxs)(`span`,{className:`text-fg-muted`,children:[D.defaultModel,`:`]}),` `,e.id,`/`,e.defaultModel]}):null]})]}),(0,j.jsx)(f,{className:y(`mt-0.5 size-4 shrink-0 text-fg-subtle transition-transform`,s?`rotate-180`:`rotate-0`),"aria-hidden":`true`}),(0,j.jsx)(`span`,{className:`sr-only`,children:s?D.collapseProvider:D.expandProvider})]}),s?(0,j.jsxs)(`div`,{id:`img-provider-credentials-${e.id}`,className:`border-t border-edge px-4 py-4`,children:[a?(0,j.jsxs)(m,{to:a,className:`mb-3 inline-flex items-center gap-1 text-xs font-medium text-accent hover:underline`,title:D.extensionSettingsLinkTitle,children:[(0,j.jsx)(g,{className:`size-3`}),D.openExtensionSettings]}):null,e.models.length>0?(0,j.jsxs)(`p`,{className:`mb-3 text-xs leading-relaxed text-fg-subtle`,children:[(0,j.jsxs)(`span`,{className:`text-fg-muted`,children:[D.modelsLabel,`:`]}),` `,e.models.map(t=>`${e.id}/${t}`).join(`, `)]}):null,(0,j.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[(0,j.jsx)(re,{providerId:e.id,value:t.apiKey,onChange:t=>u(e.id,{apiKey:t}),apiKeyLinks:b(e.id,T),apiKeyLinkLabels:E,labels:{apiKeyLabel:D.apiKeyLabel,optionalPlaceholder:D.optionalPlaceholder,maskedHelp:D.apiKeyMaskedHelp,copy:D.apiKeyCopy,copied:D.apiKeyCopied,show:D.apiKeyShow,hide:D.apiKeyHide,notInConfigFile:D.apiKeyNotInConfigFile,loadFailed:D.apiKeyRevealFailed}}),n?.regions?.length?(0,j.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1 sm:col-span-2`,children:[(0,j.jsx)(`label`,{className:`text-xs font-medium text-fg-muted`,htmlFor:`img-cred-region-preset-${e.id}`,children:D.regionLabel}),(0,j.jsxs)(`select`,{id:`img-cred-region-preset-${e.id}`,className:ie(),value:ae(t,n.regions),onChange:t=>{let r=t.target.value;if(r===``){u(e.id,{region:``,imageBaseUrl:``});return}if(r===P){u(e.id,{region:``,imageBaseUrl:``});return}let i=n.regions.find(e=>e.value===r);i&&u(e.id,{region:i.value,imageBaseUrl:i.imageBaseUrl})},children:[(0,j.jsx)(`option`,{value:``,children:D.regionPresetDefault}),n.regions.map(e=>(0,j.jsx)(`option`,{value:e.value,children:se(D,e.value,e.label)},e.value)),(0,j.jsx)(`option`,{value:P,children:D.regionPresetCustom})]}),ae(t,n.regions)===P?(0,j.jsxs)(`div`,{className:`mt-2 grid gap-2 sm:grid-cols-2`,children:[(0,j.jsx)(`input`,{type:`text`,className:N(),value:t.region,placeholder:`region`,onChange:t=>u(e.id,{region:t.target.value})}),(0,j.jsx)(`input`,{type:`url`,className:N(),value:t.imageBaseUrl,placeholder:D.imageBaseUrlLabel,onChange:t=>u(e.id,{imageBaseUrl:t.target.value})})]}):null]}):null,n?.baseUrlPresets?.length?(0,j.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1 sm:col-span-2`,children:[(0,j.jsx)(`label`,{className:`text-xs font-medium text-fg-muted`,htmlFor:`img-cred-base-preset-${e.id}`,children:ce(D,n.baseUrlPresetKind)}),le(D,n.baseUrlPresetKind)?(0,j.jsx)(`p`,{className:`text-[11px] text-fg-subtle`,children:le(D,n.baseUrlPresetKind)}):null,(0,j.jsxs)(`select`,{id:`img-cred-base-preset-${e.id}`,className:ie(),value:oe(t,n.baseUrlPresets),onChange:t=>{let n=t.target.value;if(n===``){u(e.id,{baseUrl:``});return}if(n===P){u(e.id,{baseUrl:``});return}u(e.id,{baseUrl:n.replace(/\/+$/,``)})},children:[(0,j.jsx)(`option`,{value:``,children:D.baseUrlPresetDefault}),n.baseUrlPresets.map(pe),(0,j.jsx)(`option`,{value:P,children:D.baseUrlPresetCustom})]}),oe(t,n.baseUrlPresets)===P?(0,j.jsx)(`input`,{type:`url`,className:y(N(),`mt-2`),value:t.baseUrl,placeholder:`https://…`,onChange:t=>u(e.id,{baseUrl:t.target.value})}):null]}):null,n?.regions?.length&&ae(t,n.regions)!==P?(0,j.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1 sm:col-span-2`,children:[(0,j.jsx)(`label`,{className:`text-xs font-medium text-fg-muted`,htmlFor:`img-cred-imgbase-ro-${e.id}`,children:D.imageBaseUrlLabel}),(0,j.jsx)(`input`,{id:`img-cred-imgbase-ro-${e.id}`,type:`url`,readOnly:!0,className:y(N(),`cursor-not-allowed opacity-90`),value:t.imageBaseUrl,title:D.imageBaseUrlPresetHint}),(0,j.jsx)(`p`,{className:`text-[11px] text-fg-subtle`,children:D.imageBaseUrlPresetHint})]}):null]})]}):null]},e.id)},t[58]=E,t[59]=i,t[60]=r,t[61]=h,t[62]=V,t[63]=T,t[64]=S,t[65]=D,t[66]=U,t[67]=u,t[68]=e):e=t[68],Z=n.map(e),t[46]=E,t[47]=i,t[48]=r,t[49]=h,t[50]=V,t[51]=T,t[52]=S,t[53]=n,t[54]=D,t[55]=U,t[56]=u,t[57]=Z}else Z=t[57];let Q;t[69]===Z?Q=t[70]:(Q=(0,j.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,j.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 pe(e){return(0,j.jsx)(`option`,{value:e.value,children:e.label},e.value)}function me(){return new Set}function he(){return new Set}function ge(e){return(e.ui?.baseUrlPresets?.length??0)>0}function _e(e){return(e.ui?.regions?.length??0)>0}function F(e){let t=c(o(e=>!!e.token)),n=t.data,r=(0,C.useMemo)(()=>e.map(e=>e.id),[e]),s=(0,C.useRef)(!1),[l,u]=(0,C.useState)(null),[d,f]=(0,C.useState)(!1),[p,m]=(0,C.useState)(null),[h,g]=(0,C.useState)(!1),[_,v]=(0,C.useState)(!1),y=(0,C.useMemo)(()=>T(n?.payload?.config,r),[n?.payload?.config,r]),b=l??y,x=y;return{gwSwr:t,credDraft:b,credBaseline:x,credDirty:(0,C.useMemo)(()=>JSON.stringify(b)!==JSON.stringify(x),[b,x]),credSaving:d,credError:p,credSavedFlash:h,credNoopFlash:_,updateCredRow:(0,C.useCallback)((e,t)=>{s.current=!0,u(n=>{let r=n??y,i=r[e]??w();return{...r,[e]:{...i,...t}}})},[y]),onDiscardCredentials:(0,C.useCallback)(()=>{s.current=!1,u(null),m(null),g(!1),v(!1)},[]),saveCredentials:(0,C.useCallback)(async e=>{let n=O(r,b,x);if(Object.keys(n).length===0){v(!0),window.setTimeout(()=>v(!1),2200);return}f(!0),m(null),g(!1);try{await A(n),await t.mutate?.(),a(i(S)),s.current=!1,u(null),g(!0),window.setTimeout(()=>g(!1),2e3)}catch(t){m(t instanceof Error?t.message:e)}finally{f(!1)}},[r,b,x,t])}}function ve(){return{enabled:!1,provider:`alibaba`,alibaba:{model:`paraformer-v2`},openai:{model:`whisper-1`},fallback:{enabled:!0,order:[`alibaba`,`openai`]}}}function I(){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=ve();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=I();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(i(`/api/config`))).payload?.config??{})}async function q(e){await s(i(`/api/config`),{method:`PATCH`,body:JSON.stringify({stt:U(e.stt),tts:W(e.tts)})}),l()}async function J(){let e=await s(i(`/api/voice/models`));if(!e.payload?.models)throw Error(`Missing voice models payload`);return e.payload.models}async function Y(){let e=await s(i(`/api/voice/providers`));if(!e.payload?.providers)throw Error(`Missing voice providers payload`);return e.payload}async function X(){let e=await s(i(`/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(i(`/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,te.c)(15),{kind:n,providerId:r,fieldId:i,value:a,onChange:o,labels:s,placeholder:c,className:l}=e,d=c===void 0?`sk-...`:c,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]===l?m=t[4]:(m=y(`flex min-w-0 flex-col gap-1.5`,l),t[3]=l,t[4]=m);let h;t[5]!==i||t[6]!==s||t[7]!==o||t[8]!==d||t[9]!==p||t[10]!==a?(h=(0,j.jsx)(u,{id:i,value:a,onChange:o,placeholder:d,labels:s,reveal:p,loadFailedLabel:s.loadFailed,maskedHelp:s.maskedHelp,notInConfigFile:s.notInConfigFile,inputClassName:`text-xs`}),t[5]=i,t[6]=s,t[7]=o,t[8]=d,t[9]=p,t[10]=a,t[11]=h):h=t[11];let g;return t[12]!==m||t[13]!==h?(g=(0,j.jsx)(`div`,{className:m,children:h}),t[12]=m,t[13]=h,t[14]=g):g=t[14],g}function $(e){return e.apiKey??null}export{X as a,F as c,S as d,K as i,fe as l,J as n,G as o,Y as r,q as s,Q as t,ee as u};
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"./url-DQRqHuL-.js";import{o as a}from"./vendor-swr-BIWyz7Rc.js";import{a as o,n as s}from"./fetch-CFdKBnE6.js";import{i as c,r as l}from"./gateway-startup-retry-DdngdObI.js";import{$r as u,J as d,Po as f,Z as p,Zo as m,di as h,do as g,fi as _,ja as v,pi as y,q as b,ta as x}from"./index-C_2yKRJX.js";var S=`/api/image/providers`;async function ee(){return(await s(i(`/api/image/providers`)))?.payload?.providers??[]}var C=e(t(),1),te=n();function w(){return{apiKey:``,region:``,baseUrl:``,imageBaseUrl:``}}function ne(e){return e?.apiKey?`••••••••••••`:``}function T(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:ne(t),region:t?.region??``,baseUrl:t?.baseUrl??``,imageBaseUrl:t?.imageBaseUrl??``}}return r}function E(e,t,n){let r=e[n].trim();if(r!==t[n].trim())return r||null}function D(e,t){let n=e.trim(),r=t.trim();if(n!==r&&!(p(n)&&p(r)))return n||(r?null:void 0)}function O(e,t,n){let r={};for(let i of e){let e=t[i]??w(),a=n[i]??w();if(JSON.stringify(e)===JSON.stringify(a))continue;let o={},s=D(e.apiKey,a.apiKey);s!==void 0&&(o.apiKey=s);let c=E(e,a,`region`);c!==void 0&&(o.region=c);let l=E(e,a,`baseUrl`);l!==void 0&&(o.baseUrl=l);let u=E(e,a,`imageBaseUrl`);u!==void 0&&(o.imageBaseUrl=u),Object.keys(o).length>0&&(r[i]=o)}return r}async function k(e){let t=await s(i(`/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 A(e){Object.keys(e).length!==0&&(await s(i(`/api/config`),{method:`PATCH`,body:JSON.stringify({providersConfig:e})}),await l())}var j=r();function re(e){let t=(0,te.c)(18),{providerId:n,value:r,onChange:i,labels:a,apiKeyLinks:o,apiKeyLinkLabels:s}=e,c;t[0]===n?c=t[1]:(c=()=>k(n).then(M),t[0]=n,t[1]=c);let l=c,f=`img-cred-key-${n}`,p;t[2]!==a.apiKeyLabel||t[3]!==f?(p=(0,j.jsx)(`label`,{className:`text-xs font-medium text-fg-muted`,htmlFor:f,children:a.apiKeyLabel}),t[2]=a.apiKeyLabel,t[3]=f,t[4]=p):p=t[4];let m;t[5]!==s||t[6]!==o?(m=o.length>0?(0,j.jsx)(`div`,{className:`flex flex-col gap-1`,children:o.map(e=>(0,j.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:[d(e.kind,s),(0,j.jsx)(g,{className:`size-3`,"aria-hidden":!0})]},`${e.kind}-${e.href}`))}):null,t[5]=s,t[6]=o,t[7]=m):m=t[7];let h=`img-cred-key-${n}`,_;t[8]!==a||t[9]!==i||t[10]!==l||t[11]!==h||t[12]!==r?(_=(0,j.jsx)(u,{id:h,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]=h,t[12]=r,t[13]=_):_=t[13];let v;return t[14]!==p||t[15]!==m||t[16]!==_?(v=(0,j.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1 sm:col-span-2`,children:[p,m,_]}),t[14]=p,t[15]=m,t[16]=_,t[17]=v):v=t[17],v}function M(e){return e.apiKey??null}function N(){return y(`w-full rounded-lg border border-edge bg-surface-panel px-3 py-2 text-sm text-fg`,`placeholder:text-fg-subtle`,h)}function ie(){return y(N(),`appearance-none bg-[length:1rem] bg-[right_0.5rem_center] bg-no-repeat pr-9`)}var P=`__custom__`;function ae(e,t){if(!e.region.trim()&&!e.imageBaseUrl.trim())return``;let n=e.region.trim().toLowerCase();return t.some(e=>e.value===n)?n:P}function oe(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:P}function se(e,t,n){return t===`beijing`?e.dashscopeRegion_beijing:t===`singapore`?e.dashscopeRegion_singapore:t===`us`?e.dashscopeRegion_us:n}function ce(e,t){return t===`minimax`?e.minimaxClusterLabel:t===`fal`?e.falQueueBaseLabel:e.baseUrlLabel}function le(e,t){return t===`minimax`?e.minimaxClusterHint:t===`fal`?e.falQueueBaseHint:null}function ue(e,t){return JSON.stringify(e)!==JSON.stringify(t)}function de(e,t){return t===1?e.modelCountOne:e.modelCountMany.replace(`{count}`,String(t))}function fe(e){let t=(0,te.c)(76),{summaries:n,credDraft:r,credBaseline:i,credDirty:a,credSaving:o,credError:s,credSavedFlash:c,credNoopFlash:l,updateCredRow:u,onDiscardCredentials:d,onSaveCredentials:p,extensionIds:h,showExtensionLinks:S,showImageModelsLink:ee,hideActions:ne,language:T,apiKeyLinkLabels:E,messages:D}=e,O=ne===void 0?!1:ne,k;t[0]===n?k=t[1]:(k=n.some(_e),t[0]=n,t[1]=k);let A=k,M;t[2]===n?M=t[3]:(M=n.some(ge),t[2]=n,t[3]=M);let fe=M,[F,ve]=(0,C.useState)(he),[I,L]=(0,C.useState)(me),R;if(t[4]!==i||t[5]!==r||t[6]!==n){R=new Set;for(let e of n)ue(r[e.id]??w(),i[e.id]??w())&&R.add(e.id);t[4]=i,t[5]=r,t[6]=n,t[7]=R}else R=t[7];let z=R,B;t[8]!==z||t[9]!==I||t[10]!==F?(B=e=>I.has(e)?!1:F.has(e)?!0:z.has(e),t[8]=z,t[9]=I,t[10]=F,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)),ve(t=>{let n=new Set(t);return n.delete(e),n});return}L(t=>{let n=new Set(t);return n.delete(e),n}),ve(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]===D.credentialsIntro?W=t[15]:(W=(0,j.jsx)(`p`,{children:D.credentialsIntro}),t[14]=D.credentialsIntro,t[15]=W);let G;t[16]!==A||t[17]!==D.regionHint?(G=A?(0,j.jsx)(`p`,{className:`text-fg-subtle`,children:D.regionHint}):null,t[16]=A,t[17]=D.regionHint,t[18]=G):G=t[18];let K;t[19]!==fe||t[20]!==D.endpointPresetsHint?(K=fe?(0,j.jsx)(`p`,{className:`text-fg-subtle`,children:D.endpointPresetsHint}):null,t[19]=fe,t[20]=D.endpointPresetsHint,t[21]=K):K=t[21];let q;t[22]!==ee||t[23]!==D.imageModelsLinkTitle||t[24]!==D.openImageModelsPage?(q=ee?(0,j.jsx)(`p`,{children:(0,j.jsx)(m,{to:`/settings/credentials?tab=image-models`,className:`font-medium text-accent hover:underline`,title:D.imageModelsLinkTitle,children:D.openImageModelsPage})}):null,t[22]=ee,t[23]=D.imageModelsLinkTitle,t[24]=D.openImageModelsPage,t[25]=q):q=t[25];let J;t[26]!==W||t[27]!==G||t[28]!==K||t[29]!==q?(J=(0,j.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]===s?Y=t[32]:(Y=s?(0,j.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:s}):null,t[31]=s,t[32]=Y);let X;t[33]!==a||t[34]!==l||t[35]!==c||t[36]!==o||t[37]!==O||t[38]!==d||t[39]!==p||t[40]!==D.credentialsNothingToSave||t[41]!==D.credentialsSaved||t[42]!==D.discardCredentials||t[43]!==D.saveCredentials||t[44]!==D.savingCredentials?(X=O?null:(0,j.jsxs)(`div`,{className:`flex flex-wrap items-center justify-end gap-2`,children:[c?(0,j.jsx)(`span`,{className:`text-sm text-fg-muted`,children:D.credentialsSaved}):null,l?(0,j.jsx)(`span`,{className:`text-sm text-fg-muted`,children:D.credentialsNothingToSave}):null,(0,j.jsx)(_,{type:`button`,variant:`secondary`,onClick:d,disabled:!a||o,children:D.discardCredentials}),(0,j.jsx)(_,{type:`button`,variant:`primary`,onClick:p,disabled:!a||o,children:o?(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(v,{className:`size-3.5 animate-spin`}),(0,j.jsx)(`span`,{className:`ml-1.5`,children:D.savingCredentials})]}):(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(x,{className:`size-3.5`}),(0,j.jsx)(`span`,{className:`ml-1.5`,children:D.saveCredentials})]})})]}),t[33]=a,t[34]=l,t[35]=c,t[36]=o,t[37]=O,t[38]=d,t[39]=p,t[40]=D.credentialsNothingToSave,t[41]=D.credentialsSaved,t[42]=D.discardCredentials,t[43]=D.saveCredentials,t[44]=D.savingCredentials,t[45]=X):X=t[45];let Z;if(t[46]!==E||t[47]!==i||t[48]!==r||t[49]!==h||t[50]!==V||t[51]!==T||t[52]!==S||t[53]!==n||t[54]!==D||t[55]!==U||t[56]!==u){let e;t[58]!==E||t[59]!==i||t[60]!==r||t[61]!==h||t[62]!==V||t[63]!==T||t[64]!==S||t[65]!==D||t[66]!==U||t[67]!==u?(e=e=>{let t=r[e.id]??w(),n=e.ui,a=S&&h.has(e.id)?`/settings/ext/${encodeURIComponent(e.id)}`:null,o=ue(t,i[e.id]??w()),s=V(e.id),c=e.label??e.id,l=de(D,e.models.length);return(0,j.jsxs)(`section`,{className:y(`overflow-hidden rounded-xl border bg-surface-panel shadow-sm transition-colors dark:shadow-none`,o?`border-accent/50`:`border-edge`),children:[(0,j.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":s,"aria-controls":`img-provider-credentials-${e.id}`,onClick:()=>U(e.id),children:[(0,j.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-2`,children:[(0,j.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[(0,j.jsx)(`span`,{className:`truncate text-sm font-semibold text-fg`,children:c}),(0,j.jsx)(`span`,{className:`rounded-full bg-surface-subtle px-2 py-0.5 text-[11px] font-medium text-fg-muted`,children:e.id}),o?(0,j.jsx)(`span`,{className:`rounded-full bg-accent-soft px-2 py-0.5 text-[11px] font-medium text-accent-fg`,children:D.unsavedChanges}):null,e.configured?(0,j.jsx)(`span`,{className:`rounded-full bg-accent-soft px-2 py-0.5 text-[11px] font-medium text-accent-fg`,children:D.configured}):(0,j.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:D.missingKey})]}),(0,j.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-x-3 gap-y-1 text-xs text-fg-subtle`,children:[(0,j.jsx)(`span`,{children:l}),e.defaultModel?(0,j.jsxs)(`span`,{className:`min-w-0 truncate`,children:[(0,j.jsxs)(`span`,{className:`text-fg-muted`,children:[D.defaultModel,`:`]}),` `,e.id,`/`,e.defaultModel]}):null]})]}),(0,j.jsx)(f,{className:y(`mt-0.5 size-4 shrink-0 text-fg-subtle transition-transform`,s?`rotate-180`:`rotate-0`),"aria-hidden":`true`}),(0,j.jsx)(`span`,{className:`sr-only`,children:s?D.collapseProvider:D.expandProvider})]}),s?(0,j.jsxs)(`div`,{id:`img-provider-credentials-${e.id}`,className:`border-t border-edge px-4 py-4`,children:[a?(0,j.jsxs)(m,{to:a,className:`mb-3 inline-flex items-center gap-1 text-xs font-medium text-accent hover:underline`,title:D.extensionSettingsLinkTitle,children:[(0,j.jsx)(g,{className:`size-3`}),D.openExtensionSettings]}):null,e.models.length>0?(0,j.jsxs)(`p`,{className:`mb-3 text-xs leading-relaxed text-fg-subtle`,children:[(0,j.jsxs)(`span`,{className:`text-fg-muted`,children:[D.modelsLabel,`:`]}),` `,e.models.map(t=>`${e.id}/${t}`).join(`, `)]}):null,(0,j.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[(0,j.jsx)(re,{providerId:e.id,value:t.apiKey,onChange:t=>u(e.id,{apiKey:t}),apiKeyLinks:b(e.id,T),apiKeyLinkLabels:E,labels:{apiKeyLabel:D.apiKeyLabel,optionalPlaceholder:D.optionalPlaceholder,maskedHelp:D.apiKeyMaskedHelp,copy:D.apiKeyCopy,copied:D.apiKeyCopied,show:D.apiKeyShow,hide:D.apiKeyHide,notInConfigFile:D.apiKeyNotInConfigFile,loadFailed:D.apiKeyRevealFailed}}),n?.regions?.length?(0,j.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1 sm:col-span-2`,children:[(0,j.jsx)(`label`,{className:`text-xs font-medium text-fg-muted`,htmlFor:`img-cred-region-preset-${e.id}`,children:D.regionLabel}),(0,j.jsxs)(`select`,{id:`img-cred-region-preset-${e.id}`,className:ie(),value:ae(t,n.regions),onChange:t=>{let r=t.target.value;if(r===``){u(e.id,{region:``,imageBaseUrl:``});return}if(r===P){u(e.id,{region:``,imageBaseUrl:``});return}let i=n.regions.find(e=>e.value===r);i&&u(e.id,{region:i.value,imageBaseUrl:i.imageBaseUrl})},children:[(0,j.jsx)(`option`,{value:``,children:D.regionPresetDefault}),n.regions.map(e=>(0,j.jsx)(`option`,{value:e.value,children:se(D,e.value,e.label)},e.value)),(0,j.jsx)(`option`,{value:P,children:D.regionPresetCustom})]}),ae(t,n.regions)===P?(0,j.jsxs)(`div`,{className:`mt-2 grid gap-2 sm:grid-cols-2`,children:[(0,j.jsx)(`input`,{type:`text`,className:N(),value:t.region,placeholder:`region`,onChange:t=>u(e.id,{region:t.target.value})}),(0,j.jsx)(`input`,{type:`url`,className:N(),value:t.imageBaseUrl,placeholder:D.imageBaseUrlLabel,onChange:t=>u(e.id,{imageBaseUrl:t.target.value})})]}):null]}):null,n?.baseUrlPresets?.length?(0,j.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1 sm:col-span-2`,children:[(0,j.jsx)(`label`,{className:`text-xs font-medium text-fg-muted`,htmlFor:`img-cred-base-preset-${e.id}`,children:ce(D,n.baseUrlPresetKind)}),le(D,n.baseUrlPresetKind)?(0,j.jsx)(`p`,{className:`text-[11px] text-fg-subtle`,children:le(D,n.baseUrlPresetKind)}):null,(0,j.jsxs)(`select`,{id:`img-cred-base-preset-${e.id}`,className:ie(),value:oe(t,n.baseUrlPresets),onChange:t=>{let n=t.target.value;if(n===``){u(e.id,{baseUrl:``});return}if(n===P){u(e.id,{baseUrl:``});return}u(e.id,{baseUrl:n.replace(/\/+$/,``)})},children:[(0,j.jsx)(`option`,{value:``,children:D.baseUrlPresetDefault}),n.baseUrlPresets.map(pe),(0,j.jsx)(`option`,{value:P,children:D.baseUrlPresetCustom})]}),oe(t,n.baseUrlPresets)===P?(0,j.jsx)(`input`,{type:`url`,className:y(N(),`mt-2`),value:t.baseUrl,placeholder:`https://…`,onChange:t=>u(e.id,{baseUrl:t.target.value})}):null]}):null,n?.regions?.length&&ae(t,n.regions)!==P?(0,j.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1 sm:col-span-2`,children:[(0,j.jsx)(`label`,{className:`text-xs font-medium text-fg-muted`,htmlFor:`img-cred-imgbase-ro-${e.id}`,children:D.imageBaseUrlLabel}),(0,j.jsx)(`input`,{id:`img-cred-imgbase-ro-${e.id}`,type:`url`,readOnly:!0,className:y(N(),`cursor-not-allowed opacity-90`),value:t.imageBaseUrl,title:D.imageBaseUrlPresetHint}),(0,j.jsx)(`p`,{className:`text-[11px] text-fg-subtle`,children:D.imageBaseUrlPresetHint})]}):null]})]}):null]},e.id)},t[58]=E,t[59]=i,t[60]=r,t[61]=h,t[62]=V,t[63]=T,t[64]=S,t[65]=D,t[66]=U,t[67]=u,t[68]=e):e=t[68],Z=n.map(e),t[46]=E,t[47]=i,t[48]=r,t[49]=h,t[50]=V,t[51]=T,t[52]=S,t[53]=n,t[54]=D,t[55]=U,t[56]=u,t[57]=Z}else Z=t[57];let Q;t[69]===Z?Q=t[70]:(Q=(0,j.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,j.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 pe(e){return(0,j.jsx)(`option`,{value:e.value,children:e.label},e.value)}function me(){return new Set}function he(){return new Set}function ge(e){return(e.ui?.baseUrlPresets?.length??0)>0}function _e(e){return(e.ui?.regions?.length??0)>0}function F(e){let t=c(o(e=>!!e.token)),n=t.data,r=(0,C.useMemo)(()=>e.map(e=>e.id),[e]),s=(0,C.useRef)(!1),[l,u]=(0,C.useState)(null),[d,f]=(0,C.useState)(!1),[p,m]=(0,C.useState)(null),[h,g]=(0,C.useState)(!1),[_,v]=(0,C.useState)(!1),y=(0,C.useMemo)(()=>T(n?.payload?.config,r),[n?.payload?.config,r]),b=l??y,x=y;return{gwSwr:t,credDraft:b,credBaseline:x,credDirty:(0,C.useMemo)(()=>JSON.stringify(b)!==JSON.stringify(x),[b,x]),credSaving:d,credError:p,credSavedFlash:h,credNoopFlash:_,updateCredRow:(0,C.useCallback)((e,t)=>{s.current=!0,u(n=>{let r=n??y,i=r[e]??w();return{...r,[e]:{...i,...t}}})},[y]),onDiscardCredentials:(0,C.useCallback)(()=>{s.current=!1,u(null),m(null),g(!1),v(!1)},[]),saveCredentials:(0,C.useCallback)(async e=>{let n=O(r,b,x);if(Object.keys(n).length===0){v(!0),window.setTimeout(()=>v(!1),2200);return}f(!0),m(null),g(!1);try{await A(n),await t.mutate?.(),a(i(S)),s.current=!1,u(null),g(!0),window.setTimeout(()=>g(!1),2e3)}catch(t){m(t instanceof Error?t.message:e)}finally{f(!1)}},[r,b,x,t])}}function ve(){return{enabled:!1,provider:`alibaba`,alibaba:{model:`paraformer-v2`},openai:{model:`whisper-1`},fallback:{enabled:!0,order:[`alibaba`,`openai`]}}}function I(){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=ve();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=I();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(i(`/api/config`))).payload?.config??{})}async function q(e){await s(i(`/api/config`),{method:`PATCH`,body:JSON.stringify({stt:U(e.stt),tts:W(e.tts)})}),l()}async function J(){let e=await s(i(`/api/voice/models`));if(!e.payload?.models)throw Error(`Missing voice models payload`);return e.payload.models}async function Y(){let e=await s(i(`/api/voice/providers`));if(!e.payload?.providers)throw Error(`Missing voice providers payload`);return e.payload}async function X(){let e=await s(i(`/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(i(`/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,te.c)(15),{kind:n,providerId:r,fieldId:i,value:a,onChange:o,labels:s,placeholder:c,className:l}=e,d=c===void 0?`sk-...`:c,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]===l?m=t[4]:(m=y(`flex min-w-0 flex-col gap-1.5`,l),t[3]=l,t[4]=m);let h;t[5]!==i||t[6]!==s||t[7]!==o||t[8]!==d||t[9]!==p||t[10]!==a?(h=(0,j.jsx)(u,{id:i,value:a,onChange:o,placeholder:d,labels:s,reveal:p,loadFailedLabel:s.loadFailed,maskedHelp:s.maskedHelp,notInConfigFile:s.notInConfigFile,inputClassName:`text-xs`}),t[5]=i,t[6]=s,t[7]=o,t[8]=d,t[9]=p,t[10]=a,t[11]=h):h=t[11];let g;return t[12]!==m||t[13]!==h?(g=(0,j.jsx)(`div`,{className:m,children:h}),t[12]=m,t[13]=h,t[14]=g):g=t[14],g}function $(e){return e.apiKey??null}export{X as a,F as c,S as d,K as i,fe as l,J as n,G as o,Y as r,q as s,Q as t,ee as u};
@@ -1 +1 @@
1
- import{c as e,l as t,rr as n}from"./index-slwUkhxH.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,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,4 +1,4 @@
1
- import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,n,t as r}from"./vendor-react-BOUWij0V.js";import{i,o as a}from"./url-DQRqHuL-.js";import{i as o}from"./vendor-swr-BIWyz7Rc.js";import{t as s}from"./circle-check-C23XjkUj.js";import{t as c}from"./copy-Dv6d4Dvw.js";import{a as l}from"./fetch-CFdKBnE6.js";import{A as u,Ar as d,C as f,D as p,Do as m,Dr as h,E as g,Ea as _,Er as v,Fo as y,Gi as b,M as x,Nt as S,O as C,Or as w,Po as T,S as E,T as D,Ti as O,Tr as k,Ua as A,Ui as j,Vi as M,Vr as N,Zi as P,_ as ee,a as F,b as I,ba as te,bi as ne,d as L,ei as R,es as re,f as z,fa as B,fi as V,fo as H,g as U,h as W,hi as ie,i as ae,ia as G,ii as K,j as oe,ji as se,jr as ce,k as le,kr as q,m as ue,mo as de,ns as fe,o as pe,pi as J,r as me,ra as he,ro as ge,s as _e,u as ve,ua as ye,v as be,w as xe,x as Se,y as Ce,yo as we,zo as Te,zt as Ee}from"./index-slwUkhxH.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-DvzJKs6W.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:i,nowMs:o,selected:s,onOpen:c,onOpenChat:l,onCancel:u,onRetry:d}=e,f=a(r).workflows,[p,m]=(0,Z.useState)(!1),h;t[0]===n?h=t[1]:(h=Ue(n),t[0]=n,t[1]=h);let g=!h,_;t[2]===n?_=t[3]:(_=at(n),t[2]=n,t[3]=_);let v=_,y=n.status===`running`||n.status===`queued`,b;t[4]!==n.metrics.agentCount||t[5]!==n.metrics.doneAgentCount?(b=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]=b):b=t[6];let x=b,S=n.metrics.errorAgentCount>0,C=n.startedAtMs??n.createdAtMs,w=je(v?o-C:n.metrics.durationMs),T=X(f.taskArtifacts,{count:n.metrics.artifactCount}),E;t[7]===n?E=t[8]:(E=qe(n),t[7]=n,t[8]=E);let D=E,k;t[9]===n?k=t[10]:(k=Je(n),t[9]=n,t[10]=k);let A=k,j;t[11]!==c||t[12]!==n?(j=()=>{c(n)},t[11]=c,t[12]=n,t[13]=j):j=t[13];let M=j,N;t[14]!==g||t[15]!==l||t[16]!==n?(N=()=>{g||l(n)},t[14]=g,t[15]=l,t[16]=n,t[17]=N):N=t[17];let P=N,ee=s?`border-accent/70 ring-1 ring-accent/30`:`border-edge`,F;t[18]===ee?F=t[19]:(F=J(`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]=F);let I;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(I=J(`w-full text-left`,K.focusRingPanel),t[20]=I):I=t[20];let te;t[21]===D?te=t[22]:(te=(0,$.jsx)(`div`,{className:`line-clamp-2 text-sm font-semibold leading-5 text-fg`,children:D}),t[21]=D,t[22]=te);let ne;t[23]===A?ne=t[24]:(ne=(0,$.jsx)(`div`,{className:`mt-1 truncate text-[11px] font-medium text-fg-muted`,children:A}),t[23]=A,t[24]=ne);let L;t[25]!==te||t[26]!==ne?(L=(0,$.jsxs)(`div`,{className:`min-w-0`,children:[te,ne]}),t[25]=te,t[26]=ne,t[27]=L):L=t[27];let R;t[28]===n.status?R=t[29]:(R=J(`shrink-0 rounded-full px-2 py-0.5 text-[10px] font-semibold shadow-sm`,ke(n.status)),t[28]=n.status,t[29]=R);let re;t[30]!==i||t[31]!==o||t[32]!==C?(re=it(C,o,i),t[30]=i,t[31]=o,t[32]=C,t[33]=re):re=t[33];let z;t[34]===re?z=t[35]:(z=(0,$.jsx)(`span`,{children:re}),t[34]=re,t[35]=z);let B=w===`—`?null:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{"aria-hidden":!0,children:`·`}),(0,$.jsx)(`span`,{children:X(f.taskElapsed,{duration:w})})]}),U;t[36]!==z||t[37]!==B?(U=(0,$.jsxs)(`div`,{className:`mt-2 flex flex-wrap items-center gap-1.5 text-[11px] text-fg-subtle`,children:[z,B]}),t[36]=z,t[37]=B,t[38]=U):U=t[38];let W=n.metrics.artifactCount>0?(0,$.jsx)(`span`,{className:`rounded-full bg-surface-hover px-2 py-0.5 font-medium text-fg-muted`,children:T}):null,ie=s?(0,$.jsx)(`span`,{className:`font-medium text-accent-fg`,children:f.taskOpenDetails}):null,ae;t[39]!==W||t[40]!==ie?(ae=(0,$.jsxs)(`div`,{className:`mt-3 flex flex-wrap items-center gap-2 text-[11px] text-fg-subtle`,children:[W,ie]}),t[39]=W,t[40]=ie,t[41]=ae):ae=t[41];let G;t[42]===m?G=t[43]:(G=()=>m(lt),t[42]=m,t[43]=G);let oe;t[44]===Symbol.for(`react.memo_cache_sentinel`)?(oe=(0,$.jsx)(H,{className:`size-4`,"aria-hidden":!0}),t[44]=oe):oe=t[44];let se;t[45]!==f.taskActionsAria||t[46]!==p||t[47]!==G?(se=(0,$.jsx)(V,{variant:`ghost`,className:`size-7 p-0 opacity-0 group-hover:opacity-100 group-focus-within:opacity-100`,"aria-label":f.taskActionsAria,"aria-expanded":p,onClick:G,children:oe}),t[45]=f.taskActionsAria,t[46]=p,t[47]=G,t[48]=se):se=t[48];let ce;t[49]!==v||t[50]!==g||t[51]!==P||t[52]!==f.cancel||t[53]!==f.continueInChat||t[54]!==f.rerun||t[55]!==f.taskCloseMenu||t[56]!==p||t[57]!==u||t[58]!==d||t[59]!==n||t[60]!==m?(ce=p?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`button`,{type:`button`,className:`fixed inset-0 z-10 cursor-default`,"aria-label":f.taskCloseMenu,onClick:()=>m(!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:f.continueInChat,disabled:g,onClick:()=>{m(!1),P()}}),v?(0,$.jsx)(ct,{label:f.cancel,tone:`danger`,onClick:()=>{m(!1),u(n.id)}}):null,ot(n)?(0,$.jsx)(ct,{label:f.rerun,onClick:()=>{m(!1),d(n.id)}}):null]})]}):null,t[49]=v,t[50]=g,t[51]=P,t[52]=f.cancel,t[53]=f.continueInChat,t[54]=f.rerun,t[55]=f.taskCloseMenu,t[56]=p,t[57]=u,t[58]=d,t[59]=n,t[60]=m,t[61]=ce):ce=t[61];let le;return t[62]!==se||t[63]!==ce?(le=(0,$.jsxs)(`div`,{className:`absolute right-2 top-2`,children:[se,ce]}),t[62]=se,t[63]=ce,t[64]=le):le=t[64],(0,$.jsxs)(`div`,{className:F,children:[(0,$.jsxs)(`button`,{type:`button`,onClick:M,"aria-label":`${f.taskOpenDetails}: ${D}`,"aria-current":s?`true`:void 0,className:I,children:[(0,$.jsxs)(`div`,{className:`pr-7`,children:[(0,$.jsxs)(`div`,{className:`flex min-w-0 items-start justify-between gap-2`,children:[L,(0,$.jsx)(`span`,{className:R,children:f.status[n.status]??n.status})]}),U]}),y?(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(f.agentProgress,{done:n.metrics.doneAgentCount,total:n.metrics.agentCount})}),(0,$.jsxs)(`span`,{children:[x,`%`]})]}),(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:`${x}%`}})})]}):null,ae,S?(0,$.jsxs)(`div`,{className:`mt-2 flex items-center gap-1 text-[11px] text-amber-700 dark:text-amber-300`,children:[(0,$.jsx)(O,{className:`size-3 shrink-0`,"aria-hidden":!0}),X(f.runRowErrorSummary,{count:n.metrics.errorAgentCount})]}):null]}),le]})});function ct(e){let t=(0,Q.c)(8),{label:n,disabled:r,tone:i,onClick:a}=e,o=r?`cursor-not-allowed text-fg-subtle`:`text-fg hover:bg-surface-hover`,s=i===`danger`&&!r&&`text-red-600 dark:text-red-300`,c;t[0]!==o||t[1]!==s?(c=J(`block w-full px-3 py-1.5 text-left text-xs`,o,s),t[0]=o,t[1]=s,t[2]=c):c=t[2];let l;return t[3]!==r||t[4]!==n||t[5]!==a||t[6]!==c?(l=(0,$.jsx)(`button`,{type:`button`,disabled:r,onClick:a,className:c,children:n}),t[3]=r,t[4]=n,t[5]=a,t[6]=c,t[7]=l):l=t[7],l}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:i,nowMs:o,selectedRunId:s,onOpenRun:c,onOpenRunChat:l,onCancelRun:u,onRetryRun:d}=e,f=a(r).workflows,[p,m]=(0,Z.useState)(!1),h=n.id===`succeeded`,g=h?5:n.runs.length,_;t[0]!==g||t[1]!==n.runs||t[2]!==p||t[3]!==h?(_=h&&!p?n.runs.slice(0,g):n.runs,t[0]=g,t[1]=n.runs,t[2]=p,t[3]=h,t[4]=_):_=t[4];let v=_,y=h&&n.runs.length>5&&!p,b=h&&p,x;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(x=J(`flex min-h-112 w-73 shrink-0 snap-center flex-col rounded-2xl border border-edge bg-surface-panel/40`),t[5]=x):x=t[5];let S;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,$.jsx)(`span`,{className:`size-2 rounded-full bg-accent`,"aria-hidden":!0}),t[6]=S):S=t[6];let C;t[7]===n.runs.length?C=t[8]:(C=(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]=C);let w=v.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:f.boardColumnEmpty}):v.map(e=>(0,$.jsx)(st,{run:e,language:r,localeTag:i,nowMs:o,selected:e.id===s,onOpen:c,onOpenChat:l,onCancel:u,onRetry:d},e.id)),T=y?(0,$.jsx)(V,{variant:`ghost`,className:`h-8 w-full text-xs`,onClick:()=>m(!0),children:X(f.boardExpandSucceeded,{count:Math.min(n.runs.length,n.totalInWindow??n.runs.length)})}):null,E=b?(0,$.jsx)(V,{variant:`ghost`,className:`h-8 w-full text-xs`,onClick:()=>m(!1),children:f.boardCollapseSucceeded}):null,D=h&&(n.hiddenByCap??0)>0?(0,$.jsx)(`p`,{className:`px-1 text-center text-[11px] text-fg-subtle`,children:X(f.boardSucceededCapHint,{count:n.hiddenByCap??0})}):null,O;return t[9]!==w||t[10]!==T||t[11]!==E||t[12]!==D?(O=(0,$.jsxs)(`div`,{className:`flex flex-1 flex-col gap-3 p-2.5`,children:[w,T,E,D]}),t[9]=w,t[10]=T,t[11]=E,t[12]=D,t[13]=O):O=t[13],(0,$.jsxs)(`section`,{className:x,"aria-label":ut(n.id,f),children:[(0,$.jsxs)(`header`,{className:`sticky top-0 z-10 flex 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:[S,(0,$.jsx)(`h2`,{className:`truncate text-sm font-semibold text-fg`,children:ut(n.id,f)})]}),C]}),O]})}),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)(V,{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:`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 min-w-0 snap-x snap-mandatory gap-3 overflow-x-auto px-1 pb-2`,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 = {
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,n,t as r}from"./vendor-react-BOUWij0V.js";import{i,o as a}from"./url-DQRqHuL-.js";import{i as o}from"./vendor-swr-BIWyz7Rc.js";import{t as s}from"./circle-check-C23XjkUj.js";import{t as c}from"./copy-Dv6d4Dvw.js";import{a as l}from"./fetch-CFdKBnE6.js";import{A as u,Ar as d,C as f,D as p,Do as m,Dr as h,E as g,Ea as _,Er as v,Fo as y,Gi as b,M as x,Nt as S,O as C,Or as w,Po as T,S as E,T as D,Ti as O,Tr as k,Ua as A,Ui as j,Vi as M,Vr as N,Zi as P,_ as ee,a as F,b as I,ba as te,bi as ne,d as L,ei as R,es as re,f as z,fa as B,fi as V,fo as H,g as U,h as W,hi as ie,i as ae,ia as G,ii as K,j as oe,ji as se,jr as ce,k as le,kr as q,m as ue,mo as de,ns as fe,o as pe,pi as J,r as me,ra as he,ro as ge,s as _e,u as ve,ua as ye,v as be,w as xe,x as Se,y as Ce,yo as we,zo as Te,zt as Ee}from"./index-C_2yKRJX.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-EYg_xBQS.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:i,nowMs:o,selected:s,onOpen:c,onOpenChat:l,onCancel:u,onRetry:d}=e,f=a(r).workflows,[p,m]=(0,Z.useState)(!1),h;t[0]===n?h=t[1]:(h=Ue(n),t[0]=n,t[1]=h);let g=!h,_;t[2]===n?_=t[3]:(_=at(n),t[2]=n,t[3]=_);let v=_,y=n.status===`running`||n.status===`queued`,b;t[4]!==n.metrics.agentCount||t[5]!==n.metrics.doneAgentCount?(b=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]=b):b=t[6];let x=b,S=n.metrics.errorAgentCount>0,C=n.startedAtMs??n.createdAtMs,w=je(v?o-C:n.metrics.durationMs),T=X(f.taskArtifacts,{count:n.metrics.artifactCount}),E;t[7]===n?E=t[8]:(E=qe(n),t[7]=n,t[8]=E);let D=E,k;t[9]===n?k=t[10]:(k=Je(n),t[9]=n,t[10]=k);let A=k,j;t[11]!==c||t[12]!==n?(j=()=>{c(n)},t[11]=c,t[12]=n,t[13]=j):j=t[13];let M=j,N;t[14]!==g||t[15]!==l||t[16]!==n?(N=()=>{g||l(n)},t[14]=g,t[15]=l,t[16]=n,t[17]=N):N=t[17];let P=N,ee=s?`border-accent/70 ring-1 ring-accent/30`:`border-edge`,F;t[18]===ee?F=t[19]:(F=J(`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]=F);let I;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(I=J(`w-full text-left`,K.focusRingPanel),t[20]=I):I=t[20];let te;t[21]===D?te=t[22]:(te=(0,$.jsx)(`div`,{className:`line-clamp-2 text-sm font-semibold leading-5 text-fg`,children:D}),t[21]=D,t[22]=te);let ne;t[23]===A?ne=t[24]:(ne=(0,$.jsx)(`div`,{className:`mt-1 truncate text-[11px] font-medium text-fg-muted`,children:A}),t[23]=A,t[24]=ne);let L;t[25]!==te||t[26]!==ne?(L=(0,$.jsxs)(`div`,{className:`min-w-0`,children:[te,ne]}),t[25]=te,t[26]=ne,t[27]=L):L=t[27];let R;t[28]===n.status?R=t[29]:(R=J(`shrink-0 rounded-full px-2 py-0.5 text-[10px] font-semibold shadow-sm`,ke(n.status)),t[28]=n.status,t[29]=R);let re;t[30]!==i||t[31]!==o||t[32]!==C?(re=it(C,o,i),t[30]=i,t[31]=o,t[32]=C,t[33]=re):re=t[33];let z;t[34]===re?z=t[35]:(z=(0,$.jsx)(`span`,{children:re}),t[34]=re,t[35]=z);let B=w===`—`?null:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{"aria-hidden":!0,children:`·`}),(0,$.jsx)(`span`,{children:X(f.taskElapsed,{duration:w})})]}),U;t[36]!==z||t[37]!==B?(U=(0,$.jsxs)(`div`,{className:`mt-2 flex flex-wrap items-center gap-1.5 text-[11px] text-fg-subtle`,children:[z,B]}),t[36]=z,t[37]=B,t[38]=U):U=t[38];let W=n.metrics.artifactCount>0?(0,$.jsx)(`span`,{className:`rounded-full bg-surface-hover px-2 py-0.5 font-medium text-fg-muted`,children:T}):null,ie=s?(0,$.jsx)(`span`,{className:`font-medium text-accent-fg`,children:f.taskOpenDetails}):null,ae;t[39]!==W||t[40]!==ie?(ae=(0,$.jsxs)(`div`,{className:`mt-3 flex flex-wrap items-center gap-2 text-[11px] text-fg-subtle`,children:[W,ie]}),t[39]=W,t[40]=ie,t[41]=ae):ae=t[41];let G;t[42]===m?G=t[43]:(G=()=>m(lt),t[42]=m,t[43]=G);let oe;t[44]===Symbol.for(`react.memo_cache_sentinel`)?(oe=(0,$.jsx)(H,{className:`size-4`,"aria-hidden":!0}),t[44]=oe):oe=t[44];let se;t[45]!==f.taskActionsAria||t[46]!==p||t[47]!==G?(se=(0,$.jsx)(V,{variant:`ghost`,className:`size-7 p-0 opacity-0 group-hover:opacity-100 group-focus-within:opacity-100`,"aria-label":f.taskActionsAria,"aria-expanded":p,onClick:G,children:oe}),t[45]=f.taskActionsAria,t[46]=p,t[47]=G,t[48]=se):se=t[48];let ce;t[49]!==v||t[50]!==g||t[51]!==P||t[52]!==f.cancel||t[53]!==f.continueInChat||t[54]!==f.rerun||t[55]!==f.taskCloseMenu||t[56]!==p||t[57]!==u||t[58]!==d||t[59]!==n||t[60]!==m?(ce=p?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`button`,{type:`button`,className:`fixed inset-0 z-10 cursor-default`,"aria-label":f.taskCloseMenu,onClick:()=>m(!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:f.continueInChat,disabled:g,onClick:()=>{m(!1),P()}}),v?(0,$.jsx)(ct,{label:f.cancel,tone:`danger`,onClick:()=>{m(!1),u(n.id)}}):null,ot(n)?(0,$.jsx)(ct,{label:f.rerun,onClick:()=>{m(!1),d(n.id)}}):null]})]}):null,t[49]=v,t[50]=g,t[51]=P,t[52]=f.cancel,t[53]=f.continueInChat,t[54]=f.rerun,t[55]=f.taskCloseMenu,t[56]=p,t[57]=u,t[58]=d,t[59]=n,t[60]=m,t[61]=ce):ce=t[61];let le;return t[62]!==se||t[63]!==ce?(le=(0,$.jsxs)(`div`,{className:`absolute right-2 top-2`,children:[se,ce]}),t[62]=se,t[63]=ce,t[64]=le):le=t[64],(0,$.jsxs)(`div`,{className:F,children:[(0,$.jsxs)(`button`,{type:`button`,onClick:M,"aria-label":`${f.taskOpenDetails}: ${D}`,"aria-current":s?`true`:void 0,className:I,children:[(0,$.jsxs)(`div`,{className:`pr-7`,children:[(0,$.jsxs)(`div`,{className:`flex min-w-0 items-start justify-between gap-2`,children:[L,(0,$.jsx)(`span`,{className:R,children:f.status[n.status]??n.status})]}),U]}),y?(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(f.agentProgress,{done:n.metrics.doneAgentCount,total:n.metrics.agentCount})}),(0,$.jsxs)(`span`,{children:[x,`%`]})]}),(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:`${x}%`}})})]}):null,ae,S?(0,$.jsxs)(`div`,{className:`mt-2 flex items-center gap-1 text-[11px] text-amber-700 dark:text-amber-300`,children:[(0,$.jsx)(O,{className:`size-3 shrink-0`,"aria-hidden":!0}),X(f.runRowErrorSummary,{count:n.metrics.errorAgentCount})]}):null]}),le]})});function ct(e){let t=(0,Q.c)(8),{label:n,disabled:r,tone:i,onClick:a}=e,o=r?`cursor-not-allowed text-fg-subtle`:`text-fg hover:bg-surface-hover`,s=i===`danger`&&!r&&`text-red-600 dark:text-red-300`,c;t[0]!==o||t[1]!==s?(c=J(`block w-full px-3 py-1.5 text-left text-xs`,o,s),t[0]=o,t[1]=s,t[2]=c):c=t[2];let l;return t[3]!==r||t[4]!==n||t[5]!==a||t[6]!==c?(l=(0,$.jsx)(`button`,{type:`button`,disabled:r,onClick:a,className:c,children:n}),t[3]=r,t[4]=n,t[5]=a,t[6]=c,t[7]=l):l=t[7],l}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:i,nowMs:o,selectedRunId:s,onOpenRun:c,onOpenRunChat:l,onCancelRun:u,onRetryRun:d}=e,f=a(r).workflows,[p,m]=(0,Z.useState)(!1),h=n.id===`succeeded`,g=h?5:n.runs.length,_;t[0]!==g||t[1]!==n.runs||t[2]!==p||t[3]!==h?(_=h&&!p?n.runs.slice(0,g):n.runs,t[0]=g,t[1]=n.runs,t[2]=p,t[3]=h,t[4]=_):_=t[4];let v=_,y=h&&n.runs.length>5&&!p,b=h&&p,x;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(x=J(`flex min-h-112 w-73 shrink-0 snap-center flex-col rounded-2xl border border-edge bg-surface-panel/40`),t[5]=x):x=t[5];let S;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,$.jsx)(`span`,{className:`size-2 rounded-full bg-accent`,"aria-hidden":!0}),t[6]=S):S=t[6];let C;t[7]===n.runs.length?C=t[8]:(C=(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]=C);let w=v.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:f.boardColumnEmpty}):v.map(e=>(0,$.jsx)(st,{run:e,language:r,localeTag:i,nowMs:o,selected:e.id===s,onOpen:c,onOpenChat:l,onCancel:u,onRetry:d},e.id)),T=y?(0,$.jsx)(V,{variant:`ghost`,className:`h-8 w-full text-xs`,onClick:()=>m(!0),children:X(f.boardExpandSucceeded,{count:Math.min(n.runs.length,n.totalInWindow??n.runs.length)})}):null,E=b?(0,$.jsx)(V,{variant:`ghost`,className:`h-8 w-full text-xs`,onClick:()=>m(!1),children:f.boardCollapseSucceeded}):null,D=h&&(n.hiddenByCap??0)>0?(0,$.jsx)(`p`,{className:`px-1 text-center text-[11px] text-fg-subtle`,children:X(f.boardSucceededCapHint,{count:n.hiddenByCap??0})}):null,O;return t[9]!==w||t[10]!==T||t[11]!==E||t[12]!==D?(O=(0,$.jsxs)(`div`,{className:`flex flex-1 flex-col gap-3 p-2.5`,children:[w,T,E,D]}),t[9]=w,t[10]=T,t[11]=E,t[12]=D,t[13]=O):O=t[13],(0,$.jsxs)(`section`,{className:x,"aria-label":ut(n.id,f),children:[(0,$.jsxs)(`header`,{className:`sticky top-0 z-10 flex 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:[S,(0,$.jsx)(`h2`,{className:`truncate text-sm font-semibold text-fg`,children:ut(n.id,f)})]}),C]}),O]})}),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)(V,{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:`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 min-w-0 snap-x snap-mandatory gap-3 overflow-x-auto px-1 pb-2`,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
2
  name: 'my_workflow',
3
3
  description: 'Describe what this workflow does.',
4
4
  whenToUse: 'When the user asks for ...',
@@ -10,7 +10,7 @@
10
10
  <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16.png?v=20260621-4" />
11
11
  <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=20260621-4" />
12
12
  <title>xopc</title>
13
- <script type="module" crossorigin src="/assets/index-slwUkhxH.js"></script>
13
+ <script type="module" crossorigin src="/assets/index-C_2yKRJX.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
16
  <link rel="modulepreload" crossorigin href="/assets/vendor-codemirror-DYoKfS8f.js">
package/dist/package.js CHANGED
@@ -1,5 +1,5 @@
1
1
  //#region package.json
2
- var version = "0.0.108";
2
+ var version = "0.0.110";
3
3
  //#endregion
4
4
  export { version };
5
5
 
@@ -1,14 +1,14 @@
1
- import { createLogger } from "../utils/logger/index.js";
2
- import { init_logger } from "../utils/logger.js";
1
+ import { getAgentDefaultModelRef, init_schema } from "../config/schema.js";
2
+ import { applyConfigOverrides } from "../config/runtime-overrides.js";
3
3
  import { resolveStateDir } from "../config/paths-state.js";
4
4
  import { expandWorkspacePathString, init_workspace_path } from "../config/workspace-path.js";
5
5
  import { init_agent_scope, resolveAgentProfileDir } from "./agent-scope.js";
6
+ import { resolveEffectiveAgentProfile, resolveEffectiveAgentProfileForSession } from "../config/agent-profile.js";
7
+ import { createLogger } from "../utils/logger/index.js";
8
+ import { init_logger } from "../utils/logger.js";
6
9
  import { init_paths, resolveBundledSkillsDir } from "../config/paths.js";
7
- import { CredentialResolver, init_credentials } from "../auth/credentials.js";
8
- import { getAgentDefaultModelRef, init_schema } from "../config/schema.js";
9
10
  import { init_sync_provider_auth, resolveProviderApiKeySync } from "../auth/sync-provider-auth.js";
10
- import { applyConfigOverrides } from "../config/runtime-overrides.js";
11
- import { resolveEffectiveAgentProfile, resolveEffectiveAgentProfileForSession } from "../config/agent-profile.js";
11
+ import { CredentialResolver, init_credentials } from "../auth/credentials.js";
12
12
  import { getApiKeySync, getDefaultModelSync, init_providers, resolveModel } from "../providers/index.js";
13
13
  import { createExtensionAwareStreamFn } from "../providers/extension-stream-bridge.js";
14
14
  import { extractTextContent, loadProfileMarkdownFiles } from "./context/workspace.js";
@@ -28,8 +28,8 @@ import { MemoryPrefetchCoordinator } from "./memory/prefetch-coordinator.js";
28
28
  import { WorkspaceRuntimeRegistry } from "./workspace-runtime/registry.js";
29
29
  import { BackgroundReviewCoordinator } from "./background-review/coordinator.js";
30
30
  import { maybeRequestChannelExecApproval } from "../channels/exec-approval-runtime.js";
31
- import { basename, resolve, sep } from "node:path";
32
31
  import { Agent } from "@earendil-works/pi-agent-core";
32
+ import { basename, resolve, sep } from "node:path";
33
33
  //#region src/agent/agent-manager.ts
34
34
  /**
35
35
  * Agent Manager - Manages Agent instances per session
@@ -2,8 +2,8 @@ import { __esmMin } from "../../_virtual/_rolldown/runtime.js";
2
2
  import { init_paths_state, resolveStateDir } from "../config/paths-state.js";
3
3
  import { expandWorkspacePathString, init_workspace_path } from "../config/workspace-path.js";
4
4
  import { init_workspace_defaults, resolveDefaultAgentWorkspaceDir } from "../config/workspace-defaults.js";
5
- import fs from "node:fs";
6
5
  import { basename, isAbsolute, join, relative, resolve } from "node:path";
6
+ import fs from "node:fs";
7
7
  //#region src/agent/agent-scope.ts
8
8
  /**
9
9
  * Agent path and list resolution (config is the single source of truth).
@@ -1,6 +1,6 @@
1
1
  import { DEFAULT_AGENTS_FILENAME, DEFAULT_HEARTBEAT_FILENAME, DEFAULT_IDENTITY_FILENAME, DEFAULT_MEMORY_FILENAME, DEFAULT_SOUL_FILENAME, DEFAULT_TOOLS_FILENAME, DEFAULT_USER_FILENAME, stripFrontMatter } from "../context/workspace.js";
2
- import { existsSync, readFileSync } from "node:fs";
3
2
  import { join, resolve } from "node:path";
3
+ import { existsSync, readFileSync } from "node:fs";
4
4
  //#region src/agent/bootstrap/load-bootstrap-files.ts
5
5
  const PROFILE_LOAD_ORDER = [
6
6
  DEFAULT_AGENTS_FILENAME,
@@ -1,10 +1,10 @@
1
+ import { init_agent_scope, resolveAgentProfileDir, resolveAgentWorkspaceDir, resolveDefaultAgentId } from "../agent-scope.js";
1
2
  import { createLogger } from "../../utils/logger/index.js";
2
3
  import { init_logger } from "../../utils/logger.js";
3
- import { init_agent_scope, resolveAgentProfileDir, resolveAgentWorkspaceDir, resolveDefaultAgentId } from "../agent-scope.js";
4
4
  import { WORKSPACE_FILES, init_paths } from "../../config/paths.js";
5
5
  import { AGENT_PROFILE_MARKDOWN_SYSTEM_FILES } from "./workspace.js";
6
- import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
7
6
  import { dirname, join } from "node:path";
7
+ import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
8
8
  import { fileURLToPath } from "node:url";
9
9
  import { execFileSync } from "node:child_process";
10
10
  //#region src/agent/context/workspace-seed.ts
@@ -1,6 +1,6 @@
1
1
  import { FILENAMES, init_paths, resolveWorkspaceStatePath } from "../../config/paths.js";
2
- import { mkdirSync, readFileSync, writeFileSync } from "node:fs";
3
2
  import { dirname, join } from "node:path";
3
+ import { mkdirSync, readFileSync, writeFileSync } from "node:fs";
4
4
  //#region src/agent/context/workspace-state.ts
5
5
  /**
6
6
  * Workspace setup metadata in `<markdownWorkspace>/.xopc/workspace.json`
@@ -1,13 +1,13 @@
1
- import { init_write_file_atomic, writeTextAtomic } from "../../infra/write-file-atomic.js";
2
- import { createLogger } from "../../utils/logger/index.js";
3
- import { init_logger } from "../../utils/logger.js";
4
1
  import { init_agent_scope, resolveAgentHomeDir } from "../agent-scope.js";
5
2
  import { extractProfileAgentId } from "../../config/agent-profile.js";
3
+ import { createLogger } from "../../utils/logger/index.js";
4
+ import { init_logger } from "../../utils/logger.js";
5
+ import { init_write_file_atomic, writeTextAtomic } from "../../infra/write-file-atomic.js";
6
6
  import { checklistCounts } from "./checklist-types.js";
7
7
  import "./goal-run-types.js";
8
+ import { join } from "node:path";
8
9
  import { createHash, randomUUID } from "node:crypto";
9
10
  import { readFile } from "node:fs/promises";
10
- import { join } from "node:path";
11
11
  //#region src/agent/goals/goal-run-store.ts
12
12
  init_agent_scope();
13
13
  init_write_file_atomic();
@@ -1,6 +1,6 @@
1
+ import { init_session_key, parseSessionKey } from "../../routing/session-key.js";
1
2
  import { createLogger } from "../../utils/logger/index.js";
2
3
  import { init_logger } from "../../utils/logger.js";
3
- import { init_session_key, parseSessionKey } from "../../routing/session-key.js";
4
4
  import { handlePersistentGoalPostTurn } from "./post-turn.js";
5
5
  //#region src/agent/goals/persistent-goal-service.ts
6
6
  init_session_key();
@@ -1,7 +1,7 @@
1
- import { createLogger } from "../../utils/logger/index.js";
2
- import { init_logger } from "../../utils/logger.js";
3
1
  import { getAgentDefaultModelRef, init_schema } from "../../config/schema.js";
4
2
  import { resolveEffectiveAgentProfileForSession } from "../../config/agent-profile.js";
3
+ import { createLogger } from "../../utils/logger/index.js";
4
+ import { init_logger } from "../../utils/logger.js";
5
5
  import { PERSISTENT_GOAL_CUSTOM_KEY, mergeCustomDataPatch, readPersistentGoal, serializePersistentGoal } from "./state.js";
6
6
  import { resolveGoalUiLocale } from "./goal-locale.js";
7
7
  import { evaluateAfterTurnHermesLike } from "./evaluate-turn.js";
@@ -1,8 +1,8 @@
1
1
  import { checkFileSafety } from "../prompt/safety.js";
2
2
  import { decodeDataUrl } from "./image-helpers.js";
3
- import { promises } from "node:fs";
4
- import path from "node:path";
5
3
  import { homedir } from "node:os";
4
+ import path from "node:path";
5
+ import { promises } from "node:fs";
6
6
  //#region src/agent/image/load-image-media.ts
7
7
  function expandUser(p) {
8
8
  if (p.startsWith("~/") || p === "~") return path.join(homedir(), p.slice(1));
@@ -1,6 +1,6 @@
1
+ import { init_agent_scope, resolveDefaultAgentId } from "../agent-scope.js";
1
2
  import { createLogger } from "../../utils/logger/index.js";
2
3
  import { init_logger } from "../../utils/logger.js";
3
- import { init_agent_scope, resolveDefaultAgentId } from "../agent-scope.js";
4
4
  import { createResponseMessage, createSignalMessage, createTaskMessage } from "./types.js";
5
5
  import { AgentInbox } from "./inbox.js";
6
6
  //#region src/agent/ipc/bus.ts
@@ -1,10 +1,10 @@
1
- import { init_write_file_atomic, writeTextAtomic } from "../../infra/write-file-atomic.js";
2
1
  import { createLogger } from "../../utils/logger/index.js";
3
2
  import { init_logger } from "../../utils/logger.js";
4
3
  import { init_paths, resolveAgentDir } from "../../config/paths.js";
5
- import { mkdir, readFile, readdir, rename } from "fs/promises";
4
+ import { init_write_file_atomic, writeTextAtomic } from "../../infra/write-file-atomic.js";
6
5
  import { join } from "path";
7
6
  import { existsSync, watch } from "fs";
7
+ import { mkdir, readFile, readdir, rename } from "fs/promises";
8
8
  //#region src/agent/ipc/inbox.ts
9
9
  init_write_file_atomic();
10
10
  init_logger();