@runeya/runeya 2.0.120 → 2.0.122

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 (280) hide show
  1. package/agent/index.js +17 -2
  2. package/agent/index.js.map +1 -1
  3. package/agent-manager-BSPEFZKZ.js +10 -0
  4. package/{chat-PXMMZIAY.js → chat-SE5GIT4B.js} +7 -6
  5. package/{chunk-22RJM654.js → chunk-BVBK2WII.js} +155 -157
  6. package/chunk-BVBK2WII.js.map +1 -0
  7. package/chunk-GL7WA5K3.js +92 -0
  8. package/chunk-GL7WA5K3.js.map +1 -0
  9. package/{chunk-GIHR3BGT.js → chunk-NIU3CN5A.js} +37 -17
  10. package/chunk-NIU3CN5A.js.map +1 -0
  11. package/{chunk-H6VIS4OY.js → chunk-T2BV5WZE.js} +18 -3
  12. package/chunk-T2BV5WZE.js.map +1 -0
  13. package/{chunk-NYKFDU76.js → chunk-VNLIA5PV.js} +137 -59
  14. package/chunk-VNLIA5PV.js.map +1 -0
  15. package/{chunk-2WXQIUVC.js → chunk-XTLQOYLT.js} +147 -81
  16. package/chunk-XTLQOYLT.js.map +1 -0
  17. package/{companion-4RQ3AMOL.js → companion-HEJHC3UR.js} +5 -4
  18. package/{desktop-launcher-ADGRYF4S.js → desktop-launcher-EGGVXXKV.js} +2 -2
  19. package/index.js +4 -4
  20. package/package.json +1 -1
  21. package/settings-manager-4GAINSJO.js +10 -0
  22. package/{src-NRKK27F3.js → src-YUVA6WCM.js} +259 -172
  23. package/src-YUVA6WCM.js.map +1 -0
  24. package/web/assets/AgentScalarChatInterface.vue-DrcrJYKe.js +13 -0
  25. package/web/assets/AgentTerminalPage-BonnuSSS.js +1 -0
  26. package/web/assets/AiChatPage-DzTc9-iH.js +1 -0
  27. package/web/assets/AppLayout-DRTTSl7g.js +1 -0
  28. package/web/assets/{AppLayout-kIdcdJ2n.css → AppLayout-vWoE_P8T.css} +1 -1
  29. package/web/assets/AuditPage-CBWGaY0D.js +1 -0
  30. package/web/assets/CloudAccountPage-DTrPLz-p.js +1 -0
  31. package/web/assets/CloudAccountPage-DYOvfMjD.css +1 -0
  32. package/web/assets/CloudAccountPage-DvbOBtHJ.js +1 -0
  33. package/web/assets/CloudMessagingPage-BB-_RdEk.js +2 -0
  34. package/web/assets/DashboardPage-MdYRjTwv.js +164 -0
  35. package/web/assets/DirectoryPickerDialog-DROtNZ9T.js +1 -0
  36. package/web/assets/{EditorIcon-CdapdMgo.js → EditorIcon-LCl9V_-a.js} +2 -2
  37. package/web/assets/{EnvironmentForm-Dgrt5I5N.js → EnvironmentForm-BUadxutb.js} +2 -2
  38. package/web/assets/EnvironmentFormPage-Do3NwXL5.js +1 -0
  39. package/web/assets/EnvironmentListPage-DiG8nF1p.js +1 -0
  40. package/web/assets/KanbanBoardPage-_QCZ2A2f.js +4 -0
  41. package/web/assets/KanbanListPage-Dl-FpuPX.css +1 -0
  42. package/web/assets/KanbanListPage-nyfKMn50.js +1 -0
  43. package/web/assets/LaunchProjectPage-VHAUZ-cq.js +1 -0
  44. package/web/assets/LaunchServicesPage-CRv2zJxH.js +1 -0
  45. package/web/assets/LogViewer-DcoQF_33.js +3 -0
  46. package/web/assets/OrgKeyPrompt-X9hHtpi9.js +1 -0
  47. package/web/assets/{ProcessControls-DRyD5bQg.js → ProcessControls-PKQWukd7.js} +1 -1
  48. package/web/assets/ProcessDetailPage-DhFoi4DT.js +1 -0
  49. package/web/assets/{ProcessMetrics-D5SgFgFU.js → ProcessMetrics-CMewzyxA.js} +2 -2
  50. package/web/assets/RandomJobTestPage-CErdKP1K.js +2 -0
  51. package/web/assets/ScenarioEditorPage-CpRlfU3g.js +14 -0
  52. package/web/assets/SendToChatDialog-DIp62wvw.js +1 -0
  53. package/web/assets/ServiceControlsBar-Bk4M-tKR.js +1 -0
  54. package/web/assets/ServiceDetailPage-BxAZTqFu.js +2 -0
  55. package/web/assets/ServiceFormPage-Dr_e9QMM.js +1 -0
  56. package/web/assets/SettingsPage-Dx1eYZKP.js +2063 -0
  57. package/web/assets/UnlockPage-CgynzFN3.js +1 -0
  58. package/web/assets/UnlockPage-DU3hoV78.css +1 -0
  59. package/web/assets/VaultMigrationPage-Cw--n60U.js +1 -0
  60. package/web/assets/VersionBadge-Ct-qYNDF.js +1 -0
  61. package/web/assets/WikiPage-D7N7nA2O.js +1 -0
  62. package/web/assets/WikiView-Izg2SvGt.js +1 -0
  63. package/web/assets/add-scalar-classes-BP_OZa5m.js +387 -0
  64. package/web/assets/{autocomplete-ByrzVX5h.js → autocomplete-DMfvn4sK.js} +3 -3
  65. package/web/assets/{basic-shape-diamond.svg-h2koobo1.js → basic-shape-diamond.svg-B5H1r2bp.js} +1 -1
  66. package/web/assets/{basic-shape-hexagon.svg--IMj5O6H.js → basic-shape-hexagon.svg-CYAjKF0z.js} +1 -1
  67. package/web/assets/{basic-shape-primary-circle-ellipse-round.svg-B0JqtIPK.js → basic-shape-primary-circle-ellipse-round.svg-CgleCAf-.js} +1 -1
  68. package/web/assets/{basic-shape-primary-square-rectangle.svg-nMUFcz3q.js → basic-shape-primary-square-rectangle.svg-1Oa48Hhs.js} +1 -1
  69. package/web/assets/{basic-shape-shield.svg-B01_o2Y1.js → basic-shape-shield.svg-F6dZwVUJ.js} +1 -1
  70. package/web/assets/{browser-OPkfGEHD.js → browser-CmPAWcJ7.js} +1 -1
  71. package/web/assets/{browser-DcLBGCAS.js → browser-D3KJ0m2n.js} +1 -1
  72. package/web/assets/card-Ciw7uU90.js +32 -0
  73. package/web/assets/{checkbox-DGCPu95-.js → checkbox-BCCx0Nu6.js} +3 -3
  74. package/web/assets/{chip-Chk5tAnb.js → chip-JRh6DXig.js} +2 -2
  75. package/web/assets/client-BIlYBe0s.js +24 -0
  76. package/web/assets/cloud-chat.store-BUYi4kYT.js +1 -0
  77. package/web/assets/cloud-client-CujRC6FF.js +1 -0
  78. package/web/assets/cloud-session-CSIV9Uvx.js +1 -0
  79. package/web/assets/{cloud-session-CnTOFA6T.js → cloud-session-CZWto5y3.js} +2 -2
  80. package/web/assets/column-DSBHw97f.js +763 -0
  81. package/web/assets/{computer-device-desktop-monitor.svg-CfTbcAFd.js → computer-device-desktop-monitor.svg-D7wu2cQ4.js} +1 -1
  82. package/web/assets/{computer-device-desktop.svg-Cl-xv361.js → computer-device-desktop.svg-BtVwjOEG.js} +1 -1
  83. package/web/assets/{computer-device-laptop.svg-ukRjIyMq.js → computer-device-laptop.svg-f3tFeUHj.js} +1 -1
  84. package/web/assets/{computer-device-mobile-phone-android-samsung-back.svg-CoDvI0SU.js → computer-device-mobile-phone-android-samsung-back.svg-CmJcGkrL.js} +1 -1
  85. package/web/assets/{computer-device-mobile-phone-android-samsung.svg-BQWjk4Zt.js → computer-device-mobile-phone-android-samsung.svg-C2ke6Sbg.js} +1 -1
  86. package/web/assets/{computer-device-mobile-phone-iphone-x-back.svg-DAoSG317.js → computer-device-mobile-phone-iphone-x-back.svg-DxMqUXKE.js} +1 -1
  87. package/web/assets/{computer-device-mobile-phone-iphone-x.svg-BPjvW-EA.js → computer-device-mobile-phone-iphone-x.svg-DkbKlrh8.js} +1 -1
  88. package/web/assets/{computer-device-mobile-tablet-touch.svg-BYEFFDGJ.js → computer-device-mobile-tablet-touch.svg-DP0uXMda.js} +1 -1
  89. package/web/assets/{computer-device-mobile-tablet.svg-DNLPmtgI.js → computer-device-mobile-tablet.svg-C064ZFQm.js} +1 -1
  90. package/web/assets/{computer-device-network-ethernet-cat6.svg-BLWV1j_N.js → computer-device-network-ethernet-cat6.svg-Dwzl7zBN.js} +1 -1
  91. package/web/assets/{computer-device-network-lan-www.svg-BOoU0zpo.js → computer-device-network-lan-www.svg-BgErom5w.js} +1 -1
  92. package/web/assets/{computer-device-network-wifi-connection.svg-DGwn0IjA.js → computer-device-network-wifi-connection.svg-ByqNsV6y.js} +1 -1
  93. package/web/assets/{computer-device-network-wifi-router.svg-C5g_K48A.js → computer-device-network-wifi-router.svg-AySGITbi.js} +1 -1
  94. package/web/assets/{cssMode-Cx5qrxXy.js → cssMode-BqrZ4SB-.js} +1 -1
  95. package/web/assets/{divider-BrS14lDG.js → divider-BswZTb8q.js} +2 -2
  96. package/web/assets/{docx-preview-DAPpQjxw.js → docx-preview-t_oOha_C.js} +1 -1
  97. package/web/assets/{ecology-science-erlenmeyer-flask.svg-DomVqm74.js → ecology-science-erlenmeyer-flask.svg-Keg4ZY0z.js} +1 -1
  98. package/web/assets/{fieldset-C0CmkHzJ.js → fieldset-DaWy9FsL.js} +2 -2
  99. package/web/assets/{freemarker2-183f16_T.js → freemarker2-Br0kiufp.js} +1 -1
  100. package/web/assets/{handlebars-Ck2u5MRS.js → handlebars-BrATzKUL.js} +1 -1
  101. package/web/assets/{html-RFHCet7g.js → html-LWTJcTM2.js} +1 -1
  102. package/web/assets/{htmlMode-MLvTePcj.js → htmlMode-A23pWfMP.js} +1 -1
  103. package/web/assets/{image-flash-lightning.svg-C_9EqK2Z.js → image-flash-lightning.svg-uQfoT6Ex.js} +1 -1
  104. package/web/assets/{image-picture-flower.svg-Cw0p4SDa.js → image-picture-flower.svg-XxD1bCHC.js} +1 -1
  105. package/web/assets/{index-De7vzwYE.js → index-e5dmzMc-.js} +362 -362
  106. package/web/assets/{index-qjiWPMcS.css → index-rUoTy8xc.css} +1 -1
  107. package/web/assets/{interface-alert-exclamation-diamond.svg-D_7jQp52.js → interface-alert-exclamation-diamond.svg-gQAlkILu.js} +1 -1
  108. package/web/assets/{interface-alert-exclamation-triangle-warning.svg-slrQHD7Z.js → interface-alert-exclamation-triangle-warning.svg-Ga2rsl6o.js} +1 -1
  109. package/web/assets/{interface-alert-information-circle.svg-D6HZsCxj.js → interface-alert-information-circle.svg-BS0N2R1M.js} +1 -1
  110. package/web/assets/{interface-award-crown.svg-C8KlpCo8.js → interface-award-crown.svg-CtLbK4Gl.js} +1 -1
  111. package/web/assets/{interface-bookmark.svg-CcHEFyZI.js → interface-bookmark-tag.svg-Dfd6eXAX.js} +1 -1
  112. package/web/assets/{interface-bookmark-tag.svg-4m7iWpFd.js → interface-bookmark.svg-Clt6TTov.js} +1 -1
  113. package/web/assets/{interface-calendar-date-one.svg-B-NpBZQW.js → interface-calendar-date-one.svg-BmFNLrzR.js} +1 -1
  114. package/web/assets/{interface-content-book-open-pages.svg-D6JSr0DE.js → interface-content-book-open-pages.svg-u8kJbc3N.js} +1 -1
  115. package/web/assets/{interface-content-book-page.svg-4JwHKP99.js → interface-content-book-page.svg-Csk8d0R8.js} +1 -1
  116. package/web/assets/{interface-content-file.svg-dDsVtuW0.js → interface-content-file.svg-DIoD1UhJ.js} +1 -1
  117. package/web/assets/interface-content-folder.svg-BPZbNQNK.js +1 -0
  118. package/web/assets/{interface-content-folder.svg-VlaIOWsg.js → interface-content-folder.svg-ipO7hYM2.js} +1 -1
  119. package/web/assets/{interface-copy-clipboard.svg-C8NaVJTP.js → interface-copy-clipboard.svg-BaK2fHKS.js} +1 -1
  120. package/web/assets/{interface-edit-attachment.svg-DLv3r8Ta.js → interface-edit-attachment.svg-CrpyP6c6.js} +1 -1
  121. package/web/assets/{interface-edit-binocular.svg-Dn_isC0z.js → interface-edit-binocular.svg-Cw-YeqUQ.js} +1 -1
  122. package/web/assets/{interface-edit-magic-wand.svg-D7nDtfWR.js → interface-edit-magic-wand.svg-BPa49t_4.js} +1 -1
  123. package/web/assets/{interface-edit-tool-paint-roller.svg-pvqfHBhq.js → interface-edit-tool-paint-roller.svg-Cfag7vxY.js} +1 -1
  124. package/web/assets/{interface-edit-tool-pencil.svg-65sH97q4.js → interface-edit-tool-pencil.svg-BNAmX0d_.js} +1 -1
  125. package/web/assets/{interface-favorite-award.svg-ByKr9sn6.js → interface-favorite-award.svg-CIMvocAv.js} +1 -1
  126. package/web/assets/{interface-favorite-flag.svg-Dw-AP2Bq.js → interface-favorite-flag.svg-8C3GXK06.js} +1 -1
  127. package/web/assets/{interface-favorite-heart.svg-B_rIv8ZF.js → interface-favorite-heart.svg-CEU_IALn.js} +1 -1
  128. package/web/assets/{interface-favorite-star.svg-DdSC1aGg.js → interface-favorite-star.svg-Bs0RUtgk.js} +1 -1
  129. package/web/assets/{interface-favorite-stars-sparkles.svg-B2P_fEQm.js → interface-favorite-stars-sparkles.svg-CZYZ5qkH.js} +1 -1
  130. package/web/assets/{interface-hierarchy-flowchart.svg-Dn7xVcha.js → interface-hierarchy-flowchart.svg-DOgEXHV2.js} +1 -1
  131. package/web/assets/{interface-home-house.svg-CPV7dtoL.js → interface-home-house.svg-lDERGk8q.js} +1 -1
  132. package/web/assets/{interface-hyperlink.svg-BxEpW0yS.js → interface-hyperlink.svg-CAZrs64U.js} +1 -1
  133. package/web/assets/{interface-lighting-brightness.svg-CHwx5muE.js → interface-lighting-brightness.svg-CVANBB7i.js} +1 -1
  134. package/web/assets/{interface-lock-closed.svg-Ct9YyvGT.js → interface-lock-closed.svg-qDLyceL-.js} +1 -1
  135. package/web/assets/{interface-lock-open-unlock.svg-DuuZ9seB.js → interface-lock-open-unlock.svg-Bc-cq6eU.js} +1 -1
  136. package/web/assets/{interface-login-key.svg-DwQq_1hs.js → interface-login-key.svg-D6wZBYEi.js} +1 -1
  137. package/web/assets/{interface-search.svg-Cd9FPHXP.js → interface-search.svg-BVM6kkvA.js} +1 -1
  138. package/web/assets/{interface-setting-cog.svg-C2oUvcZk.js → interface-setting-cog.svg-uJYqlmKx.js} +1 -1
  139. package/web/assets/{interface-share-megaphone-bullhorn.svg-D_sqPbcr.js → interface-share-megaphone-bullhorn.svg-CgBVBu7Z.js} +1 -1
  140. package/web/assets/{interface-share-rocket.svg-DHw9o1DN.js → interface-share-rocket.svg-C1iCXMlX.js} +1 -1
  141. package/web/assets/{interface-share-satellite.svg-CYuWbhdH.js → interface-share-satellite.svg-uH-Cvq9d.js} +1 -1
  142. package/web/assets/{interface-share-space-ship.svg-CsQbvDGw.js → interface-share-space-ship.svg-81lauyV5.js} +1 -1
  143. package/web/assets/{interface-share.svg-CxR58P36.js → interface-share.svg-DO85t-F0.js} +1 -1
  144. package/web/assets/{interface-signal-square.svg-BFCAMIlM.js → interface-signal-square.svg-CFAni6lY.js} +1 -1
  145. package/web/assets/{interface-time-clock-circle.svg-BMtmcI_Z.js → interface-time-clock-circle.svg-BUQfluh7.js} +1 -1
  146. package/web/assets/{interface-time-hour-glass.svg-F_74mbfe.js → interface-time-hour-glass.svg-BAZDU-C5.js} +1 -1
  147. package/web/assets/{interface-users-multiple.svg-GqG3hBlb.js → interface-users-multiple.svg-Bj0AvF2-.js} +1 -1
  148. package/web/assets/{interface-weather-moon.svg-By26aJ-s.js → interface-weather-moon.svg-Cxz-5thD.js} +1 -1
  149. package/web/assets/{javascript-DWG-shUz.js → javascript-CuP68vN5.js} +1 -1
  150. package/web/assets/{jsonMode-c7o5Rqeq.js → jsonMode-CdGjze9r.js} +1 -1
  151. package/web/assets/{liquid-DqJ-7gUQ.js → liquid-fJJZPdJb.js} +1 -1
  152. package/web/assets/{lspLanguageFeatures-C_r6rVue.js → lspLanguageFeatures-YzzH9q9a.js} +3 -3
  153. package/web/assets/{mail-chat-bubble-square.svg-1OECQtwZ.js → mail-chat-bubble-square.svg-DY1-sN8v.js} +1 -1
  154. package/web/assets/{mail-send-email-paper-airplane.svg-DGa9kXqg.js → mail-send-email-paper-airplane.svg-6zVEUG2-.js} +1 -1
  155. package/web/assets/{mail-send-envelope.svg-DOnW83Qn.js → mail-send-envelope.svg-DNpA7Auy.js} +1 -1
  156. package/web/assets/{mdx-BmXiyjsf.js → mdx-CphM-wvX.js} +1 -1
  157. package/web/assets/{minus-Bva6o6mu.js → minus-DD84SZSh.js} +2 -2
  158. package/web/assets/modal-CKGM8Wb3.js +5 -0
  159. package/web/assets/modal-Dd5rzDUd.js +1 -0
  160. package/web/assets/{money-cashier-receipt.svg-C9S8E9Gs.js → money-cashier-receipt.svg-ChxLUMT0.js} +1 -1
  161. package/web/assets/{money-currency-dollar-pay.svg-CXNYqgJd.js → money-currency-dollar-pay.svg-CcPdfv1E.js} +1 -1
  162. package/web/assets/{money-graph-arrow-increase.svg-DVTCnF_9.js → money-graph-arrow-increase.svg-BsmXO8yM.js} +1 -1
  163. package/web/assets/{money-graph-bar-chart-increase.svg-CIlyGCUY.js → money-graph-bar-chart-increase.svg-QVk3zD8i.js} +1 -1
  164. package/web/assets/multiselect-3cR58mLz.js +251 -0
  165. package/web/assets/{nature-ecology-leaf.svg-xc6FzauK.js → nature-ecology-leaf.svg-nzup63P6.js} +1 -1
  166. package/web/assets/{password-B_HLITFe.js → password-CCYLOu-C.js} +4 -4
  167. package/web/assets/{phone-telephone.svg-D6y6im-g.js → phone-telephone.svg-BLtgdZw-.js} +1 -1
  168. package/web/assets/{plus-DJr2QEgS.js → plus-jk73RdzY.js} +5 -5
  169. package/web/assets/process.store-jsfEBwiA.js +1 -0
  170. package/web/assets/{programming-bug.svg-jKhqPvQ0.js → programming-bug.svg-BCN6lOn1.js} +1 -1
  171. package/web/assets/{programming-cloud.svg-C1_us4-8.js → programming-cloud.svg-DHNBRNkQ.js} +1 -1
  172. package/web/assets/{programming-computer-database-server.svg-C_8mq7k2.js → programming-computer-database-server.svg-C4DheEbm.js} +1 -1
  173. package/web/assets/{programming-computer-database.svg-Cc445gb5.js → programming-computer-database.svg-cD2w2ZZ6.js} +1 -1
  174. package/web/assets/{programming-module-four-layout.svg-B5fbcAO3.js → programming-module-four-layout.svg-D6_P2rTG.js} +1 -1
  175. package/web/assets/{programming-module-three.svg-J7fncT0c.js → programming-module-three.svg-Dc076Z_f.js} +1 -1
  176. package/web/assets/{programming-module.svg-BVjzZRgZ.js → programming-module.svg-D0c9akII.js} +1 -1
  177. package/web/assets/{programming-script-code.svg-By609kb5.js → programming-script-code.svg-BrT3KZQe.js} +1 -1
  178. package/web/assets/project-launch.store-Bp7vasUu.js +1 -0
  179. package/web/assets/project.store-DuZriz9o.js +1 -0
  180. package/web/assets/{python-jVn8dPRY.js → python-DMw-TRDY.js} +1 -1
  181. package/web/assets/{radiobutton-erK19fCL.js → radiobutton-CnoEo0qc.js} +2 -2
  182. package/web/assets/{razor-BJoJ2H1P.js → razor-BTS4Lk96.js} +1 -1
  183. package/web/assets/router-BU2tqcBm.js +1 -0
  184. package/web/assets/settings-scope-Bg_X1n_Y.js +1 -0
  185. package/web/assets/{settings.store-CcYfFedF.js → settings.store-DeGpnclr.js} +1 -1
  186. package/web/assets/{shopping-cart.svg-a8Rjk8rK.js → shopping-cart.svg-pvFNKXP_.js} +1 -1
  187. package/web/assets/{shopping-gift-present.svg-BIN9jnEb.js → shopping-gift-present.svg-PYJ4_vdS.js} +1 -1
  188. package/web/assets/{shopping-shipping-box-parcel-package.svg-05MVPg3v.js → shopping-shipping-box-parcel-package.svg-KMRd9Rmg.js} +1 -1
  189. package/web/assets/src-BsadAol0.js +572 -0
  190. package/web/assets/{src-DCcw9sU3.css → src-DU1mBjF-.css} +1 -1
  191. package/web/assets/src-NXursDRf.js +1 -0
  192. package/web/assets/{tabpanel-BIAV4aKH.js → tabpanel-CKudNnqo.js} +3 -3
  193. package/web/assets/{tag-new-circle.svg-ehKpryNe.js → tag-new-circle.svg-Bf83DYRq.js} +1 -1
  194. package/web/assets/theme-D6M00FyZ.js +1 -0
  195. package/web/assets/{toggleswitch-qhHjeH7s.js → toggleswitch-Cv0supU2.js} +2 -2
  196. package/web/assets/{travel-map-earth-globe.svg-D0Dk72so.js → travel-map-earth-globe.svg-WxnFDzEH.js} +1 -1
  197. package/web/assets/trpc-mWVODCs2.js +1 -0
  198. package/web/assets/{tsMode-B-s4JVyR.js → tsMode-CfruLmor.js} +5 -5
  199. package/web/assets/{typescript-CToySho3.js → typescript-BvsjNfHT.js} +1 -1
  200. package/web/assets/useAiChatDrawer-vNey6IKe.js +1 -0
  201. package/web/assets/useCloudOrg-B0o8vN4e.js +1 -0
  202. package/web/assets/useEnvVarAutocomplete-DJMTIim7.js +1 -0
  203. package/web/assets/useProjectCatalog-B6GXBDDA.js +1 -0
  204. package/web/assets/{useProjectCloudOrg-DOTcwa9I.js → useProjectCloudOrg-BwLsTiz0.js} +1 -1
  205. package/web/assets/useServiceUrlHost-CE4Qoy-J.js +1 -0
  206. package/web/assets/{xml-BMt9wg3H.js → xml-BTID20Kj.js} +1 -1
  207. package/web/assets/{yaml-RmzWffCM.js → yaml-BtOf_8je.js} +1 -1
  208. package/web/index.html +2 -2
  209. package/agent-manager-ACPQWUZ5.js +0 -9
  210. package/chunk-22RJM654.js.map +0 -1
  211. package/chunk-2WXQIUVC.js.map +0 -1
  212. package/chunk-GIHR3BGT.js.map +0 -1
  213. package/chunk-H6VIS4OY.js.map +0 -1
  214. package/chunk-NYKFDU76.js.map +0 -1
  215. package/settings-manager-2C7RY6ZC.js +0 -9
  216. package/src-NRKK27F3.js.map +0 -1
  217. package/web/assets/AgentScalarChatInterface.vue-Lgml1vhh.js +0 -13
  218. package/web/assets/AgentTerminalPage-CwxbyQxm.js +0 -1
  219. package/web/assets/AiChatPage-CknE-NOo.js +0 -1
  220. package/web/assets/AppLayout-DT6bb__K.js +0 -1
  221. package/web/assets/AuditPage-DzK5Tp3Z.js +0 -1
  222. package/web/assets/CloudAccountPage-BDQpVEAX.js +0 -1
  223. package/web/assets/CloudAccountPage-CWdxZvAC.js +0 -1
  224. package/web/assets/CloudAccountPage-CfMY69pk.css +0 -1
  225. package/web/assets/CloudMessagingPage-BX0QPzkR.js +0 -2
  226. package/web/assets/DashboardPage-BNBzT2zb.js +0 -164
  227. package/web/assets/DirectoryPickerDialog-ZT-tL_4A.js +0 -1
  228. package/web/assets/EnvironmentFormPage-B7uerFJ0.js +0 -1
  229. package/web/assets/EnvironmentListPage-tTe_1yh-.js +0 -1
  230. package/web/assets/KanbanBoardPage-DTZVqxd6.js +0 -4
  231. package/web/assets/KanbanListPage-C5rbZ1eL.css +0 -1
  232. package/web/assets/KanbanListPage-D82HSRy7.js +0 -1
  233. package/web/assets/LaunchProjectPage-DgaslasQ.js +0 -1
  234. package/web/assets/LaunchServicesPage-I2HCqujc.js +0 -1
  235. package/web/assets/LogViewer-CYuoSJAN.js +0 -3
  236. package/web/assets/OrgKeyPrompt-Asz6FlrN.js +0 -1
  237. package/web/assets/ProcessDetailPage-DHmTCgj8.js +0 -1
  238. package/web/assets/RandomJobTestPage-COLLiJzt.js +0 -2
  239. package/web/assets/ScenarioEditorPage-rDIB08Ap.js +0 -14
  240. package/web/assets/SendToChatDialog-BvUmZhUU.js +0 -1
  241. package/web/assets/ServiceControlsBar-DGTsbA5Q.js +0 -1
  242. package/web/assets/ServiceDetailPage-Ddko3DNN.js +0 -2
  243. package/web/assets/ServiceFormPage-oVVmtWjt.js +0 -1
  244. package/web/assets/SettingsPage-BcQruhk1.js +0 -2063
  245. package/web/assets/UnlockPage-CpysPhlT.css +0 -1
  246. package/web/assets/UnlockPage-OH7UV01L.js +0 -1
  247. package/web/assets/VaultMigrationPage-B4a0WihW.js +0 -1
  248. package/web/assets/VersionBadge-URtOAd5L.js +0 -1
  249. package/web/assets/WikiPage-BotpKBAY.js +0 -1
  250. package/web/assets/WikiView-DQCs79lu.js +0 -1
  251. package/web/assets/add-scalar-classes-CnAomA8D.js +0 -387
  252. package/web/assets/card-C3Xots9M.js +0 -32
  253. package/web/assets/client-CbBJUuyt.js +0 -24
  254. package/web/assets/cloud-chat.store-COR3nnYR.js +0 -1
  255. package/web/assets/cloud-client-DZFY1sze.js +0 -1
  256. package/web/assets/cloud-session-CCJUvzk1.js +0 -1
  257. package/web/assets/column-ROcesBUs.js +0 -763
  258. package/web/assets/interface-content-folder.svg-CagI3wg0.js +0 -1
  259. package/web/assets/modal-AUS2ksVq.js +0 -5
  260. package/web/assets/modal-BR3MAJDn.js +0 -1
  261. package/web/assets/multiselect-aPow7kzy.js +0 -251
  262. package/web/assets/process.store-CVrBwiRB.js +0 -1
  263. package/web/assets/project-launch.store-DCuERm8z.js +0 -1
  264. package/web/assets/project.store-D0oo8kyl.js +0 -1
  265. package/web/assets/router-0UcfydXq.js +0 -1
  266. package/web/assets/settings-scope-DdLe151G.js +0 -1
  267. package/web/assets/src-BiwZaAz3.js +0 -1
  268. package/web/assets/src-OmBj_GBQ.js +0 -572
  269. package/web/assets/theme-DiK_jXoN.js +0 -1
  270. package/web/assets/trpc-DOYpfRgV.js +0 -1
  271. package/web/assets/useAiChatDrawer-BSlDU8P0.js +0 -1
  272. package/web/assets/useCloudOrg-_EGQ6eUY.js +0 -1
  273. package/web/assets/useEnvVarAutocomplete-B4h_6ylX.js +0 -1
  274. package/web/assets/useProjectCatalog-B3GacZkf.js +0 -1
  275. package/web/assets/useServiceUrlHost-B-38dOxY.js +0 -1
  276. /package/{agent-manager-ACPQWUZ5.js.map → agent-manager-BSPEFZKZ.js.map} +0 -0
  277. /package/{chat-PXMMZIAY.js.map → chat-SE5GIT4B.js.map} +0 -0
  278. /package/{companion-4RQ3AMOL.js.map → companion-HEJHC3UR.js.map} +0 -0
  279. /package/{desktop-launcher-ADGRYF4S.js.map → desktop-launcher-EGGVXXKV.js.map} +0 -0
  280. /package/{settings-manager-2C7RY6ZC.js.map → settings-manager-4GAINSJO.js.map} +0 -0
