bb-app 0.0.9 → 0.0.11

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 (354) hide show
  1. package/app/dist/assets/AppSettingsView-Dh4Od2M3.js +1 -0
  2. package/app/dist/assets/InternalReplayListView-BjzY8fhh.js +1 -0
  3. package/app/dist/assets/ProjectArchivedThreadsView-o1R22xfj.js +1 -0
  4. package/app/dist/assets/ProjectSettingsView-BoH5a1hi.js +1 -0
  5. package/app/dist/assets/ThreadDetailRoute-Caqz8odF.js +2867 -0
  6. package/app/dist/assets/{ThreadUnarchiveButton-ae8m78ng.js → ThreadUnarchiveButton-2shfHri9.js} +1 -1
  7. package/app/dist/assets/{angular-html-CsQHuPoy.js → angular-html-CN4B7z8Z.js} +1 -1
  8. package/app/dist/assets/{angular-ts-B9caFRUl.js → angular-ts-Be9rCyh7.js} +1 -1
  9. package/app/dist/assets/{apl-BaFDIJAy.js → apl-C-09mkOY.js} +1 -1
  10. package/app/dist/assets/{astro-CB3F_OsY.js → astro-DQR04HMP.js} +1 -1
  11. package/app/dist/assets/{blade-CjgH6QoP.js → blade-CHOb28s9.js} +1 -1
  12. package/app/dist/assets/{bsl-CG-fq4sc.js → bsl-9Rfj8X2G.js} +1 -1
  13. package/app/dist/assets/{c-Bknf8flU.js → c-Czi5ZOPg.js} +1 -1
  14. package/app/dist/assets/{cairo-Ds0kTeYT.js → cairo-B8t0-PSB.js} +1 -1
  15. package/app/dist/assets/{chunk-JZWAC4HX-C0wcTaAp.js → chunk-JZWAC4HX-CmnT162V.js} +1 -1
  16. package/app/dist/assets/{cobol-s_WYmRkb.js → cobol-C0UrcShI.js} +1 -1
  17. package/app/dist/assets/{coffee-B4wogQNr.js → coffee-DLCACHKU.js} +1 -1
  18. package/app/dist/assets/{cpp-DBcUjMMg.js → cpp-CKRDyJLk.js} +1 -1
  19. package/app/dist/assets/{crystal-BEUw9aly.js → crystal-DzdlwfxO.js} +1 -1
  20. package/app/dist/assets/{css-Tyi5cHoy.js → css-J88DqgyO.js} +1 -1
  21. package/app/dist/assets/dialog-JFJupr8S.js +22 -0
  22. package/app/dist/assets/{edge-DBVUn5K4.js → edge-BiusF5O8.js} +1 -1
  23. package/app/dist/assets/effective-hosts-BS3g3uzj.js +68 -0
  24. package/app/dist/assets/{elixir-DScCko2H.js → elixir-DVV1N8WB.js} +1 -1
  25. package/app/dist/assets/{elm-C4qaS622.js → elm-ZwoouJdM.js} +1 -1
  26. package/app/dist/assets/{erb-CZnOXF4N.js → erb-6WVNn8lP.js} +1 -1
  27. package/app/dist/assets/{erlang-C-m_88FN.js → erlang-CdOz9ruD.js} +1 -1
  28. package/app/dist/assets/{fortran-fixed-form-Cx1lv7HN.js → fortran-fixed-form-BmD2L0UY.js} +1 -1
  29. package/app/dist/assets/{fsharp-DC5k9sy2.js → fsharp-DgKUr7h2.js} +1 -1
  30. package/app/dist/assets/{gdresource-D0EsKdgH.js → gdresource-BqgTfeIa.js} +1 -1
  31. package/app/dist/assets/{git-commit-BcFsuO5E.js → git-commit-CPnaL3nl.js} +1 -1
  32. package/app/dist/assets/{git-rebase-QEKpMjJZ.js → git-rebase-CI6iVcd4.js} +1 -1
  33. package/app/dist/assets/{glimmer-js-BNOZF2qI.js → glimmer-js-MU0okVIL.js} +1 -1
  34. package/app/dist/assets/{glimmer-ts-apIdP2bg.js → glimmer-ts-BXJcqrHb.js} +1 -1
  35. package/app/dist/assets/{glsl-Dg2m4Gqj.js → glsl-CthKK13_.js} +1 -1
  36. package/app/dist/assets/{graphql-DFhF_r-2.js → graphql-Cfx6sMIN.js} +1 -1
  37. package/app/dist/assets/{hack-Bhx0ZE7U.js → hack-Cfn0L20S.js} +1 -1
  38. package/app/dist/assets/{haml-DI6_Yg2F.js → haml-DpOUW3De.js} +1 -1
  39. package/app/dist/assets/{handlebars-BnNY7a5K.js → handlebars-Dq6TUqDg.js} +1 -1
  40. package/app/dist/assets/{html-BOXTZS1i.js → html-CrFhd97J.js} +1 -1
  41. package/app/dist/assets/{html-derivative-v40-23QP.js → html-derivative-SXrZiT2S.js} +1 -1
  42. package/app/dist/assets/{http-BjNdwlfX.js → http-BxRXAeum.js} +1 -1
  43. package/app/dist/assets/{hurl-FLqiDEN1.js → hurl-BsAa903H.js} +1 -1
  44. package/app/dist/assets/{hxml-iQTOTWpM.js → hxml-DlOl0PEf.js} +1 -1
  45. package/app/dist/assets/index-DYJoFBAk.css +2 -0
  46. package/app/dist/assets/index-DbhAkEqX.js +1366 -0
  47. package/app/dist/assets/{java-BK7M4QRN.js → java-BZRe3u16.js} +1 -1
  48. package/app/dist/assets/{javascript-CIysJabp.js → javascript-YzZUmjcN.js} +1 -1
  49. package/app/dist/assets/{jinja-D22cUMUY.js → jinja-CkL9mgnB.js} +1 -1
  50. package/app/dist/assets/{jison-D5ZXfQQd.js → jison-DY01LEsx.js} +1 -1
  51. package/app/dist/assets/{json-DEUxBxBS.js → json-DeVTS63Q.js} +1 -1
  52. package/app/dist/assets/{jsx-cxjRg4Z9.js → jsx-B73xjEBK.js} +1 -1
  53. package/app/dist/assets/{julia-DfQvji8F.js → julia-D5UCqxaX.js} +1 -1
  54. package/app/dist/assets/{just-7mfnOEVc.js → just-BfeKX4XX.js} +1 -1
  55. package/app/dist/assets/{latex-CmEGWjs7.js → latex-CllT7gYn.js} +1 -1
  56. package/app/dist/assets/{liquid-Cmbkwo5G.js → liquid-Bgz2sjbj.js} +1 -1
  57. package/app/dist/assets/localhost-badge-BESHcXM2.js +1 -0
  58. package/app/dist/assets/{lua-DJijm0YV.js → lua-CKg4_5Yw.js} +1 -1
  59. package/app/dist/assets/{marko-TMTUEuNL.js → marko-CSplXaxm.js} +1 -1
  60. package/app/dist/assets/{mdc-DT_H0tm2.js → mdc-CR1bPJlt.js} +1 -1
  61. package/app/dist/assets/mutation-cache-effects-BX02KjBd.js +1 -0
  62. package/app/dist/assets/mutation-errors-DgGC9CkY.js +2 -0
  63. package/app/dist/assets/{nextflow-D-Ec_bsY.js → nextflow-CK5HLJvq.js} +1 -1
  64. package/app/dist/assets/{nginx-DfhY1ECI.js → nginx-Chba8emm.js} +1 -1
  65. package/app/dist/assets/{nim-CY6yBY6c.js → nim-BJOCNxTB.js} +1 -1
  66. package/app/dist/assets/page-shell-CaMV_G2I.js +39 -0
  67. package/app/dist/assets/{perl-BRRcO43t.js → perl-DtYnB2VK.js} +1 -1
  68. package/app/dist/assets/{php-DoQeKnTv.js → php-Cm6MwVxd.js} +1 -1
  69. package/app/dist/assets/{pill-CoTRlxZ6.js → pill-Ds03GLze.js} +1 -1
  70. package/app/dist/assets/{pug-BusbjPKV.js → pug-Cs95QZUY.js} +1 -1
  71. package/app/dist/assets/{qml-D4hm6vUS.js → qml-DV4H8TeV.js} +1 -1
  72. package/app/dist/assets/{r-C3JOt0ks.js → r-BOwNWtkP.js} +1 -1
  73. package/app/dist/assets/{razor-MHFIGhr-.js → razor-rzD3KE0N.js} +1 -1
  74. package/app/dist/assets/{regexp-DmDmHqK0.js → regexp-D5UpjLq1.js} +1 -1
  75. package/app/dist/assets/{rst-D5K5OvKu.js → rst-nRBldbnW.js} +1 -1
  76. package/app/dist/assets/{ruby-qXw_ViMa.js → ruby-DK9_UnsF.js} +1 -1
  77. package/app/dist/assets/{sas-SiqJsOSW.js → sas-BxxScrc4.js} +1 -1
  78. package/app/dist/assets/{scss-B9bBsqJt.js → scss-dYaO_Ssw.js} +1 -1
  79. package/app/dist/assets/{settings-section-B0JkCbim.js → settings-section-BgEyrMBV.js} +1 -1
  80. package/app/dist/assets/{shaderlab-DGohHMiF.js → shaderlab-jhHUXThs.js} +1 -1
  81. package/app/dist/assets/{shellscript-B0hF8Ck_.js → shellscript-BGY92qaj.js} +1 -1
  82. package/app/dist/assets/{shellsession-kbvqTqYV.js → shellsession-DHio1RBs.js} +1 -1
  83. package/app/dist/assets/{soy-DED6zzHR.js → soy-CWnh82_C.js} +1 -1
  84. package/app/dist/assets/{sparql-BgU2QITA.js → sparql-D050l-1j.js} +1 -1
  85. package/app/dist/assets/split-button-PlurXMEc.js +1 -0
  86. package/app/dist/assets/{sql-kJQbrAD6.js → sql-BgOSYFXh.js} +1 -1
  87. package/app/dist/assets/{stata-Bsjpyopz.js → stata-Di5c1EGu.js} +1 -1
  88. package/app/dist/assets/{surrealql-CV66KZgA.js → surrealql-CKgBuPai.js} +1 -1
  89. package/app/dist/assets/{svelte-DQTF70EG.js → svelte-DGNSQgHP.js} +1 -1
  90. package/app/dist/assets/{templ-5jXq5O2y.js → templ--mBJoDNy.js} +1 -1
  91. package/app/dist/assets/{tex-BKPWc06x.js → tex-Drg-gBC1.js} +1 -1
  92. package/app/dist/assets/thread-queries-DI7HoSpk.js +1 -0
  93. package/app/dist/assets/{ts-tags-DHR5Sjbn.js → ts-tags-_EoiaFc_.js} +1 -1
  94. package/app/dist/assets/{tsx-BikICA1y.js → tsx-C3E3ZPo7.js} +1 -1
  95. package/app/dist/assets/{twig-D00gH1GT.js → twig-BkmJOmf1.js} +1 -1
  96. package/app/dist/assets/{typescript-B9SUz1Ri.js → typescript-zC8doK3K.js} +1 -1
  97. package/app/dist/assets/{vue-nmyY5t9g.js → vue-Dqnq1uw7.js} +1 -1
  98. package/app/dist/assets/{vue-html-CxTWudeN.js → vue-html-CZNe_SnY.js} +1 -1
  99. package/app/dist/assets/{vue-vine-DKOrFY9Z.js → vue-vine-ChEJZJ0Y.js} +1 -1
  100. package/app/dist/assets/workspace-open-target-preference-Dve5Zih1.js +1 -0
  101. package/app/dist/assets/{xml-vPV5v5Ih.js → xml-DHqUJISw.js} +1 -1
  102. package/app/dist/assets/{xsl-FiPzBrgC.js → xsl-B_xW8s_z.js} +1 -1
  103. package/app/dist/assets/{yaml-CYAqjA7C.js → yaml-CHAY15k-.js} +1 -1
  104. package/app/dist/index.html +12 -11
  105. package/host-daemon/dist/bb +55 -55
  106. package/host-daemon/dist/bb-claude-code-bridge.mjs +37 -37
  107. package/host-daemon/dist/bb-pi-bridge.mjs +1 -1
  108. package/host-daemon/dist/daemon-bundle.mjs +439 -432
  109. package/package.json +1 -1
  110. package/server/dist/drizzle/0005_strong_exodus.sql +29 -0
  111. package/server/dist/drizzle/0006_rapid_santa_claus.sql +11 -0
  112. package/server/dist/drizzle/0007_curvy_ezekiel_stane.sql +2 -0
  113. package/server/dist/drizzle/meta/0005_snapshot.json +3227 -0
  114. package/server/dist/drizzle/meta/0006_snapshot.json +3243 -0
  115. package/server/dist/drizzle/meta/0007_snapshot.json +3260 -0
  116. package/server/dist/drizzle/meta/_journal.json +22 -1
  117. package/server/dist/index.js +11880 -14862
  118. package/app/dist/assets/AppSettingsView-3xuBYGm-.js +0 -1
  119. package/app/dist/assets/InternalReplayListView-D4BuZuhX.js +0 -1
  120. package/app/dist/assets/ProjectArchivedThreadsView-CQ79aEPs.js +0 -1
  121. package/app/dist/assets/ProjectSettingsView-D0t1s9Kc.js +0 -1
  122. package/app/dist/assets/ThreadDetailRoute-S7gHiq2R.js +0 -2871
  123. package/app/dist/assets/dialog-yU2jYzlX.js +0 -1
  124. package/app/dist/assets/effective-hosts-L1PAD_aI.js +0 -68
  125. package/app/dist/assets/index-BYWUZ2en.css +0 -2
  126. package/app/dist/assets/index-aLeXFWbZ.js +0 -1360
  127. package/app/dist/assets/localhost-badge-CmIXXpKJ.js +0 -22
  128. package/app/dist/assets/mutation-cache-effects-CDggZqqz.js +0 -1
  129. package/app/dist/assets/page-shell-BWng2QUG.js +0 -39
  130. package/app/dist/assets/split-button-D4kqBiFb.js +0 -1
  131. package/app/dist/assets/thread-queries-fJ7WqAPD.js +0 -1
  132. /package/app/dist/assets/{abap-B1dkBSPn.js → abap-B7RnWQOG.js} +0 -0
  133. /package/app/dist/assets/{actionscript-3-BT4ibYlP.js → actionscript-3-CRl2BRXz.js} +0 -0
  134. /package/app/dist/assets/{ada-CD92zeps.js → ada-CySgk42_.js} +0 -0
  135. /package/app/dist/assets/{addon-fit-Cm0rqjtv.js → addon-fit-C0pCnz-E.js} +0 -0
  136. /package/app/dist/assets/{addon-web-links-B8_D6zvC.js → addon-web-links-C74o10p8.js} +0 -0
  137. /package/app/dist/assets/{andromeeda-DqSmgxi0.js → andromeeda-Bnm9WW1a.js} +0 -0
  138. /package/app/dist/assets/{apache-D5suuoa_.js → apache-CQgWNR0K.js} +0 -0
  139. /package/app/dist/assets/{apex-BL-m4VHy.js → apex-CFa_x2c9.js} +0 -0
  140. /package/app/dist/assets/{applescript-CLiBqvKT.js → applescript-CCGt--QU.js} +0 -0
  141. /package/app/dist/assets/{ara-LdDF8cmv.js → ara-CJYv1XlV.js} +0 -0
  142. /package/app/dist/assets/{asciidoc-2DZ9hC2N.js → asciidoc-DxgPoKvx.js} +0 -0
  143. /package/app/dist/assets/{asm-0ZPGRSUy.js → asm-2LyQSByb.js} +0 -0
  144. /package/app/dist/assets/{aurora-x-Da7Zfvbg.js → aurora-x-DfOR6O80.js} +0 -0
  145. /package/app/dist/assets/{awk-Bn0gn_B_.js → awk-adfNbTQc.js} +0 -0
  146. /package/app/dist/assets/{ayu-dark-bqYKoqpM.js → ayu-dark-ADZF52JZ.js} +0 -0
  147. /package/app/dist/assets/{ayu-light-C45jTIzZ.js → ayu-light-CMMeLqXc.js} +0 -0
  148. /package/app/dist/assets/{ayu-mirage-BV_FCTQi.js → ayu-mirage-BZvrYN67.js} +0 -0
  149. /package/app/dist/assets/{ballerina-D2nw_w8Q.js → ballerina-G1jH5Moz.js} +0 -0
  150. /package/app/dist/assets/{bat-ByUBN5gS.js → bat-CHXtPpft.js} +0 -0
  151. /package/app/dist/assets/{beancount-BTb2W6Mp.js → beancount-EfboDiXG.js} +0 -0
  152. /package/app/dist/assets/{berry-5SO2uITG.js → berry-DAhQzFBm.js} +0 -0
  153. /package/app/dist/assets/{bibtex-CDBTNfUI.js → bibtex-CanpD3m2.js} +0 -0
  154. /package/app/dist/assets/{bicep-fgxG_4rP.js → bicep-Cc0u08ve.js} +0 -0
  155. /package/app/dist/assets/{bird2-BCwzDhwX.js → bird2-BmGSmafQ.js} +0 -0
  156. /package/app/dist/assets/{c3-Dlaci63_.js → c3-Bld9q8eN.js} +0 -0
  157. /package/app/dist/assets/{cadence-DHbRuEmm.js → cadence-_3OaglmQ.js} +0 -0
  158. /package/app/dist/assets/{catppuccin-frappe-DrL1fUuH.js → catppuccin-frappe-Dn0XJ8jj.js} +0 -0
  159. /package/app/dist/assets/{catppuccin-latte-C0REgVjl.js → catppuccin-latte-D25Kwd8S.js} +0 -0
  160. /package/app/dist/assets/{catppuccin-macchiato-ChQpylWO.js → catppuccin-macchiato-Bc6w_RYC.js} +0 -0
  161. /package/app/dist/assets/{catppuccin-mocha-Dd0JU1T0.js → catppuccin-mocha-Di4PH8Ri.js} +0 -0
  162. /package/app/dist/assets/{clarity-DMoTOm4G.js → clarity-CVKtZWJu.js} +0 -0
  163. /package/app/dist/assets/{clojure-DBhE3PpS.js → clojure-C4w8xKrn.js} +0 -0
  164. /package/app/dist/assets/{cmake-DwMc40Or.js → cmake-DuxpWyxB.js} +0 -0
  165. /package/app/dist/assets/{codeowners-1lVr8wqV.js → codeowners-BYgLRiPG.js} +0 -0
  166. /package/app/dist/assets/{codeql-DWflolvo.js → codeql-DmJo4bmm.js} +0 -0
  167. /package/app/dist/assets/{common-lisp-CrVQ5xT-.js → common-lisp-xmwdM7sj.js} +0 -0
  168. /package/app/dist/assets/{coq-CjfoyYSh.js → coq-D004aLp-.js} +0 -0
  169. /package/app/dist/assets/{csharp-C7bIWP5y.js → csharp-BJRWJrkS.js} +0 -0
  170. /package/app/dist/assets/{csv-DsAkDVtA.js → csv-Cx2EO4hN.js} +0 -0
  171. /package/app/dist/assets/{cue-BWmQgbOB.js → cue-BFvpulfw.js} +0 -0
  172. /package/app/dist/assets/{cypher-D-jVC50Q.js → cypher-CloxltJj.js} +0 -0
  173. /package/app/dist/assets/{d-CaviyOrm.js → d-ByN-nCZx.js} +0 -0
  174. /package/app/dist/assets/{dark-plus-DIrnwZt9.js → dark-plus-BRQ4k4kr.js} +0 -0
  175. /package/app/dist/assets/{dart-CZEi7JgC.js → dart-jaYeqpH7.js} +0 -0
  176. /package/app/dist/assets/{dax-BK-8zffy.js → dax-CQDoOssZ.js} +0 -0
  177. /package/app/dist/assets/{desktop-D3cjbL4D.js → desktop-DssJfs2S.js} +0 -0
  178. /package/app/dist/assets/{diff-sHAzLvlp.js → diff-DGLbp6Xl.js} +0 -0
  179. /package/app/dist/assets/{docker--xs2Ng3w.js → docker-B7aZDRTU.js} +0 -0
  180. /package/app/dist/assets/{dotenv-Cm4nwcJ7.js → dotenv-D3KyAIK0.js} +0 -0
  181. /package/app/dist/assets/{dracula-CAUSusef.js → dracula-6-t2eOMW.js} +0 -0
  182. /package/app/dist/assets/{dracula-soft-cjNkMFza.js → dracula-soft-B4TZzIlp.js} +0 -0
  183. /package/app/dist/assets/{dream-maker-fjmWTFCO.js → dream-maker-CjPuR0vx.js} +0 -0
  184. /package/app/dist/assets/{emacs-lisp-CJzqStIa.js → emacs-lisp-BHg7FqFZ.js} +0 -0
  185. /package/app/dist/assets/{everforest-dark-DBpaSMx1.js → everforest-dark-B4IVVaS6.js} +0 -0
  186. /package/app/dist/assets/{everforest-light-CiGrXwia.js → everforest-light-CNoEiPUu.js} +0 -0
  187. /package/app/dist/assets/{fennel-DRaXF7k8.js → fennel-DG6hK7z2.js} +0 -0
  188. /package/app/dist/assets/{fish-Bn-Yh3Jj.js → fish-_zY__9L4.js} +0 -0
  189. /package/app/dist/assets/{fluent-DF5F8Ks_.js → fluent-BBz3hVA9.js} +0 -0
  190. /package/app/dist/assets/{fortran-free-form-hCQHRqew.js → fortran-free-form-Db24aQuN.js} +0 -0
  191. /package/app/dist/assets/{gdscript-_C9_Hi_w.js → gdscript-CxxY7zMa.js} +0 -0
  192. /package/app/dist/assets/{gdshader-BW7b1X1Y.js → gdshader-W85lNgcx.js} +0 -0
  193. /package/app/dist/assets/{genie-Ch_6TCHd.js → genie-2WOhOayX.js} +0 -0
  194. /package/app/dist/assets/{gherkin-CaNUsmTq.js → gherkin-BsQJenZD.js} +0 -0
  195. /package/app/dist/assets/{github-dark-B9ygjgg6.js → github-dark-DH2_Q6FX.js} +0 -0
  196. /package/app/dist/assets/{github-dark-default-Br2bgYSx.js → github-dark-default-DTF8deNx.js} +0 -0
  197. /package/app/dist/assets/{github-dark-dimmed-CmtqpPJ-.js → github-dark-dimmed-BvtnYOMy.js} +0 -0
  198. /package/app/dist/assets/{github-dark-high-contrast-fSfmrZcC.js → github-dark-high-contrast-CQhqa0EF.js} +0 -0
  199. /package/app/dist/assets/{github-light-default-lIytXXhR.js → github-light-default-9rPElOua.js} +0 -0
  200. /package/app/dist/assets/{github-light-high-contrast-BRrjFb7n.js → github-light-high-contrast-Drx2T_ea.js} +0 -0
  201. /package/app/dist/assets/{github-light-BZjUqfZl.js → github-light-t2gQwbnC.js} +0 -0
  202. /package/app/dist/assets/{gleam-DALMDpNs.js → gleam-BjFNd70h.js} +0 -0
  203. /package/app/dist/assets/{gn-DGjqrYN9.js → gn-MXj_EEiV.js} +0 -0
  204. /package/app/dist/assets/{gnuplot-BYckvgQI.js → gnuplot-C40vWoS_.js} +0 -0
  205. /package/app/dist/assets/{go-JycvP538.js → go-B2Qj-jpc.js} +0 -0
  206. /package/app/dist/assets/{groovy-D5qMRONT.js → groovy-42TXi0JD.js} +0 -0
  207. /package/app/dist/assets/{gruvbox-dark-hard-M1dj1e6V.js → gruvbox-dark-hard-DaxQoAo9.js} +0 -0
  208. /package/app/dist/assets/{gruvbox-dark-medium-cqq_ncQu.js → gruvbox-dark-medium-CR6ynfxn.js} +0 -0
  209. /package/app/dist/assets/{gruvbox-dark-soft-B4QwL2a9.js → gruvbox-dark-soft-QoKQNR_B.js} +0 -0
  210. /package/app/dist/assets/{gruvbox-light-hard-DLayMKOQ.js → gruvbox-light-hard-C3-JuKAe.js} +0 -0
  211. /package/app/dist/assets/{gruvbox-light-medium-D52XgPKf.js → gruvbox-light-medium-676URJw_.js} +0 -0
  212. /package/app/dist/assets/{gruvbox-light-soft-Dola3KdD.js → gruvbox-light-soft-BGpHIYJO.js} +0 -0
  213. /package/app/dist/assets/{haskell-ys7wPPEd.js → haskell-C5VEzHiR.js} +0 -0
  214. /package/app/dist/assets/{haxe-94kiChn7.js → haxe-DxCG7g2C.js} +0 -0
  215. /package/app/dist/assets/{hcl-DmHt_-wq.js → hcl-B-KEcm-b.js} +0 -0
  216. /package/app/dist/assets/{hjson-xMmoJ0Gx.js → hjson-KcqWy6wG.js} +0 -0
  217. /package/app/dist/assets/{hlsl-b-Pskdze.js → hlsl-CU9ay1Rj.js} +0 -0
  218. /package/app/dist/assets/{horizon-BKMqttiR.js → horizon-BDDUNMOh.js} +0 -0
  219. /package/app/dist/assets/{horizon-bright-HNkBlnm5.js → horizon-bright-Km86OX7k.js} +0 -0
  220. /package/app/dist/assets/{houston-BkBSBSOQ.js → houston-CnK3oLKP.js} +0 -0
  221. /package/app/dist/assets/{hy-DKl1XhBq.js → hy-9kqolRdI.js} +0 -0
  222. /package/app/dist/assets/{imba-DPxkOTAg.js → imba-AWBATAYY.js} +0 -0
  223. /package/app/dist/assets/{ini-lkLGq_1x.js → ini-P5JLg6LV.js} +0 -0
  224. /package/app/dist/assets/{json5-Cy6ypJuJ.js → json5-Cj9weIvR.js} +0 -0
  225. /package/app/dist/assets/{jsonc-Cw2ugYAK.js → jsonc-CwVZHrLL.js} +0 -0
  226. /package/app/dist/assets/{jsonl-Dp5_qBVH.js → jsonl-CfYcxfNz.js} +0 -0
  227. /package/app/dist/assets/{jsonnet-BTbmg_-u.js → jsonnet-B351KcBZ.js} +0 -0
  228. /package/app/dist/assets/{jssm-CnT7nPea.js → jssm-CVNVxyp8.js} +0 -0
  229. /package/app/dist/assets/{kanagawa-dragon-CxsBnuhV.js → kanagawa-dragon-Bg-BKRuP.js} +0 -0
  230. /package/app/dist/assets/{kanagawa-lotus-vHdxDDOS.js → kanagawa-lotus-CVGoMXw8.js} +0 -0
  231. /package/app/dist/assets/{kanagawa-wave-CIkfTKWk.js → kanagawa-wave-CuNbEAGB.js} +0 -0
  232. /package/app/dist/assets/{kdl-BwK60g80.js → kdl-B2a5Hdo5.js} +0 -0
  233. /package/app/dist/assets/{kotlin-Dbd9Vi-v.js → kotlin-CwntYu9G.js} +0 -0
  234. /package/app/dist/assets/{kusto-BuTk9usc.js → kusto-DzqQhEgS.js} +0 -0
  235. /package/app/dist/assets/{laserwave-C0wf_d3o.js → laserwave-Bf5KiZGG.js} +0 -0
  236. /package/app/dist/assets/{lean-CYAW8bRN.js → lean-CLemLjY9.js} +0 -0
  237. /package/app/dist/assets/{less-D4uen21c.js → less-Dycz37IB.js} +0 -0
  238. /package/app/dist/assets/{light-plus-oqYyWKEE.js → light-plus-BISup5vO.js} +0 -0
  239. /package/app/dist/assets/{llvm-Z1xJzteV.js → llvm-B3vA1z1w.js} +0 -0
  240. /package/app/dist/assets/{log-BGUxlsk3.js → log-CM4eTPwH.js} +0 -0
  241. /package/app/dist/assets/{logo-wVUhvQ1b.js → logo-DCYIDlXZ.js} +0 -0
  242. /package/app/dist/assets/{luau-rPFZzCmq.js → luau-B3LrvOEt.js} +0 -0
  243. /package/app/dist/assets/{make-BmPf6m0P.js → make-Bep3F-fA.js} +0 -0
  244. /package/app/dist/assets/{markdown-AseU6zcW.js → markdown-BObkjWCp.js} +0 -0
  245. /package/app/dist/assets/{material-theme-darker-VPEo3Sem.js → material-theme-darker-DM1OIivA.js} +0 -0
  246. /package/app/dist/assets/{material-theme-6_W6rQhR.js → material-theme-jZt3rhQh.js} +0 -0
  247. /package/app/dist/assets/{material-theme-lighter-CUhzCcZ9.js → material-theme-lighter-HtgpH1FU.js} +0 -0
  248. /package/app/dist/assets/{material-theme-ocean-B2JdsaGb.js → material-theme-ocean-CeFuXoRG.js} +0 -0
  249. /package/app/dist/assets/{material-theme-palenight-DhY-sklA.js → material-theme-palenight-BMg4YxS6.js} +0 -0
  250. /package/app/dist/assets/{matlab-BOj_BDQv.js → matlab-BjvFQgI4.js} +0 -0
  251. /package/app/dist/assets/{mdx-Cm6cDkDI.js → mdx-DnKU9cqA.js} +0 -0
  252. /package/app/dist/assets/{mermaid-DLO-R4hv.js → mermaid-CH8Qvaqo.js} +0 -0
  253. /package/app/dist/assets/{min-dark-D34a_pX7.js → min-dark-B95jFnY0.js} +0 -0
  254. /package/app/dist/assets/{min-light-Cdd4KORE.js → min-light-CqwYUont.js} +0 -0
  255. /package/app/dist/assets/{mipsasm-DYpHF-GA.js → mipsasm-OAAwCDEg.js} +0 -0
  256. /package/app/dist/assets/{mojo-DqYVFv_G.js → mojo-COx3BOEA.js} +0 -0
  257. /package/app/dist/assets/{monokai-CDR4sQ2n.js → monokai-C988KBom.js} +0 -0
  258. /package/app/dist/assets/{moonbit-DRKee9wk.js → moonbit-ChOfdbnC.js} +0 -0
  259. /package/app/dist/assets/{move-DbRk6Vn9.js → move-jwG4QUY4.js} +0 -0
  260. /package/app/dist/assets/{narrat-IOfmaXfb.js → narrat-Bv3slmdi.js} +0 -0
  261. /package/app/dist/assets/{nextflow-groovy-EYl0c2BQ.js → nextflow-groovy-CYeLXiaP.js} +0 -0
  262. /package/app/dist/assets/{night-owl-yQJ3-I0I.js → night-owl-SjOLjRtB.js} +0 -0
  263. /package/app/dist/assets/{night-owl-light-Bedht9b4.js → night-owl-light-DHrEzBAj.js} +0 -0
  264. /package/app/dist/assets/{nix-C2IovEl2.js → nix-CcOD1khX.js} +0 -0
  265. /package/app/dist/assets/{nord-BjZ63GNL.js → nord-BGjNHkRW.js} +0 -0
  266. /package/app/dist/assets/{nushell-BflTrRB5.js → nushell-GFe6C8D1.js} +0 -0
  267. /package/app/dist/assets/{objective-c-GRClK1S7.js → objective-c-Da4gtNmU.js} +0 -0
  268. /package/app/dist/assets/{objective-cpp-l3qYw-v5.js → objective-cpp-Du3a_PKx.js} +0 -0
  269. /package/app/dist/assets/{ocaml-BBDyhyMH.js → ocaml-4v1g0DKj.js} +0 -0
  270. /package/app/dist/assets/{odin-jCJ7Js99.js → odin-C2CG6fMn.js} +0 -0
  271. /package/app/dist/assets/{one-dark-pro-PIx2Diul.js → one-dark-pro-BwcbXd-T.js} +0 -0
  272. /package/app/dist/assets/{one-light-BFMEz49S.js → one-light-BOQW5zin.js} +0 -0
  273. /package/app/dist/assets/{openscad-Drf0LgCX.js → openscad-Bs2SxlcB.js} +0 -0
  274. /package/app/dist/assets/{pascal-BT2XAUTl.js → pascal-B6AuHgs_.js} +0 -0
  275. /package/app/dist/assets/{pierre-dark-BMm5HxPQ.js → pierre-dark-CRPkZhl3.js} +0 -0
  276. /package/app/dist/assets/{pierre-light-DyzEot4Q.js → pierre-light-BT7AHM04.js} +0 -0
  277. /package/app/dist/assets/{pkl-ML-dWShO.js → pkl-BuPFXprX.js} +0 -0
  278. /package/app/dist/assets/{plastic-BFI-Z5Z2.js → plastic-BiAROaFC.js} +0 -0
  279. /package/app/dist/assets/{plsql-0vd5cLro.js → plsql-DQ_z5ed2.js} +0 -0
  280. /package/app/dist/assets/{po-CbZ_uqQA.js → po-BvHij3iO.js} +0 -0
  281. /package/app/dist/assets/{poimandres-Cayhd01L.js → poimandres-BbdNMHGS.js} +0 -0
  282. /package/app/dist/assets/{polar-C4hfV8Nc.js → polar-p_EVOYp2.js} +0 -0
  283. /package/app/dist/assets/{postcss-osFUbTLw.js → postcss-BVVH-mhK.js} +0 -0
  284. /package/app/dist/assets/{powerquery-CTlGUQPj.js → powerquery-D2htabf9.js} +0 -0
  285. /package/app/dist/assets/{powershell-DyZsOmuq.js → powershell-NfY3J8Uu.js} +0 -0
  286. /package/app/dist/assets/{prisma-SS92PO_I.js → prisma-CMeP8UTm.js} +0 -0
  287. /package/app/dist/assets/{prolog-B1O1NNVC.js → prolog-Cc9yvHML.js} +0 -0
  288. /package/app/dist/assets/{proto-BWu3eZTs.js → proto-CNBX21YV.js} +0 -0
  289. /package/app/dist/assets/{puppet-tvtRVdr6.js → puppet-ZnM2F-kY.js} +0 -0
  290. /package/app/dist/assets/{purescript-Dtbpb7D-.js → purescript-nyLIIaTP.js} +0 -0
  291. /package/app/dist/assets/{python-Dlk0Acio.js → python-Dt6SBvxD.js} +0 -0
  292. /package/app/dist/assets/{qmldir-B-iEOngH.js → qmldir-BDEiw2QJ.js} +0 -0
  293. /package/app/dist/assets/{qss-Ba0p-aHw.js → qss-B8ZOZZRM.js} +0 -0
  294. /package/app/dist/assets/{racket-BXDsxf2U.js → racket-emNFhxM0.js} +0 -0
  295. /package/app/dist/assets/{raku-Dw1WWFXK.js → raku-M_VGm79k.js} +0 -0
  296. /package/app/dist/assets/{red-BC3Ds49b.js → red-BcYVa2Jk.js} +0 -0
  297. /package/app/dist/assets/{reg-DXFHGaM4.js → reg-rRGLqGjW.js} +0 -0
  298. /package/app/dist/assets/{rel-Dc5_Ytx2.js → rel-DqcQFa7Q.js} +0 -0
  299. /package/app/dist/assets/{riscv-ZgswiWij.js → riscv-CanSyeO8.js} +0 -0
  300. /package/app/dist/assets/{ron-YghabWAH.js → ron-BQ46iNCb.js} +0 -0
  301. /package/app/dist/assets/{rose-pine-ByWLnVr3.js → rose-pine-BuTm62Vj.js} +0 -0
  302. /package/app/dist/assets/{rose-pine-dawn-DBmeySrz.js → rose-pine-dawn-B670NuiP.js} +0 -0
  303. /package/app/dist/assets/{rose-pine-moon-B9J-N3nK.js → rose-pine-moon-6KoQonQX.js} +0 -0
  304. /package/app/dist/assets/{rosmsg-DTKmAsVH.js → rosmsg-Bw0HfGe_.js} +0 -0
  305. /package/app/dist/assets/{rust-nfXwuE6F.js → rust-D83UuV7F.js} +0 -0
  306. /package/app/dist/assets/{sass-CbRjkld3.js → sass-CE2YZJdE.js} +0 -0
  307. /package/app/dist/assets/{scala-BzD3eypx.js → scala-CyYhociv.js} +0 -0
  308. /package/app/dist/assets/{scheme-D4d1PV1y.js → scheme-BrRWQ1yX.js} +0 -0
  309. /package/app/dist/assets/{sdbl-Cf-Ydnvx.js → sdbl-CtZR2I6R.js} +0 -0
  310. /package/app/dist/assets/{slack-dark-MszIyPZ2.js → slack-dark-nxsbRL6U.js} +0 -0
  311. /package/app/dist/assets/{slack-ochin-tQ3Q0gE9.js → slack-ochin-Cx2HX71B.js} +0 -0
  312. /package/app/dist/assets/{smalltalk-_uWoArwn.js → smalltalk-DGeW9hbd.js} +0 -0
  313. /package/app/dist/assets/{snazzy-light-9sniMEk5.js → snazzy-light-508iEJO_.js} +0 -0
  314. /package/app/dist/assets/{solarized-dark-CdD0Hxzv.js → solarized-dark-TCkigWjM.js} +0 -0
  315. /package/app/dist/assets/{solarized-light-C-nsEdqF.js → solarized-light-R2Rcjqww.js} +0 -0
  316. /package/app/dist/assets/{solidity-D6uC-xwP.js → solidity-46G7JVSr.js} +0 -0
  317. /package/app/dist/assets/{splunk-LQYHRu14.js → splunk-DKgoBk9o.js} +0 -0
  318. /package/app/dist/assets/{ssh-config-B7BUl8Rd.js → ssh-config-JoXpWa3y.js} +0 -0
  319. /package/app/dist/assets/{stylus-Byjxdx_q.js → stylus-BPw8WnNN.js} +0 -0
  320. /package/app/dist/assets/{swift-BexLlMrU.js → swift-Ce2Nlw8Q.js} +0 -0
  321. /package/app/dist/assets/{synthwave-84-BxMBwQMS.js → synthwave-84-Br2i7yYN.js} +0 -0
  322. /package/app/dist/assets/{system-verilog-DVGwm0mw.js → system-verilog-Dkc37EdI.js} +0 -0
  323. /package/app/dist/assets/{systemd-H2IT3-p5.js → systemd-CcJTFvpw.js} +0 -0
  324. /package/app/dist/assets/{talonscript-mKZIGM8n.js → talonscript-CHxC2PG4.js} +0 -0
  325. /package/app/dist/assets/{tasl-B7he_Ugr.js → tasl-woKXKJkx.js} +0 -0
  326. /package/app/dist/assets/{tcl-5mT3RxHH.js → tcl-6FTtarFH.js} +0 -0
  327. /package/app/dist/assets/{terraform-BZP0GLsT.js → terraform-DHx5Kdyi.js} +0 -0
  328. /package/app/dist/assets/{tokyo-night-CTPVdZt9.js → tokyo-night-BQsIhA-A.js} +0 -0
  329. /package/app/dist/assets/{toml-CTFA98he.js → toml-BCbG8Uu3.js} +0 -0
  330. /package/app/dist/assets/{tsv-BayJtYdY.js → tsv-Bfk0YRxN.js} +0 -0
  331. /package/app/dist/assets/{turtle-TVCBh_kY.js → turtle-DsCF_r1D.js} +0 -0
  332. /package/app/dist/assets/{typespec-BUvaJDLF.js → typespec-tsneGPKg.js} +0 -0
  333. /package/app/dist/assets/{typst-8NBaY7Ec.js → typst-BcQNhVIE.js} +0 -0
  334. /package/app/dist/assets/{v-VihyTigi.js → v-CPbK5D5K.js} +0 -0
  335. /package/app/dist/assets/{vala-DyFAPyX6.js → vala-CTmcnleK.js} +0 -0
  336. /package/app/dist/assets/{vb-Dg1Iqi4J.js → vb-iQRhK9Tp.js} +0 -0
  337. /package/app/dist/assets/{verilog-D2Xc-vhD.js → verilog-BxRFSB3_.js} +0 -0
  338. /package/app/dist/assets/{vesper-DJbtqYNr.js → vesper-D_U9vezF.js} +0 -0
  339. /package/app/dist/assets/{vhdl-CU3BVeE7.js → vhdl-D4h06VsC.js} +0 -0
  340. /package/app/dist/assets/{viml-hG2shuOW.js → viml-DMcwh6Y2.js} +0 -0
  341. /package/app/dist/assets/{vitesse-black-DbG2gsc0.js → vitesse-black-Dk8H62LF.js} +0 -0
  342. /package/app/dist/assets/{vitesse-dark-B6WV4xXH.js → vitesse-dark-BuiSS132.js} +0 -0
  343. /package/app/dist/assets/{vitesse-light-DC1pdD02.js → vitesse-light-DfdaVJLv.js} +0 -0
  344. /package/app/dist/assets/{vyper-C1wojIuk.js → vyper-DfAPtbtc.js} +0 -0
  345. /package/app/dist/assets/{wasm-C6Y0s02M.js → wasm-ByDQ9GrP.js} +0 -0
  346. /package/app/dist/assets/{wasm-y20ImDym.js → wasm-CfmxG3B2.js} +0 -0
  347. /package/app/dist/assets/{wenyan-BG5vPQF0.js → wenyan-DNkN8oQc.js} +0 -0
  348. /package/app/dist/assets/{wgsl-DrVb-Cub.js → wgsl-Bggw1Yhv.js} +0 -0
  349. /package/app/dist/assets/{wikitext-PRC4s8sH.js → wikitext-zXy-4mpr.js} +0 -0
  350. /package/app/dist/assets/{wit-ChW5qvg_.js → wit--vc2X9vR.js} +0 -0
  351. /package/app/dist/assets/{wolfram-B8mKuZSQ.js → wolfram-Dr60-Zy4.js} +0 -0
  352. /package/app/dist/assets/{xterm-DGJHbKBQ.js → xterm-Ba9eaFdZ.js} +0 -0
  353. /package/app/dist/assets/{zenscript-C-jEPC9j.js → zenscript-Cf2Qp-oj.js} +0 -0
  354. /package/app/dist/assets/{zig-EbnRGjcz.js → zig-DgUQodsP.js} +0 -0
