@bryanhu/codexly 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (201) hide show
  1. package/CHANGELOG.md +21 -1
  2. package/dist/{chunk-6HXWAD7A.js → chunk-63TSFHXS.js} +354 -77
  3. package/dist/{chunk-VZLNYRY3.js → chunk-6W2NSQP6.js} +1 -1
  4. package/dist/{chunk-Y7HG5THF.js → chunk-I5XCZA2U.js} +66 -31
  5. package/dist/{chunk-DR6HEQ7V.js → chunk-TGDKFWII.js} +9 -2
  6. package/dist/cli.js +5 -5
  7. package/dist/client/index.js +2 -2
  8. package/dist/protocol/index.js +1 -1
  9. package/dist/providers/codex/index.js +2 -2
  10. package/dist/server/index.js +4 -4
  11. package/dist/web/.vite/manifest.json +268 -261
  12. package/dist/web/.vite/manifest.json.br +0 -0
  13. package/dist/web/.vite/manifest.json.gz +0 -0
  14. package/dist/web/assets/{button-B0Zy5xUw.js → button-SdoQawHa.js} +1 -1
  15. package/dist/web/assets/button-SdoQawHa.js.br +0 -0
  16. package/dist/web/assets/{button-B0Zy5xUw.js.gz → button-SdoQawHa.js.gz} +0 -0
  17. package/dist/web/assets/button-group-cIDkfDF9.js +1 -0
  18. package/dist/web/assets/button-group-cIDkfDF9.js.br +0 -0
  19. package/dist/web/assets/button-group-cIDkfDF9.js.gz +0 -0
  20. package/dist/web/assets/{checkbox-J-dVFT8h.js → checkbox-BlpFo5_d.js} +1 -1
  21. package/dist/web/assets/checkbox-BlpFo5_d.js.br +0 -0
  22. package/dist/web/assets/checkbox-BlpFo5_d.js.gz +0 -0
  23. package/dist/web/assets/{chunk-BO2N2NFS-Cv0xdEIU.js → chunk-BO2N2NFS-D3J36g1Z.js} +4 -4
  24. package/dist/web/assets/chunk-BO2N2NFS-D3J36g1Z.js.br +0 -0
  25. package/dist/web/assets/{chunk-BO2N2NFS-Cv0xdEIU.js.gz → chunk-BO2N2NFS-D3J36g1Z.js.gz} +0 -0
  26. package/dist/web/assets/{code-highlighter-XA2cEb7n.js → code-highlighter-Cl_7OKC4.js} +1 -1
  27. package/dist/web/assets/code-highlighter-Cl_7OKC4.js.br +0 -0
  28. package/dist/web/assets/code-highlighter-Cl_7OKC4.js.gz +0 -0
  29. package/dist/web/assets/code-languages-CoeGleQS.js +2 -0
  30. package/dist/web/assets/code-languages-CoeGleQS.js.br +0 -0
  31. package/dist/web/assets/code-languages-CoeGleQS.js.gz +0 -0
  32. package/dist/web/assets/cpp-DrC1WCyF.js +1 -0
  33. package/dist/web/assets/cpp-DrC1WCyF.js.br +0 -0
  34. package/dist/web/assets/cpp-DrC1WCyF.js.gz +0 -0
  35. package/dist/web/assets/cpp-DuI2J82L.js +1 -0
  36. package/dist/web/assets/cpp-DuI2J82L.js.br +0 -0
  37. package/dist/web/assets/cpp-DuI2J82L.js.gz +0 -0
  38. package/dist/web/assets/{engine-compile-DQ0HPfe0.js → engine-compile-Bqjaa_8Z.js} +14 -14
  39. package/dist/web/assets/engine-compile-Bqjaa_8Z.js.br +0 -0
  40. package/dist/web/assets/engine-compile-Bqjaa_8Z.js.gz +0 -0
  41. package/dist/web/assets/es2015-B-skuqay.js +41 -0
  42. package/dist/web/assets/es2015-B-skuqay.js.br +0 -0
  43. package/dist/web/assets/es2015-B-skuqay.js.gz +0 -0
  44. package/dist/web/assets/{file-fDjkn3KE.js → file-DwOQ4CRt.js} +1 -1
  45. package/dist/web/assets/file-DwOQ4CRt.js.br +0 -0
  46. package/dist/web/assets/file-DwOQ4CRt.js.gz +0 -0
  47. package/dist/web/assets/{file-review-dialog-a4LVk4QA.js → file-review-dialog-BmXxZad1.js} +2 -2
  48. package/dist/web/assets/file-review-dialog-BmXxZad1.js.br +0 -0
  49. package/dist/web/assets/file-review-dialog-BmXxZad1.js.gz +0 -0
  50. package/dist/web/assets/{file-tree-Dh8mZi4H.js → file-tree-Bl6o98td.js} +1 -1
  51. package/dist/web/assets/file-tree-Bl6o98td.js.br +0 -0
  52. package/dist/web/assets/file-tree-Bl6o98td.js.gz +0 -0
  53. package/dist/web/assets/{git-commit-horizontal-DqCudnTd.js → git-commit-horizontal-1BtAo1_y.js} +1 -1
  54. package/dist/web/assets/git-commit-horizontal-1BtAo1_y.js.br +0 -0
  55. package/dist/web/assets/git-commit-horizontal-1BtAo1_y.js.gz +0 -0
  56. package/dist/web/assets/{git-history-panel-C0BqsVJw.js → git-history-panel-zXprGDsD.js} +2 -2
  57. package/dist/web/assets/git-history-panel-zXprGDsD.js.br +0 -0
  58. package/dist/web/assets/git-history-panel-zXprGDsD.js.gz +0 -0
  59. package/dist/web/assets/global-settings-dialog-CQK8OvfF.js +1 -0
  60. package/dist/web/assets/global-settings-dialog-CQK8OvfF.js.br +0 -0
  61. package/dist/web/assets/global-settings-dialog-CQK8OvfF.js.gz +0 -0
  62. package/dist/web/assets/grammar-cpp-support-CH6jZNJS.js +1 -0
  63. package/dist/web/assets/grammar-cpp-support-CH6jZNJS.js.br +0 -0
  64. package/dist/web/assets/grammar-cpp-support-CH6jZNJS.js.gz +0 -0
  65. package/dist/web/assets/{highlighted-body-OFNGDK62-3Xd1uGCw.js → highlighted-body-OFNGDK62-DLuRF1Ir.js} +1 -1
  66. package/dist/web/assets/highlighted-body-OFNGDK62-DLuRF1Ir.js.br +0 -0
  67. package/dist/web/assets/highlighted-body-OFNGDK62-DLuRF1Ir.js.gz +0 -0
  68. package/dist/web/assets/index-BQDjXTIj.js +4 -0
  69. package/dist/web/assets/index-BQDjXTIj.js.br +0 -0
  70. package/dist/web/assets/index-BQDjXTIj.js.gz +0 -0
  71. package/dist/web/assets/index-Cg_JyLiC.css +2 -0
  72. package/dist/web/assets/index-Cg_JyLiC.css.br +0 -0
  73. package/dist/web/assets/index-Cg_JyLiC.css.gz +0 -0
  74. package/dist/web/assets/lazy-message-response-BAESsr6y.js +2 -0
  75. package/dist/web/assets/lazy-message-response-BAESsr6y.js.br +0 -0
  76. package/dist/web/assets/lazy-message-response-BAESsr6y.js.gz +0 -0
  77. package/dist/web/assets/mermaid-GHXKKRXX-D80VLkUl.js +1 -0
  78. package/dist/web/assets/mermaid-GHXKKRXX-D80VLkUl.js.br +0 -0
  79. package/dist/web/assets/mermaid-GHXKKRXX-D80VLkUl.js.gz +0 -0
  80. package/dist/web/assets/{message-response-DyFE9GSy.js → message-response-ll2GyVvz.js} +1 -1
  81. package/dist/web/assets/message-response-ll2GyVvz.js.br +0 -0
  82. package/dist/web/assets/message-response-ll2GyVvz.js.gz +0 -0
  83. package/dist/web/assets/{patch-diff-viewer-DHfvCO4S.js → patch-diff-viewer-7Ar-plzV.js} +2 -2
  84. package/dist/web/assets/patch-diff-viewer-7Ar-plzV.js.br +0 -0
  85. package/dist/web/assets/patch-diff-viewer-7Ar-plzV.js.gz +0 -0
  86. package/dist/web/assets/{perl-Br95gH8g.js → perl-C4NAnH_t.js} +1 -1
  87. package/dist/web/assets/perl-C4NAnH_t.js.br +0 -0
  88. package/dist/web/assets/{perl-Br95gH8g.js.gz → perl-C4NAnH_t.js.gz} +0 -0
  89. package/dist/web/assets/{php-CYrBA5iX.js → php-CQT4wx5i.js} +1 -1
  90. package/dist/web/assets/php-CQT4wx5i.js.br +0 -0
  91. package/dist/web/assets/{php-CYrBA5iX.js.gz → php-CQT4wx5i.js.gz} +0 -0
  92. package/dist/web/assets/prompt-input-controls-t69FYoWk.js +1 -0
  93. package/dist/web/assets/prompt-input-controls-t69FYoWk.js.br +0 -0
  94. package/dist/web/assets/prompt-input-controls-t69FYoWk.js.gz +0 -0
  95. package/dist/web/assets/{provider-connection-queries-C2Fn0xx2.js → provider-connection-queries-BKyJMJn1.js} +1 -1
  96. package/dist/web/assets/provider-connection-queries-BKyJMJn1.js.br +0 -0
  97. package/dist/web/assets/provider-connection-queries-BKyJMJn1.js.gz +0 -0
  98. package/dist/web/assets/{ruby-CbXu8Ywv.js → ruby-Oh3ZbUP2.js} +1 -1
  99. package/dist/web/assets/ruby-Oh3ZbUP2.js.br +0 -0
  100. package/dist/web/assets/ruby-Oh3ZbUP2.js.gz +0 -0
  101. package/dist/web/assets/{shiki-bundle-CNYWcrCX.js → shiki-bundle-UDLEjOL9.js} +1 -1
  102. package/dist/web/assets/shiki-bundle-UDLEjOL9.js.br +0 -0
  103. package/dist/web/assets/shiki-bundle-UDLEjOL9.js.gz +0 -0
  104. package/dist/web/assets/swift-CyEgAFGc.js +1 -0
  105. package/dist/web/assets/swift-CyEgAFGc.js.br +0 -0
  106. package/dist/web/assets/swift-CyEgAFGc.js.gz +0 -0
  107. package/dist/web/assets/upload-Bbk2LEzM.js +1 -0
  108. package/dist/web/assets/upload-Bbk2LEzM.js.br +0 -0
  109. package/dist/web/assets/upload-Bbk2LEzM.js.gz +0 -0
  110. package/dist/web/assets/{vue-BpAUjojh.js → vue-BcFuTOIy.js} +1 -1
  111. package/dist/web/assets/vue-BcFuTOIy.js.br +0 -0
  112. package/dist/web/assets/vue-BcFuTOIy.js.gz +0 -0
  113. package/dist/web/assets/workbench-inspector-changes-CumCxeA7.js +1 -0
  114. package/dist/web/assets/workbench-inspector-changes-CumCxeA7.js.br +0 -0
  115. package/dist/web/assets/workbench-inspector-changes-CumCxeA7.js.gz +0 -0
  116. package/dist/web/assets/workbench-shell-D21PPmmO.js +13 -0
  117. package/dist/web/assets/workbench-shell-D21PPmmO.js.br +0 -0
  118. package/dist/web/assets/workbench-shell-D21PPmmO.js.gz +0 -0
  119. package/dist/web/index.html +8 -8
  120. package/dist/web/index.html.br +0 -0
  121. package/dist/web/index.html.gz +0 -0
  122. package/package.json +7 -10
  123. package/dist/web/assets/button-B0Zy5xUw.js.br +0 -0
  124. package/dist/web/assets/button-group-Czp67RFV.js +0 -1
  125. package/dist/web/assets/button-group-Czp67RFV.js.br +0 -0
  126. package/dist/web/assets/button-group-Czp67RFV.js.gz +0 -0
  127. package/dist/web/assets/checkbox-J-dVFT8h.js.br +0 -0
  128. package/dist/web/assets/checkbox-J-dVFT8h.js.gz +0 -0
  129. package/dist/web/assets/chunk-BO2N2NFS-Cv0xdEIU.js.br +0 -0
  130. package/dist/web/assets/code-highlighter-XA2cEb7n.js.br +0 -0
  131. package/dist/web/assets/code-highlighter-XA2cEb7n.js.gz +0 -0
  132. package/dist/web/assets/code-languages-B1bG8xP9.js +0 -2
  133. package/dist/web/assets/code-languages-B1bG8xP9.js.br +0 -0
  134. package/dist/web/assets/code-languages-B1bG8xP9.js.gz +0 -0
  135. package/dist/web/assets/cpp-BcHBJY00.js +0 -1
  136. package/dist/web/assets/cpp-BcHBJY00.js.br +0 -0
  137. package/dist/web/assets/cpp-BcHBJY00.js.gz +0 -0
  138. package/dist/web/assets/cpp-CIkEvbIe.js +0 -1
  139. package/dist/web/assets/cpp-CIkEvbIe.js.br +0 -0
  140. package/dist/web/assets/cpp-CIkEvbIe.js.gz +0 -0
  141. package/dist/web/assets/engine-compile-DQ0HPfe0.js.br +0 -0
  142. package/dist/web/assets/engine-compile-DQ0HPfe0.js.gz +0 -0
  143. package/dist/web/assets/es2015-D1QRD4rq.js +0 -41
  144. package/dist/web/assets/es2015-D1QRD4rq.js.br +0 -0
  145. package/dist/web/assets/es2015-D1QRD4rq.js.gz +0 -0
  146. package/dist/web/assets/file-fDjkn3KE.js.br +0 -2
  147. package/dist/web/assets/file-fDjkn3KE.js.gz +0 -0
  148. package/dist/web/assets/file-review-dialog-a4LVk4QA.js.br +0 -0
  149. package/dist/web/assets/file-review-dialog-a4LVk4QA.js.gz +0 -0
  150. package/dist/web/assets/file-tree-Dh8mZi4H.js.br +0 -0
  151. package/dist/web/assets/file-tree-Dh8mZi4H.js.gz +0 -0
  152. package/dist/web/assets/git-commit-horizontal-DqCudnTd.js.br +0 -0
  153. package/dist/web/assets/git-commit-horizontal-DqCudnTd.js.gz +0 -0
  154. package/dist/web/assets/git-history-panel-C0BqsVJw.js.br +0 -0
  155. package/dist/web/assets/git-history-panel-C0BqsVJw.js.gz +0 -0
  156. package/dist/web/assets/global-settings-dialog-DAk0qzab.js +0 -1
  157. package/dist/web/assets/global-settings-dialog-DAk0qzab.js.br +0 -0
  158. package/dist/web/assets/global-settings-dialog-DAk0qzab.js.gz +0 -0
  159. package/dist/web/assets/grammar-cpp-support-CV8oNpIY.js +0 -1
  160. package/dist/web/assets/grammar-cpp-support-CV8oNpIY.js.br +0 -0
  161. package/dist/web/assets/grammar-cpp-support-CV8oNpIY.js.gz +0 -0
  162. package/dist/web/assets/highlighted-body-OFNGDK62-3Xd1uGCw.js.br +0 -0
  163. package/dist/web/assets/highlighted-body-OFNGDK62-3Xd1uGCw.js.gz +0 -0
  164. package/dist/web/assets/index-C9MtcGVc.js +0 -4
  165. package/dist/web/assets/index-C9MtcGVc.js.br +0 -0
  166. package/dist/web/assets/index-C9MtcGVc.js.gz +0 -0
  167. package/dist/web/assets/index-DAs_avwK.css +0 -2
  168. package/dist/web/assets/index-DAs_avwK.css.br +0 -0
  169. package/dist/web/assets/index-DAs_avwK.css.gz +0 -0
  170. package/dist/web/assets/lazy-message-response-BDqsH4Ww.js +0 -2
  171. package/dist/web/assets/lazy-message-response-BDqsH4Ww.js.br +0 -0
  172. package/dist/web/assets/lazy-message-response-BDqsH4Ww.js.gz +0 -0
  173. package/dist/web/assets/mermaid-GHXKKRXX-Cp6mRHuL.js +0 -1
  174. package/dist/web/assets/mermaid-GHXKKRXX-Cp6mRHuL.js.br +0 -0
  175. package/dist/web/assets/mermaid-GHXKKRXX-Cp6mRHuL.js.gz +0 -0
  176. package/dist/web/assets/message-response-DyFE9GSy.js.br +0 -0
  177. package/dist/web/assets/message-response-DyFE9GSy.js.gz +0 -0
  178. package/dist/web/assets/patch-diff-viewer-DHfvCO4S.js.br +0 -0
  179. package/dist/web/assets/patch-diff-viewer-DHfvCO4S.js.gz +0 -0
  180. package/dist/web/assets/perl-Br95gH8g.js.br +0 -0
  181. package/dist/web/assets/php-CYrBA5iX.js.br +0 -0
  182. package/dist/web/assets/prompt-input-controls-CLj9lxlf.js +0 -1
  183. package/dist/web/assets/prompt-input-controls-CLj9lxlf.js.br +0 -0
  184. package/dist/web/assets/prompt-input-controls-CLj9lxlf.js.gz +0 -0
  185. package/dist/web/assets/provider-connection-queries-C2Fn0xx2.js.br +0 -0
  186. package/dist/web/assets/provider-connection-queries-C2Fn0xx2.js.gz +0 -0
  187. package/dist/web/assets/ruby-CbXu8Ywv.js.br +0 -0
  188. package/dist/web/assets/ruby-CbXu8Ywv.js.gz +0 -0
  189. package/dist/web/assets/shiki-bundle-CNYWcrCX.js.br +0 -0
  190. package/dist/web/assets/shiki-bundle-CNYWcrCX.js.gz +0 -0
  191. package/dist/web/assets/swift-DonLKvLd.js +0 -1
  192. package/dist/web/assets/swift-DonLKvLd.js.br +0 -0
  193. package/dist/web/assets/swift-DonLKvLd.js.gz +0 -0
  194. package/dist/web/assets/vue-BpAUjojh.js.br +0 -0
  195. package/dist/web/assets/vue-BpAUjojh.js.gz +0 -0
  196. package/dist/web/assets/workbench-inspector-changes-fibkZGwp.js +0 -1
  197. package/dist/web/assets/workbench-inspector-changes-fibkZGwp.js.br +0 -0
  198. package/dist/web/assets/workbench-inspector-changes-fibkZGwp.js.gz +0 -0
  199. package/dist/web/assets/workbench-shell-eo1pFJFk.js +0 -13
  200. package/dist/web/assets/workbench-shell-eo1pFJFk.js.br +0 -0
  201. package/dist/web/assets/workbench-shell-eo1pFJFk.js.gz +0 -0
