@runeya/runeya 2.0.106 → 2.0.107

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 (308) hide show
  1. package/agent-manager-2RWV2SXZ.js +9 -0
  2. package/{chat-N6XONNVG.js → chat-O7ZXCCKV.js} +6 -6
  3. package/{chunk-NPORVPEO.js → chunk-ELI2TELD.js} +2 -2
  4. package/{chunk-LTLOVQJQ.js → chunk-J3NAI636.js} +53 -3
  5. package/chunk-J3NAI636.js.map +1 -0
  6. package/{chunk-YQISK6BL.js → chunk-JNI4CXJ7.js} +354 -70
  7. package/chunk-JNI4CXJ7.js.map +1 -0
  8. package/{chunk-CQCCVPTX.js → chunk-TE57T5GO.js} +29 -7
  9. package/chunk-TE57T5GO.js.map +1 -0
  10. package/{chunk-5GYBAMHV.js → chunk-ZDHLWTHW.js} +2 -2
  11. package/{companion-7AFRBUQI.js → companion-NZU7FNID.js} +4 -4
  12. package/index.js +3 -3
  13. package/package.json +1 -1
  14. package/settings-manager-Q4PZ3UD5.js +9 -0
  15. package/{src-US4EBM64.js → src-MILB2SQA.js} +115 -42
  16. package/src-MILB2SQA.js.map +1 -0
  17. package/{vault-resolver-JR7TCITD.js → vault-resolver-V7KH4FTC.js} +8 -2
  18. package/web/assets/{AgentScalarChatInterface.vue-BXv2YF_7.js → AgentScalarChatInterface.vue-CvSuHoWx.js} +1 -1
  19. package/web/assets/{AgentTerminalPage-HbM44kg8.js → AgentTerminalPage-DM7AvnyQ.js} +1 -1
  20. package/web/assets/AiChatPage-DuXpncYG.js +1 -0
  21. package/web/assets/{AppLayout-EhZfYcsl.css → AppLayout-DK0hjOjl.css} +1 -1
  22. package/web/assets/{AppLayout-DJ1dZUtQ.js → AppLayout-DimGQa7G.js} +1 -1
  23. package/web/assets/{AuditPage-CF53LMHt.js → AuditPage-B_0kBq_9.js} +1 -1
  24. package/web/assets/CloudAccountPage-BJK2BN44.js +1 -0
  25. package/web/assets/CloudAccountPage-Bxa_0f6m.css +1 -0
  26. package/web/assets/CloudAccountPage-HGWX4TH4.js +1 -0
  27. package/web/assets/{CloudMessagingPage-D15sTToL.js → CloudMessagingPage-CWv16kIi.js} +1 -1
  28. package/web/assets/{DashboardPage-inYgcB3J.js → DashboardPage-D7uW5Gte.js} +1 -1
  29. package/web/assets/{DirectoryPickerDialog-DDWbon2r.js → DirectoryPickerDialog-FsJTp3yS.js} +1 -1
  30. package/web/assets/{EditorIcon-BWhMJTSH.js → EditorIcon-DAVCsZGN.js} +1 -1
  31. package/web/assets/{EnvironmentForm-DG_9AXml.js → EnvironmentForm-DNUk-CLn.js} +1 -1
  32. package/web/assets/{EnvironmentFormPage-DYmI2BfZ.js → EnvironmentFormPage-AeYFkQiH.js} +1 -1
  33. package/web/assets/{EnvironmentListPage-D2l91HzS.js → EnvironmentListPage-zo_QJeYZ.js} +1 -1
  34. package/web/assets/{KanbanBoardPage-BPH1ywhH.js → KanbanBoardPage-CXSqV6Qh.js} +3 -3
  35. package/web/assets/KanbanBoardPage-hU10A0U8.css +1 -0
  36. package/web/assets/{KanbanListPage-Bj9-EbPv.js → KanbanListPage-DZBXXH0r.js} +1 -1
  37. package/web/assets/LaunchProjectPage-BHLH3peH.css +1 -0
  38. package/web/assets/LaunchProjectPage-D_Ivnho3.js +1 -0
  39. package/web/assets/{LaunchServicesPage-CAdAAyfG.js → LaunchServicesPage-BTXi6jNU.js} +1 -1
  40. package/web/assets/{LogViewer-QRpqcjXC.js → LogViewer-Bqe-albM.js} +1 -1
  41. package/web/assets/{OrgKeyPrompt-uMjz7Y5A.js → OrgKeyPrompt-D05OEwQM.js} +1 -1
  42. package/web/assets/{ProcessControls-B6blcC2b.js → ProcessControls-BnlYc5oo.js} +1 -1
  43. package/web/assets/{ProcessDetailPage-Bi5vk4ah.js → ProcessDetailPage-CsbqvXk8.js} +1 -1
  44. package/web/assets/{ProcessMetrics-luXa72sd.js → ProcessMetrics-3iA0I20o.js} +1 -1
  45. package/web/assets/{RandomJobTestPage-uuy7by63.js → RandomJobTestPage-BO3b4l7T.js} +1 -1
  46. package/web/assets/{ScenarioEditorPage-oyhLaoVE.js → ScenarioEditorPage-CHX44wHI.js} +1 -1
  47. package/web/assets/{SendToChatDialog-BnZEu35Q.js → SendToChatDialog-8ToadFnr.js} +1 -1
  48. package/web/assets/{ServiceControlsBar-Dp3r57J4.js → ServiceControlsBar-OVSGVoGc.js} +1 -1
  49. package/web/assets/{ServiceDetailPage-DBm79vOL.js → ServiceDetailPage-DpqDQl76.js} +1 -1
  50. package/web/assets/{ServiceFormPage-BGWjKCUH.js → ServiceFormPage-COlkaDyA.js} +1 -1
  51. package/web/assets/{SettingsPage-CrzdGJlG.css → SettingsPage-B7yKfXK2.css} +1 -1
  52. package/web/assets/{SettingsPage-BIVmZT7t.js → SettingsPage-YOKL8o_O.js} +30 -30
  53. package/web/assets/{UnlockPage-DYRFhdrT.js → UnlockPage-B75f6TuX.js} +1 -1
  54. package/web/assets/{VariablesTable-Cbc_RlnE.js → VariablesTable-siiUpJXY.js} +1 -1
  55. package/web/assets/{VaultMigrationPage-GlJyIJAw.js → VaultMigrationPage-DcYkoGTq.js} +1 -1
  56. package/web/assets/{VersionBadge-CSX89ryT.js → VersionBadge-BH9S4OPH.js} +1 -1
  57. package/web/assets/WikiPage-CxBVPs9x.js +1 -0
  58. package/web/assets/{WikiView-DyU4eNEh.js → WikiView-DnQhoJpH.js} +1 -1
  59. package/web/assets/{add-scalar-classes-CxpzHvBM.js → add-scalar-classes-B2maka72.js} +3 -3
  60. package/web/assets/{autocomplete-COj-K1Nc.js → autocomplete-CsyixLlY.js} +1 -1
  61. package/web/assets/{basic-shape-diamond.svg-Dw9kJc3l.js → basic-shape-diamond.svg-BbOA3Gz6.js} +1 -1
  62. package/web/assets/{basic-shape-hexagon.svg-DeTUNvAm.js → basic-shape-hexagon.svg-DdJgnvDo.js} +1 -1
  63. package/web/assets/{basic-shape-primary-circle-ellipse-round.svg-CZe21n5k.js → basic-shape-primary-circle-ellipse-round.svg-Bg3fLGGT.js} +1 -1
  64. package/web/assets/{basic-shape-primary-square-rectangle.svg-DIvBb7uH.js → basic-shape-primary-square-rectangle.svg-CESoq0fN.js} +1 -1
  65. package/web/assets/{basic-shape-shield.svg-D2Ttq4yx.js → basic-shape-shield.svg-ElM9Zp2x.js} +1 -1
  66. package/web/assets/{browser-BtPtEa-Z.js → browser-CwiIrBV5.js} +1 -1
  67. package/web/assets/{browser-8qE0e05E.js → browser-MtZH8oRn.js} +1 -1
  68. package/web/assets/{card-pbrPkbmk.js → card-D8i3Wb9E.js} +1 -1
  69. package/web/assets/{checkbox-g16PaQaN.js → checkbox-DfhW4jIw.js} +1 -1
  70. package/web/assets/{chip-B1jaR69s.js → chip-jxWVyF6O.js} +1 -1
  71. package/web/assets/{client-DZg134cQ.js → client-BgGTZAbs.js} +1 -1
  72. package/web/assets/{cloud-chat.store-D899jVQ4.js → cloud-chat.store-DnjVk4Ss.js} +1 -1
  73. package/web/assets/cloud-client-CJH_Ql5a.js +1 -0
  74. package/web/assets/cloud-session-DWaO5I68.js +2 -0
  75. package/web/assets/{column-Pmg7Ma5f.js → column-DucGv9T0.js} +1 -1
  76. package/web/assets/{computer-device-desktop-monitor.svg-BpU1vmqL.js → computer-device-desktop-monitor.svg-DJbi1v8s.js} +1 -1
  77. package/web/assets/{computer-device-desktop.svg-CofWATKj.js → computer-device-desktop.svg-DJtxrGiU.js} +1 -1
  78. package/web/assets/{computer-device-laptop.svg-Bk0WdntU.js → computer-device-laptop.svg-BxPl4SOy.js} +1 -1
  79. package/web/assets/{computer-device-mobile-phone-android-samsung-back.svg-4jDLeTUE.js → computer-device-mobile-phone-android-samsung-back.svg-DZyVWDjs.js} +1 -1
  80. package/web/assets/{computer-device-mobile-phone-android-samsung.svg-BtDfk53W.js → computer-device-mobile-phone-android-samsung.svg-CY2rayd7.js} +1 -1
  81. package/web/assets/{computer-device-mobile-phone-iphone-x-back.svg-mrfLt2LS.js → computer-device-mobile-phone-iphone-x-back.svg-wB3dvTWI.js} +1 -1
  82. package/web/assets/{computer-device-mobile-phone-iphone-x.svg-D3hLzA-f.js → computer-device-mobile-phone-iphone-x.svg-DlRKY5sj.js} +1 -1
  83. package/web/assets/{computer-device-mobile-tablet-touch.svg-URFOvX2G.js → computer-device-mobile-tablet-touch.svg-DfslXQQZ.js} +1 -1
  84. package/web/assets/{computer-device-mobile-tablet.svg-CIdkHAYo.js → computer-device-mobile-tablet.svg-CcURGna7.js} +1 -1
  85. package/web/assets/{computer-device-network-ethernet-cat6.svg-BEC9unNd.js → computer-device-network-ethernet-cat6.svg-Dp-TzO2e.js} +1 -1
  86. package/web/assets/{computer-device-network-lan-www.svg-C_WEyWn-.js → computer-device-network-lan-www.svg-BPpSMigg.js} +1 -1
  87. package/web/assets/{computer-device-network-wifi-connection.svg-D2xhIyf7.js → computer-device-network-wifi-connection.svg-CYQyIbfa.js} +1 -1
  88. package/web/assets/{computer-device-network-wifi-router.svg-DwIQxKAQ.js → computer-device-network-wifi-router.svg-DSAd7WFk.js} +1 -1
  89. package/web/assets/{cssMode-YcxdUWNT.js → cssMode-COezfEv9.js} +1 -1
  90. package/web/assets/{divider-C95jkWZ7.js → divider-DUL-UFyL.js} +1 -1
  91. package/web/assets/{docx-preview-B1K7Js_Q.js → docx-preview-BF14ztI2.js} +1 -1
  92. package/web/assets/{ecology-science-erlenmeyer-flask.svg-DOmkHECy.js → ecology-science-erlenmeyer-flask.svg-ETcpyMYz.js} +1 -1
  93. package/web/assets/{fieldset-DEPqiZWe.js → fieldset-CSn4dPXR.js} +1 -1
  94. package/web/assets/{freemarker2-Bzhvjbz4.js → freemarker2-CqLlcxHC.js} +1 -1
  95. package/web/assets/{handlebars-CymxzXg4.js → handlebars-Cp1TiX9f.js} +1 -1
  96. package/web/assets/{html-CouVDmTR.js → html-BzArqvCu.js} +1 -1
  97. package/web/assets/{htmlMode-Be-vsCic.js → htmlMode-CIRVb85i.js} +1 -1
  98. package/web/assets/{image-flash-lightning.svg-CTaPLIBa.js → image-flash-lightning.svg-CSTusJ5t.js} +1 -1
  99. package/web/assets/{image-picture-flower.svg-BkIdyuJf.js → image-picture-flower.svg-Cg9aaOhh.js} +1 -1
  100. package/web/assets/{index-DkeyMLje.js → index-Q9nkGIct.js} +4 -4
  101. package/web/assets/{interface-alert-exclamation-diamond.svg-LE6wXJfb.js → interface-alert-exclamation-diamond.svg-JL4lYLy1.js} +1 -1
  102. package/web/assets/{interface-alert-exclamation-triangle-warning.svg-DnJUBUVG.js → interface-alert-exclamation-triangle-warning.svg-kvz8dLNC.js} +1 -1
  103. package/web/assets/{interface-alert-information-circle.svg-BBESAf3A.js → interface-alert-information-circle.svg-DRqP_pYe.js} +1 -1
  104. package/web/assets/{interface-award-crown.svg-A9FnpbJ_.js → interface-award-crown.svg-CX4w4INE.js} +1 -1
  105. package/web/assets/{interface-bookmark.svg-BMCuN1KQ.js → interface-bookmark-tag.svg-D5LiJMAo.js} +1 -1
  106. package/web/assets/{interface-bookmark-tag.svg-CONBx7yi.js → interface-bookmark.svg-Bx06-XmV.js} +1 -1
  107. package/web/assets/{interface-calendar-date-one.svg-BsHBSc-o.js → interface-calendar-date-one.svg-D28mjrW2.js} +1 -1
  108. package/web/assets/{interface-content-book-open-pages.svg-BsndNDne.js → interface-content-book-open-pages.svg-DvkccrQv.js} +1 -1
  109. package/web/assets/{interface-content-book-page.svg-D9O4ldas.js → interface-content-book-page.svg-Co_Rf29J.js} +1 -1
  110. package/web/assets/{interface-content-file.svg-3hZDtYrB.js → interface-content-file.svg-CLqtAgLt.js} +1 -1
  111. package/web/assets/{interface-content-folder.svg-D2PGz4rg.js → interface-content-folder.svg-C9dHyqkp.js} +1 -1
  112. package/web/assets/interface-content-folder.svg-kYcgQcTJ.js +1 -0
  113. package/web/assets/{interface-copy-clipboard.svg-DDENzgQo.js → interface-copy-clipboard.svg-DmF1P-Po.js} +1 -1
  114. package/web/assets/{interface-edit-attachment.svg-D2cQZV5Q.js → interface-edit-attachment.svg-BD_k5qE4.js} +1 -1
  115. package/web/assets/{interface-edit-binocular.svg-DrIFa0gk.js → interface-edit-binocular.svg-BzKsCrsk.js} +1 -1
  116. package/web/assets/{interface-edit-magic-wand.svg-AnGByEQd.js → interface-edit-magic-wand.svg-CJkxoH8r.js} +1 -1
  117. package/web/assets/{interface-edit-tool-paint-roller.svg-KNrFMeco.js → interface-edit-tool-paint-roller.svg-CgXiF7qe.js} +1 -1
  118. package/web/assets/{interface-edit-tool-pencil.svg-DF9u9WDQ.js → interface-edit-tool-pencil.svg-CeWHirTd.js} +1 -1
  119. package/web/assets/{interface-favorite-award.svg-mkb9vXWE.js → interface-favorite-award.svg-B9Vd9Hf6.js} +1 -1
  120. package/web/assets/{interface-favorite-flag.svg-BDIYdX-W.js → interface-favorite-flag.svg-BRp3aMEx.js} +1 -1
  121. package/web/assets/{interface-favorite-heart.svg-DtIvO6z9.js → interface-favorite-heart.svg-B2zeO1q2.js} +1 -1
  122. package/web/assets/{interface-favorite-star.svg-CEv2Io1P.js → interface-favorite-star.svg-vkH4UOle.js} +1 -1
  123. package/web/assets/{interface-favorite-stars-sparkles.svg-D0SoJbJE.js → interface-favorite-stars-sparkles.svg-CPTglDfo.js} +1 -1
  124. package/web/assets/{interface-hierarchy-flowchart.svg-B-kMOZH8.js → interface-hierarchy-flowchart.svg-D_WG90fj.js} +1 -1
  125. package/web/assets/{interface-home-house.svg-FOYUzOig.js → interface-home-house.svg-BUYqjZPI.js} +1 -1
  126. package/web/assets/{interface-hyperlink.svg-BaPGYtZM.js → interface-hyperlink.svg-DU6gyhSU.js} +1 -1
  127. package/web/assets/{interface-lighting-brightness.svg-ddMiifOe.js → interface-lighting-brightness.svg-BMX-UMmG.js} +1 -1
  128. package/web/assets/{interface-lock-closed.svg-WGGCrOPW.js → interface-lock-closed.svg-fm6gJnaL.js} +1 -1
  129. package/web/assets/{interface-lock-open-unlock.svg-BHdzRkd9.js → interface-lock-open-unlock.svg-D0IkCqrd.js} +1 -1
  130. package/web/assets/{interface-login-key.svg-C-CaH8gN.js → interface-login-key.svg-BjXwMM_4.js} +1 -1
  131. package/web/assets/{interface-search.svg-BWvztnST.js → interface-search.svg-Ce8_4eqn.js} +1 -1
  132. package/web/assets/{interface-setting-cog.svg-BiiP7i7e.js → interface-setting-cog.svg-BCQ9oWrI.js} +1 -1
  133. package/web/assets/{interface-share-megaphone-bullhorn.svg-BaNwYllj.js → interface-share-megaphone-bullhorn.svg-IraxN-RR.js} +1 -1
  134. package/web/assets/{interface-share-rocket.svg-DpVzHxi1.js → interface-share-rocket.svg-NzwY-7pd.js} +1 -1
  135. package/web/assets/{interface-share-satellite.svg-DVMadDln.js → interface-share-satellite.svg-CN8f5zE5.js} +1 -1
  136. package/web/assets/{interface-share-space-ship.svg-B1a7LlLT.js → interface-share-space-ship.svg-BMm5tIIq.js} +1 -1
  137. package/web/assets/{interface-share.svg-BknNtx4U.js → interface-share.svg-5RMe9Dry.js} +1 -1
  138. package/web/assets/{interface-signal-square.svg-DTf1mlii.js → interface-signal-square.svg-C-RuIJu1.js} +1 -1
  139. package/web/assets/{interface-time-clock-circle.svg-DT6LHPex.js → interface-time-clock-circle.svg-B3CNKtVN.js} +1 -1
  140. package/web/assets/{interface-time-hour-glass.svg-CNCTqw_R.js → interface-time-hour-glass.svg-o3F09IxK.js} +1 -1
  141. package/web/assets/{interface-users-multiple.svg-DuMlS4pH.js → interface-users-multiple.svg-Cmqji5Ln.js} +1 -1
  142. package/web/assets/{interface-weather-moon.svg-BfOraF6E.js → interface-weather-moon.svg-CGM-ZS56.js} +1 -1
  143. package/web/assets/{javascript-CSbYcb4a.js → javascript-qSezXPr1.js} +1 -1
  144. package/web/assets/{jsonMode-BfABTJ_P.js → jsonMode-BvjmRSYr.js} +1 -1
  145. package/web/assets/{liquid-D8zk2iFJ.js → liquid-CH1qgG2G.js} +1 -1
  146. package/web/assets/{lspLanguageFeatures-CDjcX5cq.js → lspLanguageFeatures-CtBsCddT.js} +1 -1
  147. package/web/assets/{mail-chat-bubble-square.svg-B57LhJ7L.js → mail-chat-bubble-square.svg-DvStF3KW.js} +1 -1
  148. package/web/assets/{mail-send-email-paper-airplane.svg-Zh4WfmfD.js → mail-send-email-paper-airplane.svg-CwTkfLk9.js} +1 -1
  149. package/web/assets/{mail-send-envelope.svg-B3JTaotd.js → mail-send-envelope.svg-Dkh_5t2W.js} +1 -1
  150. package/web/assets/{mdx-Rt1S5V6O.js → mdx-BqogtCJ-.js} +1 -1
  151. package/web/assets/{minus-h_LYd9EK.js → minus-B2dZQvCq.js} +1 -1
  152. package/web/assets/modal-B6NeZlOc.js +1 -0
  153. package/web/assets/{modal--Ilf4bg_.js → modal-BkbDSZxh.js} +1 -1
  154. package/web/assets/{money-cashier-receipt.svg-BYcjjmII.js → money-cashier-receipt.svg-zKWFfD0k.js} +1 -1
  155. package/web/assets/{money-currency-dollar-pay.svg-D_eoPfYw.js → money-currency-dollar-pay.svg-D5lfefuk.js} +1 -1
  156. package/web/assets/{money-graph-arrow-increase.svg-BVafbTUR.js → money-graph-arrow-increase.svg-Bd2mW0uZ.js} +1 -1
  157. package/web/assets/{money-graph-bar-chart-increase.svg-DFCnoSVq.js → money-graph-bar-chart-increase.svg-DegjdGbk.js} +1 -1
  158. package/web/assets/{multiselect-DlGWFLJR.js → multiselect-DeUaJiPX.js} +1 -1
  159. package/web/assets/{nature-ecology-leaf.svg-DI19KkR3.js → nature-ecology-leaf.svg-BbmZ_3cd.js} +1 -1
  160. package/web/assets/{password-BQyr-83Q.js → password-D1YX3MCu.js} +1 -1
  161. package/web/assets/{phone-telephone.svg-si7GWPbw.js → phone-telephone.svg-B6UL6Fhu.js} +1 -1
  162. package/web/assets/{plus-yTeMgVZF.js → plus-BmifHgiX.js} +1 -1
  163. package/web/assets/process.store-BucXc8GP.js +1 -0
  164. package/web/assets/{programming-bug.svg-C8_FsRk_.js → programming-bug.svg-Dhr7h5Lm.js} +1 -1
  165. package/web/assets/{programming-cloud.svg-Djjnh8pM.js → programming-cloud.svg-DIse9DrB.js} +1 -1
  166. package/web/assets/{programming-computer-database-server.svg-Cw72ZkUG.js → programming-computer-database-server.svg-BlKvXZnN.js} +1 -1
  167. package/web/assets/{programming-computer-database.svg-C0Z7_RVR.js → programming-computer-database.svg-Du4GGdek.js} +1 -1
  168. package/web/assets/{programming-module-four-layout.svg-BvERcUAT.js → programming-module-four-layout.svg-TcO3xW7h.js} +1 -1
  169. package/web/assets/{programming-module-three.svg-BkoUon6u.js → programming-module-three.svg-6UNuJszx.js} +1 -1
  170. package/web/assets/{programming-module.svg-CK1yw5W-.js → programming-module.svg-BFkOw80L.js} +1 -1
  171. package/web/assets/{programming-script-code.svg-BhU73hpj.js → programming-script-code.svg-CPNpYr6l.js} +1 -1
  172. package/web/assets/project-launch.store-Xo3pwupQ.js +1 -0
  173. package/web/assets/project.store-Bdp-Dw-w.js +1 -0
  174. package/web/assets/{python-CSf8HAN9.js → python-W_UHovJ1.js} +1 -1
  175. package/web/assets/{razor-BKjp9q-U.js → razor-BQiPtbwG.js} +1 -1
  176. package/web/assets/router-DZShz0-l.js +1 -0
  177. package/web/assets/settings-scope-vqQX-GF1.js +1 -0
  178. package/web/assets/{settings.store-BBoXO9_c.js → settings.store-DqnPoZDR.js} +1 -1
  179. package/web/assets/{shopping-cart.svg-CgRtQ4k-.js → shopping-cart.svg-Bux9YEU6.js} +1 -1
  180. package/web/assets/{shopping-gift-present.svg-XdAdBUaO.js → shopping-gift-present.svg-_h-yzC6c.js} +1 -1
  181. package/web/assets/{shopping-shipping-box-parcel-package.svg-BaFPv3xL.js → shopping-shipping-box-parcel-package.svg-BdhGUAKV.js} +1 -1
  182. package/web/assets/{src-DeCIcklm.js → src-BL1Lafqz.js} +1 -1
  183. package/web/assets/{src-CRQ32_Qg.js → src-BsHOvodv.js} +1 -1
  184. package/web/assets/{src-S24lFUYb.js → src-cvMrX61Z.js} +3 -3
  185. package/web/assets/{tabpanel-DbMhKzgJ.js → tabpanel-B7UUtaKJ.js} +1 -1
  186. package/web/assets/{tag-new-circle.svg-BwxdYwp4.js → tag-new-circle.svg-CPl83AFc.js} +1 -1
  187. package/web/assets/theme-CuU9r36Y.js +1 -0
  188. package/web/assets/{toggleswitch-DKXm3drm.js → toggleswitch-CqZ2j960.js} +1 -1
  189. package/web/assets/{travel-map-earth-globe.svg-B3QIUens.js → travel-map-earth-globe.svg-mdZXLqAH.js} +1 -1
  190. package/web/assets/trpc-i_kC7f4I.js +1 -0
  191. package/web/assets/{tsMode-KbYg0Qfw.js → tsMode-BTrmDRFt.js} +1 -1
  192. package/web/assets/{typescript-UzU12abv.js → typescript-B5jdwmxa.js} +1 -1
  193. package/web/assets/useAiChatDrawer-ChqgY66m.js +1 -0
  194. package/web/assets/{useCloudOrg-CXvwb5Fo.js → useCloudOrg-Dq8l_9Ry.js} +1 -1
  195. package/web/assets/useProjectCatalog-BE9Yy2SC.js +1 -0
  196. package/web/assets/useProjectCloudOrg-DAj0XB8D.js +1 -0
  197. package/web/assets/{xml-CkgxvNFc.js → xml-vcJlRCph.js} +1 -1
  198. package/web/assets/{yaml-Cjr4aAq9.js → yaml-CfcdnZ_c.js} +1 -1
  199. package/web/index.html +1 -1
  200. package/agent-manager-4XJUIZKL.js +0 -9
  201. package/chunk-CQCCVPTX.js.map +0 -1
  202. package/chunk-LTLOVQJQ.js.map +0 -1
  203. package/chunk-YQISK6BL.js.map +0 -1
  204. package/settings-manager-Y4GNAXOH.js +0 -9
  205. package/src-US4EBM64.js.map +0 -1
  206. package/web/assets/AiChatPage-BTsALiaV.js +0 -1
  207. package/web/assets/CloudAccountPage-BttYjaR8.js +0 -1
  208. package/web/assets/CloudAccountPage-Dou70Ljn.js +0 -1
  209. package/web/assets/CloudAccountPage-g6lFVpsX.css +0 -1
  210. package/web/assets/KanbanBoardPage-BOVq3zOt.css +0 -1
  211. package/web/assets/LaunchProjectPage-CHpVVYBa.css +0 -1
  212. package/web/assets/LaunchProjectPage-ObKhBvlS.js +0 -1
  213. package/web/assets/WikiPage-DAPhZkpS.js +0 -1
  214. package/web/assets/cloud-session-DSjPbs8C.js +0 -1
  215. package/web/assets/interface-content-folder.svg-GTysMuP_.js +0 -1
  216. package/web/assets/modal-Wk0CWaUJ.js +0 -1
  217. package/web/assets/process.store-CvrK-4rR.js +0 -1
  218. package/web/assets/project-launch.store-D5cyKKyw.js +0 -1
  219. package/web/assets/project.store-OwPRdjA0.js +0 -1
  220. package/web/assets/router-DuWVvMLT.js +0 -1
  221. package/web/assets/settings-scope-D7NFCXjg.js +0 -1
  222. package/web/assets/theme-pRVEu5SJ.js +0 -1
  223. package/web/assets/trpc-Cf_8kWCl.js +0 -1
  224. package/web/assets/useAiChatDrawer-DCVhP5N0.js +0 -1
  225. package/web/assets/useProjectCatalog-Bth_aDP4.js +0 -1
  226. package/web/assets/useProjectCloudOrg-MUCjKP3P.js +0 -1
  227. /package/{agent-manager-4XJUIZKL.js.map → agent-manager-2RWV2SXZ.js.map} +0 -0
  228. /package/{chat-N6XONNVG.js.map → chat-O7ZXCCKV.js.map} +0 -0
  229. /package/{chunk-NPORVPEO.js.map → chunk-ELI2TELD.js.map} +0 -0
  230. /package/{chunk-5GYBAMHV.js.map → chunk-ZDHLWTHW.js.map} +0 -0
  231. /package/{companion-7AFRBUQI.js.map → companion-NZU7FNID.js.map} +0 -0
  232. /package/{settings-manager-Y4GNAXOH.js.map → settings-manager-Q4PZ3UD5.js.map} +0 -0
  233. /package/{vault-resolver-JR7TCITD.js.map → vault-resolver-V7KH4FTC.js.map} +0 -0
  234. /package/web/assets/{abap-DIWaXxy4.js → abap-cDlgWO6H.js} +0 -0
  235. /package/web/assets/{apex-D4-KnjW_.js → apex-DxzSGotK.js} +0 -0
  236. /package/web/assets/{azcli-IfDsRCLo.js → azcli-CUNfZLtQ.js} +0 -0
  237. /package/web/assets/{bat-DWkIEnW3.js → bat-C-oKGifY.js} +0 -0
  238. /package/web/assets/{bicep-CsOqEKmZ.js → bicep-C4xTl9QV.js} +0 -0
  239. /package/web/assets/{browser-BRPZK8RN.js → browser-CE5P0iHW.js} +0 -0
  240. /package/web/assets/{cameligo-CVJihesZ.js → cameligo-COpO1ZvP.js} +0 -0
  241. /package/web/assets/{clojure-CPXjbAsV.js → clojure-D8gp5eAN.js} +0 -0
  242. /package/web/assets/{coffee-Dk6AGUBs.js → coffee-De9HMN-q.js} +0 -0
  243. /package/web/assets/{cpp-D8TcNCkN.js → cpp-C4pJyeKy.js} +0 -0
  244. /package/web/assets/{csharp-B_ijQZWm.js → csharp-B4wLqqiU.js} +0 -0
  245. /package/web/assets/{csp-CT_qVlF1.js → csp-Do0Gg4qE.js} +0 -0
  246. /package/web/assets/{css-BNKulUcx.js → css-BLq1nXK0.js} +0 -0
  247. /package/web/assets/{cypher-BZUAEEC-.js → cypher-CDQzi0TV.js} +0 -0
  248. /package/web/assets/{dart-H8Ri9IID.js → dart-bTPYn7bY.js} +0 -0
  249. /package/web/assets/{dockerfile-BibtL7_E.js → dockerfile-yM7ZnQpo.js} +0 -0
  250. /package/web/assets/{ecl-Cq6OzwoI.js → ecl-BgTpp_c4.js} +0 -0
  251. /package/web/assets/{elixir-DEzZo1Bn.js → elixir-DO7wJ1ib.js} +0 -0
  252. /package/web/assets/{flow9-CJjg7TJH.js → flow9-B2Ko_py3.js} +0 -0
  253. /package/web/assets/{fsharp-vGx-8LrK.js → fsharp-DNdx3wKW.js} +0 -0
  254. /package/web/assets/{go-CHEkyua-.js → go-D7LajbkE.js} +0 -0
  255. /package/web/assets/{graphql--iPbFyYe.js → graphql-BCQSwUPo.js} +0 -0
  256. /package/web/assets/{hcl-C8EkclQS.js → hcl-DR3uNUXT.js} +0 -0
  257. /package/web/assets/{ini-DkuTJDAH.js → ini-zkzQPitL.js} +0 -0
  258. /package/web/assets/{java-DzuDjs1c.js → java-YFwuCa4S.js} +0 -0
  259. /package/web/assets/{julia-BUS80tf_.js → julia-WWwv4jLR.js} +0 -0
  260. /package/web/assets/{kotlin-s0eIc-h2.js → kotlin-FwlJkapy.js} +0 -0
  261. /package/web/assets/{less-o5f3n-o_.js → less-CyhHW1nH.js} +0 -0
  262. /package/web/assets/{lexon-AgKBNlrf.js → lexon-BScN_v1c.js} +0 -0
  263. /package/web/assets/{lua-DUTvSobZ.js → lua-eWb9GpZJ.js} +0 -0
  264. /package/web/assets/{m3-DoULJRPc.js → m3-C4NDU793.js} +0 -0
  265. /package/web/assets/{markdown-f9-EhcTi.js → markdown-DWWpXAtL.js} +0 -0
  266. /package/web/assets/{mips-aCd_43tp.js → mips-BpJKGw00.js} +0 -0
  267. /package/web/assets/{msdax-cwHq3sFu.js → msdax-BiuvyZwP.js} +0 -0
  268. /package/web/assets/{mysql-ITCpZRvB.js → mysql-DJW9Aa9q.js} +0 -0
  269. /package/web/assets/{objective-c-BjU-4cpP.js → objective-c-YouNnWOW.js} +0 -0
  270. /package/web/assets/{pascal-Dmt8LI08.js → pascal-jQsRnBre.js} +0 -0
  271. /package/web/assets/{pascaligo-DrXjRBef.js → pascaligo-DZI84_dt.js} +0 -0
  272. /package/web/assets/{perl-BbJKyW-Z.js → perl-D9TKt-s6.js} +0 -0
  273. /package/web/assets/{pgsql-CLT36ygM.js → pgsql-DXgI6ehC.js} +0 -0
  274. /package/web/assets/{php-BIcyBKEQ.js → php-Cgqd4wfW.js} +0 -0
  275. /package/web/assets/{pla-sVewnHw1.js → pla-DRDkvVUU.js} +0 -0
  276. /package/web/assets/{postiats-D9DrURSm.js → postiats-BOLeCCau.js} +0 -0
  277. /package/web/assets/{powerquery-BEjdKhpn.js → powerquery-DCDtPNBU.js} +0 -0
  278. /package/web/assets/{powershell-BynZyJK1.js → powershell-WnZ4e5ia.js} +0 -0
  279. /package/web/assets/{process-DIamAPAU.js → process-Cf4Ob2V-.js} +0 -0
  280. /package/web/assets/{protobuf-BQ34Qnv5.js → protobuf-C9Dg-C9o.js} +0 -0
  281. /package/web/assets/{pug--jmF9o7P.js → pug-Dr8RhWun.js} +0 -0
  282. /package/web/assets/{qsharp-BDe4Axn9.js → qsharp-DukGWvWZ.js} +0 -0
  283. /package/web/assets/{r-DpjaSKX3.js → r-BC41pTgC.js} +0 -0
  284. /package/web/assets/{redis-C_Q-xUDt.js → redis-D-gYIUku.js} +0 -0
  285. /package/web/assets/{redshift-CHNShrpo.js → redshift-r0XbF8XS.js} +0 -0
  286. /package/web/assets/{restructuredtext-CVN0W1xR.js → restructuredtext-DsJDS7Eu.js} +0 -0
  287. /package/web/assets/{ruby-CaKcv4f1.js → ruby-JPrm3ODz.js} +0 -0
  288. /package/web/assets/{rust-CbqMT_Ew.js → rust-C8IjEXni.js} +0 -0
  289. /package/web/assets/{sb-DIdUmAXV.js → sb-D8vNiFl9.js} +0 -0
  290. /package/web/assets/{scala-DVyALEcz.js → scala-DThahuqf.js} +0 -0
  291. /package/web/assets/{scheme-Cox4VpHa.js → scheme-CvEQUYYf.js} +0 -0
  292. /package/web/assets/{scss-MW_l4ZY_.js → scss-C6obpl8K.js} +0 -0
  293. /package/web/assets/{shared-sse-BjXwPkLo.js → shared-sse-Bpqv2-GI.js} +0 -0
  294. /package/web/assets/{shell-CP5qAt5e.js → shell-BnVmd31t.js} +0 -0
  295. /package/web/assets/{solidity-1ctHOHIb.js → solidity-Bo6zEybc.js} +0 -0
  296. /package/web/assets/{sophia-DRAqvk2I.js → sophia-DuB3Px8n.js} +0 -0
  297. /package/web/assets/{sparql-8_9Nt5xp.js → sparql-CW9HqMW2.js} +0 -0
  298. /package/web/assets/{sql-owsrW4c3.js → sql-CPCPCQON.js} +0 -0
  299. /package/web/assets/{st-BDgXslxD.js → st-AxC3n-1-.js} +0 -0
  300. /package/web/assets/{swift-TE6gFxno.js → swift-CgZOS_MZ.js} +0 -0
  301. /package/web/assets/{systemverilog-DVGMenxt.js → systemverilog-DYR-yx39.js} +0 -0
  302. /package/web/assets/{tcl-D6NP8_oR.js → tcl-4hAvWv0d.js} +0 -0
  303. /package/web/assets/{twig-CVnYtCc5.js → twig-Cf_07aFW.js} +0 -0
  304. /package/web/assets/{typespec-BkD2qKRU.js → typespec-2tXj8s11.js} +0 -0
  305. /package/web/assets/{uuid-u4W9vzU3.js → uuid--pMuF47W.js} +0 -0
  306. /package/web/assets/{vb--Oo_cy-E.js → vb-DLpM4f4s.js} +0 -0
  307. /package/web/assets/{w3c-keyname-Dfw8VxXe.js → w3c-keyname-CIiluUot.js} +0 -0
  308. /package/web/assets/{wgsl-CrnkJFcw.js → wgsl-BcECae_z.js} +0 -0
