@jingyi0605/codingns 0.6.5 → 0.7.0
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.
- package/dist/public/assets/AdaptiveButlerPage-B8mg25ze.js +3 -0
- package/dist/public/assets/{App-B9HcTkMT.js → App-C2lNmeKL.js} +6 -6
- package/dist/public/assets/{BootstrapPage-BgLdZEKQ.js → BootstrapPage-CAVA-a8h.js} +1 -1
- package/dist/public/assets/ConversationPage-B6BGOX4C.js +6 -0
- package/dist/public/assets/{DesktopDetachPreviewPage-YCBnyC58.js → DesktopDetachPreviewPage-B37DUL15.js} +1 -1
- package/dist/public/assets/{DesktopWindowPage-CrvndE23.js → DesktopWindowPage-CDA6l7lm.js} +1 -1
- package/dist/public/assets/{FileContextPanel-CdC7GGw5.js → FileContextPanel-CMGTtAB6.js} +1 -1
- package/dist/public/assets/{GitSidebar-z2SBinQh.js → GitSidebar--DCqBiGL.js} +1 -1
- package/dist/public/assets/{MobileCreateSessionSheet-Cb2HM-y3.js → MobileCreateSessionSheet-THIrIzJ3.js} +1 -1
- package/dist/public/assets/{MobileTopHeaderFrame-etF2HKlm.js → MobileTopHeaderFrame-D-X7pVnV.js} +1 -1
- package/dist/public/assets/{MobileWorkspaceSwitcherHeader-CuGJ31kb.js → MobileWorkspaceSwitcherHeader-Cczi7RYu.js} +1 -1
- package/dist/public/assets/{RelayConnectEntryPage-BB6DbGtP.js → RelayConnectEntryPage-D417tgWj.js} +1 -1
- package/dist/public/assets/{ServerSettingsModal-Bl1sacZg.js → ServerSettingsModal-BdTxbRbU.js} +1 -1
- package/dist/public/assets/SessionIndexPage-D5iefVcc.js +1 -0
- package/dist/public/assets/SettingsPage-iCFe_DHP.js +2 -0
- package/dist/public/assets/{TerminalManagerPanel-BOm8Hi_v.js → TerminalManagerPanel-CtldwWz8.js} +1 -1
- package/dist/public/assets/{TerminalPage-B5JNFU6w.js → TerminalPage-DAzQTmQC.js} +18 -18
- package/dist/public/assets/{TerminalRuntimeFallbackModal-CM3LRKOJ.js → TerminalRuntimeFallbackModal-DLOhAvaq.js} +1 -1
- package/dist/public/assets/{ToolFilesPage-GSqKQsj_.js → ToolFilesPage-D7thcDEv.js} +1 -1
- package/dist/public/assets/{ToolGitPage-BVFWMMQp.js → ToolGitPage-uPRsxdcn.js} +1 -1
- package/dist/public/assets/{ToolProcessesPage-DZ456fYz.js → ToolProcessesPage-B1uOk0Ef.js} +1 -1
- package/dist/public/assets/{ToolsHomePage-DsJp0y8A.js → ToolsHomePage-rU3V8mmh.js} +1 -1
- package/dist/public/assets/{WorkbenchLandingPage-DyPei0e-.js → WorkbenchLandingPage-BudM2C69.js} +1 -1
- package/dist/public/assets/WorkbenchLayout-Dybarc1V.js +244 -0
- package/dist/public/assets/{WorkbenchModal-LNfB69qx.js → WorkbenchModal-DMQutm1x.js} +1 -1
- package/dist/public/assets/WorkbenchShellRoute-Cy4WBbzq.js +1 -0
- package/dist/public/assets/{WorkspaceDebugDetailPage-CaXj5zVI.js → WorkspaceDebugDetailPage-CHqo-uDf.js} +1 -1
- package/dist/public/assets/{WorkspaceDetailPage-DOexuuaw.js → WorkspaceDetailPage-CGkAH1W-.js} +1 -1
- package/dist/public/assets/{WorkspaceHomePage-DkCHNjKD.js → WorkspaceHomePage-CfuPVITd.js} +1 -1
- package/dist/public/assets/{client-runtime-manager-6OoYHXGd.js → client-runtime-manager-CKbtaemV.js} +1 -1
- package/dist/public/assets/file-tree-icon-Bc0KADEl.js +3 -0
- package/dist/public/assets/index-DNRyROOG.css +1 -0
- package/dist/public/assets/index-oGylLBIX.js +42 -0
- package/dist/public/assets/{login-direct-candidate-resolver-CLlYtBRq.js → login-direct-candidate-resolver-DjJMbqB7.js} +1 -1
- package/dist/public/assets/model-switch-api-T55eW6D4.js +1 -0
- package/dist/public/assets/{preferences-service-BCcfYP_d.js → preferences-service-BTKBl5xM.js} +1 -1
- package/dist/public/assets/realtime-client-ww7MnbTD.js +1 -0
- package/dist/public/assets/{relay-entry-BmLkMKuq.js → relay-entry-sdeFnTbY.js} +1 -1
- package/dist/public/assets/styles-BjPytabP.css +1 -0
- package/dist/public/assets/{terminal-runtime-meta-0h-75uRy.js → terminal-runtime-meta-Cvt1ID92.js} +1 -1
- package/dist/public/assets/{useRegisteredDebugTemplates-rBVmAqh3.js → useRegisteredDebugTemplates-O-ymgLd9.js} +1 -1
- package/dist/public/index.html +2 -2
- package/dist/server/config/env.js +21 -1
- package/dist/server/config/env.js.map +1 -1
- package/dist/server/config/opencode-base-url-resolver.d.ts +16 -0
- package/dist/server/config/opencode-base-url-resolver.js +154 -0
- package/dist/server/config/opencode-base-url-resolver.js.map +1 -1
- package/dist/server/helpers/wechat-claw-runtime/main.d.ts +1 -0
- package/dist/server/helpers/wechat-claw-runtime/main.js +38 -0
- package/dist/server/helpers/wechat-claw-runtime/main.js.map +1 -0
- package/dist/server/helpers/wechat-claw-runtime/modules/errors.d.ts +5 -0
- package/dist/server/helpers/wechat-claw-runtime/modules/errors.js +32 -0
- package/dist/server/helpers/wechat-claw-runtime/modules/errors.js.map +1 -0
- package/dist/server/helpers/wechat-claw-runtime/modules/login-service.d.ts +16 -0
- package/dist/server/helpers/wechat-claw-runtime/modules/login-service.js +209 -0
- package/dist/server/helpers/wechat-claw-runtime/modules/login-service.js.map +1 -0
- package/dist/server/helpers/wechat-claw-runtime/modules/poll-service.d.ts +18 -0
- package/dist/server/helpers/wechat-claw-runtime/modules/poll-service.js +135 -0
- package/dist/server/helpers/wechat-claw-runtime/modules/poll-service.js.map +1 -0
- package/dist/server/helpers/wechat-claw-runtime/modules/runtime-state-store.d.ts +34 -0
- package/dist/server/helpers/wechat-claw-runtime/modules/runtime-state-store.js +394 -0
- package/dist/server/helpers/wechat-claw-runtime/modules/runtime-state-store.js.map +1 -0
- package/dist/server/helpers/wechat-claw-runtime/modules/send-service.d.ts +9 -0
- package/dist/server/helpers/wechat-claw-runtime/modules/send-service.js +64 -0
- package/dist/server/helpers/wechat-claw-runtime/modules/send-service.js.map +1 -0
- package/dist/server/helpers/wechat-claw-runtime/modules/types.d.ts +167 -0
- package/dist/server/helpers/wechat-claw-runtime/modules/types.js +3 -0
- package/dist/server/helpers/wechat-claw-runtime/modules/types.js.map +1 -0
- package/dist/server/helpers/wechat-claw-runtime/modules/wechat-api-client.d.ts +34 -0
- package/dist/server/helpers/wechat-claw-runtime/modules/wechat-api-client.js +160 -0
- package/dist/server/helpers/wechat-claw-runtime/modules/wechat-api-client.js.map +1 -0
- package/dist/server/helpers/wechat-claw-runtime/routes/accounts.d.ts +9 -0
- package/dist/server/helpers/wechat-claw-runtime/routes/accounts.js +24 -0
- package/dist/server/helpers/wechat-claw-runtime/routes/accounts.js.map +1 -0
- package/dist/server/helpers/wechat-claw-runtime/server.d.ts +5 -0
- package/dist/server/helpers/wechat-claw-runtime/server.js +36 -0
- package/dist/server/helpers/wechat-claw-runtime/server.js.map +1 -0
- package/dist/server/middlewares/auth-guard.js +4 -1
- package/dist/server/middlewares/auth-guard.js.map +1 -1
- package/dist/server/modules/butler/butler-control-session-service.d.ts +16 -1
- package/dist/server/modules/butler/butler-control-session-service.js +106 -75
- package/dist/server/modules/butler/butler-control-session-service.js.map +1 -1
- package/dist/server/modules/butler/butler-session-service.js +44 -15
- package/dist/server/modules/butler/butler-session-service.js.map +1 -1
- package/dist/server/modules/channels/channel-bridge-service.d.ts +55 -0
- package/dist/server/modules/channels/channel-bridge-service.js +340 -0
- package/dist/server/modules/channels/channel-bridge-service.js.map +1 -0
- package/dist/server/modules/channels/channel-controller.d.ts +52 -0
- package/dist/server/modules/channels/channel-controller.js +54 -0
- package/dist/server/modules/channels/channel-controller.js.map +1 -0
- package/dist/server/modules/channels/channel-delivery-service.d.ts +63 -0
- package/dist/server/modules/channels/channel-delivery-service.js +429 -0
- package/dist/server/modules/channels/channel-delivery-service.js.map +1 -0
- package/dist/server/modules/channels/channel-gateway-controller.d.ts +15 -0
- package/dist/server/modules/channels/channel-gateway-controller.js +16 -0
- package/dist/server/modules/channels/channel-gateway-controller.js.map +1 -0
- package/dist/server/modules/channels/channel-gateway-service.d.ts +24 -0
- package/dist/server/modules/channels/channel-gateway-service.js +56 -0
- package/dist/server/modules/channels/channel-gateway-service.js.map +1 -0
- package/dist/server/modules/channels/channel-platform-adapters.d.ts +46 -0
- package/dist/server/modules/channels/channel-platform-adapters.js +315 -0
- package/dist/server/modules/channels/channel-platform-adapters.js.map +1 -0
- package/dist/server/modules/channels/channel-platform-catalog.d.ts +3 -0
- package/dist/server/modules/channels/channel-platform-catalog.js +42 -0
- package/dist/server/modules/channels/channel-platform-catalog.js.map +1 -0
- package/dist/server/modules/channels/channel-polling-scheduler.d.ts +31 -0
- package/dist/server/modules/channels/channel-polling-scheduler.js +93 -0
- package/dist/server/modules/channels/channel-polling-scheduler.js.map +1 -0
- package/dist/server/modules/channels/channel-polling-service.d.ts +46 -0
- package/dist/server/modules/channels/channel-polling-service.js +176 -0
- package/dist/server/modules/channels/channel-polling-service.js.map +1 -0
- package/dist/server/modules/channels/channel-service.d.ts +108 -0
- package/dist/server/modules/channels/channel-service.js +397 -0
- package/dist/server/modules/channels/channel-service.js.map +1 -0
- package/dist/server/modules/channels/wechat-claw-client.d.ts +51 -0
- package/dist/server/modules/channels/wechat-claw-client.js +245 -0
- package/dist/server/modules/channels/wechat-claw-client.js.map +1 -0
- package/dist/server/modules/channels/wechat-claw-runtime-boundary.d.ts +4 -0
- package/dist/server/modules/channels/wechat-claw-runtime-boundary.js +13 -0
- package/dist/server/modules/channels/wechat-claw-runtime-boundary.js.map +1 -0
- package/dist/server/modules/channels/wechat-claw-runtime-client.d.ts +14 -0
- package/dist/server/modules/channels/wechat-claw-runtime-client.js +95 -0
- package/dist/server/modules/channels/wechat-claw-runtime-client.js.map +1 -0
- package/dist/server/modules/channels/wechat-claw-runtime-manager.d.ts +16 -0
- package/dist/server/modules/channels/wechat-claw-runtime-manager.js +133 -0
- package/dist/server/modules/channels/wechat-claw-runtime-manager.js.map +1 -0
- package/dist/server/modules/channels/wechat-claw-runtime-types.d.ts +1 -0
- package/dist/server/modules/channels/wechat-claw-runtime-types.js +2 -0
- package/dist/server/modules/channels/wechat-claw-runtime-types.js.map +1 -0
- package/dist/server/modules/opencli/opencli-bridge-skill-service.js +2 -1
- package/dist/server/modules/opencli/opencli-bridge-skill-service.js.map +1 -1
- package/dist/server/modules/provider/provider-catalog-service.d.ts +5 -6
- package/dist/server/modules/provider/provider-catalog-service.js +12 -57
- package/dist/server/modules/provider/provider-catalog-service.js.map +1 -1
- package/dist/server/modules/provider/provider-controller.d.ts +1 -0
- package/dist/server/modules/provider/provider-controller.js +5 -0
- package/dist/server/modules/provider/provider-controller.js.map +1 -1
- package/dist/server/modules/provider/provider-runtime-state-service.d.ts +24 -0
- package/dist/server/modules/provider/provider-runtime-state-service.js +141 -0
- package/dist/server/modules/provider/provider-runtime-state-service.js.map +1 -0
- package/dist/server/modules/sessions/session-history-service.d.ts +3 -3
- package/dist/server/modules/sessions/session-history-service.js +150 -47
- package/dist/server/modules/sessions/session-history-service.js.map +1 -1
- package/dist/server/modules/sessions/session-live-runtime-service.js +9 -11
- package/dist/server/modules/sessions/session-live-runtime-service.js.map +1 -1
- package/dist/server/modules/sessions/session-provider-config-service.d.ts +1 -0
- package/dist/server/modules/sessions/session-provider-config-service.js +28 -7
- package/dist/server/modules/sessions/session-provider-config-service.js.map +1 -1
- package/dist/server/modules/sessions/session-provider-error-mapper.js +7 -0
- package/dist/server/modules/sessions/session-provider-error-mapper.js.map +1 -1
- package/dist/server/modules/tasks/task-types.d.ts +2 -0
- package/dist/server/modules/tasks/task-types.js +2 -0
- package/dist/server/modules/tasks/task-types.js.map +1 -1
- package/dist/server/routes/channels.d.ts +3 -0
- package/dist/server/routes/channels.js +16 -0
- package/dist/server/routes/channels.js.map +1 -0
- package/dist/server/routes/providers.js +1 -0
- package/dist/server/routes/providers.js.map +1 -1
- package/dist/server/routes/public.d.ts +2 -1
- package/dist/server/routes/public.js +3 -1
- package/dist/server/routes/public.js.map +1 -1
- package/dist/server/server/create-server.d.ts +22 -0
- package/dist/server/server/create-server.js +62 -3
- package/dist/server/server/create-server.js.map +1 -1
- package/dist/server/shared/http/error-handler.js +59 -3
- package/dist/server/shared/http/error-handler.js.map +1 -1
- package/dist/server/storage/repositories/channel-account-repository.d.ts +12 -0
- package/dist/server/storage/repositories/channel-account-repository.js +153 -0
- package/dist/server/storage/repositories/channel-account-repository.js.map +1 -0
- package/dist/server/storage/repositories/channel-delivery-repository.d.ts +13 -0
- package/dist/server/storage/repositories/channel-delivery-repository.js +156 -0
- package/dist/server/storage/repositories/channel-delivery-repository.js.map +1 -0
- package/dist/server/storage/repositories/channel-inbound-event-repository.d.ts +12 -0
- package/dist/server/storage/repositories/channel-inbound-event-repository.js +144 -0
- package/dist/server/storage/repositories/channel-inbound-event-repository.js.map +1 -0
- package/dist/server/storage/repositories/channel-thread-repository.d.ts +12 -0
- package/dist/server/storage/repositories/channel-thread-repository.js +152 -0
- package/dist/server/storage/repositories/channel-thread-repository.js.map +1 -0
- package/dist/server/storage/repositories/provider-runtime-state-repository.d.ts +9 -0
- package/dist/server/storage/repositories/provider-runtime-state-repository.js +50 -0
- package/dist/server/storage/repositories/provider-runtime-state-repository.js.map +1 -0
- package/dist/server/storage/sqlite/schema.sql +114 -0
- package/dist/server/types/domain.d.ts +82 -0
- package/dist/server/ws/workbench-ws-hub.js +8 -2
- package/dist/server/ws/workbench-ws-hub.js.map +1 -1
- package/node_modules/@codingns/session-sync-core/dist/providers/codex.js +28 -11
- package/node_modules/@codingns/session-sync-core/dist/providers/codex.js.map +1 -1
- package/node_modules/@codingns/session-sync-core/dist/providers/opencode.js +61 -8
- package/node_modules/@codingns/session-sync-core/dist/providers/opencode.js.map +1 -1
- package/node_modules/@codingns/session-sync-core/dist/runtime/opencode-runtime.d.ts +3 -0
- package/node_modules/@codingns/session-sync-core/dist/runtime/opencode-runtime.js +94 -21
- package/node_modules/@codingns/session-sync-core/dist/runtime/opencode-runtime.js.map +1 -1
- package/package.json +1 -1
- package/dist/public/assets/AdaptiveButlerPage-CfsUVZKl.js +0 -3
- package/dist/public/assets/ConversationPage-Cj8go7L0.js +0 -4
- package/dist/public/assets/SessionIndexPage-NbF9gJnp.js +0 -1
- package/dist/public/assets/SettingsPage-DGsmQpLv.js +0 -1
- package/dist/public/assets/WorkbenchLayout-DlbgBT3n.js +0 -4
- package/dist/public/assets/WorkbenchShellRoute-BsxumYx5.js +0 -1
- package/dist/public/assets/file-tree-icon-9pt1OStn.js +0 -31
- package/dist/public/assets/index-BwlbvwaA.css +0 -1
- package/dist/public/assets/index-DSw-TkQL.js +0 -42
- package/dist/public/assets/model-switch-api-C-l8-E1S.js +0 -1
- package/dist/public/assets/session-runtime-machine-DgtvREca.js +0 -21
- package/dist/public/assets/styles-CsEMfdaS.css +0 -1
- /package/dist/public/assets/{styles-DRVvx_kv.js → styles-lhQGDlPF.js} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var H=Object.defineProperty;var $=(e,n,s)=>n in e?H(e,n,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[n]=s;var D=(e,n,s)=>$(e,typeof n!="symbol"?n+"":n,s);import{C as r,A as _,b as p,j as i,t as A,f as ee,Y as ne,h as se}from"./index-DSw-TkQL.js";import{e as te,g as oe}from"./App-B9HcTkMT.js";function re(){return r.request("/api/workspaces")}async function Ke(){try{return await r.request("/api/workbench")}catch(e){if(!(e instanceof _)||e.status!==404)throw e;const n=await re();return{items:await Promise.all(n.items.map(async t=>({workspace:t,sessions:(await ie(t.id)).items})))}}}function Je(e){return r.request("/api/workspaces/import",{method:"POST",body:JSON.stringify(e)})}function Fe(e){return r.request("/api/workspaces/clone",{method:"POST",body:JSON.stringify(e)})}function Qe(e){return r.request(`/api/workspaces/${encodeURIComponent(e)}`,{method:"DELETE"})}function Ge(e){return r.request("/api/debug-targets/analyze",{method:"POST",body:JSON.stringify(e)})}function We(e,n){return r.request(`/api/debug-targets/${encodeURIComponent(e)}/launch-plan`,{method:"POST",body:JSON.stringify({})})}function ze(){return r.request("/api/framework-compatibility-matrix")}function Ve(e){return r.request("/api/workspaces/reorder",{method:"PUT",body:JSON.stringify(e)})}function Ze(e,n){return r.request(`/api/workspaces/${encodeURIComponent(e)}/navigation-state`,{method:"PUT",body:JSON.stringify(n)})}function Ye(e){const n=new URLSearchParams;return e!=null&&e.trim()&&n.set("path",e.trim()),r.request(`/api/workspaces/browse${n.size>0?`?${n.toString()}`:""}`)}function Xe(e){return r.request("/api/workspaces/directories",{method:"POST",body:JSON.stringify(e)})}function ie(e){return r.request(`/api/sessions?workspaceId=${encodeURIComponent(e)}`)}function He(e){return r.request(`/api/sessions/${encodeURIComponent(e)}`)}function $e(e){return r.request(`/api/sessions/${encodeURIComponent(e)}/changed-files`)}function _e(e){return r.request(`/api/sessions/${encodeURIComponent(e)}/seen`,{method:"POST"})}function en(e,n){return r.request(`/api/sessions/${encodeURIComponent(e)}/title`,{method:"PATCH",body:JSON.stringify({title:n})})}function nn(e,n){return r.request(`/api/sessions/${encodeURIComponent(e)}/archive`,{method:"PATCH",body:JSON.stringify({archived:n})})}function sn(e,n){return r.request(`/api/sessions/${encodeURIComponent(e)}/favorite`,{method:"PATCH",body:JSON.stringify({favorite:n})})}function tn(e){return r.request(`/api/sessions/${encodeURIComponent(e)}`,{method:"DELETE"})}function on(e,n){return r.request(`/api/sessions/${encodeURIComponent(e)}/parallel-groups`,{method:"POST",body:JSON.stringify(n)})}function rn(e,n){return r.request(`/api/workspaces/${encodeURIComponent(e)}/parallel-groups`,{method:"POST",body:JSON.stringify(n)})}function an(e){return r.request(`/api/parallel-groups/${encodeURIComponent(e)}`)}function un(e,n){return r.request(`/api/parallel-groups/${encodeURIComponent(e)}/members`,{method:"POST",body:JSON.stringify(n)})}function ln(e){return r.request(`/api/session-isolated-workspaces/${encodeURIComponent(e)}/promote`,{method:"POST"})}function cn(e){return r.request("/api/worktrees",{method:"POST",body:JSON.stringify(e)})}function dn(e){return r.request(`/api/worktrees/${encodeURIComponent(e)}/merge-preview`,{method:"POST"})}function fn(e){return r.request(`/api/worktrees/${encodeURIComponent(e)}/merge-into-parent`,{method:"POST"})}function pn(e,n){return r.request(`/api/worktrees/${encodeURIComponent(e)}/cleanup`,{method:"POST",body:JSON.stringify(n??{})})}function mn(e){return r.request(`/api/sessions/${encodeURIComponent(e)}/capabilities`)}function gn(e){return r.request(`/api/sessions/${encodeURIComponent(e)}/permission-requests`)}function Sn(){return r.request("/api/preferences/quick-phrases")}function hn(e){return r.request("/api/preferences/quick-phrases",{method:"PUT",body:JSON.stringify({items:e})})}function ae(e,n,s){var o;const t=new URLSearchParams;return n!=null&&n.trim()&&t.set("workspaceId",n.trim()),(s==null?void 0:s.providerConfigMode)==="cc-switch-preset"&&((o=s.providerPresetId)!=null&&o.trim())&&(t.set("providerConfigMode","cc-switch-preset"),t.set("providerPresetId",s.providerPresetId.trim())),r.request(`/api/providers/${encodeURIComponent(e)}/capabilities${t.size>0?`?${t.toString()}`:""}`)}async function ue(){return(await r.request("/api/providers/catalog")).items}async function An(e,n){return(await r.request(`/api/providers/catalog/${encodeURIComponent(e)}`,{method:"PUT",body:JSON.stringify({enabled:n})})).item}async function le(e,n){const s=await Promise.allSettled(e.map(async o=>[o,await ae(o,n)])),t=[];for(const o of s){if(o.status!=="fulfilled")continue;const[a,u]=o.value;t.push([a,u])}return Object.fromEntries(t)}function yn(e,n,s,t="forward"){const o=new URLSearchParams;return n&&o.set("cursor",n),o.set("limit",String(s)),o.set("direction",t),r.request(`/api/sessions/${encodeURIComponent(e)}/messages?${o.toString()}`)}function vn(e,n){return r.requestBlob(`/api/sessions/${encodeURIComponent(e)}/attachments/${encodeURIComponent(n)}/content`)}function Rn(e,n){return r.request(`/api/sessions/${encodeURIComponent(e)}/messages`,{method:"POST",body:JSON.stringify(n)})}function Cn(e,n){return r.request(`/api/sessions/${encodeURIComponent(e)}/forks`,{method:"POST",body:JSON.stringify(n)})}function Pn(e){return r.request("/api/sessions/start-live",{method:"POST",body:JSON.stringify(e)})}function wn(e,n){return r.request(`/api/sessions/${encodeURIComponent(e)}/messages/live`,{method:"POST",body:JSON.stringify(n)})}function Dn(e){return r.request(`/api/sessions/${encodeURIComponent(e)}/queue`)}function On(e,n){return r.request(`/api/sessions/${encodeURIComponent(e)}/queue`,{method:"POST",body:JSON.stringify(n)})}function Nn(e,n){return r.request(`/api/sessions/${encodeURIComponent(e)}/queue/${encodeURIComponent(n)}`,{method:"DELETE"})}function In(e,n){return r.request(`/api/sessions/${encodeURIComponent(e)}/queue/${encodeURIComponent(n)}/steer`,{method:"POST"})}function bn(e){return r.request(`/api/sessions/${encodeURIComponent(e)}/runtime`)}function En(e){return r.request(`/api/sessions/${encodeURIComponent(e)}/interrupt`,{method:"POST"})}function Ln(e,n,s){return r.request(`/api/sessions/${encodeURIComponent(e)}/permission-requests/${encodeURIComponent(n)}/reply`,{method:"POST",body:JSON.stringify(s)})}const b="codingns.workspace.session-display-sort-mode",E="codingns.file-panel.show-system-files",U="codingns.notification.preferences",O={notifyOnPermissionRequest:!0,notifyOnSessionCompleted:!0,notifyOnSessionFailed:!0};function N(){return typeof window<"u"&&typeof window.localStorage<"u"}function ce(e){return e==="createdAt"||e==="updatedAt"||e==="title"}function M(){if(!N())return"createdAt";const e=window.localStorage.getItem(b);return ce(e)?e:"createdAt"}function B(){return N()?window.localStorage.getItem(E)==="1":!1}function q(e){return typeof e=="boolean"}function j(){if(!N())return O;const e=window.localStorage.getItem(U);if(!e)return O;try{const n=JSON.parse(e);return{notifyOnPermissionRequest:q(n.notifyOnPermissionRequest)?n.notifyOnPermissionRequest:O.notifyOnPermissionRequest,notifyOnSessionCompleted:q(n.notifyOnSessionCompleted)?n.notifyOnSessionCompleted:O.notifyOnSessionCompleted,notifyOnSessionFailed:q(n.notifyOnSessionFailed)?n.notifyOnSessionFailed:O.notifyOnSessionFailed}}catch{return O}}function k(e,n){return e.notifyOnPermissionRequest===n.notifyOnPermissionRequest&&e.notifyOnSessionCompleted===n.notifyOnSessionCompleted&&e.notifyOnSessionFailed===n.notifyOnSessionFailed}function de(e){N()&&window.localStorage.setItem(U,JSON.stringify(e))}class fe{constructor(){D(this,"state",{sessionDisplaySortMode:M(),showSystemFiles:B(),notificationPreferences:j()});D(this,"listeners",new Set);D(this,"subscribe",n=>(this.listeners.add(n),()=>{this.listeners.delete(n)}));D(this,"getState",()=>this.state);D(this,"handleStorage",n=>{if(n.key!==null&&n.key!==b&&n.key!==E&&n.key!==U)return;const s=M(),t=B(),o=j(),a=this.state.sessionDisplaySortMode===s,u=this.state.showSystemFiles===t,d=k(this.state.notificationPreferences,o);a&&u&&d||(this.state={sessionDisplaySortMode:s,showSystemFiles:t,notificationPreferences:o},this.emit())});typeof window<"u"&&window.addEventListener("storage",this.handleStorage)}setSessionDisplaySortMode(n){N()&&(n==="createdAt"?window.localStorage.removeItem(b):window.localStorage.setItem(b,n)),this.state.sessionDisplaySortMode!==n&&(this.state={...this.state,sessionDisplaySortMode:n},this.emit())}setShowSystemFiles(n){N()&&(n?window.localStorage.setItem(E,"1"):window.localStorage.removeItem(E)),this.state.showSystemFiles!==n&&(this.state={...this.state,showSystemFiles:n},this.emit())}setNotificationPreferences(n){const s={...this.state.notificationPreferences,...n};k(this.state.notificationPreferences,s)||(de(s),this.state={...this.state,notificationPreferences:s},this.emit())}emit(){for(const n of this.listeners)n()}}const K=new fe;function qn(e){return p.useSyncExternalStore(K.subscribe,()=>e(K.getState()))}function Un({heading:e,description:n,actions:s,tone:t="default",className:o,children:a}){return i.jsxs("section",{className:w("modal-section",o),"data-tone":t,children:[e||n||s?i.jsxs("div",{className:"modal-section-header",children:[i.jsxs("div",{className:"modal-section-copy",children:[e?i.jsx("strong",{className:"modal-section-heading",children:e}):null,n?i.jsx("p",{className:"modal-section-description",children:n}):null]}),s?i.jsx("div",{className:"modal-section-actions",children:s}):null]}):null,a]})}function Tn({label:e,description:n,className:s,htmlFor:t,children:o}){return i.jsxs("div",{className:w("workbench-modal-field","modal-field",s),children:[i.jsxs("div",{className:"modal-field-copy",children:[t?i.jsx("label",{className:"modal-field-label",htmlFor:t,children:e}):i.jsx("span",{className:"modal-field-label",children:e}),n?i.jsx("span",{className:"modal-field-description",children:n}):null]}),o]})}function xn({align:e="end",stack:n=!1,className:s,children:t,...o}){return i.jsx("div",{className:w("workbench-modal-actions","modal-actions",s),"data-align":e,"data-stack":n?"true":void 0,...o,children:t})}function Mn({compact:e=!1,className:n,children:s,...t}){return i.jsx("div",{className:w("modal-list",n),"data-compact":e?"true":void 0,...t,children:s})}function Bn(e){const{as:n="div",label:s,description:t,leading:o,trailing:a,tone:u="default",selected:d=!1,className:C,children:f,...c}=e,y={className:w("modal-list-item",C),"data-tone":u!=="default"?u:void 0,"data-selected":d?"true":void 0,"data-interactive":n==="button"?"true":void 0},S=i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:"modal-list-item-main",children:[o?i.jsx("div",{className:"modal-list-item-leading",children:o}):null,i.jsxs("div",{className:"modal-list-item-copy",children:[s?i.jsx("span",{className:"modal-list-item-label",children:s}):null,t?i.jsx("span",{className:"modal-list-item-description",children:t}):null,f]})]}),a?i.jsx("div",{className:"modal-list-item-trailing",children:a}):null]});if(n==="button"){const P=c;return i.jsx("button",{type:P.type??"button",...P,...y,children:S})}return i.jsx("div",{...c,...y,children:S})}function jn({title:e,description:n,action:s,className:t,compact:o=!1}){return i.jsxs("div",{className:w("modal-empty-state",t),"data-compact":o?"true":void 0,children:[i.jsx("strong",{className:"modal-empty-state-title",children:e}),n?i.jsx("p",{className:"modal-empty-state-description",children:n}):null,s?i.jsx("div",{className:"modal-empty-state-action",children:s}):null]})}function kn({tone:e="default",className:n,children:s,...t}){return i.jsx("span",{className:w("modal-tag",n),"data-tone":e!=="default"?e:void 0,...t,children:s})}function w(...e){return e.filter(Boolean).join(" ")}function pe(){return te().haptics}const me="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAF+0lEQVRYha2XbXBUZxXHf+e5u4SkCZjg0NIWnQLJLgRF5UWnL75MP9gMjqPT2eyC0qlMiYxOUAR206LOyhiSTVscp52O0xamWgu7WTp0qLUz6kht6Qed1L7M5GUTsAoDTRSIJJos2b33+GFfWMJuNqmcT/c595z/+d3nOc+9zxXKWE9Li7tm0fjyqmT6H0t/Fp8sFz9XM+UCauouH8Rx+ifmWWdP7Q0sLRbT98g3lySC/mcSQd+GGwrQt2vzx1G2ZEa6KJ3S1mJxlpOKIDyEmEM3FGCk5vw5YCw3FmFbb9hXfV2gcm/26vINBfhS+LU0qgcKXB9xT1hbr6kdDhtgcYaDxHSNwVBg92Ao0DMY8n97zgAAZnK8U2AoX1D0++rzWfkC44k6wAVghP7C3EQo8Iiijyq61oEDiV2bPjojwKk234pEsPnh/lDgzpyv/olXrwi6qyDsjsQy2ZQXmJdefPWWvp0v3uZ/CLQ9NxZINpxJj84IYDvmOUT2G/T1DD0CUB/pflnhd1eT5Mcnwl90Adi23JzPl9TbAEN7fF9AeapQW5AOicftGQFEOJ+9tEDbB9v8x99r21wLYBlnJ5AGUKhfklz8QEbY3J71nVnZceziUPAbtzvGxAB3wdPH6yPRx6cXvw4gbbm/B5zIO5SvVKjdMxAMrKvviPcpHMyLqvyoN+ybh7AUwIi+M9TaVOGI/SJwc4Fsf6rS2SqgxQBkukPDYTM40RdCZB/Z5gKmEGmzjStq2alBoDqbvF2hEWgF9oEuAvlugdx/Deaz9ZEjvcWKFwXIWaLNv14cDqmwugDvFRVOi8qOrOMdhT6BzQhvoNxzjbjItxo6o8+VqjEjAMBQa1OFXbXwh4KGuLqmDleXToHzwG1FpLs9kah/uvf98IPz08nkSuZbp+vDL4zNCJAHaQt82lH9JfCJ2cQrTFjq8hiZGrfVtQGcDQhrFNYAywELuFw15SwRgN6dvrrahcnkreGXJ0pCtDZVOFULwsCerEBJExhVGAY8FH/Z2cBvPJHY1ySx13cbaXMaqACSwCVRLqlhVNBRVTOm4lxCOSdqPkB0FdA2m5kosGGEHpC3UP2z6uRJb9fx8SwsJEL+nwBNwEKgWqBSoXaORQqtH+VNhDdErJMNnYf/ViqwbBNO3lRbVZFSS9yyIG1jucRuVuGnM6TZZL4d/wS9KEgawIH/gF5EzAWBvzecto9KPG7PqgkBTu0NLHVs7VBlcxnwS8ALgtyp6Kco3S9/OF850lQWYCD41RpMZUiUH5BZmgkRDqmyVaCqeJYeS1dqwJq4UoG56S5w7hb4PMp6YH426LJR1+qSAOrzWYPLZCvIPuAWAIHXxGGXY3geWAV6DOTrJRR+r5q8P9dskNtJ1etBVl4R19FPdh4eLQowEPR5RKxfgebOeGMqGvLMX/V0YrK/W+B+4ATCYZRnEJ5E+Q5gFM4AFwQ+I8hbLks2Ltt/ZKTUg163Rwfamrcj5q/54spvLZes9nZ2/yIx0b8jW/wCLmeLOLoCAEdeAjmYnaWPGXga9Jiia1O28+bAbt8dswJQEFF5IrO2chGVBzxdsY0r2qNnBx5uvkuELkAFedDTHj+nIl4AIzJsjL2XTAOisB+XtqryKLBcLHNyKLSpsSyAgKrKJoRtbksaPV3R5yFz7BaHOOBGOdAQib6SRV4L4KQZqe+I/wvYmZWqE1ue8nbFggjbgDoH/VOxY3vZXdDT0uKuqR37I+jdIH9JV9r3NIbjU717fLe4jPkASDVEYhW5730i2PwqIvdlZkK3eCPdv06E/GuAbmCBJxJbUnIGill13b8fyxRnRG070BiOTwG4MeuyszBSeNiw3KZFYDTzdPLzU7u3LPZEYu+qTq5Tlev+K2YESAQD94rKjqzgl72Pxd/P3VNLsgAyXJizoj161kG3Z4d1aZP6HIC36/i4tyt6dE4AasQNDIhxNnoisXevvZndJcLw9DxvpLsb5XGE9yzD2ZlqzPpVPN0SIf854FaUZz1dsW0fVqdsD5Q05Qhgg7z+oTX+Xyv2pzNX+x+eTlGviPgh3AAAAABJRU5ErkJggg==",ge="/assets/legna-code-6TqgZ4Ls.png",G="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAbGSURBVHgBzZo/bBtVHMd/ZzuJA0gYCYlsOFO7xRFDy1R3olucqd0SJtiSjiCknBckpjZjBxRn7BR3owOqs5Wp7tZKoDgSQysh4UqUOCG2eZ/3/Oznv/fObqJ+pfPZd+/ufn++vz/vnQN5FwjbGZFGQSRYUb+yIu2c2tSxIOOMqpktqKpzz9X3ioSLNZkRgUwLhA4aW9KWvPqVl6mgldmVGZSJr0BX8Pb2gIVnRUltxbiKxFOgeLJzAYL3I5BQdhaL/sN9EJ5k1dADw+1LQU1tN328kYgaIMWzDSX4s0sUHmSVwZ5JeFqIGjhZgeKpokyzdKGUGQuyWOtA03YCxlNIC98K5X3AhLgYrYB2ndLeE5l0IFvXklK4mpRsxvyuvmqrrSX71aZUjlsyM4LkpuzM7w8dHhqoAxbO+9Fm63pSwhspLTSo1dt6n830bl1SStx9fK6/Z9LmWL3B1hZ/BHUl1+pgYI9S4Eh0EEVjJ5/SwiPI7m9Nuf+02SfUZi4pO+o8ynDcKmlRqRkPlZ43xQ+q8IXpVfdIsu88vJd2ZOSD/OcJKRXmtMW//PlMyi9a0jjvH5NZCDStEDydCjSlfvm9pa/hd24poc+zf/zH8PUjsCT57wOp/FjpqtQ9pakjR+KJo60Fbdnl3dMubSw4vrc2J/msSXLlF4ZCg+M4zzjGEzM39888aAWVFpYlZN+fRnfEE1iMh8JtVygsDWWefTOvhYMiCLX+8L8h4QHnVx+cas/klgLZvpb0eDrp9d/trjr609P6brbhgesPDXXA5kpS7t0ywYwVi4fERD8noJ1WfIDzBDYeRRw8GscL1gP5iCv0g7FsqAIX4UH9pHeegEb44uG5EuKsT3iuPbg9J08252VPxQ3CoowFGYlgRhEMEY2eFzp3CbbEQ3j28BnXjwI0CSvnXQu6lMJrnOd67qOV6fAf2HuuLPn2l4kbRgGT9yf2OU825o11lXDw+bgenb8LV5JdjwE8s/rAxMPXj0xMkGbxBkpWX8epCRp5WvuERNAHl9qADQ+j8xz0QuGDOz3rIizXW8/wHa7bzISSKAveNCQGGoVElPU3coaTcDQKhmoL3QxEkLMna2FplzKAOCFLGf6b4x+nJQbauURnHjsWWJQg8+1nsChCsZGh2LuUwTvb11J94zfVeVtPGOOej4CuNNlJI2xa9BUeQQaD3FKG83iAdItHClcSQ4rzLJvRohGsRCowqoexyCxKbNiUqVPrnf5MhBL0VKRTv6IWZCJnZJR4bujm7eprY+GD2/M6g/hZyypgKENGspThHha2fqxdjZ4sUg8iRz16aYLXBrN5SLPLa5tBMrGCT3T7wD0GgYcM1XwU0IWsXZ80wPY7WMpVguM2g0ABvMDmZhkXZox4w3dswvQV44FFSIe4vqT46rrbzSAEru1pXF6j1L2vTND6Us10p15Zr5Ywq2OTQRwUO0UMyiCM27PYDDKYLomRoy2VNq+n9HGfbGbvyzM9FWgd+4zMfWY4iaV1v6+assHCZNOl7XcKnUC0bUQ9osrq3qnTevgUTtZYUz4ecGEDDwtjaTYER8jsx0YAO5Gxc2EfyyP83lqq27b4Fc6gqhRolEXSe1FDrRBUZioslrYpkD3WthzHSyg0WNCIkVFeoNWw3S7UsQsAHqiobvQTgrgSNbL80gizdmU4EyEswsNzPMQxV3hqiO1oR3kDoyD87tOm57QStKusUNiUcigRXSlZQRchZW2qpc0Sdg5AbQDuw3XboDIQcwGAUm7uh3LWEPvPx88zRiNgWd5OaBr3o+oBrmeaCJhdDeZ7BB83kbETdjZ3bmzryii6eaDCR8c0PzUk/wOdTX7SFU//bEmg5EYoUiOCvv5H5NXbnuDffpHUGYoxLJN892uvarsgXXIPa/14SJTU+pBepXOWVf5W88yFI58VOWqBW9DAYNM3KQMRE0x4gO2JYmLZrtD1ItLTC3ooK2rKasdvzAIVwNp2PfTqpwmdWZY+CswMKzDeYZp579acNgDjodSLv+IK31JvcT4o218jlhYbM78LcJcUR8EG8xSWrynLL7sHZl7cnQQUoYKvLJn0eVwnHTenCVgxSSbwWNwF4cmm+owsbpeLxLqEC+WhoyPHhosl4Y3hewN4Pyw8mNzfhiehxFgzvRgg/IfhuLPRDXr4ljfwe5f/nkxz/m6HDWMR4zWrPBHPFx+zQ7/BX/d5zRrvRfeFU0pbfVcJHvpeMcVfDfAGby8TG/LO0BFc0vftiwtfzPBnD02rvFnZnrrwVUR3wvEFt5heARddZVDE/uXGjRdt4bru4UWODcfT5WmFdvE/Jeqz44iuBr4AAAAASUVORK5CYII=",Se="/assets/gemini-D4G1NbrE.png",he="/assets/kimi-BWNNSh7e.png",Ae="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAABzUlEQVR4AeycQQrCQBAEF1+g6J/0o5LPCXmCnnNx0E2nNqGEPciw024VffV0PZ/fHo7BqflBCSgAxd+aAhQAE4DjbYACYAJwvA1QAEwAjrcBCgAIDBRpA2AZClAATACOtwEKgAnA8TZAATABOD7egNc8tz2ftJ+4gPQD9r5fAbDBDQXALx00XgGwGAUoACYAx9sABcAE4HgboACYABxvAxSwJHC7XFryLNP4bzYg7KBar4CKUHiugDDgar0CKkLhuQLCgKv1CqgIhecKCAOu1iugIhSeKyAMuFqvgIpQeK6AMOBq/XAC7o9H6z5fdlRAtp4PJ2BrAHSeAmADClAATACOtwEKgAnA8TZAATABON4GKAAmAMev2AD4JTuNVwAsTgEKgAnA8TZAATABON4GKAAmAMfbAAXABOB4G9ApoPe6AnoJdt5XQCfA3uvDCXhOU0ueXmBr3x9OwNoPHH2fAmBDClAATACOtwEKgAnA8TZAAX8QONAVGwDLVIACYAJwfLwByf/+2WJ32k9cQPoBe9+vANigAhQAE4DjbYACYAJw/A8NgH/pQeMVAItVgAJgAnC8DVAATACOtwEKgAnA8TZAATABON4GFALS4w8AAAD//x7wkLQAAAAGSURBVAMAKj5LkLSa6SQAAAAASUVORK5CYII=",ye=new Set(["low","medium","high","xhigh"]),W=["claude-code","codex","opencode","gemini","kimi","legna-code"],z=["codex","claude-code","opencode","gemini","kimi","legna-code"];function J(e){const n=new Set,s=[],t=[...z,...W];for(const o of t)e.includes(o)&&(n.has(o)||(n.add(o),s.push(o)));for(const o of e)n.has(o)||(n.add(o),s.push(o));return s}const V={"claude-code":{displayNameKey:"conversation.providerClaude",fullDisplayNameKey:"shell.providerClaudeCode",draftTitleKey:"conversation.draftTitleClaude",defaultModelLabelKey:"conversation.modelUseCliDefault",icon:me,defaultRunInputMode:"streaming_guidance",reasoningLevelPersists:!1,defaultReasoningLevel:void 0,supportsSlashMenuByDefault:!0,supportsRunSteeringByDefault:!0,supportsSessionDeleteByDefault:!0,foldRulesMessagesByDefault:!1},"legna-code":{displayNameKey:"conversation.providerLegna",fullDisplayNameKey:"shell.providerLegnaCode",draftTitleKey:"conversation.draftTitleLegna",defaultModelLabelKey:"conversation.modelUseCliDefault",icon:ge,defaultRunInputMode:"streaming_guidance",reasoningLevelPersists:!1,defaultReasoningLevel:void 0,supportsSlashMenuByDefault:!0,supportsRunSteeringByDefault:!0,supportsSessionDeleteByDefault:!0,foldRulesMessagesByDefault:!1},codex:{displayNameKey:"conversation.providerCodex",draftTitleKey:"conversation.draftTitleCodex",defaultModelLabelKey:"conversation.modelUseCliDefault",icon:G,defaultRunInputMode:"streaming_guidance",reasoningLevelPersists:!0,defaultReasoningLevel:null,supportsSlashMenuByDefault:!1,supportsRunSteeringByDefault:!0,supportsQueueWhileRunningByDefault:!0,supportsSessionDeleteByDefault:!0,foldRulesMessagesByDefault:!0},opencode:{displayNameKey:"conversation.providerOpenCode",draftTitleKey:"conversation.draftTitleOpenCode",defaultModelLabelKey:"conversation.modelUseCliDefault",icon:Ae,defaultRunInputMode:"none",reasoningLevelPersists:!1,defaultReasoningLevel:void 0,supportsSlashMenuByDefault:!1,supportsSessionDeleteByDefault:!0,foldRulesMessagesByDefault:!1},gemini:{displayNameKey:"conversation.providerGemini",draftTitleKey:"conversation.draftTitleGemini",defaultModelLabelKey:"conversation.modelUseCliDefault",icon:Se,defaultRunInputMode:"none",reasoningLevelPersists:!1,defaultReasoningLevel:null,supportsInterrupt:!0,supportsAttachments:!1,supportsPermissionPrompt:!1,supportsSlashMenuByDefault:!1,supportsSessionDeleteByDefault:!0,foldRulesMessagesByDefault:!1},kimi:{displayNameKey:"conversation.providerKimi",draftTitleKey:"conversation.draftTitleKimi",defaultModelLabelKey:"conversation.modelUseCliDefault",icon:he,defaultRunInputMode:"none",reasoningLevelPersists:!1,defaultReasoningLevel:null,supportsInterrupt:!0,supportsAttachments:!1,supportsPermissionPrompt:!1,supportsSlashMenuByDefault:!1,supportsSessionDeleteByDefault:!0,foldRulesMessagesByDefault:!0}},ve=Array.from(new Set(Object.values(V).map(e=>e.icon)));let F=!1;function Re(e){return W.includes(e)}function m(e){return!e||!Re(e)?null:V[e]}function Ce(e){return[{id:"provider-default",name:A(e),usesProviderDefault:!0}]}function Pe(e){const n=m(e);return Ce((n==null?void 0:n.defaultModelLabelKey)??"conversation.modelUseCliDefault")}function Kn(e){return!!(e&&m(e))}function Jn(e){const n=m(e);return A((n==null?void 0:n.draftTitleKey)??"conversation.draftTitleCodex")}function we(e,n="compact"){const s=m(e);return s?n==="full"&&s.fullDisplayNameKey?A(s.fullDisplayNameKey):A(s.displayNameKey):(e==null?void 0:e.trim())||A("conversation.providerCodex")}function De(e){const n=m(e);return(n==null?void 0:n.icon)??G}function Z(){F||typeof window>"u"||(F=!0,ve.forEach(e=>{const n=new window.Image;n.decoding="async",n.src=e,typeof n.decode=="function"&&n.decode().catch(()=>{})}))}function Fn(e){const n=m(e);return{provider:e,canStartSession:!0,canResumeSession:!0,canSendMessage:!0,inRunInputMode:(n==null?void 0:n.defaultRunInputMode)??"none",supportsSubagents:!1,supportsInterrupt:(n==null?void 0:n.supportsInterrupt)??!1,supportsStructuredToolCalls:!0,supportsTokenUsage:!0,supportsAttachments:(n==null?void 0:n.supportsAttachments)??!0,supportsPermissionPrompt:(n==null?void 0:n.supportsPermissionPrompt)??!0,supportsCheckpoint:!1,supportsSessionDelete:(n==null?void 0:n.supportsSessionDeleteByDefault)??!1,modelOptions:Pe(e),defaultReasoningLevel:n==null?void 0:n.defaultReasoningLevel,supportsRunSteering:n==null?void 0:n.supportsRunSteeringByDefault,supportsQueueWhileRunning:n==null?void 0:n.supportsQueueWhileRunningByDefault,limitations:[]}}function Qn(e){return(e==null?void 0:e.provider)??"claude-code"}function Gn(e){var s;if((e==null?void 0:e.supportsSlashMenu)!==void 0)return e.supportsSlashMenu;const n=(e==null?void 0:e.provider)??null;return((s=m(n))==null?void 0:s.supportsSlashMenuByDefault)??!1}function Wn(e){var n;return(e==null?void 0:e.supportsReasoningSelector)!==void 0?e.supportsReasoningSelector:!!((n=e==null?void 0:e.modelOptions)!=null&&n.some(s=>{var t;return((t=s.supportedReasoningEfforts)==null?void 0:t.some(o=>ye.has(o)))??!1}))}function zn(e,n){var a;if((e==null?void 0:e.supportsQueueWhileRunning)!==void 0)return e.supportsQueueWhileRunning;const s=(e==null?void 0:e.provider)??null,t=(a=m(s))==null?void 0:a.supportsQueueWhileRunningByDefault;if(t!==void 0)return t;const o=(e==null?void 0:e.inRunInputMode)??"none";return o==="queued_guidance"||o==="none"||o==="streaming_guidance"&&n===!1}function Vn(e){var s;if((e==null?void 0:e.supportsRunSteering)!==void 0)return e.supportsRunSteering;const n=(e==null?void 0:e.provider)??null;return((s=m(n))==null?void 0:s.supportsRunSteeringByDefault)??(e==null?void 0:e.inRunInputMode)==="streaming_guidance"}function Zn(e){const n=m(e);return(n==null?void 0:n.reasoningLevelPersists)??!1}function Yn(e,n){var t;return((t=m(n??null))==null?void 0:t.foldRulesMessagesByDefault)??!1}typeof window<"u"&&Z();function Oe(e,n=!0){const[s,t]=p.useState(null),[o,a]=p.useState(!1),u=p.useMemo(()=>J(e),[e]),d=u.join("|");p.useEffect(()=>{if(!n){t(null),a(!1);return}let f=!1;return a(!0),ue().then(c=>{f||t(c)}).catch(()=>{f||t(null)}).finally(()=>{f||a(!1)}),()=>{f=!0}},[n,d]);const C=p.useMemo(()=>{if(!s)return u;const f=new Set(u),c=s.filter(g=>g.enabled&&f.has(g.provider)).map(g=>g.provider);return J(c)},[u,s]);return{providerCatalog:s,visibleProviders:C,loading:o}}const T=new Map;function Xn(){T.clear()}function Hn({disabled:e=!1,workspaceId:n=null,pendingProvider:s=null,selectedProvider:t=null,providers:o=z,className:a,disabledReasons:u,statusHintByProvider:d,onSelect:C}){const f=pe(),{visibleProviders:c}=Oe(o),g=!!n,[y,S]=p.useState(()=>Q(c,n)),P=c.map(l=>({provider:l}));return p.useEffect(()=>{Z()},[]),p.useEffect(()=>{if(!n){S({});return}const l=Q(c,n);S(l);const v=c.filter(R=>!l[R]);if(v.length===0)return;let h=!1;return le(v,n).then(R=>{Ie(n,R),h||S(I=>({...I,...R}))}),()=>{h=!0}},[c,n]),i.jsx("div",{className:`session-provider-grid${a?` ${a}`:""}`,children:P.map(l=>{const v=we(l.provider,"full"),h=s===l.provider,R=t===l.provider,I=!!y[l.provider],X=Ne(y[l.provider]??null),L=(u==null?void 0:u[l.provider])??X,x=h?A("shell.startingSession"):L||((d==null?void 0:d[l.provider])??(g&&!I&&!h?A("shell.providerChecking"):null));return i.jsxs("button",{type:"button",className:"session-provider-card","data-provider":l.provider,"data-pending":h?"true":"false","data-selected":R?"true":"false","aria-label":v,disabled:e||!!L,onClick:()=>{f.trigger("action"),C(l.provider)},children:[i.jsx("span",{className:"session-provider-card-icon","aria-hidden":"true",children:i.jsx("img",{src:De(l.provider),alt:"",loading:"eager",decoding:"async"})}),i.jsxs("span",{className:"session-provider-card-copy",children:[i.jsx("strong",{children:v}),x?i.jsx("span",{className:"session-provider-card-status",children:x}):null]})]},l.provider)})})}function Ne(e){return!e||e.canStartSession!==!1?null:e.limitations[0]??A("conversation.capabilityDenied")}function Q(e,n){const s=(n==null?void 0:n.trim())??"";if(!s)return{};const t=[];for(const o of e){const a=T.get(Y(s,o));a&&t.push([o,a])}return Object.fromEntries(t)}function Ie(e,n){const s=e.trim();if(s)for(const[t,o]of Object.entries(n))o&&T.set(Y(s,t),o)}function Y(e,n){return`${e}::${n}`}function $n(){const e=ee(s=>s),n=ne(s=>s);return be(e,n)}function be(e,n){var u;const s=se(e);if(!s)return null;const t=!!((u=s.relayTunnel)!=null&&u.enabled),a=!(e.platform==="web"&&t)&&n.activeHostId===s.id&&n.candidateProbePhase==="ready"?Ee(n):null;if(a){const d=Le(a.kind);return{kind:d,url:a.url,endpointId:a.endpointId,autoDirect:t&&d!=="relay",probeInProgress:!1}}return{kind:qe(s),url:s.baseUrl,endpointId:null,autoDirect:!1,probeInProgress:t&&n.activeHostId===s.id&&n.candidateProbePhase==="probing"}}function _n(e){switch(e){case"relay":return"common.connectionRouteRelay";case"lan":return"common.connectionRouteLan";case"loopback":return"common.connectionRouteLoopback";case"tailscale":return"common.connectionRouteTailscale";default:return"common.connectionRouteDirect"}}function Ee(e){const n=e.preferredDirectCandidateEndpointId??e.preferredCandidateEndpointId;return n?e.candidateEndpoints.find(s=>s.endpointId===n&&s.status==="verified")??null:null}function Le(e){return e==="custom"?"direct":e}function qe(e){var n;if((n=e.relayTunnel)!=null&&n.enabled&&Ue(e.baseUrl,e.relayTunnel.tunnelDomain))return"relay";try{const s=new URL(e.baseUrl).hostname.toLowerCase();if(Te(s))return"loopback";if(xe(s))return"tailscale";if(Me(s))return"lan"}catch{return"direct"}return e.kind==="local"?"loopback":e.kind==="lan"?"lan":"direct"}function Ue(e,n){try{return new URL(e).hostname.toLowerCase()===n.trim().toLowerCase()}catch{return!1}}function Te(e){return e==="localhost"||e==="127.0.0.1"||e==="::1"||e==="[::1]"}function xe(e){if(e.endsWith(".ts.net"))return!0;const n=e.split(".").map(o=>Number(o));if(n.length!==4||n.some(o=>Number.isNaN(o)))return!1;const[s,t]=n;return s===100&&t>=64&&t<=127}function Me(e){const n=e.split(".").map(o=>Number(o));if(n.length!==4||n.some(o=>Number.isNaN(o)))return!1;const[s,t]=n;return s===10||s===192&&t===168||s===172&&t>=16&&t<=31}function es({open:e,title:n,description:s,height:t="auto",kind:o="form",dismissible:a=!0,closeOnBackdrop:u=!0,showHandle:d=!1,showCancelButton:C=!0,cancelLabel:f,className:c,cardClassName:g,bodyClassName:y,footer:S,onClose:P,children:l}){const v=p.useId(),h=p.useId(),R=a&&u;return!e||typeof document>"u"?null:oe.createPortal(i.jsx("div",{className:"ios-action-sheet-overlay mobile-sheet-overlay",role:"presentation",onClick:()=>{R&&P()},children:i.jsxs("div",{className:`mobile-workspace-home-sheet mobile-sheet${c?` ${c}`:""}`,"data-height":t,"data-kind":o,role:"dialog","aria-modal":"true","aria-labelledby":v,"aria-describedby":s?h:void 0,onClick:I=>I.stopPropagation(),children:[i.jsxs("div",{className:`mobile-workspace-home-sheet-card mobile-sheet-card${g?` ${g}`:""}`,children:[d?i.jsx("div",{className:"mobile-sheet-handle","aria-hidden":"true"}):null,i.jsx("div",{className:"mobile-workspace-home-sheet-header mobile-sheet-header",children:i.jsxs("div",{className:"mobile-sheet-title-wrap",children:[i.jsx("strong",{id:v,children:n}),s?i.jsx("p",{id:h,children:s}):null]})}),i.jsx("div",{className:y?`mobile-sheet-body ${y}`:"mobile-sheet-body",children:l}),S?i.jsx("div",{className:"mobile-sheet-footer",children:S}):null]}),C?i.jsx("button",{type:"button",className:"ios-action-sheet-cancel mobile-sheet-cancel",disabled:!a,onClick:()=>{a&&P()},children:f??A("common.cancel")}):null]})}),document.body)}async function ns(){return await r.request("/api/system/model-switch")}async function ss(e){return await r.request("/api/system/model-switch",{method:"POST",body:JSON.stringify(e)})}export{Zn as $,ue as A,On as B,Nn as C,In as D,En as E,Ln as F,_e as G,yn as H,bn as I,mn as J,gn as K,Dn as L,es as M,Rn as N,Kn as O,Vn as P,an as Q,tn as R,Hn as S,ln as T,Jn as U,jn as V,Qn as W,Wn as X,Gn as Y,zn as Z,hn as _,we as a,Sn as a0,Yn as a1,vn as a2,De as a3,Ye as a4,Fe as a5,Je as a6,Xe as a7,un as a8,on as a9,rn as aa,dn as ab,fn as ac,pn as ad,nn as ae,Xn as af,Ze as ag,Ve as ah,sn as ai,en as aj,cn as ak,ss as al,An as am,K as an,$e as ao,Ge as b,We as c,ze as d,pe as e,Un as f,Ke as g,Tn as h,Mn as i,Bn as j,kn as k,$n as l,_n as m,Oe as n,z as o,Fn as p,ns as q,Qe as r,ae as s,le as t,qn as u,xn as v,Cn as w,wn as x,Pn as y,He as z};
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
var Ho=Object.defineProperty;var Ko=(e,t,n)=>t in e?Ho(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var fe=(e,t,n)=>Ko(e,typeof t!="symbol"?t+"":t,n);import{t as i,j as s,b as d,u as Vo,E as $n,a as Bs,m as qs,H as Go,J as Qo,F as Zo}from"./index-DSw-TkQL.js";import{e as Ft,f as Wt,g as Sr}from"./App-B9HcTkMT.js";import{e as Yo,W as Jo,q as Ds,s as Fs,X as Xo,Y as ei,n as ti,p as Hn,a as jr,P as ni,Z as si,_ as ri,$ as oi,a0 as ii,t as ai,M as li,i as ci,j as Ws,a1 as ui,a2 as di,a3 as mi}from"./model-switch-api-C-l8-E1S.js";import{W as hn,D as Nr}from"./WorkbenchModal-LNfB69qx.js";import{R as jt,T as Ge,V as Us,X as Qe,Y as un,U as zs,S as gn,aZ as dn,Z as $s,a_ as pi,a$ as Hs,b0 as fi,u as Tr,aK as hi,ay as gi,a5 as Nt,a6 as Ks}from"./WorkbenchLayout-DlbgBT3n.js";import{M as vi,r as bi}from"./file-tree-icon-9pt1OStn.js";function Kn(e,t){if(!e)return{allowed:!1,hidden:!1,reason:i("conversation.capabilityDenied")};switch(t){case"send_message":return e.canSendMessage===!1?{allowed:!1,hidden:!1,reason:i("conversation.capabilitySendDisabled")}:{allowed:!0,hidden:!1,reason:null};case"attachments":return e.supportsAttachments?{allowed:!0,hidden:!1,reason:null}:{allowed:!1,hidden:!1,reason:i("conversation.capabilityAttachmentDisabled")};case"interrupt":return e.supportsInterrupt?{allowed:!0,hidden:!1,reason:null}:{allowed:!1,hidden:!1,reason:i("conversation.capabilityInterruptDisabled")};default:return{allowed:!1,hidden:!1,reason:i("conversation.capabilityDenied")}}}const yi=new Set(["updateplan"]),Mr=new Set(["todowrite"]),ts=new Set(["todoread"]),Rr=new Set(["taskcreate","taskupdate","taskget","tasklist","taskdelete","taskremove"]);function xi(e,t){const n=Ci(e,t);return n||wi(e,t)}function Ar(e){return e.reduce((t,n)=>(t[n.status]+=1,t),{pending:0,in_progress:0,completed:0,failed:0,cancelled:0})}function ki(e,t,n){if(!e)return null;if(ns(e.name)){const l=ht(e);if(!l||!jn(l.value))return null;const c=Pr(l.value,n);return!c||c.items.length===0?null:{provider:t,source:"plan",explanation:c.explanation,items:c.items,updatedAt:n}}const r=Sn(e.name);if(!Mr.has(r)&&!ts.has(r)&&!Rr.has(r))return null;const o=ht(e,(ts.has(r),"prefer-output"));if(!o)return null;if(r==="taskdelete"||r==="taskremove"){const l=Ir(o.value);return l.length>0?{provider:t,source:"todo",explanation:null,items:l.map((c,f)=>({id:c,title:`Task ${f+1}`,status:"cancelled",detail:c,updatedAt:n})),updatedAt:n}:null}const a=Mt(o.value,n);return a.length===0?null:{provider:t,source:ns(e.name)?"plan":"todo",explanation:null,items:a,updatedAt:n}}function Ci(e,t){let n=null;for(const r of e){const o=r.toolCall;if(!o||Sn(o.name)===""||!ns(o.name))continue;const a=ht(o);if(!a||typeof a.value!="object"||a.value===null)continue;const l=Pr(a.value,r.timestamp);!l||l.items.length===0||(n={provider:t,source:"plan",explanation:l.explanation,items:l.items,updatedAt:r.timestamp})}return n}function wi(e,t){const n=new Map;let r=null;for(const a of e){const l=a.toolCall;if(!l)continue;const c=Sn(l.name);if(Mr.has(c)){const p=ht(l),v=p?Mt(p.value,a.timestamp):[];v.length>0&&(Vn(n,v),r=a.timestamp);continue}if(ts.has(c)){const p=ht(l,"prefer-output"),v=p?Mt(p.value,a.timestamp):[];v.length>0&&(Vn(n,v),r=a.timestamp);continue}if(!Rr.has(c))continue;const f=ht(l,"prefer-output");if(!f)continue;if(c==="tasklist"||c==="taskget"){const p=Mt(f.value,a.timestamp);p.length>0&&(Vn(n,p),r=a.timestamp);continue}if(c==="taskdelete"||c==="taskremove"){const p=Ir(f.value);if(p.length>0){for(const v of p)n.delete(v);r=a.timestamp}continue}const b=Mt(f.value,a.timestamp);if(b.length!==0){for(const p of b)ji(n,p);r=a.timestamp}}const o=Array.from(n.values()).sort((a,l)=>a.updatedAt.localeCompare(l.updatedAt)).map(a=>({...a}));return o.length===0||!r?null:{provider:t,source:"todo",explanation:null,items:o,updatedAt:r}}function ns(e){return yi.has(Sn(e))}function Pr(e,t){const n=Array.isArray(e.plan)?e.plan:null;if(!n||n.length===0)return null;const r=n.map((o,a)=>Lr(o,{fallbackIdPrefix:"plan",fallbackTitle:`Step ${a+1}`,fallbackStatus:"pending",updatedAt:t})).filter(o=>o!==null);return r.length===0?null:{items:r,explanation:O(e.explanation)}}function ht(e,t="prefer-input"){const n=t==="prefer-output"?[{text:e.output,source:"output"},{text:e.input,source:"input"}]:[{text:e.input,source:"input"},{text:e.output,source:"output"}];for(const r of n){const o=Si(r.text);if(o!==null)return{value:o,source:r.source}}return null}function Si(e){const t=(e==null?void 0:e.trim())??"";if(!t)return null;const n=mn(t);if(n!==null)return n;const r=t.match(/```(?:json)?\s*([\s\S]+?)```/i);if(r!=null&&r[1]){const f=mn(r[1].trim());if(f!==null)return f}const o=t.indexOf("{"),a=t.lastIndexOf("}");if(o>=0&&a>o){const f=mn(t.slice(o,a+1));if(f!==null)return f}const l=t.indexOf("["),c=t.lastIndexOf("]");return l>=0&&c>l?mn(t.slice(l,c+1)):null}function mn(e){try{return JSON.parse(e)}catch{return null}}function Mt(e,t){return Pt(e).map((r,o)=>Lr(r,{fallbackIdPrefix:"task",fallbackTitle:`Task ${o+1}`,fallbackStatus:"pending",updatedAt:t})).filter(r=>r!==null)}function Pt(e){if(Array.isArray(e))return e.flatMap(n=>Pt(n));if(!jn(e))return[];if(Ri(e))return[e];const t=["tasks","todos","items","entries","results","data"];for(const n of t){if(!(n in e))continue;const r=Pt(e[n]);if(r.length>0)return r}return Object.values(e).flatMap(n=>Pt(n))}function Ir(e){const n=Pt(e).map(o=>ss(o)).filter(o=>o!==null);if(n.length>0)return n;if(!jn(e))return[];const r=ss(e);return r?[r]:[]}function Lr(e,t){if(!jn(e))return null;const n=O(e.step)??O(e.title)??O(e.content)??O(e.task)??O(e.text)??O(e.name)??O(e.subject)??O(e.description)??t.fallbackTitle,r=ss(e)??Mi(t.fallbackIdPrefix,n),o=Ti(e,n);return{id:r,title:n,status:Ni(e.status,t.fallbackStatus),detail:o,updatedAt:t.updatedAt}}function ji(e,t){const n=e.get(t.id);if(!n){e.set(t.id,{...t});return}e.set(t.id,{id:n.id,title:t.title||n.title,status:t.status,detail:t.detail??n.detail,updatedAt:t.updatedAt})}function Vn(e,t){e.clear();for(const n of t)e.set(n.id,{...n})}function Ni(e,t){var r;const n=(r=O(e))==null?void 0:r.toLowerCase().replace(/[\s-]+/g,"_");return n?["pending","todo","open","queued","not_started","created"].includes(n)?"pending":["in_progress","progress","active","doing","running","started"].includes(n)?"in_progress":["completed","complete","done","success","succeeded","finished","closed"].includes(n)?"completed":["failed","error","errored"].includes(n)?"failed":["cancelled","canceled","aborted","skipped"].includes(n)?"cancelled":t:t}function Ti(e,t){const n=[O(e.detail),O(e.details),O(e.description),O(e.reason),O(e.summary),O(e.note),O(e.priority)].filter(r=>r!==null);for(const r of n)if(r!==t)return r;return null}function ss(e){return O(e.id)??O(e.taskId)??O(e.task_id)??O(e.uuid)??O(e.key)}function Mi(e,t){return`${e}:${t.trim().toLowerCase()}`}function Ri(e){return[e.step,e.title,e.content,e.task,e.text,e.subject,e.name,e.description].some(t=>O(t)!==null)}function Sn(e){return e.trim().toLowerCase().replace(/[\s_.-]+/g,"")}function jn(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function O(e){if(typeof e!="string")return null;const t=e.trim();return t||null}function Ai(){return s.jsxs("svg",{"aria-hidden":"true",viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round",className:"conversation-action-icon",children:[s.jsx("rect",{x:"7",y:"5",width:"9",height:"11",rx:"2.5"}),s.jsx("path",{d:"M5.5 12.5H5A2 2 0 0 1 3 10.5V5a2 2 0 0 1 2-2h5.5"})]})}function Pi(){return s.jsxs("svg",{"aria-hidden":"true",viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round",className:"conversation-action-icon",children:[s.jsx("circle",{cx:"6",cy:"5",r:"2.25"}),s.jsx("circle",{cx:"14",cy:"6",r:"2.25"}),s.jsx("circle",{cx:"14",cy:"14",r:"2.25"}),s.jsx("path",{d:"M8.4 5.7h2.2a2.7 2.7 0 0 1 2.7 2.7v1.2"}),s.jsx("path",{d:"M8.1 5.9l4.1 6.2"})]})}function Hc(){return s.jsxs("svg",{"aria-hidden":"true",viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round",className:"conversation-action-icon",children:[s.jsx("path",{d:"M10 2.8l1.6 3.4 3.8.5-2.8 2.6.7 3.9-3.3-1.8-3.3 1.8.7-3.9-2.8-2.6 3.8-.5L10 2.8z"}),s.jsx("path",{d:"M15.8 13.3l.7 1.5 1.7.2-1.2 1.1.3 1.8-1.5-.8-1.5.8.3-1.8-1.2-1.1 1.7-.2.7-1.5z"})]})}function Kc(){return s.jsxs("svg",{"aria-hidden":"true",viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round",className:"conversation-action-icon",children:[s.jsx("circle",{cx:"6",cy:"5",r:"2.2"}),s.jsx("circle",{cx:"14",cy:"5",r:"2.2"}),s.jsx("circle",{cx:"10",cy:"14",r:"2.2"}),s.jsx("path",{d:"M8.2 5h3.6"}),s.jsx("path",{d:"M10 7.2v4.6"}),s.jsx("path",{d:"M7.3 6.8l1.7 4"}),s.jsx("path",{d:"M12.7 6.8l-1.7 4"})]})}function Vc(){return s.jsxs("svg",{"aria-hidden":"true",viewBox:"0 0 20 20",fill:"currentColor",className:"conversation-action-icon",children:[s.jsx("circle",{cx:"4.5",cy:"10",r:"1.5"}),s.jsx("circle",{cx:"10",cy:"10",r:"1.5"}),s.jsx("circle",{cx:"15.5",cy:"10",r:"1.5"})]})}function Ii(){return s.jsxs("svg",{"aria-hidden":"true",viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round",className:"conversation-action-icon",children:[s.jsx("path",{d:"M4.5 5.5h1.2"}),s.jsx("path",{d:"M8 5.5h7.5"}),s.jsx("path",{d:"M4.5 10h1.2"}),s.jsx("path",{d:"M8 10h7.5"}),s.jsx("path",{d:"M4.5 14.5h1.2"}),s.jsx("path",{d:"M8 14.5h7.5"}),s.jsx("path",{d:"M5.1 5.5l.5.5 1-1"}),s.jsx("circle",{cx:"5.1",cy:"10",r:".8",fill:"currentColor",stroke:"none"}),s.jsx("path",{d:"M5.1 14.5l.5.5 1-1"})]})}const Vs={in_progress:0,failed:1,pending:2,completed:3,cancelled:4};function Li({provider:e,messages:t,variant:n="header"}){const[r,o]=d.useState(!1),a=d.useMemo(()=>xi(t,e),[t,e]);if(!a||a.items.length===0)return null;const l=Ar(a.items),c=l.in_progress||l.pending,f=c>0?c:a.items.length,b=[...a.items].sort((v,g)=>{const w=Vs[v.status]-Vs[g.status];return w!==0?w:v.updatedAt.localeCompare(g.updatedAt)}),p=n==="composer"?"conversation-task-progress-button composer-task-progress-button":"conversation-header-ai-button conversation-task-progress-button";return s.jsxs(s.Fragment,{children:[s.jsxs("button",{type:"button",className:p,"data-variant":n,"aria-label":i("conversation.taskProgressButton",{count:a.items.length}),title:i("conversation.taskProgressButton",{count:a.items.length}),onClick:()=>{o(!0)},children:[s.jsx("span",{className:"conversation-header-ai-button-label","aria-hidden":"true",children:s.jsx(Ii,{})}),s.jsx("span",{className:"conversation-task-progress-badge",children:f})]}),s.jsx(hn,{open:r,title:i("conversation.taskProgressModalTitle"),description:i("conversation.taskProgressModalDescription",{count:a.items.length}),className:"conversation-task-progress-modal",onClose:()=>{o(!1)},children:s.jsxs("div",{className:"conversation-task-progress-modal-body",children:[s.jsxs("div",{className:"conversation-task-progress-summary",children:[s.jsx(Tt,{label:i("conversation.taskProgressSummaryTotal"),value:a.items.length}),s.jsx(Tt,{label:i("conversation.taskProgressStatusInProgress"),value:l.in_progress}),s.jsx(Tt,{label:i("conversation.taskProgressStatusPending"),value:l.pending}),s.jsx(Tt,{label:i("conversation.taskProgressStatusCompleted"),value:l.completed}),l.failed>0?s.jsx(Tt,{label:i("conversation.taskProgressStatusFailed"),value:l.failed}):null]}),a.explanation?s.jsxs("div",{className:"conversation-task-progress-explanation",children:[s.jsx("strong",{children:i("conversation.taskProgressExplanationTitle")}),s.jsx("p",{children:a.explanation})]}):null,s.jsx("ol",{className:"conversation-task-progress-list",children:b.map(v=>s.jsxs("li",{className:"conversation-task-progress-item","data-status":v.status,children:[s.jsx("span",{className:"conversation-task-progress-item-indicator","data-status":v.status,"aria-hidden":"true"}),s.jsxs("div",{className:"conversation-task-progress-item-body",children:[s.jsxs("div",{className:"conversation-task-progress-item-header",children:[s.jsx("strong",{children:v.title}),s.jsx("span",{className:"conversation-task-progress-item-status",children:Ei(v.status)})]}),v.detail?s.jsx("p",{className:"conversation-task-progress-item-detail",children:v.detail}):null]})]},v.id))})]})})]})}function Tt({label:e,value:t}){return s.jsxs("div",{className:"conversation-task-progress-summary-card",children:[s.jsx("span",{children:e}),s.jsx("strong",{children:t})]})}function Ei(e){switch(e){case"in_progress":return i("conversation.taskProgressStatusInProgress");case"completed":return i("conversation.taskProgressStatusCompleted");case"failed":return i("conversation.taskProgressStatusFailed");case"cancelled":return i("conversation.taskProgressStatusCancelled");case"pending":default:return i("conversation.taskProgressStatusPending")}}const _i="codingns.conversation.composer-draft:",Oi=1,Bi=[{id:"builtin-stage-and-summarize",text:"请将本次会话变更的所有代码提交到git暂存区,然后总结一条中文的提交信息"},{id:"builtin-review-module",text:"分析本项目 模块的代码实现,并分析存在的问题"},{id:"builtin-group-commits",text:"分析当前项目中的未提交文件,按照功能模块进行分类提交,提交信息格式请参考我最近的提交记录"}];function ls(){return typeof window<"u"&&typeof window.localStorage<"u"}function qi(e){if(!e||typeof e!="object")return null;const t="id"in e?e.id:null,n="fileName"in e?e.fileName:null,r="mimeType"in e?e.mimeType:null,o="fileSize"in e?e.fileSize:null,a="lastModified"in e?e.lastModified:null,l="contentBase64"in e?e.contentBase64:null;if(typeof t!="string"||typeof n!="string"||typeof r!="string"||typeof o!="number"||typeof a!="number"||typeof l!="string")return null;const c=t.trim(),f=n.trim(),b=r.trim(),p=l.trim();return!c||!f||!b||o<0||a<0||!p?null:{id:c,fileName:f,mimeType:b,fileSize:o,lastModified:a,contentBase64:p}}function Di(e){if(!e||typeof e!="object")return null;const t="content"in e?e.content:null,n="attachments"in e?e.attachments:null;if(typeof t!="string"||!Array.isArray(n))return null;const r=n.map(o=>qi(o)).filter(o=>o!==null);return r.length!==n.length||t.length===0&&r.length===0?null:{content:t,attachments:r}}function It(e){return`${_i}${e}`}function Fi(e){var t,n;return{id:((n=(t=globalThis.crypto)==null?void 0:t.randomUUID)==null?void 0:n.call(t))??`phrase-${Date.now()}-${Math.random().toString(16).slice(2)}`,text:e.trim()}}function Wi(e){if(!ls())return null;const t=e.trim();if(!t)return null;const n=window.localStorage.getItem(It(t));if(!n)return null;try{const r=JSON.parse(n),o=r&&typeof r=="object"&&"draft"in r&&r.draft&&typeof r.draft=="object"?r.draft:r,a=Di(o);return a||(window.localStorage.removeItem(It(t)),null)}catch{return window.localStorage.removeItem(It(t)),null}}function Ui(e,t){if(!ls())return!1;const n=e.trim();if(!n)return!1;if(t.content.length===0&&t.attachments.length===0)return Er(n),!0;try{return window.localStorage.setItem(It(n),JSON.stringify({schemaVersion:Oi,draft:t})),!0}catch{return!1}}function Er(e){if(!ls())return;const t=e.trim();t&&window.localStorage.removeItem(It(t))}const Gs="workbench:focus-composer",zi=["codex","claude-code","opencode","gemini","kimi"],$i=new Set(["codex","claude-code","opencode"]),Hi=new Set(["codex","claude-code","opencode"]),Qs={position:"absolute",width:"1px",height:"1px",padding:0,margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",border:0},ut=new Map;function Ki(e){return[{id:gn,name:i("conversation.modelUseCliDefault"),provider:e,usesProviderDefault:!0}]}function Zs(e){return Ki(e)}function Vi(){var e,t;return((t=(e=globalThis.crypto)==null?void 0:e.randomUUID)==null?void 0:t.call(e))??`${Date.now()}-${Math.random().toString(16).slice(2)}`}function Ys(e){if(e){e.value="";try{const t=e.showPicker;if(typeof t=="function"){t.call(e);return}}catch{}e.click()}}function Gi(e,t,n,r){const o=globalThis.atob(n),a=Uint8Array.from(o,l=>l.charCodeAt(0));return new File([a],e,{type:t,lastModified:r})}function Qi(e){return e.trim().toLowerCase().startsWith("image/")}function Lt(e){const t=e.type.trim().toLowerCase();return t.length>0?t:"application/octet-stream"}function _r(e){return Qi(Lt(e))?"image":"file"}function Or(e,t=Vi()){const n=_r(e);return{id:t,file:e,kind:n,previewUrl:n==="image"?URL.createObjectURL(e):null}}function Zi(e){const t=Gi(e.fileName,e.mimeType,e.contentBase64,e.lastModified);return Or(t,e.id)}function Yi(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}function Ji(e){const t=e.trim().replace(/\s+/g," ");return t.length===0?i("conversation.forkDraftEmpty"):t.length>140?`${t.slice(0,140)}…`:t}function Xi(e,t){return t===e?Hi.has(t)?null:i("conversation.forkProviderNativeUnsupported"):$i.has(t)?null:i("conversation.forkProviderReconstructedUnsupported")}function Br(e){return(e==null?void 0:e.canStartSession)===!1}function ea(e){return Br(e)?(e==null?void 0:e.limitations[0])??i("conversation.capabilityDenied"):null}function ta(e,t){return{id:t,kind:_r(e),fileName:e.name,mimeType:Lt(e),fileSize:e.size}}function Js(e){return new Promise((t,n)=>{const r=new FileReader;r.onerror=()=>{n(r.error??new Error("FILE_READ_FAILED"))},r.onload=()=>{const o=typeof r.result=="string"?r.result:"",a=o.includes(",")?o.split(",").at(-1)??"":o;t(a)},r.readAsDataURL(e)})}function na(e){e.forEach(t=>{t.previewUrl&&URL.revokeObjectURL(t.previewUrl)})}function sa(e,t){const n=new Set(e.map(o=>`${o.file.name}:${o.file.size}:${o.file.lastModified}`)),r=[...e];return t.forEach(o=>{const a=`${o.name}:${o.size}:${o.lastModified}`;n.has(a)||(n.add(a),r.push(Or(o)))}),r}function ra(e,t,n){const r=e.nativeEvent;return r.isComposing||r.keyCode===229||t||n}function Gc({capabilities:e,placeholder:t,draftStorageId:n,initialModel:r=null,workspaceId:o=null,initialProviderConfigMode:a="global-default",initialProviderPresetId:l=null,forkDraft:c=null,onClearForkDraft:f,onForkDraftChange:b,panelRef:p,portalContainer:v=null,hasActiveRun:g=null,canInterrupt:w=null,contextUsage:x=null,taskProvider:y=null,taskMessages:N=[],hasPendingQueuedMessages:B=!1,isSubmitting:A,isRunning:q=!1,onInterrupt:Z,onQueueSend:G,onSend:U}){const z=Ft(),D=d.useId(),X=d.useId(),[$,ee]=d.useState(""),[H,J]=d.useState(""),[ye,ge]=d.useState("medium"),[re,Se]=d.useState([]),[Tn,xe]=d.useState(!1),[Be,je]=d.useState(!1),[E,Ne]=d.useState(Bi),[Ut,nt]=d.useState(!1),[Mn,Re]=d.useState(!1),[te,zt]=d.useState(""),[K,$t]=d.useState(!1),[qe,Q]=d.useState(!1),[vt,bt]=d.useState(!1),[st,Ht]=d.useState(!1),[oe,De]=d.useState(null),[de,Ae]=d.useState(!1),[rt,ot]=d.useState(null),[Pe,Fe]=d.useState(!1),Kt=d.useMemo(()=>jt(a,l),[a,l]),[ne,We]=d.useState(Kt.providerConfigMode),[me,Ue]=d.useState(Kt.providerPresetId),ke=d.useMemo(()=>jt(ne,me),[ne,me]),[m,C]=d.useState(null),[M,P]=d.useState(!1),[j,ie]=d.useState(null),[Te,ve]=d.useState(!1),[Ie,ae]=d.useState("global-default"),[Me,se]=d.useState(null),[Vt,Rn]=d.useState({}),[Gt,Qt]=d.useState(null),yt=d.useRef(null),An=d.useRef(null),fs=d.useRef(null),Pn=d.useRef(!1),In=d.useRef(!1),Zt=d.useRef(!1),xt=d.useRef(null),Le=d.useRef(new Set),ze=d.useRef(new Map),Ln=d.useRef(0),Yt=d.useRef(null),{showToast:kt}=Wt(),Jt=Yo(),En=d.useCallback(()=>{xt.current!==null&&(globalThis.clearTimeout(xt.current),xt.current=null),Zt.current=!1},[]);d.useEffect(()=>En,[En]);const _=(e==null?void 0:e.provider)??y??Jo(e),it=Ge(_),at=Vo(u=>$n(_)?u.profile.providers[_]:null),Ct=(at==null?void 0:at.defaultModel)??null,wt=(at==null?void 0:at.defaultReasoningLevel)??null;d.useEffect(()=>{const u=jt(a,l);We(u.providerConfigMode),Ue(u.providerPresetId)},[n,a,l,_]),d.useEffect(()=>{if(!c){ae("global-default"),se(null);return}if(Ge(c.targetProvider)){const u=jt(c.targetProviderConfigMode,c.targetProviderPresetId);ae(u.providerConfigMode),se(u.providerPresetId);return}ae("global-default"),se(null)},[c]),d.useEffect(()=>{if(!it){De(null),Ae(!1);return}const u=ut.get(it)??null;u&&De(u);let h=!1;return Ae(!u),Ds().then(k=>{k.items.forEach(S=>{ut.set(S.app,S)}),h||De(ut.get(it)??null)}).catch(()=>{!h&&!u&&De(null)}).finally(()=>{h||Ae(!1)}),()=>{h=!0}},[it]),d.useEffect(()=>{const u=c?Ge(c.targetProvider):null;if(!u){ie(null),ve(!1);return}const h=ut.get(u)??null;h&&ie(h);let k=!1;return ve(!h),Ds().then(S=>{S.items.forEach(R=>{ut.set(R.app,R)}),k||ie(ut.get(u)??null)}).catch(()=>{!k&&!h&&ie(null)}).finally(()=>{k||ve(!1)}),()=>{k=!0}},[c]),d.useEffect(()=>{if(ne==="cc-switch-preset"){if(!me){We("global-default");return}oe&&!oe.options.some(u=>u.id===me)&&(We("global-default"),Ue(null))}},[oe,ne,me]),d.useEffect(()=>{if(ne!=="cc-switch-preset"||!me||!(o!=null&&o.trim())){ot(null),Fe(!1);return}let u=!1;return Fe(!0),Fs(_,o,{providerConfigMode:"cc-switch-preset",providerPresetId:me}).then(h=>{u||ot(h)}).catch(()=>{u||ot(null)}).finally(()=>{u||Fe(!1)}),()=>{u=!0}},[_,ne,me,o]),d.useEffect(()=>{if(!(!c||Ie!=="cc-switch-preset")){if(!Me){ae("global-default");return}j&&!j.options.some(u=>u.id===Me)&&(ae("global-default"),se(null))}},[j,c,Ie,Me]);const _n=d.useMemo(()=>Kn(e,"send_message"),[e]),hs=d.useMemo(()=>Kn(e,"interrupt"),[e]),le=d.useMemo(()=>Kn(e,"attachments"),[e]),lt=d.useMemo(()=>ne!=="cc-switch-preset"?e:rt??e,[e,rt,ne]),be=d.useMemo(()=>{var h;const u=(h=lt==null?void 0:lt.modelOptions)==null?void 0:h.map(k=>{var S;return{...k,provider:_,supportedReasoningEfforts:(S=k.supportedReasoningEfforts)==null?void 0:S.filter(R=>R==="low"||R==="medium"||R==="high"||R==="xhigh")}});return u!=null&&u.length?u:Zs(_)},[lt==null?void 0:lt.modelOptions,_]),Xt=d.useMemo(()=>Us(oe),[oe]),On=ne==="cc-switch-preset"?me??Qe:Qe,$e=d.useMemo(()=>Xt.find(u=>u.value===On)??Xt[0]??null,[Xt,On]),ce=d.useMemo(()=>be.find(u=>u.id===H)??null,[be,H]),en=Xo(e),bo=ei(e),Bn=d.useMemo(()=>[{value:"low",label:i("conversation.reasoningLow")},{value:"medium",label:i("conversation.reasoningMedium")},{value:"high",label:i("conversation.reasoningHigh")},{value:"xhigh",label:i("conversation.reasoningMaximum")}],[]),Ce=d.useMemo(()=>{if(!en)return[];const u=ce==null?void 0:ce.supportedReasoningEfforts;return!u||u.length===0?Bn:Bn.filter(h=>u.includes(h.value))},[en,Bn,ce==null?void 0:ce.supportedReasoningEfforts]),gs=d.useMemo(()=>be.map(u=>({value:u.id,label:un(u)?i("conversation.modelUseCliDefault"):u.name})),[be]),qn=d.useMemo(()=>zs(oe),[oe]),yo=d.useMemo(()=>{const u=ce?un(ce)?i("conversation.modelUseCliDefault"):ce.name:i("conversation.modelUseCliDefault");return qn?`${($e==null?void 0:$e.label)??i("conversation.deploymentDefaultPreset")} · ${u}`:u},[ce,$e,qn]),xo=d.useMemo(()=>Ce.map(u=>({value:u.value,label:u.label})),[Ce]),ko=d.useMemo(()=>[{command:"/plan",label:i("conversation.slashCommandPlan")},{command:"/review",label:i("conversation.slashCommandReview")},{command:"/explain",label:i("conversation.slashCommandExplain")}],[]),vs=(e==null?void 0:e.inRunInputMode)??"none",pe=!!c,{visibleProviders:tn}=ti(zi,pe),bs=(c==null?void 0:c.targetProvider)??null,Co=Ge(bs),ue=d.useMemo(()=>jt(Ie,Me),[Ie,Me]),nn=!!c&&(e==null?void 0:e.provider)===bs&&ke.providerConfigMode===ue.providerConfigMode&&ke.providerPresetId===ue.providerPresetId,Ee=d.useMemo(()=>c?nn?e:m??Hn(c.targetProvider):null,[e,m,c,nn]),_e=d.useMemo(()=>{var h;if(!c)return[];const u=(h=Ee==null?void 0:Ee.modelOptions)==null?void 0:h.map(k=>{var S;return{...k,provider:c.targetProvider,supportedReasoningEfforts:(S=k.supportedReasoningEfforts)==null?void 0:S.filter(R=>R==="low"||R==="medium"||R==="high"||R==="xhigh")}});return u!=null&&u.length?u:Zs(c.targetProvider)},[Ee==null?void 0:Ee.modelOptions,c]),ys=d.useMemo(()=>_e.map(u=>({value:u.id,label:un(u)?i("conversation.modelUseCliDefault"):u.name})),[_e]),sn=d.useMemo(()=>!c||!c.targetModel?gn:_e.some(u=>u.id===c.targetModel)?c.targetModel:gn,[_e,c]),rn=d.useMemo(()=>Us(j),[j]),Dn=ue.providerConfigMode==="cc-switch-preset"?ue.providerPresetId??Qe:Qe,He=d.useMemo(()=>rn.find(u=>u.value===Dn)??rn[0]??null,[rn,Dn]),on=d.useMemo(()=>_e.find(u=>u.id===sn)??null,[_e,sn]),Fn=d.useMemo(()=>zs(j),[j]),wo=d.useMemo(()=>{const u=on?un(on)?i("conversation.modelUseCliDefault"):on.name:i("conversation.modelUseCliDefault");return Fn?`${(He==null?void 0:He.label)??i("conversation.deploymentDefaultPreset")} · ${u}`:u},[on,He,Fn]),Ke=d.useMemo(()=>c?tn.filter(u=>Xi(c.sourceProvider,u)!==null?!1:!Br(Vt[u]??null)):[],[c,Vt,tn]),xs=d.useMemo(()=>c?Ke.length>0?Ke:[c.targetProvider]:[],[c,Ke]),So=d.useMemo(()=>xs.map(u=>({value:u,label:jr(u,"full")})),[xs]),an=d.useMemo(()=>c?ea(Vt[c.targetProvider]??Ee??null):null,[Ee,c,Vt]),ln=g??null,Ve=q||ln===!0,jo=Ve&&vs==="streaming_guidance"&&ln===!1&&!ni(e),ks=!pe&&Ve&&vs==="streaming_guidance"&&!jo,Wn=!pe&&Ve&&typeof G=="function"&&si(e,ln),Y=!pe&&Ve&&!ks&&!Wn,Un=pe&&!!an,Cs=$.trim().length>0||re.length>0,ws=w===!1&&ln===!0?hs.allowed:w??hs.allowed,zn=Ve&&ws&&!!Z&&!vt,No=!Cs&&(st||A||Ve||B),Ss=zn?i("conversation.capabilityInterrupt"):i("conversation.runtimeRunning"),js=Ve?Wn?i("conversation.queueGuidanceButton"):ks?i("conversation.sendGuidanceButton"):i("conversation.sendButton"):i("conversation.sendButton"),Ns=d.useCallback(u=>{J(u),$n(_)&&Bs({providers:{[_]:{defaultModel:u}}}).catch(()=>{})},[_]),To=d.useCallback(u=>{if(u==="__global_default__"){We("global-default"),Ue(null);return}We("cc-switch-preset"),Ue(u)},[]),Mo=d.useCallback(u=>{ge(u),$n(_)&&Bs({providers:{[_]:{defaultReasoningLevel:u}}}).catch(()=>{})},[_]),cn=d.useCallback(u=>{Le.current.forEach(h=>{URL.revokeObjectURL(h)}),Le.current.clear(),u.forEach(h=>{h.previewUrl&&Le.current.add(h.previewUrl)}),Se(u)},[]),St=d.useCallback(u=>{u.length!==0&&Se(h=>{const k=sa(h,u);return k.forEach(S=>{S.previewUrl&&Le.current.add(S.previewUrl)}),k})},[]),Ro=d.useCallback(u=>{ze.current.delete(u),Se(h=>{const k=h.find(S=>S.id===u);return k!=null&&k.previewUrl&&(Le.current.delete(k.previewUrl),URL.revokeObjectURL(k.previewUrl)),h.filter(S=>S.id!==u)})},[]),Ts=d.useCallback(u=>{const h=Array.from(u.target.files??[]);h.length>0&&St(h),u.target.value=""},[St]),Ao=d.useCallback(u=>{var k;z.isMobile||!le.allowed||Y||!((((k=u.dataTransfer.files)==null?void 0:k.length)??0)>0||Array.from(u.dataTransfer.items??[]).some(S=>S.kind==="file"))||(u.preventDefault(),u.dataTransfer.dropEffect="copy",Be||je(!0),Q(!1))},[le.allowed,Be,Y,z.isMobile]),Po=d.useCallback(u=>{const h=u.relatedTarget;h instanceof Node&&u.currentTarget.contains(h)||je(!1)},[]),Io=d.useCallback(u=>{if(z.isMobile||!le.allowed||Y)return;const h=Array.from(u.dataTransfer.files??[]);h.length!==0&&(u.preventDefault(),je(!1),St(h))},[le.allowed,Y,St,z.isMobile]),Ms=d.useCallback(u=>{if(!le.allowed||Y)return;const h=u==="camera"?fs.current:An.current;Ys(h),xe(!1)},[le.allowed,Y]),Lo=d.useCallback(()=>{if(!(!le.allowed||Y)){if(Q(!1),z.isNativeMobile){Jt.trigger("selection"),xe(!0);return}Ys(An.current)}},[le.allowed,Jt,Y,z.isNativeMobile]),Eo=d.useCallback(()=>{Q(u=>!u)},[]),_o=d.useCallback(u=>{var h;ee(k=>k.trimStart().startsWith(u)?k:k.trim()?`${u} ${k.trim()}`:`${u} `),Q(!1),(h=yt.current)==null||h.focus()},[]),ct=d.useCallback(async u=>{const h=E;Ln.current+=1,Ne(u),$t(!0);try{const k=await ri(u.map(S=>({id:S.id,text:S.text})));return Ne(k.items.map(S=>({id:S.id,text:S.text}))),!0}catch(k){return Ne(h),kt({title:k instanceof Error?k.message:i("conversation.quickPhraseSaveFailed"),tone:"error"}),!1}finally{$t(!1)}},[E,kt]),Oo=d.useCallback(async()=>{const u=te.trim();!u||!await ct([...E,Fi(u)])||(zt(""),Re(!1))},[ct,te,E]),Bo=d.useCallback(u=>{ct(E.filter(h=>h.id!==u))},[ct,E]),Rs=d.useCallback((u,h)=>{const k=E.findIndex(W=>W.id===u);if(k<0)return;const S=k+h;if(S<0||S>=E.length)return;const R=[...E],[F]=R.splice(k,1);R.splice(S,0,F),ct(R)},[ct,E]),qo=d.useCallback(u=>{var h;ee(u),nt(!1),(h=yt.current)==null||h.focus()},[]),As=d.useCallback(u=>{const h=u?Wi(u):null,k=(h==null?void 0:h.attachments.map(S=>Zi(S)))??[];ze.current=new Map(((h==null?void 0:h.attachments)??[]).map(S=>[S.id,S])),cn(k),ee((h==null?void 0:h.content)??""),Q(!1)},[cn]);d.useEffect(()=>{if(!be.length)return;const u=(r==null?void 0:r.trim())||null,h=`${n??"default"}:${_}:${u??""}`;if(!!(u&&be.some(R=>R.id===u))){if(Yt.current!==h){Yt.current=h,H!==u&&J(u);return}if(be.some(R=>R.id===H))return;J(u);return}if(!u&&Yt.current!==h&&(Yt.current=h),Ct&&be.some(R=>R.id===Ct)){H!==Ct&&J(Ct);return}if(be.some(R=>R.id===H))return;const S=be[0].id;J(S)},[be,n,_,H,Ct,r]),d.useEffect(()=>{if(!oi(_)||Ce.length===0)return;if(wt&&Ce.some(k=>k.value===wt)){ye!==wt&&ge(wt);return}const u=e==null?void 0:e.defaultReasoningLevel;if(u&&Ce.some(k=>k.value===u)){ye!==u&&ge(u);return}if(Ce.some(k=>k.value===ye))return;const h=Ce[0].value;ge(h)},[Ce,e==null?void 0:e.defaultReasoningLevel,_,ye,wt]),d.useEffect(()=>{let u=!1;const h=Ln.current;return ii().then(k=>{u||Ln.current!==h||Ne(k.items.map(S=>({id:S.id,text:S.text})))}).catch(()=>{}),()=>{u=!0}},[]),d.useEffect(()=>{As(n)},[n,As]),d.useEffect(()=>{if(!n)return;const u=n,h=new Set(re.map(R=>R.id));ze.current.forEach((R,F)=>{h.has(F)||ze.current.delete(F)});let k=!1;async function S(){if($.length===0&&re.length===0){Er(u);return}const R=await Promise.all(re.map(async F=>{const W=ze.current.get(F.id);return W&&W.fileName===F.file.name&&W.fileSize===F.file.size&&W.lastModified===F.file.lastModified&&W.mimeType===Lt(F.file)?W:{id:F.id,fileName:F.file.name,mimeType:Lt(F.file),fileSize:F.file.size,lastModified:F.file.lastModified,contentBase64:await Js(F.file)}}));k||(ze.current=new Map(R.map(F=>[F.id,F])),Ui(u,{content:$,attachments:R}))}return S(),()=>{k=!0}},[re,$,n]),d.useEffect(()=>{const u=yt.current;u&&(u.style.height="0px",u.style.height=`${Math.min(u.scrollHeight,120)}px`)},[$]),d.useEffect(()=>{le.allowed||(ze.current.clear(),xe(!1),cn([]))},[le.allowed,cn]),d.useEffect(()=>{z.isMobile||xe(!1)},[z.isMobile]),d.useEffect(()=>()=>{Le.current.forEach(u=>{URL.revokeObjectURL(u)}),Le.current.clear()},[]),d.useEffect(()=>{function u(){var h;(h=yt.current)==null||h.focus()}return window.addEventListener(Gs,u),()=>{window.removeEventListener(Gs,u)}},[]),d.useEffect(()=>{if(!c){C(null),P(!1),ie(null),ve(!1),Rn({}),Qt(null);return}if(nn){C(null),P(!1);return}let u=!1;return C(Hn(c.targetProvider)),P(!0),Fs(c.targetProvider,c.workspaceId,{providerConfigMode:ue.providerConfigMode,providerPresetId:ue.providerConfigMode==="cc-switch-preset"?ue.providerPresetId:null}).then(h=>{u||C(h)}).catch(()=>{u||C(Hn(c.targetProvider))}).finally(()=>{u||P(!1)}),()=>{u=!0}},[c,ue.providerConfigMode,ue.providerPresetId,nn]),d.useEffect(()=>{if(!c){Rn({});return}let u=!1;return ai(tn,c.workspaceId).then(h=>{u||Rn(h)}),()=>{u=!0}},[c==null?void 0:c.workspaceId,tn]),d.useEffect(()=>{!c||!b||Ke.length!==0&&(Ke.includes(c.targetProvider)||b({...c,targetProvider:Ke[0]??c.targetProvider,targetModel:null,targetProviderConfigMode:"global-default",targetProviderPresetId:null}))},[c,b,Ke]),d.useEffect(()=>{!c||!c.targetModel||!b||_e.some(u=>u.id===c.targetModel)||b({...c,targetModel:null})},[_e,c,b]);const Do=d.useCallback(u=>{if(!(!c||!b||u===c.targetProvider)){if(u!==c.sourceProvider&&c.targetProvider===c.sourceProvider){Qt(u);return}u===_&&Ge(u)?(ae(ke.providerConfigMode),se(ke.providerPresetId)):(ae("global-default"),se(null)),b({...c,targetProvider:u,targetModel:null,targetProviderConfigMode:u===_&&Ge(u)?ke.providerConfigMode:"global-default",targetProviderPresetId:u===_&&Ge(u)?ke.providerPresetId:null})}},[ke,c,b,_]),Ps=d.useCallback(u=>{!c||!b||b({...c,targetModel:u===gn?null:u})},[c,b]),Fo=d.useCallback(u=>{!c||!b||(u===Qe?(ae("global-default"),se(null)):(ae("cc-switch-preset"),se(u)),b({...c,targetModel:null,targetProviderConfigMode:u===Qe?"global-default":"cc-switch-preset",targetProviderPresetId:u===Qe?null:u}))},[c,b]),Wo=d.useCallback(()=>{!c||!Gt||!b||(ae("global-default"),se(null),b({...c,targetProvider:Gt,targetModel:null,targetProviderConfigMode:"global-default",targetProviderPresetId:null}),Qt(null))},[c,b,Gt]),Is=d.useCallback(()=>{Qt(null)},[]);async function Uo(u){if(Pn.current)return;const h=$.trim(),k=re;if(h.length===0&&k.length===0||!_n.allowed||Y||Un){kt({title:Y?i("conversation.runtimeRunning"):an??_n.reason??i("conversation.capabilityDenied"),tone:"error"});return}Pn.current=!0,Jt.trigger(u==="queue"?"selection":"action"),Ht(!0),ee(""),Se([]),xe(!1),je(!1),nt(!1),Re(!1),Q(!1);try{const S=await Promise.all(k.map(async W=>({kind:W.kind,fileName:W.file.name,mimeType:Lt(W.file),fileSize:W.file.size,contentBase64:await Js(W.file)}))),R=k.map(W=>ta(W.file,W.id));await(u==="queue"&&G?G:U)(h,{model:pe||ce!=null&&ce.usesProviderDefault?void 0:H||void 0,reasoningLevel:pe?void 0:en&&Ce.length>0?ye:void 0,providerConfigMode:pe?ue.providerConfigMode:ne,providerPresetId:pe?ue.providerConfigMode==="cc-switch-preset"?ue.providerPresetId:null:ne==="cc-switch-preset"?me:null,attachments:S,attachmentMeta:R}),na(k),k.forEach(W=>{W.previewUrl&&Le.current.delete(W.previewUrl)})}catch(S){ee(h),Se(k),kt({title:S instanceof Error&&S.message==="FILE_READ_FAILED"?i("conversation.attachmentReadFailed"):S instanceof Error?S.message:i("conversation.capabilityDenied"),tone:"error"})}finally{Ht(!1),Pn.current=!1}}async function Ls(u){u.preventDefault(),await Uo(Wn?"queue":"send")}async function zo(){if(!(!ws||!Z||vt))try{bt(!0),Jt.trigger("action"),await Z()}catch(u){kt({title:u instanceof Error?u.message:i("conversation.capabilityInterruptDisabled"),tone:"error"})}finally{bt(!1)}}const Es=st||A||Y||Un||!_n.allowed||!Cs,_s=st||A||Y||!le.allowed,$o=$.length===0&&!Y,Os=s.jsxs("section",{ref:p,className:"composer-panel",children:[s.jsxs("form",{className:"composer-form",onSubmit:Ls,children:[s.jsx("input",{id:D,ref:An,type:"file",multiple:!0,tabIndex:-1,"aria-hidden":"true",style:Qs,onChange:Ts}),s.jsx("input",{id:X,ref:fs,type:"file",accept:"image/*",capture:"environment",tabIndex:-1,"aria-hidden":"true",style:Qs,onChange:Ts}),s.jsxs("div",{className:"composer-input-container","data-drag-active":Be?"true":void 0,onDragOver:Ao,onDragLeave:Po,onDrop:Io,children:[c?s.jsxs("div",{className:"composer-fork-draft",children:[s.jsxs("div",{className:"composer-fork-draft-main",children:[s.jsxs("div",{className:"composer-fork-draft-copy",children:[s.jsx("span",{className:"composer-fork-draft-label",children:i("conversation.forkDraftLabel")}),s.jsx("span",{className:"composer-fork-draft-text",children:Ji(c.content)})]}),s.jsxs("div",{className:"composer-fork-config",children:[s.jsxs("div",{className:"composer-fork-config-grid",children:[s.jsxs("div",{className:"composer-fork-field",children:[s.jsx("span",{className:"composer-fork-model-label",children:i("conversation.forkTargetProviderLabel")}),s.jsx(dn,{ariaLabel:i("conversation.forkTargetProviderLabel"),value:c.targetProvider,options:So,onChange:u=>Do(u),compact:!0})]}),s.jsxs("div",{className:"composer-fork-field",children:[s.jsx("span",{className:"composer-fork-model-label",children:i("conversation.forkTargetModelLabel")}),Co?s.jsx($s,{ariaLabel:i("conversation.forkTargetModelLabel"),triggerLabel:wo,presetOptions:rn,selectedPresetValue:Dn,selectedPresetSummary:(He==null?void 0:He.summary)??null,onSelectPreset:Fo,modelOptions:ys,selectedModelValue:sn,onSelectModel:Ps,loadingPresets:Te,loadingModels:M,modelColumnDisabled:ue.providerConfigMode==="cc-switch-preset"&&M&&m===null,showPresetColumn:Fn,modelEmptyText:i("conversation.deploymentModelEmpty")}):s.jsx(dn,{ariaLabel:i("conversation.forkTargetModelLabel"),value:sn,options:ys,onChange:Ps,disabled:M||Un,compact:!0})]})]}),an?s.jsx("p",{className:"composer-capability-hint",children:an}):null]})]}),f?s.jsx("button",{type:"button",className:"composer-fork-draft-clear","aria-label":i("conversation.forkDraftClear"),title:i("conversation.forkDraftClear"),onClick:f,children:s.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[s.jsx("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),s.jsx("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})}):null]}):null,re.length>0?s.jsx("div",{className:"composer-attachments",children:re.map(u=>s.jsxs("div",{className:"composer-attachment-card",children:[u.previewUrl?s.jsx("img",{src:u.previewUrl,alt:i("conversation.attachmentPreviewAlt"),className:"composer-attachment-preview"}):s.jsx("div",{className:"composer-attachment-file","aria-hidden":"true",children:s.jsxs("svg",{width:"22",height:"22",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",children:[s.jsx("path",{d:"M14 2H7a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7z"}),s.jsx("path",{d:"M14 2v5h5"}),s.jsx("path",{d:"M9 13h6"}),s.jsx("path",{d:"M9 17h6"})]})}),s.jsxs("div",{className:"composer-attachment-meta",children:[s.jsx("span",{className:"attachment-name",title:u.file.name,children:u.file.name}),s.jsx("span",{className:"attachment-size",children:Yi(u.file.size)})]}),s.jsx("button",{type:"button",className:"attachment-remove",onClick:()=>Ro(u.id),"aria-label":i("conversation.removeAttachment"),children:s.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[s.jsx("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),s.jsx("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]},u.id))}):null,Be?s.jsx("div",{className:"composer-drop-hint",children:i("conversation.attachmentDropHint")}):null,s.jsxs("div",{className:"composer-input-wrapper",children:[s.jsx("textarea",{ref:yt,className:"composer-input",value:$,placeholder:t??i("conversation.composerPlaceholder"),readOnly:Y,"aria-readonly":Y,onChange:u=>ee(u.target.value),rows:1,onFocus:()=>Q(!1),onCompositionStart:()=>{En(),In.current=!0},onCompositionEnd:()=>{In.current=!1,Zt.current=!0,xt.current=globalThis.setTimeout(()=>{Zt.current=!1,xt.current=null},0)},onPaste:u=>{if(Y||!le.allowed)return;const h=Array.from(u.clipboardData.items).filter(k=>k.kind==="file").map(k=>k.getAsFile()).filter(k=>!!k);h.length!==0&&(u.preventDefault(),St(h))},onKeyDown:u=>{if(u.key==="Escape"&&Q(!1),u.key==="Enter"&&!u.shiftKey){if(ra(u,In.current,Zt.current))return;u.preventDefault(),Es||Ls(u)}}}),s.jsx("div",{className:"composer-input-actions",children:No?s.jsx("button",{className:"composer-send composer-send-busy",type:"button",disabled:!zn,onClick:()=>{zn&&zo()},"aria-label":Ss,title:Ss,children:s.jsx("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:s.jsx("rect",{x:"6",y:"6",width:"12",height:"12"})})}):s.jsx("button",{className:"composer-send",type:"submit",disabled:Es,"aria-label":js,title:js,children:s.jsxs("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:[s.jsx("line",{x1:"22",y1:"2",x2:"11",y2:"13"}),s.jsx("polygon",{points:"22 2 15 22 11 13 2 9 22 2"})]})})})]}),qe?s.jsx("div",{className:"composer-slash-menu",role:"menu","aria-label":i("conversation.slashMenuTitle"),children:ko.map(u=>s.jsxs("button",{type:"button",className:"composer-slash-item",onClick:()=>_o(u.command),children:[s.jsx("span",{className:"composer-slash-command",children:u.command}),s.jsx("span",{className:"composer-slash-label",children:u.label})]},u.command))}):null,s.jsxs("div",{className:"composer-controls",children:[s.jsxs("div",{className:"composer-controls-left",children:[le.allowed?z.isNativeMobile?s.jsx("button",{type:"button",className:"composer-attach-btn","aria-label":i("conversation.attachFiles"),title:i("conversation.attachFiles"),disabled:_s,onClick:Lo,children:s.jsx(Gn,{})}):_s?s.jsx("button",{type:"button",className:"composer-attach-btn","aria-label":i("conversation.attachFiles"),title:i("conversation.attachFiles"),disabled:!0,children:s.jsx(Gn,{})}):s.jsx("label",{htmlFor:D,className:"composer-attach-btn","aria-label":i("conversation.attachFiles"),title:i("conversation.attachFiles"),onClick:()=>{Q(!1)},children:s.jsx(Gn,{})}):null,!pe&&it?s.jsx($s,{ariaLabel:i("conversation.modelSelectorLabel"),triggerLabel:yo,presetOptions:Xt,selectedPresetValue:On,selectedPresetSummary:($e==null?void 0:$e.summary)??null,onSelectPreset:To,modelOptions:gs,selectedModelValue:H,onSelectModel:Ns,loadingPresets:de,loadingModels:Pe,modelColumnDisabled:ne==="cc-switch-preset"&&Pe&&rt===null,showPresetColumn:qn,modelEmptyText:i("conversation.deploymentModelEmpty")}):null,!pe&&!it?s.jsx(dn,{ariaLabel:i("conversation.modelSelectorLabel"),value:H,options:gs,onChange:Ns}):null,!pe&&en&&Ce.length>0?s.jsx(dn,{ariaLabel:i("conversation.reasoningSelectorLabel"),value:ye,options:xo,onChange:u=>Mo(u),compact:!0}):null,bo?s.jsxs("button",{type:"button",className:"composer-slash-btn",onClick:Eo,title:i("conversation.slashMenu"),children:[s.jsx("span",{className:"slash-icon",children:"/"}),s.jsx("span",{children:i("conversation.slashMenu")})]}):null,s.jsx(da,{contextUsage:x}),s.jsx(Li,{provider:y,messages:N,variant:"composer"})]}),$o?s.jsx("div",{className:"composer-quick-phrase-group",children:s.jsx("button",{type:"button",className:"composer-quick-phrase-trigger","aria-label":i("conversation.quickPhraseTrigger"),title:i("conversation.quickPhraseTrigger"),onClick:()=>{nt(!0),Q(!1)},children:s.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[s.jsx("path",{d:"M7 8h10"}),s.jsx("path",{d:"M7 12h8"}),s.jsx("path",{d:"M7 16h5"}),s.jsx("path",{d:"M5 5h14v14H9l-4 4V5z"})]})})}):null]})]})]}),s.jsx(hn,{open:Ut,title:i("conversation.quickPhraseModalTitle"),description:i("conversation.quickPhraseModalDescription"),className:"composer-quick-phrase-modal",onClose:()=>{nt(!1),Re(!1)},children:s.jsxs("div",{className:"composer-quick-phrase-modal-body",children:[s.jsxs("div",{className:"composer-quick-phrase-toolbar",children:[s.jsx("div",{className:"composer-quick-phrase-toolbar-copy",children:s.jsx("span",{children:i("conversation.quickPhraseListLabel")})}),s.jsx("button",{type:"button",className:"primary-button",disabled:K,onClick:()=>Re(!0),children:i("conversation.quickPhraseOpenCreateAction")})]}),s.jsx("div",{className:"composer-quick-phrase-list",role:"list","aria-label":i("conversation.quickPhraseListLabel"),children:E.length===0?s.jsx("div",{className:"composer-quick-phrase-empty",children:i("conversation.quickPhraseEmpty")}):E.map((u,h)=>s.jsxs("div",{className:"composer-quick-phrase-item",role:"listitem",children:[s.jsxs("button",{type:"button",className:"composer-quick-phrase-select",onClick:()=>qo(u.text),children:[s.jsx("span",{className:"composer-quick-phrase-order",children:i("conversation.quickPhraseOrderLabel",{index:h+1})}),s.jsx("span",{className:"composer-quick-phrase-text",children:u.text})]}),s.jsxs("div",{className:"composer-quick-phrase-actions",children:[s.jsx("button",{type:"button",className:"composer-quick-phrase-action",disabled:K||h===0,"aria-label":i("conversation.quickPhraseMoveUp"),title:i("conversation.quickPhraseMoveUp"),onClick:()=>Rs(u.id,-1),children:"↑"}),s.jsx("button",{type:"button",className:"composer-quick-phrase-action",disabled:K||h===E.length-1,"aria-label":i("conversation.quickPhraseMoveDown"),title:i("conversation.quickPhraseMoveDown"),onClick:()=>Rs(u.id,1),children:"↓"}),s.jsx("button",{type:"button",className:"composer-quick-phrase-action is-danger",disabled:K,"aria-label":i("conversation.quickPhraseDelete"),title:i("conversation.quickPhraseDelete"),onClick:()=>Bo(u.id),children:"×"})]})]},u.id))})]})}),s.jsx(hn,{open:Mn,title:i("conversation.quickPhraseCreateModalTitle"),description:i("conversation.quickPhraseCreateModalDescription"),className:"composer-quick-phrase-create-modal",onClose:()=>Re(!1),children:s.jsxs("div",{className:"composer-quick-phrase-modal-body",children:[s.jsxs("label",{className:"workbench-modal-field",children:[s.jsx("span",{children:i("conversation.quickPhraseCreateLabel")}),s.jsx("textarea",{className:"composer-quick-phrase-textarea",value:te,placeholder:i("conversation.quickPhraseCreatePlaceholder"),rows:4,onChange:u=>zt(u.target.value)})]}),s.jsxs("div",{className:"workbench-modal-actions",children:[s.jsx("button",{type:"button",className:"secondary-button",onClick:()=>Re(!1),children:i("common.cancel")}),s.jsx("button",{type:"button",className:"primary-button",disabled:K||te.trim().length===0,onClick:()=>{Oo()},children:i("conversation.quickPhraseCreateAction")})]})]})}),s.jsx(hn,{open:Gt!==null,title:i("conversation.forkSwitchConfirmTitle"),description:i("conversation.forkSwitchConfirmDescription"),className:"composer-fork-confirm-modal",onClose:Is,children:s.jsxs("div",{className:"composer-fork-confirm-body",children:[s.jsxs("div",{className:"composer-fork-confirm-list",children:[s.jsxs("div",{className:"composer-fork-confirm-item",children:[s.jsx("span",{className:"composer-fork-confirm-icon is-keep","aria-hidden":"true",children:s.jsx(la,{})}),s.jsxs("div",{className:"composer-fork-confirm-copy",children:[s.jsx("strong",{children:i("conversation.forkSwitchConfirmKeepTitle")}),s.jsx("p",{children:i("conversation.forkSwitchConfirmKeepBody")})]})]}),s.jsxs("div",{className:"composer-fork-confirm-item",children:[s.jsx("span",{className:"composer-fork-confirm-icon is-convert","aria-hidden":"true",children:s.jsx(ca,{})}),s.jsxs("div",{className:"composer-fork-confirm-copy",children:[s.jsx("strong",{children:i("conversation.forkSwitchConfirmConvertTitle")}),s.jsx("p",{children:i("conversation.forkSwitchConfirmConvertBody")})]})]}),s.jsxs("div",{className:"composer-fork-confirm-item",children:[s.jsx("span",{className:"composer-fork-confirm-icon is-drop","aria-hidden":"true",children:s.jsx(ua,{})}),s.jsxs("div",{className:"composer-fork-confirm-copy",children:[s.jsx("strong",{children:i("conversation.forkSwitchConfirmDropTitle")}),s.jsx("p",{children:i("conversation.forkSwitchConfirmDropBody")})]})]})]}),s.jsxs("div",{className:"workbench-modal-actions",children:[s.jsx("button",{type:"button",className:"secondary-button",onClick:Is,children:i("conversation.forkSwitchKeepNative")}),s.jsx("button",{type:"button",className:"primary-button",onClick:Wo,children:i("conversation.forkSwitchConfirmAction")})]})]})}),s.jsx(oa,{open:Tn&&z.isNativeMobile,onClose:()=>xe(!1),onSelectCamera:()=>Ms("camera"),onSelectLibrary:()=>Ms("library")})]});return v?Sr.createPortal(Os,v):Os}function oa({open:e,onClose:t,onSelectCamera:n,onSelectLibrary:r}){return s.jsx(li,{open:e,title:i("conversation.attachmentSourceSheetTitle"),description:i("conversation.attachmentSourceSheetDescription"),kind:"action",height:"auto",className:"composer-attachment-sheet",cardClassName:"composer-attachment-sheet-card",bodyClassName:"composer-attachment-sheet-body",showHandle:!0,onClose:t,children:s.jsxs(ci,{className:"composer-attachment-sheet-actions",children:[s.jsx(Ws,{as:"button",className:"mobile-workspace-home-row composer-attachment-sheet-option","aria-label":i("conversation.attachmentTakePhoto"),label:i("conversation.attachmentTakePhoto"),description:i("conversation.attachmentTakePhotoHint"),trailing:s.jsx(ia,{}),onClick:n}),s.jsx(Ws,{as:"button",className:"mobile-workspace-home-row composer-attachment-sheet-option","aria-label":i("conversation.attachmentChooseFromLibrary"),label:i("conversation.attachmentChooseFromLibrary"),description:i("conversation.attachmentChooseFromLibraryHint"),trailing:s.jsx(aa,{}),onClick:r})]})})}function ia(){return s.jsxs("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",children:[s.jsx("path",{d:"M4 8h3l1.5-2h7L17 8h3a1 1 0 0 1 1 1v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V9a1 1 0 0 1 1-1Z"}),s.jsx("circle",{cx:"12",cy:"13",r:"4"})]})}function Gn(){return s.jsxs("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[s.jsx("rect",{x:"3",y:"3",width:"18",height:"18",rx:"4"}),s.jsx("path",{d:"M8 12h8M12 8v8"})]})}function aa(){return s.jsxs("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",children:[s.jsx("rect",{x:"4",y:"4",width:"16",height:"16",rx:"2.5"}),s.jsx("path",{d:"m7.5 15 3-3 2.5 2.5 3-4L18 13.5"}),s.jsx("circle",{cx:"8.75",cy:"8.75",r:"1.25",fill:"currentColor",stroke:"none"})]})}function la(){return s.jsxs("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.9",children:[s.jsx("path",{d:"M12 3 4 7v5c0 5 3.5 8 8 9 4.5-1 8-4 8-9V7l-8-4Z"}),s.jsx("path",{d:"m9.5 12 1.8 1.8L15 10.2"})]})}function ca(){return s.jsxs("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.9",children:[s.jsx("path",{d:"M4 7h9"}),s.jsx("path",{d:"m10 3 4 4-4 4"}),s.jsx("path",{d:"M20 17h-9"}),s.jsx("path",{d:"m14 13-4 4 4 4"})]})}function ua(){return s.jsxs("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.9",children:[s.jsx("path",{d:"m7 7 10 10"}),s.jsx("path",{d:"M17 7 7 17"}),s.jsx("path",{d:"M12 3v2"}),s.jsx("path",{d:"M12 19v2"})]})}function da({contextUsage:e}){const[t,n]=d.useState(!1),r=d.useRef(null),o=d.useRef(null),[a,l]=d.useState(null),c=d.useId(),f=e?Math.round(e.usageRatio*100):null,b=e?Math.max(0,Math.min(e.usageRatio,1)):0,p=ma(b),v=e?pa(e.contextWindowSource):null,g=e?`${i("conversation.contextUsageTitle")} ${f}%`:i("conversation.contextUsageUnavailable"),w=d.useCallback(()=>{const x=r.current;if(!x||typeof window>"u")return;const y=x.getBoundingClientRect(),N=window.innerWidth,B=window.innerHeight,A=12,q=10,Z=Math.min(240,Math.max(188,N-A*2)),G=Math.min(Math.max(A,y.left+y.width/2-Z/2),Math.max(A,N-Z-A)),U=y.top-A,z=B-y.bottom-A,D=U>=140||U>=z;l({position:"fixed",left:G,width:Z,maxWidth:N-A*2,top:D?void 0:y.bottom+q,bottom:D?B-y.top+q:void 0})},[]);return d.useEffect(()=>{if(!t)return;function x(N){var A,q;const B=N.target;!((A=r.current)!=null&&A.contains(B))&&!((q=o.current)!=null&&q.contains(B))&&n(!1)}function y(N){N.key==="Escape"&&n(!1)}return window.addEventListener("pointerdown",x),window.addEventListener("keydown",y),window.addEventListener("resize",w),window.addEventListener("scroll",w,!0),w(),()=>{window.removeEventListener("pointerdown",x),window.removeEventListener("keydown",y),window.removeEventListener("resize",w),window.removeEventListener("scroll",w,!0)}},[t,w]),s.jsxs(s.Fragment,{children:[s.jsx("button",{ref:r,type:"button",className:`composer-context-ring ${p}`,style:{"--context-usage-progress":`${b}`},"aria-label":g,"aria-expanded":t,"aria-describedby":t?c:void 0,onClick:()=>n(x=>!x),onMouseEnter:()=>n(!0),onMouseLeave:()=>n(!1),onFocus:()=>n(!0),onBlur:()=>n(!1),children:s.jsx("span",{className:"composer-context-ring-value",children:f===null?"--":s.jsxs(s.Fragment,{children:[s.jsx("span",{children:f}),s.jsx("span",{className:"composer-context-ring-suffix",children:"%"})]})})}),t&&a&&typeof document<"u"?Sr.createPortal(s.jsx("div",{ref:o,id:c,className:"composer-context-tooltip",style:a,role:"tooltip",children:e?s.jsxs(s.Fragment,{children:[s.jsx("div",{className:"composer-context-tooltip-title",children:i("conversation.contextUsageTitle")}),s.jsxs("div",{className:"composer-context-tooltip-line",children:[f,"% · ",Qn(e.promptTokens)," /"," ",Qn(e.contextWindow)," tokens"]}),e.cachedInputTokens>0?s.jsx("div",{className:"composer-context-tooltip-line",children:i("conversation.contextUsageCachedTokens").replace("{count}",Qn(e.cachedInputTokens))}):null,v?s.jsx("div",{className:"composer-context-tooltip-meta",children:v}):null,e.isEstimated?s.jsx("div",{className:"composer-context-tooltip-meta",children:i("conversation.contextUsageEstimated")}):null]}):s.jsx("div",{className:"composer-context-tooltip-line",children:i("conversation.contextUsageUnavailable")})}),document.body):null]})}function ma(e){return e>=.95?"is-critical":e>=.8?"is-warning":"is-normal"}function pa(e){switch(e){case"provider-log":return i("conversation.contextUsageSourceProviderLog");case"provider-runtime":return i("conversation.contextUsageSourceProviderRuntime");case"provider-config":return i("conversation.contextUsageSourceProviderConfig");case"model-map":return i("conversation.contextUsageSourceModelMap");default:return""}}function Qn(e){return new Intl.NumberFormat().format(e)}const bn="*** Begin Patch",yn="*** End Patch";function Xs(e){const t=e.replace(/\r\n/g,`
|
|
2
|
-
`);if(!t.includes(bn)||!t.includes(yn))return null;const n=t.split(`
|
|
3
|
-
`),r=[];let o=null,a=null;for(const l of n){if(l===bn||l===yn)continue;if(l.startsWith("*** Update File: ")){o=Zn("update",l.slice(17)),r.push(o),a=null;continue}if(l.startsWith("*** Add File: ")){o=Zn("add",l.slice(14)),r.push(o),a={oldLineNumber:0,newLineNumber:1};continue}if(l.startsWith("*** Delete File: ")){o=Zn("delete",l.slice(17)),r.push(o),a=null;continue}if(!o)continue;if(l.startsWith("*** Move to: ")){o.nextPath=l.slice(13),o.lines.push({kind:"meta",text:l,oldLineNumber:null,newLineNumber:null});continue}if(l.startsWith("@@")){a=va(l)??{oldLineNumber:0,newLineNumber:0},o.lines.push({kind:"hunk",text:l,oldLineNumber:null,newLineNumber:null});continue}if(l==="*** End of File"){o.lines.push({kind:"meta",text:l,oldLineNumber:null,newLineNumber:null});continue}if(o.action==="add"&&l.startsWith("+")){o.additions+=1,o.statsKnown=!0,o.lines.push({kind:"add",text:l,oldLineNumber:null,newLineNumber:(a==null?void 0:a.newLineNumber)??o.additions}),a&&(a.newLineNumber+=1);continue}if(!a){o.lines.push({kind:"meta",text:l,oldLineNumber:null,newLineNumber:null});continue}if(l.startsWith("+")){o.additions+=1,o.statsKnown=!0,o.lines.push({kind:"add",text:l,oldLineNumber:null,newLineNumber:a.newLineNumber}),a.newLineNumber+=1;continue}if(l.startsWith("-")){o.deletions+=1,o.statsKnown=!0,o.lines.push({kind:"remove",text:l,oldLineNumber:a.oldLineNumber,newLineNumber:null}),a.oldLineNumber+=1;continue}if(l.startsWith(" ")||l.length===0){o.lines.push({kind:"context",text:l,oldLineNumber:a.oldLineNumber,newLineNumber:a.newLineNumber}),a.oldLineNumber+=1,a.newLineNumber+=1;continue}o.lines.push({kind:"meta",text:l,oldLineNumber:null,newLineNumber:null})}return r.length===0?null:{files:r,totalAdditions:r.reduce((l,c)=>l+c.additions,0),totalDeletions:r.reduce((l,c)=>l+c.deletions,0)}}function fa(e,t=[]){const n=e.replace(/\r\n/g,`
|
|
4
|
-
`).trim();if(!n)return null;if(n.includes(bn)&&n.includes(yn))return n;const r=[...new Set(t.map(o=>o.trim()).filter(o=>o.length>0))];return r.length!==1||!ba(n)?null:[bn,`*** Update File: ${r[0]}`,n,yn].join(`
|
|
5
|
-
`)}function ha(e){const t=ya(e);if(!t)return[];const n=t.replace(/\r\n/g,`
|
|
6
|
-
`).split(`
|
|
7
|
-
`),r=[];let o=!1;for(const a of n){const l=a.trim();if(!o){/^Success\.\s+Updated the following files:/i.test(l)&&(o=!0);continue}if(!l){if(r.length>0)break;continue}const c=l.match(/^[A-Z?]\s+(.+)$/),f=((c==null?void 0:c[1])??l).trim();if(!f)break;r.push(f)}return[...new Set(r)]}function ga(e){return e.replace(/\\/g,"/").split("/").at(-1)||e}function Zn(e,t){return{path:t,nextPath:null,action:e,additions:0,deletions:0,statsKnown:!1,lines:[]}}function va(e){const t=e.match(/^@@\s+-(\d+)(?:,\d+)?\s+\+(\d+)(?:,\d+)?\s+@@/);return t?{oldLineNumber:Number(t[1]),newLineNumber:Number(t[2])}:null}function ba(e){return e.startsWith("@@")||e.startsWith("*** Update File: ")||e.startsWith("*** Add File: ")||e.startsWith("*** Delete File: ")||e.includes(`
|
|
8
|
-
@@`)||e.startsWith("+")||e.startsWith("-")}function ya(e){const t=e.trim();if(!t)return"";if(!t.startsWith("{"))return t;try{const n=JSON.parse(t);if(!n||typeof n!="object"||Array.isArray(n))return t;const r=n;if(typeof r.output=="string"&&r.output.trim().length>0)return r.output;if(typeof r.result=="string"&&r.result.trim().length>0)return r.result;if(typeof r.message=="string"&&r.message.trim().length>0)return r.message}catch{return t}return t}const xa=/data:image\/([a-zA-Z0-9.+-]+);base64,([A-Za-z0-9+/=]+)/g,ka=/!\[([^\]]*)\]\((data:image\/[a-zA-Z0-9.+-]+;base64,[A-Za-z0-9+/=]+)\)/g,Ca=/<img\b[^>]*src=["'](data:image\/[a-zA-Z0-9.+-]+;base64,[A-Za-z0-9+/=]+)["'][^>]*>/gi,wa=/<image\b([^>]*)>([\s\S]*?)<\/image>/gi,Sa=/\[\[CODINGNS_IMAGE_ATTACHMENTS\]\][\s\S]*?\[\[\/CODINGNS_IMAGE_ATTACHMENTS\]\]/g;function gt(e){const t=ja(e),n=Na(t);return n||qr(t)}function ja(e){return e.replace(Sa,"")}function Na(e){const t=e.trim();if(!Ta(t))return null;try{const n=JSON.parse(t),r=Ma(n);return r.text||r.inlineImages.length>0?r:null}catch{return null}}function Ta(e){return e.length<2?!1:e.startsWith("[")&&e.endsWith("]")||e.startsWith("{")&&e.endsWith("}")}function Ma(e){const t=[],n=[];return vn(e,t,n),{text:Fr(t.join(`
|
|
9
|
-
|
|
10
|
-
`)),inlineImages:Dr(n)}}function vn(e,t,n){if(typeof e=="string"){const l=qr(e);l.text&&t.push(l.text),n.push(...l.inlineImages);return}if(e==null)return;if(Array.isArray(e)){e.forEach(l=>vn(l,t,n));return}if(typeof e!="object")return;const r=e,o=new Set,a=Ra(r);a&&(n.push(a),["type","source","media_type","mime_type","mimeType","data","image_url","imageUrl","url","src","alt","name"].forEach(l=>{l in r&&o.add(l)}));for(const l of["image_url","url","src","source"]){const c=r[l];typeof c!="string"||!Wr(c)||(n.push(Je(c,he(r.alt))),o.add(l))}for(const l of["text","message","content","output","result","summary","caption"])l in r&&(o.add(l),vn(r[l],t,n));o.size>0||Object.values(r).forEach(l=>{vn(l,t,n)})}function qr(e){const t=[];let n=e;return n=n.replace(wa,(r,o,a)=>{const l=Ea(o,"name"),c=La(a);return c!=null&&c.url&&t.push(Je(c.url,c.altText||l)),""}),n=n.replace(ka,(r,o,a)=>(t.push(Je(a,o)),"")),n=n.replace(Ca,(r,o)=>(t.push(Je(o,null)),"")),n=n.replace(xa,(r,o,a)=>(t.push(Je(r,null,`image/${o}`,xn(a))),"")),{text:Fr(n),inlineImages:Dr(t)}}function Je(e,t,n,r){const o=n??Aa(e)??"image/png";return{url:e,mimeType:o,altText:Et(t),estimatedBytes:r??Pa(e)}}function Ra(e){const t=Ia(e.source);if(t){const o=he(t.type).trim().toLowerCase(),a=tr(t.media_type??t.mime_type??t.mimeType),l=er(t.data);if(o==="base64"&&a&&l)return Je(`data:${a};base64,${l}`,Et(he(t.alt)||he(t.name)||he(e.alt)||he(e.name)),a,xn(l))}const n=tr(e.media_type??e.mime_type??e.mimeType),r=er(e.data);return n&&r?Je(`data:${n};base64,${r}`,Et(he(e.alt)||he(e.name)),n,xn(r)):null}function Dr(e){const t=new Map;return e.forEach(n=>{t.has(n.url)||t.set(n.url,n)}),[...t.values()]}function Fr(e){return e.replace(/\r\n/g,`
|
|
11
|
-
`).replace(/[ \t]{2,}/g," ").replace(/[ \t]+\n/g,`
|
|
12
|
-
`).replace(/\n{3,}/g,`
|
|
13
|
-
|
|
14
|
-
`).trim()}function Wr(e){return/^data:image\/[a-zA-Z0-9.+-]+;base64,[A-Za-z0-9+/=]+$/.test(e.trim())}function Aa(e){var n;const t=e.match(/^data:(image\/[a-zA-Z0-9.+-]+);base64,/i);return((n=t==null?void 0:t[1])==null?void 0:n.toLowerCase())??null}function Pa(e){const t=e.match(/^data:image\/[a-zA-Z0-9.+-]+;base64,([A-Za-z0-9+/=]+)$/i);return t?xn(t[1]):null}function xn(e){const t=e.trim(),n=t.endsWith("==")?2:t.endsWith("=")?1:0;return Math.max(0,Math.floor(t.length*3/4)-n)}function Et(e){const t=he(e).trim();return t.length>0?t:null}function er(e){if(typeof e!="string")return null;const t=e.replace(/\s+/g,"").trim();return/^[A-Za-z0-9+/=]+$/.test(t)?t:null}function tr(e){if(typeof e!="string")return null;const t=e.trim().toLowerCase();return t.startsWith("image/")?t:null}function he(e){return typeof e=="string"?e:""}function Ia(e){return!e||typeof e!="object"||Array.isArray(e)?null:e}function La(e){const t=e.trim();if(t.length===0)return null;try{const n=JSON.parse(t),r=he(n.image_url??n.imageUrl).trim(),o=Et(he(n.name)||he(n.alt));return{url:Wr(r)?r:null,altText:o}}catch{const n=t.match(/(data:image\/[a-zA-Z0-9.+-]+;base64,[A-Za-z0-9+/=]+)/i);return n?{url:n[1],altText:null}:null}}function Ea(e,t){const n=t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),r=e.match(new RegExp(`${n}\\s*=\\s*(?:"([^"]*)"|'([^']*)'|\\[([^\\]]*)\\]|([^\\s>]+))`,"i"));return Et((r==null?void 0:r[1])??(r==null?void 0:r[2])??(r==null?void 0:r[3])??(r==null?void 0:r[4])??"")}const Ur="codingns.user-app.conversation-scroll",dt=1,_a=200,Oa=1e7;function zr(){return typeof window<"u"&&typeof window.localStorage<"u"}function $r(e){return e.trim()}function Hr(e){return!Number.isFinite(e)||e<=0?0:Math.min(Math.round(e),Oa)}function Kr(e){return!e||typeof e!="object"?null:{scrollTop:Hr(e.scrollTop),stickToBottom:e.stickToBottom===!0,lastMessageSignature:typeof e.lastMessageSignature=="string"?e.lastMessageSignature:null,updatedAt:Number.isFinite(e.updatedAt)?e.updatedAt:0}}function Vr(){if(!zr())return{schemaVersion:dt,bySessionId:{}};const e=window.localStorage.getItem(Ur);if(!e)return{schemaVersion:dt,bySessionId:{}};try{const t=JSON.parse(e);if(!t||typeof t!="object"||t.schemaVersion!==dt||!t.bySessionId||typeof t.bySessionId!="object"||Array.isArray(t.bySessionId))return{schemaVersion:dt,bySessionId:{}};const n=Object.fromEntries(Object.entries(t.bySessionId).map(([r,o])=>{const a=Kr(o);return a?[r,a]:null}).filter(r=>!!r));return{schemaVersion:dt,bySessionId:n}}catch{return{schemaVersion:dt,bySessionId:{}}}}function Ba(e){if(zr())try{window.localStorage.setItem(Ur,JSON.stringify(e))}catch{}}function pn(e){const t=$r(e);if(!t)return null;const n=Vr().bySessionId[t],r=Kr(n);return r?{scrollTop:r.scrollTop,stickToBottom:r.stickToBottom,lastMessageSignature:r.lastMessageSignature}:null}function nr(e,t){const n=$r(e);if(!n)return;const r=Vr();r.bySessionId[n]={scrollTop:Hr(t.scrollTop),stickToBottom:t.stickToBottom,lastMessageSignature:t.lastMessageSignature,updatedAt:Date.now()};const o=Object.entries(r.bySessionId).sort((a,l)=>l[1].updatedAt-a[1].updatedAt).slice(0,_a);r.bySessionId=Object.fromEntries(o),Ba(r)}function qa(e){return e.replace(/(\.{3,}|…+)$/,"").trimEnd()}function Gr(e){var r;const t=e.match(/^\s*<turn_aborted>([\s\S]*?)<\/turn_aborted>\s*$/i);if(!t)return null;const n=((r=t[1])==null?void 0:r.trim())??"";return!n||/^previous turn aborted$/i.test(n)?{detail:null}:{detail:n}}function Da(e){return e==="user"?i("conversation.turnAbortedUser"):e==="runtime"?i("conversation.turnAbortedUnexpected"):i("conversation.turnAbortedGeneric")}const Fa=480,sr=80,rr=240,Wa=120,Ua=18,za=50,$a=3500,Qr=d.createContext(!1);function rs(e){return e.replace(/\\/g,"/")}function kn(e){return/^[a-zA-Z]:\//.test(e)}function Ha(e){return e.startsWith("/")||e.startsWith("//")||kn(e)}function Ka(e){return/^[a-zA-Z][a-zA-Z\d+.-]*:/.test(e)&&!kn(e)}function or(e){return e.replace(/\/+$/,"")}function Va(e){const t=e.indexOf("#"),n=t>=0?e.slice(0,t):e,r=n.indexOf("?");return(r>=0?n.slice(0,r):n).replace(/:(\d+)(?::(\d+))?$/,"")}function Ga(e){const t=[];for(const n of rs(e).split("/"))if(!(!n||n===".")){if(n===".."){if(t.length===0)return null;t.pop();continue}t.push(n)}return t.join("/")}function cs(e){try{return decodeURIComponent(e)}catch{return e}}function Qa(e,t){const n=cs(e).trim();if(!n||n.startsWith("#"))return null;let r=n;if(/^file:\/\//i.test(r))try{r=decodeURIComponent(new URL(r).pathname),/^\/[a-zA-Z]:\//.test(r)&&(r=r.slice(1))}catch{return null}else if(Ka(r))return null;if(r=rs(Va(r.trim())),!r)return null;const o=or(rs(t.trim()));if(!o)return null;if(Ha(r)){const a=or(r),l=kn(o)?o.toLowerCase():o,c=kn(a)?a.toLowerCase():a;if(c===l)return null;const f=`${l}/`;return c.startsWith(f)?a.slice(o.length+1):null}return Ga(r)}function Cn(e){return e.kind==="tool_call"||e.kind==="tool_result"}function Zr(e){return e.toolCall?e.toolCall:Cn(e)?{callId:e.rawRef||e.id,name:"tool",input:e.kind==="tool_call"?e.content:"",output:e.kind==="tool_result"&&e.content?e.content:null,error:null,status:e.kind==="tool_call"?"running":"completed"}:null}function Za(e){return e==="shell_command"||e==="tool"?i("conversation.roleTool"):e}function us(e){if(!e.trim())return null;try{const t=JSON.parse(e);return!t||typeof t!="object"||Array.isArray(t)?null:t}catch{return null}}function Ze(e,t){const n=e[t];return typeof n=="string"?n:""}function _t(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function V(e,t){if(!e)return null;const n=e[t];return _t(n)?n:null}function Yn(e,t){if(!e)return null;const n=e[t];return Array.isArray(n)?n:null}function I(e,t){if(!e)return null;const n=e[t];if(typeof n=="string"){const r=n.trim();return r||null}return typeof n=="number"||typeof n=="boolean"?String(n):null}function Ya(e){const t=[e.output,e.input];for(const n of t){const r=Yr(n,0);if(r)return r}return null}function Yr(e,t){if(!(e!=null&&e.trim())||t>2)return null;try{return Jr(JSON.parse(e),t)}catch{return null}}function Jr(e,t){if(!_t(e))return null;if(Ja(e))return{ok:!0,capability:I(e,"capability")??"",auditId:I(e,"auditId")??"",timestamp:I(e,"timestamp")??"",targetRef:{kind:I(V(e,"targetRef"),"kind")??"none",id:I(V(e,"targetRef"),"id")},payload:V(e,"payload")??{}};const n=["output","result","data","payload"];for(const r of n){const o=e[r];if(typeof o=="string"){const a=Yr(o,t+1);if(a)return a}if(_t(o)){const a=Jr(o,t+1);if(a)return a}}return null}function Ja(e){return e.ok===!0&&typeof e.capability=="string"&&typeof e.auditId=="string"&&typeof e.timestamp=="string"&&_t(e.targetRef)&&_t(e.payload)}function Xa(e){const t=new Map,n=new Map,r=new Map;return e.forEach(o=>{t.set(o.workspace.id,o.workspace.name),o.sessions.forEach(a=>{const l=typeof a.title=="string"&&a.title.trim()?a.title.trim():a.sessionId;n.set(a.sessionId,l),r.set(a.sessionId,o.workspace.id)})}),{workspaceNamesById:t,sessionNamesById:n,sessionWorkspaceIdsById:r}}function el(e,t){const n=Ya(e);return n?{...eo(n.capability),rows:ul(n,t)}:null}function tl(e,t){const n=nl(e);if(!n)return null;const r=sl(n);return r?{...il(r),rows:cl(r,t)}:null}function nl(e){const t=us(e.input),n=t&&typeof t.command=="string"?t.command.trim():"";if(!n)return null;const r=n.indexOf("codingns assistant");return r<0?null:n.slice(r).trim()}function sl(e){const t=rl(e),n=t.findIndex((p,v)=>p==="codingns"&&t[v+1]==="assistant");if(n<0)return null;const r=t.slice(n+2);if(r.length===0||r[0]==="--help"||r[0]==="-h")return{group:null,action:null,mode:"help",options:{},positionals:[]};if(r[0]==="help")return{group:r[1]??null,action:r[2]??null,mode:"help",options:{},positionals:[]};const o=r[0]??null,a=r[1],l=a&&!a.startsWith("-")?a:null,c=r.slice(l?2:1),{options:f,positionals:b}=ol(c);return!l&&f["--help"]?{group:o,action:null,mode:"help",options:f,positionals:b}:{group:o,action:l,mode:"execute",options:f,positionals:b}}function rl(e){const t=[],n=/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'|`([^`\\]|\\.)*`|\S+/g;for(const r of e.matchAll(n)){const o=r[0]??"";if(!o)continue;const a=o[0];if((a==='"'||a==="'"||a==="`")&&o[o.length-1]===a){t.push(o.slice(1,-1));continue}t.push(o)}return t}function ol(e){const t={},n=[];for(let r=0;r<e.length;r+=1){const o=e[r]??"";if(!o.startsWith("--")){n.push(o);continue}const a=e[r+1];if(!a||a.startsWith("--")){t[o]=!0;continue}t[o]=a,r+=1}return{options:t,positionals:n}}function il(e){if(e.mode==="help")return al(e.group,e.action);const t=ll(e.group,e.action);return t?eo(t):{kind:ds(e.group),badge:Xr(e.group),title:i("conversation.assistantCapabilityQueryTitle"),summary:i("conversation.assistantCliSummaryCommand")}}function al(e,t){return e?e==="sessions"?{kind:"session",badge:i("conversation.assistantCapabilityBadgeSession"),title:t?i("conversation.assistantCliHelpSessionActionTitle",{action:t}):i("conversation.assistantCliHelpSessionsTitle"),summary:i("conversation.assistantCliSummaryHelp")}:e==="timers"?{kind:"automation",badge:i("conversation.assistantCapabilityBadgeAutomation"),title:i("conversation.assistantCliHelpTimersTitle"),summary:i("conversation.assistantCliSummaryHelp")}:e==="terminals"?{kind:"terminal",badge:i("conversation.assistantCapabilityBadgeTerminal"),title:i("conversation.assistantCliHelpTerminalsTitle"),summary:i("conversation.assistantCliSummaryHelp")}:e==="workspaces"||e==="worktrees"?{kind:"workspace",badge:i("conversation.assistantCapabilityBadgeWorkspace"),title:i("conversation.assistantCliHelpWorkspacesTitle"),summary:i("conversation.assistantCliSummaryHelp")}:{kind:ds(e),badge:Xr(e),title:i("conversation.assistantCliHelpGenericTitle",{group:e}),summary:i("conversation.assistantCliSummaryHelp")}:{kind:"query",badge:i("conversation.assistantCapabilityBadgeQuery"),title:i("conversation.assistantCliHelpRootTitle"),summary:i("conversation.assistantCliSummaryHelp")}}function ll(e,t){const n=e==null?void 0:e.trim(),r=t==null?void 0:t.trim();return n?n==="capabilities"&&r==="list"?"capabilities.list":n==="projects"&&r==="list"?"projects.list":n==="projects"&&r==="get"?"projects.get":n==="sessions"&&r==="list"?"projects.sessions.list":n==="sessions"&&r==="get"?"sessions.get":n==="sessions"&&r==="messages"?"sessions.messages.list":n==="sessions"&&r==="runtime"?"sessions.runtime.get":n==="sessions"&&r==="start"?"projects.sessions.start":n==="sessions"&&r==="send"?"sessions.message.send":n==="sessions"&&r==="fork"?"sessions.fork":n==="timers"&&r==="create"?"timers.create":n==="timers"&&r==="cancel"?"timers.cancel":n==="timers"&&r==="list"?"timers.list":n==="terminals"&&r==="send"?"terminals.input.send":n==="terminals"&&r==="close"?"terminals.close":n==="terminals"&&r==="history"?"terminals.history.read":n==="terminals"&&r==="list"?"terminals.list":n==="workspaces"&&r==="list"?"workspaces.list":n==="workspaces"&&r==="clone"?"workspaces.clone":n==="workspaces"&&r==="import"?"workspaces.import":n==="workspaces"&&r==="management"?"workspaces.management.get":n==="worktrees"&&r==="tree"?"worktrees.tree":n==="worktrees"&&r==="create"?"worktrees.create":null:null}function ds(e){switch(e){case"sessions":case"projects":return"session";case"timers":return"automation";case"terminals":return"terminal";case"workspaces":case"worktrees":return"workspace";case"debug-targets":case"debug-runtimes":return"debug";default:return"query"}}function Xr(e){switch(ds(e)){case"session":return i("conversation.assistantCapabilityBadgeSession");case"automation":return i("conversation.assistantCapabilityBadgeAutomation");case"terminal":return i("conversation.assistantCapabilityBadgeTerminal");case"workspace":return i("conversation.assistantCapabilityBadgeWorkspace");case"debug":return i("conversation.assistantCapabilityBadgeDebug");case"query":default:return i("conversation.assistantCapabilityBadgeQuery")}}function cl(e,t){const n=[],r=mt(e,"--session-id")??e.positionals[0]??null,o=mt(e,"--project")??mt(e,"--project-id");return e.mode==="help"?(T(n,i("conversation.assistantCliLabelScope"),e.group??i("conversation.assistantCliScopeRoot")),T(n,i("conversation.assistantCliLabelAction"),e.action),n):(e.group==="sessions"&&T(n,i("conversation.assistantCapabilityLabelSession"),Xe(r,null,t)),e.group==="timers"&&(T(n,i("conversation.assistantCapabilityLabelSession"),Xe(r,null,t)),T(n,i("conversation.assistantCliLabelDelay"),mt(e,"--after-seconds"))),e.group==="terminals"&&T(n,i("conversation.assistantCapabilityLabelTerminal"),e.positionals[0]??null),(e.group==="workspaces"||e.group==="worktrees")&&T(n,i("conversation.assistantCapabilityLabelWorkspace"),Oe(e.positionals[0]??null,null,t)),T(n,i("conversation.assistantCliLabelProject"),o),T(n,i("conversation.assistantCliLabelMessage"),mt(e,"--message")),T(n,i("conversation.assistantCliLabelInput"),mt(e,"--input")),n.slice(0,4))}function mt(e,t){const n=e.options[t];return typeof n=="string"?n:null}function eo(e){switch(e){case"projects.sessions.start":return{kind:"session",badge:i("conversation.assistantCapabilityBadgeSession"),title:i("conversation.assistantCapabilityProjectSessionStartTitle"),summary:i("conversation.assistantCapabilitySummarySessionStart")};case"sessions.message.send":return{kind:"session",badge:i("conversation.assistantCapabilityBadgeSession"),title:i("conversation.assistantCapabilitySessionSendTitle"),summary:i("conversation.assistantCapabilitySummarySessionSend")};case"sessions.fork":return{kind:"session",badge:i("conversation.assistantCapabilityBadgeSession"),title:i("conversation.assistantCapabilitySessionForkTitle"),summary:i("conversation.assistantCapabilitySummarySessionFork")};case"timers.create":return{kind:"automation",badge:i("conversation.assistantCapabilityBadgeAutomation"),title:i("conversation.assistantCapabilityTimerCreateTitle"),summary:i("conversation.assistantCapabilitySummaryTimerCreate")};case"timers.cancel":return{kind:"automation",badge:i("conversation.assistantCapabilityBadgeAutomation"),title:i("conversation.assistantCapabilityTimerCancelTitle"),summary:i("conversation.assistantCapabilitySummaryTimerCancel")};case"terminals.input.send":return{kind:"terminal",badge:i("conversation.assistantCapabilityBadgeTerminal"),title:i("conversation.assistantCapabilityTerminalInputTitle"),summary:i("conversation.assistantCapabilitySummaryTerminalInput")};case"terminals.close":return{kind:"terminal",badge:i("conversation.assistantCapabilityBadgeTerminal"),title:i("conversation.assistantCapabilityTerminalCloseTitle"),summary:i("conversation.assistantCapabilitySummaryTerminalClose")};case"workspaces.directory.create":return{kind:"workspace",badge:i("conversation.assistantCapabilityBadgeWorkspace"),title:i("conversation.assistantCapabilityWorkspaceDirectoryCreateTitle"),summary:i("conversation.assistantCapabilitySummaryWorkspace")};case"workspaces.import":return{kind:"workspace",badge:i("conversation.assistantCapabilityBadgeWorkspace"),title:i("conversation.assistantCapabilityWorkspaceImportTitle"),summary:i("conversation.assistantCapabilitySummaryWorkspace")};case"workspaces.clone":return{kind:"workspace",badge:i("conversation.assistantCapabilityBadgeWorkspace"),title:i("conversation.assistantCapabilityWorkspaceCloneTitle"),summary:i("conversation.assistantCapabilitySummaryWorkspace")};case"workspaces.navigation-state.update":return{kind:"workspace",badge:i("conversation.assistantCapabilityBadgeWorkspace"),title:i("conversation.assistantCapabilityWorkspaceNavigationUpdateTitle"),summary:i("conversation.assistantCapabilitySummaryWorkspace")};case"workspaces.remove":return{kind:"workspace",badge:i("conversation.assistantCapabilityBadgeWorkspace"),title:i("conversation.assistantCapabilityWorkspaceRemoveTitle"),summary:i("conversation.assistantCapabilitySummaryWorkspace")};case"worktrees.create":return{kind:"workspace",badge:i("conversation.assistantCapabilityBadgeWorkspace"),title:i("conversation.assistantCapabilityWorktreeCreateTitle"),summary:i("conversation.assistantCapabilitySummaryWorktree")};case"worktrees.merge-into-parent":return{kind:"workspace",badge:i("conversation.assistantCapabilityBadgeWorkspace"),title:i("conversation.assistantCapabilityWorktreeMergeTitle"),summary:i("conversation.assistantCapabilitySummaryWorktree")};case"worktrees.cleanup":return{kind:"workspace",badge:i("conversation.assistantCapabilityBadgeWorkspace"),title:i("conversation.assistantCapabilityWorktreeCleanupTitle"),summary:i("conversation.assistantCapabilitySummaryWorktree")};case"debug-targets.run":return{kind:"debug",badge:i("conversation.assistantCapabilityBadgeDebug"),title:i("conversation.assistantCapabilityDebugRunTitle"),summary:i("conversation.assistantCapabilitySummaryDebug")};default:return e.startsWith("sessions.")||e.startsWith("projects.")?{kind:"session",badge:i("conversation.assistantCapabilityBadgeSession"),title:i("conversation.assistantCapabilitySessionReadTitle"),summary:i("conversation.assistantCapabilitySummaryRead")}:e.startsWith("timers.")?{kind:"automation",badge:i("conversation.assistantCapabilityBadgeAutomation"),title:i("conversation.assistantCapabilityAutomationReadTitle"),summary:i("conversation.assistantCapabilitySummaryRead")}:e.startsWith("terminals.")?{kind:"terminal",badge:i("conversation.assistantCapabilityBadgeTerminal"),title:i("conversation.assistantCapabilityTerminalReadTitle"),summary:i("conversation.assistantCapabilitySummaryRead")}:e.startsWith("workspaces.")||e.startsWith("worktrees.")?{kind:"workspace",badge:i("conversation.assistantCapabilityBadgeWorkspace"),title:i("conversation.assistantCapabilityWorkspaceReadTitle"),summary:i("conversation.assistantCapabilitySummaryRead")}:e.startsWith("debug-targets.")||e.startsWith("debug-runtimes.")?{kind:"debug",badge:i("conversation.assistantCapabilityBadgeDebug"),title:i("conversation.assistantCapabilityDebugReadTitle"),summary:i("conversation.assistantCapabilitySummaryRead")}:{kind:"query",badge:i("conversation.assistantCapabilityBadgeQuery"),title:i("conversation.assistantCapabilityQueryTitle"),summary:i("conversation.assistantCapabilitySummaryRead")}}}function ul(e,t){const n=[],r=e.payload;switch(e.capability){case"projects.sessions.start":{const o=V(r,"session");T(n,i("conversation.assistantCapabilityLabelSession"),Xe(I(o,"sessionId"),I(o,"title"),t)),T(n,i("conversation.assistantCapabilityLabelProvider"),I(o,"provider"));break}case"sessions.message.send":{const o=V(r,"result");T(n,i("conversation.assistantCapabilityLabelSession"),Xe(e.targetRef.id,null,t)),T(n,i("conversation.assistantCapabilityLabelWorkspace"),to(e.targetRef.id,t)),T(n,i("conversation.assistantCapabilityLabelStatus"),i("conversation.assistantCapabilityStatusCompleted")),T(n,i("conversation.assistantCapabilityLabelDueAt"),ir(I(o,"acceptedAt")??e.timestamp));break}case"sessions.fork":{const o=V(r,"session");T(n,i("conversation.assistantCapabilityLabelSession"),Xe(I(o,"sessionId"),I(o,"title"),t)),T(n,i("conversation.assistantCapabilityLabelProvider"),I(o,"provider"));break}case"timers.create":case"timers.cancel":{const o=V(r,"timer"),a=V(o,"controlSession"),l=V(a,"session");T(n,i("conversation.assistantCapabilityLabelTimer"),I(o,"title")),T(n,i("conversation.assistantCapabilityLabelWorkspace"),Oe(I(l,"workspaceId"),null,t)),T(n,i("conversation.assistantCapabilityLabelSession"),Xe(I(o,"targetSessionId"),null,t)),T(n,i("conversation.assistantCapabilityLabelDueAt"),ir(I(o,"dueAt"))),T(n,i("conversation.assistantCapabilityLabelStatus"),pl(I(o,"status")));break}case"terminals.input.send":case"terminals.close":T(n,i("conversation.assistantCapabilityLabelTerminal"),e.targetRef.id);break;case"workspaces.directory.create":{const o=V(r,"result");T(n,i("conversation.assistantCapabilityLabelPath"),I(o,"path"));break}case"workspaces.import":case"workspaces.clone":case"workspaces.remove":{const o=V(r,"workspace");T(n,i("conversation.assistantCapabilityLabelWorkspace"),Oe(I(o,"id")??e.targetRef.id,I(o,"name"),t)),T(n,i("conversation.assistantCapabilityLabelPath"),I(o,"path"));break}case"workspaces.navigation-state.update":{const o=V(r,"state");T(n,i("conversation.assistantCapabilityLabelWorkspace"),Oe(I(o,"workspaceId")??e.targetRef.id,null,t)),T(n,i("conversation.assistantCapabilityLabelStatus"),I(o,"collapsed")==="true"?i("conversation.assistantCapabilityNavigationCollapsed"):i("conversation.assistantCapabilityNavigationExpanded"));break}case"worktrees.create":{const o=V(r,"result"),a=V(o,"workspace");T(n,i("conversation.assistantCapabilityLabelWorkspace"),Oe(I(a,"id")??e.targetRef.id,I(a,"name"),t)),T(n,i("conversation.assistantCapabilityLabelBranch"),I(o,"branchName"));break}case"worktrees.merge-into-parent":case"worktrees.cleanup":{const o=V(r,"result");T(n,i("conversation.assistantCapabilityLabelWorkspace"),Oe(e.targetRef.id,null,t)),T(n,i("conversation.assistantCapabilityLabelStatus"),I(o,"status"));break}case"debug-targets.run":{const o=V(r,"result");T(n,i("conversation.assistantCapabilityLabelDebugTarget"),e.targetRef.id),T(n,i("conversation.assistantCapabilityLabelRuntime"),I(o,"runtimeId"));break}}return dl(n,e,t),n.slice(0,4)}function dl(e,t,n){t.targetRef.kind==="session"&&(T(e,i("conversation.assistantCapabilityLabelSession"),Xe(t.targetRef.id,null,n)),T(e,i("conversation.assistantCapabilityLabelWorkspace"),to(t.targetRef.id,n))),(t.targetRef.kind==="workspace"||t.targetRef.kind==="worktree")&&T(e,i("conversation.assistantCapabilityLabelWorkspace"),Oe(t.targetRef.id,null,n)),t.targetRef.kind==="terminal"&&T(e,i("conversation.assistantCapabilityLabelTerminal"),t.targetRef.id),t.targetRef.kind==="timer"&&T(e,i("conversation.assistantCapabilityLabelTimer"),t.targetRef.id);const r=ml(t.payload);r!==null&&T(e,i("conversation.assistantCapabilityLabelCount"),String(r))}function T(e,t,n){const r=n==null?void 0:n.trim();r&&(e.some(o=>o.label===t)||e.push({label:t,value:r}))}function Xe(e,t,n){const r=t==null?void 0:t.trim();if(r)return r;const o=e==null?void 0:e.trim();return o?n.sessionNamesById.get(o)??o:null}function Oe(e,t,n){const r=t==null?void 0:t.trim();if(r)return r;const o=e==null?void 0:e.trim();return o?n.workspaceNamesById.get(o)??o:null}function to(e,t){const n=e==null?void 0:e.trim();return n?Oe(t.sessionWorkspaceIdsById.get(n)??null,null,t):null}function ml(e){const t=Yn(e,"items");if(t)return t.length;const n=V(e,"page"),r=Yn(n,"items");if(r)return r.length;const o=V(e,"history"),a=Yn(o,"items");return a?a.length:null}function ir(e){const t=e==null?void 0:e.trim();if(!t)return null;const n=Date.parse(t);return Number.isFinite(n)?new Intl.DateTimeFormat(void 0,{month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"}).format(new Date(n)):t}function pl(e){switch(e){case"active":return i("conversation.assistantCapabilityStatusActive");case"completed":return i("conversation.assistantCapabilityStatusCompleted");case"cancelled":return i("conversation.assistantCapabilityStatusCancelled");case"failed":return i("conversation.assistantCapabilityStatusFailed");default:return e}}function fl({kind:e}){switch(e){case"session":return s.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8","aria-hidden":"true",children:s.jsx("path",{d:"M5 7.5A2.5 2.5 0 0 1 7.5 5h9A2.5 2.5 0 0 1 19 7.5v5A2.5 2.5 0 0 1 16.5 15H11l-4 4v-4H7.5A2.5 2.5 0 0 1 5 12.5z"})});case"automation":return s.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8","aria-hidden":"true",children:[s.jsx("circle",{cx:"12",cy:"12",r:"7.5"}),s.jsx("path",{d:"M12 8.5v4.2l2.8 1.8"})]});case"terminal":return s.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8","aria-hidden":"true",children:[s.jsx("path",{d:"m7 8 3.5 3.5L7 15"}),s.jsx("path",{d:"M13 15h4"}),s.jsx("rect",{x:"4.5",y:"5.5",width:"15",height:"13",rx:"2.5"})]});case"workspace":return s.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8","aria-hidden":"true",children:s.jsx("path",{d:"M4.5 8.5A2.5 2.5 0 0 1 7 6h3l1.5 1.5H17A2.5 2.5 0 0 1 19.5 10v6A2.5 2.5 0 0 1 17 18.5H7A2.5 2.5 0 0 1 4.5 16z"})});case"debug":return s.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8","aria-hidden":"true",children:[s.jsx("path",{d:"M9 4.5h6"}),s.jsx("path",{d:"M10 8h4a4 4 0 0 1 4 4v1a6 6 0 0 1-12 0v-1a4 4 0 0 1 4-4Z"}),s.jsx("path",{d:"M4.5 11h3M16.5 11h3M5.5 7.5l2 1.5M18.5 7.5l-2 1.5"})]});case"query":default:return s.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8","aria-hidden":"true",children:[s.jsx("circle",{cx:"11",cy:"11",r:"5.5"}),s.jsx("path",{d:"m16 16 3.5 3.5"})]})}}function hl(e){if(e.name==="apply_patch"){const a=Xs(e.input);if(a)return a;const l=ha(e.output||e.error||""),c=fa(e.input,l);return c?Xs(c):null}if(e.name!=="Write"&&e.name!=="Edit"&&e.name!=="MultiEdit")return null;const t=us(e.input);if(!t)return null;const n=Ze(t,"file_path")||Ze(t,"path");if(!n)return null;if(e.name==="Write"){const a=Ze(t,"content"),l=a.length>0?a.split(/\r?\n/):[];return{files:[{path:n,nextPath:null,action:"add",additions:l.length,deletions:0,statsKnown:!0,lines:l.map((c,f)=>({kind:"add",text:`+${c}`,oldLineNumber:null,newLineNumber:f+1}))}],totalAdditions:l.length,totalDeletions:0}}if(e.name==="Edit"){const a=Ze(t,"old_string").split(/\r?\n/),l=Ze(t,"new_string").split(/\r?\n/);return ar(n,[{oldLines:a,newLines:l}])}const o=(Array.isArray(t.edits)?t.edits:[]).map(a=>{if(!a||typeof a!="object"||Array.isArray(a))return null;const l=a;return{oldLines:Ze(l,"old_string").split(/\r?\n/),newLines:Ze(l,"new_string").split(/\r?\n/)}}).filter(a=>!!a);return o.length>0?ar(n,o):null}function ar(e,t){const n=[];let r=0,o=0;return t.forEach((a,l)=>{n.push({kind:"hunk",text:`@@ -1,${a.oldLines.length} +1,${a.newLines.length} @@`,oldLineNumber:null,newLineNumber:null}),a.oldLines.forEach((c,f)=>{c.length===0&&a.oldLines.length===1&&a.newLines.length>0||(o+=1,n.push({kind:"remove",text:`-${c}`,oldLineNumber:f+1,newLineNumber:null}))}),a.newLines.forEach((c,f)=>{c.length===0&&a.newLines.length===1&&a.oldLines.length>0||(r+=1,n.push({kind:"add",text:`+${c}`,oldLineNumber:null,newLineNumber:f+1}))}),l<t.length-1&&n.push({kind:"meta",text:"***",oldLineNumber:null,newLineNumber:null})}),{files:[{path:e,nextPath:null,action:"update",additions:r,deletions:o,statsKnown:!0,lines:n}],totalAdditions:r,totalDeletions:o}}function gl(e){const t=us(e.input),n=t&&typeof t.command=="string"?t.command.trim():"";if(n)return`${i("conversation.toolPreviewCommand")}:${n}`;if(e.name==="read_thread_terminal")return i("conversation.toolPreviewTerminal");const r=e.input||e.error||e.output||i("conversation.toolResultEmpty");return r.length>60?`${r.slice(0,60)}...`:r}function vl(e){var a;const t=e.map(l=>({message:l,tool:Zr(l)})).filter(l=>!!l.tool);if(t.length===0)return null;const n={...t[0].tool};let r=!1,o=!1;for(const{message:l,tool:c}of t)l.kind==="tool_call"&&(r=!0,!n.input&&c.input&&(n.input=c.input)),l.kind==="tool_result"&&(o=!0,n.output=c.output,n.error=c.error,n.status=c.status,!n.input&&c.input&&(n.input=c.input)),!n.name&&c.name&&(n.name=c.name);return{key:t.map(({message:l})=>l.id).join(":"),tool:n,hasRequest:r,hasResult:o,updatedAt:((a=t.at(-1))==null?void 0:a.message.timestamp)??t[0].message.timestamp}}function bl(e){const t=new Map;for(const n of e){const r=Zr(n);if(!r)continue;const o=t.get(r.callId);if(o){o.messages.push(n);continue}t.set(r.callId,{messages:[n],firstSequence:n.sequence})}return Array.from(t.values()).sort((n,r)=>n.firstSequence-r.firstSequence).map(n=>vl(n.messages)).filter(n=>!!n)}function yl(e){const t=[];for(let n=0;n<e.length;n+=1){const r=e[n];if(xl(e,n))continue;if(!Cn(r)){t.push({type:"message",key:r.id,message:r});continue}const o=[r];let a=n+1;for(;a<e.length;){const c=e[a];if(!Cn(c))break;o.push(c),a+=1}const l=bl(o);if(l.length===0){t.push({type:"message",key:r.id,message:r}),n=a-1;continue}l.forEach(c=>{t.push({type:"tool_group",key:c.key,group:c})}),n=a-1}return t}function xl(e,t){const n=e[t];if(!n||Gr(n.content)===null)return!1;for(let r=t-1;r>=0;r-=1){const o=e[r];if(!(!o||Cn(o)))return o.role==="user"}return!1}function kl(e,t){if(!ui(null,e))return!1;const n=t.trim();return/AGENTS\.md instructions for/i.test(n)&&/<INSTRUCTIONS>/i.test(n)&&/<\/INSTRUCTIONS>/i.test(n)}function Cl(e,t){if(e!=="claude-code")return!1;const n=t.trim();return/Base directory for this skill:/i.test(n)&&/^#\s+.+/im.test(n)&&/\bARGUMENTS:/i.test(n)}function wl(e,t){if(e==="skill_context"){const r=t.split(/\r?\n/).map(o=>o.trim()).find(o=>/^#\s+/.test(o));if(r)return r.replace(/^#+\s*/,"")}const n=t.split(/\r?\n/).map(r=>r.trim()).find(Boolean);return n?n.replace(/^#+\s*/,""):i("conversation.rulesMessageTitle")}function Sl(e,t){const n=new Set;if(t!=="kimi")return n;for(const r of e){if(r.role==="system"&&r.kind==="text"){n.add(r.id);continue}break}return n}function Ot(e){var t;return typeof e=="string"||typeof e=="number"?String(e):Array.isArray(e)?e.map(n=>Ot(n)).join(""):e&&typeof e=="object"&&"props"in e?Ot(((t=e.props)==null?void 0:t.children)??""):""}function jl(e){const t=Array.isArray(e)?e[0]:e;if(!d.isValidElement(t))return null;const n=t.props,r=typeof n.className=="string"?n.className:"",o=/language-([^\s]+)/.exec(r);return{content:Ot(n.children).replace(/\n$/,""),codeClassName:r||void 0,language:(o==null?void 0:o[1])??null}}function Nl(e){if(typeof document>"u"||typeof document.execCommand!="function")return!1;const t=document.createElement("textarea");t.value=e,t.setAttribute("readonly","true"),t.style.position="fixed",t.style.top="-9999px",t.style.left="-9999px",t.style.opacity="0",document.body.appendChild(t),t.focus(),t.select();try{return document.execCommand("copy")}catch{return!1}finally{document.body.removeChild(t)}}async function ms(e,t){var n;if(!(t.isDesktop&&(await t.bridge.writeClipboardText(e)).ok)){if(typeof navigator<"u"&&((n=navigator.clipboard)!=null&&n.writeText))try{await navigator.clipboard.writeText(e);return}catch{}if(!Nl(e))throw new Error(i("conversation.copyContentFailed"))}}function Tl({className:e,children:t,onCopy:n}){const r=d.useContext(Qr),o=Ot(t).trim();if(r||!o)return s.jsx("code",{className:e||void 0,children:t});function a(l){l.key!=="Enter"&&l.key!==" "||(l.preventDefault(),n(o))}return s.jsx("code",{className:[e,"markdown-inline-copy"].filter(Boolean).join(" "),role:"button",tabIndex:0,"aria-label":i("conversation.copyAction"),onClick:()=>n(o),onKeyDown:a,children:t})}function Ml({href:e,children:t,className:n,onInteract:r}){const o=Ot(t).trim()||(e?cs(e).trim():"");return s.jsx(Qr.Provider,{value:!0,children:s.jsx("a",{href:e,className:[n,"markdown-interactive-link"].filter(Boolean).join(" "),onClick:a=>{a.preventDefault(),r(e,o)},children:t})})}function no({language:e,codeClassName:t,content:n}){const{showToast:r}=Wt(),o=Ft(),a=(e==null?void 0:e.trim().toLowerCase())??null,l=a==="text",c=a||"code";async function f(){try{await ms(n,o),r({title:i("conversation.copyContentSuccess"),tone:"success"})}catch(b){r({title:b instanceof Error?b.message:i("conversation.copyContentFailed"),tone:"error"})}}return s.jsxs("div",{className:`code-block${l?" text-code-block":""}`,children:[s.jsxs("div",{className:"code-header",children:[s.jsx("span",{className:"code-header-label",children:c}),s.jsx("button",{className:"code-copy-button",type:"button",onClick:()=>void f(),children:i("conversation.copyAction")})]}),s.jsx("pre",{className:t,children:s.jsx("code",{children:n})})]})}function Rt({content:e,className:t}){const{showToast:n}=Wt(),r=Ft(),{navigationGroups:o,currentWorkspaceId:a,revealWorkspaceFile:l}=Tr(),c=d.useMemo(()=>{var p;return((p=o.find(v=>v.workspace.id===a))==null?void 0:p.workspace)??null},[a,o]);async function f(p){if(p.trim())try{await ms(p,r),n({title:i("conversation.copyContentSuccess"),tone:"success"})}catch(v){n({title:v instanceof Error?v.message:i("conversation.copyContentFailed"),tone:"error"})}}function b(p,v){const g=p&&(c!=null&&c.path)?Qa(p,c.path):null;g&&l({workspaceId:(c==null?void 0:c.id)??a,filePath:g,openViewer:!1})||f(v||(p?cs(p).trim():""))}return s.jsx("div",{className:t,children:s.jsx(vi,{remarkPlugins:[bi],components:{p:({node:p,...v})=>s.jsx("p",{...v}),a(p){return s.jsx(Ml,{href:typeof p.href=="string"?p.href:void 0,className:typeof p.className=="string"?p.className:void 0,onInteract:b,children:p.children})},pre(p){const v=jl(p.children);return v?s.jsx(no,{language:v.language,codeClassName:v.codeClassName,content:v.content}):s.jsx("pre",{children:p.children})},code(p){const v=typeof p.className=="string"?p.className:"";return s.jsx(Tl,{className:v||void 0,onCopy:g=>{f(g)},children:p.children})}},children:e})})}function lr(e,t){return e.kind!=="image"||!(t!=null&&t.contentBase64)||t.mimeType!==e.mimeType?null:`data:${t.mimeType};base64,${t.contentBase64}`}function Rl(e){return typeof e!="number"||!Number.isFinite(e)||e<0?null:e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}function fn({sessionId:e,attachmentPayloads:t=[],attachments:n=[],inlineImages:r=[]}){return s.jsx(Al,{sessionId:e,attachments:n,attachmentPayloads:t,inlineImages:r})}function Al({sessionId:e,attachmentPayloads:t=[],attachments:n=[],inlineImages:r=[]}){const[o,a]=d.useState({}),[l,c]=d.useState(null),f=d.useMemo(()=>n.map((g,w)=>{const x=lr(g,t==null?void 0:t[w]);if(x)return{id:g.id,kind:g.kind,fileName:g.fileName,fileSize:g.fileSize,url:x,status:"ready"};const y=o[g.id];return{id:g.id,kind:g.kind,fileName:g.fileName,fileSize:g.fileSize,url:(y==null?void 0:y.url)??null,status:(y==null?void 0:y.status)??(e?"loading":"error")}}),[t,n,o,e]),b=d.useMemo(()=>r.map((g,w)=>({id:`inline-image-${w}`,kind:"image",fileName:g.altText||`${i("conversation.imageAttachmentLabel")} ${w+1}`,fileSize:g.estimatedBytes,url:g.url,status:"ready"})),[r]),p=d.useMemo(()=>[...b,...f],[f,b]),v=p.find(g=>g.id===l)??null;return d.useEffect(()=>{if(!l)return;function g(w){w.key==="Escape"&&c(null)}return window.addEventListener("keydown",g),()=>window.removeEventListener("keydown",g)},[l]),d.useEffect(()=>{const g=n.filter((y,N)=>!lr(y,t==null?void 0:t[N]));if(!e||g.length===0){a({});return}let w=!1;const x=[];return a(Object.fromEntries(g.map(y=>[y.id,{id:y.id,kind:y.kind,fileName:y.fileName,fileSize:y.fileSize,url:null,status:"loading"}]))),Promise.all(g.map(async y=>{try{const N=await di(e,y.id),B=URL.createObjectURL(N);return x.push(B),{id:y.id,kind:y.kind,fileName:y.fileName,fileSize:y.fileSize,url:B,status:"ready"}}catch{return{id:y.id,kind:y.kind,fileName:y.fileName,fileSize:y.fileSize,url:null,status:"error"}}})).then(y=>{if(w){x.forEach(N=>URL.revokeObjectURL(N));return}a(Object.fromEntries(y.map(N=>[N.id,N])))}),()=>{w=!0,x.forEach(y=>URL.revokeObjectURL(y))}},[t,n,e]),p.length===0?null:s.jsxs(s.Fragment,{children:[s.jsx("div",{className:"message-attachments",children:p.map(g=>{const w=g.kind==="image",x=g.status==="loading"?i("conversation.attachmentPreviewLoading"):g.status==="error"?i("conversation.attachmentPreviewUnavailable"):w?i("conversation.attachmentPreviewOpen"):i("conversation.attachmentDownload"),y=Rl(g.fileSize),N=s.jsx("div",{className:"message-attachment-card",children:w?g.url?s.jsx("img",{className:"message-attachment-thumbnail",src:g.url,alt:g.fileName||i("conversation.attachmentPreviewAlt"),loading:"lazy"}):s.jsx("div",{className:"message-attachment-placeholder","aria-hidden":"true",children:g.status==="loading"?i("conversation.attachmentPreviewLoading"):i("conversation.attachmentPreviewUnavailable")}):s.jsxs("div",{className:"message-attachment-file-card",children:[s.jsx("div",{className:"message-attachment-file-icon","aria-hidden":"true",children:s.jsxs("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",children:[s.jsx("path",{d:"M14 2H7a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7z"}),s.jsx("path",{d:"M14 2v5h5"}),s.jsx("path",{d:"M9 13h6"}),s.jsx("path",{d:"M9 17h6"})]})}),s.jsxs("div",{className:"message-attachment-file-meta",children:[s.jsx("strong",{title:g.fileName,children:g.fileName}),s.jsx("span",{children:y??i("conversation.fileAttachmentLabel")})]})]})});return!w&&g.url?s.jsx("a",{className:"message-attachment-button",href:g.url,download:g.fileName,"aria-label":`${g.fileName} - ${x}`,title:x,children:N},g.id):s.jsx("button",{type:"button",className:"message-attachment-button",onClick:()=>w&&g.url&&c(g.id),disabled:!g.url,"aria-label":`${g.fileName} - ${x}`,title:x,children:N},g.id)})}),s.jsx(Nr,{open:!!(v!=null&&v.url),title:i("conversation.imagePreviewTitle"),description:v==null?void 0:v.fileName,size:"xwide",layout:"viewer",className:"message-image-modal",bodyClassName:"message-image-modal-body",onClose:()=>c(null),children:v!=null&&v.url?s.jsxs(s.Fragment,{children:[s.jsx("div",{className:"message-image-modal-stage",children:s.jsx("img",{className:"message-image-modal-image",src:v.url,alt:v.fileName||i("conversation.attachmentPreviewAlt")})}),s.jsx("p",{className:"message-image-modal-hint",children:i("conversation.imagePreviewHint")})]}):null})]})}function Pl(){return s.jsx("div",{className:"timeline-skeleton","aria-hidden":"true",children:Array.from({length:3},(e,t)=>s.jsxs("article",{className:`timeline-skeleton-item ${t%2===0?"assistant":"user"}`,children:[s.jsx("div",{className:"timeline-skeleton-avatar"}),s.jsxs("div",{className:"timeline-skeleton-bubble",children:[s.jsx("span",{className:"timeline-skeleton-line long"}),s.jsx("span",{className:"timeline-skeleton-line medium"}),s.jsx("span",{className:"timeline-skeleton-line short"})]})]},t))})}function Il({tool:e,preview:t}){const[n,r]=d.useState(null),o=n===null?null:t.files[n]??null;return d.useEffect(()=>{if(n===null)return;function a(l){l.key==="Escape"&&r(null)}return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[n]),s.jsxs(s.Fragment,{children:[s.jsx("div",{className:"tool-call-item apply-patch-item",children:t.files.map((a,l)=>s.jsxs("button",{type:"button",className:"apply-patch-summary-row",onClick:()=>r(l),children:[s.jsx("span",{className:"apply-patch-summary-label",children:ur(a.action)}),s.jsx("span",{className:"apply-patch-summary-file",title:Jn(a),children:ga(a.nextPath??a.path)}),mr(a)]},dr(a,l)))}),s.jsx(Nr,{open:o!==null,title:i("conversation.applyPatchDialogTitle"),description:i("conversation.applyPatchDialogDescription"),size:"full",layout:"viewer",className:"apply-patch-modal",bodyClassName:"apply-patch-modal-body",onClose:()=>r(null),children:o?s.jsxs(s.Fragment,{children:[s.jsx("div",{className:"apply-patch-modal-totals",children:ql(o)}),s.jsxs("section",{className:"apply-patch-file-panel",children:[s.jsxs("div",{className:"apply-patch-file-panel-header",children:[s.jsxs("div",{className:"apply-patch-file-panel-title",children:[s.jsx("span",{className:"apply-patch-summary-label",children:ur(o.action)}),s.jsx("strong",{children:Jn(o)})]}),mr(o)]}),s.jsx("div",{className:"apply-patch-diff-view",children:s.jsx("div",{className:"apply-patch-diff-scroll",children:o.lines.map((a,l)=>s.jsxs("div",{className:`apply-patch-diff-line ${Dl(a.kind)}`,children:[s.jsx("span",{className:"apply-patch-line-number",children:pr(a.oldLineNumber)}),s.jsx("span",{className:"apply-patch-line-number",children:pr(a.newLineNumber)}),s.jsx("span",{className:"apply-patch-line-content",children:a.text||" "})]},`${Jn(o)}:${l}`))})})]},dr(o,n??0)),e.error?s.jsxs("section",{className:"apply-patch-error-panel",children:[s.jsx("div",{className:"tool-call-section-label",children:i("conversation.toolResultLabel")}),s.jsx("pre",{className:"tool-call-error",children:e.error})]}):null]}):null})]})}function Ll({group:e}){const[t,n]=d.useState(!1),{navigationGroups:r}=Tr(),{tool:o,hasRequest:a,hasResult:l}=e,c=Za(o.name),f=d.useMemo(()=>Xa(r),[r]),b=d.useMemo(()=>el(o,f),[f,o]),p=d.useMemo(()=>tl(o,f),[f,o]),v=d.useMemo(()=>ki(o,null,e.updatedAt),[e.updatedAt,o]),g=d.useMemo(()=>hl(o),[o.input,o.name]);if(g)return s.jsx(Il,{tool:o,preview:g});if(b)return s.jsx(cr,{tool:o,snapshot:b,expanded:t,hasRequest:a,hasResult:l,onToggleExpanded:()=>{n(y=>!y)}});if(p)return s.jsx(cr,{tool:o,snapshot:p,expanded:t,hasRequest:a,hasResult:l,onToggleExpanded:()=>{n(y=>!y)}});if(v)return s.jsx(El,{tool:o,snapshot:v,expanded:t,hasRequest:a,hasResult:l,onToggleExpanded:()=>{n(y=>!y)}});const w=gl(o),x=!!(o.input||o.output||o.error);return s.jsxs("div",{className:`tool-call-item ${l?"tool-result":""}`,children:[s.jsxs("button",{type:"button",className:"tool-call-header",onClick:()=>x&&n(y=>!y),children:[s.jsxs("div",{className:"tool-call-info",children:[s.jsx("span",{className:"tool-call-name",children:c}),s.jsx("span",{className:"tool-call-input-preview",children:w})]}),s.jsx("div",{className:"tool-call-meta",children:x&&s.jsx("span",{className:`tool-call-toggle ${t?"expanded":""}`,children:s.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:s.jsx("polyline",{points:"6 9 12 15 18 9"})})})})]}),t&&x&&s.jsxs("div",{className:"tool-call-output",children:[a&&o.input&&s.jsxs("div",{className:"tool-call-section",children:[s.jsx("div",{className:"tool-call-section-label",children:i("conversation.toolInputLabel")}),s.jsx("pre",{children:o.input})]}),(l||o.error||o.output)&&s.jsxs("div",{className:"tool-call-section",children:[s.jsx("div",{className:"tool-call-section-label",children:i("conversation.toolResultLabel")}),s.jsx("pre",{className:o.error?"tool-call-error":void 0,children:o.error||o.output||i("conversation.toolResultEmpty")})]})]})]})}function cr({tool:e,snapshot:t,expanded:n,hasRequest:r,hasResult:o,onToggleExpanded:a}){const l=n?i("conversation.assistantCapabilityRawCollapse"):i("conversation.assistantCapabilityRawExpand");return s.jsxs("div",{className:"tool-call-item assistant-capability-item","data-kind":t.kind,children:[s.jsxs("div",{className:"assistant-capability-header",children:[s.jsxs("div",{className:"assistant-capability-heading",children:[s.jsx("span",{className:"assistant-capability-icon",children:s.jsx(fl,{kind:t.kind})}),s.jsxs("div",{className:"assistant-capability-heading-main",children:[s.jsx("span",{className:"assistant-capability-badge",children:t.badge}),s.jsx("strong",{children:t.title}),s.jsx("span",{className:"assistant-capability-summary",children:t.summary})]})]}),s.jsx("button",{type:"button",className:"task-tool-raw-toggle",onClick:a,children:l})]}),t.rows.length>0?s.jsx("div",{className:"assistant-capability-list",children:t.rows.map(c=>s.jsxs("div",{className:"assistant-capability-row",children:[s.jsx("span",{className:"assistant-capability-row-label",children:c.label}),s.jsx("span",{className:"assistant-capability-row-value",children:c.value})]},c.label))}):null,n?s.jsxs("div",{className:"tool-call-output",children:[r&&e.input?s.jsxs("div",{className:"tool-call-section",children:[s.jsx("div",{className:"tool-call-section-label",children:i("conversation.toolInputLabel")}),s.jsx("pre",{children:e.input})]}):null,o||e.error||e.output?s.jsxs("div",{className:"tool-call-section",children:[s.jsx("div",{className:"tool-call-section-label",children:i("conversation.toolResultLabel")}),s.jsx("pre",{className:e.error?"tool-call-error":void 0,children:e.error||e.output||i("conversation.toolResultEmpty")})]}):null]}):null]})}function El({tool:e,snapshot:t,expanded:n,hasRequest:r,hasResult:o,onToggleExpanded:a}){const l=Ar(t.items),c=n?i("conversation.taskCardRawCollapse"):i("conversation.taskCardRawExpand");return s.jsxs("div",{className:"tool-call-item task-tool-item",children:[s.jsxs("div",{className:"task-tool-header",children:[s.jsxs("div",{className:"task-tool-heading",children:[s.jsx("span",{className:"task-tool-badge",children:t.source==="plan"?i("conversation.taskCardPlanTitle"):i("conversation.taskCardTodoTitle")}),s.jsxs("div",{className:"task-tool-heading-main",children:[s.jsx("strong",{children:_l(t,e.name)}),s.jsx("span",{className:"task-tool-summary-text",children:Ol(t.items,l)})]})]}),s.jsx("button",{type:"button",className:"task-tool-raw-toggle",onClick:a,children:c})]}),s.jsx("ol",{className:"task-tool-list",children:t.items.map(f=>s.jsxs("li",{className:"task-tool-list-item","data-status":f.status,children:[s.jsx("span",{className:"task-tool-item-indicator","data-status":f.status,"aria-hidden":"true"}),s.jsx("strong",{className:"task-tool-item-title",children:f.title}),f.detail?s.jsx("span",{className:"task-tool-item-detail",children:f.detail}):null,s.jsx("span",{className:"task-tool-item-status",children:Bl(f.status)})]},f.id))}),n?s.jsxs("div",{className:"tool-call-output",children:[r&&e.input?s.jsxs("div",{className:"tool-call-section",children:[s.jsx("div",{className:"tool-call-section-label",children:i("conversation.toolInputLabel")}),s.jsx("pre",{children:e.input})]}):null,o||e.error||e.output?s.jsxs("div",{className:"tool-call-section",children:[s.jsx("div",{className:"tool-call-section-label",children:i("conversation.toolResultLabel")}),s.jsx("pre",{className:e.error?"tool-call-error":void 0,children:e.error||e.output||i("conversation.toolResultEmpty")})]}):null]}):null]})}function _l(e,t){if(e.source==="plan")return i("conversation.taskCardPlanUpdated");const n=t.trim().toLowerCase();return n==="taskcreate"||n==="todowrite"||n==="todoread"?i("conversation.taskCardTodoUpdated"):n.startsWith("task")?i("conversation.taskCardTodoUpdated"):i("conversation.taskCardTodoUpdated")}function Ol(e,t){const n=[i("conversation.taskCardSummaryTotal",{count:e.length})];return t.in_progress>0&&n.push(i("conversation.taskCardSummaryInProgress",{count:t.in_progress})),t.pending>0&&n.push(i("conversation.taskCardSummaryPending",{count:t.pending})),t.completed>0&&n.push(i("conversation.taskCardSummaryCompleted",{count:t.completed})),t.failed>0&&n.push(i("conversation.taskCardSummaryFailed",{count:t.failed})),n.join(" / ")}function Bl(e){switch(e){case"in_progress":return i("conversation.taskProgressStatusInProgress");case"completed":return i("conversation.taskProgressStatusCompleted");case"failed":return i("conversation.taskProgressStatusFailed");case"cancelled":return i("conversation.taskProgressStatusCancelled");case"pending":default:return i("conversation.taskProgressStatusPending")}}function ur(e){return e==="add"?i("conversation.applyPatchAddedLabel"):e==="delete"?i("conversation.applyPatchDeletedLabel"):i("conversation.applyPatchEditedLabel")}function Jn(e){return e.nextPath&&e.nextPath!==e.path?`${e.path} -> ${e.nextPath}`:e.nextPath??e.path}function dr(e,t){return`${e.path}:${e.nextPath??""}:${t}`}function mr(e){return e.statsKnown?s.jsxs("span",{className:"apply-patch-summary-stats",children:[s.jsxs("span",{className:"apply-patch-summary-added",children:["+",e.additions]}),s.jsxs("span",{className:"apply-patch-summary-removed",children:["-",e.deletions]})]}):s.jsx("span",{className:"apply-patch-summary-stats",children:s.jsx("span",{className:"apply-patch-summary-edited",children:i("conversation.applyPatchEditedStat")})})}function ql(e){return e.statsKnown?s.jsxs(s.Fragment,{children:[s.jsxs("span",{className:"apply-patch-stat-pill positive",children:[i("conversation.applyPatchAddedStat")," +",e.additions]}),s.jsxs("span",{className:"apply-patch-stat-pill negative",children:[i("conversation.applyPatchRemovedStat")," -",e.deletions]})]}):s.jsx("span",{className:"apply-patch-stat-pill neutral",children:i("conversation.applyPatchEditedStat")})}function Dl(e){return e==="add"?"is-added":e==="remove"?"is-removed":e==="hunk"?"is-hunk":e==="meta"?"is-meta":"is-context"}function pr(e){return e===null||e<=0?"":String(e)}function Fl(e){return new Date(e).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}function so({timestamp:e,leading:t,children:n}){return s.jsxs("div",{className:"user-message-footer",children:[s.jsx("div",{className:"user-message-footer-leading",children:t}),s.jsxs("div",{className:"user-message-footer-trailing",children:[s.jsx("time",{className:"message-time",dateTime:e,children:Fl(e)}),n]})]})}function Ye({text:e,canCopy:t=!0,canFork:n=!1,compact:r=!1,onFork:o}){const{showToast:a}=Wt(),l=Ft(),[c,f]=d.useState(!1),[b,p]=d.useState(!1),v=e.trim().length>0,g=t&&v;async function w(){if(!(!g||c)){f(!0);try{await ms(e,l),a({title:i("conversation.copyContentSuccess"),tone:"success"})}catch(y){a({title:y instanceof Error?y.message:i("conversation.copyContentFailed"),tone:"error"})}finally{f(!1)}}}async function x(){if(!(!o||b)){p(!0);try{await o()}finally{p(!1)}}}return!g&&!n?null:s.jsxs("div",{className:r?"message-metadata-bar compact":"message-metadata-bar",children:[g?s.jsx("button",{type:"button",className:"message-metadata-action","aria-label":i("conversation.copyAction"),title:i("conversation.copyAction"),onClick:()=>{w()},disabled:c,children:s.jsx(Ai,{})}):null,n?s.jsx("button",{type:"button",className:"message-metadata-action","aria-label":b?i("conversation.forkingAction"):i("conversation.forkFromHereAction"),title:b?i("conversation.forkingAction"):i("conversation.forkFromHereAction"),onClick:()=>{x()},disabled:b,children:s.jsx(Pi,{})}):null]})}function Wl({message:e,kind:t,tone:n,actionState:r,onRetry:o,onForkMessage:a}){const[l,c]=d.useState(!1),f=wl(t,e.content),b=n==="user-message",p=t==="system_prompt"?i("conversation.systemPromptTitle"):t==="skill_context"?i("conversation.skillContextTitle"):i("conversation.rulesMessageTitle"),v=t==="system_prompt"?i("conversation.systemPromptHint"):t==="skill_context"?i("conversation.skillContextHint"):i("conversation.rulesMessageHint"),g=l?t==="system_prompt"?i("conversation.systemPromptCollapse"):t==="skill_context"?i("conversation.skillContextCollapse"):i("conversation.rulesMessageCollapse"):t==="system_prompt"?i("conversation.systemPromptExpand"):t==="skill_context"?i("conversation.skillContextExpand"):i("conversation.rulesMessageExpand");return s.jsx("article",{className:`message-item ${n} rules-message-row`,"data-message-id":e.id,children:s.jsxs("div",{className:"message-content-wrapper",children:[s.jsxs("div",{className:"rules-message-card",children:[s.jsxs("button",{type:"button",className:"rules-message-toggle","aria-expanded":l,onClick:()=>c(w=>!w),children:[s.jsxs("div",{className:"rules-message-heading",children:[s.jsx("span",{className:"rules-message-badge",children:p}),s.jsx("span",{className:"rules-message-summary",children:f})]}),s.jsx("span",{className:"rules-message-action",children:g})]}),s.jsx("p",{className:"rules-message-hint",children:v}),l&&s.jsx("div",{className:"rules-message-body",children:s.jsx(Rt,{content:e.content,className:"message-text message-content markdown-content"})}),b?s.jsx(so,{timestamp:e.timestamp,children:s.jsx(Ye,{text:e.content,canCopy:r.canCopy,canFork:r.canFork&&!!(a&&e.deliveryState==="sent"),compact:!0,onFork:a?()=>a(e):null})}):s.jsx(Ye,{text:e.content,canCopy:r.canCopy,canFork:r.canFork&&!!(a&&e.deliveryState==="sent"),onFork:a?()=>a(e):null})]}),e.deliveryState==="failed"&&e.clientRequestId&&s.jsx("button",{className:"retry-button",type:"button",onClick:()=>o(e.clientRequestId),children:i("conversation.resendButton")})]})})}function Ul({message:e,provider:t,interruptedSource:n=null,foldedPromptKind:r=null,actionState:o,onRetry:a,onForkMessage:l,assistantAvatar:c}){const f=e.role==="user",b=e.kind==="thinking",p=e.role==="assistant"&&e.kind==="text",v=t==="codex"&&e.kind==="text"?Gr(e.content):null,g=r??(kl(t,e.content)?"rules":Cl(t,e.content)?"skill_context":null),w=d.useMemo(()=>gt(e.content),[e.content]),x=w.text,y=w.inlineImages,[N,B]=d.useState(!1),[A,q]=d.useState(!1),[Z,G]=d.useState(null),[U,z]=d.useState(null);if(g){const D=e.role==="user"?"user-message":e.role==="assistant"?"assistant-message":"system-message";return s.jsx(Wl,{message:e,kind:g,tone:D,actionState:o,onRetry:a,onForkMessage:l})}if(v){const D=Da(n),X=v.detail?`${D}
|
|
15
|
-
|
|
16
|
-
${v.detail}`:D;return s.jsxs("article",{className:"message-item assistant-message","data-message-id":e.id,children:[s.jsx("div",{className:"message-avatar",children:c??s.jsx(Xn,{})}),s.jsxs("div",{className:"message-content-wrapper",children:[s.jsx(Rt,{content:X,className:"message-text message-content markdown-content"}),s.jsx(Ye,{text:X,canCopy:o.canCopy,canFork:!1,onFork:null})]})]})}if(f){const D=e.origin==="butler_proxy"||zl(e.clientRequestId),X=e.origin==="butler_proxy"&&typeof e.originRef=="string"&&e.originRef.trim().length>0;async function $(){if(!X)return;const H=!N;if(B(H),!(!H||U||A)){q(!0),G(null);try{const J=await hi(e.originRef);z(J.task)}catch(J){G(J instanceof Error?J.message:i("conversation.butlerOriginDetailLoadFailed"))}finally{q(!1)}}}const ee=D?X?s.jsxs("div",{className:"message-origin-detail-anchor",children:[s.jsx("button",{type:"button",className:"message-origin-badge message-origin-badge-button","aria-expanded":N,onClick:()=>{$()},children:i("conversation.butlerProxyMessageBadge")}),N?s.jsxs("div",{className:"message-origin-detail-popover",role:"dialog","aria-live":"polite",children:[s.jsx("strong",{children:i("conversation.butlerOriginDetailTitle")}),A?s.jsx("p",{children:i("conversation.butlerOriginDetailLoading")}):Z?s.jsx("p",{children:Z}):U?s.jsxs(s.Fragment,{children:[s.jsxs("p",{children:[i("conversation.butlerOriginDetailObjectiveLabel"),":",U.objective]}),s.jsxs("p",{children:[i("conversation.butlerOriginDetailStatusLabel"),":",$l(U.status)]}),s.jsxs("p",{children:[i("conversation.butlerOriginDetailSummaryLabel"),":",U.lastAutomationSummary||i("conversation.butlerAnalysisEmpty")]}),U.waitingReason?s.jsxs("p",{children:[i("conversation.butlerOriginDetailWaitingReasonLabel"),":",U.waitingReason]}):null]}):s.jsx("p",{children:i("conversation.butlerAnalysisEmpty")})]}):null]}):s.jsx("span",{className:"message-origin-badge",children:i("conversation.butlerProxyMessageBadge")}):null;return s.jsx("article",{className:"message-item user-message","data-message-id":e.id,children:s.jsxs("div",{className:"message-content-wrapper",children:[s.jsx(fn,{sessionId:e.sessionId,attachments:e.attachments,attachmentPayloads:e.attachmentPayloads,inlineImages:y}),x?s.jsx(Rt,{content:x,className:"message-text message-content markdown-content"}):null,e.deliveryState==="failed"&&e.clientRequestId&&s.jsx("button",{className:"retry-button",type:"button",onClick:()=>a(e.clientRequestId),children:i("conversation.resendButton")}),s.jsx(so,{timestamp:e.timestamp,leading:ee,children:s.jsx(Ye,{text:x,canCopy:o.canCopy,canFork:o.canFork&&!!(l&&e.deliveryState==="sent"),compact:!0,onFork:l?()=>l(e):null})})]})})}return b?s.jsxs("article",{className:"message-item assistant-message thinking-message-row","data-message-id":e.id,children:[s.jsx("div",{className:"message-avatar",children:c??s.jsx(Xn,{})}),s.jsxs("div",{className:"thinking-message-content",children:[s.jsx("div",{className:"thinking-message-label",children:i("conversation.thinkingLabel")}),s.jsx(fn,{sessionId:e.sessionId,attachments:e.attachments,attachmentPayloads:e.attachmentPayloads,inlineImages:y}),x&&s.jsx(Rt,{content:x,className:"message-text message-content markdown-content thinking-message-text"}),s.jsx(Ye,{text:x,canCopy:o.canCopy,canFork:o.canFork&&!!(l&&e.deliveryState==="sent"),onFork:l?()=>l(e):null})]})]}):p?s.jsxs("article",{className:"message-item assistant-message","data-message-id":e.id,children:[s.jsx("div",{className:"message-avatar",children:c??s.jsx(Xn,{})}),s.jsxs("div",{className:"message-content-wrapper",children:[s.jsx(fn,{sessionId:e.sessionId,attachments:e.attachments,attachmentPayloads:e.attachmentPayloads,inlineImages:y}),x&&s.jsx(Rt,{content:x,className:"message-text message-content markdown-content"}),s.jsx(Ye,{text:x,canCopy:o.canCopy,canFork:o.canFork&&!!(l&&e.deliveryState==="sent"),onFork:l?()=>l(e):null})]})]}):s.jsx("article",{className:"message-item system-message","data-message-id":e.id,children:s.jsxs("div",{className:"message-content-wrapper",children:[s.jsx(fn,{sessionId:e.sessionId,attachments:e.attachments,attachmentPayloads:e.attachmentPayloads,inlineImages:y}),x?s.jsx("div",{className:"message-text message-content",children:s.jsx(no,{language:"text",content:x})}):null,s.jsx(Ye,{text:x,canCopy:o.canCopy,canFork:o.canFork&&!!(l&&e.deliveryState==="sent"),onFork:l?()=>l(e):null})]})})}function Xn(){return s.jsxs("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[s.jsx("circle",{cx:"12",cy:"12",r:"10"}),s.jsx("path",{d:"M12 16v-4M12 8h.01"})]})}function zl(e){return typeof e=="string"&&e.startsWith("butler-follow-up:")}function $l(e){switch(e){case"waiting_user":return i("shell.butlerAutomationStatusWaitingUser");case"completed":return i("shell.butlerAutomationStatusCompleted");case"failed":return i("shell.butlerAutomationStatusFailed");case"cancelled":return i("shell.butlerAutomationStatusCancelled");case"active":default:return i("shell.butlerAutomationStatusActive")}}function Qc({sessionId:e="session",messages:t,historyState:n,loadingOlderMessages:r=!1,hasOlderMessages:o=!1,onLoadOlderMessages:a=()=>{},onRetryMessage:l,onForkMessage:c,provider:f,interruptedSource:b=null,runtimeThinkingPlaceholder:p=null,assistantAvatar:v,followTailUpdates:g=!1}){var ke;const{showToast:w}=Wt(),x=Ft(),y=!g,N=d.useRef(null);pi(N);const B=d.useRef(e),A=d.useRef(0),q=d.useRef(null),Z=d.useRef(!0),G=d.useRef(null),U=d.useRef(null),z=d.useRef(!1),D=d.useRef(g?null:pn(e)),X=d.useRef(g?null:((ke=pn(e))==null?void 0:ke.lastMessageSignature)??null),$=d.useRef(g?null:pn(e)),ee=d.useRef(null),H=d.useRef(null),J=d.useRef(null),ye=d.useRef(0),ge=d.useRef(!1),re=d.useRef(null),Se=d.useRef(null),[Tn,xe]=d.useState(!1),[Be,je]=d.useState(!1),E=d.useRef(!1),Ne=yl(t),Ut=x.isMobile?0:$a,nt=d.useMemo(()=>Sl(t,f),[t,f]),Mn=d.useMemo(()=>Hl(t),[t]),Re=n==="loading"&&t.length===0;function te(m){var C,M,P;if(!m)return null;try{const j=JSON.parse(m);return{id:typeof j.id=="string"?j.id:null,timestamp:typeof j.timestamp=="string"?j.timestamp:null,deliveryState:typeof j.deliveryState=="string"?j.deliveryState:null,contentLength:typeof j.content=="string"?j.content.length:0,attachmentCount:Array.isArray(j.attachments)?j.attachments.length:0,toolStatus:typeof((C=j.toolCall)==null?void 0:C.status)=="string"?j.toolCall.status:null,hasToolOutput:typeof((M=j.toolCall)==null?void 0:M.output)=="string"?j.toolCall.output.length>0:!1,hasToolError:typeof((P=j.toolCall)==null?void 0:P.error)=="string"?j.toolCall.error.length>0:!1}}catch{return{parseError:!0,length:m.length}}}function zt(m,C={}){const M=t[0]??null,P=t.at(-1)??null,j=Ne.at(-1)??null,ie=D.current,Te=$.current,ve=m?m.scrollHeight-m.clientHeight-m.scrollTop:null;return{sessionId:e,historyState:n,followTailUpdates:g,messagesLength:t.length,renderItemsLength:Ne.length,firstMessageId:(M==null?void 0:M.id)??null,firstMessageRole:(M==null?void 0:M.role)??null,lastMessageId:(P==null?void 0:P.id)??null,lastMessageRole:(P==null?void 0:P.role)??null,lastMessageKind:(P==null?void 0:P.kind)??null,lastMessageTimestamp:(P==null?void 0:P.timestamp)??null,tailItemType:(j==null?void 0:j.type)??null,tailToolCallId:j&&j.type==="tool_group"?j.group.tool.callId:null,scrollTop:(m==null?void 0:m.scrollTop)??null,scrollHeight:(m==null?void 0:m.scrollHeight)??null,clientHeight:(m==null?void 0:m.clientHeight)??null,distanceToBottom:ve,stickToBottomRef:Z.current,hasNewMessagesBelow:E.current,previousMessageCount:A.current,previousLastMessage:te(q.current),pendingRestoreState:ie===null?null:{scrollTop:ie.scrollTop,stickToBottom:ie.stickToBottom,lastMessage:te(ie.lastMessageSignature)},currentScrollState:Te===null?null:{scrollTop:Te.scrollTop,stickToBottom:Te.stickToBottom,lastMessage:te(Te.lastMessageSignature)},restoredTailMessage:te(X.current),...C}}function K(m,C,M={}){Hs()&&fi(m,zt(C,M))}function $t(m){const M=m.scrollHeight-m.clientHeight-m.scrollTop<=sr;return{scrollTop:m.scrollTop,stickToBottom:M,lastMessageSignature:E.current&&!M?X.current:pt(t.at(-1)??null)}}function qe(m){return $.current=$t(m),$.current}function Q(m){const C=m.scrollHeight-m.clientHeight-m.scrollTop,M=C<=sr;Z.current=M,M&&E.current&&(de(),E.current=!1,X.current=pt(t.at(-1)??null),je(!1)),xe(t.length>0&&(C>rr||E.current)),qe(m),K("affordance.sync",m,{distanceToBottom:C,nextStickToBottom:M})}function vt(m=N.current){y&&(m&&qe(m),$.current&&nr(e,$.current))}function bt(m){y&&$.current&&nr(m,$.current)}function st(){ee.current!==null&&(window.clearTimeout(ee.current),ee.current=null)}function Ht(){y&&(st(),ee.current=window.setTimeout(()=>{ee.current=null,vt()},Wa))}function oe(m,C,M={}){K("jump_to_bottom.before",m,{reason:C,...M}),m.scrollTop=m.scrollHeight,K("jump_to_bottom.after",m,{reason:C,...M})}function De(){H.current!==null&&(window.clearTimeout(H.current),H.current=null)}function de(){De(),ge.current=!1,J.current=null,ye.current=0,re.current=null}function Ae(m,C){const M=Math.max(0,m.scrollHeight-m.clientHeight),P=Math.max(0,Math.min(C,M));re.current=P,m.scrollTop=P,Z.current=!1,K("manual_restore.apply",m,{targetScrollTop:C,maxScrollableTop:M,nextScrollTop:P}),xe(t.length>0&&(M-P>rr||E.current))}function rt(){De(),ge.current&&(H.current=window.setTimeout(()=>{H.current=null;const m=N.current,C=J.current;if(!m||C===null){de();return}if(Ae(m,C),Date.now()<ye.current){rt();return}de(),Q(m)},za))}function ot(m,C){if(Ut<=0){Ae(C,m),de();return}ge.current=!0,J.current=m,ye.current=Date.now()+Ut,Ae(C,m),rt()}function Pe(){ge.current&&(K("manual_restore.interrupt",N.current),de())}function Fe(m){return z.current||!o||r||n!=="ready"||m.scrollTop>Fa?!1:(z.current=!0,G.current=m.scrollHeight-m.scrollTop,U.current=pt(t[0]??null),K("older_history.prefetch",m,{pendingOlderLoadOffset:G.current,pendingOlderLoadHeadMessage:te(U.current)}),a(),!0)}d.useEffect(()=>{n==="error"&&w({title:i("conversation.historyLoadFailed"),tone:"error"})},[n,w]),d.useLayoutEffect(()=>{var m,C;if(B.current!==e){const M=B.current;bt(M),B.current=e,A.current=0,q.current=null,D.current=g?null:pn(e),X.current=((m=D.current)==null?void 0:m.lastMessageSignature)??null,$.current=D.current,Z.current=g?!0:((C=D.current)==null?void 0:C.stickToBottom)??!0,G.current=null,U.current=null,de(),E.current=!1,je(!1),xe(!1),K("session.switch",N.current,{previousSessionId:M,nextSessionId:e})}},[g,y,e]),d.useLayoutEffect(()=>()=>{st(),de(),bt(B.current)},[y,e]),d.useLayoutEffect(()=>{const m=N.current,C=pt(t.at(-1)??null);if(!m){A.current=t.length,q.current=C;return}const M=A.current,P=q.current,j=D.current,ie=M===0||t.length!==M||C!==P;if(K("messages.effect.start",m,{previousCount:M,previousLastMessage:te(P),currentLastMessage:te(C),hasTailUpdate:ie}),j&&n==="ready"){const se=!j.stickToBottom&&j.lastMessageSignature!==null&&C!==null&&j.lastMessageSignature!==C;j.stickToBottom?(de(),oe(m,"restore_ready_stick_to_bottom",{hasTailUpdates:se})):(ot(j.scrollTop,m),K("restore_ready.manual",m,{hasTailUpdates:se,targetScrollTop:j.scrollTop})),E.current=se,X.current=j.lastMessageSignature,je(se),D.current=null,Q(m),A.current=t.length,q.current=C,qe(m);return}if(j&&n==="error"){j.stickToBottom?(de(),oe(m,"restore_error_stick_to_bottom")):(ot(j.scrollTop,m),K("restore_error.manual",m,{targetScrollTop:j.scrollTop})),D.current=null,Q(m),A.current=t.length,q.current=C,qe(m);return}if(ge.current){Ae(m,J.current??m.scrollTop),A.current=t.length,q.current=C,qe(m);return}const Te=pt(t[0]??null),ve=G.current,Ie=U.current,ae=ve!==null&&!r&&Ie!==null&&Ie!==Te&&t.length>=M,Me=ie&&(g||Z.current);K("messages.effect.decision",m,{currentHeadMessage:te(Te),pendingOlderLoadOffset:ve,pendingOlderLoadHeadMessage:te(Ie),shouldRestoreOlderLoadOffset:ae,shouldFollowTailUpdate:Me,loadingOlderMessages:r}),ae?(m.scrollTop=Math.max(0,m.scrollHeight-ve),G.current=null,U.current=null):G.current!==null&&!r?(G.current=null,U.current=null,Me&&oe(m,"older_load_offset_cleared_follow_tail",{pendingOlderLoadOffset:ve})):Me&&oe(m,"tail_update_follow"),Q(m),A.current=t.length,q.current=C},[n,r,t,e]),d.useEffect(()=>{if(!o){z.current=!1;return}!r&&G.current===null&&(z.current=!1)},[o,r,t.length]),d.useEffect(()=>{const m=N.current;if(!Hs()||!m||typeof ResizeObserver>"u")return;const C=new ResizeObserver(()=>{K("list.resize",m)});return C.observe(m),()=>{C.disconnect()}},[t.length,e]);function Kt(){const m=N.current;if(m){if(ge.current){const C=re.current;C!==null&&Math.abs(m.scrollTop-C)<=1?re.current=null:Pe()}Q(m),Ht(),K("scroll",m),Fe(m)}}function ne(m){if(m.deltaY!==0&&Pe(),m.deltaY>=0)return;const C=N.current;C&&Fe(C)}function We(m){var C;Pe(),Se.current=((C=m.touches[0])==null?void 0:C.clientY)??null}function me(m){var j;const C=Se.current,M=((j=m.touches[0])==null?void 0:j.clientY)??null;if(C===null||M===null||M-C<Ua)return;Pe();const P=N.current;P&&Fe(P)}function Ue(){Se.current=null}return s.jsxs("section",{className:"message-timeline",children:[n==="loading"&&s.jsx("div",{className:"timeline-status",children:s.jsx("span",{className:"status-text",children:i("conversation.historyLoading")})}),s.jsxs("div",{ref:N,className:"message-list","data-scrollbar-autohide":"true",onScroll:Kt,onPointerDown:Pe,onWheel:ne,onTouchStart:We,onTouchMove:me,onTouchEnd:Ue,onTouchCancel:Ue,children:[Re?s.jsx(Pl,{}):null,r?s.jsx("div",{className:"timeline-status timeline-status-inline",children:s.jsx("span",{className:"status-text",children:i("conversation.historyLoadingOlder")})}):null,Ne.length===0&&n==="ready"&&s.jsx("div",{className:"timeline-empty",children:s.jsx("p",{className:"status-text",children:i("conversation.timelineEmpty")})}),Ne.map(m=>m.type==="tool_group"?s.jsx("article",{className:"message-item tool-message-row",children:s.jsx(Ll,{group:m.group})},m.key):s.jsx(Ul,{message:m.message,provider:f,foldedPromptKind:nt.has(m.message.id)?"system_prompt":null,actionState:Mn.get(m.message.id)??{canCopy:m.message.role==="user",canFork:!1},onRetry:l,onForkMessage:c,interruptedSource:b,assistantAvatar:v},m.key)),p?s.jsx("div",{className:"timeline-status timeline-status-inline thinking-status-inline",children:s.jsxs("span",{className:"status-text thinking-status-text","aria-label":p,children:[s.jsx("span",{children:qa(p)||p}),s.jsx("span",{className:"thinking-status-dots","aria-hidden":"true",children:"..."})]})}):null]}),Tn?s.jsxs("button",{type:"button",className:"conversation-scroll-to-bottom-button","data-has-new":Be?"true":"false","aria-label":i("conversation.scrollToBottomAction"),title:i("conversation.scrollToBottomAction"),onClick:()=>{const m=N.current;m&&(de(),oe(m,"scroll_button_click"),E.current=!1,X.current=pt(t.at(-1)??null),je(!1),Q(m),vt(m))},children:[Be?s.jsx("span",{className:"conversation-scroll-to-bottom-button-badge",children:"NEW"}):null,s.jsx("svg",{className:"conversation-scroll-to-bottom-button-icon",viewBox:"0 0 20 20","aria-hidden":"true",focusable:"false",children:s.jsx("path",{d:"M10 4.25a.75.75 0 0 1 .75.75v7.19l2.72-2.72a.75.75 0 1 1 1.06 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 1 1 1.06-1.06l2.72 2.72V5a.75.75 0 0 1 .75-.75Zm-4 11a.75.75 0 0 1 0-1.5h8a.75.75 0 0 1 0 1.5H6Z",fill:"currentColor"})})]}):null]})}function pt(e){return e?JSON.stringify({id:e.id,content:e.content,attachments:e.attachments,timestamp:e.timestamp,deliveryState:e.deliveryState,toolCall:e.toolCall?{status:e.toolCall.status,output:e.toolCall.output,error:e.toolCall.error}:null}):null}function Hl(e){const t=new Map;let n=0;function r(o){let a=null;for(let l=o-1;l>=n;l-=1){const c=e[l];if(!(!c||!Kl(c))){a=c.id;break}}for(let l=n;l<o;l+=1){const c=e[l];if(c){if(c.role==="user"){t.set(c.id,{canCopy:!0,canFork:!1});continue}t.set(c.id,{canCopy:c.id===a,canFork:c.id===a})}}}for(let o=0;o<e.length;o+=1){const a=e[o];a&&a.role==="user"&&o>n&&(r(o),n=o)}return r(e.length),t}function Kl(e){return e.role==="user"?!1:e.kind!=="tool_call"&&e.kind!=="tool_result"}function Zc({requests:e,replyingRequestId:t,onReply:n}){const[r,o]=d.useState({}),a=d.useMemo(()=>e.filter(l=>l.status==="pending"),[e]);return a.length===0?null:s.jsxs("section",{className:"permission-request-list",children:[s.jsxs("div",{className:"permission-request-list-header",children:[s.jsx("div",{children:s.jsx("strong",{children:i("conversation.permissionRequestSectionTitle")})}),s.jsx("span",{className:"permission-request-count",children:a.length})]}),s.jsx("div",{className:"permission-request-stack",children:a.map(l=>{var g,w;const c=r[l.id]??{},f=l.paths.filter(Boolean),b=l.kind==="command"&&!!((g=l.command)!=null&&g.trim()),p=l.questions.length===0&&f.length===0&&!b&&!!((w=l.summary)!=null&&w.trim()),v=l.kind==="user_input"&&l.questions.some(x=>{var y;return(((y=c[x.id])==null?void 0:y.filter(Boolean).length)??0)===0});return s.jsxs("article",{className:"permission-request-card",children:[s.jsxs("header",{className:"permission-request-card-header",children:[s.jsxs("div",{className:"permission-request-provider",children:[s.jsx("span",{className:"permission-request-provider-icon","aria-hidden":"true",children:s.jsx("img",{src:mi(l.provider),alt:"",loading:"lazy"})}),s.jsxs("div",{className:"permission-request-provider-copy",children:[s.jsx("strong",{children:l.title}),s.jsx("span",{children:jr(l.provider,"full")})]})]}),s.jsx("span",{className:"permission-request-kind",children:Vl(l.kind)})]}),s.jsxs("div",{className:"permission-request-card-body",children:[f.length>0?s.jsx("div",{className:"permission-request-block",children:s.jsx("ul",{className:"permission-request-target-list",children:f.map(x=>s.jsxs("li",{className:"permission-request-target-item",children:[s.jsx("strong",{children:Gl(x)}),s.jsx("span",{children:x})]},`${l.id}:${x}`))})}):null,b?s.jsxs("div",{className:"permission-request-block",children:[s.jsx("div",{className:"permission-request-block-label",children:i("conversation.permissionRequestCommandLabel")}),s.jsx("pre",{children:l.command})]}):null,p?s.jsx("p",{className:"permission-request-summary",children:l.summary}):null,l.questions.length>0?s.jsxs("div",{className:"permission-request-block",children:[s.jsx("div",{className:"permission-request-block-label",children:i("conversation.permissionRequestQuestionsLabel")}),s.jsx("div",{className:"permission-request-question-list",children:l.questions.map(x=>s.jsxs("div",{className:"permission-request-question",children:[s.jsx("div",{className:"permission-request-question-header",children:x.header}),s.jsx("p",{children:x.question}),s.jsx("div",{className:"permission-request-question-options",children:x.options.map(y=>{var B;const N=((B=c[x.id])==null?void 0:B.includes(y.label))??!1;return s.jsxs("label",{className:"permission-request-question-option",children:[s.jsx("input",{type:"radio",name:`${l.id}:${x.id}`,checked:N,onChange:()=>{o(A=>({...A,[l.id]:{...A[l.id]??{},[x.id]:[y.label]}}))}}),s.jsxs("span",{children:[s.jsx("strong",{children:y.label}),y.description?s.jsx("small",{children:y.description}):null]})]},`${x.id}:${y.label}`)})})]},x.id))})]}):null]}),s.jsx("footer",{className:"permission-request-card-footer",children:l.actions.map(x=>s.jsx("button",{type:"button",className:`permission-request-action permission-request-action-${x.tone}`,disabled:t===l.id||x.value==="submit"&&v,onClick:()=>void n(l.id,{action:x.value,answers:Object.keys(c).length>0?c:void 0}),children:t===l.id?i("conversation.permissionRequestSubmitting"):x.label},`${l.id}:${x.value}`))})]},l.id)})})]})}function Vl(e){return e==="command"?i("conversation.permissionRequestKindCommand"):e==="file_change"?i("conversation.permissionRequestKindFileChange"):e==="permissions"?i("conversation.permissionRequestKindPermissions"):e==="user_input"?i("conversation.permissionRequestKindUserInput"):i("conversation.permissionRequestKindToolCall")}function Gl(e){return e.split(/[/\\]+/).filter(Boolean).at(-1)??e}class Yc{constructor(t){fe(this,"socket",null);fe(this,"disposed",!1);fe(this,"authRecoveryInFlight",!1);fe(this,"latestCursor");fe(this,"subscribed",!1);fe(this,"pendingOlderRequest",null);fe(this,"inFlightOlderRequest",null);fe(this,"subscribeStartedAtMs",null);fe(this,"firstBackfillLogged",!1);fe(this,"olderRequestStartedAtMs",null);fe(this,"connectionManager");this.options=t,this.latestCursor=t.cursor,this.connectionManager=new gi({onReconnect:n=>{this.connect(n)},onStateChange:t.onConnectionChange})}start(){this.connectionManager.start()}updateCursor(t){this.latestCursor=t}reconnectNow(){this.connectionManager.reconnectNow()}requestOlderMessages(t,n){return Ql(this.socket)?this.subscribed?(this.sendOlderMessagesRequest(t,n),!0):(this.pendingOlderRequest={cursor:t,limit:n},!0):!1}close(){var t;this.disposed=!0,this.subscribed=!1,this.pendingOlderRequest=null,this.inFlightOlderRequest=null,this.connectionManager.close(),(t=this.socket)==null||t.close(),this.socket=null}connect(t){var f;if(this.disposed)return;t&&this.socket&&(this.socket.close(),this.socket=null);const n=(f=qs.getState().session)==null?void 0:f.accessToken;if(!n){this.options.onUnauthorized();return}const r=Go(),o=Qo(r),a=o.baseUrl,l=`${Zo("/ws",a)}?access_token=${encodeURIComponent(n)}`,c=o.transport.createWebSocket({path:"/ws",baseUrl:a,url:l});this.subscribed=!1,this.firstBackfillLogged=!1,this.socket=c,c.addEventListener("open",()=>{this.subscribeStartedAtMs=performance.now(),c.send(JSON.stringify({type:"session.subscribe",sessionId:this.options.sessionId,cursor:this.latestCursor,limit:this.options.limit})),Nt("session.subscribe.sent",{sessionId:this.options.sessionId,hasCursor:this.latestCursor!==null,limit:this.options.limit,baseUrl:a})}),c.addEventListener("message",b=>{if(!(b instanceof MessageEvent)||typeof b.data!="string")return;const p=JSON.parse(b.data);if(p.type==="system.connected"){this.connectionManager.markConnected();return}if(p.type==="session.subscribed"){this.subscribed=!0,Nt("session.subscribe.ack",{sessionId:p.sessionId,durationMs:es(this.subscribeStartedAtMs)}),this.options.onSubscribed(),this.flushPendingOlderRequest();return}if(p.type==="session.error"){if(this.clearOlderMessagesRequest(),p.error_code==="UNAUTHORIZED"){this.handleUnauthorized();return}this.options.onError(p);return}if(p.type==="session.runtime_status"){this.options.onRuntimeStatus(p);return}if(p.type==="session.activity"){this.options.onActivity(p);return}if(p.type==="session.history_older"){Nt("session.history_older.received",{sessionId:p.sessionId,messageCount:p.messages.length,olderCursor:p.olderCursor,durationMs:es(this.olderRequestStartedAtMs)}),this.olderRequestStartedAtMs=null,this.clearOlderMessagesRequest(),this.options.onOlderHistory(p);return}if(p.type==="session.runtime_message"){this.options.onRuntimeMessage(p);return}if(p.type==="session.runtime_error"){this.options.onRuntimeError(p);return}if(p.type==="session.interrupted"){this.options.onInterrupted(p);return}if(p.type==="session.permission_request"){this.options.onPermissionRequest(p);return}if(p.type==="session.permission_request_resolved"){this.options.onPermissionRequestResolved(p);return}this.latestCursor=p.cursor,this.firstBackfillLogged||(this.firstBackfillLogged=!0,Nt("session.initial_messages.received",{sessionId:p.sessionId,eventType:p.type,messageCount:p.messages.length,olderCursor:p.olderCursor??null,durationMs:es(this.subscribeStartedAtMs)})),this.options.onEnvelope(p)}),c.addEventListener("close",()=>{this.disposed||this.socket!==c||(this.subscribed=!1,this.requeueInFlightOlderRequest(),this.connectionManager.markDisconnected())}),c.addEventListener("error",()=>{this.disposed||this.socket!==c||this.connectionManager.markTransientFailure()})}handleUnauthorized(){if(this.authRecoveryInFlight||this.disposed)return;this.authRecoveryInFlight=!0,this.subscribed=!1,this.requeueInFlightOlderRequest();const t=this.socket;this.socket=null,t==null||t.close(),qs.refresh().then(n=>{if(this.authRecoveryInFlight=!1,!this.disposed){if(n.status==="refreshed"){this.connectionManager.reconnectNow();return}if(n.status==="deferred"){this.connectionManager.markDisconnected();return}this.options.onUnauthorized()}})}sendOlderMessagesRequest(t,n){var r;this.inFlightOlderRequest={cursor:t,limit:n},this.olderRequestStartedAtMs=performance.now(),(r=this.socket)==null||r.send(JSON.stringify({type:"session.load_older",sessionId:this.options.sessionId,cursor:t,limit:n})),Nt("session.load_older.sent",{sessionId:this.options.sessionId,hasCursor:t!==null,limit:n})}flushPendingOlderRequest(){if(!this.pendingOlderRequest)return;const t=this.pendingOlderRequest;this.pendingOlderRequest=null,this.sendOlderMessagesRequest(t.cursor,t.limit)}clearOlderMessagesRequest(){this.pendingOlderRequest=null,this.inFlightOlderRequest=null}requeueInFlightOlderRequest(){this.inFlightOlderRequest&&(this.pendingOlderRequest=this.inFlightOlderRequest,this.inFlightOlderRequest=null,this.olderRequestStartedAtMs=null)}}function es(e){return e===null||typeof performance>"u"?null:Math.round(performance.now()-e)}function Ql(e){return e!==null&&e.readyState===1}const Zl=3*1e3,os=120*1e3,Yl=8,Jl=/\[\[CODINGNS_IMAGE_ATTACHMENTS\]\][\s\S]*?\[\[\/CODINGNS_IMAGE_ATTACHMENTS\]\]/g,Xl=/\[\[CODINGNS_IMAGE_ATTACHMENTS\]\][\s\S]*?\[\[\/CODINGNS_IMAGE_ATTACHMENTS\]\]/;function Jc(e){return{session:(e==null?void 0:e.session)??null,capabilities:(e==null?void 0:e.capabilities)??null,runtimeHasActiveRun:(e==null?void 0:e.runtimeHasActiveRun)??null,runtimeCanInterrupt:(e==null?void 0:e.runtimeCanInterrupt)??null,contextUsage:(e==null?void 0:e.contextUsage)??null,messages:(e==null?void 0:e.messages)??[],permissionRequests:(e==null?void 0:e.permissionRequests)??[],queuedMessages:(e==null?void 0:e.queuedMessages)??[],historyState:"idle",loadingOlderMessages:!1,olderCursor:(e==null?void 0:e.olderCursor)??null,hasOlderMessages:(e==null?void 0:e.hasOlderMessages)??!1,connectionState:"closed",lastCursor:(e==null?void 0:e.lastCursor)??null,pagesLoaded:(e==null?void 0:e.pagesLoaded)??0,interruptSource:(e==null?void 0:e.interruptSource)??null,errorCode:null,errorDetail:null}}function ro(e,t,n="sent",r=null){const o=t.kind??(t.role==="tool"?"tool_result":"text"),a=t.toolCall??(o==="tool_call"||o==="tool_result"?{callId:t.rawRef||t.messageId,name:"tool",input:o==="tool_call"?t.content:"",output:o==="tool_result"&&t.content?t.content:null,error:null,status:o==="tool_call"?"running":"completed"}:null);return{id:t.messageId,sessionId:e,role:t.role,kind:o,content:Nc(t.provider,t.role,o,t.content),toolCall:a,attachments:t.attachments??[],attachmentPayloads:null,origin:t.origin??null,originRef:t.originRef??null,timestamp:t.timestamp,sequence:t.sequence,rawRef:t.rawRef,deliveryState:n,clientRequestId:r}}function Xc(e,t,n,r=[],o=[],a=Number.MAX_SAFE_INTEGER){return{id:`pending-${n}`,sessionId:e,role:"user",kind:"text",content:t,toolCall:null,attachments:r,attachmentPayloads:o,origin:null,originRef:null,timestamp:new Date().toISOString(),sequence:a,rawRef:`pending://${n}`,deliveryState:"sending",clientRequestId:n}}function eu(e,t){return ps([...e,t])}function tu(e,t,n){const r=new Map,o=new Set,a=[];for(const l of e)r.set(l.id,l),o.add(l.id);for(const l of n){const c=ro(t,l);a.push(c);const f=Pc(r,c);if(f&&f!==c.id)continue;const b=Ac(r,c);b&&b!==c.id&&r.delete(b);const p=Ic(r,o,c);if(p&&p!==c.id){const w=r.get(p)??null;if(w){const x=vr(w,c);Ks("session.messages.codex_equivalent_replace",{sessionId:t,previous:ft(w),incoming:ft(c),merged:ft(x)}),r.delete(p),r.set(l.messageId,x);continue}}const v=Lc(r,c);if(v&&v!==c.id){const w=r.get(v)??null;if(w){const x=hc(w,c);Ks("session.messages.opencode_equivalent_replace",{sessionId:t,previous:ft(w),incoming:ft(c),merged:ft(x)}),r.set(v,x);continue}}const g=r.get(l.messageId)??null;r.set(l.messageId,g?vr(g,c):c)}return ps(Ec(Array.from(r.values()),a))}function nu(e,t,n,r){const o=r===null?null:e.find(f=>f.clientRequestId===r)??null,a=e.filter(f=>f.clientRequestId!==r),l=ro(t,n,"sent",r),c=fc(l,o);return ps([...a.filter(f=>f.id!==c.id),c])}function su(e,t){return e.map(n=>n.clientRequestId===t?{...n,deliveryState:"failed"}:n)}function ec(e){const t=[];for(const n of e){const r=t.at(-1);if(!r||!gc(r,n)){t.push(n);continue}t[t.length-1]=xc(r,n)}return t}function tc(e){const t=[];let n=null,r=!1;for(const o of e)if(!vc(n,o,r)){if(t.push(o),qt(o)){n=o,r=!1;continue}n&&bc(o)&&(r=!0)}return t}function nc(e){const t=[];for(const n of e){const r=t.at(-1);if(!r||!ao(r,n)){t.push(n);continue}t[t.length-1]=lo(r,n)}return t}function sc(e){const t=[];for(const n of e){if(t.push(n),t.length<4)continue;const r=t[t.length-4],o=t[t.length-3],a=t[t.length-2],l=t[t.length-1];yc(r,o,a,l)&&t.splice(t.length-3,3,lo(o,l))}return t}function rc(e){const t=[];for(const n of e){const r=t.at(-1);if(!r||!kc(r,n)){t.push(n);continue}t[t.length-1]=wc(r,n)}return t}function oc(e){const t=[];for(const n of e){const r=t.findIndex(o=>Cc(o,n));if(r===-1){t.push(n);continue}t[r]=Sc(t[r],n)}return t}function ps(e){const t=[...e].sort((n,r)=>oo(n,r));return oc(rc(tc(sc(nc(ec(t))))))}function oo(e,t){if(e.sequence!==t.sequence)return e.sequence-t.sequence;const n=ic(e.rawRef,t.rawRef);if(n!==0)return n;const r=e.timestamp.localeCompare(t.timestamp);if(r!==0)return r;const o=ac(e.rawRef,t.rawRef);if(o!==0)return o;const a=pc(e.role,t.role);if(a!==0)return a;const l=e.rawRef.localeCompare(t.rawRef);return l!==0?l:e.id.localeCompare(t.id)}function ic(e,t){const n=mc(e,t);if(n!==null&&n!==0)return n;const r=lc(e,t);if(r!==null&&r!==0)return r;const o=hr(e),a=hr(t);if(!o&&!a||!o||!a)return 0;const l=Math.max(o.length,a.length);for(let c=0;c<l;c+=1){const f=o[c],b=a[c];if(f===void 0&&b===void 0)return 0;if(f===void 0)return-1;if(b===void 0)return 1;if(f!==b)return f-b}return 0}function ac(e,t){const n=is(e),r=is(t);return n===null&&r===null?0:n===null?1:r===null?-1:n-r}function is(e){const t=e.match(/(?:^|[?#&])line=(\d+)(?:$|[&#])/);if(!t)return null;const n=Number.parseInt(t[1]??"",10);return Number.isFinite(n)?n:null}function lc(e,t){const n=fr(e),r=fr(t);if(!n||!r||n!==r)return null;const o=Bt(e,"part"),a=Bt(t,"part");return o===null||a===null?null:o-a}function fr(e){const t=e.match(/^(.+\/message\/[^/?#]+)\/part\/[^/?#]+(?:[?#].*)?$/i);return(t==null?void 0:t[1])??null}function hr(e){const t=is(e);if(t!==null){const o=Bt(e,"part");return o===null?[t]:[t,o]}const n=cc(e);if(n)return n;const r=uc(e);return r||null}function cc(e){const t=Bt(e,"index");if(t===null)return null;const n=Bt(e,"part");return n===null?[t]:[t,n]}function Bt(e,t){const n=e.match(new RegExp(`(?:^|[?#&])${t}=(\\d+)(?:$|[&#])`));if(!n)return null;const r=Number.parseInt(n[1]??"",10);return Number.isFinite(r)?r:null}function uc(e){const t=e.match(/\/message\/(user|assistant|tool)-(\d+)\/part\/([a-z_]+)-(\d+)/i);if(!t)return null;const n=dc(t[1]??""),r=Number.parseInt(t[2]??"",10),o=At(t[3]??""),a=Number.parseInt(t[4]??"",10);return!Number.isFinite(r)||!Number.isFinite(a)?null:[r,n,o,a]}function dc(e){switch(e.toLowerCase()){case"user":return 0;case"assistant":return 1;case"tool":return 2;default:return 3}}function At(e){switch(e.toLowerCase()){case"reasoning":case"thinking":return 0;case"text":return 1;case"tool":case"tool_call":case"tool_result":return 2;default:return 3}}function mc(e,t){const n="claude-code://message/";if(!e.startsWith(n)||!t.startsWith(n))return null;let r="",o="";try{r=decodeURIComponent(e.slice(n.length)),o=decodeURIComponent(t.slice(n.length))}catch{return null}const a=r.match(/^message:(assistant|user):([^:]+):type:(thinking|text)$/i),l=o.match(/^message:(assistant|user):([^:]+):type:(thinking|text)$/i);if(a&&l){const N=a[1]??"",B=l[1]??"",A=a[2]??"",q=l[2]??"";return N!==B||A!==q?0:At(a[3]??"")-At(l[3]??"")}const c=r.match(/^message:(assistant|user):([^:]+):part:(\d+):type:([a-z_]+)$/i),f=o.match(/^message:(assistant|user):([^:]+):part:(\d+):type:([a-z_]+)$/i);if(!c||!f)return null;const b=c[1]??"",p=f[1]??"",v=c[2]??"",g=f[2]??"";if(b!==p||v!==g)return 0;const w=Number.parseInt(c[3]??"",10),x=Number.parseInt(f[3]??"",10);if(!Number.isFinite(w)||!Number.isFinite(x))return null;const y=w-x;return y!==0?y:At(c[4]??"")-At(f[4]??"")}function pc(e,t){return gr(e)-gr(t)}function gr(e){switch(e){case"user":return 0;case"assistant":return 1;case"tool":return 2;case"system":default:return 3}}function fc(e,t){if(!t)return e;const n=e.attachments??[];return{...e,attachments:n.length>0?n:t.attachments??[],attachmentPayloads:t.attachmentPayloads??null}}function vr(e,t){if(e.id!==t.id)return t;if(e.role!==t.role||e.kind!==t.kind)return et(e,t);const n=co(e.toolCall,t.toolCall),r=uo(e.content,t.content,e.timestamp,t.timestamp),o=mo(e.attachments,t.attachments),a=fo(e,t);return{...et(e,t),content:r,toolCall:n,attachments:o,attachmentPayloads:e.attachmentPayloads??t.attachmentPayloads??null,rawRef:a.rawRef,timestamp:a.timestamp,sequence:a.sequence}}function hc(e,t){if(e.role!==t.role||e.kind!==t.kind)return{...et(e,t),id:e.id,clientRequestId:e.clientRequestId??t.clientRequestId};const n=co(e.toolCall,t.toolCall),r=uo(e.content,t.content,e.timestamp,t.timestamp),o=mo(e.attachments,t.attachments),a=fo(e,t);return{...et(e,t),id:e.id,content:r,toolCall:n,attachments:o,attachmentPayloads:e.attachmentPayloads??t.attachmentPayloads??null,rawRef:a.rawRef,timestamp:a.timestamp,sequence:a.sequence,clientRequestId:e.clientRequestId??t.clientRequestId}}function gc(e,t){return io(e,t,Zl)}function io(e,t,n){if(e.deliveryState!=="sent"||t.deliveryState!=="sent"||!e.rawRef.startsWith("codex://")||!t.rawRef.startsWith("codex://")||e.role!==t.role||e.kind!==t.kind||e.toolCall!==null||t.toolCall!==null||e.kind!=="text"&&e.kind!=="thinking")return!1;const r=gt(e.content),o=gt(t.content);return tt(e.timestamp,t.timestamp,n)&&L(r.text)===L(o.text)&&Rc(r.inlineImages,o.inlineImages)}function vc(e,t,n){return!e||n||!qt(e)||!qt(t)?!1:tt(e.timestamp,t.timestamp,120*1e3)&&L(e.content)===L(t.content)}function qt(e){return e.deliveryState==="sent"&&e.rawRef.startsWith("opencode://")&&e.role==="user"&&e.kind==="text"}function as(e){return e.deliveryState==="sent"&&e.rawRef.startsWith("opencode://")&&e.role==="assistant"&&(e.kind==="text"||e.kind==="thinking")}function bc(e){return as(e)&&e.kind==="text"}function ao(e,t){return as(e)&&as(t)&&e.kind===t.kind&&tt(e.timestamp,t.timestamp,120*1e3)&&L(e.content)===L(t.content)}function yc(e,t,n,r){return!e||!t||!n||!r||!qt(e)||!qt(n)?!1:ao(t,r)&&tt(e.timestamp,n.timestamp,120*1e3)&&L(e.content)===L(n.content)}function lo(e,t){var l,c;const n=((l=e.attachments)==null?void 0:l.length)??0,r=((c=t.attachments)==null?void 0:c.length)??0;if(n!==r)return n>r?e:t;const o=L(e.content).length,a=L(t.content).length;return o!==a?o>a?e:t:et(e,t)}function xc(e,t){var p,v;const n=((p=e.attachments)==null?void 0:p.length)??0,r=((v=t.attachments)==null?void 0:v.length)??0;if(n!==r)return n>r?e:t;const o=gt(e.content).inlineImages.length,a=gt(t.content).inlineImages.length;if(o!==a)return o>a?e:t;const l=e.content!==L(e.content),c=t.content!==L(t.content);if(l!==c)return l?t:e;const f=Dt(e.content),b=Dt(t.content);return f!==b?f?t:e:t}function kc(e,t){return!br(e)||!br(t)?!1:e.role===t.role&&tt(e.timestamp,t.timestamp,120*1e3)&&L(e.content)===L(t.content)}function Cc(e,t){return!yr(e)||!yr(t)?!1:e.role===t.role&&tt(e.timestamp,t.timestamp,120*1e3)&&L(e.content)===L(t.content)}function br(e){return e.deliveryState==="sent"&&e.rawRef.startsWith("gemini://session/")&&e.kind==="text"&&e.toolCall===null&&(e.role==="user"||e.role==="assistant")}function yr(e){return e.deliveryState==="sent"&&e.rawRef.startsWith("kimi://session/")&&e.kind==="text"&&e.toolCall===null&&(e.role==="user"||e.role==="assistant")}function wc(e,t){var f,b;const n=((f=e.attachments)==null?void 0:f.length)??0,r=((b=t.attachments)==null?void 0:b.length)??0;if(n!==r)return n>r?e:t;const o=L(e.content).length,a=L(t.content).length;if(o!==a)return o>a?e:t;const l=e.rawRef.includes("#file="),c=t.rawRef.includes("#file=");return l!==c?l?e:t:et(e,t)}function Sc(e,t){var f,b;const n=((f=e.attachments)==null?void 0:f.length)??0,r=((b=t.attachments)==null?void 0:b.length)??0;if(n!==r)return n>r?e:t;const o=L(e.content).length,a=L(t.content).length;if(o!==a)return o>a?e:t;const l=e.rawRef.includes("/context#"),c=t.rawRef.includes("/context#");return l!==c?l?e:t:et(e,t)}function co(e,t){return e?t?{...jc(e,t),input:po(e.input,t.input),output:kr(e.output,t.output),error:kr(e.error,t.error)}:e:t}function jc(e,t){const n=xr(e.status),r=xr(t.status);return r!==n?r>n?t:e:t}function xr(e){return e==="running"?0:1}function uo(e,t,n,r){const o=L(e),a=L(t);if(o===a){const l=Mc(e,t);return l!==null?l:e.length>=t.length?e:t}return o.length>a.length&&o.includes(a)?e:a.length>o.length&&a.includes(o)||r.localeCompare(n)>=0?t:e}function mo(e,t){const n=(e==null?void 0:e.length)??0,r=(t==null?void 0:t.length)??0;return r!==n?r>n?t:e:t??e}function po(e,t){return t.length>e.length?t:e}function kr(e,t){return e===null?t:t===null?e:po(e,t)}function et(e,t){return t.timestamp!==e.timestamp?t.timestamp.localeCompare(e.timestamp)>=0?t:e:t.sequence!==e.sequence?t.sequence>=e.sequence?t:e:t}function fo(e,t){return oo(e,t)<=0?e:t}function L(e){return Tc(e).replace(/\r\n/g,`
|
|
17
|
-
`).trimEnd()}function Nc(e,t,n,r){return e!=="claude-code"&&e!=="codex"||t!=="user"&&t!=="assistant"||n!=="text"&&n!=="thinking"?r:ho(r)}function Tc(e){return ho(e).replace(/\r\n/g,`
|
|
18
|
-
`).trimEnd()}function Dt(e){return Xl.test(e)}function ho(e){return Dt(e)?e.replace(Jl,"").replace(/[ \t]+\n/g,`
|
|
19
|
-
`).replace(/\n{3,}/g,`
|
|
20
|
-
|
|
21
|
-
`).trimEnd():e}function Mc(e,t){const n=Dt(e),r=Dt(t);return n===r?null:n?t:e}function Rc(e,t){return e.length===0||t.length===0?!0:e.length!==t.length?!1:e.every((n,r)=>{var o;return n.url===((o=t[r])==null?void 0:o.url)})}function Ac(e,t){return vo(t)?go(e,t,"optimistic"):null}function Pc(e,t){return Nn(t)?go(e,t,"authoritative"):null}function Ic(e,t,n){if(!wn(n))return null;const r=we(n.timestamp);let o=null,a=Number.POSITIVE_INFINITY;for(const[l,c]of e.entries()){if(l===n.id||!t.has(l)||!_c(c,n))continue;const f=we(c.timestamp),b=Math.abs(f-r),v=Math.abs(c.sequence-n.sequence)*os+b;v<a&&(o=l,a=v)}return o}function Lc(e,t){if(!Cr(t))return null;const n=wr(t.rawRef);if(n===null)return null;const r=we(t.timestamp);let o=null,a=Number.POSITIVE_INFINITY;for(const[l,c]of e.entries()){if(l===t.id||!Cr(c)||c.role!==t.role||c.kind!==t.kind||wr(c.rawRef)!==n)continue;const b=we(c.timestamp),p=Math.abs(b-r),g=Math.abs(c.sequence-t.sequence)*6e4+p;g<a&&(o=l,a=g)}return o}function go(e,t,n){const r=we(t.timestamp),o=L(t.content);let a=null,l=Number.POSITIVE_INFINITY;for(const[c,f]of e.entries()){if(!(n==="optimistic"?Nn(f):vo(f))||L(f.content)!==o)continue;const p=we(f.timestamp),v=Math.abs(p-r);v>300*1e3||v<l&&(a=c,l=v)}return a}function wn(e){return e.deliveryState==="sent"&&e.rawRef.startsWith("codex://")&&(e.role==="assistant"||e.role==="tool")}function Ec(e,t){const n=t.filter(wn);return n.length===0?e:e.map(r=>{if(!Bc(r))return r;const o=we(r.timestamp),a=n.reduce((l,c)=>we(c.timestamp)<o?l:Math.min(l,c.sequence),Number.POSITIVE_INFINITY);return!Number.isFinite(a)||a>=r.sequence?r:{...r,sequence:a}})}function Cr(e){return e.deliveryState==="sent"&&e.rawRef.startsWith("opencode://")&&!Nn(e)&&(e.role==="user"||e.role==="assistant"||e.role==="tool")}function wr(e){if(!e.startsWith("opencode://"))return null;const t=e.indexOf("#"),n=t>=0?e.slice(t):"",r=t>=0?e.slice(0,t):e,o=r.indexOf("?");if(o<0)return e;const a=r.slice(0,o),l=new URLSearchParams(r.slice(o+1));if(!l.has("part"))return e;l.delete("part");const c=l.toString();return`${a}${c?`?${c}`:""}${n}`}function _c(e,t){return!wn(e)||!wn(t)||e.role!==t.role||e.kind!==t.kind||Math.abs(e.sequence-t.sequence)>Yl||!tt(e.timestamp,t.timestamp,os)?!1:t.kind==="text"||t.kind==="thinking"?io(e,t,os):t.kind==="tool_call"||t.kind==="tool_result"?Oc(e,t):!1}function Oc(e,t){return e.deliveryState!=="sent"||t.deliveryState!=="sent"||!e.rawRef.startsWith("codex://")||!t.rawRef.startsWith("codex://")||e.role!=="tool"||t.role!=="tool"||e.kind!==t.kind||e.toolCall===null||t.toolCall===null?!1:e.toolCall.callId===t.toolCall.callId}function Nn(e){return e.role!=="user"||e.kind!=="text"||e.deliveryState==="failed"?!1:e.rawRef.startsWith("pending://")||e.rawRef.startsWith("synthetic://")||e.rawRef.includes("#synthetic")}function Bc(e){return e.deliveryState==="sent"&&e.role==="user"&&e.kind==="text"&&e.rawRef.startsWith("synthetic://codex/")}function vo(e){return e.role==="user"&&e.kind==="text"&&!Nn(e)}function we(e){const t=Date.parse(e);return Number.isFinite(t)?t:0}function ft(e){var t;return{id:e.id,rawRef:e.rawRef,role:e.role,kind:e.kind,sequence:e.sequence,timestamp:e.timestamp,callId:((t=e.toolCall)==null?void 0:t.callId)??null,contentPreview:e.kind==="text"||e.kind==="thinking"?L(gt(e.content).text).slice(0,160):L(e.content).slice(0,160)}}function ru(e){return e.reduce((n,r)=>Number.isFinite(r.sequence)&&r.sequence>n?r.sequence:n,0)+1}function tt(e,t,n){return Math.abs(we(e)-we(t))<=n}export{Hc as B,Gc as C,Vc as M,Zc as P,Yc as R,Xc as a,su as b,Jc as c,Qc as d,Kc as e,ru as g,eu as i,tu as m,gt as p,nu as r,ro as t};
|