@@ -31,8 +31,9 @@ import {
31
31
  runCompanionNow,
32
32
  syncConversationFromClaudeTranscript,
33
33
  verifyJwt
34
- } from "./chunk-NYKFDU76.js";
34
+ } from "./chunk-VNLIA5PV.js";
35
35
  import {
36
+ StoreDiskCoordinator,
36
37
  agentManager,
37
38
  agentStore,
38
39
  decryptValue,
@@ -43,18 +44,25 @@ import {
43
44
  environmentStore,
44
45
  extractEncryptedVariableSlots,
45
46
  getEncryptionKey,
46
- hasChangedSinceRead,
47
47
  hasEncryptionKey,
48
48
  isCiMode,
49
49
  isEncryptedValue,
50
50
  refsOfProjectId,
51
- rememberFile,
52
- serviceStore,
53
- wasRead
54
- } from "./chunk-2WXQIUVC.js";
51
+ serviceStore
52
+ } from "./chunk-XTLQOYLT.js";
55
53
  import {
56
54
  settingsManager
57
- } from "./chunk-GIHR3BGT.js";
55
+ } from "./chunk-NIU3CN5A.js";
56
+ import {
57
+ atomicWriteJsonSecure,
58
+ atomicWriteSecure,
59
+ fingerprintFiles,
60
+ hasChangedSinceRead,
61
+ readJsonFileSafe,
62
+ rememberFile,
63
+ resolveConversationRunDir,
64
+ wasRead
65
+ } from "./chunk-GL7WA5K3.js";
58
66
  import {
59
67
  AGENT_STOP_FETCH_TIMEOUT,
60
68
  ApiKeysFileSchema,
@@ -77,7 +85,7 @@ import {
77
85
  serviceUrlValues,
78
86
  urlHostFor,
79
87
  withDeprecatedAliases
80
- } from "./chunk-H6VIS4OY.js";
88
+ } from "./chunk-T2BV5WZE.js";
81
89
  import {
82
90
  allVaultRoots,
83
91
  env,
@@ -205,8 +213,8 @@ import { initTRPC, TRPCError } from "@trpc/server";
205
213
 
206
214
  // ../server/src/services/api-key-store.ts
207
215
  import { randomBytes, randomUUID, timingSafeEqual } from "crypto";
208
- import { readFile, writeFile, rename, mkdir, chmod } from "fs/promises";
209
- import { dirname, join as join2 } from "path";
216
+ import { readFile } from "fs/promises";
217
+ import { join as join2 } from "path";
210
218
  function maskApiKey(apiKey) {
211
219
  const { key, ...rest } = apiKey;
212
220
  return { ...rest, keyPreview: key.slice(-4) };
@@ -231,6 +239,15 @@ var ApiKeyStore = class {
231
239
  */
232
240
  unreadable = /* @__PURE__ */ new Map();
233
241
  loaded = false;
242
+ /**
243
+ * L'état du disque au dernier chargement — voir `ProjectStore.fingerprint`.
244
+ *
245
+ * Les clés d'un propriétaire tiennent dans un fichier unique, réécrit en
246
+ * entier à chaque sauvegarde : sans relecture, une seconde Runeya partageant
247
+ * cette racine machine efface la clé que la première vient de créer.
248
+ */
249
+ fingerprint = "";
250
+ disk = new StoreDiskCoordinator();
234
251
  /**
235
252
  * Encrypted at rest, so the file sits beside the key that opens it — read
236
253
  * under a different key it would decrypt to blanks, then be saved back blank.
@@ -252,16 +269,13 @@ var ApiKeyStore = class {
252
269
  );
253
270
  return;
254
271
  }
255
- await mkdir(dirname(path), { recursive: true });
256
272
  const keys = Array.from(this.keys.values()).filter((k) => k.isPublic === isPublic && (this.owners.get(k.id) ?? null) === owner).map((k) => ({ ...k, key: encryptValue(k.key, owner ?? void 0) }));
257
273
  for (const raw of this.unreadable.get(owner)?.values() ?? []) {
258
274
  if (raw.isPublic === isPublic) keys.push(raw);
259
275
  }
260
- const tmp = path + ".tmp";
261
- await writeFile(tmp, JSON.stringify({ keys }, null, 2), "utf-8");
262
- await rename(tmp, path);
263
- await chmod(path, 384);
276
+ await atomicWriteSecure(path, JSON.stringify({ keys }, null, 2));
264
277
  await rememberFile(path);
278
+ this.fingerprint = await this.diskFingerprint();
265
279
  }
266
280
  /**
267
281
  * Réécrire ce fichier pour chaque propriétaire connu.
@@ -269,10 +283,12 @@ var ApiKeyStore = class {
269
283
  * Y compris ceux qui n'ont plus de clé : sinon une clé supprimée — ou dont le
270
284
  * propriétaire a changé — survivrait dans son ancien coffre.
271
285
  */
272
- async persist(isPublic) {
273
- for (const owner of this.knownOwners) await this.persistFile(isPublic, owner);
286
+ persist(isPublic) {
287
+ return this.disk.save(async () => {
288
+ for (const owner of this.knownOwners) await this.persistFile(isPublic, owner);
289
+ });
274
290
  }
275
- async loadFile(path, owner) {
291
+ async loadFile(path, owner, into) {
276
292
  try {
277
293
  const raw = await readFile(path, "utf-8");
278
294
  await rememberFile(path);
@@ -282,29 +298,49 @@ var ApiKeyStore = class {
282
298
  for (const k of parsed.data.keys) {
283
299
  try {
284
300
  const key = isEncryptedValue(k.key) ? decryptValue(k.key, owner ?? void 0) : k.key;
285
- this.keys.set(k.id, { ...k, key });
286
- this.owners.set(k.id, owner);
301
+ into.keys.set(k.id, { ...k, key });
302
+ into.owners.set(k.id, owner);
287
303
  } catch {
288
304
  console.error(`[api-key-store] Cl\xE9 d'API ${k.id} illisible sous la cl\xE9 de ce coffre \u2014 conserv\xE9e telle quelle sur le disque`);
289
- const bucket = this.unreadable.get(owner) ?? /* @__PURE__ */ new Map();
305
+ const bucket = into.unreadable.get(owner) ?? /* @__PURE__ */ new Map();
290
306
  bucket.set(k.id, k);
291
- this.unreadable.set(owner, bucket);
307
+ into.unreadable.set(owner, bucket);
292
308
  }
293
309
  }
294
310
  }
295
311
  } catch {
296
312
  }
297
313
  }
298
- /** La machine, puis chaque organisation dont un coffre existe sur ce disque. */
299
- async load() {
300
- if (this.loaded) return;
301
- this.loaded = true;
302
- this.unreadable.clear();
314
+ /** Tous les fichiers de clés du disque : ceux de la machine et des coffres. */
315
+ async sourcePaths() {
303
316
  const owners = [null, ...await listOrgVaults()];
317
+ const paths = [];
304
318
  for (const owner of owners) {
305
- await this.loadFile(await this.filePath(true, owner), owner);
306
- await this.loadFile(await this.filePath(false, owner), owner);
319
+ paths.push(await this.filePath(true, owner), await this.filePath(false, owner));
307
320
  }
321
+ return paths;
322
+ }
323
+ async diskFingerprint() {
324
+ return fingerprintFiles(await this.sourcePaths());
325
+ }
326
+ /** La machine, puis chaque organisation dont un coffre existe sur ce disque. */
327
+ async load() {
328
+ await this.disk.load(async () => {
329
+ const fingerprint = await this.diskFingerprint();
330
+ if (this.loaded && fingerprint === this.fingerprint) return null;
331
+ const next = { keys: /* @__PURE__ */ new Map(), owners: /* @__PURE__ */ new Map(), unreadable: /* @__PURE__ */ new Map() };
332
+ for (const owner of [null, ...await listOrgVaults()]) {
333
+ await this.loadFile(await this.filePath(true, owner), owner, next);
334
+ await this.loadFile(await this.filePath(false, owner), owner, next);
335
+ }
336
+ return () => {
337
+ this.keys = next.keys;
338
+ this.owners = next.owners;
339
+ this.unreadable = next.unreadable;
340
+ this.fingerprint = fingerprint;
341
+ this.loaded = true;
342
+ };
343
+ });
308
344
  }
309
345
  /**
310
346
  * Oublier ce qui a été lu, pour tout relire sous la clé courante.
@@ -539,7 +575,7 @@ var DescriptionSchema = z2.string().max(2e3);
539
575
  var OptionalProviderIdSchema = Id128Schema.optional();
540
576
 
541
577
  // ../server/src/services/workspace-cwd.ts
542
- import { isAbsolute, join as join3, dirname as dirname2 } from "path";
578
+ import { isAbsolute, join as join3, dirname } from "path";
543
579
  async function projectRoot(ref) {
544
580
  const project = await projectStore.get(ref);
545
581
  if (!project?.orgId) return null;
@@ -570,7 +606,7 @@ function anchor(base, raw) {
570
606
  return join3(base, raw);
571
607
  }
572
608
  function localVaultRootParent() {
573
- return dirname2(localVaultRoot());
609
+ return dirname(localVaultRoot());
574
610
  }
575
611
  async function resolveAgentCwd(target) {
576
612
  if (target.serviceId) {
@@ -598,8 +634,8 @@ async function resolveConversationCwd(conversationId) {
598
634
  }
599
635
 
600
636
  // ../server/src/services/environment-overrides-store.ts
601
- import { readFile as readFile2, writeFile as writeFile2, rename as rename2, mkdir as mkdir2, chmod as chmod2 } from "fs/promises";
602
- import { dirname as dirname3, join as join4 } from "path";
637
+ import { readFile as readFile2, writeFile, rename, mkdir, chmod } from "fs/promises";
638
+ import { dirname as dirname2, join as join4 } from "path";
603
639
  var FILENAME = "environment-overrides.json";
604
640
  var EnvironmentOverridesStore = class {
605
641
  data = {};
@@ -632,7 +668,7 @@ var EnvironmentOverridesStore = class {
632
668
  async rootFor(variableId) {
633
669
  const root = await environmentStore.rootOfVariable(variableId);
634
670
  if (root) return root;
635
- return this.roots.get(variableId) ?? dirname3(await keyedFilePath(FILENAME));
671
+ return this.roots.get(variableId) ?? dirname2(await keyedFilePath(FILENAME));
636
672
  }
637
673
  /** Where earlier versions kept them: read once, rewritten to their vaults. */
638
674
  getLegacyFilePath() {
@@ -670,11 +706,11 @@ var EnvironmentOverridesStore = class {
670
706
  parsed,
671
707
  "environment-overrides",
672
708
  (variableId) => this.unreadableSecrets.add(variableId),
673
- vaultIdOfRoot(dirname3(path))
709
+ vaultIdOfRoot(dirname2(path))
674
710
  );
675
711
  for (const [id, override] of Object.entries(decrypted)) {
676
712
  this.data[id] = { value: override.value };
677
- this.roots.set(id, dirname3(path));
713
+ this.roots.set(id, dirname2(path));
678
714
  }
679
715
  }
680
716
  }
@@ -709,12 +745,12 @@ var EnvironmentOverridesStore = class {
709
745
  this.diskEncryptedSlots,
710
746
  extractEncryptedVariableSlots(encrypted)
711
747
  );
712
- await mkdir2(root, { recursive: true });
748
+ await mkdir(root, { recursive: true });
713
749
  const path = join4(root, FILENAME);
714
750
  const tmpPath = path + ".tmp";
715
- await writeFile2(tmpPath, JSON.stringify(encrypted, null, 2), "utf-8");
716
- await rename2(tmpPath, path);
717
- await chmod2(path, 384);
751
+ await writeFile(tmpPath, JSON.stringify(encrypted, null, 2), "utf-8");
752
+ await rename(tmpPath, path);
753
+ await chmod(path, 384);
718
754
  }
719
755
  }
720
756
  /**
@@ -2211,7 +2247,7 @@ import { z as z3 } from "zod";
2211
2247
  import { TRPCError as TRPCError2 } from "@trpc/server";
2212
2248
 
2213
2249
  // ../server/src/services/audit-service.ts
2214
- import { appendFile, readFile as readFile3, stat, rename as rename3, unlink, readdir as readdir2, mkdir as mkdir3 } from "fs/promises";
2250
+ import { appendFile, readFile as readFile3, stat, rename as rename2, unlink, readdir as readdir2, mkdir as mkdir2 } from "fs/promises";
2215
2251
  var AUDIT_FILENAME = "audit.log";
2216
2252
  var MAX_FILE_SIZE = 10 * 1024 * 1024;
2217
2253
  var MAX_AGE_DAYS = 30;
@@ -2231,7 +2267,7 @@ var AuditService = class {
2231
2267
  const line = JSON.stringify(record) + "\n";
2232
2268
  const filepath = this.getFilePath();
2233
2269
  try {
2234
- await mkdir3(machineRoot(), { recursive: true });
2270
+ await mkdir2(machineRoot(), { recursive: true });
2235
2271
  await appendFile(filepath, line, "utf-8");
2236
2272
  await this.rotateIfNeeded();
2237
2273
  } catch (err) {
@@ -2277,7 +2313,7 @@ var AuditService = class {
2277
2313
  try {
2278
2314
  const stats = await stat(filepath);
2279
2315
  if (stats.size > MAX_FILE_SIZE) {
2280
- await rename3(filepath, this.getRotatedPath());
2316
+ await rename2(filepath, this.getRotatedPath());
2281
2317
  }
2282
2318
  } catch {
2283
2319
  }
@@ -2976,7 +3012,7 @@ function parse(text) {
2976
3012
  return result;
2977
3013
  }
2978
3014
  function getClaudeUsage() {
2979
- return new Promise((resolve3, reject) => {
3015
+ return new Promise((resolve2, reject) => {
2980
3016
  const env2 = { ...process.env };
2981
3017
  delete env2["CLAUDECODE"];
2982
3018
  let claudeBin = "claude";
@@ -3009,7 +3045,7 @@ function getClaudeUsage() {
3009
3045
  clearTimeout(hardTimeout);
3010
3046
  term?.kill();
3011
3047
  const clean = buffer.replaceAll(/\x1b\[[0-9;]*X/g, "\n").replaceAll(/\x1b\[[0-9;]*[mGKHFABCDJsu]/g, "").replaceAll(/\x1b[^a-zA-Z]*[a-zA-Z]/g, "").replaceAll("\r", "");
3012
- resolve3(parse(clean));
3048
+ resolve2(parse(clean));
3013
3049
  }
3014
3050
  const hardTimeout = setTimeout(() => {
3015
3051
  if (!done) finish();
@@ -3143,7 +3179,7 @@ function parseCodexStatusText(text) {
3143
3179
  return entries;
3144
3180
  }
3145
3181
  function getCodexUsageEntries() {
3146
- return new Promise((resolve3, reject) => {
3182
+ return new Promise((resolve2, reject) => {
3147
3183
  let term = null;
3148
3184
  try {
3149
3185
  const invocation = resolveCliInvocation("codex", []);
@@ -3174,7 +3210,7 @@ function getCodexUsageEntries() {
3174
3210
  const debugClean = stripAnsi(buffer).slice(-6e3);
3175
3211
  process.stdout.write("[codex-usage] raw tail:\n" + debugClean + "\n");
3176
3212
  }
3177
- resolve3(parseCodexStatusText(buffer));
3213
+ resolve2(parseCodexStatusText(buffer));
3178
3214
  };
3179
3215
  const hardTimeout = setTimeout(() => {
3180
3216
  finish();
@@ -3377,44 +3413,8 @@ var ScenarioStore = class {
3377
3413
  var scenarioStore = new ScenarioStore();
3378
3414
 
3379
3415
  // ../server/src/services/scenario-run-store.ts
3380
- import { mkdir as mkdir5, rm, readFile as readFile5 } from "fs/promises";
3416
+ import { mkdir as mkdir3, rm, readFile as readFile4 } from "fs/promises";
3381
3417
  import { join as join5 } from "path";
3382
-
3383
- // ../server/src/services/run-store-utils.ts
3384
- import { chmod as chmod3, mkdir as mkdir4, rename as rename4, writeFile as writeFile3, readFile as readFile4 } from "fs/promises";
3385
- import { dirname as dirname4, resolve, sep } from "path";
3386
- var SAFE_PATH_SEGMENT_RE = /^[a-zA-Z0-9][a-zA-Z0-9._-]{0,127}$/;
3387
- function resolveConversationRunDir(rootDirName, conversationId) {
3388
- if (!SAFE_PATH_SEGMENT_RE.test(conversationId)) {
3389
- throw new Error("Invalid conversationId");
3390
- }
3391
- const base = resolve(machineRoot(), rootDirName);
3392
- const dir = resolve(base, conversationId);
3393
- if (!dir.startsWith(base + sep)) {
3394
- throw new Error("Invalid conversationId");
3395
- }
3396
- return dir;
3397
- }
3398
- async function atomicWriteSecure(filePath, content) {
3399
- await mkdir4(dirname4(filePath), { recursive: true });
3400
- const tmpPath = `${filePath}.tmp`;
3401
- await writeFile3(tmpPath, content, "utf-8");
3402
- await rename4(tmpPath, filePath);
3403
- await chmod3(filePath, 384);
3404
- }
3405
- async function atomicWriteJsonSecure(filePath, data, pretty = false) {
3406
- await atomicWriteSecure(filePath, JSON.stringify(data, null, pretty ? 2 : 0));
3407
- }
3408
- async function readJsonFileSafe(filePath) {
3409
- try {
3410
- const raw = await readFile4(filePath, "utf-8");
3411
- return JSON.parse(raw);
3412
- } catch {
3413
- return null;
3414
- }
3415
- }
3416
-
3417
- // ../server/src/services/scenario-run-store.ts
3418
3418
  function sanitizeSlug(value) {
3419
3419
  return value.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "").slice(0, 60) || "member";
3420
3420
  }
@@ -3430,7 +3430,7 @@ var ScenarioRunStore = class _ScenarioRunStore {
3430
3430
  }
3431
3431
  async initializeConversationWorkspace(conversationId, scenario, userInput) {
3432
3432
  const dir = this.getRunDir(conversationId);
3433
- await mkdir5(dir, { recursive: true });
3433
+ await mkdir3(dir, { recursive: true });
3434
3434
  await this.saveScenarioSnapshot(conversationId, scenario);
3435
3435
  const nodesById = new Map(scenario.nodes.map((p) => [p.id, p]));
3436
3436
  const teamMap = new Map(scenario.groups.map((t2) => [t2.id, t2.name]));
@@ -3542,7 +3542,7 @@ ${userInput.trim() || "(empty)"}
3542
3542
  if (!runState) return;
3543
3543
  try {
3544
3544
  const dir = this.getRunDir(conversationId);
3545
- await mkdir5(dir, { recursive: true });
3545
+ await mkdir3(dir, { recursive: true });
3546
3546
  const data = {
3547
3547
  nodeStates: { ...runState.nodeStates },
3548
3548
  nodeOutputs: { ...runState.nodeOutputs },
@@ -3561,7 +3561,7 @@ ${userInput.trim() || "(empty)"}
3561
3561
  async readUserRequest(conversationId) {
3562
3562
  try {
3563
3563
  const dir = this.getRunDir(conversationId);
3564
- const content = await readFile5(join5(dir, "USER_REQUEST.md"), "utf-8");
3564
+ const content = await readFile4(join5(dir, "USER_REQUEST.md"), "utf-8");
3565
3565
  return content.replace(/^#\s*User request\s*\n+/, "").trim() || null;
3566
3566
  } catch {
3567
3567
  return null;
@@ -3570,14 +3570,14 @@ ${userInput.trim() || "(empty)"}
3570
3570
  async readReadme(conversationId) {
3571
3571
  try {
3572
3572
  const dir = this.getRunDir(conversationId);
3573
- return await readFile5(join5(dir, "README.md"), "utf-8");
3573
+ return await readFile4(join5(dir, "README.md"), "utf-8");
3574
3574
  } catch {
3575
3575
  return null;
3576
3576
  }
3577
3577
  }
3578
3578
  async saveScenarioSnapshot(conversationId, scenario) {
3579
3579
  const dir = this.getRunDir(conversationId);
3580
- await mkdir5(dir, { recursive: true });
3580
+ await mkdir3(dir, { recursive: true });
3581
3581
  await atomicWriteJsonSecure(
3582
3582
  join5(dir, _ScenarioRunStore.SCENARIO_SNAPSHOT_FILE),
3583
3583
  scenario,
@@ -3641,9 +3641,9 @@ async function vaultOfProject(projectId) {
3641
3641
 
3642
3642
  // ../server/src/services/image-storage.service.ts
3643
3643
  import { randomUUID as randomUUID3 } from "crypto";
3644
- import { mkdir as mkdir6, writeFile as writeFile4, readFile as readFile6, unlink as unlink2, readdir as readdir3 } from "fs/promises";
3644
+ import { mkdir as mkdir4, writeFile as writeFile2, readFile as readFile5, unlink as unlink2, readdir as readdir3 } from "fs/promises";
3645
3645
  import { existsSync as existsSync2 } from "fs";
3646
- import { join as join6, extname, resolve as resolve2, sep as sep2 } from "path";
3646
+ import { join as join6, extname, resolve, sep } from "path";
3647
3647
  var ALLOWED_MIME_TYPES = /* @__PURE__ */ new Set([
3648
3648
  "image/png",
3649
3649
  "image/jpeg",
@@ -3660,7 +3660,7 @@ var ImageStorageService = class {
3660
3660
  this.dir = dir;
3661
3661
  }
3662
3662
  async ensureTmpDir() {
3663
- await mkdir6(this.dir, { recursive: true, mode: 448 });
3663
+ await mkdir4(this.dir, { recursive: true, mode: 448 });
3664
3664
  }
3665
3665
  async saveImage(buffer, originalName, mimeType, contextId) {
3666
3666
  if (!ALLOWED_MIME_TYPES.has(mimeType)) {
@@ -3681,14 +3681,14 @@ var ImageStorageService = class {
3681
3681
  const safeExt = ext.replace(/[^a-z.]/g, "");
3682
3682
  const fileName = `${imageId}${safeExt}`;
3683
3683
  const filePath = join6(this.dir, fileName);
3684
- const resolvedPath = resolve2(filePath);
3685
- const resolvedDir = resolve2(this.dir);
3686
- if (resolvedPath !== resolvedDir && !resolvedPath.startsWith(resolvedDir + sep2)) {
3684
+ const resolvedPath = resolve(filePath);
3685
+ const resolvedDir = resolve(this.dir);
3686
+ if (resolvedPath !== resolvedDir && !resolvedPath.startsWith(resolvedDir + sep)) {
3687
3687
  throw new Error("Invalid file path");
3688
3688
  }
3689
- await writeFile4(filePath, buffer, { mode: 384 });
3689
+ await writeFile2(filePath, buffer, { mode: 384 });
3690
3690
  const meta = { imageId, filePath, mimeType, originalName, createdAt: Date.now(), contextId };
3691
- await writeFile4(`${filePath}.meta.json`, JSON.stringify(meta), { encoding: "utf-8", mode: 384 });
3691
+ await writeFile2(`${filePath}.meta.json`, JSON.stringify(meta), { encoding: "utf-8", mode: 384 });
3692
3692
  return meta;
3693
3693
  }
3694
3694
  /**
@@ -3706,7 +3706,7 @@ var ImageStorageService = class {
3706
3706
  const files = await readdir3(this.dir);
3707
3707
  const metaFile = files.find((f) => f.startsWith(imageId) && f.endsWith(".meta.json"));
3708
3708
  if (!metaFile) return null;
3709
- const raw = JSON.parse(await readFile6(join6(this.dir, metaFile), "utf-8"));
3709
+ const raw = JSON.parse(await readFile5(join6(this.dir, metaFile), "utf-8"));
3710
3710
  if (expectedContextId !== void 0 && raw.contextId !== expectedContextId) return null;
3711
3711
  if (!existsSync2(raw.filePath)) return null;
3712
3712
  return { filePath: raw.filePath, mimeType: raw.mimeType, contextId: raw.contextId };
@@ -3732,7 +3732,7 @@ var ImageStorageService = class {
3732
3732
  await Promise.all(
3733
3733
  files.filter((f) => f.endsWith(".meta.json")).map(async (file) => {
3734
3734
  try {
3735
- const raw = JSON.parse(await readFile6(join6(this.dir, file), "utf-8"));
3735
+ const raw = JSON.parse(await readFile5(join6(this.dir, file), "utf-8"));
3736
3736
  if (raw.contextId === contextId) {
3737
3737
  await unlink2(raw.filePath).catch(() => {
3738
3738
  });
@@ -3747,7 +3747,7 @@ var ImageStorageService = class {
3747
3747
  async readImageAsBase64(imageId, expectedContextId) {
3748
3748
  const result = await this.getImagePath(imageId, expectedContextId);
3749
3749
  if (!result) return null;
3750
- const buffer = await readFile6(result.filePath);
3750
+ const buffer = await readFile5(result.filePath);
3751
3751
  return { base64: buffer.toString("base64"), mimeType: result.mimeType };
3752
3752
  }
3753
3753
  async listExpiredImages(ttlMs = IMAGE_TTL_MS) {
@@ -3762,7 +3762,7 @@ var ImageStorageService = class {
3762
3762
  for (const file of files) {
3763
3763
  if (!file.endsWith(".meta.json")) continue;
3764
3764
  try {
3765
- const raw = JSON.parse(await readFile6(join6(this.dir, file), "utf-8"));
3765
+ const raw = JSON.parse(await readFile5(join6(this.dir, file), "utf-8"));
3766
3766
  if (now - raw.createdAt > ttlMs) expired.push(raw);
3767
3767
  } catch {
3768
3768
  }
@@ -3773,7 +3773,7 @@ var ImageStorageService = class {
3773
3773
  var _singleton;
3774
3774
  function getSingleton() {
3775
3775
  if (!_singleton) {
3776
- _singleton = new ImageStorageService(resolve2(machineRoot(), "images"));
3776
+ _singleton = new ImageStorageService(resolve(machineRoot(), "images"));
3777
3777
  }
3778
3778
  return _singleton;
3779
3779
  }
@@ -3831,8 +3831,8 @@ import { basename } from "path";
3831
3831
  import { TRPCError as TRPCError3 } from "@trpc/server";
3832
3832
 
3833
3833
  // ../server/src/services/cloud-session-store.ts
3834
- import { readFile as readFile7, writeFile as writeFile5, rename as rename5, mkdir as mkdir7, chmod as chmod4, unlink as unlink3 } from "fs/promises";
3835
- import { dirname as dirname5 } from "path";
3834
+ import { readFile as readFile6, writeFile as writeFile3, rename as rename3, mkdir as mkdir5, chmod as chmod2, unlink as unlink3 } from "fs/promises";
3835
+ import { dirname as dirname3 } from "path";
3836
3836
  import { randomBytes as randomBytes2, createHash, timingSafeEqual as timingSafeEqual2 } from "crypto";
3837
3837
  var FILENAME2 = "cloud-session.json";
3838
3838
  var STATE_TTL_MS = 5 * 60 * 1e3;
@@ -3863,9 +3863,9 @@ var CloudSessionStore = class {
3863
3863
  */
3864
3864
  async readFromDisk() {
3865
3865
  try {
3866
- return await readFile7(await this.getFilePath(), "utf-8");
3866
+ return await readFile6(await this.getFilePath(), "utf-8");
3867
3867
  } catch {
3868
- return readFile7(this.getLegacyFilePath(), "utf-8");
3868
+ return readFile6(this.getLegacyFilePath(), "utf-8");
3869
3869
  }
3870
3870
  }
3871
3871
  /**
@@ -3939,12 +3939,12 @@ var CloudSessionStore = class {
3939
3939
  }
3940
3940
  async save() {
3941
3941
  const filePath = await this.getFilePath();
3942
- await mkdir7(dirname5(filePath), { recursive: true });
3942
+ await mkdir5(dirname3(filePath), { recursive: true });
3943
3943
  const payload = { version: 2, accounts: this.accounts };
3944
3944
  const tmpPath = filePath + ".tmp";
3945
- await writeFile5(tmpPath, JSON.stringify(payload, null, 2), "utf-8");
3946
- await rename5(tmpPath, filePath);
3947
- await chmod4(filePath, 384);
3945
+ await writeFile3(tmpPath, JSON.stringify(payload, null, 2), "utf-8");
3946
+ await rename3(tmpPath, filePath);
3947
+ await chmod2(filePath, 384);
3948
3948
  }
3949
3949
  /**
3950
3950
  * Ranger le token obtenu par l'échange de jeton à usage unique.
@@ -4080,7 +4080,7 @@ var cloudSessionStore = new CloudSessionStore();
4080
4080
 
4081
4081
  // ../server/src/services/lan-mode.ts
4082
4082
  import { networkInterfaces } from "os";
4083
- import { readFile as readFile8, writeFile as writeFile6, rename as rename6, mkdir as mkdir8 } from "fs/promises";
4083
+ import { readFile as readFile7, writeFile as writeFile4, rename as rename4, mkdir as mkdir6 } from "fs/promises";
4084
4084
  import { join as join7 } from "path";
4085
4085
  import { z as z4 } from "zod";
4086
4086
  var LOOPBACK2 = "127.0.0.1";
@@ -4098,7 +4098,7 @@ function networkFilePath() {
4098
4098
  }
4099
4099
  async function readFileState() {
4100
4100
  try {
4101
- return NetworkFileSchema.parse(JSON.parse(await readFile8(networkFilePath(), "utf-8")));
4101
+ return NetworkFileSchema.parse(JSON.parse(await readFile7(networkFilePath(), "utf-8")));
4102
4102
  } catch {
4103
4103
  return { instances: {} };
4104
4104
  }
@@ -4109,13 +4109,13 @@ async function readPersisted() {
4109
4109
  }
4110
4110
  async function writePersisted(lanEnabled) {
4111
4111
  const root = machineRoot();
4112
- await mkdir8(root, { recursive: true });
4112
+ await mkdir6(root, { recursive: true });
4113
4113
  const state = await readFileState();
4114
4114
  state.instances[instanceKey()] = { lanEnabled };
4115
4115
  const filePath = networkFilePath();
4116
4116
  const tmpPath = filePath + ".tmp";
4117
- await writeFile6(tmpPath, JSON.stringify(state, null, 2), "utf-8");
4118
- await rename6(tmpPath, filePath);
4117
+ await writeFile4(tmpPath, JSON.stringify(state, null, 2), "utf-8");
4118
+ await rename4(tmpPath, filePath);
4119
4119
  }
4120
4120
  function registerHttpServer(server) {
4121
4121
  httpServer = server;
@@ -4153,14 +4153,14 @@ async function rebind(host, previousHost) {
4153
4153
  const server = httpServer;
4154
4154
  if (!server?.listening) return;
4155
4155
  const port = currentPort();
4156
- const listenOn = (target) => new Promise((resolve3, reject) => {
4156
+ const listenOn = (target) => new Promise((resolve2, reject) => {
4157
4157
  const onError = (err) => {
4158
4158
  server.removeListener("listening", onListening);
4159
4159
  reject(err);
4160
4160
  };
4161
4161
  const onListening = () => {
4162
4162
  server.removeListener("error", onError);
4163
- resolve3();
4163
+ resolve2();
4164
4164
  };
4165
4165
  server.once("error", onError);
4166
4166
  server.once("listening", onListening);
@@ -5248,12 +5248,12 @@ function tailTranscript(opts) {
5248
5248
  const poll = setInterval(() => {
5249
5249
  void readMore();
5250
5250
  }, 500);
5251
- await new Promise((resolve3) => {
5251
+ await new Promise((resolve2) => {
5252
5252
  const tick = setInterval(() => {
5253
5253
  if (stopped) {
5254
5254
  clearInterval(tick);
5255
5255
  clearInterval(poll);
5256
- resolve3();
5256
+ resolve2();
5257
5257
  }
5258
5258
  }, 100);
5259
5259
  });
@@ -5272,7 +5272,7 @@ function tailTranscript(opts) {
5272
5272
 
5273
5273
  // ../server/src/services/ai-runners/claude-pty-runner.ts
5274
5274
  async function getAgentManager() {
5275
- const { agentManager: agentManager2 } = await import("./agent-manager-ACPQWUZ5.js");
5275
+ const { agentManager: agentManager2 } = await import("./agent-manager-BSPEFZKZ.js");
5276
5276
  return agentManager2;
5277
5277
  }
5278
5278
  function buildPtyArgs(params, sessionId, opts) {
@@ -5347,7 +5347,7 @@ async function runClaudeViaPty(params) {
5347
5347
  return a;
5348
5348
  });
5349
5349
  params.onCommand?.(`claude ${displayArgs.join(" ")}`);
5350
- return new Promise((resolve3, reject) => {
5350
+ return new Promise((resolve2, reject) => {
5351
5351
  let settled = false;
5352
5352
  let spawnId = null;
5353
5353
  const state = { assistantText: "", tools: /* @__PURE__ */ new Map() };
@@ -5370,7 +5370,7 @@ async function runClaudeViaPty(params) {
5370
5370
  settled = true;
5371
5371
  cleanup();
5372
5372
  void killSpawn();
5373
- resolve3(result);
5373
+ resolve2(result);
5374
5374
  };
5375
5375
  const fail = (err) => {
5376
5376
  if (settled) return;
@@ -5694,7 +5694,7 @@ var ClaudeCodeRunner = class {
5694
5694
  runLocal(params) {
5695
5695
  const { signal, skipTokenInstructions } = params;
5696
5696
  const { args, env: env2, stdinData, sessionArg, hasImages: _hasImages } = buildClaudeSpawnConfig(params);
5697
- return new Promise((resolve3, reject) => {
5697
+ return new Promise((resolve2, reject) => {
5698
5698
  const totalArgSize = args.reduce((s, a) => s + a.length + 1, 0);
5699
5699
  console.log(`[claude-code-runner] arg size: ${totalArgSize} bytes (${(totalArgSize / 1024 / 1024).toFixed(2)} MB), session: ${sessionArg.join(" ")}, images: ${params.images?.length ?? 0}`);
5700
5700
  const displayArgs = args.map((a) => {
@@ -5738,7 +5738,7 @@ var ClaudeCodeRunner = class {
5738
5738
  });
5739
5739
  proc.on("close", (code) => {
5740
5740
  if (ctx.earlyResult) {
5741
- resolve3({ ...ctx.earlyResult, actualSessionId: streamState.actualSessionId });
5741
+ resolve2({ ...ctx.earlyResult, actualSessionId: streamState.actualSessionId });
5742
5742
  return;
5743
5743
  }
5744
5744
  signal.removeEventListener("abort", onAbort);
@@ -5755,7 +5755,7 @@ var ClaudeCodeRunner = class {
5755
5755
  return;
5756
5756
  }
5757
5757
  const { status, message, branchChoice } = skipTokenInstructions ? { status: "none", message: "", branchChoice: void 0 } : parseEndToken(streamState.fullContent);
5758
- resolve3({ output: streamState.fullContent, tokenStatus: status, tokenMessage: message, branchChoice, actualSessionId: streamState.actualSessionId });
5758
+ resolve2({ output: streamState.fullContent, tokenStatus: status, tokenMessage: message, branchChoice, actualSessionId: streamState.actualSessionId });
5759
5759
  });
5760
5760
  proc.on("error", (err) => {
5761
5761
  if (ctx.settled) return;
@@ -5832,12 +5832,12 @@ var CodexAppServerClient = class extends EventEmitter {
5832
5832
  if (forceId !== void 0 && forceId >= this.nextId) {
5833
5833
  this.nextId = forceId + 1;
5834
5834
  }
5835
- return new Promise((resolve3, reject) => {
5835
+ return new Promise((resolve2, reject) => {
5836
5836
  const timer = setTimeout(() => {
5837
5837
  this.pending.delete(id);
5838
5838
  reject(new Error(`Request ${method} (id=${id}) timed out after ${this.requestTimeoutMs}ms`));
5839
5839
  }, this.requestTimeoutMs);
5840
- this.pending.set(id, { resolve: resolve3, reject, timer });
5840
+ this.pending.set(id, { resolve: resolve2, reject, timer });
5841
5841
  this.writeLine({ jsonrpc: "2.0", method, id, params: params ?? {} });
5842
5842
  });
5843
5843
  }
@@ -5869,8 +5869,8 @@ var CodexAppServerClient = class extends EventEmitter {
5869
5869
  this.rl = null;
5870
5870
  const proc = this.proc;
5871
5871
  this.proc = null;
5872
- return new Promise((resolve3) => {
5873
- proc.on("exit", () => resolve3());
5872
+ return new Promise((resolve2) => {
5873
+ proc.on("exit", () => resolve2());
5874
5874
  proc.kill("SIGTERM");
5875
5875
  const forceTimer = setTimeout(() => {
5876
5876
  proc.kill("SIGKILL");
@@ -5964,7 +5964,7 @@ async function shutdownCodexAppServer() {
5964
5964
  }
5965
5965
  }
5966
5966
  async function getAgentManager2() {
5967
- const { agentManager: agentManager2 } = await import("./agent-manager-ACPQWUZ5.js");
5967
+ const { agentManager: agentManager2 } = await import("./agent-manager-BSPEFZKZ.js");
5968
5968
  return agentManager2;
5969
5969
  }
5970
5970
  function parseRuneyaCurlCommand(command) {
@@ -6082,7 +6082,7 @@ ${prompt}`;
6082
6082
  }
6083
6083
  input.push({ type: "text", text: fullPrompt });
6084
6084
  const turnRef = { id: null };
6085
- return new Promise((resolve3, reject) => {
6085
+ return new Promise((resolve2, reject) => {
6086
6086
  let settled = false;
6087
6087
  let fullContent = "";
6088
6088
  let thinkingEmitted = false;
@@ -6131,7 +6131,7 @@ ${prompt}`;
6131
6131
  params.onDelta(delta);
6132
6132
  const { status, message, branchChoice } = parseEndToken(fullContent);
6133
6133
  if (status !== "none") {
6134
- settle(() => resolve3({ output: fullContent, tokenStatus: status, tokenMessage: message, branchChoice }));
6134
+ settle(() => resolve2({ output: fullContent, tokenStatus: status, tokenMessage: message, branchChoice }));
6135
6135
  }
6136
6136
  }
6137
6137
  } else if (method === "item/reasoning/summaryTextDelta" || method === "item/reasoning/textDelta") {
@@ -6205,7 +6205,7 @@ ${prompt}`;
6205
6205
  return;
6206
6206
  }
6207
6207
  const { status, message, branchChoice } = parseEndToken(fullContent);
6208
- settle(() => resolve3({ output: fullContent, tokenStatus: status, tokenMessage: message, branchChoice }));
6208
+ settle(() => resolve2({ output: fullContent, tokenStatus: status, tokenMessage: message, branchChoice }));
6209
6209
  } else if (method === "turn/errored") {
6210
6210
  const error = p["error"];
6211
6211
  const msg = typeof error?.["message"] === "string" ? error["message"] : "Codex turn errored";
@@ -6282,7 +6282,7 @@ ${prompt}`;
6282
6282
  sandboxPolicy: { type: "dangerFullAccess" }
6283
6283
  });
6284
6284
  const turnId = turnRes.turn.id;
6285
- return new Promise((resolve3, reject) => {
6285
+ return new Promise((resolve2, reject) => {
6286
6286
  let settled = false;
6287
6287
  let fullContent = "";
6288
6288
  let thinkingEmitted = false;
@@ -6308,7 +6308,7 @@ ${prompt}`;
6308
6308
  params.onDelta(delta);
6309
6309
  const { status, message, branchChoice } = parseEndToken(fullContent);
6310
6310
  if (status !== "none") {
6311
- settle(() => resolve3({ output: fullContent, tokenStatus: status, tokenMessage: message, branchChoice }));
6311
+ settle(() => resolve2({ output: fullContent, tokenStatus: status, tokenMessage: message, branchChoice }));
6312
6312
  }
6313
6313
  }
6314
6314
  } else if (method === "item/reasoning/summaryTextDelta" || method === "item/reasoning/textDelta") {
@@ -6382,7 +6382,7 @@ ${prompt}`;
6382
6382
  return;
6383
6383
  }
6384
6384
  const { status, message, branchChoice } = parseEndToken(fullContent);
6385
- settle(() => resolve3({ output: fullContent, tokenStatus: status, tokenMessage: message, branchChoice }));
6385
+ settle(() => resolve2({ output: fullContent, tokenStatus: status, tokenMessage: message, branchChoice }));
6386
6386
  } else if (method === "turn/errored") {
6387
6387
  const error = p["error"];
6388
6388
  const msg = typeof error?.["message"] === "string" ? error["message"] : "Codex turn errored";
@@ -6843,14 +6843,14 @@ var chatRouter = router({
6843
6843
  const initial = (await conversationStore.list()).filter(belongs);
6844
6844
  yield { type: "initial", conversations: initial };
6845
6845
  const queue = [];
6846
- let resolve3 = null;
6846
+ let resolve2 = null;
6847
6847
  const handler = (event) => {
6848
6848
  if (event.type !== "deleted" && event.type !== "reloaded" && !belongs(event.conversation)) return;
6849
6849
  if (queue.length >= 500) queue.shift();
6850
6850
  queue.push(event);
6851
- if (resolve3) {
6852
- resolve3();
6853
- resolve3 = null;
6851
+ if (resolve2) {
6852
+ resolve2();
6853
+ resolve2 = null;
6854
6854
  }
6855
6855
  };
6856
6856
  conversationStore.onChanged(handler);
@@ -6865,7 +6865,7 @@ var chatRouter = router({
6865
6865
  yield event;
6866
6866
  } else {
6867
6867
  await new Promise((r) => {
6868
- resolve3 = r;
6868
+ resolve2 = r;
6869
6869
  });
6870
6870
  }
6871
6871
  }
@@ -7008,13 +7008,13 @@ var chatRouter = router({
7008
7008
  onCompanionThinking: protectedProcedure.subscription(async function* () {
7009
7009
  const snapshot = () => ({ thinking: companionThinkingIds(), skipped: companionSkips() });
7010
7010
  const queue = [snapshot()];
7011
- let resolve3 = null;
7011
+ let resolve2 = null;
7012
7012
  const handler = () => {
7013
7013
  if (queue.length >= 50) queue.shift();
7014
7014
  queue.push(snapshot());
7015
- if (resolve3) {
7016
- resolve3();
7017
- resolve3 = null;
7015
+ if (resolve2) {
7016
+ resolve2();
7017
+ resolve2 = null;
7018
7018
  }
7019
7019
  };
7020
7020
  const unsubscribe = onCompanionThinkingChanged(handler);
@@ -7022,7 +7022,7 @@ var chatRouter = router({
7022
7022
  while (true) {
7023
7023
  if (queue.length > 0) yield queue.shift();
7024
7024
  else await new Promise((r) => {
7025
- resolve3 = r;
7025
+ resolve2 = r;
7026
7026
  });
7027
7027
  }
7028
7028
  } finally {
@@ -7719,7 +7719,7 @@ Context:
7719
7719
  const tSub = Date.now();
7720
7720
  let firstChunk = true;
7721
7721
  const queue = [];
7722
- let resolve3 = null;
7722
+ let resolve2 = null;
7723
7723
  let stopped = false;
7724
7724
  const unsub = agentManager.agentSubscribe(
7725
7725
  agentId,
@@ -7733,16 +7733,16 @@ Context:
7733
7733
  const item = data;
7734
7734
  if (typeof item.chunk?.data === "string") observePtyChunk(input.spawnId, item.chunk.data);
7735
7735
  queue.push(item);
7736
- if (resolve3) {
7737
- resolve3();
7738
- resolve3 = null;
7736
+ if (resolve2) {
7737
+ resolve2();
7738
+ resolve2 = null;
7739
7739
  }
7740
7740
  },
7741
7741
  () => {
7742
7742
  stopped = true;
7743
- if (resolve3) {
7744
- resolve3();
7745
- resolve3 = null;
7743
+ if (resolve2) {
7744
+ resolve2();
7745
+ resolve2 = null;
7746
7746
  }
7747
7747
  }
7748
7748
  );
@@ -7759,7 +7759,7 @@ Context:
7759
7759
  }
7760
7760
  if (stopped) break;
7761
7761
  await new Promise((r) => {
7762
- resolve3 = r;
7762
+ resolve2 = r;
7763
7763
  });
7764
7764
  }
7765
7765
  } finally {
@@ -7983,8 +7983,6 @@ export {
7983
7983
  OptionalProviderIdSchema,
7984
7984
  generateLlmsTxt,
7985
7985
  scenarioStore,
7986
- resolveConversationRunDir,
7987
- atomicWriteSecure,
7988
7986
  scenarioRunStore,
7989
7987
  OPENAI_COMPAT_BASE_URLS,
7990
7988
  DEFAULT_MODELS,
@@ -8008,4 +8006,4 @@ export {
8008
8006
  startCliSession,
8009
8007
  chatRouter
8010
8008
  };
8011
- //# sourceMappingURL=chunk-22RJM654.js.map
8009
+ //# sourceMappingURL=chunk-BVBK2WII.js.map