blade-code 0.11.2 → 0.11.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. package/dist/blade.js +2 -2
  2. package/dist/{chunk-g0xtk1yy.js → chunk-1g7c3f82.js} +1 -1
  3. package/dist/chunk-1hknjamx.js +1 -0
  4. package/dist/{chunk-tx9tb485.js → chunk-3gbteqvh.js} +1 -1
  5. package/dist/{chunk-q6sr4979.js → chunk-3v9epq9s.js} +1 -1
  6. package/dist/{chunk-pjeks4cz.js → chunk-4077g2fm.js} +1 -1
  7. package/dist/{chunk-re8p2y22.js → chunk-49jbxty9.js} +1 -1
  8. package/dist/{chunk-xnys4bgs.js → chunk-5ce8ydjq.js} +1 -1
  9. package/dist/{chunk-ebvzp8tn.js → chunk-5kmxe14c.js} +1 -1
  10. package/dist/{chunk-s7x4x6xw.js → chunk-6m81sxfz.js} +1 -1
  11. package/dist/chunk-6p0hkf4f.js +1 -0
  12. package/dist/{chunk-yeandcre.js → chunk-77n1drhv.js} +1 -1
  13. package/dist/{chunk-vemyfx92.js → chunk-7m07qp5c.js} +1 -1
  14. package/dist/{chunk-6v23hdt8.js → chunk-870szc6v.js} +1 -1
  15. package/dist/{chunk-v0eanse2.js → chunk-8d8wsqam.js} +1 -1
  16. package/dist/{chunk-t3pkk95s.js → chunk-a1vvg4yf.js} +1 -1
  17. package/dist/{chunk-px45q235.js → chunk-asgmmaec.js} +2 -2
  18. package/dist/{chunk-n30najxq.js → chunk-b5cz00mt.js} +1 -1
  19. package/dist/{chunk-0kxya4ye.js → chunk-bw3920qg.js} +1 -1
  20. package/dist/chunk-c33wff11.js +2 -0
  21. package/dist/chunk-d7frbjn7.js +1 -0
  22. package/dist/{chunk-jbpasjg9.js → chunk-e0ft3vwg.js} +1 -1
  23. package/dist/{chunk-8q6zsznc.js → chunk-e4q0rcmz.js} +1 -1
  24. package/dist/chunk-eb10zapp.js +1 -0
  25. package/dist/{chunk-a95jmx2j.js → chunk-ed2hdrwe.js} +1 -1
  26. package/dist/{chunk-g2295k8s.js → chunk-eexs73bz.js} +1 -1
  27. package/dist/{chunk-k2rgg45h.js → chunk-egqep8py.js} +2 -2
  28. package/dist/chunk-g2kqz1mm.js +1 -0
  29. package/dist/{chunk-sdapqhj0.js → chunk-gmpsfkgg.js} +1 -1
  30. package/dist/chunk-gwf872nm.js +1 -0
  31. package/dist/{chunk-p36k2e96.js → chunk-hb680ebj.js} +1 -1
  32. package/dist/{chunk-7rz5dt79.js → chunk-hbkpavbp.js} +2 -2
  33. package/dist/chunk-hfbw50pk.js +357 -0
  34. package/dist/{chunk-enmn892r.js → chunk-hfwn38rm.js} +1 -1
  35. package/dist/{chunk-qhcd0ww0.js → chunk-js7fre4w.js} +1 -1
  36. package/dist/chunk-kj20ad32.js +1 -0
  37. package/dist/chunk-m61cx42n.js +1 -0
  38. package/dist/{chunk-g7pjgspy.js → chunk-myznexy5.js} +1 -1
  39. package/dist/chunk-n62b30d1.js +164 -0
  40. package/dist/{chunk-wnzr9h84.js → chunk-nad5spvc.js} +1 -1
  41. package/dist/{chunk-04qhtx2w.js → chunk-nfdtrn3t.js} +1 -1
  42. package/dist/{chunk-zf72e5w8.js → chunk-p4j7gxjk.js} +1 -1
  43. package/dist/{chunk-3ee357pw.js → chunk-phch3t6v.js} +78 -78
  44. package/dist/{chunk-kaj8jaj5.js → chunk-q534f3j5.js} +1 -1
  45. package/dist/{chunk-2fdghgmf.js → chunk-qzsmbk13.js} +2 -2
  46. package/dist/chunk-r8rvkas8.js +1 -0
  47. package/dist/{chunk-h4b4fn3t.js → chunk-r9egmztq.js} +1 -1
  48. package/dist/{chunk-xrgeakpy.js → chunk-rswfbvay.js} +1 -1
  49. package/dist/{chunk-qa86anwd.js → chunk-rwm2e0r4.js} +1 -1
  50. package/dist/{chunk-wan9q99y.js → chunk-s14zayxp.js} +1 -1
  51. package/dist/{chunk-4e4qtpca.js → chunk-saz6mwpq.js} +1 -1
  52. package/dist/{chunk-a3dz41pd.js → chunk-ty3gwnwq.js} +1 -1
  53. package/dist/{chunk-290p3r7a.js → chunk-v5t3kcac.js} +1 -1
  54. package/dist/{chunk-qyfbeg5h.js → chunk-vmhcc7f9.js} +1 -1
  55. package/dist/{chunk-er6zghgg.js → chunk-vsmnzhhz.js} +1 -1
  56. package/dist/{chunk-f9qrjd2f.js → chunk-vv6r417h.js} +1 -1
  57. package/dist/{chunk-zwe1a7xe.js → chunk-w8dxjbm8.js} +1 -1
  58. package/dist/{chunk-6x5f6she.js → chunk-whxkwaz1.js} +1 -1
  59. package/dist/{chunk-5s2x98rx.js → chunk-xhwdac1j.js} +1 -1
  60. package/dist/chunk-ydtsh19k.js +1 -0
  61. package/dist/{chunk-0wxnrjes.js → chunk-yjdyzb5z.js} +1 -1
  62. package/dist/web/assets/ChatView-CvuKp3Yl.js +17 -0
  63. package/dist/web/assets/{CodeBlockHighlighter-OvLyFs9U.js → CodeBlockHighlighter-CYiAdOLs.js} +1 -1
  64. package/dist/web/assets/FilePreview-DGolvoH6.js +8 -0
  65. package/dist/web/assets/KanbanBoard-DdwrLpvb.js +1 -0
  66. package/dist/web/assets/{MarkdownRenderer-BTxnqChi.js → MarkdownRenderer-fJny7W8J.js} +3 -3
  67. package/dist/web/assets/{ScrollArea-BdOqyQ3g.js → ScrollArea-CSCl8r35.js} +1 -1
  68. package/dist/web/assets/{SessionHistorySurface-DaKE2oKU.js → SessionHistorySurface-dttyHhtN.js} +1 -1
  69. package/dist/web/assets/SettingsModal-Bn9m-F-v.js +5 -0
  70. package/dist/web/assets/Sidebar-JYvLuHTi.js +1 -0
  71. package/dist/web/assets/{TaskSwitcher-DKelLFZm.js → TaskSwitcher-InE9ArQH.js} +1 -1
  72. package/dist/web/assets/{TerminalPanel-D5Rieq62.js → TerminalPanel-BLRAlQoa.js} +1 -1
  73. package/dist/web/assets/{archive-CsFSEMp9.js → archive-D3alcPOa.js} +1 -1
  74. package/dist/web/assets/{arrow-left-gaino9Tb.js → arrow-left-CNfcSdE2.js} +1 -1
  75. package/dist/web/assets/{calendar-clock-DfHUrEw9.js → calendar-clock-BoRTfsxW.js} +1 -1
  76. package/dist/web/assets/chevron-right-B8JH5N50.js +1 -0
  77. package/dist/web/assets/{clock-3-dWIDc9IF.js → clock-3-BGymk4sE.js} +1 -1
  78. package/dist/web/assets/{copy-BPfhyh47.js → copy-CLG3LQ2v.js} +1 -1
  79. package/dist/web/assets/{dist-RGayDvc-.js → dist-BtGkS2rG.js} +1 -1
  80. package/dist/web/assets/{download-BR2L5Wme.js → download-DxK6pukC.js} +1 -1
  81. package/dist/web/assets/{folder-8dmZJ2a6.js → folder-B0xRimYH.js} +1 -1
  82. package/dist/web/assets/index-BJdxoBtv.css +1 -0
  83. package/dist/web/assets/{index-DSa8Dzp7.js → index-DkwePtIh.js} +4 -4
  84. package/dist/web/assets/{pause-DLZIDFMB.js → pause-CKNq9DgJ.js} +1 -1
  85. package/dist/web/assets/{pencil-DkC0bPYD.js → pencil-CMjIwtk5.js} +1 -1
  86. package/dist/web/assets/{play-BVeNn6fv.js → play-BOz9Sqzf.js} +1 -1
  87. package/dist/web/assets/plus-BJIEQjD7.js +1 -0
  88. package/dist/web/assets/preload-helper-HI3NtP3B.js +1 -0
  89. package/dist/web/assets/{session-events-BuMTbIwu.js → session-events-B-hnDC4L.js} +3 -3
  90. package/dist/web/assets/{settings-msYyNDKx.js → settings-CP6ArjQ7.js} +1 -1
  91. package/dist/web/assets/team-BHlihaeV.js +1 -0
  92. package/dist/web/assets/{teamService-Bus5RDi1.js → teamService-DDfifLYm.js} +1 -1
  93. package/dist/web/assets/{terminal-Cp5WYo8w.js → terminal-BYHhWXe-.js} +1 -1
  94. package/dist/web/assets/tooltip-DJBQZhJD.js +1 -0
  95. package/dist/web/assets/triangle-alert-BCJaJaVj.js +1 -0
  96. package/dist/web/assets/{vendor-radix-L0yJCKJX.js → vendor-radix-BCAvgfOW.js} +1 -1
  97. package/dist/web/assets/{vendor-react-CHEIQMI-.js → vendor-react-DQwAdeyS.js} +1 -1
  98. package/dist/web/index.html +5 -5
  99. package/package.json +2 -2
  100. package/dist/chunk-21qsfewd.js +0 -1
  101. package/dist/chunk-3d4wgfkr.js +0 -1
  102. package/dist/chunk-634ymwg5.js +0 -1
  103. package/dist/chunk-65v1vjvg.js +0 -1
  104. package/dist/chunk-7p8r4q6f.js +0 -1
  105. package/dist/chunk-d4xsrx3z.js +0 -357
  106. package/dist/chunk-eg0s155w.js +0 -1
  107. package/dist/chunk-fb2x1026.js +0 -171
  108. package/dist/chunk-gff7a5q0.js +0 -1
  109. package/dist/chunk-gymecxcc.js +0 -1
  110. package/dist/chunk-p665f6pn.js +0 -1
  111. package/dist/chunk-sqsfztrv.js +0 -1
  112. package/dist/chunk-yjcp8jk1.js +0 -2
  113. package/dist/web/assets/ChatView-DysPZPwF.js +0 -17
  114. package/dist/web/assets/FilePreview-CkSPwPdW.js +0 -8
  115. package/dist/web/assets/KanbanBoard-DH1wApt6.js +0 -1
  116. package/dist/web/assets/SettingsModal-CWlSSO_E.js +0 -5
  117. package/dist/web/assets/Sidebar-Dirk-XAQ.js +0 -1
  118. package/dist/web/assets/chevron-right-Bvu2j6hB.js +0 -1
  119. package/dist/web/assets/index-B7RyuO2x.css +0 -1
  120. package/dist/web/assets/message-square-plus-BgC981WF.js +0 -1
  121. package/dist/web/assets/plus-kzdwas-3.js +0 -1
  122. package/dist/web/assets/preload-helper-DvgLbiBV.js +0 -1
  123. package/dist/web/assets/team-D3XOVbxL.js +0 -1
  124. package/dist/web/assets/triangle-alert-cGqHxFsZ.js +0 -1