@@ -11,6 +11,7 @@ import {
11
11
  NameSchema,
12
12
  OPENAI_COMPAT_BASE_URLS,
13
13
  OptionalProviderIdSchema,
14
+ accountForOrg,
14
15
  apiKeyStore,
15
16
  appVersion,
16
17
  applyPersistedLanMode,
@@ -40,6 +41,7 @@ import {
40
41
  orgCloudUrl,
41
42
  protectedProcedure,
42
43
  publicProcedure,
44
+ readCloudIdentity,
43
45
  registerHttpServer,
44
46
  requireEnvAction,
45
47
  requireLoopbackOrToken,
@@ -58,7 +60,7 @@ import {
58
60
  shutdownCodexAppServer,
59
61
  startCliSession,
60
62
  vaultOfProject
61
- } from "./chunk-YQISK6BL.js";
63
+ } from "./chunk-JNI4CXJ7.js";
62
64
  import {
63
65
  resolveCliInvocation,
64
66
  whichCommand
@@ -81,7 +83,7 @@ import {
81
83
  stopClaudeTranscriptWatcher,
82
84
  stopCodexTranscriptWatcher,
83
85
  verifyJwt
84
- } from "./chunk-CQCCVPTX.js";
86
+ } from "./chunk-TE57T5GO.js";
85
87
  import "./chunk-MD3VW4HQ.js";
86
88
  import {
87
89
  agentManager,
@@ -120,10 +122,10 @@ import {
120
122
  stableEncryptValue,
121
123
  traefikManager,
122
124
  unregisterInstance
123
- } from "./chunk-NPORVPEO.js";
125
+ } from "./chunk-ELI2TELD.js";
124
126
  import {
125
127
  settingsManager
126
- } from "./chunk-5GYBAMHV.js";
128
+ } from "./chunk-ZDHLWTHW.js";
127
129
  import {
128
130
  AGENT_LONG_FETCH_TIMEOUT,
129
131
  AGENT_STOP_FETCH_TIMEOUT,
@@ -155,6 +157,7 @@ import {
155
157
  writeEntity
156
158
  } from "./chunk-QRMG6GMX.js";
157
159
  import {
160
+ adoptUnstampedOrgs,
158
161
  env,
159
162
  forgetOrgLogo,
160
163
  keyRoot,
@@ -166,6 +169,7 @@ import {
166
169
  machineRoot,
167
170
  orgVaultRoot,
168
171
  projectVaultRoot,
172
+ readOrgAccounts,
169
173
  readOrgClouds,
170
174
  readOrgLogo,
171
175
  readOrgLogos,
@@ -173,7 +177,7 @@ import {
173
177
  rememberOrgLogo,
174
178
  rememberOrgName,
175
179
  stampOrgCloud
176
- } from "./chunk-LTLOVQJQ.js";
180
+ } from "./chunk-J3NAI636.js";
177
181
 
178
182
  // ../server/src/create-server.ts
179
183
  import express from "express";
@@ -1638,6 +1642,10 @@ var setupRouter = router({
1638
1642
  const names = await readOrgNames();
1639
1643
  const clouds = await readOrgClouds();
1640
1644
  const currentCloud = getCloudApiUrl();
1645
+ const ownCloudUrls = /* @__PURE__ */ new Set([
1646
+ currentCloud,
1647
+ ...(await cloudSessionStore.list()).map((a) => a.cloudUrl.replace(/\/+$/, ""))
1648
+ ]);
1641
1649
  const [unreadableConversations, unreadableSecrets] = await Promise.all([
1642
1650
  conversationStore.unreadableByVault(),
1643
1651
  environmentStore.unreadableByVault()
@@ -1650,7 +1658,7 @@ var setupRouter = router({
1650
1658
  orgs: await Promise.all(orgs.map(async (orgId) => {
1651
1659
  const name = names[orgId] ?? null;
1652
1660
  const cloudUrl = clouds[orgId] ?? currentCloud;
1653
- const foreign = cloudUrl !== currentCloud;
1661
+ const foreign = !ownCloudUrls.has(cloudUrl.replace(/\/+$/, ""));
1654
1662
  const unreadable = {
1655
1663
  apiKeys: await apiKeyStore.unreadableCount(orgId),
1656
1664
  conversations: unreadableConversations.get(orgId) ?? 0,
@@ -5801,12 +5809,21 @@ var kanbanRouter = router({
5801
5809
  * agent can open it with its own file tools. The bytes never go through the
5802
5810
  * prompt: the card context lists the attachments, this returns a path.
5803
5811
  */
5804
- downloadAttachment: protectedProcedure.input(z19.object({ attachmentId: z19.string().max(128) })).mutation(async ({ input }) => {
5812
+ downloadAttachment: protectedProcedure.input(z19.object({
5813
+ attachmentId: z19.string().max(128),
5814
+ // La pièce jointe appartient à une organisation : la nommer dit sous quel
5815
+ // compte la demander. Omise, c'est le compte unique du poste — la
5816
+ // situation d'avant le multicompte.
5817
+ orgId: z19.string().max(128).optional()
5818
+ })).mutation(async ({ input }) => {
5805
5819
  const id = input.attachmentId;
5806
5820
  if (!ATTACHMENT_ID_REGEX.test(id)) {
5807
5821
  throw new TRPCError16({ code: "BAD_REQUEST", message: "Invalid attachment id" });
5808
5822
  }
5809
- const res = await cloudFetch2(`/api/kanban/file/${id}`, { timeoutMs: 12e4 });
5823
+ const res = await cloudFetch2(`/api/kanban/file/${id}`, {
5824
+ timeoutMs: 12e4,
5825
+ ...input.orgId ? { orgId: input.orgId } : {}
5826
+ });
5810
5827
  if (res.status === 404) {
5811
5828
  throw new TRPCError16({ code: "NOT_FOUND", message: `Attachment ${id} not found` });
5812
5829
  }
@@ -6244,16 +6261,29 @@ async function isMaterialized(root) {
6244
6261
  return access(join9(root, "project.json")).then(() => true, () => false);
6245
6262
  }
6246
6263
  async function orgsToSync() {
6247
- const cloudUrl = getCloudApiUrl();
6248
- const stamps = await readOrgClouds();
6249
- const orgIds = /* @__PURE__ */ new Set();
6264
+ const [stamps, stampedAccounts, accounts] = await Promise.all([
6265
+ readOrgClouds(),
6266
+ readOrgAccounts(),
6267
+ cloudSessionStore.list()
6268
+ ]);
6269
+ const known = /* @__PURE__ */ new Set([
6270
+ getCloudApiUrl(),
6271
+ ...accounts.map((a) => a.cloudUrl.replace(/\/+$/, ""))
6272
+ ]);
6273
+ const fallback = accounts.length <= 1 ? accounts[0]?.cloudUrl.replace(/\/+$/, "") ?? getCloudApiUrl() : null;
6274
+ const targets = /* @__PURE__ */ new Map();
6250
6275
  for (const vault of await listCloudVaults()) {
6251
- if (orgIds.has(vault.orgId)) continue;
6252
- const stamped = stamps[vault.orgId];
6253
- if (stamped && stamped.replace(/\/+$/, "") !== cloudUrl) continue;
6254
- if (await isMaterialized(vault.root)) orgIds.add(vault.orgId);
6276
+ if (targets.has(vault.orgId)) continue;
6277
+ const stamped = stamps[vault.orgId]?.replace(/\/+$/, "");
6278
+ if (stamped ? !known.has(stamped) : fallback === null) continue;
6279
+ const cloudUrl = stamped ?? fallback;
6280
+ if (!cloudUrl) continue;
6281
+ const accountId = stampedAccounts[vault.orgId] ?? (accounts.length === 1 ? accounts[0].id : void 0);
6282
+ if (await isMaterialized(vault.root)) {
6283
+ targets.set(vault.orgId, { orgId: vault.orgId, cloudUrl, ...accountId ? { accountId } : {} });
6284
+ }
6255
6285
  }
6256
- return Array.from(orgIds, (orgId) => ({ orgId, cloudUrl }));
6286
+ return Array.from(targets.values());
6257
6287
  }
6258
6288
 
6259
6289
  // ../server/src/services/org-canary.ts
@@ -6289,7 +6319,8 @@ async function reconcileOrgCanary(orgId) {
6289
6319
  if (!local) throw new CanaryUnavailableError("This machine has no key canary yet.");
6290
6320
  const res = await cloudFetch("/api/auth/organization/canary", {
6291
6321
  method: "POST",
6292
- body: { organizationId: orgId, canary: local }
6322
+ body: { organizationId: orgId, canary: local },
6323
+ orgId
6293
6324
  });
6294
6325
  if (!res.ok) {
6295
6326
  throw new CanaryUnavailableError("Could not reach the organization on the cloud.");
@@ -6514,7 +6545,7 @@ var OrgSyncConnection = class {
6514
6545
  * treat as terminal exactly like a rejection from the cloud.
6515
6546
  */
6516
6547
  async authHeader() {
6517
- const token = await cloudSessionStore.getToken();
6548
+ const token = await cloudSessionStore.getToken(this.link.accountId);
6518
6549
  if (!token) throw new SyncAuthError(401);
6519
6550
  return `Bearer ${token}`;
6520
6551
  }
@@ -7362,6 +7393,10 @@ async function cloudMessage(res) {
7362
7393
  return "";
7363
7394
  }
7364
7395
  }
7396
+ async function accountScope(orgId) {
7397
+ const accountId = await accountForOrg(orgId);
7398
+ return accountId ? { accountId } : {};
7399
+ }
7365
7400
  async function assertOrgReadable(orgId) {
7366
7401
  try {
7367
7402
  await assertOrgVaultReadable(orgId);
@@ -7404,15 +7439,23 @@ var cloudSyncRouter = router({
7404
7439
  z23.object({
7405
7440
  orgId: z23.string().min(1).max(128),
7406
7441
  cloudUrl: z23.string().url().max(2048),
7407
- projectId: z23.string().min(1).max(128)
7442
+ projectId: z23.string().min(1).max(128),
7443
+ // Le compte sous lequel cette organisation a été listée. Tamponné avec
7444
+ // elle : c'est ce qui permettra à tout appel ultérieur de retrouver le
7445
+ // bon token sans qu'on ait à le lui redire.
7446
+ accountId: z23.string().max(64).optional()
7408
7447
  })
7409
7448
  ).mutation(async ({ input }) => {
7410
7449
  await assertOrgReadable(input.orgId);
7411
7450
  const connected = cloudSyncBridge.states().some((s) => s.orgId === input.orgId);
7412
7451
  if (!connected) {
7413
7452
  await assertOrgKey(input.orgId);
7414
- await stampOrgCloud(input.orgId, input.cloudUrl);
7415
- await cloudSyncBridge.connect({ orgId: input.orgId, cloudUrl: input.cloudUrl });
7453
+ await stampOrgCloud(input.orgId, input.cloudUrl, void 0, input.accountId);
7454
+ await cloudSyncBridge.connect({
7455
+ orgId: input.orgId,
7456
+ cloudUrl: input.cloudUrl,
7457
+ ...await accountScope(input.orgId)
7458
+ });
7416
7459
  }
7417
7460
  try {
7418
7461
  const pulled = await cloudSyncBridge.followProject(input.orgId, input.projectId);
@@ -7441,7 +7484,11 @@ var cloudSyncRouter = router({
7441
7484
  z23.object({
7442
7485
  orgId: z23.string().min(1).max(128),
7443
7486
  cloudUrl: z23.string().url().max(2048),
7444
- projectId: z23.string().min(1).max(128)
7487
+ projectId: z23.string().min(1).max(128),
7488
+ // Le compte sous lequel cette organisation a été listée. Tamponné avec
7489
+ // elle : c'est ce qui permettra à tout appel ultérieur de retrouver le
7490
+ // bon token sans qu'on ait à le lui redire.
7491
+ accountId: z23.string().max(64).optional()
7445
7492
  })
7446
7493
  ).mutation(async ({ input }) => {
7447
7494
  const local = await projectStore.get({ id: input.projectId, orgId: null });
@@ -7455,8 +7502,12 @@ var cloudSyncRouter = router({
7455
7502
  const connected = cloudSyncBridge.states().some((s) => s.orgId === input.orgId);
7456
7503
  if (!connected) {
7457
7504
  await assertOrgKey(input.orgId);
7458
- await stampOrgCloud(input.orgId, input.cloudUrl);
7459
- await cloudSyncBridge.connect({ orgId: input.orgId, cloudUrl: input.cloudUrl });
7505
+ await stampOrgCloud(input.orgId, input.cloudUrl, void 0, input.accountId);
7506
+ await cloudSyncBridge.connect({
7507
+ orgId: input.orgId,
7508
+ cloudUrl: input.cloudUrl,
7509
+ ...await accountScope(input.orgId)
7510
+ });
7460
7511
  }
7461
7512
  await projectStore.moveToOrg(input.projectId, input.orgId);
7462
7513
  await projectPathStore.relocate(
@@ -7488,7 +7539,7 @@ var cloudSyncRouter = router({
7488
7539
  })).query(async ({ input }) => {
7489
7540
  const res = await cloudFetch2(
7490
7541
  `/api/auth/organization/canary?organizationId=${encodeURIComponent(input.orgId)}`,
7491
- { method: "GET" }
7542
+ { method: "GET", orgId: input.orgId }
7492
7543
  );
7493
7544
  if (!res.ok) {
7494
7545
  throw new TRPCError19({ code: "BAD_GATEWAY", message: await cloudMessage(res) || `CANARY_READ_FAILED (${res.status})` });
@@ -7511,7 +7562,7 @@ var cloudSyncRouter = router({
7511
7562
  if (!key) return { status: "unknown" };
7512
7563
  const res = await cloudFetch2(
7513
7564
  `/api/auth/organization/canary?organizationId=${encodeURIComponent(input.orgId)}`,
7514
- { method: "GET" }
7565
+ { method: "GET", orgId: input.orgId }
7515
7566
  );
7516
7567
  if (!res.ok) return { status: "unknown" };
7517
7568
  const { canary } = await res.json();
@@ -7565,7 +7616,8 @@ var cloudSyncRouter = router({
7565
7616
  }
7566
7617
  const res = await cloudFetch2("/api/auth/organization/canary/reset", {
7567
7618
  method: "POST",
7568
- body: { organizationId: input.orgId, canary }
7619
+ body: { organizationId: input.orgId, canary },
7620
+ orgId: input.orgId
7569
7621
  });
7570
7622
  if (!res.ok) {
7571
7623
  const detail = await cloudMessage(res);
@@ -7575,7 +7627,7 @@ var cloudSyncRouter = router({
7575
7627
  });
7576
7628
  }
7577
7629
  const cloudUrl = (await orgsToSync()).find((l) => l.orgId === input.orgId)?.cloudUrl ?? getCloudApiUrl();
7578
- await cloudSyncBridge.connect({ orgId: input.orgId, cloudUrl });
7630
+ await cloudSyncBridge.connect({ orgId: input.orgId, cloudUrl, ...await accountScope(input.orgId) });
7579
7631
  return { state: syncState(input.orgId) };
7580
7632
  }),
7581
7633
  /**
@@ -7612,7 +7664,8 @@ var cloudSyncRouter = router({
7612
7664
  try {
7613
7665
  res = await cloudFetch2("/api/auth/project/delete", {
7614
7666
  method: "POST",
7615
- body: { organizationId: input.orgId, projectId: input.projectId }
7667
+ body: { organizationId: input.orgId, projectId: input.projectId },
7668
+ orgId: input.orgId
7616
7669
  });
7617
7670
  } catch (err) {
7618
7671
  if (err instanceof TRPCError19 && err.code === "PRECONDITION_FAILED") {
@@ -9568,7 +9621,19 @@ async function createLocalServer() {
9568
9621
  res.status(502).send("The cloud did not return a session token.");
9569
9622
  return;
9570
9623
  }
9571
- await cloudSessionStore.set(getCloudApiUrl(), sessionToken);
9624
+ const identity = await readCloudIdentity(getCloudApiUrl(), sessionToken);
9625
+ if (!identity) {
9626
+ res.status(502).send("The cloud did not say who this session belongs to.");
9627
+ return;
9628
+ }
9629
+ const before = await cloudSessionStore.list();
9630
+ if (before.length === 1 && before[0].userId !== identity.userId) {
9631
+ const adopted = await adoptUnstampedOrgs(before[0].id);
9632
+ if (adopted.length > 0) {
9633
+ console.log(`[cloud] ${adopted.length} organisation(s) rattach\xE9e(s) au compte ${before[0].email || before[0].id}`);
9634
+ }
9635
+ }
9636
+ await cloudSessionStore.add(getCloudApiUrl(), sessionToken, identity);
9572
9637
  void cloudSyncBridge.resumeAll();
9573
9638
  res.redirect(`${returnTo}?cloud=linked`);
9574
9639
  } catch {
@@ -9589,16 +9654,18 @@ async function createLocalServer() {
9589
9654
  res.status(400).end();
9590
9655
  return;
9591
9656
  }
9592
- const token = await cloudSessionStore.getToken();
9593
- if (!token) {
9657
+ const accountId = await accountForOrg(organizationId);
9658
+ const token = accountId ? await cloudSessionStore.getToken(accountId) : null;
9659
+ if (!accountId || !token) {
9594
9660
  res.status(401).end();
9595
9661
  return;
9596
9662
  }
9663
+ const streamBase = await cloudSessionStore.getCloudUrl(accountId) ?? getCloudApiUrl();
9597
9664
  const upstreamAbort = new AbortController();
9598
9665
  req.on("close", () => upstreamAbort.abort());
9599
9666
  try {
9600
9667
  const upstream = await fetch(
9601
- `${getCloudApiUrl()}${upstreamPath}?organizationId=${encodeURIComponent(organizationId)}`,
9668
+ `${streamBase.replace(/\/+$/, "")}${upstreamPath}?organizationId=${encodeURIComponent(organizationId)}`,
9602
9669
  {
9603
9670
  headers: {
9604
9671
  Authorization: `Bearer ${token}`,
@@ -9647,16 +9714,18 @@ async function createLocalServer() {
9647
9714
  res.status(400).end();
9648
9715
  return;
9649
9716
  }
9650
- const token = await cloudSessionStore.getToken();
9651
- if (!token) {
9717
+ const accountId = await accountForOrg(organizationId);
9718
+ const token = accountId ? await cloudSessionStore.getToken(accountId) : null;
9719
+ if (!accountId || !token) {
9652
9720
  res.status(401).end();
9653
9721
  return;
9654
9722
  }
9723
+ const streamBase = await cloudSessionStore.getCloudUrl(accountId) ?? getCloudApiUrl();
9655
9724
  const upstreamQuery = new URLSearchParams({ organizationId });
9656
9725
  if (typeof req.query["name"] === "string") upstreamQuery.set("name", req.query["name"]);
9657
9726
  try {
9658
9727
  const upstream = await fetch(
9659
- `${getCloudApiUrl()}/api/kanban/image?${upstreamQuery.toString()}`,
9728
+ `${streamBase.replace(/\/+$/, "")}/api/kanban/image?${upstreamQuery.toString()}`,
9660
9729
  {
9661
9730
  method: "POST",
9662
9731
  headers: {
@@ -9683,14 +9752,16 @@ async function createLocalServer() {
9683
9752
  res.status(401).end();
9684
9753
  return;
9685
9754
  }
9686
- const token = await cloudSessionStore.getToken();
9755
+ const fileOrgId = typeof req.query["organizationId"] === "string" ? req.query["organizationId"] : "";
9756
+ const fileAccountId = fileOrgId ? await accountForOrg(fileOrgId) : null;
9757
+ const token = await cloudSessionStore.getToken(fileAccountId ?? void 0);
9687
9758
  if (!token) {
9688
9759
  res.status(401).end();
9689
9760
  return;
9690
9761
  }
9691
9762
  try {
9692
9763
  const upstream = await fetch(
9693
- `${getCloudApiUrl()}/api/kanban/file/${encodeURIComponent(req.params.id)}`,
9764
+ `${(await cloudSessionStore.getCloudUrl(fileAccountId ?? void 0) ?? getCloudApiUrl()).replace(/\/+$/, "")}/api/kanban/file/${encodeURIComponent(req.params.id)}`,
9694
9765
  {
9695
9766
  method: "DELETE",
9696
9767
  headers: { Authorization: `Bearer ${token}`, [APP_VERSION_HEADER]: appVersion },
@@ -9710,14 +9781,16 @@ async function createLocalServer() {
9710
9781
  res.status(401).end();
9711
9782
  return;
9712
9783
  }
9713
- const token = await cloudSessionStore.getToken();
9784
+ const fileOrgId = typeof req.query["organizationId"] === "string" ? req.query["organizationId"] : "";
9785
+ const fileAccountId = fileOrgId ? await accountForOrg(fileOrgId) : null;
9786
+ const token = await cloudSessionStore.getToken(fileAccountId ?? void 0);
9714
9787
  if (!token) {
9715
9788
  res.status(401).end();
9716
9789
  return;
9717
9790
  }
9718
9791
  try {
9719
9792
  const upstream = await fetch(
9720
- `${getCloudApiUrl()}/api/kanban/file/${encodeURIComponent(req.params.id)}`,
9793
+ `${(await cloudSessionStore.getCloudUrl(fileAccountId ?? void 0) ?? getCloudApiUrl()).replace(/\/+$/, "")}/api/kanban/file/${encodeURIComponent(req.params.id)}`,
9721
9794
  {
9722
9795
  headers: { Authorization: `Bearer ${token}`, [APP_VERSION_HEADER]: appVersion },
9723
9796
  signal: AbortSignal.timeout(3e5)
@@ -10117,7 +10190,7 @@ async function createLocalServer() {
10117
10190
  ]);
10118
10191
  console.log("[server] Shutdown complete");
10119
10192
  };
10120
- const { initCompanion } = await import("./companion-7AFRBUQI.js");
10193
+ const { initCompanion } = await import("./companion-NZU7FNID.js");
10121
10194
  initCompanion();
10122
10195
  return { app, server, wss, shutdown };
10123
10196
  }
@@ -10564,4 +10637,4 @@ export {
10564
10637
  startProcess,
10565
10638
  stopProcess
10566
10639
  };
10567
- //# sourceMappingURL=src-US4EBM64.js.map
10640
+ //# sourceMappingURL=src-MILB2SQA.js.map