@@ -1798,6 +1798,6 @@ Short forms:
1798
1798
  List installed packages from user and project settings.
1799
1799
  `);return}}function mHr(t){let[e,...r]=t,n;if(e==="uninstall"?n="remove":(e==="install"||e==="remove"||e==="update"||e==="list")&&(n=e),!n)return;let o=!1,i=!1,s,a,c,p,l,u=!1,d=!1,f;for(let h=0;h<r.length;h++){let g=r[h];if(g==="-h"||g==="--help"){i=!0;continue}if(g==="-l"||g==="--local"){n==="install"||n==="remove"?o=!0:s=s??g;continue}if(g==="--self"){n==="update"?u=!0:s=s??g;continue}if(g==="--extensions"){n==="update"?d=!0:s=s??g;continue}if(g==="--extension"){if(n!=="update"){s=s??g;continue}let _=r[h+1];!_||_.startsWith("-")?c=c??g:f?(p=p??"--extension can only be provided once",h++):(f=_,h++);continue}if(g.startsWith("-")){s=s??g;continue}l?a=a??g:l=g}let m;return n==="update"&&(f?((u||d)&&(p=p??"--extension cannot be combined with --self or --extensions"),l&&(p=p??"--extension cannot be combined with a positional source"),m={type:"extensions",source:f}):l?l==="self"||l==="pi"?m=d?{type:"all"}:{type:"self"}:((d||u)&&(p=p??"positional update targets cannot be combined with --self or --extensions"),m={type:"extensions",source:l}):u&&d?m={type:"all"}:u?m={type:"self"}:d?m={type:"extensions"}:m={type:"all"}),{command:n,source:l,updateTarget:m,local:o,help:i,invalidOption:s,invalidArgument:a,missingOptionValue:c,conflictingOptions:p}}function fHr(t){return t.type==="all"||t.type==="self"}function hHr(t){return t.type==="all"||t.type==="extensions"}function LVt(){return Aoe(kD)!==void 0}function FVt(){console.error(`error: ${Gn} cannot self-update this installation.`),console.error(Ioe(kD));let t=process.argv[1];t&&(console.error(""),console.error(`Location of pi executable: ${t}`))}async function gHr(){let t=Aoe(kD);if(!t)throw new Error(`${Gn} cannot self-update this installation. ${Ioe(kD)}`);console.log(Yr.dim(`Updating ${Gn} with ${t.display}...`)),await new Promise((e,r)=>{let n=pHr(t.command,t.args,{stdio:"inherit"});n.on("error",o=>{r(o)}),n.on("close",(o,i)=>{o===0?e():r(i?new Error(`${t.display} terminated by signal ${i}`):new Error(`${t.display} exited with code ${o??"unknown"}`))})})}async function $Vt(t){if(t[0]!=="config")return!1;let e=process.cwd(),r=mi(),n=wu.create(e,r);UVt(n,"config command");let i=await new _g({cwd:e,agentDir:r,settingsManager:n}).resolve();await DVt({resolvedPaths:i,settingsManager:n,cwd:e,agentDir:r}),process.exit(0)}async function qVt(t){let e=mHr(t);if(!e)return!1;if(e.help)return dHr(e.command),!0;if(e.invalidOption)return console.error(Yr.red(`Unknown option ${e.invalidOption} for "${e.command}".`)),console.error(Yr.dim(`Use "${Gn} --help" or "${dE(e.command)}".`)),process.exitCode=1,!0;if(e.missingOptionValue)return console.error(Yr.red(`Missing value for ${e.missingOptionValue}.`)),console.error(Yr.dim(`Usage: ${dE(e.command)}`)),process.exitCode=1,!0;if(e.invalidArgument)return console.error(Yr.red(`Unexpected argument ${e.invalidArgument}.`)),console.error(Yr.dim(`Usage: ${dE(e.command)}`)),process.exitCode=1,!0;if(e.conflictingOptions)return console.error(Yr.red(e.conflictingOptions)),console.error(Yr.dim(`Usage: ${dE(e.command)}`)),process.exitCode=1,!0;let r=e.source;if((e.command==="install"||e.command==="remove")&&!r)return console.error(Yr.red(`Missing ${e.command} source.`)),console.error(Yr.dim(`Usage: ${dE(e.command)}`)),process.exitCode=1,!0;if(e.command==="update"&&e.updateTarget?.type==="self"&&!LVt())return FVt(),process.exitCode=1,!0;let n=process.cwd(),o=mi(),i=wu.create(n,o);UVt(i,"package command");let s=new _g({cwd:n,agentDir:o,settingsManager:i});s.setProgressCallback(a=>{a.type==="start"&&process.stdout.write(Yr.dim(`${a.message}
