@bryanhu/codexly 0.11.0 → 0.11.1

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 (207) hide show
  1. package/CHANGELOG.md +12 -1
  2. package/dist/{chunk-UYRNQKIC.js → chunk-2NJ4CTQP.js} +16 -18
  3. package/dist/{chunk-YAM52SBC.js → chunk-GUHYAMAQ.js} +1 -1
  4. package/dist/{chunk-IJVZZBEJ.js → chunk-HHEP4NNE.js} +3 -3
  5. package/dist/{chunk-Y42ZATDP.js → chunk-YMFGL4ZR.js} +26 -96
  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 +176 -176
  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-group-DLXfo6bM.js → button-group-Bt_Rr9-f.js} +1 -1
  15. package/dist/web/assets/button-group-Bt_Rr9-f.js.br +0 -0
  16. package/dist/web/assets/button-group-Bt_Rr9-f.js.gz +0 -0
  17. package/dist/web/assets/check-C92ZHwwX.js +1 -0
  18. package/dist/web/assets/check-C92ZHwwX.js.br +0 -0
  19. package/dist/web/assets/check-C92ZHwwX.js.gz +0 -0
  20. package/dist/web/assets/{checkbox-BZXZ0drr.js → checkbox-BBHD70U-.js} +1 -1
  21. package/dist/web/assets/checkbox-BBHD70U-.js.br +0 -0
  22. package/dist/web/assets/checkbox-BBHD70U-.js.gz +0 -0
  23. package/dist/web/assets/{chunk-BO2N2NFS-slcXBAuq.js → chunk-BO2N2NFS-ng4dbem1.js} +4 -4
  24. package/dist/web/assets/chunk-BO2N2NFS-ng4dbem1.js.br +0 -0
  25. package/dist/web/assets/chunk-BO2N2NFS-ng4dbem1.js.gz +0 -0
  26. package/dist/web/assets/{code-highlighter-DM8ZTw6W.js → code-highlighter-BMwFeSBd.js} +1 -1
  27. package/dist/web/assets/code-highlighter-BMwFeSBd.js.br +0 -0
  28. package/dist/web/assets/code-highlighter-BMwFeSBd.js.gz +0 -0
  29. package/dist/web/assets/{code-languages-B8mEN6LW.js → code-languages-rKSHZYzu.js} +1 -1
  30. package/dist/web/assets/code-languages-rKSHZYzu.js.br +0 -0
  31. package/dist/web/assets/code-languages-rKSHZYzu.js.gz +0 -0
  32. package/dist/web/assets/{context-menu-B3yxTx7k.js → context-menu-03SuSeWI.js} +1 -1
  33. package/dist/web/assets/context-menu-03SuSeWI.js.br +0 -0
  34. package/dist/web/assets/context-menu-03SuSeWI.js.gz +0 -0
  35. package/dist/web/assets/{dist-CUcZqkKm.js → dist-B_DB3jSu.js} +1 -1
  36. package/dist/web/assets/dist-B_DB3jSu.js.br +0 -0
  37. package/dist/web/assets/dist-B_DB3jSu.js.gz +0 -0
  38. package/dist/web/assets/dist-DBbCRukl.js +1 -0
  39. package/dist/web/assets/dist-DBbCRukl.js.br +0 -0
  40. package/dist/web/assets/dist-DBbCRukl.js.gz +0 -0
  41. package/dist/web/assets/{es2015-Bsdzq73S.js → es2015-BUwabepB.js} +1 -1
  42. package/dist/web/assets/es2015-BUwabepB.js.br +0 -0
  43. package/dist/web/assets/es2015-BUwabepB.js.gz +0 -0
  44. package/dist/web/assets/{file-code-corner-CHgyW09L.js → file-code-corner-CJDhFrYy.js} +1 -1
  45. package/dist/web/assets/file-code-corner-CJDhFrYy.js.br +3 -0
  46. package/dist/web/assets/file-code-corner-CJDhFrYy.js.gz +0 -0
  47. package/dist/web/assets/{file-navigation-view-preference-B_NgDFRZ.js → file-navigation-view-preference-DeIXQ8c4.js} +1 -1
  48. package/dist/web/assets/file-navigation-view-preference-DeIXQ8c4.js.br +0 -0
  49. package/dist/web/assets/file-navigation-view-preference-DeIXQ8c4.js.gz +0 -0
  50. package/dist/web/assets/{file-review-dialog-CcoZo9FJ.js → file-review-dialog-L7snJJP8.js} +2 -2
  51. package/dist/web/assets/file-review-dialog-L7snJJP8.js.br +0 -0
  52. package/dist/web/assets/file-review-dialog-L7snJJP8.js.gz +0 -0
  53. package/dist/web/assets/{file-tree-D7DlsFxt.js → file-tree-DvTv0Re2.js} +1 -1
  54. package/dist/web/assets/file-tree-DvTv0Re2.js.br +0 -0
  55. package/dist/web/assets/file-tree-DvTv0Re2.js.gz +0 -0
  56. package/dist/web/assets/{git-commit-horizontal-9LlF8jUx.js → git-commit-horizontal-hgIO8zJZ.js} +1 -1
  57. package/dist/web/assets/git-commit-horizontal-hgIO8zJZ.js.br +0 -0
  58. package/dist/web/assets/git-commit-horizontal-hgIO8zJZ.js.gz +0 -0
  59. package/dist/web/assets/{git-history-panel-C6R2z0R9.js → git-history-panel-DZY20FzY.js} +2 -2
  60. package/dist/web/assets/git-history-panel-DZY20FzY.js.br +0 -0
  61. package/dist/web/assets/git-history-panel-DZY20FzY.js.gz +0 -0
  62. package/dist/web/assets/{global-settings-dialog-D_DeSDvO.js → global-settings-dialog-cA1SWDdi.js} +1 -1
  63. package/dist/web/assets/global-settings-dialog-cA1SWDdi.js.br +0 -0
  64. package/dist/web/assets/global-settings-dialog-cA1SWDdi.js.gz +0 -0
  65. package/dist/web/assets/{highlighted-body-OFNGDK62-FcoBdZFE.js → highlighted-body-OFNGDK62-UIjGvJpu.js} +1 -1
  66. package/dist/web/assets/highlighted-body-OFNGDK62-UIjGvJpu.js.br +0 -0
  67. package/dist/web/assets/highlighted-body-OFNGDK62-UIjGvJpu.js.gz +0 -0
  68. package/dist/web/assets/index-CldcNq0q.css +2 -0
  69. package/dist/web/assets/index-CldcNq0q.css.br +0 -0
  70. package/dist/web/assets/index-CldcNq0q.css.gz +0 -0
  71. package/dist/web/assets/{index-BE5MTOVO.js → index-WZ8-8oYp.js} +3 -3
  72. package/dist/web/assets/index-WZ8-8oYp.js.br +0 -0
  73. package/dist/web/assets/index-WZ8-8oYp.js.gz +0 -0
  74. package/dist/web/assets/{lazy-message-response-g2mII63b.js → lazy-message-response-SjU6ZsaR.js} +2 -2
  75. package/dist/web/assets/lazy-message-response-SjU6ZsaR.js.br +0 -0
  76. package/dist/web/assets/lazy-message-response-SjU6ZsaR.js.gz +0 -0
  77. package/dist/web/assets/loader-circle-CJOhkEC8.js +1 -0
  78. package/dist/web/assets/loader-circle-CJOhkEC8.js.br +0 -0
  79. package/dist/web/assets/loader-circle-CJOhkEC8.js.gz +0 -0
  80. package/dist/web/assets/mermaid-GHXKKRXX-CDYc39nv.js +1 -0
  81. package/dist/web/assets/mermaid-GHXKKRXX-CDYc39nv.js.br +0 -0
  82. package/dist/web/assets/mermaid-GHXKKRXX-CDYc39nv.js.gz +0 -0
  83. package/dist/web/assets/{message-response-DNm7bUHg.js → message-response-BXln58hx.js} +1 -1
  84. package/dist/web/assets/message-response-BXln58hx.js.br +0 -0
  85. package/dist/web/assets/message-response-BXln58hx.js.gz +0 -0
  86. package/dist/web/assets/{patch-diff-viewer-Cy0QuGBl.js → patch-diff-viewer-BnoOysqK.js} +2 -2
  87. package/dist/web/assets/patch-diff-viewer-BnoOysqK.js.br +0 -0
  88. package/dist/web/assets/patch-diff-viewer-BnoOysqK.js.gz +0 -0
  89. package/dist/web/assets/{project-file-popup-page-Bd-9e7Jz.js → project-file-popup-page-C5dOvxw_.js} +1 -1
  90. package/dist/web/assets/project-file-popup-page-C5dOvxw_.js.br +0 -0
  91. package/dist/web/assets/project-file-popup-page-C5dOvxw_.js.gz +0 -0
  92. package/dist/web/assets/{project-source-panel-D1FO7-0K.js → project-source-panel-CDrU5_qN.js} +3 -3
  93. package/dist/web/assets/project-source-panel-CDrU5_qN.js.br +0 -0
  94. package/dist/web/assets/project-source-panel-CDrU5_qN.js.gz +0 -0
  95. package/dist/web/assets/{prompt-input-controls-DfJxvtFz.js → prompt-input-controls-C_Zm2pL8.js} +1 -1
  96. package/dist/web/assets/prompt-input-controls-C_Zm2pL8.js.br +0 -0
  97. package/dist/web/assets/prompt-input-controls-C_Zm2pL8.js.gz +0 -0
  98. package/dist/web/assets/{prompt-reference-token-R6FVbklf.js → prompt-reference-token-XDhhAENk.js} +1 -1
  99. package/dist/web/assets/prompt-reference-token-XDhhAENk.js.br +0 -0
  100. package/dist/web/assets/prompt-reference-token-XDhhAENk.js.gz +0 -0
  101. package/dist/web/assets/{provider-connection-queries-BW-WA5XX.js → provider-connection-queries-BBs1XjP6.js} +1 -1
  102. package/dist/web/assets/provider-connection-queries-BBs1XjP6.js.br +0 -0
  103. package/dist/web/assets/provider-connection-queries-BBs1XjP6.js.gz +0 -0
  104. package/dist/web/assets/{shiki-bundle-CPA4bcst.js → shiki-bundle-CGkIRfLa.js} +1 -1
  105. package/dist/web/assets/shiki-bundle-CGkIRfLa.js.br +0 -0
  106. package/dist/web/assets/shiki-bundle-CGkIRfLa.js.gz +0 -0
  107. package/dist/web/assets/{tooltip-BfmJ1UrL.js → tooltip-BPVbHVEF.js} +1 -1
  108. package/dist/web/assets/tooltip-BPVbHVEF.js.br +0 -0
  109. package/dist/web/assets/{tooltip-BfmJ1UrL.js.gz → tooltip-BPVbHVEF.js.gz} +0 -0
  110. package/dist/web/assets/{upload-Da2B-3_3.js → upload-Bz26q2Ar.js} +1 -1
  111. package/dist/web/assets/upload-Bz26q2Ar.js.br +0 -0
  112. package/dist/web/assets/upload-Bz26q2Ar.js.gz +0 -0
  113. package/dist/web/assets/{useInfiniteQuery-DVH6Znvo.js → useInfiniteQuery-DJg78OO5.js} +1 -1
  114. package/dist/web/assets/useInfiniteQuery-DJg78OO5.js.br +0 -0
  115. package/dist/web/assets/useInfiniteQuery-DJg78OO5.js.gz +0 -0
  116. package/dist/web/assets/{workbench-inspector-changes-DzpWfwQP.js → workbench-inspector-changes-B4eOJNJh.js} +1 -1
  117. package/dist/web/assets/workbench-inspector-changes-B4eOJNJh.js.br +0 -0
  118. package/dist/web/assets/workbench-inspector-changes-B4eOJNJh.js.gz +0 -0
  119. package/dist/web/assets/{workbench-pet-canvas-3wzM8DvM.js → workbench-pet-canvas-C_XAi7ez.js} +1 -1
  120. package/dist/web/assets/workbench-pet-canvas-C_XAi7ez.js.br +0 -0
  121. package/dist/web/assets/workbench-pet-canvas-C_XAi7ez.js.gz +0 -0
  122. package/dist/web/assets/workbench-shell-DQbj_ooS.js +15 -0
  123. package/dist/web/assets/workbench-shell-DQbj_ooS.js.br +0 -0
  124. package/dist/web/assets/workbench-shell-DQbj_ooS.js.gz +0 -0
  125. package/dist/web/index.html +12 -12
  126. package/dist/web/index.html.br +0 -0
  127. package/dist/web/index.html.gz +0 -0
  128. package/package.json +1 -1
  129. package/dist/web/assets/button-group-DLXfo6bM.js.br +0 -0
  130. package/dist/web/assets/button-group-DLXfo6bM.js.gz +0 -0
  131. package/dist/web/assets/check-D9z_gki0.js +0 -1
  132. package/dist/web/assets/check-D9z_gki0.js.br +0 -0
  133. package/dist/web/assets/check-D9z_gki0.js.gz +0 -0
  134. package/dist/web/assets/checkbox-BZXZ0drr.js.br +0 -0
  135. package/dist/web/assets/checkbox-BZXZ0drr.js.gz +0 -0
  136. package/dist/web/assets/chunk-BO2N2NFS-slcXBAuq.js.br +0 -0
  137. package/dist/web/assets/chunk-BO2N2NFS-slcXBAuq.js.gz +0 -0
  138. package/dist/web/assets/code-highlighter-DM8ZTw6W.js.br +0 -0
  139. package/dist/web/assets/code-highlighter-DM8ZTw6W.js.gz +0 -0
  140. package/dist/web/assets/code-languages-B8mEN6LW.js.br +0 -0
  141. package/dist/web/assets/code-languages-B8mEN6LW.js.gz +0 -0
  142. package/dist/web/assets/context-menu-B3yxTx7k.js.br +0 -0
  143. package/dist/web/assets/context-menu-B3yxTx7k.js.gz +0 -0
  144. package/dist/web/assets/dist-CUcZqkKm.js.br +0 -0
  145. package/dist/web/assets/dist-CUcZqkKm.js.gz +0 -0
  146. package/dist/web/assets/dist-DXiMnM-t.js +0 -1
  147. package/dist/web/assets/dist-DXiMnM-t.js.br +0 -0
  148. package/dist/web/assets/dist-DXiMnM-t.js.gz +0 -0
  149. package/dist/web/assets/es2015-Bsdzq73S.js.br +0 -0
  150. package/dist/web/assets/es2015-Bsdzq73S.js.gz +0 -0
  151. package/dist/web/assets/file-code-corner-CHgyW09L.js.br +0 -0
  152. package/dist/web/assets/file-code-corner-CHgyW09L.js.gz +0 -0
  153. package/dist/web/assets/file-navigation-view-preference-B_NgDFRZ.js.br +0 -0
  154. package/dist/web/assets/file-navigation-view-preference-B_NgDFRZ.js.gz +0 -0
  155. package/dist/web/assets/file-review-dialog-CcoZo9FJ.js.br +0 -0
  156. package/dist/web/assets/file-review-dialog-CcoZo9FJ.js.gz +0 -0
  157. package/dist/web/assets/file-tree-D7DlsFxt.js.br +0 -0
  158. package/dist/web/assets/file-tree-D7DlsFxt.js.gz +0 -0
  159. package/dist/web/assets/git-commit-horizontal-9LlF8jUx.js.br +0 -0
  160. package/dist/web/assets/git-commit-horizontal-9LlF8jUx.js.gz +0 -0
  161. package/dist/web/assets/git-history-panel-C6R2z0R9.js.br +0 -0
  162. package/dist/web/assets/git-history-panel-C6R2z0R9.js.gz +0 -0
  163. package/dist/web/assets/global-settings-dialog-D_DeSDvO.js.br +0 -0
  164. package/dist/web/assets/global-settings-dialog-D_DeSDvO.js.gz +0 -0
  165. package/dist/web/assets/highlighted-body-OFNGDK62-FcoBdZFE.js.br +0 -0
  166. package/dist/web/assets/highlighted-body-OFNGDK62-FcoBdZFE.js.gz +0 -0
  167. package/dist/web/assets/index-B4aWCtax.css +0 -2
  168. package/dist/web/assets/index-B4aWCtax.css.br +0 -0
  169. package/dist/web/assets/index-B4aWCtax.css.gz +0 -0
  170. package/dist/web/assets/index-BE5MTOVO.js.br +0 -0
  171. package/dist/web/assets/index-BE5MTOVO.js.gz +0 -0
  172. package/dist/web/assets/lazy-message-response-g2mII63b.js.br +0 -0
  173. package/dist/web/assets/lazy-message-response-g2mII63b.js.gz +0 -0
  174. package/dist/web/assets/loader-circle-rpShwAPu.js +0 -1
  175. package/dist/web/assets/loader-circle-rpShwAPu.js.br +0 -0
  176. package/dist/web/assets/loader-circle-rpShwAPu.js.gz +0 -0
  177. package/dist/web/assets/mermaid-GHXKKRXX-Lx4vSR1l.js +0 -1
  178. package/dist/web/assets/mermaid-GHXKKRXX-Lx4vSR1l.js.br +0 -0
  179. package/dist/web/assets/mermaid-GHXKKRXX-Lx4vSR1l.js.gz +0 -0
  180. package/dist/web/assets/message-response-DNm7bUHg.js.br +0 -0
  181. package/dist/web/assets/message-response-DNm7bUHg.js.gz +0 -0
  182. package/dist/web/assets/patch-diff-viewer-Cy0QuGBl.js.br +0 -0
  183. package/dist/web/assets/patch-diff-viewer-Cy0QuGBl.js.gz +0 -0
  184. package/dist/web/assets/project-file-popup-page-Bd-9e7Jz.js.br +0 -0
  185. package/dist/web/assets/project-file-popup-page-Bd-9e7Jz.js.gz +0 -0
  186. package/dist/web/assets/project-source-panel-D1FO7-0K.js.br +0 -0
  187. package/dist/web/assets/project-source-panel-D1FO7-0K.js.gz +0 -0
  188. package/dist/web/assets/prompt-input-controls-DfJxvtFz.js.br +0 -0
  189. package/dist/web/assets/prompt-input-controls-DfJxvtFz.js.gz +0 -0
  190. package/dist/web/assets/prompt-reference-token-R6FVbklf.js.br +0 -0
  191. package/dist/web/assets/prompt-reference-token-R6FVbklf.js.gz +0 -0
  192. package/dist/web/assets/provider-connection-queries-BW-WA5XX.js.br +0 -0
  193. package/dist/web/assets/provider-connection-queries-BW-WA5XX.js.gz +0 -0
  194. package/dist/web/assets/shiki-bundle-CPA4bcst.js.br +0 -0
  195. package/dist/web/assets/shiki-bundle-CPA4bcst.js.gz +0 -0
  196. package/dist/web/assets/tooltip-BfmJ1UrL.js.br +0 -0
  197. package/dist/web/assets/upload-Da2B-3_3.js.br +0 -0
  198. package/dist/web/assets/upload-Da2B-3_3.js.gz +0 -0
  199. package/dist/web/assets/useInfiniteQuery-DVH6Znvo.js.br +0 -0
  200. package/dist/web/assets/useInfiniteQuery-DVH6Znvo.js.gz +0 -0
  201. package/dist/web/assets/workbench-inspector-changes-DzpWfwQP.js.br +0 -0
  202. package/dist/web/assets/workbench-inspector-changes-DzpWfwQP.js.gz +0 -0
  203. package/dist/web/assets/workbench-pet-canvas-3wzM8DvM.js.br +0 -0
  204. package/dist/web/assets/workbench-pet-canvas-3wzM8DvM.js.gz +0 -0
  205. package/dist/web/assets/workbench-shell-B_3j5s_2.js +0 -15
  206. package/dist/web/assets/workbench-shell-B_3j5s_2.js.br +0 -0
  207. package/dist/web/assets/workbench-shell-B_3j5s_2.js.gz +0 -0