@@ -1 +0,0 @@
1
- import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{i as t,t as n}from"./react-runtime-CVaUQXZF.js";import{n as r,o as i,s as a,t as o,u as s,y as c}from"./button-B0Zy5xUw.js";import{D as l,O as u,X as d,a as f,c as p,o as m,st as h}from"./es2015-D1QRD4rq.js";import{l as g,o as _,r as v,s as y,t as b,u as x}from"./checkbox-J-dVFT8h.js";import{C as S,S as C,a as w,i as T,j as E,o as D,r as O,t as k}from"./file-tree-Dh8mZi4H.js";import{n as A,r as j,t as M}from"./button-group-Czp67RFV.js";import{r as N,x as P}from"./prompt-input-controls-CLj9lxlf.js";import{D as ee,E as te,O as F,T as I,d as ne,f as re,k as L,p as R,u as ie,w as ae,x as oe}from"./index-C9MtcGVc.js";var z=a(`file-minus-corner`,[[`path`,{d:`M20 14V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12`,key:`l9p8hp`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M14 18h6`,key:`1m8k6r`}]]),se=a(`upload`,[[`path`,{d:`M12 3v12`,key:`1x0j5s`}],[`path`,{d:`m17 8-5-5-5 5`,key:`7q97r8`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}]]),B=e(t(),1),V=n(),H=i(`min-w-0 text-foreground outline-none transition-[border-color,box-shadow] placeholder:text-muted-foreground focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50`,{defaultVariants:{variant:`default`},variants:{variant:{default:`min-h-20 w-full resize-y rounded-control bg-control px-3 py-2 text-body focus-visible:shadow-focus`,embedded:`flex-1 resize-none bg-transparent`}}});function U({className:e,variant:t=`default`,...n}){return(0,V.jsx)(`textarea`,{className:r(H({className:e,variant:t})),"data-slot":`textarea`,"data-variant":t,...n})}function W({className:e,...t}){return(0,V.jsx)(`div`,{className:r(`group/input-group flex w-full min-w-0 items-center`,e),"data-slot":`input-group`,role:`group`,...t})}function G({align:e=`inline-start`,className:t,...n}){return(0,V.jsx)(`div`,{className:r(`flex shrink-0 items-center`,t),"data-align":e,"data-slot":`input-group-addon`,role:`group`,...n})}function ce({className:e,...t}){return(0,V.jsx)(U,{className:r(`min-w-0 flex-1`,e),"data-slot":`input-group-control`,variant:`embedded`,...t})}function K(e){return[...e].sort((e,t)=>e.kind===t.kind?e.name.localeCompare(t.name,`en`):e.kind===`file`?-1:1)}function q(e){let t=[e.name],n=e;for(;n.children.size===1;){let e=n.children.values().next().value;if(e?.kind!==`folder`)break;t.push(e.name),n=e}return{children:K([...n.children.values()].map(e=>e.kind===`folder`?q(e):e)),kind:`folder`,name:t.join(`/`),path:n.path}}function le(e){let t={children:new Map,kind:`folder`,name:``,path:``};for(let n of e){let e=n.path.split(`/`),r=e.pop();if(r===void 0)continue;let i=t;for(let t of e){let e=i.path===``?t:`${i.path}/${t}`,n=i.children.get(t);if(n?.kind===`folder`){i=n;continue}let r={children:new Map,kind:`folder`,name:t,path:e};i.children.set(t,r),i=r}i.children.set(r,{kind:`file`,name:r,path:n.path,status:n.kind})}return K([...t.children.values()].map(e=>e.kind===`folder`?q(e):e))}function J(e,t){for(let n of e)n.kind===`folder`&&(t.add(n.path),J(n.children,t))}function Y(e){return e===`create`?`text-diff-added`:e===`delete`?`text-danger`:`text-warning`}function X(e){let t=r(`size-3.5`,Y(e));return e===`create`?(0,V.jsx)(P,{"aria-hidden":`true`,className:t}):e===`delete`?(0,V.jsx)(z,{"aria-hidden":`true`,className:t}):(0,V.jsx)(j,{"aria-hidden":`true`,className:t})}function ue(e){return e===`create`?`A`:e===`delete`?`D`:`M`}function Z({changesByPath:e,disabled:t,label:n,nodes:r,onOpenFileDiff:i,onTogglePath:a,selectedPaths:o}){return r.map(r=>{if(r.kind===`folder`)return(0,V.jsx)(T,{name:r.name,path:r.path,children:(0,V.jsx)(Z,{changesByPath:e,disabled:t,label:n,nodes:r.children,onOpenFileDiff:i,onTogglePath:a,selectedPaths:o})},r.path);let s=o.has(r.path),c=e.get(r.path);return(0,V.jsxs)(O,{"aria-label":r.path,className:Y(r.status),icon:X(r.status),name:r.name,onClick:()=>{c!==void 0&&i(c)},path:r.path,trailing:(0,V.jsx)(`span`,{className:`ml-auto w-3 text-center text-meta font-semibold text-muted-foreground`,children:ue(r.status)}),children:[(0,V.jsx)(`span`,{"aria-hidden":`true`,className:`size-5 shrink-0`}),(0,V.jsx)(b,{"aria-label":`${n}: ${r.path}`,checked:s,disabled:t,onCheckedChange:()=>{a(r.path)},onClick:e=>{e.stopPropagation()}}),(0,V.jsx)(w,{children:X(r.status)}),(0,V.jsx)(D,{title:r.path,children:r.name})]},r.path)})}function Q({changes:e,disabled:t=!1,label:n,onOpenFileDiff:r,onSelectedPathsChange:i,selectedPaths:a}){let o=(0,B.useMemo)(()=>le(e),[e]),s=(0,B.useMemo)(()=>new Map(e.map(e=>[e.path,e])),[e]),c=(0,B.useMemo)(()=>[...new Set(e.map(e=>e.path))],[e]),l=(0,B.useMemo)(()=>{let e=new Set;return J(o,e),e},[o]);if(c.length===0)return null;let u=c.filter(e=>a.has(e)).length,d=u===0?!1:u===c.length||`indeterminate`;return(0,V.jsxs)(`section`,{"aria-label":n,className:`py-0.5`,children:[(0,V.jsxs)(`div`,{className:`flex min-h-7 items-center gap-1.5 px-3`,children:[(0,V.jsx)(b,{"aria-label":n,checked:d,disabled:t||c.length===0,onCheckedChange:e=>{let t=new Set(a);for(let n of c)e===!0?t.add(n):t.delete(n);i(t)}}),(0,V.jsx)(`h3`,{className:`text-label font-semibold text-foreground`,children:n}),(0,V.jsx)(`span`,{className:`ml-auto text-caption text-muted-foreground`,children:c.length})]}),o.length===0?null:(0,V.jsx)(k,{"aria-label":n,className:`px-1`,defaultExpanded:l,children:(0,V.jsx)(Z,{changesByPath:s,disabled:t,label:n,nodes:o,onOpenFileDiff:r,onTogglePath:e=>{let t=new Set(a);t.has(e)?t.delete(e):t.add(e),i(t)},selectedPaths:a})})]})}function de(e){let t=new Map;for(let n of e.staged)t.set(n.path,{path:n.path,staged:!0,unstaged:!1});for(let n of e.unstaged){let e=t.get(n.path);t.set(n.path,{path:n.path,staged:e?.staged??!1,unstaged:!0})}return[...t.values()].sort((e,t)=>e.path.localeCompare(t.path,`en`))}function fe(e){if(e.repositoryMode!==`children`)return[];let t=new Set;for(let n of[...e.staged,...e.unstaged]){let e=n.path.indexOf(`/`);e>0&&t.add(n.path.slice(0,e))}return[...t].toSorted((e,t)=>e.localeCompare(t,`en`))}function $(e,t){return{identity:e,message:``,selectedPaths:new Set(t.map(e=>e.path))}}function pe({error:e=null,gitStatus:t,isCommitting:n=!1,isGenerating:r=!1,isRepositoryLoading:i=!1,onCommit:a,onGenerateMessage:c,onOpenFileDiff:d,onSelectRepository:h=()=>void 0,repositories:_=[],result:y=null,selectedRepository:b=null}){let{t:x}=s(`workbench`),S=(0,B.useMemo)(()=>de(t),[t]),C=`${b??`root`}:${t.snapshot}`,[w,T]=(0,B.useState)(()=>$(C,S)),E=(0,B.useRef)(g());w.identity!==C&&T($(C,S));let{message:D,selectedPaths:O}=w,k=r||n,j=_.length>0||t.repositoryMode===`children`,P=!j||b!==null&&!i&&t.repositoryMode===`root`,z=P&&O.size>0&&!k&&y===null,H=z&&D.trim().length>0,U=()=>E.current.run(async()=>{let e=await c({expectedSnapshot:t.snapshot,paths:[...O],...b===null?{}:{repository:b}});T(t=>({...t,message:e}))}),K=e=>E.current.run(()=>a({action:e,expectedSnapshot:t.snapshot,message:D,paths:[...O],...b===null?{}:{repository:b}}));return(0,V.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col overflow-hidden`,"data-slot":`commit-changes-panel`,children:[j?(0,V.jsxs)(`div`,{className:`shrink-0 border-b border-separator px-3 py-2`,children:[(0,V.jsx)(`label`,{className:`text-label font-medium`,id:`commit-repository-label`,children:x(`commit.repository`)}),(0,V.jsxs)(ae,{disabled:k||y!==null,onValueChange:h,...b===null?{}:{value:b},children:[(0,V.jsx)(F,{"aria-labelledby":`commit-repository-label`,className:`mt-1 w-full`,children:(0,V.jsx)(L,{placeholder:x(`commit.selectRepository`)})}),(0,V.jsx)(I,{position:`popper`,children:(0,V.jsx)(te,{children:_.map(e=>(0,V.jsx)(ee,{value:e,children:e},e))})})]}),i?(0,V.jsx)(`p`,{className:`mt-1 text-caption text-muted-foreground`,role:`status`,children:x(`commit.repositoryLoading`)}):null,_.length===0?(0,V.jsx)(`p`,{className:`mt-1 text-caption text-danger`,role:`alert`,children:x(`commit.repositoryUnavailable`)}):null]}):null,e===null?null:(0,V.jsx)(`p`,{className:`mx-3 mt-2 shrink-0 text-caption text-danger`,role:`alert`,children:e.message}),P?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(`section`,{className:`shrink-0 px-3 py-2`,children:[(0,V.jsxs)(W,{className:`h-8 gap-1 rounded-surface border border-separator-strong bg-panel shadow-sm focus-within:border-brand focus-within:shadow-focus max-workbench:h-11`,children:[(0,V.jsx)(ce,{"aria-label":x(`commit.commitMessage`),className:`h-full min-h-0 overflow-y-auto px-2 py-1.5 text-label leading-5 max-workbench:py-3`,disabled:k||y!==null,id:`commit-message`,onChange:e=>{let t=e.currentTarget.value;T(e=>({...e,message:t}))},placeholder:x(`commit.messagePlaceholder`),rows:1,value:D}),(0,V.jsx)(G,{align:`inline-end`,className:`ml-auto`,children:(0,V.jsxs)(f,{children:[(0,V.jsx)(p,{asChild:!0,children:(0,V.jsx)(N,{"aria-label":x(`commit.generateMessage`),className:`size-7 shrink-0 justify-center p-0 [&_svg]:size-3.5 max-workbench:size-11`,disabled:!z,onClick:()=>{U().catch(()=>void 0)},type:`button`,children:r?(0,V.jsx)(l,{"aria-hidden":`true`,className:`animate-spin`}):(0,V.jsx)(A,{"aria-hidden":`true`})})}),(0,V.jsx)(m,{side:`top`,children:x(`commit.generateMessage`)})]})})]}),y===null?(0,V.jsxs)(M,{className:`mt-2 w-full`,children:[(0,V.jsxs)(o,{className:`flex-1 rounded-r-none`,disabled:!H,onClick:()=>{K(`commit`).catch(()=>void 0)},type:`button`,children:[n?(0,V.jsx)(l,{"aria-hidden":`true`,className:`animate-spin`}):(0,V.jsx)(v,{"aria-hidden":`true`}),x(`commit.commit`)]}),(0,V.jsxs)(ie,{children:[(0,V.jsx)(oe,{asChild:!0,children:(0,V.jsx)(o,{"aria-label":x(`commit.commitActions`),className:`w-10 rounded-l-none border-l border-brand-contrast/30 px-0`,disabled:!H,type:`button`,children:(0,V.jsx)(u,{"aria-hidden":`true`})})}),(0,V.jsx)(ne,{align:`end`,children:(0,V.jsxs)(re,{children:[(0,V.jsxs)(R,{onSelect:()=>{K(`commit`).catch(()=>void 0)},children:[(0,V.jsx)(v,{"aria-hidden":`true`,className:`size-3.5`}),x(`commit.commit`)]}),(0,V.jsxs)(R,{onSelect:()=>{K(`commit_and_push`).catch(()=>void 0)},children:[(0,V.jsx)(se,{"aria-hidden":`true`,className:`size-3.5`}),x(`commit.commitAndPush`)]})]})})]})]}):(0,V.jsx)(`p`,{className:`mt-2 font-mono text-caption text-muted-foreground`,role:`status`,children:y.commitSha.slice(0,7)})]}),(0,V.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col border-t border-separator`,children:[(0,V.jsxs)(`div`,{className:`flex h-8 shrink-0 items-center px-3 text-label font-semibold`,children:[(0,V.jsx)(`span`,{children:x(`commit.changes`)}),(0,V.jsx)(`span`,{className:`ml-auto text-caption font-normal text-muted-foreground`,children:x(`commit.totalFiles`,{count:S.length})})]}),(0,V.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto overscroll-contain py-0.5`,"data-slot":`commit-changes-scroll`,children:[(0,V.jsx)(Q,{changes:t.staged,disabled:k||y!==null,label:x(`commit.staged`),onOpenFileDiff:d,onSelectedPathsChange:e=>{T(t=>({...t,selectedPaths:e}))},selectedPaths:O}),(0,V.jsx)(Q,{changes:t.unstaged,disabled:k||y!==null,label:x(`commit.unstaged`),onOpenFileDiff:d,onSelectedPathsChange:e=>{T(t=>({...t,selectedPaths:e}))},selectedPaths:O})]})]})]}):null]})}function me(e){return e.pushStatus===`pushed`?`commit.commitAndPushSucceeded`:e.pushStatus===`not_requested`?`commit.commitSucceeded`:null}function he({client:e,detailsError:t=null,detailsPending:n=!1,gitStatus:r,onOpenFileDiff:i,projectId:a,rootPath:o}){let{t:c}=s(`workbench`),l=h(),u=x(S(a,o,e)),f=x({...C(a,o,e),meta:{actionNotification:{successMessage:!1}}}),p=(0,B.useMemo)(()=>fe(r),[r]),[m,g]=(0,B.useState)(),[v,b]=(0,B.useState)(null),w=v!==null&&p.includes(v)?v:p[0]??null,T=d(E(a,o,w,r.repositoryMode===`children`,e)),D=r.repositoryMode===`root`?r:T.data??r,O=m?.snapshot===D.snapshot?m.result:null;return(0,V.jsx)(pe,{error:t??T.error,gitStatus:D,isCommitting:f.isPending,isGenerating:u.isPending,isRepositoryLoading:n||T.isFetching,onCommit:async e=>{let t=e.expectedSnapshot,n=await f.mutateAsync(e);g({result:n,snapshot:t}),l.invalidateQueries({queryKey:[`projects`,a,o,`git-status`]}),l.invalidateQueries({queryKey:[`projects`,a,o,`git-history`]});let r=me(n);if(r!==null){y(c(r));return}_(Error(n.pushError??c(`commit.commitCompletePushFailed`)))},onGenerateMessage:async e=>(await u.mutateAsync(e)).message,onOpenFileDiff:i,onSelectRepository:e=>{g(void 0),u.reset(),f.reset(),b(e)},repositories:p,result:O,selectedRepository:w})}function ge({client:e,detailsError:t,detailsPending:n,detailsStatus:r,gitStatus:i,gitStatusError:a,onOpenFileDiff:o,projectId:s,rootPath:l}){return s!==void 0&&e!==void 0&&i!==void 0?(0,V.jsx)(he,{client:e,detailsError:t,detailsPending:n,gitStatus:r??i,onOpenFileDiff:o,projectId:s,rootPath:l}):a===null?(0,V.jsx)(`p`,{className:`p-3 text-caption text-muted-foreground`,role:`status`,children:c.t(`inspector.gitLoading`,{ns:`conversation`})}):(0,V.jsx)(`p`,{className:`p-3 text-caption text-danger`,role:`alert`,children:a.message})}export{ge as WorkbenchInspectorChanges};