1800
1800
  `))});try{switch(e.command){case"install":return await s.installAndPersist(r,{local:e.local}),console.log(Yr.green(`Installed ${r}`)),!0;case"remove":return await s.removeAndPersist(r,{local:e.local})?(console.log(Yr.green(`Removed ${r}`)),!0):(console.error(Yr.red(`No matching package found for ${r}`)),process.exitCode=1,!0);case"list":{let a=s.listConfiguredPackages(),c=a.filter(u=>u.scope==="user"),p=a.filter(u=>u.scope==="project");if(a.length===0)return console.log(Yr.dim("No packages installed.")),!0;let l=u=>{let d=u.filtered?`${u.source} (filtered)`:u.source;console.log(` ${d}`),u.installedPath&&console.log(Yr.dim(` ${u.installedPath}`))};if(c.length>0){console.log(Yr.bold("User packages:"));for(let u of c)l(u)}if(p.length>0){c.length>0&&console.log(),console.log(Yr.bold("Project packages:"));for(let u of p)l(u)}return!0}case"update":{let a=e.updateTarget??{type:"all"};if(hHr(a)){let c=a.type==="extensions"?a.source:void 0;await s.update(c),console.log(c?Yr.green(`Updated ${c}`):Yr.green("Updated packages"))}return fHr(a)&&(LVt()?(await gHr(),console.log(Yr.green(`Updated ${Gn}`))):(FVt(),process.exitCode=1)),!0}}}catch(a){let c=a instanceof Error?a.message:"Unknown package command error";return console.error(Yr.red(`Error: ${c}`)),process.exitCode=1,!0}}var zVt=S(()=>{rg();MVt();Rs();Hq();LC()});import{resolve as yHr}from"node:path";import{createInterface as bHr}from"node:readline";async function _Hr(){if(!process.stdin.isTTY)return new Promise(t=>{let e="";process.stdin.setEncoding("utf8"),process.stdin.on("data",r=>{e+=r}),process.stdin.on("end",()=>{t(e.trim()||void 0)}),process.stdin.resume()})}function BVt(t,e){return t.drainErrors().map(({scope:r,error:n})=>({type:"warning",message:`(${e}, ${r} settings) ${n.message}`}))}function VVt(t){for(let e of t){let r=e.type==="error"?Yr.red:e.type==="warning"?Yr.yellow:Yr.dim,n=e.type==="error"?"Error: ":e.type==="warning"?"Warning: ":"";console.error(r(`${n}${e.message}`))}}function WVt(t){return t?t==="1"||t.toLowerCase()==="true"||t.toLowerCase()==="yes":!1}function EHr(t,e){return t.mode==="rpc"?"rpc":t.mode==="json"?"json":t.print||!e?"print":"interactive"}function SHr(t){return t==="json"?"json":"text"}async function xHr(t,e,r){if(t.fileArgs.length===0)return wOe({parsed:t,stdinContent:r});let{text:n,images:o}=await S3t(t.fileArgs,{autoResizeImages:e});return wOe({parsed:t,fileText:n,fileImages:o,stdinContent:r})}async function GVt(t,e,r){if(t.includes("/")||t.includes("\\")||t.endsWith(".jsonl"))return{type:"path",path:t};let o=(await is.list(e,r)).filter(a=>a.id.startsWith(t));if(o.length>=1)return{type:"local",path:o[0].path};let s=(await is.listAll()).filter(a=>a.id.startsWith(t));if(s.length>=1){let a=s[0];return{type:"global",path:a.path,cwd:a.cwd}}return{type:"not_found",arg:t}}async function THr(t){return new Promise(e=>{let r=bHr({input:process.stdin,output:process.stdout});r.question(`${t} [y/N] `,n=>{r.close(),e(n.toLowerCase()==="y"||n.toLowerCase()==="yes")})})}function vHr(t){if(!t.fork)return;let e=[t.session?"--session":void 0,t.continue?"--continue":void 0,t.resume?"--resume":void 0,t.noSession?"--no-session":void 0].filter(r=>r!==void 0);e.length>0&&(console.error(Yr.red(`Error: --fork cannot be combined with ${e.join(", ")}`)),process.exit(1))}function jVt(t,e,r){try{return is.forkFrom(t,e,r)}catch(n){let o=n instanceof Error?n.message:String(n);console.error(Yr.red(`Error: ${o}`)),process.exit(1)}}async function CHr(t,e,r,n){if(t.noSession)return is.inMemory();if(t.fork){let o=await GVt(t.fork,e,r);switch(o.type){case"path":case"local":case"global":return jVt(o.path,e,r);case"not_found":console.error(Yr.red(`No session found matching '${o.arg}'`)),process.exit(1)}}if(t.session){let o=await GVt(t.session,e,r);switch(o.type){case"path":case"local":return is.open(o.path,r);case"global":return console.log(Yr.yellow(`Session found in different project: ${o.cwd}`)),await THr("Fork this session into current directory?")||(console.log(Yr.dim("Aborted.")),process.exit(0)),jVt(o.path,e,r);case"not_found":console.error(Yr.red(`No session found matching '${o.arg}'`)),process.exit(1)}}if(t.resume){Fy(n.getTheme(),!0);try{let o=await L3t(i=>is.list(e,r,i),is.listAll);return o||(console.log(Yr.dim("No session selected")),process.exit(0)),is.open(o,r)}finally{sg()}}return t.continue?is.continueRecent(e,r):is.create(e,r)}function RHr(t,e,r,n,o){let i={},s=[],a=!1;if(t.model){let c=_Oe({cliProvider:t.provider,cliModel:t.model,modelRegistry:n});c.warning&&s.push({type:"warning",message:c.warning}),c.error&&s.push({type:"error",message:c.error}),c.model&&(i.model=c.model,!t.thinking&&c.thinkingLevel&&(i.thinkingLevel=c.thinkingLevel,a=!0))}if(!i.model&&e.length>0&&!r){let c=o.getDefaultProvider(),p=o.getDefaultModel(),l=c&&p?n.find(c,p):void 0,u=l?e.find(d=>ju(d.model,l)):void 0;u?(i.model=u.model,!t.thinking&&u.thinkingLevel&&(i.thinkingLevel=u.thinkingLevel)):(i.model=e[0].model,!t.thinking&&e[0].thinkingLevel&&(i.thinkingLevel=e[0].thinkingLevel))}return t.thinking&&(i.thinkingLevel=t.thinking),e.length>0&&(i.scopedModels=e.map(c=>({model:c.model,thinkingLevel:c.thinkingLevel}))),t.noTools?i.noTools="all":t.noBuiltinTools&&(i.noTools="builtin"),t.tools&&(i.tools=[...t.tools]),{options:i,cliThinkingFromModel:a,diagnostics:s}}function fQ(t,e){return e?.map(r=>mT(r)?yHr(t,r):r)}async function wHr(t,e){return Fy(e.getTheme()),aT(rb.create()),new Promise(r=>{let n=new Lf(new Ff,e.getShowHardwareCursor());n.setClearOnShrink(e.getClearOnShrink());let o=!1,i=a=>{o||(o=!0,n.stop(),r(a))},s=new ob(KZ(t),["Continue","Cancel"],a=>i(a==="Continue"?t.fallbackCwd:void 0),()=>i(void 0),{tui:n});n.addChild(s),n.setFocus(s),n.start()})}async function KVt(t,e){if(h3t(),(t.includes("--offline")||WVt(process.env.PI_OFFLINE))&&(process.env.PI_OFFLINE="1",process.env.PI_SKIP_VERSION_CHECK="1"),await qVt(t)||await $Vt(t))return;let n=p3t(t);if(n.diagnostics.length>0){for(let me of n.diagnostics){let ne=me.type==="error"?Yr.red:Yr.yellow;console.error(ne(`${me.type==="error"?"Error":"Warning"}: ${me.message}`))}n.diagnostics.some(me=>me.type==="error")&&process.exit(1)}xm("parseArgs");let o=EHr(n,process.stdin.isTTY);if(o!=="interactive"&&DZ(),n.version&&(console.log(Og),process.exit(0)),n.export){let me;try{let ne=n.messages.length>0?n.messages[0]:void 0;me=await uUt(n.export,ne)}catch(ne){let j=ne instanceof Error?ne.message:"Failed to export session";console.error(Yr.red(`Error: ${j}`)),process.exit(1)}console.log(`Exported to: ${me}`),process.exit(0)}n.mode==="rpc"&&n.fileArgs.length>0&&(console.error(Yr.red("Error: @file arguments are not supported in RPC mode")),process.exit(1)),vHr(n);let{migratedAuthProviders:s,deprecationWarnings:a}=B3t(process.cwd());xm("runMigrations");let c=process.cwd(),p=mi(),l=wu.create(c,p);VVt(BVt(l,"startup session lookup"));let u=n.sessionDir??l.getSessionDir(),d=await CHr(n,c,u,l),f=vOe(d,c);if(f)if(o==="interactive"){let me=await wHr(f,l);me||process.exit(0),d=is.open(f.sessionFile,u,me)}else console.error(Yr.red(new DT(f).message)),process.exit(1);xm("createSessionManager");let m=fQ(c,n.extensions),h=fQ(c,n.skills),g=fQ(c,n.promptTemplates),_=fQ(c,n.themes),b=Hy.create(),E=async({cwd:me,agentDir:ne,sessionManager:j,sessionStartEvent:ie})=>{let xe=await e9({cwd:me,agentDir:ne,authStorage:b,extensionFlagValues:n.unknownFlags,resourceLoaderOptions:{additionalExtensionPaths:m,additionalSkillPaths:h,additionalPromptTemplatePaths:g,additionalThemePaths:_,noExtensions:n.noExtensions,noSkills:n.noSkills,noPromptTemplates:n.noPromptTemplates,noThemes:n.noThemes,noContextFiles:n.noContextFiles,systemPrompt:n.systemPrompt,appendSystemPrompt:n.appendSystemPrompt,extensionFactories:e?.extensionFactories}}),{settingsManager:Fe,modelRegistry:ze,resourceLoader:Pe}=xe,se=[...xe.diagnostics,...BVt(Fe,"runtime creation"),...Pe.getExtensions().errors.map(({path:Te,error:Ee})=>({type:"error",message:`Failed to load extension "${Te}": ${Ee}`}))],ae=n.models??Fe.getEnabledModels(),re=ae&&ae.length>0?await Xq(ae,ze):[],{options:Z,cliThinkingFromModel:ee,diagnostics:Y}=RHr(n,re,j.buildSessionContext().messages.length>0,ze,Fe);se.push(...Y),n.apiKey&&(Z.model?b.setRuntimeApiKey(Z.model.provider,n.apiKey):se.push({type:"error",message:"--api-key requires a model to be specified via --model, --provider/--model, or --models"}));let te=await t9({services:xe,sessionManager:j,sessionStartEvent:ie,model:Z.model,thinkingLevel:Z.thinkingLevel,scopedModels:Z.scopedModels,tools:Z.tools,noTools:Z.noTools,customTools:Z.customTools}),ue=n.thinking!==void 0||ee;if(te.session.model&&ue){let Te=te.session.thinkingLevel;te.session.model.reasoning?Te==="xhigh"&&!zd(te.session.model)&&(Te="high"):Te="off",Te!==te.session.thinkingLevel&&te.session.setThinkingLevel(Te)}return{...te,services:xe,diagnostics:se}};xm("createRuntime");let T=await YZ(E,{cwd:d.getCwd(),agentDir:p,sessionManager:d}),{services:A,session:R,modelFallbackMessage:I}=T,{settingsManager:k,modelRegistry:M,resourceLoader:B}=A;if(n.help){let me=B.getExtensions().extensions.flatMap(ne=>Array.from(ne.flags.values()));d3t(me),process.exit(0)}if(n.listModels!==void 0){let me=typeof n.listModels=="string"?n.listModels:void 0;await C3t(M,me),process.exit(0)}let J;o!=="rpc"&&(J=await _Hr(),J!==void 0&&o==="interactive"&&(o="print")),xm("readPipedStdin");let{initialMessage:V,initialImages:z}=await xHr(n,k.getImageAutoResize(),J);xm("prepareInitialMessage"),Fy(k.getTheme(),o==="interactive"),xm("initTheme"),o==="interactive"&&a.length>0&&await z3t(a);let H=[...R.scopedModels];xm("resolveModelScope"),VVt(T.diagnostics),T.diagnostics.some(me=>me.type==="error")&&process.exit(1),xm("createAgentSession"),o!=="interactive"&&!R.model&&(console.error(Yr.red(mk())),process.exit(1));let de=WVt(process.env.PI_STARTUP_BENCHMARK);if(de&&o!=="interactive"&&(console.error(Yr.red("Error: PI_STARTUP_BENCHMARK only supports interactive mode")),process.exit(1)),o==="rpc")Qq(),await d9(T);else if(o==="interactive"){if(H.length>0&&(n.verbose||!k.getQuietStartup())){let ne=H.map(j=>{let ie=j.thinkingLevel?`:${j.thinkingLevel}`:"";return`${j.model.id}${ie}`}).join(", ");console.log(Yr.dim(`Model scope: ${ne} ${Yr.gray("(Ctrl+P to cycle)")}`))}let me=new XC(T,{migratedProviders:s,modelFallbackMessage:I,initialMessage:V,initialImages:z,initialMessages:n.messages,verbose:n.verbose});if(de){await me.init(),xm("interactiveMode.init"),Qq(),me.stop(),sg(),process.stdout.writableLength>0&&await new Promise(ne=>process.stdout.once("drain",ne)),process.stderr.writableLength>0&&await new Promise(ne=>process.stderr.once("drain",ne));return}Qq(),await me.run()}else{Qq();let me=await u9(T,{mode:SHr(o),messages:n.messages,initialMessage:V,initialImages:z});sg(),jBt(),me!==0&&(process.exitCode=me);return}}var HVt=S(()=>{Lc();Vo();rg();yOe();x3t();T3t();R3t();F3t();Rs();XZ();COe();x$();wq();NCe();MN();GZ();Gq();JZ();G_();LC();TOe();V3t();bPe();lQ();oi();zVt();zk()});var AHr,m9,JVt=S(()=>{Vo();oi();Ll();AHr={minPrimaryColumnWidth:12,maxPrimaryColumnWidth:32},m9=class extends En{selectList;constructor(e,r,n){super();let o=[{value:"yes",label:"Yes",description:"Show images inline in terminal"},{value:"no",label:"No",description:"Show text placeholder instead"}];this.addChild(new In),this.selectList=new yd(o,5,ag(),AHr),this.selectList.setSelectedIndex(e?0:1),this.selectList.onSelect=i=>{r(i.value==="yes")},this.selectList.onCancel=()=>{n()},this.addChild(this.selectList),this.addChild(new In)}getSelectList(){return this.selectList}}});var IHr,f9,YVt=S(()=>{Vo();oi();Ll();IHr={minPrimaryColumnWidth:12,maxPrimaryColumnWidth:32},f9=class extends En{selectList;onPreview;constructor(e,r,n,o){super(),this.onPreview=o;let i=MH(),s=i.map(c=>({value:c,label:c,description:c===e?"(current)":void 0}));this.addChild(new In),this.selectList=new yd(s,10,ag(),IHr);let a=i.indexOf(e);a!==-1&&this.selectList.setSelectedIndex(a),this.selectList.onSelect=c=>{r(c.value)},this.selectList.onCancel=()=>{n()},this.selectList.onSelectionChange=c=>{this.onPreview(c.value)},this.addChild(this.selectList),this.addChild(new In)}getSelectList(){return this.selectList}}});var OHr,PHr,h9,XVt=S(()=>{Vo();oi();Ll();OHr={minPrimaryColumnWidth:12,maxPrimaryColumnWidth:32},PHr={off:"No reasoning",minimal:"Very brief reasoning (~1k tokens)",low:"Light reasoning (~2k tokens)",medium:"Moderate reasoning (~8k tokens)",high:"Deep reasoning (~16k tokens)",xhigh:"Maximum reasoning (~32k tokens)"},h9=class extends En{selectList;constructor(e,r,n,o){super();let i=r.map(a=>({value:a,label:a,description:PHr[a]}));this.addChild(new In),this.selectList=new yd(i,i.length,ag(),OHr);let s=i.findIndex(a=>a.value===e);s!==-1&&this.selectList.setSelectedIndex(s),this.selectList.onSelect=a=>{n(a.value)},this.selectList.onCancel=()=>{o()},this.addChild(this.selectList),this.addChild(new In)}getSelectList(){return this.selectList}}});var ZVt=S(()=>{zOe();BOe();VOe();WOe();GOe();jOe();KOe();HOe();XOe();sAe();Ll();ZOe();QOe();lQ();ePe();Ka();tPe();rPe();nPe();iPe();ZZ();aPe();JVt();lPe();YVt();XVt();cPe();mPe();fPe();gPe();nX()});var GY={};ri(GY,{AgentSession:()=>EN,AgentSessionRuntime:()=>n9,ArminComponent:()=>FC,AssistantMessageComponent:()=>nb,AuthStorage:()=>Hy,BashExecutionComponent:()=>uE,BorderedLoader:()=>UC,BranchSummaryMessageComponent:()=>$C,CURRENT_SESSION_VERSION:()=>rT,CompactionSummaryMessageComponent:()=>qC,CustomEditor:()=>zC,CustomMessageComponent:()=>BC,DEFAULT_COMPACTION_SETTINGS:()=>XFt,DEFAULT_MAX_BYTES:()=>os,DEFAULT_MAX_LINES:()=>qy,DefaultPackageManager:()=>_g,DefaultResourceLoader:()=>tb,DynamicBorder:()=>In,ExtensionEditorComponent:()=>VC,ExtensionInputComponent:()=>WC,ExtensionRunner:()=>dC,ExtensionSelectorComponent:()=>ob,FileAuthStorageBackend:()=>Cq,FooterComponent:()=>GC,InMemoryAuthStorageBackend:()=>Rq,InteractiveMode:()=>XC,LoginDialogComponent:()=>pE,ModelRegistry:()=>RT,ModelSelectorComponent:()=>jC,OAuthSelectorComponent:()=>LT,RpcClient:()=>p9,SessionManager:()=>is,SessionSelectorComponent:()=>lE,SettingsManager:()=>wu,SettingsSelectorComponent:()=>KC,ShowImagesSelectorComponent:()=>m9,SkillInvocationMessageComponent:()=>HC,Theme:()=>Fv,ThemeSelectorComponent:()=>f9,ThinkingSelectorComponent:()=>h9,ToolExecutionComponent:()=>Eg,TreeSelectorComponent:()=>JC,UserMessageComponent:()=>FT,UserMessageSelectorComponent:()=>YC,VERSION:()=>Og,buildSessionContext:()=>v$,calculateContextTokens:()=>Ek,collectEntriesForBranchSummary:()=>YJ,compact:()=>w$,convertToLlm:()=>W_,copyToClipboard:()=>oQ,createAgentSession:()=>DN,createAgentSessionFromServices:()=>t9,createAgentSessionRuntime:()=>YZ,createAgentSessionServices:()=>e9,createBashTool:()=>Vk,createBashToolDefinition:()=>fT,createCodingTools:()=>oIe,createEditTool:()=>Jk,createEditToolDefinition:()=>Hk,createEventBus:()=>Mk,createExtensionRuntime:()=>Fk,createFindTool:()=>tN,createFindToolDefinition:()=>eN,createGrepTool:()=>nN,createGrepToolDefinition:()=>rN,createLocalBashOperations:()=>Bk,createLsTool:()=>iN,createLsToolDefinition:()=>oN,createReadOnlyTools:()=>iIe,createReadTool:()=>CC,createReadToolDefinition:()=>yN,createSyntheticSourceInfo:()=>xu,createWriteTool:()=>_N,createWriteToolDefinition:()=>bN,defineTool:()=>HY,discoverAndLoadExtensions:()=>hwe,estimateTokens:()=>Xv,findCutPoint:()=>wCe,findTurnStartIndex:()=>RCe,formatSize:()=>Ua,formatSkillsForPrompt:()=>rq,generateBranchSummary:()=>XJ,generateSummary:()=>KJ,getAgentDir:()=>mi,getLanguageFromPath:()=>Vx,getLastAssistantUsage:()=>QFt,getLatestCompactionEntry:()=>T$,getMarkdownTheme:()=>Qu,getSelectListTheme:()=>ag,getSettingsListTheme:()=>VU,getShellConfig:()=>fk,highlightCode:()=>$_,initTheme:()=>Fy,isBashToolResult:()=>bwe,isEditToolResult:()=>Ewe,isFindToolResult:()=>Twe,isGrepToolResult:()=>xwe,isLsToolResult:()=>vwe,isReadToolResult:()=>_we,isToolCallEventType:()=>Cwe,isWriteToolResult:()=>Swe,keyHint:()=>fo,keyText:()=>$o,loadProjectContextFiles:()=>gOe,loadSkills:()=>tX,loadSkillsFromDir:()=>Qqt,main:()=>KVt,migrateSessionEntries:()=>jFt,parseFrontmatter:()=>jv,parseSessionEntries:()=>KFt,parseSkillBlock:()=>YX,prepareBranchEntries:()=>OCe,rawKeyHint:()=>qc,renderDiff:()=>Kk,runPrintMode:()=>u9,runRpcMode:()=>d9,serializeConversation:()=>Yv,shouldCompact:()=>JJ,stripFrontmatter:()=>NJ,truncateHead:()=>Pf,truncateLine:()=>gk,truncateTail:()=>ug,truncateToVisualLines:()=>fC,withFileMutationQueue:()=>gT,wrapRegisteredTool:()=>Rwe,wrapRegisteredTools:()=>Uk});var jY=S(()=>{Rs();XX();wq();PCe();zY();wwe();Hv();uZ();Hq();VZ();ROe();G_();LC();rX();pC();Sq();HVt();bPe();ZVt();oi();qOe();S$();B_()});import{readFileSync as dJr,realpathSync as d6t}from"node:fs";import{extname as mJr}from"node:path";import{resolve as fJr}from"node:path";import{createInterface as hJr}from"node:readline";import{fileURLToPath as gJr}from"node:url";OD();OD();var OZr=Cr.object({providerThreadId:Cr.string().min(1),threadId:Cr.string().min(1).optional(),turnId:Cr.union([Cr.string().min(1),Cr.null()]),callId:Cr.string().min(1),tool:Cr.string().min(1),arguments:Cr.unknown()}),PZr=Cr.object({threadId:Cr.string().min(1),turnId:Cr.union([Cr.string().min(1),Cr.null()]),callId:Cr.string().min(1),tool:Cr.string().min(1),arguments:Cr.unknown()}),dMe=Cr.object({success:Cr.boolean(),contentItems:Cr.array(Cr.discriminatedUnion("type",[Cr.object({type:Cr.literal("inputText"),text:Cr.string()}),Cr.object({type:Cr.literal("inputImage"),imageUrl:Cr.string().min(1)})]))});var mMe=Cr.object({jsonrpc:Cr.literal("2.0"),id:Cr.union([Cr.string(),Cr.number()]),method:Cr.string(),params:Cr.record(Cr.string(),Cr.unknown()).optional()}),IGt=Cr.object({code:Cr.number(),message:Cr.string().optional(),data:Cr.unknown().optional()}),OGt=Cr.object({jsonrpc:Cr.literal("2.0"),id:Cr.union([Cr.string(),Cr.number()]),result:Cr.unknown()}),PGt=Cr.object({jsonrpc:Cr.literal("2.0"),id:Cr.union([Cr.string(),Cr.number()]),error:IGt});function fMe(t){let e=PGt.safeParse(t);if(e.success)return e.data;let r=OGt.safeParse(t);return r.success?r.data:null}function hMe(t){let e=dMe.safeParse(t);return e.success?{content:e.data.contentItems.filter(n=>n.type==="inputText").map(n=>n.text).join(`