@@ -1 +1 @@
1
- import{w as e}from"./dist-DXiMnM-t.js";var t=e(`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`}]]);export{t};
1
+ import{w as e}from"./dist-DBbCRukl.js";var t=e(`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`}]]);export{t};
@@ -1 +1 @@
1
- import{H as e,O as t,V as n,z as r}from"./tooltip-BfmJ1UrL.js";var i=class extends r{constructor(e,t){super(e,t)}bindMethods(){super.bindMethods(),this.fetchNextPage=this.fetchNextPage.bind(this),this.fetchPreviousPage=this.fetchPreviousPage.bind(this)}setOptions(e){e._type=`infinite`,super.setOptions(e)}getOptimisticResult(e){return e._type=`infinite`,super.getOptimisticResult(e)}fetchNextPage(e){return this.fetch({...e,meta:{fetchMore:{direction:`forward`}}})}fetchPreviousPage(e){return this.fetch({...e,meta:{fetchMore:{direction:`backward`}}})}createResult(t,r){let{state:i}=t,a=super.createResult(t,r),{isFetching:o,isRefetching:s,isError:c,isRefetchError:l}=a,u=i.fetchMeta?.fetchMore?.direction,d=c&&u===`forward`,f=o&&u===`forward`,p=c&&u===`backward`,m=o&&u===`backward`;return{...a,fetchNextPage:this.fetchNextPage,fetchPreviousPage:this.fetchPreviousPage,hasNextPage:n(r,i.data),hasPreviousPage:e(r,i.data),isFetchNextPageError:d,isFetchingNextPage:f,isFetchPreviousPageError:p,isFetchingPreviousPage:m,isRefetchError:l&&!d&&!p,isRefetching:s&&!f&&!m}}};function a(e,n){return t(e,i,n)}export{a as t};
1
+ import{H as e,O as t,V as n,z as r}from"./tooltip-BPVbHVEF.js";var i=class extends r{constructor(e,t){super(e,t)}bindMethods(){super.bindMethods(),this.fetchNextPage=this.fetchNextPage.bind(this),this.fetchPreviousPage=this.fetchPreviousPage.bind(this)}setOptions(e){e._type=`infinite`,super.setOptions(e)}getOptimisticResult(e){return e._type=`infinite`,super.getOptimisticResult(e)}fetchNextPage(e){return this.fetch({...e,meta:{fetchMore:{direction:`forward`}}})}fetchPreviousPage(e){return this.fetch({...e,meta:{fetchMore:{direction:`backward`}}})}createResult(t,r){let{state:i}=t,a=super.createResult(t,r),{isFetching:o,isRefetching:s,isError:c,isRefetchError:l}=a,u=i.fetchMeta?.fetchMore?.direction,d=c&&u===`forward`,f=o&&u===`forward`,p=c&&u===`backward`,m=o&&u===`backward`;return{...a,fetchNextPage:this.fetchNextPage,fetchPreviousPage:this.fetchPreviousPage,hasNextPage:n(r,i.data),hasPreviousPage:e(r,i.data),isFetchNextPageError:d,isFetchingNextPage:f,isFetchPreviousPageError:p,isFetchingPreviousPage:m,isRefetchError:l&&!d&&!p,isRefetching:s&&!f&&!m}}};function a(e,n){return t(e,i,n)}export{a as t};
@@ -1,2 +1,2 @@
1
- import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{i as t,t as n}from"./react-runtime-CVaUQXZF.js";import{C as r,D as i,I as a,v as o,w as s,y as c}from"./dist-DXiMnM-t.js";import{R as l,i as u,n as d,t as f}from"./tooltip-BfmJ1UrL.js";import{a as p,c as m,l as h,o as g,t as _}from"./checkbox-BZXZ0drr.js";import{n as v,r as y,t as b}from"./loader-circle-rpShwAPu.js";import{t as x}from"./check-D9z_gki0.js";import{a as S,i as C,o as w,r as T,t as E}from"./file-tree-D7DlsFxt.js";import{n as D,t as ee}from"./button-group-DLXfo6bM.js";import{S as O,r as te,y as ne}from"./prompt-input-controls-DfJxvtFz.js";import{n as re,r as k,t as A}from"./file-navigation-view-preference-B_NgDFRZ.js";import{t as j}from"./upload-Da2B-3_3.js";import{B as M,C as ie,Dt as N,F as ae,I as oe,It as P,L as se,M as ce,Ot as F,R as le,S as ue,w as I,x as de,z as L}from"./index-BE5MTOVO.js";var R=s(`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`}]]),z=e(t(),1),B=n(),V=r(`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 H({className:e,variant:t=`default`,...n}){return(0,B.jsx)(`textarea`,{className:c(V({className:e,variant:t})),"data-slot":`textarea`,"data-variant":t,...n})}function fe({className:e,...t}){return(0,B.jsx)(`div`,{className:c(`group/input-group flex w-full min-w-0 items-center`,e),"data-slot":`input-group`,role:`group`,...t})}function pe({align:e=`inline-start`,className:t,...n}){return(0,B.jsx)(`div`,{className:c(`flex shrink-0 items-center`,t),"data-align":e,"data-slot":`input-group-addon`,role:`group`,...n})}function me({className:e,...t}){return(0,B.jsx)(H,{className:c(`min-w-0 flex-1`,e),"data-slot":`input-group-control`,variant:`embedded`,...t})}function U(e){return[...e].sort((e,t)=>e.kind===t.kind?e.name.localeCompare(t.name,`en`):e.kind===`file`?-1:1)}function W(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:U([...n.children.values()].map(e=>e.kind===`folder`?W(e):e)),kind:`folder`,name:t.join(`/`),path:n.path}}function G(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 U([...t.children.values()].map(e=>e.kind===`folder`?W(e):e))}function K(e,t){for(let n of e)n.kind===`folder`&&(t.add(n.path),K(n.children,t))}function q(e){return e===`create`?`text-diff-added`:e===`delete`?`text-danger`:`text-warning`}function J(e){let t=c(`size-3.5`,q(e));return e===`create`?(0,B.jsx)(O,{"aria-hidden":`true`,className:t}):e===`delete`?(0,B.jsx)(R,{"aria-hidden":`true`,className:t}):(0,B.jsx)(D,{"aria-hidden":`true`,className:t})}function Y(e){return e===`create`?`A`:e===`delete`?`D`:`M`}function X({changesByPath:e,disabled:t,label:n,nodes:r,onOpenFileDiff:i,onTogglePath:a,selectedPaths:o}){return r.map(r=>{if(r.kind===`folder`)return(0,B.jsx)(C,{name:r.name,path:r.path,children:(0,B.jsx)(X,{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,B.jsxs)(T,{"aria-label":r.path,className:q(r.status),icon:J(r.status),name:r.name,onClick:()=>{c!==void 0&&i(c)},path:r.path,trailing:(0,B.jsx)(`span`,{className:`ml-auto w-3 text-center text-meta font-semibold text-muted-foreground`,children:Y(r.status)}),children:[(0,B.jsx)(`span`,{"aria-hidden":`true`,className:`size-5 shrink-0`}),(0,B.jsx)(_,{"aria-label":`${n}: ${r.path}`,checked:s,disabled:t,onCheckedChange:()=>{a(r.path)},onClick:e=>{e.stopPropagation()}}),(0,B.jsx)(S,{children:J(r.status)}),(0,B.jsx)(w,{title:r.path,children:r.name})]},r.path)})}function Z({changes:e,disabled:t=!1,label:n,onOpenFileDiff:r,onSelectedPathsChange:i,selectedPaths:a,viewMode:o=`tree`}){let s=(0,z.useMemo)(()=>G(e),[e]),l=(0,z.useMemo)(()=>new Map(e.map(e=>[e.path,e])),[e]),u=(0,z.useMemo)(()=>[...new Set(e.map(e=>e.path))],[e]),d=(0,z.useMemo)(()=>{let e=new Set;return K(s,e),e},[s]);if(u.length===0)return null;let f=u.filter(e=>a.has(e)).length,p=f===0?!1:f===u.length||`indeterminate`,m=e=>{let t=new Set(a);t.has(e)?t.delete(e):t.add(e),i(t)};return(0,B.jsxs)(`section`,{"aria-label":n,className:`py-0.5`,children:[(0,B.jsxs)(`div`,{className:`flex min-h-7 items-center gap-1.5 px-3`,children:[(0,B.jsx)(_,{"aria-label":n,checked:p,disabled:t||u.length===0,onCheckedChange:e=>{let t=new Set(a);for(let n of u)e===!0?t.add(n):t.delete(n);i(t)}}),(0,B.jsx)(`h3`,{className:`text-label font-semibold text-foreground`,children:n}),(0,B.jsx)(`span`,{className:`ml-auto text-caption text-muted-foreground`,children:u.length})]}),o===`list`?(0,B.jsx)(`div`,{className:`px-1 font-mono text-label`,"data-slot":`commit-changes-list`,role:`list`,children:e.toSorted((e,t)=>e.path.localeCompare(t.path,`en`)).map(e=>(0,B.jsxs)(`div`,{className:`flex min-h-7 items-center gap-1.5 rounded-control px-2 hover:bg-control-hover`,role:`listitem`,children:[(0,B.jsx)(_,{"aria-label":`${n}: ${e.path}`,checked:a.has(e.path),disabled:t,onCheckedChange:()=>{m(e.path)}}),(0,B.jsxs)(`button`,{"aria-label":e.path,className:c(`flex min-w-0 flex-1 items-center gap-1.5 text-left outline-none focus-visible:shadow-focus`,q(e.kind)),onClick:()=>{r(e)},type:`button`,children:[J(e.kind),(0,B.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,title:e.path,children:e.path}),(0,B.jsx)(`span`,{className:`w-3 text-center text-meta font-semibold text-muted-foreground`,children:Y(e.kind)})]})]},e.path))}):s.length===0?null:(0,B.jsx)(E,{"aria-label":n,className:`px-1`,defaultExpanded:d,children:(0,B.jsx)(X,{changesByPath:l,disabled:t,label:n,nodes:s,onOpenFileDiff:r,onTogglePath:m,selectedPaths:a})})]})}function he(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 ge(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 Q(e,t){return{identity:e,message:``,selectedPaths:new Set(t.map(e=>e.path))}}function $({error:e=null,gitStatus:t,isCommitting:n=!1,isGenerating:r=!1,isRepositoryLoading:a=!1,onCommit:s,onGenerateMessage:l,onOpenFileDiff:p,onSelectRepository:h=()=>void 0,repositories:g=[],result:_=null,selectedRepository:y=null}){let{t:S}=i(`workbench`),[C,w]=A(`changes`),T=(0,z.useMemo)(()=>he(t),[t]),E=`${y??`root`}:${t.snapshot}`,[D,O]=(0,z.useState)(()=>Q(E,T)),N=(0,z.useRef)(m());D.identity!==E&&O(Q(E,T));let{message:P,selectedPaths:F}=D,R=P.includes(`
1
+ import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{i as t,t as n}from"./react-runtime-CVaUQXZF.js";import{C as r,D as i,I as a,v as o,w as s,y as c}from"./dist-DBbCRukl.js";import{R as l,i as u,n as d,t as f}from"./tooltip-BPVbHVEF.js";import{a as p,c as m,l as h,o as g,t as _}from"./checkbox-BBHD70U-.js";import{n as v,r as y,t as b}from"./loader-circle-CJOhkEC8.js";import{t as x}from"./check-C92ZHwwX.js";import{a as S,i as C,o as w,r as T,t as E}from"./file-tree-DvTv0Re2.js";import{n as D,t as ee}from"./button-group-Bt_Rr9-f.js";import{S as O,r as te,y as ne}from"./prompt-input-controls-C_Zm2pL8.js";import{n as re,r as k,t as A}from"./file-navigation-view-preference-DeIXQ8c4.js";import{t as j}from"./upload-Bz26q2Ar.js";import{B as M,C as ie,Dt as N,F as ae,I as oe,It as P,L as se,M as ce,Ot as F,R as le,S as ue,w as I,x as de,z as L}from"./index-WZ8-8oYp.js";var R=s(`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`}]]),z=e(t(),1),B=n(),V=r(`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 H({className:e,variant:t=`default`,...n}){return(0,B.jsx)(`textarea`,{className:c(V({className:e,variant:t})),"data-slot":`textarea`,"data-variant":t,...n})}function fe({className:e,...t}){return(0,B.jsx)(`div`,{className:c(`group/input-group flex w-full min-w-0 items-center`,e),"data-slot":`input-group`,role:`group`,...t})}function pe({align:e=`inline-start`,className:t,...n}){return(0,B.jsx)(`div`,{className:c(`flex shrink-0 items-center`,t),"data-align":e,"data-slot":`input-group-addon`,role:`group`,...n})}function me({className:e,...t}){return(0,B.jsx)(H,{className:c(`min-w-0 flex-1`,e),"data-slot":`input-group-control`,variant:`embedded`,...t})}function U(e){return[...e].sort((e,t)=>e.kind===t.kind?e.name.localeCompare(t.name,`en`):e.kind===`file`?-1:1)}function W(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:U([...n.children.values()].map(e=>e.kind===`folder`?W(e):e)),kind:`folder`,name:t.join(`/`),path:n.path}}function G(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 U([...t.children.values()].map(e=>e.kind===`folder`?W(e):e))}function K(e,t){for(let n of e)n.kind===`folder`&&(t.add(n.path),K(n.children,t))}function q(e){return e===`create`?`text-diff-added`:e===`delete`?`text-danger`:`text-warning`}function J(e){let t=c(`size-3.5`,q(e));return e===`create`?(0,B.jsx)(O,{"aria-hidden":`true`,className:t}):e===`delete`?(0,B.jsx)(R,{"aria-hidden":`true`,className:t}):(0,B.jsx)(D,{"aria-hidden":`true`,className:t})}function Y(e){return e===`create`?`A`:e===`delete`?`D`:`M`}function X({changesByPath:e,disabled:t,label:n,nodes:r,onOpenFileDiff:i,onTogglePath:a,selectedPaths:o}){return r.map(r=>{if(r.kind===`folder`)return(0,B.jsx)(C,{name:r.name,path:r.path,children:(0,B.jsx)(X,{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,B.jsxs)(T,{"aria-label":r.path,className:q(r.status),icon:J(r.status),name:r.name,onClick:()=>{c!==void 0&&i(c)},path:r.path,trailing:(0,B.jsx)(`span`,{className:`ml-auto w-3 text-center text-meta font-semibold text-muted-foreground`,children:Y(r.status)}),children:[(0,B.jsx)(`span`,{"aria-hidden":`true`,className:`size-5 shrink-0`}),(0,B.jsx)(_,{"aria-label":`${n}: ${r.path}`,checked:s,disabled:t,onCheckedChange:()=>{a(r.path)},onClick:e=>{e.stopPropagation()}}),(0,B.jsx)(S,{children:J(r.status)}),(0,B.jsx)(w,{title:r.path,children:r.name})]},r.path)})}function Z({changes:e,disabled:t=!1,label:n,onOpenFileDiff:r,onSelectedPathsChange:i,selectedPaths:a,viewMode:o=`tree`}){let s=(0,z.useMemo)(()=>G(e),[e]),l=(0,z.useMemo)(()=>new Map(e.map(e=>[e.path,e])),[e]),u=(0,z.useMemo)(()=>[...new Set(e.map(e=>e.path))],[e]),d=(0,z.useMemo)(()=>{let e=new Set;return K(s,e),e},[s]);if(u.length===0)return null;let f=u.filter(e=>a.has(e)).length,p=f===0?!1:f===u.length||`indeterminate`,m=e=>{let t=new Set(a);t.has(e)?t.delete(e):t.add(e),i(t)};return(0,B.jsxs)(`section`,{"aria-label":n,className:`py-0.5`,children:[(0,B.jsxs)(`div`,{className:`flex min-h-7 items-center gap-1.5 px-3`,children:[(0,B.jsx)(_,{"aria-label":n,checked:p,disabled:t||u.length===0,onCheckedChange:e=>{let t=new Set(a);for(let n of u)e===!0?t.add(n):t.delete(n);i(t)}}),(0,B.jsx)(`h3`,{className:`text-label font-semibold text-foreground`,children:n}),(0,B.jsx)(`span`,{className:`ml-auto text-caption text-muted-foreground`,children:u.length})]}),o===`list`?(0,B.jsx)(`div`,{className:`px-1 font-mono text-label`,"data-slot":`commit-changes-list`,role:`list`,children:e.toSorted((e,t)=>e.path.localeCompare(t.path,`en`)).map(e=>(0,B.jsxs)(`div`,{className:`flex min-h-7 items-center gap-1.5 rounded-control px-2 hover:bg-control-hover`,role:`listitem`,children:[(0,B.jsx)(_,{"aria-label":`${n}: ${e.path}`,checked:a.has(e.path),disabled:t,onCheckedChange:()=>{m(e.path)}}),(0,B.jsxs)(`button`,{"aria-label":e.path,className:c(`flex min-w-0 flex-1 items-center gap-1.5 text-left outline-none focus-visible:shadow-focus`,q(e.kind)),onClick:()=>{r(e)},type:`button`,children:[J(e.kind),(0,B.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,title:e.path,children:e.path}),(0,B.jsx)(`span`,{className:`w-3 text-center text-meta font-semibold text-muted-foreground`,children:Y(e.kind)})]})]},e.path))}):s.length===0?null:(0,B.jsx)(E,{"aria-label":n,className:`px-1`,defaultExpanded:d,children:(0,B.jsx)(X,{changesByPath:l,disabled:t,label:n,nodes:s,onOpenFileDiff:r,onTogglePath:m,selectedPaths:a})})]})}function he(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 ge(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 Q(e,t){return{identity:e,message:``,selectedPaths:new Set(t.map(e=>e.path))}}function $({error:e=null,gitStatus:t,isCommitting:n=!1,isGenerating:r=!1,isRepositoryLoading:a=!1,onCommit:s,onGenerateMessage:l,onOpenFileDiff:p,onSelectRepository:h=()=>void 0,repositories:g=[],result:_=null,selectedRepository:y=null}){let{t:S}=i(`workbench`),[C,w]=A(`changes`),T=(0,z.useMemo)(()=>he(t),[t]),E=`${y??`root`}:${t.snapshot}`,[D,O]=(0,z.useState)(()=>Q(E,T)),N=(0,z.useRef)(m());D.identity!==E&&O(Q(E,T));let{message:P,selectedPaths:F}=D,R=P.includes(`
2
2
  `)?3:1,V=r||n,H=g.length>0||t.repositoryMode===`children`,U=!H||y!==null&&!a&&t.repositoryMode===`root`,W=U&&F.size>0&&!V&&_===null,G=W&&P.trim().length>0,K=()=>N.current.run(async()=>{let e=await l({expectedSnapshot:t.snapshot,paths:[...F],...y===null?{}:{repository:y}});O(t=>({...t,message:e}))}),q=e=>N.current.run(()=>s({action:e,expectedSnapshot:t.snapshot,message:P,paths:[...F],...y===null?{}:{repository:y}}));return(0,B.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col overflow-hidden`,"data-slot":`commit-changes-panel`,children:[H?(0,B.jsxs)(`div`,{className:`shrink-0 border-b border-separator px-3 py-2`,children:[(0,B.jsx)(`label`,{className:`text-label font-medium`,id:`commit-repository-label`,children:S(`commit.repository`)}),(0,B.jsxs)(ae,{disabled:V||_!==null,onValueChange:h,...y===null?{}:{value:y},children:[(0,B.jsx)(L,{"aria-labelledby":`commit-repository-label`,className:`mt-1 w-full`,children:(0,B.jsx)(M,{placeholder:S(`commit.selectRepository`)})}),(0,B.jsx)(oe,{position:`popper`,children:(0,B.jsx)(se,{children:g.map(e=>(0,B.jsx)(le,{value:e,children:e},e))})})]}),a?(0,B.jsx)(`p`,{className:`mt-1 text-caption text-muted-foreground`,role:`status`,children:S(`commit.repositoryLoading`)}):null,g.length===0?(0,B.jsx)(`p`,{className:`mt-1 text-caption text-danger`,role:`alert`,children:S(`commit.repositoryUnavailable`)}):null]}):null,e===null?null:(0,B.jsx)(`p`,{className:`mx-3 mt-2 shrink-0 text-caption text-danger`,role:`alert`,children:e.message}),U?(0,B.jsxs)(B.Fragment,{children:[(0,B.jsxs)(`section`,{className:`shrink-0 px-3 py-2`,children:[(0,B.jsxs)(fe,{className:c(`gap-1 rounded-surface border border-separator-strong bg-panel shadow-sm focus-within:border-brand focus-within:shadow-focus`,R===1?`h-8 max-workbench:h-11`:`h-18 max-workbench:h-21`),children:[(0,B.jsx)(me,{"aria-label":S(`commit.commitMessage`),className:`h-full min-h-0 overflow-y-auto px-2 py-1.5 text-label leading-5 focus-visible:!outline-none max-workbench:py-3`,disabled:V||_!==null,id:`commit-message`,onChange:e=>{let t=e.currentTarget.value;O(e=>({...e,message:t}))},placeholder:S(`commit.messagePlaceholder`),rows:R,value:P}),(0,B.jsx)(pe,{align:`inline-end`,className:`ml-auto`,children:(0,B.jsxs)(f,{children:[(0,B.jsx)(u,{asChild:!0,children:(0,B.jsx)(te,{"aria-label":S(`commit.generateMessage`),className:`size-7 shrink-0 justify-center p-0 [&_svg]:size-3.5 max-workbench:size-11`,disabled:!W,onClick:()=>{K().catch(()=>void 0)},type:`button`,children:r?(0,B.jsx)(b,{"aria-hidden":`true`,className:`animate-spin`}):(0,B.jsx)(ne,{"aria-hidden":`true`})})}),(0,B.jsx)(d,{side:`top`,children:S(`commit.generateMessage`)})]})})]}),_===null?(0,B.jsxs)(ee,{className:`mt-2 w-full`,children:[(0,B.jsxs)(o,{className:`flex-1 rounded-r-none`,disabled:!G,onClick:()=>{q(`commit`).catch(()=>void 0)},type:`button`,children:[n?(0,B.jsx)(b,{"aria-hidden":`true`,className:`animate-spin`}):(0,B.jsx)(x,{"aria-hidden":`true`}),S(`commit.commit`)]}),(0,B.jsxs)(de,{children:[(0,B.jsx)(ce,{asChild:!0,children:(0,B.jsx)(o,{"aria-label":S(`commit.commitActions`),className:`w-10 rounded-l-none border-l border-brand-contrast/30 px-0`,disabled:!G,type:`button`,children:(0,B.jsx)(v,{"aria-hidden":`true`})})}),(0,B.jsx)(ue,{align:`end`,children:(0,B.jsxs)(ie,{children:[(0,B.jsxs)(I,{onSelect:()=>{q(`commit`).catch(()=>void 0)},children:[(0,B.jsx)(x,{"aria-hidden":`true`,className:`size-3.5`}),S(`commit.commit`)]}),(0,B.jsxs)(I,{onSelect:()=>{q(`commit_and_push`).catch(()=>void 0)},children:[(0,B.jsx)(j,{"aria-hidden":`true`,className:`size-3.5`}),S(`commit.commitAndPush`)]})]})})]})]}):(0,B.jsx)(`p`,{className:`mt-2 font-mono text-caption text-muted-foreground`,role:`status`,children:_.commitSha.slice(0,7)})]}),(0,B.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col border-t border-separator`,children:[(0,B.jsxs)(`div`,{className:`flex h-8 shrink-0 items-center gap-1 px-3 text-label font-semibold`,children:[(0,B.jsx)(`span`,{children:S(`commit.changes`)}),(0,B.jsx)(`span`,{className:`ml-auto text-caption font-normal text-muted-foreground`,children:S(`commit.totalFiles`,{count:T.length})}),(0,B.jsxs)(f,{children:[(0,B.jsx)(u,{asChild:!0,children:(0,B.jsx)(o,{"aria-label":S(C===`tree`?`diff.showFileList`:`diff.showFileTree`),onClick:()=>{w(C===`tree`?`list`:`tree`)},size:`icon-sm`,type:`button`,variant:`ghost`,children:C===`tree`?(0,B.jsx)(re,{"aria-hidden":`true`,className:`size-3.5`}):(0,B.jsx)(k,{"aria-hidden":`true`,className:`size-3.5`})})}),(0,B.jsx)(d,{children:S(C===`tree`?`diff.showFileList`:`diff.showFileTree`)})]})]}),(0,B.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto overscroll-contain py-0.5`,"data-slot":`commit-changes-scroll`,children:[(0,B.jsx)(Z,{changes:t.staged,disabled:V||_!==null,label:S(`commit.staged`),onOpenFileDiff:p,onSelectedPathsChange:e=>{O(t=>({...t,selectedPaths:e}))},selectedPaths:F,viewMode:C}),(0,B.jsx)(Z,{changes:t.unstaged,disabled:V||_!==null,label:S(`commit.unstaged`),onOpenFileDiff:p,onSelectedPathsChange:e=>{O(t=>({...t,selectedPaths:e}))},selectedPaths:F,viewMode:C})]})]})]}):null]})}function _e(e){return e.pushStatus===`pushed`?`commit.commitAndPushSucceeded`:e.pushStatus===`not_requested`?`commit.commitSucceeded`:null}function ve({client:e,detailsError:t=null,detailsPending:n=!1,gitStatus:r,onOpenFileDiff:a,projectId:o,rootPath:s}){let{t:c}=i(`workbench`),u=l(),d=h(F(o,s,e)),f=h({...N(o,s,e),meta:{actionNotification:{successMessage:!1}}}),m=(0,z.useMemo)(()=>ge(r),[r]),[_,v]=(0,z.useState)(),[b,x]=(0,z.useState)(null),S=b!==null&&m.includes(b)?b:m[0]??null,C=y(P(o,s,S,r.repositoryMode===`children`,e)),w=r.repositoryMode===`root`?r:C.data??r,T=_?.snapshot===w.snapshot?_.result:null;return(0,B.jsx)($,{error:t??C.error,gitStatus:w,isCommitting:f.isPending,isGenerating:d.isPending,isRepositoryLoading:n||C.isFetching,onCommit:async e=>{let t=e.expectedSnapshot,n=await f.mutateAsync(e);v({result:n,snapshot:t}),u.invalidateQueries({queryKey:[`projects`,o,s,`git-status`]}),u.invalidateQueries({queryKey:[`projects`,o,s,`git-history`]});let r=_e(n);if(r!==null){g(c(r));return}p(Error(n.pushError??c(`commit.commitCompletePushFailed`)))},onGenerateMessage:async e=>(await d.mutateAsync(e)).message,onOpenFileDiff:a,onSelectRepository:e=>{v(void 0),d.reset(),f.reset(),x(e)},repositories:m,result:T,selectedRepository:S})}function ye({client:e,detailsError:t,detailsPending:n,detailsStatus:r,gitStatus:i,gitStatusError:o,onOpenFileDiff:s,projectId:c,rootPath:l}){return c!==void 0&&e!==void 0&&i!==void 0?(0,B.jsx)(ve,{client:e,detailsError:t,detailsPending:n,gitStatus:r??i,onOpenFileDiff:s,projectId:c,rootPath:l}):o===null?(0,B.jsx)(`p`,{className:`p-3 text-caption text-muted-foreground`,role:`status`,children:a.t(`inspector.gitLoading`,{ns:`conversation`})}):(0,B.jsx)(`p`,{className:`p-3 text-caption text-danger`,role:`alert`,children:o.message})}export{ye as WorkbenchInspectorChanges};