@@ -1 +0,0 @@
1
- import{xf as a,yf as b}from"./chunk-tx9tb485.js";import"./chunk-yjcp8jk1.js";import"./chunk-sdapqhj0.js";export{a as globalOptions,b as cliConfig};
@@ -1 +0,0 @@
1
- import{$j as e,Xj as a,Yj as b,Zj as c,_j as d,ak as f}from"./chunk-yjcp8jk1.js";import"./chunk-sdapqhj0.js";export{b as getVersion,c as getPackageName,a as getPackageInfo,e as getFormattedVersion,d as getDescription,f as getCopyright};
@@ -1 +0,0 @@
1
- import{Ag as b,Bg as c,Cg as d,zg as a}from"./chunk-zwe1a7xe.js";import"./chunk-h4b4fn3t.js";import"./chunk-b22ab7yw.js";import"./chunk-amabfzc8.js";import"./chunk-m2x6pb4f.js";import"./chunk-4e4qtpca.js";import"./chunk-5s2x98rx.js";import"./chunk-0eajnhrj.js";import"./chunk-yjcp8jk1.js";import"./chunk-px45q235.js";import"./chunk-a95jmx2j.js";import"./chunk-sdapqhj0.js";export{c as snapshotWorkspaceModelResources,b as resolveWorkspaceModelResources,d as createProcessModelResources,a as cloneWorkspaceModelConfig};
@@ -1 +0,0 @@
1
- import{ck as a,dk as b,ek as c}from"./chunk-px45q235.js";import"./chunk-a95jmx2j.js";import"./chunk-sdapqhj0.js";export{b as isWorkspaceTrusted,c as WorkspaceTrustService,a as MAX_RESIDENT_WORKSPACE_TRUST_STATUSES};
@@ -1,2 +0,0 @@
1
- import{readFileSync as l}from"node:fs";import{dirname as o,join as a}from"node:path";import{fileURLToPath as d}from"node:url";var e={name:"blade-code",version:"0.11.2",private:!1,description:"🗡️ Blade Code - 智能代码助手命令行工具",type:"module",bin:{blade:"dist/blade.js"},files:["dist","vendor/ripgrep/**","README.md"],scripts:{dev:"node scripts/run-bun.js --watch src/blade.tsx","dev:serve":"node scripts/run-bun.js --watch src/blade.tsx serve --port 4097",build:"rm -rf dist && node scripts/run-bun.js run scripts/build.ts",start:"node scripts/run-bun.js run dist/blade.js",test:"node scripts/test.js","test:all":"node scripts/test.js all","test:unit":"node scripts/test.js unit","test:integration":"node scripts/test.js integration","test:real-api":"node scripts/test.js realApi","test:real-api:qualification":"node scripts/test.js realApiQualification","test:cli":"node scripts/test.js cli","test:headless-core":"node scripts/test.js headlessCore","test:e2e":"node scripts/test.js e2e","test:performance":"node scripts/test.js performance","test:snapshot":"node scripts/test.js snapshot","test:security":"node scripts/test.js security","browser:install":"playwright install chromium","browser:check":"node scripts/run-bun.js run scripts/browser-check.ts","test:coverage":"node scripts/test.js all --coverage","test:watch":"vitest --watch --config vitest.config.ts","qualify:local":"node scripts/run-bun.js run scripts/qualify.ts local","qualify:production":"node scripts/run-bun.js run scripts/qualify.ts production","benchmark:repo":"node scripts/run-bun.js run scripts/run-real-repo-benchmark.ts","test:update-snapshots":"node scripts/test.js snapshot --update",lint:"biome lint src tests","lint:fix":"biome lint --write src tests","type-check":"tsc --noEmit","format:check":"biome format src tests",ready:"node scripts/run-bun.js run scripts/qualify.ts production","detect-unused":"node scripts/run-bun.js run scripts/detect-unused.ts",prepack:"node scripts/run-bun.js run build",release:"node scripts/release.js","release:dry":"node scripts/release.js --dry-run","release:major":"node scripts/release.js --major","release:minor":"node scripts/release.js --minor","release:patch":"node scripts/release.js --patch"},keywords:["cli","blade","ai","assistant","agent","llm"],author:"echoVic",license:"MIT",repository:{type:"git",url:"git+https://github.com/echoVic/blade-code.git"},homepage:"https://github.com/echoVic/blade-code#readme",bugs:{url:"https://github.com/echoVic/blade-code/issues"},engines:{node:">=22.19.0"},optionalDependencies:{"@vscode/ripgrep":"^1.18.0","better-sqlite3":"^11.8.1","bun-pty":"^0.4.8","node-pty":"1.1.0"},dependencies:{"@agentclientprotocol/sdk":"^1.3.0","@anthropic-ai/sandbox-runtime":"0.0.67","@earendil-works/pi-ai":"0.86.1","@inkjs/ui":"^2.0.0","@modelcontextprotocol/sdk":"^1.30.0",ahooks:"^3.9.7",ajv:"^8.17.1","ansi-escapes":"^7.3.0","async-mutex":"^0.5.0",axios:"^1.19.0",chalk:"^6.0.0",diff:"^8.0.4","fast-glob":"^3.3.3","fuse.js":"^7.5.0","gray-matter":"^4.0.3",hono:"^4.13.0",ink:"npm:@jrichman/ink@6.4.10","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","ink-select-input":"^6.2.0","ink-spinner":"^5.0.0","ink-text-input":"^6.0.0","js-tiktoken":"^1.0.21","lodash-es":"^4.18.1",lowlight:"^3.3.0","lru-cache":"^11.5.2",nanoid:"^5.1.16",open:"^10.1.2",pathe:"^2.0.3",picomatch:"^4.0.5",playwright:"1.63.0","proper-lockfile":"^4.1.2",react:"19.2.4","react-dom":"19.2.4",semver:"^7.8.5","string-width":"^8.2.2",typebox:"1.3.10",undici:"^8.10.2","vscode-jsonrpc":"8.2.1","vscode-languageserver-protocol":"3.17.5","vscode-languageserver-types":"3.17.5","write-file-atomic":"^7.0.1",ws:"^8.21.2",yaml:"^2.9.0",yargs:"^18.1.0",zustand:"^5.0.14"},devDependencies:{"@biomejs/biome":"2.5.7","@types/bun":"^1.3.14","@types/json-schema":"^7.0.15","@types/lodash-es":"^4.17.12","@types/node":"^22.15.24","@types/picomatch":"^4.0.3","@types/proper-lockfile":"^4.1.4","@types/react":"19.2.10","@types/react-dom":"19.2.3","@types/semver":"^7.8.0","@types/write-file-atomic":"^4.0.3","@types/ws":"^8.18.1","@types/yargs":"^17.0.35","@vitest/coverage-v8":"^5.0.1",jsdom:"^26.0.0",typescript:"^5.9.2",vitest:"^5.0.1"}};var s;function r(){if(s)return s;let i=o(d(import.meta.url));for(let n=0;n<5;n++){try{let t=JSON.parse(l(a(i,"package.json"),"utf8"));if(t.name===e.name&&typeof t.version==="string"&&typeof t.description==="string")return s=t,s}catch{}i=o(i)}return s={name:e.name,version:process.env.BLADE_VERSION??e.version,description:e.description},s}function y(){return{...r()}}function p(){return r().version}function v(){return r().name}function w(){return r().description}function g(){return`v${p()}`}function f(){return`v${p()} © 2025 Blade Code`}
2
- export{y as Xj,p as Yj,v as Zj,w as _j,g as $j,f as ak};
@@ -1,17 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/MarkdownRenderer-BTxnqChi.js","assets/rolldown-runtime-hePW80VL.js","assets/session-events-BuMTbIwu.js","assets/vendor-radix-L0yJCKJX.js","assets/preload-helper-DvgLbiBV.js","assets/copy-BPfhyh47.js","assets/index-DSa8Dzp7.js","assets/vendor-react-CHEIQMI-.js","assets/index-B7RyuO2x.css"])))=>i.map(i=>d[i]);
2
- import{r as e}from"./rolldown-runtime-hePW80VL.js";import{O as t,_ as n,a as r,c as i,d as a,dt as o,g as s,i as c,s as l,u,v as d,y as f}from"./session-events-BuMTbIwu.js";import{C as p,T as m,i as h,n as g,r as _,t as v}from"./vendor-radix-L0yJCKJX.js";import{c as y,l as b,r as x,s as S,t as C}from"./preload-helper-DvgLbiBV.js";import{n as w,t as T}from"./team-D3XOVbxL.js";import{i as E,n as D,r as O,t as k}from"./message-square-plus-BgC981WF.js";import{t as A}from"./chevron-right-Bvu2j6hB.js";import{t as j}from"./clock-3-dWIDc9IF.js";import{t as M}from"./copy-BPfhyh47.js";import{n as N,t as P}from"./triangle-alert-cGqHxFsZ.js";import{t as F}from"./pause-DLZIDFMB.js";import{t as ee}from"./pencil-DkC0bPYD.js";import{t as I}from"./play-BVeNn6fv.js";import{t as te}from"./plus-kzdwas-3.js";import{A as ne,B as re,D as ie,E as L,G as ae,I as oe,K as R,L as se,O as ce,P as z,R as B,T as V,U as H,V as le,W as U,X as ue,Z as de,_ as fe,_t as W,at as pe,c as me,ct as he,et as ge,gt as _e,ht as ve,it as ye,j as G,l as be,lt as xe,nt as Se,ot as Ce,pt as we,q as Te,rt as Ee,s as De,st as K,tt as Oe,vt as ke,y as q,yt as Ae,z as je}from"./index-DSa8Dzp7.js";import{t as Me}from"./ScrollArea-BdOqyQ3g.js";import{t as Ne}from"./teamService-Bus5RDi1.js";var Pe={name:`circle-question-mark`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`,key:`1u773s`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]],aliases:[`help-circle`,`circle-help`]};Pe.node;var Fe=b(Pe),Ie={name:`corner-down-left`,size:24,node:[[`path`,{d:`M20 4v7a4 4 0 0 1-4 4H4`,key:`6o5b7l`}],[`path`,{d:`m9 10-5 5 5 5`,key:`1kshq7`}]]};Ie.node;var Le=b(Ie),Re={name:`files`,size:24,node:[[`path`,{d:`M15 2h-4a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V8`,key:`14sh0y`}],[`path`,{d:`M16.706 2.706A2.4 2.4 0 0 0 15 2v5a1 1 0 0 0 1 1h5a2.4 2.4 0 0 0-.706-1.706z`,key:`1970lx`}],[`path`,{d:`M5 7a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h8a2 2 0 0 0 1.732-1`,key:`l4dndm`}]]};Re.node;var ze=b(Re),Be={name:`gauge`,size:24,node:[[`path`,{d:`m12 14 4-4`,key:`9kzdfg`}],[`path`,{d:`M3.34 19a10 10 0 1 1 17.32 0`,key:`19p75a`}]]};Be.node;var Ve=b(Be),He={name:`list-ordered`,size:24,node:[[`path`,{d:`M11 5h10`,key:`1cz7ny`}],[`path`,{d:`M11 12h10`,key:`1438ji`}],[`path`,{d:`M11 19h10`,key:`11t30w`}],[`path`,{d:`M4 4h1v5`,key:`10yrso`}],[`path`,{d:`M4 9h2`,key:`r1h2o0`}],[`path`,{d:`M6.5 20H3.4c0-1 2.6-1.925 2.6-3.5a1.5 1.5 0 0 0-2.6-1.02`,key:`xtkcd5`}]]};He.node;var Ue=b(He),We={name:`lock-keyhole`,size:24,node:[[`circle`,{cx:`12`,cy:`16`,r:`1`,key:`1au0dj`}],[`rect`,{x:`3`,y:`10`,width:`18`,height:`12`,rx:`2`,key:`6s8ecr`}],[`path`,{d:`M7 10V7a5 5 0 0 1 10 0v3`,key:`1pqi11`}]]};We.node;var Ge=b(We),Ke={name:`message-circle-question-mark`,size:24,node:[[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`,key:`1sd12s`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`,key:`1u773s`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]],aliases:[`message-circle-question`]};Ke.node;var qe=b(Ke),Je={name:`target`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`circle`,{cx:`12`,cy:`12`,r:`6`,key:`1vlfrh`}],[`circle`,{cx:`12`,cy:`12`,r:`2`,key:`1c9p78`}]]};Je.node;var Ye=b(Je),Xe={name:`timer`,size:24,node:[[`line`,{x1:`10`,x2:`14`,y1:`2`,y2:`2`,key:`14vaq8`}],[`line`,{x1:`12`,x2:`15`,y1:`14`,y2:`11`,key:`17fdiu`}],[`circle`,{cx:`12`,cy:`14`,r:`8`,key:`1e1u0o`}]]};Xe.node;var Ze=b(Xe),Qe={name:`users`,size:24,node:[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`,key:`1yyitq`}],[`path`,{d:`M16 3.128a4 4 0 0 1 0 7.744`,key:`16gr8j`}],[`path`,{d:`M22 21v-2a4 4 0 0 0-3-3.87`,key:`kshegd`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}]]};Qe.node;var $e=b(Qe),J=e(o(),1),Y=p();function et(e){return e.split(`/`).filter(Boolean).at(-1)||e}function tt(){let e=y(),t=q(e=>e.sessions),n=q(e=>e.currentSessionRef),r=q(e=>e.historySurfaceSelection),i=q(e=>e.taskDeliveryActions),o=q(e=>e.deliverTask),s=c(e=>e.openFilePreview),[l,d]=(0,J.useState)(!1),f=t.find(e=>ce({sessionId:e.sessionId,projectPath:e.projectPath},n));if(u(r)||!f?.taskIsolation)return null;let p=f.taskDiffStat,m=f.taskIsolation===`worktree`,h=ne(f),g=i[G(h)],_=f.taskDelivery,v=_?.status===`conflicted`,b=!!(p&&(p.changedFiles>0||p.commits>0)),x=![`queued`,`running`].includes(f.taskStatus),S=_?.status===`applied`||_?.status===`discarded`,C=m&&b&&x&&!S,w=p?p.additions+p.deletions:0,T=w>0&&p?p.additions/w*100:0,E=e=>{a(q.getState())||o(h,e).catch(()=>void 0)};return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`div`,{className:`flex min-h-10 flex-wrap items-center gap-x-3 gap-y-1.5 border-b border-[hsl(var(--deck-hairline))] bg-[hsl(var(--deck-canvas-veil))]/60 px-3 py-1.5 font-mono text-[10.5px] text-[hsl(var(--deck-ink-muted))] backdrop-blur-sm sm:px-5`,children:[(0,Y.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-3`,children:[(0,Y.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-1.5`,children:[(0,Y.jsx)(he,{className:`h-3 w-3 shrink-0 text-[hsl(var(--deck-ink-faint))]`}),(0,Y.jsx)(`span`,{className:`truncate text-[hsl(var(--deck-ink))]`,children:et(f.taskSourceProjectPath||f.projectPath)})]}),(0,Y.jsx)(`span`,{className:`text-[hsl(var(--deck-ink-faint))]/60`,children:`/`}),(0,Y.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-1.5`,children:[m?(0,Y.jsx)(ye,{className:`h-3 w-3 shrink-0 text-[hsl(var(--deck-accent))]`}):(0,Y.jsx)(he,{className:`h-3 w-3 shrink-0`}),(0,Y.jsx)(`span`,{className:m?`text-[hsl(var(--deck-accent))]`:void 0,children:e(m?`artifact.env.isolated`:`artifact.env.local`)})]}),f.taskWorktreeBranch&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`span`,{className:`text-[hsl(var(--deck-ink-faint))]/60`,children:`/`}),(0,Y.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-1.5 truncate`,title:f.taskWorktreeBranch,children:[(0,Y.jsx)(xe,{className:`h-3 w-3 shrink-0 text-[hsl(var(--deck-ink-faint))]`}),(0,Y.jsx)(`span`,{className:`truncate`,children:f.taskWorktreeBranch})]})]})]}),p&&(0,Y.jsxs)(`div`,{className:`ml-auto flex max-w-full items-center gap-2`,children:[(0,Y.jsxs)(`span`,{className:`inline-flex items-center gap-1 text-[hsl(var(--deck-ink-muted))]`,children:[(0,Y.jsx)(ze,{className:`h-3 w-3 text-[hsl(var(--deck-ink-faint))]`}),(0,Y.jsx)(`span`,{className:`tabular-nums`,children:p.changedFiles})]}),w>0&&(0,Y.jsxs)(`span`,{className:`relative hidden h-1.5 w-14 overflow-hidden rounded-sm border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))] sm:inline-flex`,"aria-hidden":`true`,children:[(0,Y.jsx)(`span`,{className:`h-full bg-[hsl(var(--deck-accent))]`,style:{width:`${T}%`}}),(0,Y.jsx)(`span`,{className:`h-full bg-red-500/80`,style:{width:`${100-T}%`}})]}),(0,Y.jsxs)(`span`,{className:`tabular-nums text-[hsl(var(--deck-accent))]`,children:[`+`,p.additions]}),(0,Y.jsxs)(`span`,{className:`tabular-nums text-red-600 dark:text-red-400`,children:[`-`,p.deletions]}),p.commits>0&&(0,Y.jsx)(`span`,{className:`hidden tabular-nums text-[hsl(var(--deck-ink-faint))] sm:inline`,children:e(`artifact.commits`,{count:p.commits})}),b&&_?.status!==`discarded`&&(0,Y.jsx)(`button`,{type:`button`,onClick:()=>{a(q.getState())||s({tab:`diff`})},className:`inline-flex items-center gap-1 rounded-md border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))] px-2 py-1 text-[hsl(var(--deck-ink))] transition hover:border-[hsl(var(--deck-accent)/0.55)] hover:text-[hsl(var(--deck-accent))]`,children:e(`artifact.review`)}),C&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`button`,{type:`button`,disabled:!!g,onClick:()=>E(`apply`),className:`inline-flex items-center gap-1 rounded-md bg-[hsl(var(--deck-accent))] px-2 py-1 font-semibold text-white transition hover:brightness-95 disabled:cursor-wait disabled:opacity-65`,children:[g===`apply`?(0,Y.jsx)(K,{className:`h-3 w-3 animate-spin`}):(0,Y.jsx)(de,{className:`h-3 w-3`}),e(g===`apply`?`artifact.applying`:v?`artifact.retryApply`:`artifact.apply`)]}),(0,Y.jsx)(`button`,{type:`button`,disabled:!!g,onClick:()=>d(!0),className:`inline-flex items-center gap-1 rounded-md px-1.5 py-1 text-[hsl(var(--deck-ink-faint))] transition hover:bg-red-500/10 hover:text-red-600 disabled:cursor-wait disabled:opacity-50 dark:hover:text-red-400`,"aria-label":e(`artifact.discard`),title:e(`artifact.discard`),children:g===`discard`?(0,Y.jsx)(K,{className:`h-3 w-3 animate-spin`}):(0,Y.jsx)(R,{className:`h-3 w-3`})})]}),_?.status===`applied`&&(0,Y.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-md bg-emerald-500/10 px-2 py-1 font-semibold text-emerald-700 dark:text-emerald-300`,children:[(0,Y.jsx)(ke,{className:`h-3 w-3`}),e(`artifact.applied`)]}),_?.status===`discarded`&&(0,Y.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-md bg-[hsl(var(--deck-surface-2))] px-2 py-1 text-[hsl(var(--deck-ink-faint))]`,children:[(0,Y.jsx)(R,{className:`h-3 w-3`}),e(`artifact.discarded`)]})]}),_?.status===`conflicted`&&(0,Y.jsxs)(`div`,{className:`flex w-full items-start gap-1.5 border-t border-amber-500/20 pt-1.5 text-amber-700 dark:text-amber-300`,role:`alert`,children:[(0,Y.jsx)(P,{className:`mt-0.5 h-3 w-3 shrink-0`}),(0,Y.jsxs)(`span`,{className:`min-w-0 flex-1 space-y-0.5`,children:[(0,Y.jsx)(`span`,{className:`block`,children:_.message||e(`artifact.conflict`)}),(0,Y.jsx)(`span`,{className:`block text-[hsl(var(--deck-ink-faint))]`,children:e(`artifact.conflictHint`)})]})]})]}),(0,Y.jsx)(oe,{open:l,onOpenChange:d,children:(0,Y.jsxs)(se,{className:`w-[calc(100%_-_2rem)] max-w-md border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))] text-[hsl(var(--deck-ink))]`,children:[(0,Y.jsxs)(re,{children:[(0,Y.jsx)(le,{children:e(`artifact.discardDialog.title`)}),(0,Y.jsx)(B,{className:`text-[hsl(var(--deck-ink-muted))]`,children:e(`artifact.discardDialog.description`,{project:et(f.taskSourceProjectPath||f.projectPath),count:p?.changedFiles??0})})]}),(0,Y.jsx)(`div`,{className:`rounded-lg border border-red-500/20 bg-red-500/5 px-3 py-2 text-xs leading-relaxed text-red-700 dark:text-red-300`,children:e(`artifact.discardDialog.warning`)}),(0,Y.jsxs)(je,{className:`gap-2 sm:space-x-0`,children:[(0,Y.jsx)(`button`,{type:`button`,onClick:()=>d(!1),className:`rounded-md border border-[hsl(var(--deck-border))] px-3 py-2 text-sm hover:bg-[hsl(var(--deck-surface-2))]`,children:e(`artifact.discardDialog.cancel`)}),(0,Y.jsxs)(`button`,{type:`button`,onClick:()=>{d(!1),E(`discard`)},className:`inline-flex items-center justify-center gap-1.5 rounded-md bg-red-600 px-3 py-2 text-sm font-semibold text-white hover:bg-red-700`,children:[(0,Y.jsx)(R,{className:`h-3.5 w-3.5`}),e(`artifact.discardDialog.confirm`)]})]})]})})]})}var nt=1600,rt=new WeakMap;function it(e,t,n){let r=e.findIndex(e=>e.id===t);return r<0?null:Math.max(n,e.length-r)}function at(e,t){return e?[...e.querySelectorAll(`[data-chat-message-id]`)].find(e=>e.dataset.chatMessageId===t)??null:null}function ot(e,t){let n=at(e,t);if(!n)return!1;n.scrollIntoView({behavior:`smooth`,block:`center`});let r=rt.get(n);r&&clearTimeout(r),n.dataset.chatMessageHighlighted=`true`;let i=setTimeout(()=>{delete n.dataset.chatMessageHighlighted,rt.delete(n)},nt);return rt.set(n,i),!0}function st(e){return!!(e.metadata?.codeReview||e.metadata?.structuredOutput)}function ct(e){let t=e.agentContent;return!(e.role!==`assistant`||!t||st(e)||t.tasks.length!==0||n(t).length!==0||t.confirmation||t.question||t.elicitation)}function lt(e,t){return t.map((t,n)=>({...t,id:`${e}:${n}:${t.id}`}))}function ut(e){return!ct(e)||!e.agentContent?e:{...e,displaySourceMessageIds:[e.id],agentContent:{...e.agentContent,timeline:lt(e.id,s(e.agentContent))}}}function dt(e,t){let n=e.map(e=>({...e})),r=new Map(n.map((e,t)=>[e.toolCallId,t]));for(let e of t){let t=r.get(e.toolCallId);t===void 0?(r.set(e.toolCallId,n.length),n.push({...e})):n[t]={...n[t],...e}}return n}function ft(e,t){return[e,t].filter(Boolean).join(`
3
-
4
- `)}function pt(e,t){let n=e.agentContent,r=t.agentContent,i=new Set(n.toolCalls.map(e=>e.toolCallId)),a=s(r).flatMap(e=>{if(e.type!==`tool_group`)return[e];let t=e.toolCallIds.filter(e=>!i.has(e)&&(i.add(e),!0));return t.length>0?[{...e,toolCallIds:t}]:[]});return{...e,...e.metadata||t.metadata?{metadata:{...e.metadata,...t.metadata}}:{},displaySourceMessageIds:[...e.displaySourceMessageIds??[e.id],...t.displaySourceMessageIds??[t.id]],agentContent:{...n,timeline:[...s(n),...a],textBefore:ft(n.textBefore,r.textBefore),toolCalls:dt(n.toolCalls,r.toolCalls),textAfter:ft(n.textAfter,r.textAfter),thinkingContent:ft(n.thinkingContent,r.thinkingContent),tasks:[],subagent:null,subagents:[],confirmation:null,question:null,elicitation:null}}}function mt(e){let t=[];for(let n of e){let e=ut(n),r=t[t.length-1];r&&ct(r)&&ct(e)?t[t.length-1]=pt(r,e):t.push(e)}return t}var ht=new Set([`completed`,`stale`,`failed`,`aborted`,`interrupted`]),gt={completed:`chat.review.status.completed`,stale:`chat.review.status.stale`,failed:`chat.review.status.failed`,aborted:`chat.review.status.aborted`,interrupted:`chat.review.status.interrupted`},_t={completed:`bg-emerald-500/10 text-emerald-700 dark:text-emerald-300 border-emerald-500/20`,stale:`bg-amber-500/10 text-amber-700 dark:text-amber-300 border-amber-500/20`,failed:`bg-red-500/10 text-red-700 dark:text-red-300 border-red-500/20`,aborted:`bg-zinc-500/10 text-zinc-700 dark:text-zinc-300 border-zinc-500/20`,interrupted:`bg-amber-500/10 text-amber-700 dark:text-amber-300 border-amber-500/20`};function vt(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:void 0}function yt(e){let t=vt(e),n=vt(t?.codeLocation),r=t?.priority,i=t?.confidenceScore,a=n?.lineStart,o=n?.lineEnd;if(typeof t?.title==`string`&&typeof t.body==`string`&&(r===0||r===1||r===2||r===3)&&typeof i==`number`&&Number.isFinite(i)&&typeof n?.path==`string`&&Number.isInteger(a)&&Number.isInteger(o))return{title:t.title,body:t.body,priority:r,confidenceScore:i,codeLocation:{path:n.path,lineStart:a,lineEnd:o}}}function bt(e){let t=vt(e),n=vt(t?.target);if(t?.phase!==`completed`||typeof t.status!=`string`||!ht.has(t.status)||typeof n?.label!=`string`||n.kind!==`uncommitted`&&n.kind!==`base`&&n.kind!==`commit`||typeof t.overallExplanation!=`string`||!Array.isArray(t.findings))return;let r=t.findings.map(yt);if(!r.some(e=>e===void 0))return{status:t.status,target:{kind:n.kind,label:n.label,...typeof n.reference==`string`?{reference:n.reference}:{}},overallExplanation:t.overallExplanation,findings:r,...typeof t.error==`string`?{error:t.error}:{}}}function xt(e){let{path:t,lineStart:n,lineEnd:r}=e.codeLocation;return n===r?`${t}:L${n}`:`${t}:L${n}-${r}`}function St({report:e}){let t=y(),n=e.target.kind===`uncommitted`?t(`chat.review.target.uncommitted`):e.target.kind===`base`?t(`chat.review.target.base`,{ref:e.target.reference??e.target.label}):t(`chat.review.target.commit`,{ref:e.target.reference??e.target.label});return(0,Y.jsxs)(`section`,{"data-code-review-report":!0,className:`overflow-hidden rounded-xl border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))]`,children:[(0,Y.jsxs)(`header`,{className:`flex flex-wrap items-center justify-between gap-3 border-b border-[hsl(var(--deck-hairline))] bg-[hsl(var(--deck-surface-2))]/60 px-4 py-3`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`h3`,{className:`text-[13px] font-semibold text-[hsl(var(--deck-ink))]`,children:t(`chat.review.title`)}),(0,Y.jsxs)(`p`,{className:`mt-0.5 font-mono text-[10.5px] text-[hsl(var(--deck-ink-faint))]`,children:[t(`chat.review.target`),`: `,n]})]}),(0,Y.jsxs)(`span`,{className:H(`rounded-full border px-2.5 py-1 font-mono text-[10.5px] font-medium`,_t[e.status]),children:[t(`chat.review.status`),`: `,t(gt[e.status])]})]}),(0,Y.jsxs)(`div`,{className:`space-y-4 px-4 py-3.5`,children:[(0,Y.jsx)(`p`,{className:`whitespace-pre-wrap text-[13px] leading-6 text-[hsl(var(--deck-ink-muted))]`,children:e.overallExplanation}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsxs)(`div`,{className:`mb-2 flex items-center justify-between`,children:[(0,Y.jsx)(`h4`,{className:`deck-eyebrow text-[hsl(var(--deck-ink-faint))]`,children:t(`chat.review.findings`)}),(0,Y.jsx)(`span`,{className:`font-mono text-[10px] text-[hsl(var(--deck-ink-faint))]`,children:e.findings.length})]}),e.findings.length===0?(0,Y.jsx)(`div`,{className:`rounded-lg bg-[hsl(var(--deck-surface-2))] px-3 py-2.5 text-[12px] text-[hsl(var(--deck-ink-muted))]`,children:t(`chat.review.noFindings`)}):(0,Y.jsx)(`ol`,{className:`space-y-2`,children:e.findings.map((e,n)=>(0,Y.jsxs)(`li`,{className:`rounded-lg border border-[hsl(var(--deck-hairline))] bg-[hsl(var(--deck-canvas-veil))] px-3 py-2.5`,children:[(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-2`,children:[(0,Y.jsx)(`h5`,{className:`text-[12.5px] font-medium leading-5 text-[hsl(var(--deck-ink))]`,children:e.title}),(0,Y.jsx)(`span`,{className:`shrink-0 font-mono text-[10px] text-[hsl(var(--deck-ink-faint))]`,children:t(`chat.review.confidence`,{value:e.confidenceScore.toFixed(2)})})]}),(0,Y.jsx)(`code`,{className:`mt-1 block text-[10.5px] text-[hsl(var(--deck-accent))]`,children:xt(e)}),(0,Y.jsx)(`p`,{className:`mt-1.5 whitespace-pre-wrap text-[12px] leading-5 text-[hsl(var(--deck-ink-muted))]`,children:e.body})]},`${e.codeLocation.path}:${e.codeLocation.lineStart}:${n}`))})]}),e.error&&(0,Y.jsxs)(`div`,{className:`rounded-lg border border-red-500/20 bg-red-500/5 px-3 py-2 text-[11px] text-red-700 dark:text-red-300`,children:[(0,Y.jsxs)(`span`,{className:`font-medium`,children:[t(`chat.review.error`),`:`]}),` `,e.error]})]})]})}function Ct({elicitation:e,messageId:t}){let n=y(),r=q(e=>e.currentSessionRef),i=q(e=>e.setElicitation),[o,s]=(0,J.useState)(()=>Tt(e.details.fields??[])),[c,l]=(0,J.useState)(()=>Et(e.details.fields??[])),[u,d]=(0,J.useState)(!1),[f,p]=(0,J.useState)(),m=e.details.fields??[],h=(0,J.useMemo)(()=>m.every(e=>{if(!e.required)return!0;if(kt(e))return!!(c[e.name]?.trim()||e.defaultValue!==void 0);let t=o[e.name]??e.defaultValue;return Array.isArray(t)?t.length>0:t!==void 0}),[m,c,o]);if(e.status!==`pending`)return(0,Y.jsx)(`div`,{className:`rounded-lg border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface-2))] px-3 py-2 font-mono text-[12px] text-[hsl(var(--deck-ink-muted))]`,children:n(e.status===`cancelled`?`interaction.elicitation.cancelled`:`interaction.elicitation.responded`)});let g=async(o,s)=>{if(!a(q.getState())&&r&&!u){d(!0),p(void 0);try{await z.respondToElicitation(r,e.toolCallId,{action:o,...s?{content:s}:{}}),i(t,{...e,status:`responded`})}catch(e){p(e instanceof Error?e.message:n(`interaction.elicitation.failed`))}finally{d(!1)}}},_=async()=>{try{await g(`accept`,Dt(m,o,c))}catch(e){p(e instanceof Error?e.message:String(e))}};return(0,Y.jsxs)(`div`,{"data-pending-interaction":`elicitation`,tabIndex:-1,role:`alert`,className:`space-y-4 rounded-lg border border-amber-300/70 bg-amber-50/70 p-4 outline-none focus-visible:ring-2 focus-visible:ring-amber-500 dark:border-amber-800/70 dark:bg-amber-950/25`,children:[(0,Y.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,Y.jsx)(ue,{className:`mt-0.5 h-4 w-4 shrink-0 text-amber-600 dark:text-amber-400`}),(0,Y.jsxs)(`div`,{className:`min-w-0 space-y-1`,children:[(0,Y.jsxs)(`div`,{className:`font-mono text-[12px] font-semibold text-[hsl(var(--deck-ink))]`,children:[n(`interaction.elicitation.title`),` · `,e.details.serverName]}),(0,Y.jsx)(`div`,{className:`font-mono text-[12px] text-[hsl(var(--deck-ink-muted))]`,children:e.details.message}),(0,Y.jsx)(`div`,{className:`font-mono text-[11px] text-amber-700 dark:text-amber-300`,children:n(`interaction.elicitation.warning`)})]})]}),e.details.mode===`url`?(0,Y.jsxs)(`div`,{className:`space-y-3`,children:[(0,Y.jsxs)(`div`,{className:`rounded-md border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface-2))] p-3 font-mono text-[11px]`,children:[(0,Y.jsx)(`div`,{className:`text-[hsl(var(--deck-ink-muted))]`,children:e.details.domain}),(0,Y.jsx)(`div`,{className:`mt-1 break-all text-[hsl(var(--deck-ink))]`,children:e.details.url})]}),(0,Y.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,Y.jsx)(X,{onClick:()=>{if(a(q.getState()))return;let t=e.details.url;if(!t){p(`MCP URL is unavailable`);return}if(!window.open(t,`_blank`,`noopener,noreferrer`)){p(`The browser blocked the external window`);return}g(`accept`)},disabled:u,primary:!0,label:n(`interaction.elicitation.open`),icon:(0,Y.jsx)(N,{className:`h-3.5 w-3.5`})}),(0,Y.jsx)(X,{onClick:()=>void g(`decline`),disabled:u,label:n(`interaction.elicitation.decline`)}),(0,Y.jsx)(X,{onClick:()=>void g(`cancel`),disabled:u,label:n(`interaction.elicitation.cancel`)})]})]}):(0,Y.jsxs)(`div`,{className:`space-y-4`,children:[m.map(e=>(0,Y.jsx)(wt,{field:e,value:o[e.name],rawValue:c[e.name]??``,onValueChange:t=>s(n=>({...n,[e.name]:t})),onRawChange:t=>l(n=>({...n,[e.name]:t}))},e.name)),(0,Y.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,Y.jsx)(X,{onClick:()=>void _(),disabled:u||!h,primary:!0,label:n(`interaction.elicitation.submit`),icon:u?(0,Y.jsx)(K,{className:`h-3.5 w-3.5 animate-spin`}):null}),(0,Y.jsx)(X,{onClick:()=>void g(`decline`),disabled:u,label:n(`interaction.elicitation.decline`)}),(0,Y.jsx)(X,{onClick:()=>void g(`cancel`),disabled:u,label:n(`interaction.elicitation.cancel`)})]})]}),f&&(0,Y.jsx)(`div`,{className:`rounded-md border border-red-300/70 bg-red-50 px-2.5 py-2 font-mono text-[11px] text-red-700 dark:border-red-900/70 dark:bg-red-950/35 dark:text-red-300`,children:f})]})}function wt({field:e,value:t,rawValue:n,onValueChange:r,onRawChange:i}){return(0,Y.jsxs)(`div`,{className:`space-y-2`,children:[(0,Y.jsxs)(`label`,{htmlFor:`mcp-elicitation-${e.name}`,className:`block font-mono text-[12px] font-medium text-[hsl(var(--deck-ink))]`,children:[e.title,e.required?` *`:``]}),e.description&&(0,Y.jsx)(`div`,{className:`font-mono text-[11px] text-[hsl(var(--deck-ink-faint))]`,children:e.description}),e.type===`select`||e.type===`multi-select`||e.type===`boolean`?(0,Y.jsx)(`div`,{id:`mcp-elicitation-${e.name}`,className:`flex flex-wrap gap-2`,children:Ot(e).map(n=>{let i=Array.isArray(t)?t.includes(n.value):t===n.typedValue;return(0,Y.jsx)(`button`,{type:`button`,"aria-pressed":i,onClick:()=>{if(e.type===`multi-select`){let e=Array.isArray(t)?t:[];r(e.includes(n.value)?e.filter(e=>e!==n.value):[...e,n.value])}else r(n.typedValue)},className:H(`rounded-md border px-3 py-2 font-mono text-[12px] transition-colors`,i?`border-emerald-500 bg-emerald-50 text-emerald-800 dark:bg-emerald-950/40 dark:text-emerald-200`:`border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface-2))] text-[hsl(var(--deck-ink-muted))] hover:text-[hsl(var(--deck-ink))]`),children:n.label},n.value)})}):(0,Y.jsx)(`input`,{id:`mcp-elicitation-${e.name}`,type:At(e),value:n,onChange:e=>i(e.target.value),min:e.minimum,max:e.maximum,minLength:e.minLength,maxLength:e.maxLength,required:e.required,placeholder:e.defaultValue===void 0?e.required?`Required`:`Optional`:String(e.defaultValue),className:`w-full rounded-md border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface-2))] px-3 py-2 font-mono text-[12px] text-[hsl(var(--deck-ink))] outline-none transition-colors focus:border-amber-500 focus:ring-1 focus:ring-amber-500`})]})}function X({onClick:e,disabled:t,primary:n=!1,label:r,icon:i}){return(0,Y.jsxs)(`button`,{type:`button`,onClick:e,disabled:t,className:H(`inline-flex min-h-8 items-center gap-1.5 rounded-md px-3 py-1.5 font-mono text-[12px] transition-colors disabled:cursor-wait disabled:opacity-50`,n?`bg-amber-600 text-white hover:bg-amber-700`:`border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface-2))] text-[hsl(var(--deck-ink-muted))] hover:text-[hsl(var(--deck-ink))]`),children:[i,r]})}function Tt(e){return Object.fromEntries(e.filter(e=>!kt(e)&&e.defaultValue!==void 0).map(e=>[e.name,Array.isArray(e.defaultValue)?[...e.defaultValue]:e.defaultValue]))}function Et(e){return Object.fromEntries(e.filter(e=>kt(e)&&e.defaultValue!==void 0).map(e=>[e.name,String(e.defaultValue)]))}function Dt(e,t,n){let r={};for(let i of e){if(kt(i)){let e=n[i.name]?.trim()??``;if(!e){if(i.defaultValue!==void 0)r[i.name]=i.defaultValue;else if(i.required)throw Error(`${i.title} is required`);continue}if(i.type===`number`||i.type===`integer`){let t=Number(e);if(!Number.isFinite(t))throw Error(`${i.title} must be a finite number`);if(i.type===`integer`&&!Number.isSafeInteger(t))throw Error(`${i.title} must be a safe integer`);r[i.name]=t}else r[i.name]=e;continue}let e=t[i.name]??i.defaultValue;if(e===void 0){if(i.required)throw Error(`${i.title} is required`);continue}if(Array.isArray(e)){if(i.minItems!==void 0&&e.length<i.minItems)throw Error(`${i.title} requires at least ${i.minItems} choices`);if(i.maxItems!==void 0&&e.length>i.maxItems)throw Error(`${i.title} allows at most ${i.maxItems} choices`)}r[i.name]=e}return r}function Ot(e){return e.type===`boolean`?[{value:`true`,label:`Yes`,typedValue:!0},{value:`false`,label:`No`,typedValue:!1}]:(e.options??[]).map(e=>({...e,typedValue:e.value}))}function kt(e){return e.type===`string`||e.type===`number`||e.type===`integer`}function At(e){return e.type===`number`||e.type===`integer`?`number`:e.format===`email`?`email`:e.format===`uri`?`url`:e.format===`date`?`date`:e.format===`date-time`?`datetime-local`:`text`}function jt(e){if(!e||typeof e!=`object`||Array.isArray(e))return;let t=e;if(t.output&&typeof t.output==`object`&&!Array.isArray(t.output))return{output:t.output,...typeof t.schemaDigest==`string`?{schemaDigest:t.schemaDigest}:{}}}function Mt({report:e}){let t=y(),[n,r]=(0,J.useState)(!1),i=JSON.stringify(e.output,null,2);return(0,Y.jsxs)(`section`,{"data-structured-output":!0,className:`overflow-hidden rounded-lg border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))]`,children:[(0,Y.jsxs)(`header`,{className:`flex min-h-9 items-center justify-between gap-3 border-b border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface-2))] px-3`,children:[(0,Y.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,Y.jsx)(Ae,{className:`h-3.5 w-3.5 shrink-0 text-[hsl(var(--deck-accent))]`}),(0,Y.jsx)(`span`,{className:`font-mono text-[11px] font-semibold text-[hsl(var(--deck-ink))]`,children:t(`chat.structuredOutput.title`)}),e.schemaDigest&&(0,Y.jsxs)(`span`,{title:e.schemaDigest,className:`truncate font-mono text-[9px] text-[hsl(var(--deck-ink-faint))]`,children:[`sha256:`,e.schemaDigest.slice(0,10)]})]}),(0,Y.jsx)(`button`,{type:`button`,onClick:async()=>{try{await navigator.clipboard.writeText(i),r(!0),window.setTimeout(()=>r(!1),1400)}catch{}},"aria-label":t(`chat.structuredOutput.copy`),title:t(`chat.structuredOutput.copy`),className:`flex h-6 w-6 shrink-0 items-center justify-center rounded text-[hsl(var(--deck-ink-faint))] hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink))] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))]`,children:n?(0,Y.jsx)(ke,{className:`h-3.5 w-3.5 text-[hsl(var(--deck-accent))]`}):(0,Y.jsx)(M,{className:`h-3.5 w-3.5`})})]}),(0,Y.jsx)(`pre`,{className:`max-h-[440px] overflow-auto whitespace-pre p-3 font-mono text-[11px] leading-5 text-[hsl(var(--deck-ink))]`,children:i})]})}var Nt=(0,J.createContext)(null);function Pt(e,t){let n=(0,J.useContext)(Nt),[r,i]=(0,J.useState)(()=>n?.get(t)?.has(e)??!1);return{expanded:r,toggle:()=>{let a=!r;if(n){let r=n.get(t)??new Set;a?r.add(e):r.delete(e),r.size>0?n.set(t,r):n.delete(t)}i(a)}}}var Ft=(0,J.lazy)(()=>C(()=>import(`./MarkdownRenderer-BTxnqChi.js`).then(e=>({default:e.MarkdownRenderer})),__vite__mapDeps([0,1,2,3,4,5,6,7,8])));function It({text:e,label:t}){let[n,r]=(0,J.useState)(!1);return e.trim()?(0,Y.jsx)(`button`,{type:`button`,"aria-label":t,title:t,onClick:async()=>{try{await navigator.clipboard.writeText(e),r(!0),window.setTimeout(()=>r(!1),1400)}catch{}},className:`flex h-6 w-6 items-center justify-center rounded-md text-[hsl(var(--deck-ink-faint))] transition-colors hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink))] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))]`,children:n?(0,Y.jsx)(ke,{className:`h-3.5 w-3.5 text-[hsl(var(--deck-accent))]`}):(0,Y.jsx)(M,{className:`h-3.5 w-3.5`})}):null}function Lt(){return(0,Y.jsx)(`div`,{className:`flex h-8 w-8 shrink-0 select-none items-center justify-center rounded-lg border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))] shadow-[0_1px_0_hsl(var(--deck-hairline))]`,children:(0,Y.jsx)(De,{size:20,pulse:!1})})}function Rt(){return(0,Y.jsx)(`div`,{className:`flex h-8 w-8 shrink-0 select-none items-center justify-center rounded-full border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-canvas-veil))]`,children:(0,Y.jsx)(`span`,{className:`font-mono text-[11px] font-medium text-[hsl(var(--deck-ink))]`,children:`U`})})}function zt(e){let t=e;return t=t.replace(/<system-reminder>[\s\S]*?<\/system-reminder>/g,``),t=t.replace(/<file path="[^"]*">[\s\S]*?<\/file>/g,``),t=t.replace(/<attached_files>[\s\S]*?<\/attached_files>/g,``),t=t.trim(),t}function Bt(e){if(typeof e==`string`)return{text:zt(e),images:[]};let t=e.filter(e=>e.type===`text`).map(e=>e.text).join(`
5
- `),n=e.filter(e=>e.type===`image_url`).map(e=>e.image_url.url);return{text:zt(t),images:n}}function Vt(e){return typeof e==`string`?e:e.filter(e=>e.type===`text`).map(e=>e.text).join(`
6
- `)}function Ht(e){let t=e.agentContent;return t?d(t):Vt(e.content)}function Ut({content:e,syntaxHighlight:t=!0}){return(0,Y.jsx)(J.Suspense,{fallback:(0,Y.jsx)(`pre`,{className:`text-[14px] text-[hsl(var(--deck-ink))] font-mono whitespace-pre-wrap`,children:e}),children:(0,Y.jsx)(Ft,{content:e,syntaxHighlight:t})})}function Wt({status:e}){return e?(0,Y.jsx)(`span`,{className:H(`text-[11px] px-2 py-0.5 rounded-full font-mono`,{running:`bg-[#FEF3C7] text-[#92400E] dark:bg-[#F59E0B]/20 dark:text-[#FBBF24]`,success:`bg-[#DCFCE7] text-[#15803D] dark:bg-[#22C55E]/20 dark:text-[#22C55E]`,error:`bg-[#FEE2E2] text-[#b91c1c] dark:bg-[#EF4444]/20 dark:text-[#fca5a5]`,pending:`bg-[#E5E7EB] text-[#6B7280] dark:bg-[#27272a] dark:text-[#a1a1aa]`,info:`bg-[#DBEAFE] text-[#1D4ED8] dark:bg-[#3B82F6]/20 dark:text-[#60A5FA]`}[e]),children:{running:`Running`,success:`Success`,error:`Error`,pending:`Pending`,info:`Info`}[e]}):null}function Gt(e){if(!e)return``;if(typeof e==`string`)try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}return JSON.stringify(e,null,2)}var Kt=500;function qt(e,t){if(e.length<=t)return e;let n=Math.max(0,t);return n>0&&/[\uD800-\uDBFF]/.test(e.charAt(n-1))&&--n,e.slice(0,n)}function Jt(e,t){if(e.length<=t)return e;let n=Math.max(0,e.length-t);return/[\uDC00-\uDFFF]/.test(e.charAt(n))&&(n+=1),e.slice(n)}function Yt(e,t){if(e.length<=t)return e;if(t<=0)return``;let n=t-27;if(n<=0)return Jt(e,t);let r=Math.floor(n/3);return`${qt(e,r)}
7
- ... (display clipped) ...
8
- ${Jt(e,n-r)}`}function Xt(e){let t=e.split(`
9
- `),n=t.at(-1),r=n?.startsWith(`Output truncated`)?n:void 0,i=r?t.slice(0,-1).join(`
10
- `):e,a=r?`\n${r}`:``,o=Math.max(0,Kt-a.length),s=i.indexOf(`
11
- stderr:
12
- `),c;if(s>=0&&i.includes(`
13
- stdout:
14
- `)){let e=i.slice(0,s),t=i.slice(s+1),n=Math.max(0,o-1),r=Math.floor(n/2);c=`${Yt(e,r)}\n${Yt(t,n-r)}`}else c=Yt(i,o);return{body:qt(c,o),...r?{notice:r}:{},truncated:!!r||e.length>Kt}}function Zt({tool:e}){let{expanded:t,toggle:n}=Pt(`detail`,e.toolCallId),r=Gt(e.arguments),i=e.output?Xt(e.output):void 0;return(0,Y.jsxs)(`div`,{"data-tool-name":e.toolName,"data-tool-status":e.status,"data-tool-truncated":i?.truncated?`true`:`false`,className:`bg-white dark:bg-[#18181b] border border-[hsl(var(--deck-border))] rounded-lg overflow-hidden`,children:[(0,Y.jsxs)(`button`,{type:`button`,"aria-expanded":t,"data-tool-call-id":e.toolCallId,onClick:n,className:`w-full flex items-center justify-between px-3 py-2 bg-[hsl(var(--deck-surface-2))] hover:bg-[hsl(var(--deck-surface))] transition-colors`,children:[(0,Y.jsxs)(`div`,{className:`flex gap-2 items-center min-w-0`,children:[t?(0,Y.jsx)(W,{className:`h-4 w-4 text-[hsl(var(--deck-ink-faint))] shrink-0`}):(0,Y.jsx)(A,{className:`h-4 w-4 text-[hsl(var(--deck-ink-faint))] shrink-0`}),(0,Y.jsx)(`span`,{className:`text-[12px] text-[hsl(var(--deck-ink))] font-mono shrink-0`,children:e.toolName}),e.summary&&(0,Y.jsx)(`span`,{className:`text-[11px] text-[hsl(var(--deck-ink-muted))] font-mono truncate`,children:e.summary})]}),(0,Y.jsx)(Wt,{status:e.status})]}),e.status===`running`&&e.progressMessage&&(0,Y.jsxs)(`div`,{className:`border-t border-[hsl(var(--deck-border))] px-3 py-2 space-y-1.5`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between gap-3 font-mono text-[10px] text-[hsl(var(--deck-ink-muted))]`,children:[(0,Y.jsx)(`span`,{className:`truncate`,children:e.progressMessage}),e.progressTotal!==void 0&&e.progress!==void 0&&(0,Y.jsxs)(`span`,{className:`shrink-0`,children:[Math.max(0,Math.min(100,Math.round(e.progress/e.progressTotal*100))),`%`]})]}),e.progressTotal!==void 0&&e.progress!==void 0&&(0,Y.jsx)(`div`,{role:`progressbar`,"aria-label":`${e.toolName} progress`,"aria-valuemin":0,"aria-valuemax":e.progressTotal,"aria-valuenow":Math.min(e.progress,e.progressTotal),className:`h-1 overflow-hidden rounded-full bg-[hsl(var(--deck-border))]`,children:(0,Y.jsx)(`div`,{className:`h-full rounded-full bg-amber-500 transition-[width] duration-150`,style:{width:`${Math.max(0,Math.min(100,e.progress/e.progressTotal*100))}%`}})})]}),t&&(0,Y.jsxs)(`div`,{className:`px-3 py-2 space-y-2 border-t border-[hsl(var(--deck-border))]`,children:[r&&(0,Y.jsxs)(`div`,{className:`space-y-1`,children:[(0,Y.jsx)(`div`,{className:`text-[11px] text-[hsl(var(--deck-ink-muted))] font-mono`,children:`Arguments`}),(0,Y.jsx)(`pre`,{className:`text-[11px] text-[hsl(var(--deck-ink))] bg-[hsl(var(--deck-surface-2))] border border-[hsl(var(--deck-border))] rounded-md p-2 overflow-x-auto whitespace-pre-wrap font-mono max-h-[120px] overflow-y-auto`,children:r})]}),i&&(0,Y.jsxs)(`div`,{className:`space-y-1`,children:[(0,Y.jsx)(`div`,{className:`text-[11px] text-[hsl(var(--deck-ink-muted))] font-mono`,children:`Output`}),(0,Y.jsxs)(`pre`,{"data-tool-output":!0,className:`text-[11px] text-[hsl(var(--deck-ink))] bg-[hsl(var(--deck-surface-2))] border border-[hsl(var(--deck-border))] rounded-md p-2 overflow-x-auto whitespace-pre-wrap font-mono max-h-[120px] overflow-y-auto`,children:[i.body,i.notice&&(0,Y.jsxs)(Y.Fragment,{children:[`
15
- `,(0,Y.jsx)(`span`,{"data-tool-truncation-notice":!0,children:i.notice})]})]})]})]})]})}function Qt({toolCalls:e}){return e.length===0?null:(0,Y.jsx)(`div`,{className:`space-y-2`,children:e.map(e=>(0,Y.jsx)(Zt,{tool:e},e.toolCallId))})}function $t({toolCalls:e,toolCallIds:t}){let n=y(),{expanded:r,toggle:i}=Pt(`group`,t[0]),a=(0,J.useMemo)(()=>new Map(e.map(e=>[e.toolCallId,e])),[e]),o=t.flatMap(e=>{let t=a.get(e);return t?[t]:[]});if(o.length===0)return null;let s=o.filter(e=>e.status===`running`).length,c=o.filter(e=>e.status===`error`).length,l=[...o].reverse().find(e=>e.status===`running`&&!!e.progressMessage),u=s>0?n(o.length===1?`chat.timeline.tools.runningOne`:`chat.timeline.tools.running`,{count:o.length}):c>0?n(o.length===1?`chat.timeline.tools.completedOneWithError`:`chat.timeline.tools.completedWithErrors`,{count:o.length,errors:c}):n(o.length===1?`chat.timeline.tools.completedOne`:`chat.timeline.tools.completed`,{count:o.length});return(0,Y.jsxs)(`div`,{"data-agent-tool-group":!0,className:`py-0.5`,children:[(0,Y.jsxs)(`button`,{type:`button`,"aria-expanded":r,onClick:i,className:`group flex min-h-7 w-full items-center gap-1.5 rounded-md px-1.5 text-left font-mono text-[11.5px] text-[hsl(var(--deck-ink-faint))] transition-colors hover:bg-[hsl(var(--deck-surface))]/65 hover:text-[hsl(var(--deck-ink-muted))] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))]`,children:[r?(0,Y.jsx)(W,{className:`h-3.5 w-3.5 shrink-0`}):(0,Y.jsx)(A,{className:`h-3.5 w-3.5 shrink-0`}),s>0&&(0,Y.jsx)(K,{className:`h-3 w-3 shrink-0 animate-spin text-[hsl(var(--deck-accent))]`}),(0,Y.jsx)(`span`,{children:u}),l?.progressMessage&&(0,Y.jsxs)(`span`,{className:`min-w-0 truncate text-[10.5px] text-[hsl(var(--deck-ink-muted))]`,children:[l.progressMessage,l.progress!==void 0&&l.progressTotal!==void 0&&` · ${Math.max(0,Math.min(100,Math.round(l.progress/l.progressTotal*100)))}%`]})]}),l?.progress!==void 0&&l.progressTotal!==void 0&&(0,Y.jsx)(`div`,{role:`progressbar`,"aria-label":`${l.toolName} progress`,"aria-valuemin":0,"aria-valuemax":l.progressTotal,"aria-valuenow":Math.min(l.progress,l.progressTotal),className:`mx-1.5 h-0.5 overflow-hidden rounded-full bg-[hsl(var(--deck-border))]`,children:(0,Y.jsx)(`div`,{className:`h-full rounded-full bg-amber-500 transition-[width] duration-150`,style:{width:`${Math.max(0,Math.min(100,l.progress/l.progressTotal*100))}%`}})}),r&&(0,Y.jsx)(`div`,{"data-agent-tool-group-details":!0,className:`pl-1 mt-2 space-y-2`,children:(0,Y.jsx)(Qt,{toolCalls:o})})]})}function en({content:e}){let t=y(),[n,r]=(0,J.useState)(!1);return e?(0,Y.jsxs)(`div`,{"data-agent-thinking":!0,className:`py-0.5`,children:[(0,Y.jsxs)(`button`,{type:`button`,"aria-expanded":n,onClick:()=>r(e=>!e),className:`flex min-h-7 w-full items-center gap-1.5 rounded-md px-1.5 text-left font-mono text-[11.5px] text-[hsl(var(--deck-ink-faint))] transition-colors hover:bg-[hsl(var(--deck-surface))]/65 hover:text-[hsl(var(--deck-ink-muted))] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))]`,children:[n?(0,Y.jsx)(W,{className:`h-4 w-4 text-[hsl(var(--deck-ink-faint))]`}):(0,Y.jsx)(A,{className:`h-4 w-4 text-[hsl(var(--deck-ink-faint))]`}),(0,Y.jsx)(`span`,{children:t(`chat.timeline.thinking`)})]}),n&&(0,Y.jsx)(`div`,{className:`ml-1 mt-1 border-l border-[hsl(var(--deck-border))] py-1 pl-3`,children:(0,Y.jsx)(`pre`,{className:`whitespace-pre-wrap font-mono text-[11px] leading-5 text-[hsl(var(--deck-ink-muted))]`,children:e})})]}):null}function tn({tasks:e}){if(e.length===0)return null;let t=e.filter(e=>e.status===`completed`).length,n=t===e.length;return(0,Y.jsx)(`div`,{className:`bg-[hsl(var(--deck-surface-2))] border border-[hsl(var(--deck-border))] rounded-lg px-3 py-2`,children:(0,Y.jsx)(`div`,{className:`flex gap-2 items-center`,children:(0,Y.jsx)(`span`,{className:`text-[12px] text-[hsl(var(--deck-ink-muted))] font-mono`,children:n?`✓ All tasks done`:`Tasks: ${t}/${e.length}`})})})}function nn({toolCalls:e}){let t=c(e=>e.openFilePreview),n=q(e=>u(e.historySurfaceSelection)),r=(0,J.useMemo)(()=>{let t=new Map,n=[`Write`,`SearchReplace`,`Edit`,`ApplyPatch`];for(let r of e){if(r.status!==`success`)continue;let e=r.metadata;if(r.toolName===`ApplyPatch`&&Array.isArray(e?.changes)){for(let n of e.changes)n&&typeof n==`object`&&`path`in n&&typeof n.path==`string`&&t.set(n.path,{path:n.path,toolName:r.toolName});continue}let i=e?.file_path;i&&n.includes(r.toolName)&&t.set(i,{path:i,toolName:r.toolName})}return Array.from(t.values())},[e]);if(n||r.length===0)return null;let i=e=>{a(q.getState())||t({tab:`diff`,targetPath:e})};return(0,Y.jsxs)(`div`,{className:`bg-[hsl(var(--deck-surface-2))] border border-[hsl(var(--deck-border))] rounded-lg px-3 py-2`,children:[(0,Y.jsxs)(`div`,{className:`text-[11px] text-[hsl(var(--deck-ink-muted))] font-mono mb-1.5`,children:[`Changed files (`,r.length,`)`]}),(0,Y.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:r.map(({path:e})=>{let t=e.split(`/`).pop()||e;return(0,Y.jsxs)(`button`,{onClick:()=>i(e),className:`flex items-center gap-1 px-2 py-1 text-[11px] font-mono bg-[#E5E7EB] dark:bg-[#27272a] text-[hsl(var(--deck-ink))] rounded hover:bg-[#D1D5DB] dark:hover:bg-[#3f3f46] transition-colors`,title:e,children:[(0,Y.jsx)(we,{className:`w-3 h-3`}),t]},e)})})]})}function rn({subagent:e}){let t=y(),[n,i]=(0,J.useState)(null),[o,s]=(0,J.useState)(!1),[c,l]=(0,J.useState)(null),[d,f]=(0,J.useState)(!1),[p,m]=(0,J.useState)(``),[h,g]=(0,J.useState)(!1),[_,v]=(0,J.useState)(null),[b,x]=(0,J.useState)(null),[S,C]=(0,J.useState)(null),w=q(e=>e.currentSessionRef),T=q(e=>e.isStreaming),E=q(e=>e.isTemporarySession),D=q(e=>u(e.historySurfaceSelection));if(!e)return null;let O=e.status===`running`,k=n===null?O:n,A=e.toolCalls||c||[],j=e.output||e.thinking||A.length>0||e.sessionId,M=b&&b.status!==`running`?b:S,N=M?.id??e.sessionId,P=M?.restartRecovery?.outcome===`failed`,F=!O&&!T&&!E&&!D&&!P&&b?.status!==`running`&&!!(N&&w);(0,J.useEffect)(()=>{if(D||!k||O||!e.sessionId||!w?.projectPath||c!==null||e.toolCalls&&e.toolCalls.length>0)return;let t=!0;return s(!0),z.getMessages({sessionId:e.sessionId,projectPath:w.projectPath}).then(e=>{if(!t)return;let n=r(e),i=new Map;for(let e of n)if(e.agentContent?.toolCalls?.length)for(let t of e.agentContent.toolCalls)i.has(t.toolCallId)||i.set(t.toolCallId,t);l(Array.from(i.values()))}).finally(()=>{t&&s(!1)}),()=>{t=!1}},[k,D,O,e.sessionId,e.toolCalls,c,w?.projectPath]),(0,J.useEffect)(()=>{if(D||!e.sessionId||!w)return;let t=!0,n=e.rootAgentId??e.sessionId,r=e.resumeDepth??0;return z.listSubagents(w).then(i=>{if(!t)return;C(i.find(t=>t.id===e.sessionId)??null);let a=i.filter(t=>t.id!==e.sessionId&&t.rootAgentId===n&&t.resumeDepth>r).sort((e,t)=>t.resumeDepth-e.resumeDepth||t.lastActiveAt-e.lastActiveAt)[0];a&&x(a)}).catch(()=>void 0),()=>{t=!1}},[w?.sessionId,w?.projectPath,D,e.sessionId,e.rootAgentId,e.resumeDepth]),(0,J.useEffect)(()=>{if(D||!b||b.status!==`running`||!w)return;let e=!0,t=async()=>{try{let t=(await z.listSubagents(w)).find(e=>e.id===b.id);e&&t&&x(t)}catch{}},n=window.setInterval(()=>{t()},1e3);return()=>{e=!1,window.clearInterval(n)}},[w,D,b?.id,b?.status]);let ee=async()=>{if(!a(q.getState())&&w&&N&&p.trim()&&!h){g(!0),v(null);try{let e=await z.resumeSubagent(w,N,p.trim());x(e.session),m(``),f(!1),i(!0)}catch(e){v(e instanceof Error?e.message:t(`chat.subagent.resumeFailed`))}finally{g(!1)}}};return(0,Y.jsxs)(`div`,{"data-subagent-id":e.id,"data-subagent-session-id":e.sessionId,className:`bg-[hsl(var(--deck-surface-2))] border border-[hsl(var(--deck-border))] rounded-lg px-3 py-2`,children:[(0,Y.jsxs)(`button`,{type:`button`,onClick:()=>i(!k),className:`flex gap-2 justify-between items-center w-full transition-opacity cursor-pointer hover:opacity-80`,children:[(0,Y.jsxs)(`div`,{className:`flex gap-2 items-center`,children:[O&&(0,Y.jsx)(K,{className:`h-3 w-3 animate-spin text-[hsl(var(--deck-ink-muted))]`}),(0,Y.jsxs)(`span`,{className:`text-[12px] text-[hsl(var(--deck-ink-muted))] font-mono`,children:[e.type,`: `,e.description]}),(0,Y.jsx)(Wt,{status:e.status===`completed`?`success`:e.status===`failed`?`error`:`running`}),e.type===`verification`&&e.verificationVerdict&&(0,Y.jsx)(`span`,{"data-verification-verdict":e.verificationVerdict,className:H(`rounded px-1.5 py-0.5 text-[10px] font-semibold uppercase tracking-wide`,e.verificationVerdict===`pass`?`bg-emerald-500/10 text-emerald-600 dark:text-emerald-400`:e.verificationVerdict===`fail`?`bg-red-500/10 text-red-600 dark:text-red-400`:`bg-amber-500/10 text-amber-600 dark:text-amber-400`),children:e.verificationVerdict}),e.resumedFrom&&(0,Y.jsx)(`span`,{className:`rounded bg-[#EDE9FE] px-1.5 py-0.5 text-[10px] font-mono text-[#6D28D9] dark:bg-[#2E1065] dark:text-[#C4B5FD]`,title:t(`chat.subagent.resumedFromTitle`,{id:e.resumedFrom}),children:t(`chat.subagent.resumedDepth`,{depth:e.resumeDepth??1})})]}),j&&(0,Y.jsx)(W,{className:H(`h-3.5 w-3.5 text-[hsl(var(--deck-ink-muted))] transition-transform`,k&&`rotate-180`)})]}),!k&&!O&&e.output&&(0,Y.jsx)(`div`,{"data-subagent-output-summary":!0,className:`mt-2 max-h-10 overflow-hidden whitespace-pre-wrap break-words font-mono text-[11px] text-[hsl(var(--deck-ink))]`,children:e.output}),k&&(0,Y.jsxs)(`div`,{className:`mt-2 space-y-2`,children:[(e.output||e.thinking)&&(0,Y.jsxs)(Y.Fragment,{children:[e.output&&(0,Y.jsx)(`pre`,{className:`text-[11px] text-[hsl(var(--deck-ink))] bg-[hsl(var(--deck-surface-2))] border border-[hsl(var(--deck-border))] rounded-md p-2 overflow-x-auto whitespace-pre-wrap font-mono max-h-[160px] overflow-y-auto`,children:e.output}),e.thinking&&(0,Y.jsx)(`pre`,{className:`text-[11px] text-[hsl(var(--deck-ink-muted))] bg-[hsl(var(--deck-surface-2))] border border-[hsl(var(--deck-border))] rounded-md p-2 overflow-x-auto whitespace-pre-wrap font-mono max-h-[120px] overflow-y-auto`,children:e.thinking})]}),o&&(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 text-[11px] text-[hsl(var(--deck-ink-muted))] font-mono`,children:[(0,Y.jsx)(K,{className:`w-3 h-3 animate-spin`}),t(`chat.subagent.loadingLogs`)]}),!o&&A.length>0&&(0,Y.jsx)(Nt.Provider,{value:null,children:(0,Y.jsx)(Qt,{toolCalls:A})}),b&&(0,Y.jsxs)(`div`,{className:`rounded-md border border-[#DDD6FE] bg-[#F5F3FF] p-2 text-[11px] font-mono text-[#5B21B6] dark:border-[#4C1D95] dark:bg-[#1E1B4B] dark:text-[#C4B5FD]`,children:[(0,Y.jsx)(`div`,{children:t(`chat.subagent.resumedAs`,{id:b.id,status:b.status,depth:b.resumeDepth??1})}),(b.result?.message||b.result?.error)&&(0,Y.jsx)(`div`,{className:`mt-1 whitespace-pre-wrap text-[hsl(var(--deck-ink))]`,children:b.result.message||b.result.error})]}),P&&M?.result?.error&&(0,Y.jsx)(`div`,{role:`alert`,className:`text-[11px] text-red-600`,children:M.result.error}),F&&(0,Y.jsxs)(`div`,{className:`space-y-2`,children:[d?(0,Y.jsxs)(`div`,{className:`space-y-2 rounded-md border border-[#E5E7EB] bg-white p-2 dark:border-[#27272a] dark:bg-[#111113]`,children:[(0,Y.jsx)(`textarea`,{"aria-label":t(`chat.subagent.followUpAria`),value:p,onChange:e=>m(e.target.value),placeholder:t(`chat.subagent.followUpPlaceholder`),rows:3,className:`w-full resize-y rounded border border-[#D1D5DB] bg-white p-2 text-[11px] text-[#111827] outline-none focus:border-[#8B5CF6] dark:border-[#3f3f46] dark:bg-[#18181b] dark:text-[#f4f4f5]`}),(0,Y.jsxs)(`div`,{className:`flex gap-2 justify-end`,children:[(0,Y.jsx)(`button`,{type:`button`,onClick:()=>{f(!1),v(null)},className:`rounded px-2 py-1 text-[11px] text-[#6B7280] hover:bg-[#F3F4F6] dark:hover:bg-[#27272a]`,children:t(`chat.subagent.cancel`)}),(0,Y.jsxs)(`button`,{type:`button`,onClick:()=>void ee(),disabled:!p.trim()||h,className:`flex items-center gap-1 rounded bg-[#7C3AED] px-2 py-1 text-[11px] font-medium text-white disabled:opacity-50`,children:[h&&(0,Y.jsx)(K,{className:`w-3 h-3 animate-spin`}),t(`chat.subagent.resumeAgent`)]})]})]}):(0,Y.jsxs)(`button`,{type:`button`,"aria-label":t(`chat.subagent.resumeAria`),onClick:()=>f(!0),className:`flex items-center gap-1.5 rounded-md border border-[#D1D5DB] px-2 py-1 text-[11px] font-medium text-[#374151] transition-colors hover:bg-[#F3F4F6] dark:border-[#3f3f46] dark:text-[#d4d4d8] dark:hover:bg-[#27272a]`,children:[(0,Y.jsx)(ge,{className:`w-3 h-3`}),t(`chat.subagent.resume`)]}),_&&(0,Y.jsx)(`div`,{role:`alert`,className:`text-[11px] text-red-600`,children:_})]})]})]})}function an({confirmation:e,messageId:t}){let n=y(),[r,i]=(0,J.useState)(!1),[o,s]=(0,J.useState)(null),c=q(e=>e.currentSessionRef),l=q(e=>e.setConfirmation);if(!e)return null;let u=async(o,u)=>{if(!a(q.getState())&&c&&!r){i(!0),s(null);try{await z.respondPermission(c,e.toolCallId,{approved:o,scope:u}),l(t,{...e,status:o?`approved`:`denied`})}catch(e){s(e instanceof Error?e.message:n(`interaction.permission.failed`))}finally{i(!1)}}};return e.status===`pending`?(0,Y.jsxs)(`div`,{"data-pending-interaction":`permission`,tabIndex:-1,role:`alert`,className:`p-4 space-y-3 rounded-lg border outline-none border-amber-300/70 bg-amber-50/70 focus-visible:ring-2 focus-visible:ring-amber-500 dark:border-amber-800/70 dark:bg-amber-950/25`,children:[(0,Y.jsx)(`div`,{className:`text-[13px] text-[hsl(var(--deck-ink))] font-mono`,children:n(`interaction.permission.title`,{tool:e.toolName})}),(0,Y.jsx)(`div`,{className:`text-[12px] text-[hsl(var(--deck-ink-muted))] font-mono`,children:e.description}),e.diff&&(0,Y.jsx)(`pre`,{className:`text-[11px] text-[hsl(var(--deck-ink))] bg-[hsl(var(--deck-surface-2))] border border-[hsl(var(--deck-border))] rounded-md p-2 overflow-x-auto whitespace-pre-wrap font-mono max-h-[200px] overflow-y-auto`,children:e.diff}),o&&(0,Y.jsx)(`div`,{role:`alert`,className:`rounded-md border border-red-300/70 bg-red-50 px-2.5 py-2 font-mono text-[11px] text-red-700 dark:border-red-900/70 dark:bg-red-950/35 dark:text-red-300`,children:o}),(0,Y.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,Y.jsx)(`button`,{type:`button`,onClick:()=>void u(!0,`once`),disabled:r,className:`min-h-8 px-3 py-1.5 text-[12px] font-mono bg-[#22C55E] text-white rounded-md hover:bg-[#16A34A] disabled:cursor-wait disabled:opacity-50`,children:r?(0,Y.jsx)(K,{className:`h-3.5 w-3.5 animate-spin`}):n(`interaction.permission.once`)}),e.allowRemember!==!1&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`button`,{type:`button`,onClick:()=>void u(!0,`session`),disabled:r,className:`min-h-8 px-3 py-1.5 text-[12px] font-mono bg-[#3B82F6] text-white rounded-md hover:bg-[#2563EB] disabled:cursor-wait disabled:opacity-50`,children:n(`interaction.permission.session`)}),(0,Y.jsx)(`button`,{type:`button`,onClick:()=>void u(!0,`project`),disabled:r,className:`min-h-8 px-3 py-1.5 text-[12px] font-mono bg-[#6366F1] text-white rounded-md hover:bg-[#4F46E5] disabled:cursor-wait disabled:opacity-50`,children:n(`interaction.permission.project`)})]}),(0,Y.jsx)(`button`,{type:`button`,onClick:()=>void u(!1),disabled:r,className:`min-h-8 px-3 py-1.5 text-[12px] font-mono bg-[#EF4444] text-white rounded-md hover:bg-[#DC2626] disabled:cursor-wait disabled:opacity-50`,children:n(`interaction.permission.deny`)})]})]}):null}function on({question:e,messageId:t}){let n=y(),[r,i]=(0,J.useState)({}),[o,s]=(0,J.useState)({}),[c,l]=(0,J.useState)(!1),[u,d]=(0,J.useState)(null),f=q(e=>e.currentSessionRef),p=q(e=>e.setQuestion),m=(0,J.useMemo)(()=>e?e.questions.reduce((e,t)=>{let n=o[t.header]?.trim(),i=r[t.header];if(t.multiSelect){let r=Array.isArray(i)?[...i]:[];return n&&r.push(n),r.length>0&&(e[t.header]=r),e}let a=n||(typeof i==`string`?i:``);return a&&(e[t.header]=a),e},{}):{},[r,o,e]),h=e?.questions.every(e=>e.header in m)??!1;if(!e)return null;let g=async()=>{if(!a(q.getState())&&f&&!c&&h){l(!0),d(null);try{await z.respondToQuestion(f,e.toolCallId,m),p(t,{...e,status:`answered`,answers:m})}catch(e){d(e instanceof Error?e.message:n(`interaction.question.failed`))}finally{l(!1)}}};return e.status===`pending`?(0,Y.jsxs)(`div`,{"data-pending-interaction":`question`,tabIndex:-1,role:`alert`,className:`p-4 space-y-4 rounded-lg border outline-none border-amber-300/70 bg-amber-50/70 focus-visible:ring-2 focus-visible:ring-amber-500 dark:border-amber-800/70 dark:bg-amber-950/25`,children:[e.questions.map((e,t)=>(0,Y.jsxs)(`div`,{className:`space-y-2`,children:[(0,Y.jsx)(`div`,{className:`text-[13px] text-[hsl(var(--deck-ink))] font-mono`,children:e.question}),(0,Y.jsxs)(`div`,{className:`space-y-1`,children:[e.options.map((t,n)=>(0,Y.jsxs)(`button`,{type:`button`,onClick:()=>{if(e.multiSelect){let n=r[e.header]||[],a=n.includes(t.label)?n.filter(e=>e!==t.label):[...n,t.label];i({...r,[e.header]:a})}else i({...r,[e.header]:t.label}),s({...o,[e.header]:``})},className:H(`w-full text-left px-3 py-2 rounded-md border text-[12px] font-mono transition-colors`,`border-[hsl(var(--deck-border))]`,(e.multiSelect?(r[e.header]||[]).includes(t.label):r[e.header]===t.label)?`bg-[#DCFCE7] text-[#166534] dark:bg-[#22C55E]/20 dark:text-[#E5E5E5]`:`bg-[hsl(var(--deck-surface-2))] text-[hsl(var(--deck-ink-muted))]`),children:[(0,Y.jsx)(`div`,{children:t.label}),(0,Y.jsx)(`div`,{className:`text-[11px] text-[hsl(var(--deck-ink-faint))] mt-1`,children:t.description})]},n)),(0,Y.jsx)(`input`,{"aria-label":`${e.header} other response`,value:o[e.header]??``,onChange:t=>s({...o,[e.header]:t.target.value}),placeholder:n(`interaction.question.other`),className:`w-full rounded-md border border-[#E5E7EB] bg-white px-3 py-2 text-[12px] text-[#111827] outline-none focus:border-[#22C55E] dark:border-[#27272a] dark:bg-[#111113] dark:text-[#E5E5E5]`})]})]},t)),u&&(0,Y.jsx)(`div`,{role:`alert`,className:`rounded-md border border-red-300/70 bg-red-50 px-2.5 py-2 font-mono text-[11px] text-red-700 dark:border-red-900/70 dark:bg-red-950/35 dark:text-red-300`,children:u}),(0,Y.jsxs)(`button`,{type:`button`,onClick:()=>void g(),disabled:c||!h,className:`inline-flex min-h-8 items-center gap-1.5 px-3 py-1.5 text-[12px] font-mono bg-[#22C55E] text-white rounded-md hover:bg-[#16A34A] disabled:cursor-wait disabled:opacity-50`,children:[c&&(0,Y.jsx)(K,{className:`h-3.5 w-3.5 animate-spin`}),n(`interaction.question.submit`)]})]}):(0,Y.jsx)(`div`,{className:`bg-[hsl(var(--deck-surface-2))] border border-[hsl(var(--deck-border))] rounded-lg px-3 py-2`,children:(0,Y.jsx)(`div`,{className:`text-[12px] text-[hsl(var(--deck-ink-muted))] font-mono`,children:n(`interaction.question.answered`)})})}function sn({message:e}){let t=e.agentContent,r=q(t=>t.isStreaming&&!!(t.currentAssistantMessageId&&(e.displaySourceMessageIds?.includes(t.currentAssistantMessageId)??t.currentAssistantMessageId===e.id)));if(!t){let t=Vt(e.content);return t?(0,Y.jsx)(Ut,{content:t}):null}let{toolCalls:i,tasks:a,confirmation:o,question:c,elicitation:l}=t,u=n(t),d=f(s(t));if(!(d.length>0||a.length>0||u.length>0||o||c||l)&&r)return(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 text-[hsl(var(--deck-ink-muted))]`,children:[(0,Y.jsx)(K,{className:`w-4 h-4 animate-spin`}),(0,Y.jsx)(`span`,{className:`text-[12px] font-mono`,children:`Thinking...`})]});let p=i.length>0&&i.every(e=>e.status===`success`||e.status===`error`)&&!r,m=!r;return(0,Y.jsxs)(`div`,{className:`space-y-3`,children:[d.map(e=>e.type===`thinking`?(0,Y.jsx)(`div`,{"data-agent-timeline-block":`thinking`,children:(0,Y.jsx)(en,{content:e.content})},e.id):e.type===`text`?(0,Y.jsx)(`div`,{"data-agent-timeline-block":`text`,children:(0,Y.jsx)(Ut,{content:e.content,syntaxHighlight:m})},e.id):(0,Y.jsx)(`div`,{"data-agent-timeline-block":`tool_group`,children:(0,Y.jsx)($t,{toolCalls:i,toolCallIds:e.toolCallIds})},e.id)),a.length>0&&(0,Y.jsx)(tn,{tasks:a}),u.map(e=>(0,Y.jsx)(rn,{subagent:e},e.id)),o&&(0,Y.jsx)(an,{confirmation:o,messageId:e.id}),c&&(0,Y.jsx)(on,{question:c,messageId:e.id}),l&&(0,Y.jsx)(Ct,{elicitation:l,messageId:e.id}),p&&(0,Y.jsx)(nn,{toolCalls:i})]})}function cn({message:e,showAvatar:t=!0,onNavigateToMessage:n}){let r=y(),i=e.role===`user`,a=e.role===`system`;if(e.metadata?.conversationRecap===!0)return(0,Y.jsx)(`div`,{"data-chat-message-id":e.id,"data-chat-role":`assistant`,"data-conversation-recap":!0,className:`w-full px-4 py-2 sm:pl-16`,children:(0,Y.jsxs)(`p`,{className:`break-words text-sm leading-relaxed text-[hsl(var(--deck-ink-muted))]`,children:[(0,Y.jsx)(`span`,{className:`font-medium`,children:`↶ recap: `}),(0,Y.jsx)(`span`,{className:`italic`,children:Vt(e.content)})]})});if(a){let t=Vt(e.content);return(0,Y.jsx)(`div`,{"data-chat-message-id":e.id,"data-chat-role":`system`,className:`flex justify-center p-2 w-full`,children:(0,Y.jsx)(`div`,{className:`text-xs text-[hsl(var(--deck-ink-muted))] bg-[#F3F4F6] dark:bg-[#18181b] px-3 py-1 rounded-full font-mono`,children:t})})}if(i){let t=e.metadata?.userShellCommand&&typeof e.metadata.userShellCommand==`object`?e.metadata.userShellCommand:e.metadata?.userShellExecution&&typeof e.metadata.userShellExecution==`object`?e.metadata.userShellExecution:void 0;if(t){let n=typeof t.command==`string`?t.command:``,r=t.status===`running`?`running`:t.status===`completed`?`success`:`error`,i=typeof t.output==`string`?t.output:[typeof t.stdout==`string`?t.stdout:``,typeof t.stderr==`string`&&t.stderr?`stderr:\n${t.stderr}`:``].filter(Boolean).join(`
16
- `);return(0,Y.jsx)(`div`,{"data-chat-message-id":e.id,"data-chat-role":`user`,"data-user-shell-command":!0,className:`flex justify-end p-4 w-full`,children:(0,Y.jsxs)(`div`,{className:`w-full max-w-[85%] overflow-hidden rounded-lg border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))]`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between gap-3 border-b border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface-2))] px-3 py-2`,children:[(0,Y.jsxs)(`div`,{className:`min-w-0 truncate font-mono text-[12px] text-[hsl(var(--deck-ink))]`,children:[(0,Y.jsx)(`span`,{className:`mr-2 text-amber-600 dark:text-amber-400`,children:`$`}),n]}),(0,Y.jsx)(Wt,{status:r})]}),(0,Y.jsx)(`pre`,{className:`max-h-64 overflow-auto whitespace-pre-wrap px-3 py-2 font-mono text-[11px] text-[hsl(var(--deck-ink-muted))]`,children:i||`(no output)`}),typeof t.exitCode==`number`&&(0,Y.jsxs)(`div`,{className:`border-t border-[hsl(var(--deck-border))] px-3 py-1.5 font-mono text-[10px] text-[hsl(var(--deck-ink-faint))]`,children:[`exit `,t.exitCode,typeof t.durationMs==`number`?` · ${(t.durationMs/1e3).toFixed(3)}s`:``,t.truncated===!0?` · truncated`:``]})]})})}let{text:i,images:a}=Bt(e.content),o=L(e.metadata);return(0,Y.jsxs)(`div`,{"data-chat-message-id":e.id,"data-chat-role":`user`,className:`flex gap-2 justify-end items-start p-4 w-full group`,children:[(0,Y.jsx)(`div`,{className:`flex mt-1 opacity-0 transition-opacity shrink-0 group-hover:opacity-100 group-focus-within:opacity-100`,children:(0,Y.jsx)(It,{text:i,label:`Copy message`})}),(0,Y.jsxs)(`div`,{className:`bg-[hsl(var(--deck-surface-2))] rounded-lg px-4 py-3 max-w-[85%]`,children:[o.length>0&&(0,Y.jsxs)(`details`,{"data-user-message-annotations":!0,className:`mb-2`,children:[(0,Y.jsxs)(`summary`,{className:`inline-flex min-h-7 cursor-pointer list-none items-center gap-1.5 rounded-md border border-[hsl(var(--deck-border-strong))] bg-[hsl(var(--deck-surface))] px-2.5 font-mono text-[10.5px] text-[hsl(var(--deck-ink-muted))] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))]`,children:[(0,Y.jsx)(pe,{"aria-hidden":!0,className:`h-3.5 w-3.5`}),r(o.length===1?`chat.input.annotation.one`:`chat.input.annotation.many`,{count:o.length})]}),(0,Y.jsx)(`div`,{className:`mt-2 space-y-2`,children:o.map((e,t)=>(0,Y.jsxs)(`div`,{className:`border-l-2 border-[hsl(var(--deck-accent)/0.45)] pl-2`,children:[(0,Y.jsx)(`div`,{className:`font-mono text-[9.5px] uppercase text-[hsl(var(--deck-ink-faint))]`,children:r(`chat.input.annotation.item`,{index:t+1})}),(0,Y.jsx)(`blockquote`,{className:`mt-0.5 whitespace-pre-wrap text-[11px] leading-4 text-[hsl(var(--deck-ink-muted))]`,children:e.text}),e.comment&&(0,Y.jsx)(`p`,{className:`mt-1 text-[11px] leading-4 text-[hsl(var(--deck-ink))]`,children:e.comment}),n&&(0,Y.jsxs)(`button`,{type:`button`,onClick:()=>n(e.sourceMessageId),className:`mt-1.5 inline-flex min-h-7 items-center gap-1.5 rounded-md px-2 text-[10.5px] font-medium text-[hsl(var(--deck-accent))] transition-colors hover:bg-[hsl(var(--deck-accent-soft))] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))]`,children:[(0,Y.jsx)(Ce,{"aria-hidden":!0,className:`h-3.5 w-3.5`}),r(`chat.input.annotation.jump`)]})]},e.id))})]}),i&&(0,Y.jsx)(`p`,{className:`text-[14px] text-[hsl(var(--deck-ink))] font-mono leading-relaxed whitespace-pre-wrap`,children:i}),a.length>0&&(0,Y.jsx)(`div`,{className:H(`grid gap-2`,a.length===1?`grid-cols-1 mt-0`:`grid-cols-2 mt-3`),children:a.map((e,t)=>(0,Y.jsx)(`img`,{src:e,alt:`attachment-${t+1}`,className:`object-cover w-full max-h-64 rounded-md`},`${e}-${t}`))})]}),(0,Y.jsx)(Rt,{})]})}let o=Ht(e),s=bt(e.metadata?.codeReview),c=jt(e.metadata?.structuredOutput);return(0,Y.jsxs)(`div`,{"data-chat-message-id":e.id,"data-chat-role":`assistant`,className:H(`flex gap-4 justify-start w-full group`,t?`p-4`:`px-4 pt-0 pb-3`),children:[t?(0,Y.jsx)(Lt,{}):(0,Y.jsx)(`div`,{className:`w-8 shrink-0`}),(0,Y.jsxs)(`div`,{className:`overflow-hidden flex-1 min-w-0`,children:[s?(0,Y.jsx)(St,{report:s}):c?(0,Y.jsx)(Mt,{report:c}):(0,Y.jsx)(sn,{message:e}),!c&&o.trim()&&(0,Y.jsx)(`div`,{className:`mt-1.5 flex opacity-0 transition-opacity group-hover:opacity-100 group-focus-within:opacity-100`,children:(0,Y.jsx)(It,{text:o,label:`Copy response`})})]})]})}var ln=(0,J.memo)(cn),un=e(m(),1),dn=8,fn=10;function pn(e){return e instanceof HTMLElement&&!!e.closest(`input, textarea, select, [contenteditable="true"], [role="textbox"]`)}function mn(){let e=window.visualViewport;return{left:e?.offsetLeft??0,top:e?.offsetTop??0,width:e?.width??window.innerWidth,height:e?.height??window.innerHeight}}function hn(e,t,n){let r=mn(),i=r.left+dn,a=r.left+r.width-t-dn,o=e.left+e.width/2-t/2,s=Math.max(i,Math.min(Math.max(i,a),o)),c=e.bottom+fn,l=e.top-n-fn,u=r.top+r.height-n-dn;return{left:s,top:c<=u?c:Math.max(r.top+dn,Math.min(u,l))}}function gn({rootRef:e,draftKey:n,canAskSideConversation:r,onOpenSideConversation:i}){let a=y(),o=(0,J.useRef)(null),s=(0,J.useRef)(null),c=(0,J.useRef)(!1),l=(0,J.useRef)(`actions`),[u,d]=(0,J.useState)(null),[f,p]=(0,J.useState)(`actions`),[m,h]=(0,J.useState)(``),[g,_]=(0,J.useState)(null),v=(0,J.useCallback)(e=>{c.current=!1,l.current=e,p(e),h(``)},[]),b=(0,J.useCallback)(()=>{c.current=!1,l.current=`actions`,p(`actions`),h(``),d(null),_(null),window.getSelection()?.removeAllRanges()},[]),x=(0,J.useCallback)(e=>{if(!u||u.tooLarge)return;let t=globalThis.crypto?.randomUUID?.()??`selection-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,r=e?.trim();be(n,{id:t,text:u.text,sourceMessageId:u.messageId,sourceRole:u.role,...r?{comment:r}:{}})&&b()},[b,n,u]),S=(0,J.useCallback)(()=>{u&&!u.tooLarge&&r&&i(u.text)&&b()},[r,b,i,u]),C=(0,J.useCallback)(()=>{if(l.current!==`actions`)return;let t=e.current;if(!t)return;let n=V(t,window.getSelection());d(n),_(null)},[e]);if((0,J.useEffect)(()=>{let e=0,t=()=>{window.cancelAnimationFrame(e),e=window.requestAnimationFrame(C)},n=e=>{o.current?.contains(e.target)||u&&(c.current=!1,l.current=`actions`,p(`actions`),h(``),d(null))},r=e=>{o.current?.contains(e.target)||b()},i=e=>{if(!(!u||c.current||e.isComposing||e.keyCode===229)){if(e.key===`Escape`){e.preventDefault(),b();return}if(!(l.current!==`actions`||pn(e.target))){if((e.metaKey||e.ctrlKey)&&e.key.toLowerCase()===`j`){e.preventDefault(),v(`comment`);return}e.key===`Enter`&&(e.preventDefault(),x())}}};return document.addEventListener(`selectionchange`,t),document.addEventListener(`pointerup`,t),document.addEventListener(`pointerdown`,n),document.addEventListener(`keydown`,i),document.addEventListener(`scroll`,r,!0),window.addEventListener(`resize`,b),window.visualViewport?.addEventListener(`resize`,b),()=>{window.cancelAnimationFrame(e),document.removeEventListener(`selectionchange`,t),document.removeEventListener(`pointerup`,t),document.removeEventListener(`pointerdown`,n),document.removeEventListener(`keydown`,i),document.removeEventListener(`scroll`,r,!0),window.removeEventListener(`resize`,b),window.visualViewport?.removeEventListener(`resize`,b)}},[x,C,b,u,v]),(0,J.useLayoutEffect)(()=>{if(!u||!o.current)return;let e=o.current.getBoundingClientRect();_(hn(u.rect,e.width,e.height))},[f,u]),(0,J.useEffect)(()=>{f!==`actions`&&requestAnimationFrame(()=>s.current?.focus())},[f]),!u||typeof document>`u`)return null;let w=typeof navigator<`u`&&/Mac|iPhone|iPad|iPod/u.test(navigator.userAgent)?`⌘ J`:`Ctrl J`,T=u.tooLarge?a(`chat.selection.tooLarge`):r?void 0:a(`chat.selection.sideUnavailable`),E={left:g?.left??0,top:g?.top??0,visibility:g?`visible`:`hidden`};return(0,un.createPortal)((0,Y.jsx)(`div`,{ref:o,"data-chat-selection-overlay":!0,style:E,className:`fixed z-50 max-w-[calc(100vw-1rem)]`,onPointerDown:e=>e.stopPropagation(),onPointerUp:e=>e.stopPropagation(),children:f===`actions`?(0,Y.jsxs)(`div`,{role:`toolbar`,"aria-label":a(`chat.selection.toolbar`),className:`grid min-w-[250px] overflow-hidden rounded-lg border border-[hsl(var(--deck-border-strong))] bg-[hsl(var(--deck-surface))]/98 text-[hsl(var(--deck-ink))] shadow-xl backdrop-blur-md divide-y divide-[hsl(var(--deck-border))] sm:flex sm:min-w-0 sm:divide-x sm:divide-y-0`,onPointerDown:e=>e.preventDefault(),children:[(0,Y.jsxs)(`button`,{type:`button`,"aria-keyshortcuts":`Meta+J Control+J`,disabled:u.tooLarge,onClick:()=>v(`comment`),className:`flex min-h-11 items-center gap-2 whitespace-nowrap px-3 text-left text-[12px] transition-colors hover:bg-[hsl(var(--deck-surface-2))] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-[hsl(var(--deck-accent))] disabled:cursor-not-allowed disabled:opacity-45`,children:[(0,Y.jsx)(pe,{"aria-hidden":!0,className:`h-4 w-4 shrink-0`}),(0,Y.jsx)(`span`,{children:a(`chat.selection.comment`)}),(0,Y.jsx)(`kbd`,{className:`ml-auto font-mono text-[10px] text-[hsl(var(--deck-ink-faint))]`,children:w})]}),(0,Y.jsxs)(`button`,{type:`button`,"aria-keyshortcuts":`Enter`,disabled:u.tooLarge,onClick:()=>x(),className:`flex min-h-11 items-center gap-2 whitespace-nowrap px-3 text-left text-[12px] transition-colors hover:bg-[hsl(var(--deck-surface-2))] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-[hsl(var(--deck-accent))] disabled:cursor-not-allowed disabled:opacity-45`,children:[(0,Y.jsx)(k,{"aria-hidden":!0,className:`h-4 w-4 shrink-0`}),(0,Y.jsx)(`span`,{children:a(`chat.selection.add`)}),(0,Y.jsx)(`kbd`,{className:`ml-auto font-mono text-[11px] text-[hsl(var(--deck-ink-faint))]`,children:`↵`})]}),(0,Y.jsxs)(`button`,{type:`button`,disabled:!!T,title:T,onClick:S,className:`flex min-h-11 items-center gap-2 whitespace-nowrap px-3 text-left text-[12px] transition-colors hover:bg-[hsl(var(--deck-surface-2))] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-[hsl(var(--deck-accent))] disabled:cursor-not-allowed disabled:opacity-45`,children:[(0,Y.jsx)(qe,{"aria-hidden":!0,className:`h-4 w-4 shrink-0`}),(0,Y.jsx)(`span`,{children:a(`chat.selection.askSide`)})]})]}):(0,Y.jsxs)(`form`,{role:`dialog`,"aria-label":a(`chat.selection.commentDialog`),className:`w-[min(360px,calc(100vw-1rem))] rounded-lg border border-[hsl(var(--deck-border-strong))] bg-[hsl(var(--deck-surface))] p-2 shadow-xl`,onSubmit:e=>{e.preventDefault(),x(m)},children:[(0,Y.jsx)(`div`,{className:`mb-2 line-clamp-2 border-l-2 border-[hsl(var(--deck-accent)/0.55)] pl-2 font-mono text-[10.5px] leading-4 text-[hsl(var(--deck-ink-muted))]`,children:u.text}),(0,Y.jsx)(`textarea`,{ref:s,name:`selected-conversation-comment`,maxLength:t,rows:3,value:m,onChange:e=>h(e.target.value),onCompositionStart:()=>{c.current=!0},onCompositionEnd:()=>{c.current=!1},onBlur:()=>{c.current=!1},onKeyDown:e=>{if(!(c.current||e.nativeEvent.isComposing||e.keyCode===229)){if((e.metaKey||e.ctrlKey)&&e.key.toLocaleLowerCase()===`a`){e.preventDefault(),e.stopPropagation(),e.currentTarget.select();return}if(e.key===`Escape`){e.preventDefault(),b();return}e.key!==`Enter`||e.shiftKey||(e.preventDefault(),x(m))}},"aria-label":a(`chat.selection.commentInput`),placeholder:a(`chat.selection.commentPlaceholder`),className:`block max-h-32 min-h-[72px] w-full resize-none rounded-md border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-canvas))] px-2.5 py-2 text-[12px] leading-5 text-[hsl(var(--deck-ink))] placeholder:text-[hsl(var(--deck-ink-faint))] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))]`}),(0,Y.jsxs)(`div`,{className:`mt-2 flex items-center justify-end gap-2`,children:[(0,Y.jsx)(`button`,{type:`button`,onClick:b,className:`h-8 rounded-md px-2.5 text-[11px] text-[hsl(var(--deck-ink-muted))] transition-colors hover:bg-[hsl(var(--deck-surface-2))] hover:text-[hsl(var(--deck-ink))] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))]`,children:a(`chat.selection.cancel`)}),(0,Y.jsxs)(`button`,{type:`submit`,className:`inline-flex h-8 items-center gap-1.5 rounded-md bg-[hsl(var(--deck-accent))] px-3 text-[11px] font-medium text-white transition-opacity hover:opacity-90 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[hsl(var(--deck-accent))] focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-45`,children:[a(`chat.selection.add`),(0,Y.jsx)(Le,{"aria-hidden":!0,className:`h-3 w-3`})]})]})]})}),document.body)}function _n(e,t,n){return Math.max(0,e+(n-t))}function vn(e,t,n){return Math.min(t,Math.max(0,e)+Math.max(0,n))}function yn(e,t,n,r){let i=new Map(e.filter(e=>!!e.id).map(e=>[e.id,e])),a=new Set(n);for(let e of t){if(!e.id)continue;let t=i.get(e.id);t!==e&&(!t||!r||r(t)!==r(e))&&a.add(e.id)}return a}function bn(e,t){return e?e.querySelector(`[data-chat-message-id="${CSS.escape(t)}"]`):null}function xn({turns:e,viewportRef:t,containerRef:n,onRevealTurn:r}){let i=y(),[a,o]=(0,J.useState)(null),[s,c]=(0,J.useState)(!1),l=(0,J.useRef)(null),u=(0,J.useCallback)(()=>{let r=t.current,i=n.current;if(!r||!i||e.length===0)return;let a=r.getBoundingClientRect().top,s=e[0]?.id??null;for(let t of e){let e=bn(i,t.id);if(e){if(e.getBoundingClientRect().top-a<=24)s=t.id;else break}}o(s)},[e,t,n]);(0,J.useEffect)(()=>{let e=t.current;if(!e)return;let n=()=>{l.current===null&&(l.current=window.requestAnimationFrame(()=>{l.current=null,u()}))};return u(),e.addEventListener(`scroll`,n,{passive:!0}),()=>{e.removeEventListener(`scroll`,n),l.current!==null&&(window.cancelAnimationFrame(l.current),l.current=null)}},[u,t]);let d=(0,J.useCallback)(e=>{let t=()=>{let t=bn(n.current,e.id);t&&(t.scrollIntoView({behavior:`smooth`,block:`start`}),o(e.id))};r(e.index)?t():window.requestAnimationFrame(()=>window.requestAnimationFrame(t))},[n,r]);return e.length<2?null:(0,Y.jsx)(`nav`,{"aria-label":i(`chat.turns.aria`),className:`absolute right-1 top-1/2 z-20 hidden -translate-y-1/2 sm:block`,onMouseEnter:()=>c(!0),onMouseLeave:()=>c(!1),onFocusCapture:()=>c(!0),onBlurCapture:e=>{e.currentTarget.contains(e.relatedTarget)||c(!1)},children:(0,Y.jsxs)(`div`,{className:`relative flex items-center justify-end`,children:[(0,Y.jsx)(`ul`,{className:H(`flex flex-col items-center gap-2 py-2 transition-opacity`,s?`opacity-0`:`opacity-100`),"aria-hidden":s,children:e.map(e=>(0,Y.jsx)(`li`,{children:(0,Y.jsx)(`span`,{className:H(`block rounded-full transition-all`,e.id===a?`h-2 w-2 bg-[hsl(var(--deck-accent))]`:`h-1.5 w-1.5 bg-[hsl(var(--deck-ink-faint))]/40`)})},e.id))}),(0,Y.jsx)(`div`,{className:H(`absolute right-0 max-h-[min(70vh,520px)] w-[280px] overflow-y-auto rounded-lg border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))]/95 p-1 shadow-xl backdrop-blur transition-all`,s?`pointer-events-auto translate-x-0 opacity-100`:`pointer-events-none translate-x-2 opacity-0`),children:e.map((e,t)=>(0,Y.jsxs)(`button`,{type:`button`,onClick:()=>d(e),className:H(`flex w-full items-start gap-2 rounded-md px-2 py-1.5 text-left transition-colors`,e.id===a?`bg-[hsl(var(--deck-hairline))]/70 text-[hsl(var(--deck-ink))]`:`text-[hsl(var(--deck-ink-muted))] hover:bg-[hsl(var(--deck-hairline))]/50 hover:text-[hsl(var(--deck-ink))]`),children:[(0,Y.jsx)(`span`,{className:H(`mt-1 h-1.5 w-1.5 shrink-0 rounded-full`,e.id===a?`bg-[hsl(var(--deck-accent))]`:`bg-[hsl(var(--deck-ink-faint))]/40`)}),(0,Y.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,Y.jsx)(`span`,{className:`block font-mono text-[9.5px] uppercase tracking-[0.12em] text-[hsl(var(--deck-ink-faint))]`,children:i(`chat.turns.label`,{n:t+1})}),(0,Y.jsx)(`span`,{className:`line-clamp-2 text-[12px] leading-4`,children:e.preview})]})]},e.id))})]})})}var Sn=80;function Cn(e){return typeof e==`string`?e:Array.isArray(e)?e.filter(e=>e.type===`text`).map(e=>e.text).join(` `):``}function wn(e){let t=Cn(e).replace(/\s+/g,` `).trim();return t?t.length>Sn?`${t.slice(0,79)}…`:t:``}function Tn(e){let t=[];for(let n=0;n<e.length;n+=1){let r=e[n];if(r.role!==`user`||!r.id)continue;let i=wn(r.content);i&&t.push({id:r.id,index:n,preview:i})}return t}var En=120,Dn=80,On=96;function Z(e){return e?.querySelector(`[data-radix-scroll-area-viewport]`)??null}function kn(e){return JSON.stringify([e.role,e.content,e.metadata,e.agentContent])}function An({messages:e,isLoading:t,selectionDraftKey:n,canAskSideConversation:r=!1,onOpenSideConversation:i,navigationRequest:a}){let o=y(),s=(0,J.useMemo)(()=>mt(e),[e]),c=(0,J.useRef)(new Map);(0,J.useEffect)(()=>{if(t)return;let n=new Set(e.flatMap(e=>e.agentContent?.toolCalls.map(e=>e.toolCallId)??[]));for(let e of c.current.keys())n.has(e)||c.current.delete(e)},[e,t]);let l=(0,J.useRef)(null),u=(0,J.useRef)(null),d=(0,J.useRef)(!0),f=(0,J.useRef)(!1),p=(0,J.useRef)(s),m=(0,J.useRef)(s),h=(0,J.useRef)(new Set),g=(0,J.useRef)(s.length),_=(0,J.useRef)(null),v=(0,J.useRef)(null),b=(0,J.useRef)(null),[x,S]=(0,J.useState)(En),[C,w]=(0,J.useState)(!1),[T,D]=(0,J.useState)(0),O=s.length>0;p.current=s,(0,J.useEffect)(()=>{let e=Z(l.current);if(!e||f.current&&!d.current)return;let t=window.requestAnimationFrame(()=>{e.scrollTop=e.scrollHeight,f.current=!0,d.current=!0,h.current=new Set,D(0),w(!1)});return()=>window.cancelAnimationFrame(t)},[s]),(0,J.useEffect)(()=>{let e=Z(l.current);if(!e)return;u.current=e;let t=()=>{if(!f.current)return;let t=e.scrollHeight-e.scrollTop-e.clientHeight<=On,n=d.current;d.current=t,w(!t),t?(h.current=new Set,D(0)):n&&(m.current=p.current,h.current=new Set,D(0))};return t(),e.addEventListener(`scroll`,t,{passive:!0}),()=>e.removeEventListener(`scroll`,t)},[O,t]),(0,J.useEffect)(()=>{let e=m.current;if(m.current=s,d.current){h.current.size>0&&(h.current=new Set,D(0));return}let t=yn(e,s,h.current,kn);h.current=t,D(t.size)},[s]),(0,J.useEffect)(()=>{let e=g.current;g.current=s.length,S(t=>t>=e&&s.length>e?s.length:Math.min(Math.max(t,En),s.length||En))},[s.length]);let k=Math.max(s.length-x,0),A=k,j=(0,J.useMemo)(()=>s.slice(A),[s,A]),M=(0,J.useMemo)(()=>Tn(s),[s]),N=(0,J.useCallback)(e=>{let t=it(s,e,x);if(t!==null){if(t>x){v.current=e,S(t);return}ot(l.current,e)}},[s,x]);if((0,J.useLayoutEffect)(()=>{let e=_.current;if(!e)return;let t=Z(l.current);if(_.current=null,t){if(e.element?.isConnected){let n=e.element.getBoundingClientRect().top-e.viewportTop;t.scrollTop+=n;return}t.scrollTop=_n(e.scrollTop,e.scrollHeight,t.scrollHeight)}},[x]),(0,J.useLayoutEffect)(()=>{let e=v.current;e&&(v.current=null,window.requestAnimationFrame(()=>{ot(l.current,e)}))},[x]),(0,J.useEffect)(()=>{a&&b.current!==a.requestId&&(b.current=a.requestId,N(a.messageId))},[N,a]),t)return(0,Y.jsx)(`div`,{role:`status`,"aria-live":`polite`,"aria-busy":`true`,className:`flex overflow-hidden flex-1 justify-center items-center px-5 py-8 min-h-0`,children:(0,Y.jsxs)(`div`,{className:`w-full max-w-[560px]`,children:[(0,Y.jsxs)(`div`,{className:`flex flex-col items-center text-center`,children:[(0,Y.jsxs)(`div`,{className:`relative`,children:[(0,Y.jsx)(`div`,{className:`absolute inset-0 animate-pulse rounded-full bg-[hsl(var(--deck-accent-soft))] blur-xl`}),(0,Y.jsx)(De,{size:42,className:`relative`})]}),(0,Y.jsxs)(`div`,{className:`mt-4 inline-flex items-center gap-1.5 font-mono text-[10px] uppercase tracking-[0.16em] text-[hsl(var(--deck-accent))]`,children:[(0,Y.jsx)(Oe,{className:`w-3 h-3`}),o(`chat.list.loading.eyebrow`)]}),(0,Y.jsx)(`h2`,{className:`mt-2 text-[15px] font-medium text-[hsl(var(--deck-ink))]`,children:o(`chat.list.loading.title`)}),(0,Y.jsx)(`p`,{className:`mt-1 max-w-sm text-[11.5px] leading-5 text-[hsl(var(--deck-ink-faint))]`,children:o(`chat.list.loading.hint`)})]}),(0,Y.jsx)(`div`,{"aria-hidden":`true`,className:`mt-7 space-y-4 rounded-xl border border-[hsl(var(--deck-hairline))] bg-[hsl(var(--deck-surface))]/45 px-4 py-5`,children:[72,88,64].map((e,t)=>(0,Y.jsxs)(`div`,{className:H(`flex gap-3`,t%2==1&&`flex-row-reverse`),children:[(0,Y.jsx)(`span`,{className:`h-7 w-7 shrink-0 animate-pulse rounded-md bg-[hsl(var(--deck-surface-2))]`}),(0,Y.jsx)(`span`,{className:`h-10 animate-pulse rounded-lg bg-[hsl(var(--deck-surface-2))]`,style:{width:`${e}%`,animationDelay:`${t*120}ms`}})]},e))})]})});if(s.length===0&&!t)return(0,Y.jsx)(`div`,{className:`flex flex-1 justify-center items-center`,children:(0,Y.jsxs)(`div`,{className:`flex flex-col gap-4 items-center text-center`,children:[(0,Y.jsx)(De,{size:44}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`div`,{className:`deck-eyebrow text-[hsl(var(--deck-accent))]`,children:o(`chat.list.empty.eyebrow`)}),(0,Y.jsx)(`div`,{className:`mt-2 text-[15px] font-medium text-[hsl(var(--deck-ink))]`,children:o(`chat.list.empty.title`)}),(0,Y.jsx)(`div`,{className:`mt-1 max-w-xs text-[12px] text-[hsl(var(--deck-ink-muted))]`,children:o(`chat.list.empty.hint`)})]})]})});let P=()=>{let e=Z(l.current);e&&(e.scrollTop=e.scrollHeight,d.current=!0,f.current=!0,h.current=new Set,D(0),w(!1))},F=()=>{let e=Z(l.current);if(e){let t=l.current?.querySelector(`[data-chat-message-id]`)??null;_.current={element:t,viewportTop:t?.getBoundingClientRect().top??0,scrollHeight:e.scrollHeight,scrollTop:e.scrollTop}}S(e=>vn(e,s.length,Dn))},ee=e=>e>=A||(S(s.length),!1),I=T===1?o(`chat.list.unreadMessage`):o(`chat.list.unreadMessages`,{count:T});return(0,Y.jsxs)(`div`,{ref:l,className:`relative flex-1 min-h-0`,children:[(0,Y.jsx)(Me,{className:`h-full`,children:(0,Y.jsxs)(`div`,{className:`flex flex-col px-4 pb-4 w-full md:px-6`,children:[k>0&&(0,Y.jsx)(`div`,{className:`flex justify-center py-3`,children:(0,Y.jsx)(`button`,{type:`button`,onClick:F,"aria-label":o(`chat.list.showEarlierWithRemaining`,{count:Math.min(k,Dn),remaining:k}),className:`rounded-md border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))] px-3 py-1.5 font-mono text-[12px] text-[hsl(var(--deck-ink-muted))] transition-colors hover:border-[hsl(var(--deck-border-strong))] hover:text-[hsl(var(--deck-ink))]`,children:o(`chat.list.showEarlier`,{count:Math.min(k,Dn)})})}),j.map((e,t)=>{let n=A+t,r=n>0?s[n-1]:null,i=!r||r.role!==e.role||r.role===`user`;return(0,Y.jsx)(Nt.Provider,{value:c.current,children:(0,Y.jsx)(ln,{message:e,showAvatar:i,onNavigateToMessage:N})},e.id||`msg-${n}`)})]})}),(0,Y.jsx)(xn,{turns:M,viewportRef:u,containerRef:l,onRevealTurn:ee}),n&&i&&(0,Y.jsx)(gn,{rootRef:l,draftKey:n,canAskSideConversation:r,onOpenSideConversation:i}),C&&(0,Y.jsxs)(`button`,{type:`button`,onClick:P,"aria-live":`polite`,"aria-label":T>0?I:o(`chat.list.jumpLatest`),className:`absolute bottom-4 left-1/2 z-10 inline-flex -translate-x-1/2 items-center gap-1.5 rounded-full border border-[hsl(var(--deck-border-strong))] bg-[hsl(var(--deck-surface))]/95 px-3 py-1.5 font-mono text-[11px] text-[hsl(var(--deck-ink-muted))] shadow-lg backdrop-blur transition-colors hover:text-[hsl(var(--deck-ink))] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))]`,children:[(0,Y.jsx)(E,{className:`h-3.5 w-3.5 text-[hsl(var(--deck-accent))]`}),T>0?I:o(`chat.list.jumpLatest`)]})]})}var jn=(0,J.memo)(An);function Mn({queue:e,mutation:t,onMutate:n,onRefresh:r}){let i=y(),[a,o]=(0,J.useState)(!1),s=(0,J.useRef)(null),c=(0,J.useRef)(null),l=(0,J.useRef)(null);(0,J.useLayoutEffect)(()=>{if(t.pending||!s.current)return;let e=s.current;s.current=null,(Array.from(c.current?.querySelectorAll(`[data-follow-up-focus-id]`)??[]).find(t=>t.dataset.followUpFocusId===e)??c.current?.querySelector(`button`))?.focus()},[t.pending,e?.version]);let u=(0,J.useCallback)(async e=>{s.current=e.messageId,await n(e)},[n]),d=(0,J.useCallback)((e,t)=>{u({type:`move`,messageId:e,toPosition:t})},[u]);return!e||e.pending===0&&!t.errorMessage?null:(0,Y.jsxs)(`section`,{ref:c,"data-blade-follow-up-queue":!0,className:`mx-4 mb-2 overflow-hidden rounded-lg border border-amber-300/70 bg-amber-50/70 shadow-sm dark:border-amber-900/60 dark:bg-amber-950/25 md:mx-6`,"aria-label":i(`chat.followUpQueue.title`),children:[(0,Y.jsxs)(`button`,{type:`button`,"aria-label":i(a?`chat.followUpQueue.hide`:`chat.followUpQueue.show`),"aria-expanded":a,onClick:()=>o(e=>!e),className:`flex min-h-10 w-full items-center gap-2 px-3 text-left font-mono text-[11px] text-amber-950 transition-colors hover:bg-amber-100/70 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-amber-500 dark:text-amber-100 dark:hover:bg-amber-900/35`,children:[(0,Y.jsx)(Ue,{className:`h-3.5 w-3.5 shrink-0`,"aria-hidden":!0}),(0,Y.jsx)(`span`,{className:`font-semibold`,children:i(`chat.followUpQueue.count`,{count:e.pending})}),e.locked>0&&(0,Y.jsx)(`span`,{className:`text-amber-700/80 dark:text-amber-300/75`,children:i(`chat.followUpQueue.lockedCount`,{count:e.locked})}),(0,Y.jsx)(A,{className:`ml-auto h-3.5 w-3.5 transition-transform ${a?`rotate-90`:``}`,"aria-hidden":!0})]}),a&&(0,Y.jsxs)(`div`,{className:`border-t border-amber-300/60 px-2 py-2 dark:border-amber-900/50`,children:[t.errorMessage&&(0,Y.jsxs)(`div`,{role:`alert`,className:`mb-2 flex items-center gap-2 rounded-md border border-red-200 bg-red-50 px-2.5 py-2 text-[11px] text-red-700 dark:border-red-900/60 dark:bg-red-950/35 dark:text-red-300`,children:[(0,Y.jsx)(`span`,{className:`min-w-0 flex-1`,children:t.errorCode===`revision_conflict`?i(`chat.followUpQueue.stale`):t.errorMessage}),r&&(0,Y.jsx)(`button`,{type:`button`,"aria-label":i(`chat.followUpQueue.refresh`),onClick:()=>void r(),className:`rounded p-1 hover:bg-red-100 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-red-500 dark:hover:bg-red-900/60`,children:(0,Y.jsx)(Se,{className:`h-3.5 w-3.5`,"aria-hidden":!0})})]}),(0,Y.jsx)(`ol`,{className:`space-y-1.5`,children:e.items.map((n,r)=>{let a=e.items[r-1],o=e.items[r+1],s=n.mutable&&a?.mutable===!0,c=n.mutable&&o?.mutable===!0,f=t.pending;return(0,Y.jsxs)(`li`,{"data-follow-up-id":n.id,"data-follow-up-state":n.state,"data-follow-up-focus-id":n.id,tabIndex:-1,draggable:n.mutable&&!t.pending,onDragStart:()=>{l.current=n.mutable?n.id:null},onDragOver:t=>{let r=l.current;e.items.find(e=>e.id===r)?.mutable&&n.mutable&&t.preventDefault()},onDrop:t=>{t.preventDefault();let r=l.current;l.current=null;let i=e.items.find(e=>e.id===r);if(!i?.mutable||!n.mutable||i.id===n.id)return;let a=Math.min(i.position,n.position),o=Math.max(i.position,n.position);e.items.slice(a,o+1).some(e=>!e.mutable)||d(i.id,n.position)},onDragEnd:()=>{l.current=null},className:`flex min-w-0 items-center gap-2 rounded-md border border-amber-200/70 bg-white/75 px-2.5 py-2 dark:border-amber-900/50 dark:bg-zinc-950/45`,children:[(0,Y.jsx)(`span`,{className:`w-5 shrink-0 text-center font-mono text-[10px] text-amber-700 dark:text-amber-400`,children:r+1}),(0,Y.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Y.jsx)(`div`,{className:`truncate text-xs text-[hsl(var(--deck-ink))]`,children:n.kind===`internal`?i(`chat.followUpQueue.internal`):n.preview||i(`chat.followUpQueue.attachmentOnly`)}),(0,Y.jsxs)(`div`,{className:`mt-0.5 flex items-center gap-2 font-mono text-[9px] uppercase tracking-[0.08em] text-[hsl(var(--deck-ink-faint))]`,children:[(0,Y.jsx)(`span`,{children:i(`chat.followUpQueue.delivery.${n.delivery}`)}),!n.mutable&&(0,Y.jsxs)(`span`,{className:`inline-flex items-center gap-1`,children:[(0,Y.jsx)(Ge,{className:`h-2.5 w-2.5`,"aria-hidden":!0}),i(`chat.followUpQueue.locked`)]}),n.attachmentCount>0&&(0,Y.jsxs)(`span`,{className:`inline-flex items-center gap-1`,children:[(0,Y.jsx)(Ee,{className:`h-2.5 w-2.5`,"aria-hidden":!0}),n.attachmentCount]})]})]}),f&&t.messageId===n.id?(0,Y.jsx)(K,{className:`h-3.5 w-3.5 shrink-0 animate-spin text-amber-600`}):(0,Y.jsxs)(`div`,{className:`flex shrink-0 items-center gap-0.5`,children:[(0,Y.jsx)(`button`,{type:`button`,"aria-label":i(`chat.followUpQueue.moveUp`,{id:n.id}),disabled:f||!s,onClick:()=>d(n.id,r-1),className:`rounded p-1 text-amber-800 transition-colors hover:bg-amber-100 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-amber-500 disabled:opacity-30 dark:text-amber-300 dark:hover:bg-amber-900/50`,children:(0,Y.jsx)(O,{className:`h-3.5 w-3.5`,"aria-hidden":!0})}),(0,Y.jsx)(`button`,{type:`button`,"aria-label":i(`chat.followUpQueue.moveDown`,{id:n.id}),disabled:f||!c,onClick:()=>d(n.id,r+1),className:`rounded p-1 text-amber-800 transition-colors hover:bg-amber-100 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-amber-500 disabled:opacity-30 dark:text-amber-300 dark:hover:bg-amber-900/50`,children:(0,Y.jsx)(E,{className:`h-3.5 w-3.5`,"aria-hidden":!0})}),(0,Y.jsx)(`button`,{type:`button`,"aria-label":i(`chat.followUpQueue.remove`,{id:n.id}),disabled:f||!n.mutable,onClick:()=>void u({type:`remove`,messageId:n.id}),className:`rounded p-1 text-red-600 transition-colors hover:bg-red-100 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-red-500 disabled:opacity-30 dark:text-red-400 dark:hover:bg-red-950/60`,children:(0,Y.jsx)(R,{className:`h-3.5 w-3.5`,"aria-hidden":!0})})]})]},n.id)})})]})]})}var Nn=g,Pn=_,Fn=h,In=J.forwardRef(({className:e,sideOffset:t=4,...n},r)=>(0,Y.jsx)(v,{ref:r,sideOffset:t,className:H(`z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-tooltip-content-transform-origin]`,e),...n}));In.displayName=v.displayName;var Ln={active:{labelKey:`goal.status.active`,dot:`bg-[hsl(var(--deck-accent))] shadow-[0_0_6px_hsl(var(--deck-accent-glow)/0.5)]`,accent:`text-[hsl(var(--deck-accent))]`},verifying:{labelKey:`goal.status.active`,dot:`animate-pulse bg-sky-400`,accent:`text-sky-600 dark:text-sky-300`},paused:{labelKey:`goal.status.paused`,dot:`bg-amber-400`,accent:`text-amber-600 dark:text-amber-300`},blocked:{labelKey:`goal.status.blocked`,dot:`bg-rose-500`,accent:`text-rose-600 dark:text-rose-300`},usage_limited:{labelKey:`goal.status.usageLimited`,dot:`bg-orange-500`,accent:`text-orange-600 dark:text-orange-300`},budget_limited:{labelKey:`goal.status.budgetLimited`,dot:`bg-orange-500`,accent:`text-orange-600 dark:text-orange-300`},complete:{labelKey:`goal.status.complete`,dot:`bg-emerald-500`,accent:`text-emerald-600 dark:text-emerald-300`}};function Rn(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}K`:String(e)}function zn(e){if(e<60)return`${e}s`;let t=Math.floor(e/60),n=e%60;return n===0?`${t}m`:`${t}m ${n}s`}function Bn(){let e=y(),{locale:t}=S(),n=q(e=>e.goal),r=q(e=>e.pauseGoal),i=q(e=>e.resumeGoal),o=q(e=>e.editGoal),s=q(e=>e.clearGoal),c=q(e=>u(e.historySurfaceSelection)),[l,d]=(0,J.useState)(!1),[f,p]=(0,J.useState)(!1),[m,h]=(0,J.useState)(``),[g,_]=(0,J.useState)(null),[v,b]=(0,J.useState)(!1);if((0,J.useEffect)(()=>{d(!1),p(!1),h(n?.objective??``),b(!1)},[n?.goalId]),c||!n)return null;let x=Ln[n.status],C=[`active`,`verifying`,`paused`,`blocked`].includes(n.status),w=n.status===`active`||n.status===`verifying`,T=n.status===`paused`||n.status===`blocked`,E=g!==null,O=async(e,t)=>{if(!a(q.getState())){_(e);try{await t()}finally{_(null)}}},k=()=>{h(n.objective),p(!0),d(!0)},A=async e=>{e.preventDefault();let t=m.trim();if(!t||t===n.objective){p(!1);return}await O(`edit`,()=>o(t)),p(!1)},j=async()=>{await O(`delete`,s),b(!1)};return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(Nn,{delayDuration:250,children:(0,Y.jsxs)(`section`,{"aria-label":e(`goal.aria.section`),className:`mx-3 mb-1 shrink-0`,"data-blade-goal-status":n.status,"data-blade-goal-recovery":n.prematureStop?.consecutiveCount,"data-blade-goal-recovery-pattern":n.prematureStop?.pattern,"data-blade-goal-verification-stall":n.verificationStall?.consecutiveCount,"data-blade-goal-frontier-task-list":n.executionFrontier?.taskListId,"data-blade-goal-frontier-total":n.executionFrontier?.total,"data-blade-goal-frontier-completed":n.executionFrontier?.completed,"data-blade-goal-frontier-in-progress":n.executionFrontier?.inProgress,"data-blade-goal-frontier-pending":n.executionFrontier?.pending,"data-blade-goal-frontier-blocked":n.executionFrontier?.blocked,"data-blade-goal-frontier-next-task":n.executionFrontier?.nextTask?.id,"data-blade-goal-frontier-digest":n.executionFrontier?.digestSha256.slice(0,16),"data-blade-goal-frontier-stall":n.frontierStall?.category,"data-blade-goal-frontier-stall-count":n.frontierStall?.consecutiveCount,"data-blade-goal-execution-host-failure":n.executionHostFailure?.category,"data-blade-goal-execution-host-failure-count":n.executionHostFailure?.consecutiveCount,"data-blade-goal-root-turn":n.turnLineage?.rootTurnId,"data-blade-goal-current-turn":n.turnLineage?.currentTurnId,"data-blade-goal-parent-turn":n.turnLineage?.parentTurnId,children:[(0,Y.jsxs)(`div`,{className:H(`flex h-9 items-center gap-2 rounded-lg border px-3 transition-colors`,`border-[hsl(var(--deck-border))]/60 bg-[hsl(var(--deck-surface))]/80 backdrop-blur-sm`,l&&`rounded-b-none border-b-0`),children:[n.status===`complete`?(0,Y.jsx)(ve,{className:`h-3.5 w-3.5 shrink-0 text-emerald-500`}):(0,Y.jsx)(Ye,{className:H(`h-3.5 w-3.5 shrink-0`,x.accent)}),(0,Y.jsx)(`span`,{className:H(`h-1.5 w-1.5 shrink-0 rounded-full`,x.dot)}),(0,Y.jsx)(`span`,{className:H(`shrink-0 text-[10px] font-medium leading-none`,x.accent),children:n.status===`verifying`?t===`zh`?`验证中`:`Verifying`:e(x.labelKey)}),(0,Y.jsx)(`span`,{className:`h-3 w-px shrink-0 bg-[hsl(var(--deck-hairline))]`}),(0,Y.jsx)(`button`,{type:`button`,"aria-label":e(l?`goal.action.collapse`:`goal.action.expand`),className:`min-w-0 flex-1 truncate text-left text-[12px] leading-5 text-[hsl(var(--deck-ink))]/85 outline-none transition-colors hover:text-[hsl(var(--deck-ink))]`,onClick:()=>d(e=>!e),"aria-expanded":l,title:n.objective,children:n.objective}),n.tokensUsed>0&&(0,Y.jsxs)(`span`,{className:`hidden shrink-0 text-[10px] tabular-nums text-[hsl(var(--deck-ink-muted))] sm:inline`,children:[Rn(n.tokensUsed),n.tokenBudget!==void 0&&`/${Rn(n.tokenBudget)}`]}),(0,Y.jsxs)(`div`,{className:`flex shrink-0 items-center`,children:[w&&(0,Y.jsx)(Vn,{label:e(`goal.action.pause`),disabled:E,onClick:()=>void O(`pause`,r),children:g===`pause`?(0,Y.jsx)(K,{className:`animate-spin`}):(0,Y.jsx)(F,{})}),T&&(0,Y.jsx)(Vn,{label:e(`goal.action.resume`),disabled:E,onClick:()=>void O(`resume`,i),children:g===`resume`?(0,Y.jsx)(K,{className:`animate-spin`}):(0,Y.jsx)(I,{})}),(0,Y.jsx)(Vn,{label:e(C?`goal.action.edit`:`goal.action.expand`),disabled:!C&&!l,onClick:C?k:()=>d(e=>!e),children:C?(0,Y.jsx)(ee,{}):(0,Y.jsx)(D,{})}),(0,Y.jsx)(Vn,{label:e(`goal.action.delete`),disabled:E,destructive:!0,onClick:()=>b(!0),children:(0,Y.jsx)(R,{})})]})]}),l&&(0,Y.jsx)(`div`,{className:`rounded-b-lg border border-t-0 border-[hsl(var(--deck-border))]/60 bg-[hsl(var(--deck-surface))]/80 px-4 py-3 backdrop-blur-sm`,children:f?(0,Y.jsxs)(`form`,{onSubmit:A,children:[(0,Y.jsx)(`textarea`,{id:`goal-objective`,value:m,onChange:e=>h(e.target.value),onKeyDown:e=>{e.key===`Escape`&&p(!1)},rows:3,autoFocus:!0,className:`w-full resize-none rounded-md border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-canvas))] px-3 py-2 text-[12px] leading-5 text-[hsl(var(--deck-ink))] outline-none transition-shadow focus:border-[hsl(var(--deck-accent))] focus:ring-1 focus:ring-[hsl(var(--deck-accent-glow))]`}),(0,Y.jsxs)(`div`,{className:`mt-2 flex items-center justify-end gap-2`,children:[(0,Y.jsxs)(`button`,{type:`button`,onClick:()=>p(!1),className:`inline-flex h-7 items-center gap-1 rounded-md px-2.5 text-[11px] text-[hsl(var(--deck-ink-muted))] transition-colors hover:bg-[hsl(var(--deck-hairline))]/60`,children:[(0,Y.jsx)(U,{className:`h-3 w-3`}),e(`goal.action.cancel`)]}),(0,Y.jsxs)(`button`,{type:`submit`,disabled:!m.trim()||g===`edit`,className:`inline-flex h-7 items-center gap-1 rounded-md bg-[hsl(var(--deck-accent))] px-2.5 text-[11px] font-medium text-white transition-colors hover:bg-[hsl(var(--deck-accent))]/90 disabled:cursor-not-allowed disabled:opacity-50`,children:[g===`edit`?(0,Y.jsx)(K,{className:`h-3 w-3 animate-spin`}):(0,Y.jsx)(ke,{className:`h-3 w-3`}),e(`goal.action.save`)]})]})]}):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`p`,{className:`whitespace-pre-wrap text-[12px] leading-5 text-[hsl(var(--deck-ink))]/90`,children:n.objective}),(0,Y.jsxs)(`div`,{className:`mt-2 flex flex-wrap items-center gap-x-4 gap-y-1.5 text-[10px] text-[hsl(var(--deck-ink-muted))]`,children:[(0,Y.jsxs)(`span`,{className:`inline-flex items-center gap-1`,children:[(0,Y.jsx)(Ve,{className:`h-3 w-3`}),Rn(n.tokensUsed),n.tokenBudget!==void 0&&` / ${Rn(n.tokenBudget)}`,` `,e(`goal.metrics.tokens`)]}),(0,Y.jsxs)(`span`,{className:`inline-flex items-center gap-1`,children:[(0,Y.jsx)(Ze,{className:`h-3 w-3`}),zn(n.timeUsedSeconds)]}),(0,Y.jsxs)(`span`,{className:`inline-flex items-center gap-1`,children:[(0,Y.jsx)(ge,{className:`h-3 w-3`}),n.continuationCount===1?e(`goal.metrics.continuationOne`,{n:n.continuationCount}):e(`goal.metrics.continuationMany`,{n:n.continuationCount})]})]}),n.turnLineage&&(0,Y.jsxs)(`div`,{className:`mt-2 grid grid-cols-[auto_1fr] gap-x-3 gap-y-1 rounded-md border border-[hsl(var(--deck-border))]/50 bg-[hsl(var(--deck-canvas))]/45 px-2.5 py-2 font-mono text-[10px] text-[hsl(var(--deck-ink-muted))]`,children:[(0,Y.jsx)(`span`,{children:e(`goal.lineage.origin`)}),(0,Y.jsx)(`span`,{className:`truncate`,children:n.turnLineage.rootTurnId??`?`}),(0,Y.jsx)(`span`,{children:e(`goal.lineage.current`)}),(0,Y.jsx)(`span`,{className:`truncate`,children:n.turnLineage.currentTurnId}),(0,Y.jsx)(`span`,{children:e(`goal.lineage.parent`)}),(0,Y.jsx)(`span`,{className:`truncate`,children:n.turnLineage.parentTurnId??`?`})]}),n.prematureStop&&(0,Y.jsxs)(`div`,{className:`mt-2 inline-flex items-center gap-1.5 font-mono text-[10px] text-amber-700 dark:text-amber-300`,children:[(0,Y.jsx)(ge,{className:`h-3 w-3`}),t===`zh`?`恢复提示`:`Recovery nudge`,` `,n.prematureStop.consecutiveCount,` ·`,` `,n.prematureStop.pattern.replaceAll(`_`,` `)]}),n.executionHostFailure&&(0,Y.jsxs)(`div`,{className:`mt-2 rounded-md border border-amber-200/50 bg-amber-50/60 px-2.5 py-2 text-[11px] text-amber-900 dark:border-amber-400/15 dark:bg-amber-400/[0.05] dark:text-amber-100`,children:[(0,Y.jsx)(`p`,{className:`font-medium`,children:e(`goal.executionHostFailure.title`)}),(0,Y.jsxs)(`p`,{className:`mt-1 font-mono opacity-80`,children:[e(`goal.executionHostFailure.category.${n.executionHostFailure.category}`),` `,`· `,n.executionHostFailure.consecutiveCount,`/3`]})]}),n.completionVerification&&(0,Y.jsxs)(`div`,{"data-goal-verification":n.completionVerification.status,className:`mt-2 rounded-md border border-sky-200/50 bg-sky-50/60 px-2.5 py-2 text-[11px] text-sky-900 dark:border-sky-400/15 dark:bg-sky-400/[0.05] dark:text-sky-100`,children:[(0,Y.jsxs)(`p`,{className:`font-mono font-medium`,children:[`#`,n.completionVerification.attempt,` ·`,` `,n.completionVerification.status.toUpperCase(),` ·`,` `,n.completionVerification.verifierSessionId?.slice(0,12)??`-`,n.verificationStall?t===`zh`?` · 重复 ${n.verificationStall.consecutiveCount}/3`:` · repeat ${n.verificationStall.consecutiveCount}/3`:``]}),n.completionVerification.summary&&(0,Y.jsx)(`p`,{className:`mt-1 line-clamp-3 whitespace-pre-wrap opacity-80`,children:n.completionVerification.summary}),n.completionVerification.evidenceSha256&&(0,Y.jsxs)(`p`,{className:`mt-1 font-mono text-[10px] opacity-60`,children:[`sha256:`,n.completionVerification.evidenceSha256.slice(0,12)]})]}),n.statusReason&&(0,Y.jsx)(`div`,{className:`mt-2 rounded-md border border-amber-200/50 bg-amber-50/60 px-2.5 py-1.5 text-[11px] text-amber-800 dark:border-amber-400/15 dark:bg-amber-400/[0.05] dark:text-amber-200`,children:n.statusReason})]})})]})}),(0,Y.jsx)(oe,{open:v,onOpenChange:b,children:(0,Y.jsxs)(se,{className:`max-w-[400px] border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))]`,children:[(0,Y.jsx)(le,{children:e(`goal.dialog.title`)}),(0,Y.jsx)(B,{children:e(`goal.dialog.description`)}),(0,Y.jsxs)(je,{className:`mt-2`,children:[(0,Y.jsx)(`button`,{type:`button`,onClick:()=>b(!1),className:`inline-flex h-8 items-center justify-center rounded-md border border-[hsl(var(--deck-border))] px-3 text-[12px] text-[hsl(var(--deck-ink))] hover:bg-[hsl(var(--deck-hairline))]/60`,children:e(`goal.action.cancel`)}),(0,Y.jsxs)(`button`,{type:`button`,disabled:g===`delete`,onClick:()=>void j(),className:`inline-flex gap-1.5 justify-center items-center px-3 h-8 text-[12px] font-medium text-white bg-rose-600 rounded-md hover:bg-rose-500 disabled:opacity-50`,children:[g===`delete`&&(0,Y.jsx)(K,{className:`w-3.5 h-3.5 animate-spin`}),e(`goal.action.delete`)]})]})]})})]})}function Vn({label:e,children:t,disabled:n,destructive:r,onClick:i}){return(0,Y.jsxs)(Pn,{children:[(0,Y.jsx)(Fn,{asChild:!0,children:(0,Y.jsx)(`button`,{type:`button`,"aria-label":e,disabled:n,onClick:i,className:H(`flex h-6 w-6 items-center justify-center rounded-md text-[hsl(var(--deck-ink-muted))] outline-none transition-colors focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent-glow))]/50 disabled:cursor-not-allowed disabled:opacity-35 [&_svg]:h-3.5 [&_svg]:w-3.5`,r?`hover:bg-rose-500/10 hover:text-rose-500`:`hover:bg-[hsl(var(--deck-hairline))]/60 hover:text-[hsl(var(--deck-ink))]`),children:t})}),(0,Y.jsx)(In,{side:`top`,className:`text-[10px]`,children:e})]})}function Hn(){let e=y(),t=q(e=>e.currentSessionRef),n=q(e=>e.sessions),r=q(e=>e.messages),i=q(e=>u(e.historySurfaceSelection)),a=(0,J.useMemo)(()=>{let e=t?ie(n,t)?.pendingInteraction:void 0;if(e)return e.type;for(let e=r.length-1;e>=0;--e){let t=r[e]?.agentContent;if(t?.confirmation?.status===`pending`)return`permission`;if(t?.question?.status===`pending`)return`question`;if(t?.elicitation?.status===`pending`)return`elicitation`}return null},[t,r,n]);if(i||!a)return null;let o=()=>{let e=document.querySelector(`[data-pending-interaction="${a}"]`);e?.scrollIntoView({block:`center`,behavior:`smooth`}),window.setTimeout(()=>e?.focus(),250)},s=a===`question`,c=a===`elicitation`;return(0,Y.jsxs)(`div`,{role:`alert`,className:`mx-3 mb-2 flex flex-wrap items-center gap-2 rounded-lg border border-amber-300/80 bg-amber-50/95 px-3 py-2 font-mono text-amber-950 shadow-sm backdrop-blur dark:border-amber-800/80 dark:bg-amber-950/90 dark:text-amber-100 sm:mx-5`,children:[(0,Y.jsx)(_e,{className:`h-4 w-4 shrink-0 text-amber-600 dark:text-amber-400`}),(0,Y.jsxs)(`div`,{className:`min-w-[180px] flex-1`,children:[(0,Y.jsx)(`div`,{className:`text-[11.5px] font-semibold`,children:e(s?`interaction.bar.questionTitle`:c?`interaction.bar.elicitationTitle`:`interaction.bar.permissionTitle`)}),(0,Y.jsx)(`div`,{className:`mt-0.5 text-[10px] leading-4 text-amber-800 dark:text-amber-300`,children:e(s?`interaction.bar.questionHint`:c?`interaction.bar.elicitationHint`:`interaction.bar.permissionHint`)})]}),(0,Y.jsxs)(`button`,{type:`button`,onClick:o,className:`inline-flex min-h-8 shrink-0 items-center gap-1.5 rounded-md border border-amber-400/80 bg-white/80 px-2.5 text-[10.5px] font-medium transition-colors hover:bg-white focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-amber-500 dark:border-amber-700 dark:bg-amber-950/70 dark:hover:bg-amber-900`,children:[(0,Y.jsx)(E,{className:`h-3 w-3`}),e(`interaction.bar.review`)]})]})}function Q(e){return Math.max(0,Math.ceil((e??0)/1e3))}function Un(e,t=Date.now()){let n=e.snapshot?.nextActionAt;return n===void 0?void 0:Q(n-t)}function Wn(e,t=Date.now()){let n=e?.snapshot;if(!n)return null;let r=Un(e,t)??0,i=n.retry,a=n.admission,o=n.stall,s=n.fallback,c={seconds:r,attempt:i?.attempt??0,maxRetries:i?.maxRetries??0,budgetSeconds:Q(i?.recoveryRemainingMs),position:a?.queuePosition??0,depth:a?Math.max(a.queueDepth,a.queuePosition):0,scope:a?.scope??``,waitSeconds:Q(a?.waitMs),stallSeconds:Q(o?.durationMs),timeoutSeconds:Q(o?.timeoutMs),from:s?.from.model??``,to:s?.to.model??``,candidate:s?.candidate??0,candidateCount:s?.candidateCount??0};switch(n.activity){case`admission_wait`:return{titleKey:`chat.providerRecovery.admission`,detailKey:`chat.providerRecovery.admissionDetail`,compactKey:`chat.providerRecovery.admissionCompact`,params:c};case`retry_wait`:return{titleKey:n.reason===`rate_limit`?`chat.providerRecovery.rateLimit`:`chat.providerRecovery.retryWait`,detailKey:`chat.providerRecovery.retryDetail`,compactKey:`chat.providerRecovery.retryCompact`,params:c};case`retry_attempt`:return{titleKey:`chat.providerRecovery.retryAttempt`,detailKey:`chat.providerRecovery.retryDetail`,compactKey:`chat.providerRecovery.retryCompact`,params:c};case`circuit_open`:return{titleKey:n.reason===`rate_limit`?`chat.providerRecovery.rateLimitCircuit`:`chat.providerRecovery.circuit`,detailKey:`chat.providerRecovery.circuitDetail`,compactKey:n.reason===`rate_limit`?`chat.providerRecovery.rateLimitCircuitCompact`:`chat.providerRecovery.circuitCompact`,params:c};case`circuit_probe`:return{titleKey:`chat.providerRecovery.probe`,detailKey:`chat.providerRecovery.probeDetail`,compactKey:`chat.providerRecovery.probeCompact`,params:c};case`stream_stall`:return{titleKey:o?.outputStarted?`chat.providerRecovery.stallAfterOutput`:`chat.providerRecovery.stall`,detailKey:`chat.providerRecovery.stallDetail`,compactKey:`chat.providerRecovery.stallCompact`,params:c};case`fallback`:return{titleKey:`chat.providerRecovery.fallback`,detailKey:`chat.providerRecovery.fallbackDetail`,compactKey:`chat.providerRecovery.fallbackCompact`,params:c}}}function Gn({recovery:e,stopping:t,onStop:n}){let r=y(),[i,a]=(0,J.useState)(Date.now()),o=e?.snapshot?.nextActionAt;(0,J.useEffect)(()=>{if(o===void 0)return;a(Date.now());let e=window.setInterval(()=>a(Date.now()),1e3);return()=>window.clearInterval(e)},[o]);let s=Wn(e,i);return s?(0,Y.jsxs)(`section`,{role:`status`,"aria-live":`polite`,"data-provider-recovery-banner":!0,className:`mx-4 mb-2 flex min-h-12 items-center gap-3 rounded-lg border border-amber-300/70 bg-amber-50/80 px-3 py-2 text-amber-950 shadow-sm dark:border-amber-800/60 dark:bg-amber-950/35 dark:text-amber-100 md:mx-6`,children:[(0,Y.jsx)(K,{className:`h-4 w-4 shrink-0 animate-spin`,"aria-hidden":!0}),(0,Y.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Y.jsx)(`div`,{className:`text-xs font-semibold`,children:r(s.titleKey,s.params)}),(0,Y.jsx)(`div`,{className:`mt-0.5 truncate font-mono text-[10px] opacity-80`,children:r(s.detailKey,s.params)})]}),(0,Y.jsxs)(`button`,{type:`button`,"data-provider-recovery-stop":!0,onClick:n,disabled:t,className:`inline-flex min-h-8 shrink-0 items-center gap-1.5 rounded-md border border-amber-400/70 bg-white/70 px-2.5 text-xs font-medium transition-colors hover:bg-white focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-amber-500 disabled:cursor-wait disabled:opacity-60 dark:border-amber-700 dark:bg-amber-950/50 dark:hover:bg-amber-900/50`,children:[t?(0,Y.jsx)(K,{className:`h-3.5 w-3.5 animate-spin`,"aria-hidden":!0}):(0,Y.jsx)(Te,{className:`h-3 w-3 fill-current`,"aria-hidden":!0}),r(t?`chat.input.action.stopping`:`chat.providerRecovery.stop`)]})]}):null}var Kn=(0,J.lazy)(()=>C(()=>import(`./MarkdownRenderer-BTxnqChi.js`).then(e=>({default:e.MarkdownRenderer})),__vite__mapDeps([0,1,2,3,4,5,6,7,8])));function qn(e){return e<1e3?`${e}ms`:`${(e/1e3).toFixed(1)}s`}function Jn(e,t){return e?[{id:`legacy-user`,role:`user`,content:e},...t?[{id:`legacy-assistant`,role:`assistant`,content:t}]:[]]:[]}function Yn(e){return e?JSON.stringify([e.sessionRef.projectPath,e.sessionRef.sessionId,e.requestId]):null}function Xn(){let e=y(),t=q(e=>e.sideConversation),n=q(e=>e.askSideConversation),r=q(e=>e.openSideConversation),i=q(e=>e.dismissSideConversation),a=Yn(t),[o,s]=(0,J.useState)({owner:a,text:``}),c=o.owner===a?o.text:``;o.owner!==a&&s({owner:a,text:``});let l=e=>s({owner:a,text:e}),u=(0,J.useRef)(null),d=(0,J.useRef)(!1),f=(0,J.useRef)(null),p=(0,J.useMemo)(()=>t?.messages??Jn(t?.question??``,t?.response),[t?.messages,t?.question,t?.response]);if((0,J.useEffect)(()=>{if(d.current=!1,!t||t.status===`loading`)return;let e=document.activeElement;if(t.status!==`idle`&&e instanceof HTMLElement&&e!==u.current&&e.matches(`input, textarea, select, [contenteditable="true"]`))return;let n=requestAnimationFrame(()=>{document.activeElement===e&&u.current?.focus()});return()=>cancelAnimationFrame(n)},[t?.sessionRef,t?.selectedText,t?.status]),(0,J.useEffect)(()=>{f.current?.scrollIntoView?.({block:`nearest`})},[p.length,t?.status]),!t)return null;let m=()=>{let e=c.trim();if(!e||t.status===`loading`)return;l(``);let r=n(e),i=Yn(q.getState().sideConversation);r.then(t=>{!t&&i!==null&&Yn(q.getState().sideConversation)===i&&s({owner:i,text:e})})};return(0,Y.jsxs)(`aside`,{"aria-label":e(`chat.side.title`),"data-blade-side-conversation":!0,"data-status":t.status,className:`absolute inset-0 z-30 flex min-h-0 flex-col bg-[hsl(var(--deck-canvas))] md:relative md:inset-auto md:w-[min(420px,42vw)] md:shrink-0 md:border-l md:border-[hsl(var(--deck-hairline))]`,children:[(0,Y.jsxs)(`header`,{className:`flex h-12 shrink-0 items-center gap-2 border-b border-[hsl(var(--deck-hairline))] px-3`,children:[(0,Y.jsx)(qe,{"aria-hidden":!0,className:`h-4 w-4 shrink-0 text-[hsl(var(--deck-accent))]`}),(0,Y.jsx)(`h2`,{className:`min-w-0 flex-1 truncate text-[13px] font-medium text-[hsl(var(--deck-ink))]`,children:e(`chat.side.title`)}),t.durationMs!==void 0&&(0,Y.jsxs)(`span`,{className:`inline-flex items-center gap-1 font-mono text-[9.5px] text-[hsl(var(--deck-ink-faint))]`,children:[(0,Y.jsx)(j,{"aria-hidden":!0,className:`h-3 w-3`}),qn(t.durationMs)]}),(0,Y.jsx)(`button`,{type:`button`,onClick:()=>{l(``),r()},"aria-label":e(`chat.side.new`),title:e(`chat.side.new`),className:`flex h-8 w-8 shrink-0 items-center justify-center rounded-md text-[hsl(var(--deck-ink-faint))] transition-colors hover:bg-[hsl(var(--deck-surface-2))] hover:text-[hsl(var(--deck-ink))] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))]`,children:(0,Y.jsx)(te,{"aria-hidden":!0,className:`h-4 w-4`})}),(0,Y.jsx)(`button`,{type:`button`,onClick:i,"aria-label":e(`chat.side.dismiss`),title:e(`chat.side.dismiss`),className:`flex h-8 w-8 shrink-0 items-center justify-center rounded-md text-[hsl(var(--deck-ink-faint))] transition-colors hover:bg-[hsl(var(--deck-surface-2))] hover:text-[hsl(var(--deck-ink))] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))]`,children:(0,Y.jsx)(U,{"aria-hidden":!0,className:`h-4 w-4`})})]}),(0,Y.jsxs)(`div`,{"aria-live":`polite`,"aria-busy":t.status===`loading`,className:`min-h-0 flex-1 space-y-4 overflow-y-auto px-4 py-4`,children:[t.selectedText&&(0,Y.jsxs)(`details`,{className:`group`,children:[(0,Y.jsxs)(`summary`,{className:`inline-flex min-h-8 cursor-pointer list-none items-center gap-1.5 rounded-md border border-[hsl(var(--deck-border-strong))] bg-[hsl(var(--deck-surface))] px-2.5 font-mono text-[10.5px] text-[hsl(var(--deck-ink-muted))] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))]`,children:[(0,Y.jsx)(qe,{"aria-hidden":!0,className:`h-3.5 w-3.5`}),e(`chat.side.selectedText`)]}),(0,Y.jsx)(`blockquote`,{className:`mt-2 whitespace-pre-wrap border-l-2 border-[hsl(var(--deck-accent)/0.45)] pl-3 font-mono text-[11px] leading-5 text-[hsl(var(--deck-ink-muted))]`,children:t.selectedText})]}),p.map(e=>e.role===`user`?(0,Y.jsx)(`div`,{className:`flex justify-end`,children:(0,Y.jsx)(`div`,{className:`max-w-[88%] rounded-lg bg-[hsl(var(--deck-surface-2))] px-3 py-2 text-[12px] leading-5 text-[hsl(var(--deck-ink))]`,children:e.content})},e.id):(0,Y.jsx)(`div`,{className:`min-w-0`,children:(0,Y.jsx)(J.Suspense,{fallback:(0,Y.jsx)(`div`,{className:`whitespace-pre-wrap break-words text-[12px] leading-5 text-[hsl(var(--deck-ink))]`,children:e.content}),children:(0,Y.jsx)(Kn,{content:e.content,className:`text-[12px] leading-5 [&_h1]:text-[14px] [&_h2]:text-[13px] [&_h3]:text-[12px]`})})},e.id)),t.status===`loading`&&(0,Y.jsxs)(`div`,{role:`status`,className:`flex min-h-9 items-center gap-2 text-[11px] text-[hsl(var(--deck-ink-muted))]`,children:[(0,Y.jsx)(K,{"aria-hidden":!0,className:`h-3.5 w-3.5 animate-spin text-[hsl(var(--deck-accent))]`}),e(`chat.side.loading`)]}),t.status===`error`&&(0,Y.jsxs)(`div`,{role:`alert`,className:`flex min-h-9 items-start gap-2 text-[11px] leading-5 text-red-700 dark:text-red-300`,children:[(0,Y.jsx)(_e,{"aria-hidden":!0,className:`mt-0.5 h-3.5 w-3.5 shrink-0`}),(0,Y.jsx)(`span`,{className:`break-words`,children:t.error??e(`chat.side.failed`)})]}),(0,Y.jsx)(`div`,{ref:f})]}),(0,Y.jsx)(`div`,{className:`shrink-0 border-t border-[hsl(var(--deck-hairline))] p-3`,children:(0,Y.jsxs)(`div`,{className:`rounded-lg border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))] focus-within:border-[hsl(var(--deck-border-strong))] focus-within:ring-1 focus-within:ring-[hsl(var(--deck-border-strong))]`,children:[(0,Y.jsx)(`textarea`,{ref:u,name:`side-conversation-composer`,value:c,onChange:e=>l(e.target.value),onCompositionStart:()=>{d.current=!0},onCompositionEnd:()=>{d.current=!1},onBlur:()=>{d.current=!1},onKeyDown:e=>{if(!(d.current||e.nativeEvent.isComposing||e.keyCode===229)){if((e.metaKey||e.ctrlKey)&&e.key.toLocaleLowerCase()===`a`){e.preventDefault(),e.stopPropagation(),e.currentTarget.select();return}if(e.key===`Escape`){e.preventDefault(),i();return}e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),m())}},rows:3,disabled:t.status===`loading`,"aria-label":e(`chat.side.input`),placeholder:e(`chat.side.placeholder`),className:`block max-h-40 min-h-[88px] w-full resize-none bg-transparent px-3 py-2.5 text-[13px] leading-5 text-[hsl(var(--deck-ink))] placeholder:text-[hsl(var(--deck-ink-faint))] focus:outline-none disabled:cursor-wait disabled:opacity-60`}),(0,Y.jsx)(`div`,{className:`flex items-center justify-end px-2 pb-2`,children:(0,Y.jsx)(`button`,{type:`button`,onClick:m,disabled:!c.trim()||t.status===`loading`,"aria-label":e(`chat.side.send`),title:e(`chat.side.send`),className:`flex h-8 w-8 items-center justify-center rounded-md bg-[hsl(var(--deck-ink))] text-[hsl(var(--deck-canvas))] transition-opacity hover:opacity-90 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[hsl(var(--deck-accent))] focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-35`,children:(0,Y.jsx)(de,{"aria-hidden":!0,className:`h-3.5 w-3.5`})})})]})})]})}function Zn(e){return Number.isFinite(e)?Math.max(0,e):0}function Qn(e){let t=Zn(e.totalInputTokens),n=Zn(e.cacheReadTokens),r=Zn(e.cacheWriteTokens),i=Math.min(n,t),a=Math.min(r,Math.max(0,t-i));return{totalInputTokens:t,cacheReadTokens:i,cacheWriteTokens:a,uncachedInputTokens:Math.max(0,t-i-a),...t>0&&(n>0||r>0)?{hitRate:i/t}:{}}}function $n(e){return e===void 0||!Number.isFinite(e)?`—`:`${Math.round(Math.max(0,Math.min(1,e))*100)}%`}var er={running:`status.phase.running`,compacting:`status.phase.compacting`,recovering_context:`status.phase.recoveringContext`,switching_model:`status.phase.switchingModel`,waiting_permission:`status.phase.waitingPermission`,error:`status.phase.error`,idle:``},tr={model_changed:`status.cacheBreak.model`,system_prompt_changed:`status.cacheBreak.system`,tools_changed:`status.cacheBreak.tools`,request_policy_changed:`status.cacheBreak.policy`,ttl_expired:`status.cacheBreak.ttl`,server_side:`status.cacheBreak.server`},$=e=>e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}K`:e.toString(),nr=e=>{let t=Math.max(0,Math.ceil(e/1e3)),n=Math.floor(t/60),r=t%60;return n>0?`${n}m ${r}s`:`${r}s`};function rr(){let e=y(),t=q(e=>e.tokenUsage),n=q(e=>e.isStreaming),r=q(e=>e.agentPhase),i=q(e=>e.providerRecovery),a=q(e=>e.turnActivity),o=q(e=>e.pendingResume),s=q(e=>e.actionStationarity),c=q(e=>e.turnRecovery),l=er[r]??``,u=Wn(i),d=o?.delayMs===void 0?``:` · retry in ${nr(o.delayMs)}`,f=c?.state===`requires_attention`?e(`status.recovery.review`):``,p=c?.state===`requires_attention`?e(c.reason===`interrupted_tool_call`?`status.recovery.interruptedTool`:`status.recovery.successfulTool`):``,m=f||(s?`${e(s.phase===`halted`?`status.phase.actionStationarityStopped`:`status.phase.actionStationarityRecovering`)} · ${s.toolName} · ${s.runLength}/${s.haltThreshold}`:u?e(u.compactKey,u.params):o?`Recovery attempt ${o.attempt}/${o.maxAttempts}${d}`:l?e(l):``),h=t.maxContextTokens>0?Math.round(t.totalTokens/t.maxContextTokens*100):0,g=Qn(t),_=$n(g.hitRate),v=Math.min(h,100),b=h>95?`danger`:h>80?`warn`:`safe`;return(0,Y.jsxs)(`div`,{"data-chat-status-bar":!0,className:`flex items-center gap-2 border-t border-[hsl(var(--deck-hairline))] bg-[hsl(var(--deck-canvas-veil))]/70 px-3 py-2 font-mono text-[11px] text-[hsl(var(--deck-ink-muted))] backdrop-blur-sm sm:gap-4 sm:px-5`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 sm:gap-3`,children:[(0,Y.jsx)(`span`,{className:`deck-eyebrow text-[hsl(var(--deck-ink-faint))]`,children:e(`status.context`)}),(0,Y.jsxs)(`span`,{className:`flex gap-1 items-baseline tabular-nums`,children:[(0,Y.jsx)(`span`,{className:H(`text-[12px] font-medium`,b===`safe`&&`text-[hsl(var(--deck-ink))]`,b===`warn`&&`text-amber-600 dark:text-amber-400`,b===`danger`&&`text-red-600 dark:text-red-400`),children:$(t.totalTokens)}),(0,Y.jsxs)(`span`,{className:`text-[hsl(var(--deck-ink-faint))]`,children:[`/ `,$(t.maxContextTokens)]})]}),t.isDefaultMaxTokens&&(0,Y.jsx)(Nn,{children:(0,Y.jsxs)(Pn,{children:[(0,Y.jsx)(Fn,{asChild:!0,children:(0,Y.jsx)(Fe,{className:`h-3 w-3 cursor-help text-[hsl(var(--deck-ink-faint))]`})}),(0,Y.jsx)(In,{side:`top`,className:`max-w-[220px]`,children:(0,Y.jsx)(`p`,{className:`text-xs`,children:e(`status.tokenLimitTooltip`)})})]})}),(0,Y.jsxs)(`div`,{className:`relative hidden h-2 w-32 overflow-hidden rounded-sm border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))] sm:block`,"aria-hidden":`true`,children:[(0,Y.jsx)(`div`,{className:H(`absolute inset-y-0 left-0 transition-[width] duration-300`,b===`safe`&&`bg-[hsl(var(--deck-accent))]`,b===`warn`&&`bg-amber-500`,b===`danger`&&`bg-red-500`),style:{width:`${v}%`}}),(0,Y.jsx)(`div`,{className:`flex absolute inset-0 pointer-events-none`,children:[25,50,75].map(e=>(0,Y.jsx)(`span`,{className:`absolute inset-y-0 w-px bg-[hsl(var(--deck-canvas-veil))]/60`,style:{left:`${e}%`}},e))})]}),(0,Y.jsxs)(`span`,{className:H(`w-10 text-right tabular-nums text-[hsl(var(--deck-ink-faint))]`,b===`warn`&&`text-amber-600 dark:text-amber-400`,b===`danger`&&`text-red-600 dark:text-red-400`),children:[h,`%`]})]}),(0,Y.jsx)(Nn,{children:(0,Y.jsxs)(Pn,{children:[(0,Y.jsx)(Fn,{asChild:!0,children:(0,Y.jsxs)(`div`,{className:`flex shrink-0 cursor-help items-baseline gap-2 border-l border-[hsl(var(--deck-hairline))] pl-2 sm:pl-4`,"data-testid":`prompt-cache-hit-rate`,"aria-label":`${e(`status.cache`)} ${_}`,children:[(0,Y.jsx)(`span`,{className:`deck-eyebrow text-[hsl(var(--deck-ink-faint))]`,children:e(`status.cache`)}),(0,Y.jsx)(`span`,{className:H(`tabular-nums`,g.hitRate===void 0?`text-[hsl(var(--deck-ink-faint))]`:`font-medium text-[hsl(var(--deck-accent))]`),children:_})]})}),(0,Y.jsx)(In,{side:`top`,className:`max-w-[280px]`,children:g.hitRate===void 0?(0,Y.jsx)(`p`,{className:`text-xs`,children:e(`status.cacheUnavailable`)}):(0,Y.jsxs)(`div`,{className:`space-y-1 text-xs`,children:[(0,Y.jsx)(`p`,{children:e(`status.cacheTooltip`)}),(0,Y.jsx)(`p`,{className:`font-mono tabular-nums`,children:e(`status.cacheDetails`,{read:$(g.cacheReadTokens),write:$(g.cacheWriteTokens),uncached:$(g.uncachedInputTokens)})}),t.cacheBreak&&(0,Y.jsx)(`p`,{className:`text-[hsl(var(--deck-accent))]`,children:e(`status.cacheBreak`,{reason:e(tr[t.cacheBreak.reason]??`status.cacheBreak.server`),previous:$(t.cacheBreak.previousCacheReadTokens),current:$(t.cacheBreak.cacheReadTokens)})})]})})]})}),(0,Y.jsx)(`div`,{className:`flex-1`}),(f||o||n&&m&&(!a?.snapshot||s))&&(0,Y.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,Y.jsx)(`span`,{className:H(`shrink-0`,f?`h-2 w-2 rounded-sm bg-amber-500`:`deck-pulse-dot`)}),(0,Y.jsxs)(`span`,{className:H(`truncate`,f?`text-amber-600 dark:text-amber-400`:`text-[hsl(var(--deck-accent))]`),children:[m,p?(0,Y.jsxs)(`span`,{className:`hidden sm:inline`,children:[` · `,p]}):null]})]})]})}function ir(){let{locale:e}=S(),t=x(e=>e.agentTeamsEnabled),n=q(e=>e.teams),r=q(e=>e.currentSessionRef),i=q(e=>u(e.historySurfaceSelection)),o=q(e=>e.loadTeams),[s,c]=(0,J.useState)({}),[l,d]=(0,J.useState)({}),[f,p]=(0,J.useState)({}),[m,h]=(0,J.useState)(null),[g,_]=(0,J.useState)(null),[v,y]=(0,J.useState)(null);if((0,J.useEffect)(()=>{i||o(r??void 0)},[t,r,i,o]),i||!t||!r||n.length===0)return null;let b=async t=>{if(a(q.getState()))return;let n=f[t]?.trim();if(n&&!m){h(t),y(null);try{await Ne.sendMessage(r,t,l[t]??`*`,n),p(e=>({...e,[t]:``})),await o(r)}catch(t){y(t instanceof Error?t.message:T(e,`actionFailed`))}finally{h(null)}}},C=async t=>{if(!a(q.getState())&&!g){_(t),y(null);try{await Ne.delete(r,t),await o(r)}catch(t){y(t instanceof Error?t.message:T(e,`actionFailed`))}finally{_(null)}}};return(0,Y.jsxs)(`section`,{"aria-label":T(e,`title`),"data-blade-team-panel":!0,className:`shrink-0 border-y border-emerald-300/50 bg-emerald-50/55 dark:border-emerald-800/55 dark:bg-emerald-950/20`,children:[v&&(0,Y.jsx)(`div`,{role:`alert`,className:`border-b border-red-200 bg-red-50 px-4 py-2 font-mono text-[10px] text-red-700 dark:border-red-900 dark:bg-red-950/30 dark:text-red-300 md:px-6`,children:v}),n.filter(e=>e.status!==`deleted`).map(t=>{let n=s[t.name]??t.status===`running`,r=t.tasks.filter(e=>e.status===`completed`).length;return(0,Y.jsxs)(`div`,{className:`border-b border-emerald-200/40 last:border-0 dark:border-emerald-900/40`,children:[(0,Y.jsxs)(`div`,{className:`flex min-h-11 items-center gap-2 px-4 py-2 md:px-6`,children:[(0,Y.jsx)(`button`,{type:`button`,onClick:()=>c(e=>({...e,[t.name]:!n})),"aria-label":n?T(e,`collapse`):T(e,`expand`),className:`flex h-7 w-7 items-center justify-center rounded-md text-emerald-700 hover:bg-emerald-100 dark:text-emerald-300 dark:hover:bg-emerald-900/50`,children:n?(0,Y.jsx)(W,{className:`h-4 w-4`}):(0,Y.jsx)(A,{className:`h-4 w-4`})}),(0,Y.jsx)($e,{className:`h-4 w-4 shrink-0 text-emerald-700 dark:text-emerald-300`}),(0,Y.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-baseline gap-2`,children:[(0,Y.jsx)(`h2`,{className:`truncate font-mono text-[11px] font-semibold uppercase text-emerald-800 dark:text-emerald-200`,children:t.name}),(0,Y.jsxs)(`span`,{className:`font-mono text-[9.5px] text-[hsl(var(--deck-ink-faint))]`,children:[t.status,` · `,t.members.length-1,` `,T(e,`members`),` · `,r,`/`,t.tasks.length,` `,T(e,`tasks`)]})]}),t.description&&(0,Y.jsx)(`p`,{className:`truncate font-mono text-[10px] text-[hsl(var(--deck-ink-muted))]`,children:t.description})]}),(0,Y.jsx)(`button`,{type:`button`,onClick:()=>void C(t.name),disabled:g===t.name,"aria-label":T(e,`delete`),title:T(e,`delete`),className:`flex h-7 w-7 items-center justify-center rounded-md text-[hsl(var(--deck-ink-faint))] hover:bg-red-50 hover:text-red-600 disabled:opacity-40 dark:hover:bg-red-950/40`,children:(0,Y.jsx)(R,{className:`h-3.5 w-3.5`})})]}),n&&(0,Y.jsxs)(`div`,{className:`max-h-[min(40vh,360px)] overflow-y-auto border-t border-emerald-200/40 px-4 py-3 md:px-6 dark:border-emerald-900/40`,children:[(0,Y.jsxs)(`div`,{className:`grid gap-x-6 gap-y-2 lg:grid-cols-2`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`h3`,{className:`mb-1 font-mono text-[9.5px] font-semibold uppercase text-[hsl(var(--deck-ink-faint))]`,children:T(e,`members`)}),t.members.map(t=>(0,Y.jsxs)(`div`,{className:`flex min-h-7 items-center gap-2 border-b border-[hsl(var(--deck-hairline)/0.55)] py-1 last:border-0`,children:[(0,Y.jsx)(`span`,{"aria-label":t.status,className:`h-1.5 w-1.5 shrink-0 rounded-full ${t.status===`running`?`bg-emerald-500`:t.status===`completed`||t.status===`leader`?`bg-sky-500`:t.status===`failed`?`bg-red-500`:`bg-zinc-400`}`}),(0,Y.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-mono text-[10.5px] text-[hsl(var(--deck-ink))]`,children:t.name}),(0,Y.jsx)(`span`,{className:`font-mono text-[9px] text-[hsl(var(--deck-ink-faint))]`,children:t.subagentType}),t.worktreePath&&(0,Y.jsx)(xe,{className:`h-3 w-3 text-[hsl(var(--deck-ink-faint))]`,"aria-label":T(e,`worktree`)})]},t.id))]}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`h3`,{className:`mb-1 font-mono text-[9.5px] font-semibold uppercase text-[hsl(var(--deck-ink-faint))]`,children:T(e,`tasks`)}),t.tasks.length===0?(0,Y.jsx)(`p`,{className:`font-mono text-[10px] text-[hsl(var(--deck-ink-faint))]`,children:T(e,`noTasks`)}):t.tasks.map(e=>(0,Y.jsxs)(`div`,{className:`flex min-h-7 items-center gap-2 border-b border-[hsl(var(--deck-hairline)/0.55)] py-1 last:border-0`,children:[(0,Y.jsxs)(`span`,{className:`w-5 shrink-0 font-mono text-[9px] text-[hsl(var(--deck-ink-faint))]`,children:[`#`,e.id]}),(0,Y.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-mono text-[10.5px] text-[hsl(var(--deck-ink))]`,children:e.subject}),(0,Y.jsx)(`span`,{className:`font-mono text-[9px] text-[hsl(var(--deck-ink-faint))]`,children:e.status})]},e.id))]})]}),t.peerMessagingEnabled&&(0,Y.jsxs)(`div`,{className:`mt-3 flex items-center gap-2 border-t border-emerald-200/40 pt-3 dark:border-emerald-900/40`,children:[(0,Y.jsxs)(`select`,{"aria-label":T(e,`recipient`),value:l[t.name]??`*`,onChange:e=>d(n=>({...n,[t.name]:e.target.value})),className:`h-8 max-w-32 rounded-md border border-[hsl(var(--deck-hairline))] bg-[hsl(var(--deck-surface))] px-2 font-mono text-[10px]`,children:[(0,Y.jsx)(`option`,{value:`*`,children:T(e,`broadcast`)}),t.members.filter(e=>e.status!==`leader`).map(e=>(0,Y.jsx)(`option`,{value:e.name,children:e.name},e.id))]}),(0,Y.jsx)(`input`,{value:f[t.name]??``,onChange:e=>p(n=>({...n,[t.name]:e.target.value})),onKeyDown:e=>{e.key===`Enter`&&b(t.name)},placeholder:T(e,`messagePlaceholder`),className:`h-8 min-w-0 flex-1 rounded-md border border-[hsl(var(--deck-hairline))] bg-[hsl(var(--deck-surface))] px-2 font-mono text-[10.5px] outline-none focus:border-emerald-500`}),(0,Y.jsx)(`button`,{type:`button`,onClick:()=>void b(t.name),disabled:!f[t.name]?.trim()||m===t.name,"aria-label":T(e,`send`),title:T(e,`send`),className:`flex h-8 w-8 shrink-0 items-center justify-center rounded-md bg-emerald-700 text-white hover:bg-emerald-800 disabled:opacity-40 dark:bg-emerald-600`,children:(0,Y.jsx)(de,{className:`h-3.5 w-3.5`})})]})]})]},t.name)})]})}var ar={starting:`chat.turnActivity.starting`,thinking:`chat.turnActivity.thinking`,responding:`chat.turnActivity.responding`,executing_tools:`chat.turnActivity.executingTools`,compacting:`chat.turnActivity.compacting`,continuing:`chat.turnActivity.continuing`};function or(e){let t=Math.max(0,Math.floor(e/1e3));if(t<60)return`${t}s`;let n=Math.floor(t/60),r=t%60;return n<60?`${n}m ${r}s`:`${Math.floor(n/60)}h ${n%60}m ${r}s`}function sr(e,t=Date.now()){let n=e?.snapshot;if(!n)return null;let r=n.activeTools.length+n.activeToolOverflow,i=n.activeTools.slice(0,2).map(e=>e.progress!==void 0&&e.total!==void 0?`${e.name} ${e.progress}/${e.total}`:e.name),a=Math.max(0,n.activeTools.length-i.length+n.activeToolOverflow);return{phaseKey:ar[n.phase],phaseParams:{count:r},tools:i,hiddenTools:a,completedTools:n.toolCallsCompleted,startedTools:n.toolCallsStarted,turn:n.turn,maxTurns:n.maxTurns,elapsed:or(t-n.startedAt)}}function cr({activity:e,memory:t=null}){let n=y(),[r,i]=(0,J.useState)(Date.now()),a=e?.snapshot?.startedAt;(0,J.useEffect)(()=>{if(a===void 0)return;i(Date.now());let e=window.setInterval(()=>i(Date.now()),1e3);return()=>window.clearInterval(e)},[a]);let o=sr(e,r);if(!o)return t?.outcome===`written`?(0,Y.jsxs)(`section`,{role:`status`,"aria-live":`polite`,"data-memory-consolidation-notice":!0,className:`mx-4 mb-2 flex min-h-10 items-center gap-3 rounded-lg border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))]/80 px-3 py-2 text-[hsl(var(--deck-ink))] shadow-sm md:mx-6`,children:[(0,Y.jsx)(w,{className:`h-4 w-4 shrink-0 text-[hsl(var(--deck-accent))]`,"aria-hidden":!0}),(0,Y.jsx)(`span`,{className:`text-xs font-semibold`,children:n(`chat.memoryConsolidation.saved`,{count:t.entries})})]}):null;let s=[t?.outcome===`written`?n(`chat.memoryConsolidation.saved`,{count:t.entries}):void 0,...o.tools,o.hiddenTools>0?`+${o.hiddenTools}`:void 0,o.startedTools>0?n(`chat.turnActivity.toolCount`,{completed:o.completedTools,started:o.startedTools}):void 0,o.turn>0?o.maxTurns===null?n(`chat.turnActivity.turn`,{turn:o.turn}):n(`chat.turnActivity.turnBounded`,{turn:o.turn,maxTurns:o.maxTurns}):void 0].filter(e=>e!==void 0);return(0,Y.jsxs)(`section`,{role:`status`,"aria-live":`polite`,"data-turn-activity-strip":!0,className:`mx-4 mb-2 flex min-h-10 items-center gap-3 rounded-lg border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))]/80 px-3 py-2 text-[hsl(var(--deck-ink))] shadow-sm md:mx-6`,children:[(0,Y.jsx)(w,{className:`h-4 w-4 shrink-0 text-[hsl(var(--deck-accent))] motion-safe:animate-pulse`,"aria-hidden":!0}),(0,Y.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Y.jsx)(`div`,{className:`text-xs font-semibold`,children:n(o.phaseKey,o.phaseParams)}),s.length>0&&(0,Y.jsx)(`div`,{className:`mt-0.5 truncate font-mono text-[10px] text-[hsl(var(--deck-ink-muted))]`,children:s.join(` · `)})]}),(0,Y.jsx)(`span`,{className:`shrink-0 font-mono text-[10px] tabular-nums text-[hsl(var(--deck-ink-muted))]`,children:o.elapsed})]})}function lr(e){let t=[...e].reverse().find(e=>e.role===`user`);return t?typeof t.content==`string`?{content:t.content,attachments:[]}:{content:t.content.filter(e=>e.type===`text`).map(e=>e.text).join(`
17
- `),attachments:t.content.filter(e=>e.type===`image_url`).map((e,n)=>{let r=e.image_url.url.match(/^data:([^;,]+)[;,]/)?.[1]??`application/octet-stream`;return{id:`recovery-${t.id}-${n}`,name:`attachment-${n+1}`,mimeType:r,dataUrl:e.image_url.url}})}:null}function ur({messages:e,isLoading:t,isStreaming:n,isStopping:r,errorMessage:i}){let a=y(),[o,s]=(0,J.useState)(!1),c=a(i?`status.phase.error`:r?`chat.input.action.stopping`:n?`status.phase.running`:`preview.files.status.ready`);return(0,Y.jsxs)(`details`,{"data-preview-status-disclosure":!0,open:o,onToggle:e=>s(e.currentTarget.open),className:`group hidden`,children:[(0,Y.jsxs)(`summary`,{className:`flex h-9 cursor-pointer list-none items-center gap-2 px-3 font-mono text-[11px] text-[hsl(var(--deck-ink-muted))] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-[hsl(var(--deck-accent))]`,children:[n&&(0,Y.jsx)(`span`,{className:`deck-pulse-dot`}),(0,Y.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:c}),(0,Y.jsx)(A,{className:`h-3.5 w-3.5 shrink-0 transition-transform group-open:rotate-90`})]}),o&&(0,Y.jsxs)(`div`,{"data-preview-activity-details":!0,className:`flex h-[min(44vh,420px)] min-h-0 flex-col border-t border-[hsl(var(--deck-hairline))]`,children:[i&&(0,Y.jsx)(`div`,{role:`alert`,className:`border-b border-red-200/60 bg-red-50/80 px-3 py-2 font-mono text-[11px] text-red-700 dark:border-red-900/50 dark:bg-red-950/30 dark:text-red-300`,children:i}),(0,Y.jsx)(jn,{messages:e,isLoading:t}),(0,Y.jsx)(rr,{})]})]})}function dr(){let e=y(),t=q(e=>e.messages),n=q(e=>e.currentSessionRef),r=q(e=>e.isStreaming),o=q(e=>e.isStopping),s=q(e=>e.providerRecovery),u=q(e=>e.turnActivity),d=q(e=>e.memoryConsolidation),f=q(e=>e.actionStationarity),p=q(e=>e.sessionEventConnectionState),m=q(e=>e.pendingSteeringCount),h=q(e=>e.pendingInputDelivery),g=q(e=>e.recoveredSteeringCount),_=q(e=>e.followUpQueue),v=q(e=>e.followUpQueueMutation),b=q(e=>e.mutateFollowUpQueue),x=q(e=>e.refreshFollowUpQueue),S=q(e=>!!e.historySurfaceSelection),C=q(e=>e.isLoading),w=q(e=>e.error),T=q(e=>e.errorContext),E=q(e=>e.sessions),D=q(e=>e.sendMessage),O=q(e=>e.openSideConversation),k=q(e=>e.abortSession),A=q(e=>e.retryTask),j=q(e=>e.retryingTaskKeys),M=c(e=>e.openSettings),N=q(e=>e.reconnectSessionEvents),P=q(e=>e.clearError),[F,I]=(0,J.useState)(null),[te,ne]=(0,J.useState)(null),re=n?E.find(e=>e.sessionId===n.sessionId&&e.projectPath===n.projectPath):void 0,ie=!!w&&(T?.kind===`navigation`||!T?.sessionRef||ce(T.sessionRef,n)),L=T?.failureCode??re?.taskFailure?.code,oe=(T?.kind===`execution`||T?.failureCode)&&L?e(i(L)):w===`queue_full`?e(`chat.error.queueFull`):w===`turn_unavailable`||w===`turn_active`?e(`chat.error.turnChanged`):w,R=p===`connecting`||p===`reconnecting`,se=r&&p!==`connected`,z=n?`session:${G(n)}`:`session:temporary`,B=(0,J.useMemo)(()=>lr(t),[t]),V=n?G(n):`temporary-session`,H=!(!n||!re?.taskRetryAvailable||L&&!l(L))&&(T?.kind===`execution`||T?.kind===`task_action`),le=T?.kind===`execution`&&(L===`authentication`||L===`permission`||L===`model_unavailable`),U=n?j.includes(G(n)):!1;(0,J.useEffect)(()=>{I(null),ne(null)},[V]);let ue=(0,J.useCallback)(e=>{ne(t=>({messageId:e,requestId:(t?.requestId??0)+1,sessionKey:V}))},[V]),de=async e=>!a(q.getState())&&D({content:e.content,modelId:e.modelId,reasoningEffort:e.reasoningEffort,serviceTier:e.serviceTier,responseVerbosity:e.responseVerbosity,communicationStyle:e.communicationStyle,...e.annotations?{annotations:e.annotations}:{},...e.outputSchema?{outputSchema:e.outputSchema}:{},attachments:e.attachments.map(e=>({type:`image`,content:e.dataUrl,mimeType:e.mimeType,name:e.name}))}),W=()=>{if(!a(q.getState()))return k()},pe=async()=>{if(!a(q.getState())){if(le){P(),M(`models`);return}if(H&&n){P(),await A(n).catch(()=>void 0);return}if(T?.kind===`execution`&&B){I({...B,revision:Date.now()}),P();return}P(),requestAnimationFrame(()=>fe())}},he=H?e(U?`chat.error.action.retryingTask`:`chat.error.action.retryTask`):le?e(`chat.error.action.checkModels`):T?.kind===`execution`&&B?e(`chat.error.action.editResend`):T?.kind===`submission`?e(`chat.error.action.returnDraft`):null;return(0,Y.jsxs)(`div`,{"data-chat-view":!0,className:`relative flex h-full min-h-0 overflow-hidden bg-[hsl(var(--deck-canvas))]`,children:[(0,Y.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,Y.jsxs)(`div`,{"data-chat-history":!0,className:`contents`,children:[ie&&(0,Y.jsxs)(`div`,{role:`alert`,"data-blade-session-error":!0,className:`flex min-h-11 flex-wrap items-center gap-2 border-b border-red-200/60 bg-red-50/80 px-4 py-2 font-mono text-[11px] text-red-700 dark:border-red-900/50 dark:bg-red-950/30 dark:text-red-300 sm:px-5`,children:[(0,Y.jsx)(_e,{className:`h-3.5 w-3.5 shrink-0`}),(0,Y.jsxs)(`span`,{className:`min-w-0 flex-1 break-words`,children:[(0,Y.jsx)(`span`,{className:`font-semibold`,children:e(T?.kind===`submission`?`chat.error.title.submission`:T?.kind===`execution`?`chat.error.title.execution`:T?.kind===`navigation`?`chat.error.title.navigation`:`chat.error.title.generic`)}),` `,oe]}),he&&(0,Y.jsxs)(`button`,{type:`button`,onClick:()=>void pe(),disabled:U,className:`inline-flex min-h-7 shrink-0 items-center gap-1.5 rounded-md border border-red-300/70 bg-white/65 px-2.5 font-medium transition-colors hover:bg-white focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-red-500 disabled:cursor-wait disabled:opacity-60 dark:border-red-800 dark:bg-red-950/45 dark:hover:bg-red-900/60`,children:[H?U?(0,Y.jsx)(K,{className:`h-3 w-3 animate-spin`}):(0,Y.jsx)(ge,{className:`h-3 w-3`}):(0,Y.jsx)(ee,{className:`h-3 w-3`}),he]}),(0,Y.jsx)(`button`,{type:`button`,onClick:P,"aria-label":e(`chat.error.dismiss`),className:`p-1 text-red-500 rounded transition-colors hover:bg-red-100/60 hover:text-red-700 dark:hover:bg-red-950/60 dark:hover:text-red-100`,children:`✕`})]}),(R||p===`offline`)&&(0,Y.jsxs)(`div`,{role:p===`offline`?`alert`:`status`,"aria-live":`polite`,className:`flex min-h-10 flex-wrap items-center gap-2 border-b border-amber-300/60 bg-amber-50/80 px-4 py-2 font-mono text-[11px] text-amber-900 dark:border-amber-800/60 dark:bg-amber-950/35 dark:text-amber-200 sm:px-5`,children:[R?(0,Y.jsx)(K,{className:`h-3.5 w-3.5 shrink-0 animate-spin`}):(0,Y.jsx)(ae,{className:`h-3.5 w-3.5 shrink-0`}),(0,Y.jsx)(`span`,{className:`min-w-0 flex-1`,children:e(R?`chat.connection.reconnecting`:`chat.connection.offline`)}),p===`offline`&&(0,Y.jsxs)(`button`,{type:`button`,onClick:()=>{a(q.getState())||N().catch(()=>void 0)},className:`inline-flex min-h-7 items-center gap-1.5 rounded-md border border-amber-400/70 bg-white/60 px-2.5 font-medium transition-colors hover:bg-white focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-amber-500 dark:border-amber-700 dark:bg-amber-950/50 dark:hover:bg-amber-900/50`,children:[(0,Y.jsx)(Se,{className:`h-3 w-3`}),e(`chat.connection.retry`)]})]}),(0,Y.jsx)(tt,{}),(0,Y.jsx)(jn,{messages:t,isLoading:C,selectionDraftKey:S?void 0:z,canAskSideConversation:!(!n||S),onOpenSideConversation:O,navigationRequest:te?.sessionKey===V?te:null},n?G(n):`temporary-session`),(0,Y.jsx)(ir,{})]}),(0,Y.jsxs)(`div`,{"data-chat-composer-dock":!0,className:`contents`,children:[(0,Y.jsx)(ur,{messages:t,isLoading:C,isStreaming:r,isStopping:o,errorMessage:ie?oe:null},V),(0,Y.jsx)(Hn,{}),(0,Y.jsx)(Bn,{}),(0,Y.jsx)(Mn,{queue:S?null:_,mutation:v,onMutate:b,onRefresh:x}),(0,Y.jsx)(Gn,{recovery:S?null:s,stopping:o,onStop:W}),(0,Y.jsx)(cr,{activity:S||s?.snapshot||f||re?.pendingInteraction?null:u,memory:S?null:d}),(0,Y.jsx)(me,{draftKey:z,draft:F?.content,draftAttachments:F?.attachments,draftRevision:F?.revision,onSend:de,onAbort:W,disabled:C||se,isStreaming:r,isStopping:o,pendingSteeringCount:m,pendingInputDelivery:h,recoveredSteeringCount:g,workspacePath:n?.projectPath,onNavigateToMessage:ue},z),(0,Y.jsx)(`div`,{"data-chat-primary-status":!0,className:`contents`,children:(0,Y.jsx)(rr,{})})]})]}),(0,Y.jsx)(Xn,{})]})}export{dr as ChatView};