1801
- `)||"OK",isError:!e.data.success}:{content:"OK",isError:!1}}jY();Lc();import{dirname as kHr}from"node:path";var NHr=250,DHr=8;function MHr(t){if(t.systemPrompt!==void 0&&t.appendSystemPrompt!==void 0)throw new Error("Pi sessions accept either systemPrompt or appendSystemPrompt, not both")}function LHr(t){return e=>[...e,t]}function FHr(t){return t!==void 0&&Object.keys(t).length>0}function UHr(t){let e=t.shellEnvOverrides,r=n=>({...n,env:{...n.env,...e}});return fT(t.cwd,{spawnHook:r})}function $Hr(t){let e=[...t.customTools??[]];return FHr(t.shellEnvOverrides)&&e.push(UHr({cwd:t.cwd,shellEnvOverrides:t.shellEnvOverrides})),e}function qHr(t){return t.message.startsWith("No API key found for ")}function QVt(t,e){let r=[...e],n=[];for(let o of t){let i=r.indexOf(o);if(i===-1){n.push(o);continue}r.splice(i,1)}return n}async function zHr(){await new Promise(t=>setTimeout(t,NHr))}var g9=class{constructor(e,r,n){this.options=e;this.onEvent=r;this.onDone=n}options;onEvent;onDone;session;unsubscribe;isProcessing=!1;pendingSteerConsumptions=[];lastObservedSteeringQueue=[];autoRetryInProgress=!1;terminalSteerSettlementTimeout;getIsProcessing(){return this.isProcessing}getSessionStats(){return this.session?.getSessionStats()}getContextUsage(){return this.session?.getContextUsage()}async start(){MHr(this.options);let e={cwd:this.options.cwd,sessionManager:this.options.sessionFilePath?is.open(this.options.sessionFilePath,kHr(this.options.sessionFilePath)):is.inMemory(this.options.cwd),settingsManager:wu.inMemory({compaction:{enabled:!0},retry:{enabled:!0,maxRetries:2}})},r=this.options.appendSystemPrompt?.trim();if(this.options.systemPrompt||r){let s=new tb({cwd:this.options.cwd,agentDir:mi(),...this.options.systemPrompt?{systemPrompt:this.options.systemPrompt,noExtensions:!0,noSkills:!0,noPromptTemplates:!0,noThemes:!0}:{},...r?{appendSystemPromptOverride:LHr(r)}:{}});await s.reload(),e.resourceLoader=s}let n=BHr(this.options.model);n&&(e.model=n),this.options.thinkingLevel&&(e.thinkingLevel=this.options.thinkingLevel);let o=$Hr({customTools:this.options.customTools,cwd:this.options.cwd,shellEnvOverrides:this.options.shellEnvOverrides});e.customTools=o;let{session:i}=await DN(e);this.session=i,this.ensureCustomToolsActive(),this.unsubscribe=i.subscribe(s=>{this.trackProcessingState(s),this.observeSteerConsumption(s),this.observeTerminalSteerSettlement(s),this.onEvent(s)})}async prompt(e,r){if(this.session){this.isProcessing=!0;try{await this.runPromptWithTransientAuthRetry({images:r,streamingBehavior:"followUp",text:e})}catch(n){this.isProcessing=!1,this.rejectPendingSteerConsumptions("Pi SDK prompt failed before steer consumed"),this.onDone(n)}}}async steer(e,r){if(!this.session)throw new Error("No active Pi SDK session");try{let n=await this.runPromptWithTransientAuthRetry({images:r,streamingBehavior:"steer",text:e});n.steerConsumptionPromise&&this.monitorSteerConsumption(n.steerConsumptionPromise)}catch(n){throw this.onDone(n),n}}detach(){this.rejectPendingSteerConsumptions("Pi SDK session detached before steer consumed"),this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=void 0),this.isProcessing=!1}stop(){this.rejectPendingSteerConsumptions("Pi SDK session stopped before steer consumed"),this.detach(),this.session&&(this.session.dispose(),this.session=void 0)}async closeGracefully(e){let r=this.session;if(this.rejectPendingSteerConsumptions("Pi SDK session closed before steer consumed"),this.detach(),!r)return;let n,o=r.abort().catch(()=>{}),i=new Promise(s=>{n=setTimeout(s,e)});try{await Promise.race([o,i])}finally{n&&clearTimeout(n),r.dispose(),this.session===r&&(this.session=void 0),this.isProcessing=!1}}trackProcessingState(e){e.type==="agent_start"&&(this.isProcessing=!0),e.type==="agent_end"&&(this.isProcessing=!1)}trackPendingSteerConsumption(){let e,r,n=new Promise((i,s)=>{e=i,r=s});if(!e||!r)throw new Error("Failed to track Pi steer consumption");let o={queuedText:null,reject:r,resolve:e};return this.pendingSteerConsumptions.push(o),n.catch(()=>{}),{pending:o,promise:n}}observeSteerConsumption(e){if(e.type!=="queue_update")return;let r=QVt(e.steering,this.lastObservedSteeringQueue),n=QVt(this.lastObservedSteeringQueue,e.steering);this.lastObservedSteeringQueue=[...e.steering];for(let o of r){let i=this.pendingSteerConsumptions.find(s=>s.queuedText===null);if(!i)break;i.queuedText=o}for(let o of n){let i=this.pendingSteerConsumptions.find(s=>s.queuedText===o);i&&this.resolvePendingSteerConsumption(i)}}observeTerminalSteerSettlement(e){if(e.type==="agent_end"){this.scheduleTerminalSteerSettlement();return}if(e.type==="auto_retry_start"){this.autoRetryInProgress=!0,this.clearTerminalSteerSettlement();return}e.type==="auto_retry_end"&&(this.autoRetryInProgress=!1,e.success||this.rejectPendingSteerConsumptions("Pi auto retry ended before steer was consumed"))}scheduleTerminalSteerSettlement(){this.pendingSteerConsumptions.length===0||this.terminalSteerSettlementTimeout!==void 0||(this.terminalSteerSettlementTimeout=setTimeout(()=>{this.terminalSteerSettlementTimeout=void 0,!this.autoRetryInProgress&&this.rejectPendingSteerConsumptions("Pi turn ended before steer was consumed")},0))}clearTerminalSteerSettlement(){this.terminalSteerSettlementTimeout!==void 0&&(clearTimeout(this.terminalSteerSettlementTimeout),this.terminalSteerSettlementTimeout=void 0)}resolvePendingSteerConsumption(e){let r=this.pendingSteerConsumptions.indexOf(e);r!==-1&&(this.pendingSteerConsumptions.splice(r,1),e.resolve())}rejectPendingSteerConsumption(e,r){let n=this.pendingSteerConsumptions.indexOf(e);n!==-1&&(this.pendingSteerConsumptions.splice(n,1),e.reject(r))}rejectPendingSteerConsumptions(e){this.clearTerminalSteerSettlement();let r=this.pendingSteerConsumptions.splice(0);for(let n of r)n.reject(new Error(e))}monitorSteerConsumption(e){e.catch(r=>{this.onDone(r)})}ensureCustomToolsActive(){if(!this.session||!this.options.customTools||this.options.customTools.length===0)return;let e=new Set(this.session.getActiveToolNames()),r=!1;for(let n of this.options.customTools)e.has(n.name)||(r=!0,e.add(n.name));r&&this.session.setActiveToolsByName(Array.from(e))}async runPromptWithTransientAuthRetry(e){for(let r=0;;r+=1)try{return await this.runPromptOnce(e)}catch(n){if(!(n instanceof Error)||!qHr(n)||r>=DHr)throw n;await zHr()}}async runPromptOnce(e){if(!this.session)throw new Error("No active Pi SDK session");if(this.ensureCustomToolsActive(),this.session.isStreaming){let r=e.streamingBehavior==="steer"?this.trackPendingSteerConsumption():null;try{await this.session.prompt(e.text,{streamingBehavior:e.streamingBehavior,...e.images&&e.images.length>0?{images:e.images}:{}})}catch(n){throw r&&this.rejectPendingSteerConsumption(r.pending,n instanceof Error?n:new Error(String(n))),n}return r&&r.pending.queuedText===null&&this.resolvePendingSteerConsumption(r.pending),{steerConsumptionPromise:r?.promise??null}}return await this.session.prompt(e.text,{...e.images&&e.images.length>0?{images:e.images}:{}}),{steerConsumptionPromise:null}}};function BHr(t){if(!t)return;let e=VHr(t);if(!e)throw new Error(`Failed to resolve Pi model "${t}"`);return e}function VHr(t){let e=t.indexOf("/");if(e===-1)return;let r=t.slice(0,e),n=t.slice(e+1);try{switch(r){case"anthropic":return Cw("anthropic",n);case"openai":return Cw("openai",n);case"openai-codex":return Cw("openai-codex",n);case"google":return Cw("google",n);default:return}}catch{return}}import{homedir as WHr}from"node:os";import{join as e6t,resolve as t6t}from"node:path";var GHr="BB_PI_BRIDGE_SESSION_DIR";function jHr(t){let e=t.env[GHr]?.trim();return e?t6t(e):e6t(WHr(),".bb","pi-bridge-sessions")}function r6t(t){return t.sessionPath?.trim()?t6t(t.sessionPath):e6t(jHr({env:t.env}),`${KHr(t.threadId)}.jsonl`)}function KHr(t){return t.replace(/[^A-Za-z0-9._-]/g,"_")}Lc();function o6t(t,e){return t.map(r=>{let n=HHr(r.inputSchema);return{name:r.name,label:r.name,description:r.description,parameters:n,async execute(o,i,s){let a=await e(r.name,i);return{content:[{type:"text",text:a.content}],details:{},...a.isError?{isError:!0}:{}}}}})}function HHr(t){let e=xPe(t);return e?SPe(e):rt.Object({})}function SPe(t){let e=YHr(t.enum);if(e)return e.length>0?rt.Union(e):rt.Unknown();switch(t.type){case"object":return n6t(t);case"array":return rt.Array(JHr(t.items));case"string":return rt.String();case"number":case"integer":return rt.Number();case"boolean":return rt.Boolean();case void 0:return t.properties?n6t(t):rt.Unknown();default:return rt.Unknown()}}function n6t(t){let e=XHr(t.properties),r=new Set(ZHr(t.required)),n={};for(let[o,i]of Object.entries(e)){let s=SPe(i);n[o]=r.has(o)?s:rt.Optional(s)}return rt.Object(n)}function JHr(t){let e=xPe(t);return e?SPe(e):rt.Unknown()}function YHr(t){if(!Array.isArray(t)||t.length===0)return null;let e=[];for(let r of t)(typeof r=="string"||typeof r=="number"||typeof r=="boolean")&&e.push(rt.Literal(r));return e.length>0?e:null}function xPe(t){return!t||typeof t!="object"||Array.isArray(t)?null:t}function XHr(t){if(!t||typeof t!="object"||Array.isArray(t))return{};let e={};for(let[r,n]of Object.entries(t)){let o=xPe(n);o&&(e[r]=o)}return e}function ZHr(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"):[]}var QHr=["codex","claude-code","pi"],jls=Cr.enum(QHr),eJr={supportsArchive:!0,supportsRename:!0,supportsServiceTier:!0,supportsUserQuestion:!1,supportedPermissionModes:["full","workspace-write","readonly"]},tJr={supportsArchive:!1,supportsRename:!1,supportsServiceTier:!1,supportsUserQuestion:!0,supportedPermissionModes:["full","workspace-write","readonly"]},rJr={supportsArchive:!1,supportsRename:!1,supportsServiceTier:!1,supportsUserQuestion:!1,supportedPermissionModes:["full"]},nJr=[{info:{available:!0,capabilities:eJr,displayName:"Codex",id:"codex"}},{info:{available:!0,capabilities:tJr,displayName:"Claude Code",id:"claude-code"}},{info:{available:!0,capabilities:rJr,displayName:"Pi",id:"pi"}}],Kls=new Map(nJr.map(t=>[t.info.id,t])),i6t={anthropic:"claude-opus-4-7",openai:"gpt-5.4","openai-codex":"gpt-5.5","amazon-bedrock":"us.anthropic.claude-opus-4-7",google:"gemini-2.5-pro","google-gemini-cli":"gemini-2.5-pro","google-vertex":"gemini-3-pro-preview",openrouter:"openai/gpt-5.1-codex","vercel-ai-gateway":"anthropic/claude-opus-4.7",xai:"grok-4-fast-non-reasoning",mistral:"devstral-medium-latest"};function TPe(t){return i6t[t]}var tcs=Cr.object({command:Cr.string().optional(),cwd:Cr.string().optional()}).passthrough(),oJr=Cr.object({type:Cr.literal("text"),text:Cr.string()}),iJr=Cr.object({content:Cr.array(Cr.unknown())}).passthrough();var vPe={reasoningEffort:"low",description:"Low reasoning effort"},s6t={reasoningEffort:"medium",description:"Medium reasoning effort"},a6t={reasoningEffort:"high",description:"High reasoning effort"},l6t={reasoningEffort:"xhigh",description:"Extra high reasoning effort"};var ccs=Cr.string().regex(/^[A-Z_][A-Z0-9_]*$/i);var sJr=/-\d{8}$/;function aJr(t){return t.endsWith("-latest")?!0:!sJr.test(t)}function lJr(t,e){let r=u6t(t,e.id);return{id:r,model:r,displayName:e.name,description:uJr(e),supportedReasoningEfforts:cJr(e),defaultReasoningEffort:e.reasoning?"medium":"low",isDefault:!1}}function c6t(t){let e=[],r=[];for(let o of t.providers)if(t.hasAuth(o))for(let i of t.getModels(o)){let s=lJr(o,i);aJr(i.id)?e.push(s):r.push(s)}let n=pJr(e);return{models:e.map(o=>o.id===n?{...o,isDefault:!0}:o),selectedOnlyModels:r}}function u6t(t,e){return e.includes("/")?e:`${t}/${e}`}function cJr(t){if(!t.reasoning)return[vPe];let e=[vPe,s6t,a6t];return t.supportsXhigh&&e.push(l6t),e}function uJr(t){let e=[];return e.push(t.reasoning?"reasoning":"non-reasoning"),t.input.includes("image")&&e.push("multimodal"),`${t.provider.length>0?t.provider[0].toUpperCase()+t.provider.slice(1):t.provider} ${e.join(", ")} model via Pi`}function pJr(t){for(let e of t){let r=e.id.split("/")[0],n=TPe(r);if(n&&e.id===u6t(r,n))return e.id}return t[0]?.id}async function p6t(){let[t,e]=await Promise.all([Promise.resolve().then(()=>(Lc(),wK)),Promise.resolve().then(()=>(jY(),GY))]),r=e.AuthStorage.create(),n=t.getProviders();return c6t({providers:n,getModels(o){return t.getModels(o).map(i=>({id:i.id,input:i.input,name:i.name,provider:i.provider,reasoning:i.reasoning,supportsXhigh:t.supportsXhigh(i)}))},hasAuth(o){return r.hasAuth(o)}})}function g6t(t){return t.baseInstructions===void 0||t.appendSystemPrompt===void 0}var y6t={message:"Provide either baseInstructions or appendSystemPrompt, not both",path:["appendSystemPrompt"]},yJr=["low","medium","high","xhigh"],b6t=Cr.enum(yJr),bJr=Cr.object({threadId:Cr.string().optional(),cwd:Cr.string(),baseInstructions:Cr.string().optional(),appendSystemPrompt:Cr.string().optional(),config:Cr.record(Cr.string(),Cr.unknown()).optional(),model:Cr.string().optional(),reasoningLevel:b6t.optional(),input:Cr.array(Cr.unknown()).optional(),dynamicTools:Cr.array(Cr.object({name:Cr.string(),description:Cr.string(),inputSchema:Cr.unknown()})).optional()}).refine(g6t,y6t),_Jr=Cr.object({threadId:Cr.string(),cwd:Cr.string(),sessionPath:Cr.string().optional(),baseInstructions:Cr.string().optional(),appendSystemPrompt:Cr.string().optional(),config:Cr.record(Cr.string(),Cr.unknown()).optional(),model:Cr.string().optional(),reasoningLevel:b6t.optional(),dynamicTools:Cr.array(Cr.object({name:Cr.string(),description:Cr.string(),inputSchema:Cr.unknown()})).optional()}).refine(g6t,y6t),EJr=Cr.discriminatedUnion("method",[Cr.object({method:Cr.literal("initialize"),params:Cr.object({clientInfo:Cr.object({name:Cr.string(),version:Cr.string()})})}),Cr.object({method:Cr.literal("model/list"),params:Cr.object({})}),Cr.object({method:Cr.literal("thread/start"),params:bJr}),Cr.object({method:Cr.literal("thread/resume"),params:_Jr}),Cr.object({method:Cr.literal("turn/start"),params:Cr.object({threadId:Cr.string(),input:Cr.array(Cr.unknown()),model:Cr.string().optional()})}),Cr.object({method:Cr.literal("turn/steer"),params:Cr.object({threadId:Cr.string(),expectedTurnId:Cr.string(),input:Cr.array(Cr.unknown())})}),Cr.object({method:Cr.literal("thread/stop"),params:Cr.object({threadId:Cr.string()})})]);function SJr(t){let e=mMe.safeParse(t);if(!e.success)return null;let r=EJr.safeParse({method:e.data.method,params:e.data.params??{}});return r.success?{...r.data,jsonrpc:"2.0",id:e.data.id}:null}var op=new Map,CPe=new Map,m6t=0,f6t=0,xJr=4e3;function eR(t){process.stdout.write(JSON.stringify(t)+`
1801
+ `)||"OK",isError:!e.data.success}:{content:"OK",isError:!1}}jY();Lc();import{dirname as kHr}from"node:path";var NHr=250,DHr=8;function MHr(t){if(t.systemPrompt!==void 0&&t.appendSystemPrompt!==void 0)throw new Error("Pi sessions accept either systemPrompt or appendSystemPrompt, not both")}function LHr(t){return e=>[...e,t]}function FHr(t){return t!==void 0&&Object.keys(t).length>0}function UHr(t){let e=t.shellEnvOverrides,r=n=>({...n,env:{...n.env,...e}});return fT(t.cwd,{spawnHook:r})}function $Hr(t){let e=[...t.customTools??[]];return FHr(t.shellEnvOverrides)&&e.push(UHr({cwd:t.cwd,shellEnvOverrides:t.shellEnvOverrides})),e}function qHr(t){return t.message.startsWith("No API key found for ")}function QVt(t,e){let r=[...e],n=[];for(let o of t){let i=r.indexOf(o);if(i===-1){n.push(o);continue}r.splice(i,1)}return n}async function zHr(){await new Promise(t=>setTimeout(t,NHr))}var g9=class{constructor(e,r,n){this.options=e;this.onEvent=r;this.onDone=n}options;onEvent;onDone;session;unsubscribe;isProcessing=!1;pendingSteerConsumptions=[];lastObservedSteeringQueue=[];autoRetryInProgress=!1;terminalSteerSettlementTimeout;getIsProcessing(){return this.isProcessing}getSessionStats(){return this.session?.getSessionStats()}getContextUsage(){return this.session?.getContextUsage()}async start(){MHr(this.options);let e={cwd:this.options.cwd,sessionManager:this.options.sessionFilePath?is.open(this.options.sessionFilePath,kHr(this.options.sessionFilePath)):is.inMemory(this.options.cwd),settingsManager:wu.inMemory({compaction:{enabled:!0},retry:{enabled:!0,maxRetries:2}})},r=this.options.appendSystemPrompt?.trim();if(this.options.systemPrompt||r){let s=new tb({cwd:this.options.cwd,agentDir:mi(),...this.options.systemPrompt?{systemPrompt:this.options.systemPrompt,noExtensions:!0,noSkills:!0,noPromptTemplates:!0,noThemes:!0}:{},...r?{appendSystemPromptOverride:LHr(r)}:{}});await s.reload(),e.resourceLoader=s}let n=BHr(this.options.model);n&&(e.model=n),this.options.thinkingLevel&&(e.thinkingLevel=this.options.thinkingLevel);let o=$Hr({customTools:this.options.customTools,cwd:this.options.cwd,shellEnvOverrides:this.options.shellEnvOverrides});e.customTools=o;let{session:i}=await DN(e);this.session=i,this.ensureCustomToolsActive(),this.unsubscribe=i.subscribe(s=>{this.trackProcessingState(s),this.observeSteerConsumption(s),this.observeTerminalSteerSettlement(s),this.onEvent(s)})}async prompt(e,r){if(this.session){this.isProcessing=!0;try{await this.runPromptWithTransientAuthRetry({images:r,streamingBehavior:"followUp",text:e})}catch(n){this.isProcessing=!1,this.rejectPendingSteerConsumptions("Pi SDK prompt failed before steer consumed"),this.onDone(n)}}}async steer(e,r){if(!this.session)throw new Error("No active Pi SDK session");try{let n=await this.runPromptWithTransientAuthRetry({images:r,streamingBehavior:"steer",text:e});n.steerConsumptionPromise&&this.monitorSteerConsumption(n.steerConsumptionPromise)}catch(n){throw this.onDone(n),n}}detach(){this.rejectPendingSteerConsumptions("Pi SDK session detached before steer consumed"),this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=void 0),this.isProcessing=!1}stop(){this.rejectPendingSteerConsumptions("Pi SDK session stopped before steer consumed"),this.detach(),this.session&&(this.session.dispose(),this.session=void 0)}async closeGracefully(e){let r=this.session;if(this.rejectPendingSteerConsumptions("Pi SDK session closed before steer consumed"),this.detach(),!r)return;let n,o=r.abort().catch(()=>{}),i=new Promise(s=>{n=setTimeout(s,e)});try{await Promise.race([o,i])}finally{n&&clearTimeout(n),r.dispose(),this.session===r&&(this.session=void 0),this.isProcessing=!1}}trackProcessingState(e){e.type==="agent_start"&&(this.isProcessing=!0),e.type==="agent_end"&&(this.isProcessing=!1)}trackPendingSteerConsumption(){let e,r,n=new Promise((i,s)=>{e=i,r=s});if(!e||!r)throw new Error("Failed to track Pi steer consumption");let o={queuedText:null,reject:r,resolve:e};return this.pendingSteerConsumptions.push(o),n.catch(()=>{}),{pending:o,promise:n}}observeSteerConsumption(e){if(e.type!=="queue_update")return;let r=QVt(e.steering,this.lastObservedSteeringQueue),n=QVt(this.lastObservedSteeringQueue,e.steering);this.lastObservedSteeringQueue=[...e.steering];for(let o of r){let i=this.pendingSteerConsumptions.find(s=>s.queuedText===null);if(!i)break;i.queuedText=o}for(let o of n){let i=this.pendingSteerConsumptions.find(s=>s.queuedText===o);i&&this.resolvePendingSteerConsumption(i)}}observeTerminalSteerSettlement(e){if(e.type==="agent_end"){this.scheduleTerminalSteerSettlement();return}if(e.type==="auto_retry_start"){this.autoRetryInProgress=!0,this.clearTerminalSteerSettlement();return}e.type==="auto_retry_end"&&(this.autoRetryInProgress=!1,e.success||this.rejectPendingSteerConsumptions("Pi auto retry ended before steer was consumed"))}scheduleTerminalSteerSettlement(){this.pendingSteerConsumptions.length===0||this.terminalSteerSettlementTimeout!==void 0||(this.terminalSteerSettlementTimeout=setTimeout(()=>{this.terminalSteerSettlementTimeout=void 0,!this.autoRetryInProgress&&this.rejectPendingSteerConsumptions("Pi turn ended before steer was consumed")},0))}clearTerminalSteerSettlement(){this.terminalSteerSettlementTimeout!==void 0&&(clearTimeout(this.terminalSteerSettlementTimeout),this.terminalSteerSettlementTimeout=void 0)}resolvePendingSteerConsumption(e){let r=this.pendingSteerConsumptions.indexOf(e);r!==-1&&(this.pendingSteerConsumptions.splice(r,1),e.resolve())}rejectPendingSteerConsumption(e,r){let n=this.pendingSteerConsumptions.indexOf(e);n!==-1&&(this.pendingSteerConsumptions.splice(n,1),e.reject(r))}rejectPendingSteerConsumptions(e){this.clearTerminalSteerSettlement();let r=this.pendingSteerConsumptions.splice(0);for(let n of r)n.reject(new Error(e))}monitorSteerConsumption(e){e.catch(r=>{this.onDone(r)})}ensureCustomToolsActive(){if(!this.session||!this.options.customTools||this.options.customTools.length===0)return;let e=new Set(this.session.getActiveToolNames()),r=!1;for(let n of this.options.customTools)e.has(n.name)||(r=!0,e.add(n.name));r&&this.session.setActiveToolsByName(Array.from(e))}async runPromptWithTransientAuthRetry(e){for(let r=0;;r+=1)try{return await this.runPromptOnce(e)}catch(n){if(!(n instanceof Error)||!qHr(n)||r>=DHr)throw n;await zHr()}}async runPromptOnce(e){if(!this.session)throw new Error("No active Pi SDK session");if(this.ensureCustomToolsActive(),this.session.isStreaming){let r=e.streamingBehavior==="steer"?this.trackPendingSteerConsumption():null;try{await this.session.prompt(e.text,{streamingBehavior:e.streamingBehavior,...e.images&&e.images.length>0?{images:e.images}:{}})}catch(n){throw r&&this.rejectPendingSteerConsumption(r.pending,n instanceof Error?n:new Error(String(n))),n}return r&&r.pending.queuedText===null&&this.resolvePendingSteerConsumption(r.pending),{steerConsumptionPromise:r?.promise??null}}return await this.session.prompt(e.text,{...e.images&&e.images.length>0?{images:e.images}:{}}),{steerConsumptionPromise:null}}};function BHr(t){if(!t)return;let e=VHr(t);if(!e)throw new Error(`Failed to resolve Pi model "${t}"`);return e}function VHr(t){let e=t.indexOf("/");if(e===-1)return;let r=t.slice(0,e),n=t.slice(e+1);try{switch(r){case"anthropic":return Cw("anthropic",n);case"openai":return Cw("openai",n);case"openai-codex":return Cw("openai-codex",n);case"google":return Cw("google",n);default:return}}catch{return}}import{homedir as WHr}from"node:os";import{join as e6t,resolve as t6t}from"node:path";var GHr="BB_PI_BRIDGE_SESSION_DIR";function jHr(t){let e=t.env[GHr]?.trim();return e?t6t(e):e6t(WHr(),".bb","pi-bridge-sessions")}function r6t(t){return t.sessionPath?.trim()?t6t(t.sessionPath):e6t(jHr({env:t.env}),`${KHr(t.threadId)}.jsonl`)}function KHr(t){return t.replace(/[^A-Za-z0-9._-]/g,"_")}Lc();function o6t(t,e){return t.map(r=>{let n=HHr(r.inputSchema);return{name:r.name,label:r.name,description:r.description,parameters:n,async execute(o,i,s){let a=await e(r.name,i);return{content:[{type:"text",text:a.content}],details:{},...a.isError?{isError:!0}:{}}}}})}function HHr(t){let e=xPe(t);return e?SPe(e):rt.Object({})}function SPe(t){let e=YHr(t.enum);if(e)return e.length>0?rt.Union(e):rt.Unknown();switch(t.type){case"object":return n6t(t);case"array":return rt.Array(JHr(t.items));case"string":return rt.String();case"number":case"integer":return rt.Number();case"boolean":return rt.Boolean();case void 0:return t.properties?n6t(t):rt.Unknown();default:return rt.Unknown()}}function n6t(t){let e=XHr(t.properties),r=new Set(ZHr(t.required)),n={};for(let[o,i]of Object.entries(e)){let s=SPe(i);n[o]=r.has(o)?s:rt.Optional(s)}return rt.Object(n)}function JHr(t){let e=xPe(t);return e?SPe(e):rt.Unknown()}function YHr(t){if(!Array.isArray(t)||t.length===0)return null;let e=[];for(let r of t)(typeof r=="string"||typeof r=="number"||typeof r=="boolean")&&e.push(rt.Literal(r));return e.length>0?e:null}function xPe(t){return!t||typeof t!="object"||Array.isArray(t)?null:t}function XHr(t){if(!t||typeof t!="object"||Array.isArray(t))return{};let e={};for(let[r,n]of Object.entries(t)){let o=xPe(n);o&&(e[r]=o)}return e}function ZHr(t){return Array.isArray(t)?t.filter(e=>typeof e=="string"):[]}var QHr=["codex","claude-code","pi"],jls=Cr.enum(QHr),eJr={supportsArchive:!0,supportsRename:!0,supportsServiceTier:!0,supportsUserQuestion:!1,supportedPermissionModes:["full","workspace-write","readonly"]},tJr={supportsArchive:!1,supportsRename:!1,supportsServiceTier:!1,supportsUserQuestion:!0,supportedPermissionModes:["full","workspace-write","readonly"]},rJr={supportsArchive:!1,supportsRename:!1,supportsServiceTier:!1,supportsUserQuestion:!1,supportedPermissionModes:["full"]},nJr=[{info:{available:!0,capabilities:eJr,displayName:"Codex",id:"codex"}},{info:{available:!0,capabilities:tJr,displayName:"Claude Code",id:"claude-code"}},{info:{available:!0,capabilities:rJr,displayName:"Pi",id:"pi"}}],Kls=new Map(nJr.map(t=>[t.info.id,t])),i6t={anthropic:"claude-opus-4-8",openai:"gpt-5.4","openai-codex":"gpt-5.5","amazon-bedrock":"us.anthropic.claude-opus-4-8",google:"gemini-2.5-pro","google-gemini-cli":"gemini-2.5-pro","google-vertex":"gemini-3-pro-preview",openrouter:"openai/gpt-5.1-codex","vercel-ai-gateway":"anthropic/claude-opus-4.8",xai:"grok-4-fast-non-reasoning",mistral:"devstral-medium-latest"};function TPe(t){return i6t[t]}var tcs=Cr.object({command:Cr.string().optional(),cwd:Cr.string().optional()}).passthrough(),oJr=Cr.object({type:Cr.literal("text"),text:Cr.string()}),iJr=Cr.object({content:Cr.array(Cr.unknown())}).passthrough();var vPe={reasoningEffort:"low",description:"Low reasoning effort"},s6t={reasoningEffort:"medium",description:"Medium reasoning effort"},a6t={reasoningEffort:"high",description:"High reasoning effort"},l6t={reasoningEffort:"xhigh",description:"Extra high reasoning effort"};var ccs=Cr.string().regex(/^[A-Z_][A-Z0-9_]*$/i);var sJr=/-\d{8}$/;function aJr(t){return t.endsWith("-latest")?!0:!sJr.test(t)}function lJr(t,e){let r=u6t(t,e.id);return{id:r,model:r,displayName:e.name,description:uJr(e),supportedReasoningEfforts:cJr(e),defaultReasoningEffort:e.reasoning?"medium":"low",isDefault:!1}}function c6t(t){let e=[],r=[];for(let o of t.providers)if(t.hasAuth(o))for(let i of t.getModels(o)){let s=lJr(o,i);aJr(i.id)?e.push(s):r.push(s)}let n=pJr(e);return{models:e.map(o=>o.id===n?{...o,isDefault:!0}:o),selectedOnlyModels:r}}function u6t(t,e){return e.includes("/")?e:`${t}/${e}`}function cJr(t){if(!t.reasoning)return[vPe];let e=[vPe,s6t,a6t];return t.supportsXhigh&&e.push(l6t),e}function uJr(t){let e=[];return e.push(t.reasoning?"reasoning":"non-reasoning"),t.input.includes("image")&&e.push("multimodal"),`${t.provider.length>0?t.provider[0].toUpperCase()+t.provider.slice(1):t.provider} ${e.join(", ")} model via Pi`}function pJr(t){for(let e of t){let r=e.id.split("/")[0],n=TPe(r);if(n&&e.id===u6t(r,n))return e.id}return t[0]?.id}async function p6t(){let[t,e]=await Promise.all([Promise.resolve().then(()=>(Lc(),wK)),Promise.resolve().then(()=>(jY(),GY))]),r=e.AuthStorage.create(),n=t.getProviders();return c6t({providers:n,getModels(o){return t.getModels(o).map(i=>({id:i.id,input:i.input,name:i.name,provider:i.provider,reasoning:i.reasoning,supportsXhigh:t.supportsXhigh(i)}))},hasAuth(o){return r.hasAuth(o)}})}function g6t(t){return t.baseInstructions===void 0||t.appendSystemPrompt===void 0}var y6t={message:"Provide either baseInstructions or appendSystemPrompt, not both",path:["appendSystemPrompt"]},yJr=["low","medium","high","xhigh"],b6t=Cr.enum(yJr),bJr=Cr.object({threadId:Cr.string().optional(),cwd:Cr.string(),baseInstructions:Cr.string().optional(),appendSystemPrompt:Cr.string().optional(),config:Cr.record(Cr.string(),Cr.unknown()).optional(),model:Cr.string().optional(),reasoningLevel:b6t.optional(),input:Cr.array(Cr.unknown()).optional(),dynamicTools:Cr.array(Cr.object({name:Cr.string(),description:Cr.string(),inputSchema:Cr.unknown()})).optional()}).refine(g6t,y6t),_Jr=Cr.object({threadId:Cr.string(),cwd:Cr.string(),sessionPath:Cr.string().optional(),baseInstructions:Cr.string().optional(),appendSystemPrompt:Cr.string().optional(),config:Cr.record(Cr.string(),Cr.unknown()).optional(),model:Cr.string().optional(),reasoningLevel:b6t.optional(),dynamicTools:Cr.array(Cr.object({name:Cr.string(),description:Cr.string(),inputSchema:Cr.unknown()})).optional()}).refine(g6t,y6t),EJr=Cr.discriminatedUnion("method",[Cr.object({method:Cr.literal("initialize"),params:Cr.object({clientInfo:Cr.object({name:Cr.string(),version:Cr.string()})})}),Cr.object({method:Cr.literal("model/list"),params:Cr.object({})}),Cr.object({method:Cr.literal("thread/start"),params:bJr}),Cr.object({method:Cr.literal("thread/resume"),params:_Jr}),Cr.object({method:Cr.literal("turn/start"),params:Cr.object({threadId:Cr.string(),input:Cr.array(Cr.unknown()),model:Cr.string().optional()})}),Cr.object({method:Cr.literal("turn/steer"),params:Cr.object({threadId:Cr.string(),expectedTurnId:Cr.string(),input:Cr.array(Cr.unknown())})}),Cr.object({method:Cr.literal("thread/stop"),params:Cr.object({threadId:Cr.string()})})]);function SJr(t){let e=mMe.safeParse(t);if(!e.success)return null;let r=EJr.safeParse({method:e.data.method,params:e.data.params??{}});return r.success?{...r.data,jsonrpc:"2.0",id:e.data.id}:null}var op=new Map,CPe=new Map,m6t=0,f6t=0,xJr=4e3;function eR(t){process.stdout.write(JSON.stringify(t)+`
1802
1802
  `)}function QC(t,e){eR({jsonrpc:"2.0",id:t,result:e})}function ZC(t,e,r){eR({jsonrpc:"2.0",id:t,error:{code:e,message:r}})}function TJr(t){return t?{usedTokens:t.tokens??null,modelContextWindow:t.contextWindow>0?t.contextWindow:null,estimated:!0}:null}function vJr(t){let e=op.get(t);if(!e)return;let r=TJr(e.session.getContextUsage());r&&eR({jsonrpc:"2.0",method:"thread/contextWindowUsage/updated",params:{threadId:t,contextWindowUsage:r}})}function _6t(){return m6t+=1,m6t}function E6t(t){let e=op.get(t.threadId);if(!(!e||e.stopping||e.sessionSerial!==t.sessionSerial))return e}function S6t(t){op.get(t.threadId)?.sessionSerial===t.sessionSerial&&op.delete(t.threadId)}function x6t(t){return e=>{E6t({sessionSerial:t.sessionSerial,threadId:t.threadId})&&(eR({jsonrpc:"2.0",method:"sdk/message",params:{threadId:t.threadId,message:e}}),e.type==="agent_end"&&vJr(t.threadId))}}function T6t(t){return e=>{if(!e||!E6t({sessionSerial:t.sessionSerial,threadId:t.threadId}))return;let n=e instanceof Error?e.message:String(e);eR({jsonrpc:"2.0",method:"error",params:{threadId:t.threadId,message:n}})}}function CJr(t){return(e,r)=>new Promise(n=>{let o=op.get(t);if(!o||o.stopping){n({content:"Thread session not found",isError:!0});return}f6t+=1;let i=f6t;o.pendingToolCalls.set(i,{resolve:n}),eR({jsonrpc:"2.0",id:i,method:"item/tool/call",params:{threadId:t,providerThreadId:t,turnId:null,callId:`call-${i}`,tool:e,arguments:r}})})}function h6t(t){for(let e of op.values())if(e.pendingToolCalls.has(t))return e}function RJr(t,e){for(let[r,n]of t.pendingToolCalls)t.pendingToolCalls.delete(r),n.resolve({content:e,isError:!0})}async function hQ(t){let e=CPe.get(t.threadId);if(e){await e;return}let r=op.get(t.threadId);if(!r)return;r.stopping=!0,RJr(r,t.message);let n=(async()=>{await r.session.closeGracefully(xJr)})().finally(()=>{op.get(t.threadId)===r&&op.delete(t.threadId),CPe.delete(t.threadId)});CPe.set(t.threadId,n),await n}async function wJr(t){await Promise.all(Array.from(op.keys()).map(e=>hQ({message:t,threadId:e})))}function v6t(t){let e={};if(t){for(let[r,n]of Object.entries(t))if(r.startsWith("shell_environment_policy.set.")&&typeof n=="string"){let o=r.slice(29);e[o]=n}}return e}function AJr(t){return Object.keys(t).length>0?t:void 0}function C6t(t){let e=AJr(t.shellEnvOverrides),r=r6t({env:process.env,sessionPath:t.params.sessionPath,threadId:t.threadId});return{cwd:t.params.cwd,model:t.params.model,sessionFilePath:r,systemPrompt:t.params.baseInstructions,appendSystemPrompt:t.params.appendSystemPrompt,...e?{shellEnvOverrides:e}:{},...t.params.thinkingLevel?{thinkingLevel:t.params.thinkingLevel}:{}}}function R6t(t,e,r){e&&e.length>0&&(t.customTools=o6t(e,CJr(r)))}async function IJr(t){switch(t.method){case"initialize":QC(t.id,{ok:!0});break;case"model/list":await OJr(t.id);break;case"thread/start":await PJr(t.id,t.params);break;case"thread/resume":await kJr(t.id,t.params);break;case"turn/start":await NJr(t.id,t.params);break;case"turn/steer":await DJr(t.id,t.params);break;case"thread/stop":QC(t.id,await MJr(t.params));break}}function w6t(t){return{cwd:t.cwd,...t.model?{model:t.model}:{},..."sessionPath"in t&&t.sessionPath?{sessionPath:t.sessionPath}:{},...t.baseInstructions?{baseInstructions:t.baseInstructions}:{},...t.appendSystemPrompt?{appendSystemPrompt:t.appendSystemPrompt}:{},...t.reasoningLevel?{thinkingLevel:t.reasoningLevel}:{}}}async function OJr(t){try{QC(t,await p6t())}catch(e){let r=e instanceof Error?e.message:String(e);ZC(t,-32e3,r)}}async function PJr(t,e){let r=e.threadId??`pi-${Date.now()}`;op.get(r)&&await hQ({message:"Pi thread session replaced while tool call was pending",threadId:r});let o=v6t(e.config),i=C6t({params:w6t(e),shellEnvOverrides:o,threadId:r});R6t(i,e.dynamicTools,r);let s=_6t(),a=new g9(i,x6t({sessionSerial:s,threadId:r}),T6t({sessionSerial:s,threadId:r})),c={session:a,sessionSerial:s,stopping:!1,pendingToolCalls:new Map};op.set(r,c);try{await a.start()}catch(p){throw S6t({sessionSerial:s,threadId:r}),p}QC(t,{threadId:r}),eR({jsonrpc:"2.0",method:"thread/identity",params:{threadId:r,providerThreadId:r}})}async function kJr(t,e){let r=e.threadId;op.get(r)&&await hQ({message:"Pi thread session replaced while tool call was pending",threadId:r});let o=v6t(e.config),i=C6t({params:w6t(e),shellEnvOverrides:o,threadId:r});R6t(i,e.dynamicTools,r);let s=_6t(),a=new g9(i,x6t({sessionSerial:s,threadId:r}),T6t({sessionSerial:s,threadId:r})),c={session:a,sessionSerial:s,stopping:!1,pendingToolCalls:new Map};op.set(r,c);try{await a.start()}catch(p){throw S6t({sessionSerial:s,threadId:r}),p}QC(t,{threadId:r})}async function NJr(t,e){let r=op.get(e.threadId);if(!r||r.stopping){ZC(t,-32e3,"No active pi session");return}let{text:n,images:o}=A6t(e.input);if(!n){ZC(t,-32602,"Missing input text");return}r.session.prompt(n,o.length>0?o:void 0),QC(t,{threadId:e.threadId})}async function DJr(t,e){let r=op.get(e.threadId);if(!r||r.stopping){ZC(t,-32e3,"No active pi session");return}let{text:n,images:o}=A6t(e.input);if(!n){ZC(t,-32602,"Missing input text");return}try{await r.session.steer(n,o.length>0?o:void 0),QC(t,{threadId:e.threadId})}catch(i){let s=i instanceof Error?i.message:String(i);ZC(t,-32e3,s)}}async function MJr(t){return await hQ({message:"Pi thread stopped while tool call was pending",threadId:t.threadId}),{ok:!0}}function LJr(t){switch(mJr(t).toLowerCase()){case".png":return"image/png";case".jpg":case".jpeg":return"image/jpeg";case".gif":return"image/gif";case".webp":return"image/webp";case".svg":return"image/svg+xml";default:return"image/png"}}function A6t(t){if(typeof t=="string")return{text:t,images:[]};if(!Array.isArray(t))return{images:[]};let e=[],r=[];for(let n of t){if(!n||typeof n!="object")continue;let o=n;if(o.type==="text"&&typeof o.text=="string")e.push(o.text);else if(o.type==="localImage"&&typeof o.path=="string")try{let i=dJr(o.path).toString("base64"),s=o.mimeType??LJr(o.path);r.push({type:"image",data:i,mimeType:s})}catch{}}return{text:e.length>0?e.join(`
1803
1803
  `):void 0,images:r}}function FJr(t){let e=t.trim();if(!e)return;let r;try{r=JSON.parse(e)}catch{return}let n=fMe(r);if(n&&h6t(n.id)){let i=h6t(n.id),s=i.pendingToolCalls.get(n.id);i.pendingToolCalls.delete(n.id),"error"in n?s.resolve({content:n.error.message??"Tool call failed",isError:!0}):s.resolve(hMe(n.result));return}let o=SJr(r);o&&IJr(o).catch(i=>{let s=i instanceof Error?i.message:String(i);ZC(o.id,-32e3,s)})}function UJr(){let t=process.argv[1];if(t===void 0)return!1;try{return d6t(gJr(import.meta.url))===d6t(fJr(t))}catch{return!1}}if(UJr()){let t=hJr({input:process.stdin,terminal:!1});t.on("line",FJr),t.on("close",()=>{wJr("Pi bridge shutting down while tool call was pending").finally(()=>{process.exit(0)})})}export{FJr as handleLine};