@@ -1 +1 @@
1
- import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{i as t,t as n}from"./react-runtime-CVaUQXZF.js";import{D as r,w as i}from"./dist-DXiMnM-t.js";import{D as a,E as o,h as s,l as c,m as l}from"./tooltip-BfmJ1UrL.js";import{m as u}from"./prompt-input-controls-DfJxvtFz.js";var d=i(`bot`,[[`path`,{d:`M12 8V4H8`,key:`hb8ula`}],[`rect`,{width:`16`,height:`12`,x:`4`,y:`8`,rx:`2`,key:`enze0r`}],[`path`,{d:`M2 14h2`,key:`vft8re`}],[`path`,{d:`M20 14h2`,key:`4cs60a`}],[`path`,{d:`M15 13v2`,key:`1xurst`}],[`path`,{d:`M9 13v2`,key:`rq6x2g`}]]),f=i(`git-fork`,[[`circle`,{cx:`12`,cy:`18`,r:`3`,key:`1mpf1b`}],[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`circle`,{cx:`18`,cy:`6`,r:`3`,key:`1h7g24`}],[`path`,{d:`M18 9v2c0 .6-.4 1-1 1H7c-.6 0-1-.4-1-1V9`,key:`1uq4wg`}],[`path`,{d:`M12 12v3`,key:`158kv8`}]]),p=i(`info`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 16v-4`,key:`1dtifu`}],[`path`,{d:`M12 8h.01`,key:`e9boi3`}]]),m=e(t(),1),h=n();function g(e,t,n){let r=0;for(let i=0;i<e.length;){let a=e.codePointAt(i);if(a===void 0)break;if(i+=a>65535?2:1,r+=1,r>t)return new File([e],n,{type:`text/plain`})}}function _(e,t){return t===void 0||t.trim()===``||t.split(`,`).some(t=>{let n=t.trim();return n.startsWith(`.`)?e.name.toLowerCase().endsWith(n.toLowerCase()):n.endsWith(`/*`)?e.type.startsWith(n.slice(0,-1)):e.type===n})}function v(e){e.previewUrl.startsWith(`blob:`)&&URL.revokeObjectURL(e.previewUrl)}function y({attachments:e,children:t,className:n=``,disabled:i=!1,fileAccept:a,globalDrop:o=!1,imageAccept:c,largePasteCharacterThreshold:l=1/0,maxFileTotalSize:d=1/0,maxFileSize:f=1/0,maxImageSize:p=1/0,maxImages:y=1/0,maxImageTotalSize:b=1/0,multiple:x=!1,onAttachmentsChange:S,onError:C,onPaste:w,onPasteCapture:T,onSubmit:E,pastedTextFileName:D=`Pasted text.txt`,resetKey:O,...k}){let{t:A}=r(`conversation`),[j,M]=(0,m.useState)([]),N=e??j,P=(0,m.useRef)(N),F=(0,m.useRef)(e!==void 0),I=(0,m.useRef)(O);P.current=N,F.current=e!==void 0;let L=(0,m.useCallback)(t=>{if(e!==void 0){S?.(t(e));return}M(e=>[...t(e)])},[e,S]),R=(0,m.useCallback)((e,t=!1)=>{L(n=>{if(i)return n;let r=[],o=n.filter(e=>e.kind===`image`).length,l=n.reduce((e,t)=>e+(t.kind===`image`?t.size:0),0),u=n.reduce((e,t)=>e+(t.kind===`image`?0:t.size),0);for(let n of e){let e=t?`text`:_(n,c)?`image`:`file`;if(!(e===`text`||(e===`image`?_(n,c):_(n,a)))){C?.({code:`invalid_file_type`,message:A(`agentComponents.invalidFileType`,{name:n.name})});continue}if(e!==`image`&&n.size>f){C?.({code:`file_too_large`,message:A(`agentComponents.fileTooLarge`,{name:n.name})});continue}if(e===`image`&&n.size>p){C?.({code:`file_too_large`,message:A(`agentComponents.fileTooLarge`,{name:n.name})});continue}if(e===`image`&&o>=y){C?.({code:`too_many_images`,message:A(`agentComponents.tooManyImages`,{count:y})});continue}if(e===`image`&&l+n.size>b){C?.({code:`total_size_exceeded`,message:A(`agentComponents.totalImageSizeExceeded`)});continue}if(e!==`image`&&u+n.size>d){C?.({code:`total_size_exceeded`,message:A(`agentComponents.totalAttachmentSizeExceeded`)});continue}if(r.push({file:n,id:s(),kind:e,mediaType:n.type,name:n.name,previewUrl:URL.createObjectURL(n),size:n.size,source:`browser`}),e===`image`?(o+=1,l+=n.size):u+=n.size,!x)break}return[...n,...r]})},[i,a,c,f,d,p,y,b,x,C,A,L]),z=(0,m.useCallback)(()=>{L(e=>(e.forEach(v),[]))},[L]);(0,m.useLayoutEffect)(()=>{I.current!==O&&(I.current=O,e===void 0&&z())},[e,z,O]);let B=(0,m.useCallback)(e=>{L(t=>{let n=t.find(t=>t.id===e);return n!==void 0&&v(n),t.filter(t=>t.id!==e)})},[L]);(0,m.useEffect)(()=>()=>{F.current||P.current.forEach(v)},[]),(0,m.useEffect)(()=>{e===void 0&&S?.(j)},[e,j,S]),(0,m.useEffect)(()=>{if(!o||i)return;let e=e=>{e.dataTransfer?.types.includes(`Files`)===!0&&e.preventDefault()},t=e=>{e.dataTransfer?.files.length&&(e.preventDefault(),R([...e.dataTransfer.files]))};return document.addEventListener(`dragover`,e),document.addEventListener(`drop`,t),()=>{document.removeEventListener(`dragover`,e),document.removeEventListener(`drop`,t)}},[R,i,o]);let V=(0,m.useMemo)(()=>({clear:z,disabled:i,files:N,remove:B}),[z,i,N,B]);return(0,h.jsx)(u.Provider,{value:V,children:(0,h.jsx)(`form`,{...k,className:`overflow-visible rounded-surface border border-transparent bg-raised shadow-floating transition-[border-color,box-shadow] focus-within:border-brand focus-within:shadow-focus ${n}`,"data-prompt-input":``,onPasteCapture:e=>{if(T?.(e),i||e.defaultPrevented||e.clipboardData.files.length>0)return;let t=g(e.clipboardData.getData(`text/plain`),l,D);t!==void 0&&(e.preventDefault(),R([t],!0))},onPaste:e=>{if(w?.(e),i||e.defaultPrevented)return;let t=[...e.clipboardData.files];t.length>0&&(e.preventDefault(),R(t))},onSubmit:e=>{e.preventDefault();let t=new FormData(e.currentTarget).get(`message`);E?.({files:N,text:typeof t==`string`?t:``},e)},children:t})})}function b(e){return e.approvalPolicy===`never`?`never`:e.approvalPolicy===`on-request`&&e.approvalsReviewer===`auto_review`?`auto-review`:`on-request`}function x(e,t){return t===`auto-review`?{...e,approvalPolicy:`on-request`,approvalsReviewer:`auto_review`}:{...e,approvalPolicy:t,approvalsReviewer:`user`}}var S=[`workbench-pets`];function C(e=c){return a({queryFn:({signal:t})=>e.listWorkbenchPets({signal:t}),queryKey:S,staleTime:3e4})}function w(e,t){let n=e?.data??[],r=n.findIndex(e=>e.id===t.id);return r<0?{data:[...n,t]}:{data:n.map((e,n)=>n===r?t:e)}}function T(e,t=c){return o({meta:{actionNotification:{successMessage:!1}},mutationFn:async e=>{let n=`workbench-pet-${e}-${globalThis.crypto.randomUUID()}`;return t.downloadWorkbenchPet(e,{idempotencyKey:n})},mutationKey:[`workbench-pets`,`download`],onSuccess:({data:t})=>{e.setQueryData(S,e=>w(e,t))},scope:{id:`workbench-pet-download`}})}function E(e){return e!==void 0&&e.frames.length>0}function D(e,t){let n=new Set,r=t;for(;!n.has(r);){n.add(r);let t=e[r];if(t!==void 0&&E(t))return t;if(t!==void 0)r=t.fallback;else if(r!==`idle`)r=`idle`;else return}}var O=class{#e;#t;#n=`idle`;#r=!1;#i=0;#a=!1;#o;#s=!0;constructor(e){this.#e=e.animations,this.#t=e.onFrame}play(e){this.#n=e,this.#l()}setReducedMotion(e){this.#a!==e&&(this.#a=e,this.#l())}setVisible(e){this.#s!==e&&(this.#s=e,this.#l())}dispose(){this.#r=!0,this.#i+=1,this.#c()}#c(){this.#o!==void 0&&clearTimeout(this.#o),this.#o=void 0}#l(){if(this.#i+=1,this.#c(),this.#r||!this.#s)return;let e=D(this.#e,this.#n);e!==void 0&&this.#u(e,0,this.#i)}#u(e,t,n){if(n!==this.#i||this.#r||!this.#s)return;let r=e.frames[t];if(r===void 0||(this.#t(r.spriteIndex),this.#a))return;let i=t+1,a=e.loopStart??-1;i>=e.frames.length&&a<0||(this.#o=setTimeout(()=>{this.#o=void 0,this.#u(e,i<e.frames.length?i:a,n)},r.durationMs))}};async function k(e,t){let n=await fetch(e,{credentials:`same-origin`,signal:t});if(!n.ok)throw Error(`Unable to load pet asset: ${String(n.status)}`);return createImageBitmap(await n.blob())}function A(e,t,n,r){let i=e.getContext(`2d`);if(i===null)throw Error(`Canvas 2D context is unavailable`);let a=Math.max(1,e.clientWidth||n.width),o=Math.max(1,e.clientHeight||n.height),s=Math.min(3,Math.max(1,globalThis.devicePixelRatio||1)),c=Math.round(a*s),l=Math.round(o*s);e.width!==c&&(e.width=c),e.height!==l&&(e.height=l);let u=r%n.columns,d=Math.floor(r/n.columns);i.clearRect(0,0,c,l),i.imageSmoothingEnabled=!1,i.drawImage(t,u*n.width,d*n.height,n.width,n.height,0,0,c,l)}function j(){let[e,t]=(0,m.useState)(!1);return(0,m.useEffect)(()=>{let e=matchMedia(`(prefers-reduced-motion: reduce)`),n=()=>{t(e.matches)};return n(),e.addEventListener(`change`,n),()=>{e.removeEventListener(`change`,n)}},[]),e}function M({animationName:e,pet:t}){let n=(0,m.useRef)(null),[r,i]=(0,m.useState)(null),[a,o]=(0,m.useState)(!1),s=j(),c=l(t.assetId);return(0,m.useEffect)(()=>{let e=new AbortController,t=!0;return i(null),o(!1),typeof createImageBitmap==`function`?(k(c,e.signal).then(e=>{t?i(e):e.close()}).catch(()=>{t&&!e.signal.aborted&&o(!0)}),()=>{t=!1,e.abort()}):(o(!0),()=>{e.abort()})},[c]),(0,m.useEffect)(()=>()=>{r?.close()},[r]),(0,m.useEffect)(()=>{let i=n.current;if(i===null||r===null)return;let a=0,c=e=>{a=e;try{A(i,r,t.frame,e)}catch{o(!0)}},l=new O({animations:t.animations,onFrame:c});l.setReducedMotion(s),l.setVisible(document.visibilityState===`visible`),l.play(e);let u=new ResizeObserver(()=>{c(a)});u.observe(i);let d=()=>{l.setVisible(document.visibilityState===`visible`)};return document.addEventListener(`visibilitychange`,d),()=>{u.disconnect(),document.removeEventListener(`visibilitychange`,d),l.dispose()}},[e,r,t.animations,t.frame,s]),a?(0,h.jsx)(`span`,{"aria-hidden":`true`,className:`workbench-pet-static-fallback`,style:{backgroundImage:`url(${c})`,backgroundSize:`${String(t.frame.columns*100)}% ${String(t.frame.rows*100)}%`}}):(0,h.jsx)(`canvas`,{"aria-hidden":`true`,className:`workbench-pet-canvas`,ref:n})}export{b as a,f as c,x as i,d as l,T as n,y as o,C as r,p as s,M as t};
1
+ import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{i as t,t as n}from"./react-runtime-CVaUQXZF.js";import{D as r,w as i}from"./dist-DBbCRukl.js";import{D as a,E as o,h as s,l as c,m as l}from"./tooltip-BPVbHVEF.js";import{m as u}from"./prompt-input-controls-C_Zm2pL8.js";var d=i(`bot`,[[`path`,{d:`M12 8V4H8`,key:`hb8ula`}],[`rect`,{width:`16`,height:`12`,x:`4`,y:`8`,rx:`2`,key:`enze0r`}],[`path`,{d:`M2 14h2`,key:`vft8re`}],[`path`,{d:`M20 14h2`,key:`4cs60a`}],[`path`,{d:`M15 13v2`,key:`1xurst`}],[`path`,{d:`M9 13v2`,key:`rq6x2g`}]]),f=i(`git-fork`,[[`circle`,{cx:`12`,cy:`18`,r:`3`,key:`1mpf1b`}],[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`circle`,{cx:`18`,cy:`6`,r:`3`,key:`1h7g24`}],[`path`,{d:`M18 9v2c0 .6-.4 1-1 1H7c-.6 0-1-.4-1-1V9`,key:`1uq4wg`}],[`path`,{d:`M12 12v3`,key:`158kv8`}]]),p=i(`info`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 16v-4`,key:`1dtifu`}],[`path`,{d:`M12 8h.01`,key:`e9boi3`}]]),m=e(t(),1),h=n();function g(e,t,n){let r=0;for(let i=0;i<e.length;){let a=e.codePointAt(i);if(a===void 0)break;if(i+=a>65535?2:1,r+=1,r>t)return new File([e],n,{type:`text/plain`})}}function _(e,t){return t===void 0||t.trim()===``||t.split(`,`).some(t=>{let n=t.trim();return n.startsWith(`.`)?e.name.toLowerCase().endsWith(n.toLowerCase()):n.endsWith(`/*`)?e.type.startsWith(n.slice(0,-1)):e.type===n})}function v(e){e.previewUrl.startsWith(`blob:`)&&URL.revokeObjectURL(e.previewUrl)}function y({attachments:e,children:t,className:n=``,disabled:i=!1,fileAccept:a,globalDrop:o=!1,imageAccept:c,largePasteCharacterThreshold:l=1/0,maxFileTotalSize:d=1/0,maxFileSize:f=1/0,maxImageSize:p=1/0,maxImages:y=1/0,maxImageTotalSize:b=1/0,multiple:x=!1,onAttachmentsChange:S,onError:C,onPaste:w,onPasteCapture:T,onSubmit:E,pastedTextFileName:D=`Pasted text.txt`,resetKey:O,...k}){let{t:A}=r(`conversation`),[j,M]=(0,m.useState)([]),N=e??j,P=(0,m.useRef)(N),F=(0,m.useRef)(e!==void 0),I=(0,m.useRef)(O);P.current=N,F.current=e!==void 0;let L=(0,m.useCallback)(t=>{if(e!==void 0){S?.(t(e));return}M(e=>[...t(e)])},[e,S]),R=(0,m.useCallback)((e,t=!1)=>{L(n=>{if(i)return n;let r=[],o=n.filter(e=>e.kind===`image`).length,l=n.reduce((e,t)=>e+(t.kind===`image`?t.size:0),0),u=n.reduce((e,t)=>e+(t.kind===`image`?0:t.size),0);for(let n of e){let e=t?`text`:_(n,c)?`image`:`file`;if(!(e===`text`||(e===`image`?_(n,c):_(n,a)))){C?.({code:`invalid_file_type`,message:A(`agentComponents.invalidFileType`,{name:n.name})});continue}if(e!==`image`&&n.size>f){C?.({code:`file_too_large`,message:A(`agentComponents.fileTooLarge`,{name:n.name})});continue}if(e===`image`&&n.size>p){C?.({code:`file_too_large`,message:A(`agentComponents.fileTooLarge`,{name:n.name})});continue}if(e===`image`&&o>=y){C?.({code:`too_many_images`,message:A(`agentComponents.tooManyImages`,{count:y})});continue}if(e===`image`&&l+n.size>b){C?.({code:`total_size_exceeded`,message:A(`agentComponents.totalImageSizeExceeded`)});continue}if(e!==`image`&&u+n.size>d){C?.({code:`total_size_exceeded`,message:A(`agentComponents.totalAttachmentSizeExceeded`)});continue}if(r.push({file:n,id:s(),kind:e,mediaType:n.type,name:n.name,previewUrl:URL.createObjectURL(n),size:n.size,source:`browser`}),e===`image`?(o+=1,l+=n.size):u+=n.size,!x)break}return[...n,...r]})},[i,a,c,f,d,p,y,b,x,C,A,L]),z=(0,m.useCallback)(()=>{L(e=>(e.forEach(v),[]))},[L]);(0,m.useLayoutEffect)(()=>{I.current!==O&&(I.current=O,e===void 0&&z())},[e,z,O]);let B=(0,m.useCallback)(e=>{L(t=>{let n=t.find(t=>t.id===e);return n!==void 0&&v(n),t.filter(t=>t.id!==e)})},[L]);(0,m.useEffect)(()=>()=>{F.current||P.current.forEach(v)},[]),(0,m.useEffect)(()=>{e===void 0&&S?.(j)},[e,j,S]),(0,m.useEffect)(()=>{if(!o||i)return;let e=e=>{e.dataTransfer?.types.includes(`Files`)===!0&&e.preventDefault()},t=e=>{e.dataTransfer?.files.length&&(e.preventDefault(),R([...e.dataTransfer.files]))};return document.addEventListener(`dragover`,e),document.addEventListener(`drop`,t),()=>{document.removeEventListener(`dragover`,e),document.removeEventListener(`drop`,t)}},[R,i,o]);let V=(0,m.useMemo)(()=>({clear:z,disabled:i,files:N,remove:B}),[z,i,N,B]);return(0,h.jsx)(u.Provider,{value:V,children:(0,h.jsx)(`form`,{...k,className:`overflow-visible rounded-surface border border-transparent bg-raised shadow-floating transition-[border-color,box-shadow] focus-within:border-brand focus-within:shadow-focus ${n}`,"data-prompt-input":``,onPasteCapture:e=>{if(T?.(e),i||e.defaultPrevented||e.clipboardData.files.length>0)return;let t=g(e.clipboardData.getData(`text/plain`),l,D);t!==void 0&&(e.preventDefault(),R([t],!0))},onPaste:e=>{if(w?.(e),i||e.defaultPrevented)return;let t=[...e.clipboardData.files];t.length>0&&(e.preventDefault(),R(t))},onSubmit:e=>{e.preventDefault();let t=new FormData(e.currentTarget).get(`message`);E?.({files:N,text:typeof t==`string`?t:``},e)},children:t})})}function b(e){return e.approvalPolicy===`never`?`never`:e.approvalPolicy===`on-request`&&e.approvalsReviewer===`auto_review`?`auto-review`:`on-request`}function x(e,t){return t===`auto-review`?{...e,approvalPolicy:`on-request`,approvalsReviewer:`auto_review`}:{...e,approvalPolicy:t,approvalsReviewer:`user`}}var S=[`workbench-pets`];function C(e=c){return a({queryFn:({signal:t})=>e.listWorkbenchPets({signal:t}),queryKey:S,staleTime:3e4})}function w(e,t){let n=e?.data??[],r=n.findIndex(e=>e.id===t.id);return r<0?{data:[...n,t]}:{data:n.map((e,n)=>n===r?t:e)}}function T(e,t=c){return o({meta:{actionNotification:{successMessage:!1}},mutationFn:async e=>{let n=`workbench-pet-${e}-${globalThis.crypto.randomUUID()}`;return t.downloadWorkbenchPet(e,{idempotencyKey:n})},mutationKey:[`workbench-pets`,`download`],onSuccess:({data:t})=>{e.setQueryData(S,e=>w(e,t))},scope:{id:`workbench-pet-download`}})}function E(e){return e!==void 0&&e.frames.length>0}function D(e,t){let n=new Set,r=t;for(;!n.has(r);){n.add(r);let t=e[r];if(t!==void 0&&E(t))return t;if(t!==void 0)r=t.fallback;else if(r!==`idle`)r=`idle`;else return}}var O=class{#e;#t;#n=`idle`;#r=!1;#i=0;#a=!1;#o;#s=!0;constructor(e){this.#e=e.animations,this.#t=e.onFrame}play(e){this.#n=e,this.#l()}setReducedMotion(e){this.#a!==e&&(this.#a=e,this.#l())}setVisible(e){this.#s!==e&&(this.#s=e,this.#l())}dispose(){this.#r=!0,this.#i+=1,this.#c()}#c(){this.#o!==void 0&&clearTimeout(this.#o),this.#o=void 0}#l(){if(this.#i+=1,this.#c(),this.#r||!this.#s)return;let e=D(this.#e,this.#n);e!==void 0&&this.#u(e,0,this.#i)}#u(e,t,n){if(n!==this.#i||this.#r||!this.#s)return;let r=e.frames[t];if(r===void 0||(this.#t(r.spriteIndex),this.#a))return;let i=t+1,a=e.loopStart??-1;i>=e.frames.length&&a<0||(this.#o=setTimeout(()=>{this.#o=void 0,this.#u(e,i<e.frames.length?i:a,n)},r.durationMs))}};async function k(e,t){let n=await fetch(e,{credentials:`same-origin`,signal:t});if(!n.ok)throw Error(`Unable to load pet asset: ${String(n.status)}`);return createImageBitmap(await n.blob())}function A(e,t,n,r){let i=e.getContext(`2d`);if(i===null)throw Error(`Canvas 2D context is unavailable`);let a=Math.max(1,e.clientWidth||n.width),o=Math.max(1,e.clientHeight||n.height),s=Math.min(3,Math.max(1,globalThis.devicePixelRatio||1)),c=Math.round(a*s),l=Math.round(o*s);e.width!==c&&(e.width=c),e.height!==l&&(e.height=l);let u=r%n.columns,d=Math.floor(r/n.columns);i.clearRect(0,0,c,l),i.imageSmoothingEnabled=!1,i.drawImage(t,u*n.width,d*n.height,n.width,n.height,0,0,c,l)}function j(){let[e,t]=(0,m.useState)(!1);return(0,m.useEffect)(()=>{let e=matchMedia(`(prefers-reduced-motion: reduce)`),n=()=>{t(e.matches)};return n(),e.addEventListener(`change`,n),()=>{e.removeEventListener(`change`,n)}},[]),e}function M({animationName:e,pet:t}){let n=(0,m.useRef)(null),[r,i]=(0,m.useState)(null),[a,o]=(0,m.useState)(!1),s=j(),c=l(t.assetId);return(0,m.useEffect)(()=>{let e=new AbortController,t=!0;return i(null),o(!1),typeof createImageBitmap==`function`?(k(c,e.signal).then(e=>{t?i(e):e.close()}).catch(()=>{t&&!e.signal.aborted&&o(!0)}),()=>{t=!1,e.abort()}):(o(!0),()=>{e.abort()})},[c]),(0,m.useEffect)(()=>()=>{r?.close()},[r]),(0,m.useEffect)(()=>{let i=n.current;if(i===null||r===null)return;let a=0,c=e=>{a=e;try{A(i,r,t.frame,e)}catch{o(!0)}},l=new O({animations:t.animations,onFrame:c});l.setReducedMotion(s),l.setVisible(document.visibilityState===`visible`),l.play(e);let u=new ResizeObserver(()=>{c(a)});u.observe(i);let d=()=>{l.setVisible(document.visibilityState===`visible`)};return document.addEventListener(`visibilitychange`,d),()=>{u.disconnect(),document.removeEventListener(`visibilitychange`,d),l.dispose()}},[e,r,t.animations,t.frame,s]),a?(0,h.jsx)(`span`,{"aria-hidden":`true`,className:`workbench-pet-static-fallback`,style:{backgroundImage:`url(${c})`,backgroundSize:`${String(t.frame.columns*100)}% ${String(t.frame.rows*100)}%`}}):(0,h.jsx)(`canvas`,{"aria-hidden":`true`,className:`workbench-pet-canvas`,ref:n})}export{b as a,f as c,x as i,d as l,T as n,y as o,C as r,p as s,M as t};