@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.
- package/agent-manager-2RWV2SXZ.js +9 -0
- package/{chat-N6XONNVG.js → chat-O7ZXCCKV.js} +6 -6
- package/{chunk-NPORVPEO.js → chunk-ELI2TELD.js} +2 -2
- package/{chunk-LTLOVQJQ.js → chunk-J3NAI636.js} +53 -3
- package/chunk-J3NAI636.js.map +1 -0
- package/{chunk-YQISK6BL.js → chunk-JNI4CXJ7.js} +354 -70
- package/chunk-JNI4CXJ7.js.map +1 -0
- package/{chunk-CQCCVPTX.js → chunk-TE57T5GO.js} +29 -7
- package/chunk-TE57T5GO.js.map +1 -0
- package/{chunk-5GYBAMHV.js → chunk-ZDHLWTHW.js} +2 -2
- package/{companion-7AFRBUQI.js → companion-NZU7FNID.js} +4 -4
- package/index.js +3 -3
- package/package.json +1 -1
- package/settings-manager-Q4PZ3UD5.js +9 -0
- package/{src-US4EBM64.js → src-MILB2SQA.js} +115 -42
- package/src-MILB2SQA.js.map +1 -0
- package/{vault-resolver-JR7TCITD.js → vault-resolver-V7KH4FTC.js} +8 -2
- package/web/assets/{AgentScalarChatInterface.vue-BXv2YF_7.js → AgentScalarChatInterface.vue-CvSuHoWx.js} +1 -1
- package/web/assets/{AgentTerminalPage-HbM44kg8.js → AgentTerminalPage-DM7AvnyQ.js} +1 -1
- package/web/assets/AiChatPage-DuXpncYG.js +1 -0
- package/web/assets/{AppLayout-EhZfYcsl.css → AppLayout-DK0hjOjl.css} +1 -1
- package/web/assets/{AppLayout-DJ1dZUtQ.js → AppLayout-DimGQa7G.js} +1 -1
- package/web/assets/{AuditPage-CF53LMHt.js → AuditPage-B_0kBq_9.js} +1 -1
- package/web/assets/CloudAccountPage-BJK2BN44.js +1 -0
- package/web/assets/CloudAccountPage-Bxa_0f6m.css +1 -0
- package/web/assets/CloudAccountPage-HGWX4TH4.js +1 -0
- package/web/assets/{CloudMessagingPage-D15sTToL.js → CloudMessagingPage-CWv16kIi.js} +1 -1
- package/web/assets/{DashboardPage-inYgcB3J.js → DashboardPage-D7uW5Gte.js} +1 -1
- package/web/assets/{DirectoryPickerDialog-DDWbon2r.js → DirectoryPickerDialog-FsJTp3yS.js} +1 -1
- package/web/assets/{EditorIcon-BWhMJTSH.js → EditorIcon-DAVCsZGN.js} +1 -1
- package/web/assets/{EnvironmentForm-DG_9AXml.js → EnvironmentForm-DNUk-CLn.js} +1 -1
- package/web/assets/{EnvironmentFormPage-DYmI2BfZ.js → EnvironmentFormPage-AeYFkQiH.js} +1 -1
- package/web/assets/{EnvironmentListPage-D2l91HzS.js → EnvironmentListPage-zo_QJeYZ.js} +1 -1
- package/web/assets/{KanbanBoardPage-BPH1ywhH.js → KanbanBoardPage-CXSqV6Qh.js} +3 -3
- package/web/assets/KanbanBoardPage-hU10A0U8.css +1 -0
- package/web/assets/{KanbanListPage-Bj9-EbPv.js → KanbanListPage-DZBXXH0r.js} +1 -1
- package/web/assets/LaunchProjectPage-BHLH3peH.css +1 -0
- package/web/assets/LaunchProjectPage-D_Ivnho3.js +1 -0
- package/web/assets/{LaunchServicesPage-CAdAAyfG.js → LaunchServicesPage-BTXi6jNU.js} +1 -1
- package/web/assets/{LogViewer-QRpqcjXC.js → LogViewer-Bqe-albM.js} +1 -1
- package/web/assets/{OrgKeyPrompt-uMjz7Y5A.js → OrgKeyPrompt-D05OEwQM.js} +1 -1
- package/web/assets/{ProcessControls-B6blcC2b.js → ProcessControls-BnlYc5oo.js} +1 -1
- package/web/assets/{ProcessDetailPage-Bi5vk4ah.js → ProcessDetailPage-CsbqvXk8.js} +1 -1
- package/web/assets/{ProcessMetrics-luXa72sd.js → ProcessMetrics-3iA0I20o.js} +1 -1
- package/web/assets/{RandomJobTestPage-uuy7by63.js → RandomJobTestPage-BO3b4l7T.js} +1 -1
- package/web/assets/{ScenarioEditorPage-oyhLaoVE.js → ScenarioEditorPage-CHX44wHI.js} +1 -1
- package/web/assets/{SendToChatDialog-BnZEu35Q.js → SendToChatDialog-8ToadFnr.js} +1 -1
- package/web/assets/{ServiceControlsBar-Dp3r57J4.js → ServiceControlsBar-OVSGVoGc.js} +1 -1
- package/web/assets/{ServiceDetailPage-DBm79vOL.js → ServiceDetailPage-DpqDQl76.js} +1 -1
- package/web/assets/{ServiceFormPage-BGWjKCUH.js → ServiceFormPage-COlkaDyA.js} +1 -1
- package/web/assets/{SettingsPage-CrzdGJlG.css → SettingsPage-B7yKfXK2.css} +1 -1
- package/web/assets/{SettingsPage-BIVmZT7t.js → SettingsPage-YOKL8o_O.js} +30 -30
- package/web/assets/{UnlockPage-DYRFhdrT.js → UnlockPage-B75f6TuX.js} +1 -1
- package/web/assets/{VariablesTable-Cbc_RlnE.js → VariablesTable-siiUpJXY.js} +1 -1
- package/web/assets/{VaultMigrationPage-GlJyIJAw.js → VaultMigrationPage-DcYkoGTq.js} +1 -1
- package/web/assets/{VersionBadge-CSX89ryT.js → VersionBadge-BH9S4OPH.js} +1 -1
- package/web/assets/WikiPage-CxBVPs9x.js +1 -0
- package/web/assets/{WikiView-DyU4eNEh.js → WikiView-DnQhoJpH.js} +1 -1
- package/web/assets/{add-scalar-classes-CxpzHvBM.js → add-scalar-classes-B2maka72.js} +3 -3
- package/web/assets/{autocomplete-COj-K1Nc.js → autocomplete-CsyixLlY.js} +1 -1
- package/web/assets/{basic-shape-diamond.svg-Dw9kJc3l.js → basic-shape-diamond.svg-BbOA3Gz6.js} +1 -1
- package/web/assets/{basic-shape-hexagon.svg-DeTUNvAm.js → basic-shape-hexagon.svg-DdJgnvDo.js} +1 -1
- package/web/assets/{basic-shape-primary-circle-ellipse-round.svg-CZe21n5k.js → basic-shape-primary-circle-ellipse-round.svg-Bg3fLGGT.js} +1 -1
- package/web/assets/{basic-shape-primary-square-rectangle.svg-DIvBb7uH.js → basic-shape-primary-square-rectangle.svg-CESoq0fN.js} +1 -1
- package/web/assets/{basic-shape-shield.svg-D2Ttq4yx.js → basic-shape-shield.svg-ElM9Zp2x.js} +1 -1
- package/web/assets/{browser-BtPtEa-Z.js → browser-CwiIrBV5.js} +1 -1
- package/web/assets/{browser-8qE0e05E.js → browser-MtZH8oRn.js} +1 -1
- package/web/assets/{card-pbrPkbmk.js → card-D8i3Wb9E.js} +1 -1
- package/web/assets/{checkbox-g16PaQaN.js → checkbox-DfhW4jIw.js} +1 -1
- package/web/assets/{chip-B1jaR69s.js → chip-jxWVyF6O.js} +1 -1
- package/web/assets/{client-DZg134cQ.js → client-BgGTZAbs.js} +1 -1
- package/web/assets/{cloud-chat.store-D899jVQ4.js → cloud-chat.store-DnjVk4Ss.js} +1 -1
- package/web/assets/cloud-client-CJH_Ql5a.js +1 -0
- package/web/assets/cloud-session-DWaO5I68.js +2 -0
- package/web/assets/{column-Pmg7Ma5f.js → column-DucGv9T0.js} +1 -1
- package/web/assets/{computer-device-desktop-monitor.svg-BpU1vmqL.js → computer-device-desktop-monitor.svg-DJbi1v8s.js} +1 -1
- package/web/assets/{computer-device-desktop.svg-CofWATKj.js → computer-device-desktop.svg-DJtxrGiU.js} +1 -1
- package/web/assets/{computer-device-laptop.svg-Bk0WdntU.js → computer-device-laptop.svg-BxPl4SOy.js} +1 -1
- 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
- package/web/assets/{computer-device-mobile-phone-android-samsung.svg-BtDfk53W.js → computer-device-mobile-phone-android-samsung.svg-CY2rayd7.js} +1 -1
- 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
- package/web/assets/{computer-device-mobile-phone-iphone-x.svg-D3hLzA-f.js → computer-device-mobile-phone-iphone-x.svg-DlRKY5sj.js} +1 -1
- package/web/assets/{computer-device-mobile-tablet-touch.svg-URFOvX2G.js → computer-device-mobile-tablet-touch.svg-DfslXQQZ.js} +1 -1
- package/web/assets/{computer-device-mobile-tablet.svg-CIdkHAYo.js → computer-device-mobile-tablet.svg-CcURGna7.js} +1 -1
- package/web/assets/{computer-device-network-ethernet-cat6.svg-BEC9unNd.js → computer-device-network-ethernet-cat6.svg-Dp-TzO2e.js} +1 -1
- package/web/assets/{computer-device-network-lan-www.svg-C_WEyWn-.js → computer-device-network-lan-www.svg-BPpSMigg.js} +1 -1
- package/web/assets/{computer-device-network-wifi-connection.svg-D2xhIyf7.js → computer-device-network-wifi-connection.svg-CYQyIbfa.js} +1 -1
- package/web/assets/{computer-device-network-wifi-router.svg-DwIQxKAQ.js → computer-device-network-wifi-router.svg-DSAd7WFk.js} +1 -1
- package/web/assets/{cssMode-YcxdUWNT.js → cssMode-COezfEv9.js} +1 -1
- package/web/assets/{divider-C95jkWZ7.js → divider-DUL-UFyL.js} +1 -1
- package/web/assets/{docx-preview-B1K7Js_Q.js → docx-preview-BF14ztI2.js} +1 -1
- package/web/assets/{ecology-science-erlenmeyer-flask.svg-DOmkHECy.js → ecology-science-erlenmeyer-flask.svg-ETcpyMYz.js} +1 -1
- package/web/assets/{fieldset-DEPqiZWe.js → fieldset-CSn4dPXR.js} +1 -1
- package/web/assets/{freemarker2-Bzhvjbz4.js → freemarker2-CqLlcxHC.js} +1 -1
- package/web/assets/{handlebars-CymxzXg4.js → handlebars-Cp1TiX9f.js} +1 -1
- package/web/assets/{html-CouVDmTR.js → html-BzArqvCu.js} +1 -1
- package/web/assets/{htmlMode-Be-vsCic.js → htmlMode-CIRVb85i.js} +1 -1
- package/web/assets/{image-flash-lightning.svg-CTaPLIBa.js → image-flash-lightning.svg-CSTusJ5t.js} +1 -1
- package/web/assets/{image-picture-flower.svg-BkIdyuJf.js → image-picture-flower.svg-Cg9aaOhh.js} +1 -1
- package/web/assets/{index-DkeyMLje.js → index-Q9nkGIct.js} +4 -4
- package/web/assets/{interface-alert-exclamation-diamond.svg-LE6wXJfb.js → interface-alert-exclamation-diamond.svg-JL4lYLy1.js} +1 -1
- package/web/assets/{interface-alert-exclamation-triangle-warning.svg-DnJUBUVG.js → interface-alert-exclamation-triangle-warning.svg-kvz8dLNC.js} +1 -1
- package/web/assets/{interface-alert-information-circle.svg-BBESAf3A.js → interface-alert-information-circle.svg-DRqP_pYe.js} +1 -1
- package/web/assets/{interface-award-crown.svg-A9FnpbJ_.js → interface-award-crown.svg-CX4w4INE.js} +1 -1
- package/web/assets/{interface-bookmark.svg-BMCuN1KQ.js → interface-bookmark-tag.svg-D5LiJMAo.js} +1 -1
- package/web/assets/{interface-bookmark-tag.svg-CONBx7yi.js → interface-bookmark.svg-Bx06-XmV.js} +1 -1
- package/web/assets/{interface-calendar-date-one.svg-BsHBSc-o.js → interface-calendar-date-one.svg-D28mjrW2.js} +1 -1
- package/web/assets/{interface-content-book-open-pages.svg-BsndNDne.js → interface-content-book-open-pages.svg-DvkccrQv.js} +1 -1
- package/web/assets/{interface-content-book-page.svg-D9O4ldas.js → interface-content-book-page.svg-Co_Rf29J.js} +1 -1
- package/web/assets/{interface-content-file.svg-3hZDtYrB.js → interface-content-file.svg-CLqtAgLt.js} +1 -1
- package/web/assets/{interface-content-folder.svg-D2PGz4rg.js → interface-content-folder.svg-C9dHyqkp.js} +1 -1
- package/web/assets/interface-content-folder.svg-kYcgQcTJ.js +1 -0
- package/web/assets/{interface-copy-clipboard.svg-DDENzgQo.js → interface-copy-clipboard.svg-DmF1P-Po.js} +1 -1
- package/web/assets/{interface-edit-attachment.svg-D2cQZV5Q.js → interface-edit-attachment.svg-BD_k5qE4.js} +1 -1
- package/web/assets/{interface-edit-binocular.svg-DrIFa0gk.js → interface-edit-binocular.svg-BzKsCrsk.js} +1 -1
- package/web/assets/{interface-edit-magic-wand.svg-AnGByEQd.js → interface-edit-magic-wand.svg-CJkxoH8r.js} +1 -1
- package/web/assets/{interface-edit-tool-paint-roller.svg-KNrFMeco.js → interface-edit-tool-paint-roller.svg-CgXiF7qe.js} +1 -1
- package/web/assets/{interface-edit-tool-pencil.svg-DF9u9WDQ.js → interface-edit-tool-pencil.svg-CeWHirTd.js} +1 -1
- package/web/assets/{interface-favorite-award.svg-mkb9vXWE.js → interface-favorite-award.svg-B9Vd9Hf6.js} +1 -1
- package/web/assets/{interface-favorite-flag.svg-BDIYdX-W.js → interface-favorite-flag.svg-BRp3aMEx.js} +1 -1
- package/web/assets/{interface-favorite-heart.svg-DtIvO6z9.js → interface-favorite-heart.svg-B2zeO1q2.js} +1 -1
- package/web/assets/{interface-favorite-star.svg-CEv2Io1P.js → interface-favorite-star.svg-vkH4UOle.js} +1 -1
- package/web/assets/{interface-favorite-stars-sparkles.svg-D0SoJbJE.js → interface-favorite-stars-sparkles.svg-CPTglDfo.js} +1 -1
- package/web/assets/{interface-hierarchy-flowchart.svg-B-kMOZH8.js → interface-hierarchy-flowchart.svg-D_WG90fj.js} +1 -1
- package/web/assets/{interface-home-house.svg-FOYUzOig.js → interface-home-house.svg-BUYqjZPI.js} +1 -1
- package/web/assets/{interface-hyperlink.svg-BaPGYtZM.js → interface-hyperlink.svg-DU6gyhSU.js} +1 -1
- package/web/assets/{interface-lighting-brightness.svg-ddMiifOe.js → interface-lighting-brightness.svg-BMX-UMmG.js} +1 -1
- package/web/assets/{interface-lock-closed.svg-WGGCrOPW.js → interface-lock-closed.svg-fm6gJnaL.js} +1 -1
- package/web/assets/{interface-lock-open-unlock.svg-BHdzRkd9.js → interface-lock-open-unlock.svg-D0IkCqrd.js} +1 -1
- package/web/assets/{interface-login-key.svg-C-CaH8gN.js → interface-login-key.svg-BjXwMM_4.js} +1 -1
- package/web/assets/{interface-search.svg-BWvztnST.js → interface-search.svg-Ce8_4eqn.js} +1 -1
- package/web/assets/{interface-setting-cog.svg-BiiP7i7e.js → interface-setting-cog.svg-BCQ9oWrI.js} +1 -1
- package/web/assets/{interface-share-megaphone-bullhorn.svg-BaNwYllj.js → interface-share-megaphone-bullhorn.svg-IraxN-RR.js} +1 -1
- package/web/assets/{interface-share-rocket.svg-DpVzHxi1.js → interface-share-rocket.svg-NzwY-7pd.js} +1 -1
- package/web/assets/{interface-share-satellite.svg-DVMadDln.js → interface-share-satellite.svg-CN8f5zE5.js} +1 -1
- package/web/assets/{interface-share-space-ship.svg-B1a7LlLT.js → interface-share-space-ship.svg-BMm5tIIq.js} +1 -1
- package/web/assets/{interface-share.svg-BknNtx4U.js → interface-share.svg-5RMe9Dry.js} +1 -1
- package/web/assets/{interface-signal-square.svg-DTf1mlii.js → interface-signal-square.svg-C-RuIJu1.js} +1 -1
- package/web/assets/{interface-time-clock-circle.svg-DT6LHPex.js → interface-time-clock-circle.svg-B3CNKtVN.js} +1 -1
- package/web/assets/{interface-time-hour-glass.svg-CNCTqw_R.js → interface-time-hour-glass.svg-o3F09IxK.js} +1 -1
- package/web/assets/{interface-users-multiple.svg-DuMlS4pH.js → interface-users-multiple.svg-Cmqji5Ln.js} +1 -1
- package/web/assets/{interface-weather-moon.svg-BfOraF6E.js → interface-weather-moon.svg-CGM-ZS56.js} +1 -1
- package/web/assets/{javascript-CSbYcb4a.js → javascript-qSezXPr1.js} +1 -1
- package/web/assets/{jsonMode-BfABTJ_P.js → jsonMode-BvjmRSYr.js} +1 -1
- package/web/assets/{liquid-D8zk2iFJ.js → liquid-CH1qgG2G.js} +1 -1
- package/web/assets/{lspLanguageFeatures-CDjcX5cq.js → lspLanguageFeatures-CtBsCddT.js} +1 -1
- package/web/assets/{mail-chat-bubble-square.svg-B57LhJ7L.js → mail-chat-bubble-square.svg-DvStF3KW.js} +1 -1
- package/web/assets/{mail-send-email-paper-airplane.svg-Zh4WfmfD.js → mail-send-email-paper-airplane.svg-CwTkfLk9.js} +1 -1
- package/web/assets/{mail-send-envelope.svg-B3JTaotd.js → mail-send-envelope.svg-Dkh_5t2W.js} +1 -1
- package/web/assets/{mdx-Rt1S5V6O.js → mdx-BqogtCJ-.js} +1 -1
- package/web/assets/{minus-h_LYd9EK.js → minus-B2dZQvCq.js} +1 -1
- package/web/assets/modal-B6NeZlOc.js +1 -0
- package/web/assets/{modal--Ilf4bg_.js → modal-BkbDSZxh.js} +1 -1
- package/web/assets/{money-cashier-receipt.svg-BYcjjmII.js → money-cashier-receipt.svg-zKWFfD0k.js} +1 -1
- package/web/assets/{money-currency-dollar-pay.svg-D_eoPfYw.js → money-currency-dollar-pay.svg-D5lfefuk.js} +1 -1
- package/web/assets/{money-graph-arrow-increase.svg-BVafbTUR.js → money-graph-arrow-increase.svg-Bd2mW0uZ.js} +1 -1
- package/web/assets/{money-graph-bar-chart-increase.svg-DFCnoSVq.js → money-graph-bar-chart-increase.svg-DegjdGbk.js} +1 -1
- package/web/assets/{multiselect-DlGWFLJR.js → multiselect-DeUaJiPX.js} +1 -1
- package/web/assets/{nature-ecology-leaf.svg-DI19KkR3.js → nature-ecology-leaf.svg-BbmZ_3cd.js} +1 -1
- package/web/assets/{password-BQyr-83Q.js → password-D1YX3MCu.js} +1 -1
- package/web/assets/{phone-telephone.svg-si7GWPbw.js → phone-telephone.svg-B6UL6Fhu.js} +1 -1
- package/web/assets/{plus-yTeMgVZF.js → plus-BmifHgiX.js} +1 -1
- package/web/assets/process.store-BucXc8GP.js +1 -0
- package/web/assets/{programming-bug.svg-C8_FsRk_.js → programming-bug.svg-Dhr7h5Lm.js} +1 -1
- package/web/assets/{programming-cloud.svg-Djjnh8pM.js → programming-cloud.svg-DIse9DrB.js} +1 -1
- package/web/assets/{programming-computer-database-server.svg-Cw72ZkUG.js → programming-computer-database-server.svg-BlKvXZnN.js} +1 -1
- package/web/assets/{programming-computer-database.svg-C0Z7_RVR.js → programming-computer-database.svg-Du4GGdek.js} +1 -1
- package/web/assets/{programming-module-four-layout.svg-BvERcUAT.js → programming-module-four-layout.svg-TcO3xW7h.js} +1 -1
- package/web/assets/{programming-module-three.svg-BkoUon6u.js → programming-module-three.svg-6UNuJszx.js} +1 -1
- package/web/assets/{programming-module.svg-CK1yw5W-.js → programming-module.svg-BFkOw80L.js} +1 -1
- package/web/assets/{programming-script-code.svg-BhU73hpj.js → programming-script-code.svg-CPNpYr6l.js} +1 -1
- package/web/assets/project-launch.store-Xo3pwupQ.js +1 -0
- package/web/assets/project.store-Bdp-Dw-w.js +1 -0
- package/web/assets/{python-CSf8HAN9.js → python-W_UHovJ1.js} +1 -1
- package/web/assets/{razor-BKjp9q-U.js → razor-BQiPtbwG.js} +1 -1
- package/web/assets/router-DZShz0-l.js +1 -0
- package/web/assets/settings-scope-vqQX-GF1.js +1 -0
- package/web/assets/{settings.store-BBoXO9_c.js → settings.store-DqnPoZDR.js} +1 -1
- package/web/assets/{shopping-cart.svg-CgRtQ4k-.js → shopping-cart.svg-Bux9YEU6.js} +1 -1
- package/web/assets/{shopping-gift-present.svg-XdAdBUaO.js → shopping-gift-present.svg-_h-yzC6c.js} +1 -1
- package/web/assets/{shopping-shipping-box-parcel-package.svg-BaFPv3xL.js → shopping-shipping-box-parcel-package.svg-BdhGUAKV.js} +1 -1
- package/web/assets/{src-DeCIcklm.js → src-BL1Lafqz.js} +1 -1
- package/web/assets/{src-CRQ32_Qg.js → src-BsHOvodv.js} +1 -1
- package/web/assets/{src-S24lFUYb.js → src-cvMrX61Z.js} +3 -3
- package/web/assets/{tabpanel-DbMhKzgJ.js → tabpanel-B7UUtaKJ.js} +1 -1
- package/web/assets/{tag-new-circle.svg-BwxdYwp4.js → tag-new-circle.svg-CPl83AFc.js} +1 -1
- package/web/assets/theme-CuU9r36Y.js +1 -0
- package/web/assets/{toggleswitch-DKXm3drm.js → toggleswitch-CqZ2j960.js} +1 -1
- package/web/assets/{travel-map-earth-globe.svg-B3QIUens.js → travel-map-earth-globe.svg-mdZXLqAH.js} +1 -1
- package/web/assets/trpc-i_kC7f4I.js +1 -0
- package/web/assets/{tsMode-KbYg0Qfw.js → tsMode-BTrmDRFt.js} +1 -1
- package/web/assets/{typescript-UzU12abv.js → typescript-B5jdwmxa.js} +1 -1
- package/web/assets/useAiChatDrawer-ChqgY66m.js +1 -0
- package/web/assets/{useCloudOrg-CXvwb5Fo.js → useCloudOrg-Dq8l_9Ry.js} +1 -1
- package/web/assets/useProjectCatalog-BE9Yy2SC.js +1 -0
- package/web/assets/useProjectCloudOrg-DAj0XB8D.js +1 -0
- package/web/assets/{xml-CkgxvNFc.js → xml-vcJlRCph.js} +1 -1
- package/web/assets/{yaml-Cjr4aAq9.js → yaml-CfcdnZ_c.js} +1 -1
- package/web/index.html +1 -1
- package/agent-manager-4XJUIZKL.js +0 -9
- package/chunk-CQCCVPTX.js.map +0 -1
- package/chunk-LTLOVQJQ.js.map +0 -1
- package/chunk-YQISK6BL.js.map +0 -1
- package/settings-manager-Y4GNAXOH.js +0 -9
- package/src-US4EBM64.js.map +0 -1
- package/web/assets/AiChatPage-BTsALiaV.js +0 -1
- package/web/assets/CloudAccountPage-BttYjaR8.js +0 -1
- package/web/assets/CloudAccountPage-Dou70Ljn.js +0 -1
- package/web/assets/CloudAccountPage-g6lFVpsX.css +0 -1
- package/web/assets/KanbanBoardPage-BOVq3zOt.css +0 -1
- package/web/assets/LaunchProjectPage-CHpVVYBa.css +0 -1
- package/web/assets/LaunchProjectPage-ObKhBvlS.js +0 -1
- package/web/assets/WikiPage-DAPhZkpS.js +0 -1
- package/web/assets/cloud-session-DSjPbs8C.js +0 -1
- package/web/assets/interface-content-folder.svg-GTysMuP_.js +0 -1
- package/web/assets/modal-Wk0CWaUJ.js +0 -1
- package/web/assets/process.store-CvrK-4rR.js +0 -1
- package/web/assets/project-launch.store-D5cyKKyw.js +0 -1
- package/web/assets/project.store-OwPRdjA0.js +0 -1
- package/web/assets/router-DuWVvMLT.js +0 -1
- package/web/assets/settings-scope-D7NFCXjg.js +0 -1
- package/web/assets/theme-pRVEu5SJ.js +0 -1
- package/web/assets/trpc-Cf_8kWCl.js +0 -1
- package/web/assets/useAiChatDrawer-DCVhP5N0.js +0 -1
- package/web/assets/useProjectCatalog-Bth_aDP4.js +0 -1
- package/web/assets/useProjectCloudOrg-MUCjKP3P.js +0 -1
- /package/{agent-manager-4XJUIZKL.js.map → agent-manager-2RWV2SXZ.js.map} +0 -0
- /package/{chat-N6XONNVG.js.map → chat-O7ZXCCKV.js.map} +0 -0
- /package/{chunk-NPORVPEO.js.map → chunk-ELI2TELD.js.map} +0 -0
- /package/{chunk-5GYBAMHV.js.map → chunk-ZDHLWTHW.js.map} +0 -0
- /package/{companion-7AFRBUQI.js.map → companion-NZU7FNID.js.map} +0 -0
- /package/{settings-manager-Y4GNAXOH.js.map → settings-manager-Q4PZ3UD5.js.map} +0 -0
- /package/{vault-resolver-JR7TCITD.js.map → vault-resolver-V7KH4FTC.js.map} +0 -0
- /package/web/assets/{abap-DIWaXxy4.js → abap-cDlgWO6H.js} +0 -0
- /package/web/assets/{apex-D4-KnjW_.js → apex-DxzSGotK.js} +0 -0
- /package/web/assets/{azcli-IfDsRCLo.js → azcli-CUNfZLtQ.js} +0 -0
- /package/web/assets/{bat-DWkIEnW3.js → bat-C-oKGifY.js} +0 -0
- /package/web/assets/{bicep-CsOqEKmZ.js → bicep-C4xTl9QV.js} +0 -0
- /package/web/assets/{browser-BRPZK8RN.js → browser-CE5P0iHW.js} +0 -0
- /package/web/assets/{cameligo-CVJihesZ.js → cameligo-COpO1ZvP.js} +0 -0
- /package/web/assets/{clojure-CPXjbAsV.js → clojure-D8gp5eAN.js} +0 -0
- /package/web/assets/{coffee-Dk6AGUBs.js → coffee-De9HMN-q.js} +0 -0
- /package/web/assets/{cpp-D8TcNCkN.js → cpp-C4pJyeKy.js} +0 -0
- /package/web/assets/{csharp-B_ijQZWm.js → csharp-B4wLqqiU.js} +0 -0
- /package/web/assets/{csp-CT_qVlF1.js → csp-Do0Gg4qE.js} +0 -0
- /package/web/assets/{css-BNKulUcx.js → css-BLq1nXK0.js} +0 -0
- /package/web/assets/{cypher-BZUAEEC-.js → cypher-CDQzi0TV.js} +0 -0
- /package/web/assets/{dart-H8Ri9IID.js → dart-bTPYn7bY.js} +0 -0
- /package/web/assets/{dockerfile-BibtL7_E.js → dockerfile-yM7ZnQpo.js} +0 -0
- /package/web/assets/{ecl-Cq6OzwoI.js → ecl-BgTpp_c4.js} +0 -0
- /package/web/assets/{elixir-DEzZo1Bn.js → elixir-DO7wJ1ib.js} +0 -0
- /package/web/assets/{flow9-CJjg7TJH.js → flow9-B2Ko_py3.js} +0 -0
- /package/web/assets/{fsharp-vGx-8LrK.js → fsharp-DNdx3wKW.js} +0 -0
- /package/web/assets/{go-CHEkyua-.js → go-D7LajbkE.js} +0 -0
- /package/web/assets/{graphql--iPbFyYe.js → graphql-BCQSwUPo.js} +0 -0
- /package/web/assets/{hcl-C8EkclQS.js → hcl-DR3uNUXT.js} +0 -0
- /package/web/assets/{ini-DkuTJDAH.js → ini-zkzQPitL.js} +0 -0
- /package/web/assets/{java-DzuDjs1c.js → java-YFwuCa4S.js} +0 -0
- /package/web/assets/{julia-BUS80tf_.js → julia-WWwv4jLR.js} +0 -0
- /package/web/assets/{kotlin-s0eIc-h2.js → kotlin-FwlJkapy.js} +0 -0
- /package/web/assets/{less-o5f3n-o_.js → less-CyhHW1nH.js} +0 -0
- /package/web/assets/{lexon-AgKBNlrf.js → lexon-BScN_v1c.js} +0 -0
- /package/web/assets/{lua-DUTvSobZ.js → lua-eWb9GpZJ.js} +0 -0
- /package/web/assets/{m3-DoULJRPc.js → m3-C4NDU793.js} +0 -0
- /package/web/assets/{markdown-f9-EhcTi.js → markdown-DWWpXAtL.js} +0 -0
- /package/web/assets/{mips-aCd_43tp.js → mips-BpJKGw00.js} +0 -0
- /package/web/assets/{msdax-cwHq3sFu.js → msdax-BiuvyZwP.js} +0 -0
- /package/web/assets/{mysql-ITCpZRvB.js → mysql-DJW9Aa9q.js} +0 -0
- /package/web/assets/{objective-c-BjU-4cpP.js → objective-c-YouNnWOW.js} +0 -0
- /package/web/assets/{pascal-Dmt8LI08.js → pascal-jQsRnBre.js} +0 -0
- /package/web/assets/{pascaligo-DrXjRBef.js → pascaligo-DZI84_dt.js} +0 -0
- /package/web/assets/{perl-BbJKyW-Z.js → perl-D9TKt-s6.js} +0 -0
- /package/web/assets/{pgsql-CLT36ygM.js → pgsql-DXgI6ehC.js} +0 -0
- /package/web/assets/{php-BIcyBKEQ.js → php-Cgqd4wfW.js} +0 -0
- /package/web/assets/{pla-sVewnHw1.js → pla-DRDkvVUU.js} +0 -0
- /package/web/assets/{postiats-D9DrURSm.js → postiats-BOLeCCau.js} +0 -0
- /package/web/assets/{powerquery-BEjdKhpn.js → powerquery-DCDtPNBU.js} +0 -0
- /package/web/assets/{powershell-BynZyJK1.js → powershell-WnZ4e5ia.js} +0 -0
- /package/web/assets/{process-DIamAPAU.js → process-Cf4Ob2V-.js} +0 -0
- /package/web/assets/{protobuf-BQ34Qnv5.js → protobuf-C9Dg-C9o.js} +0 -0
- /package/web/assets/{pug--jmF9o7P.js → pug-Dr8RhWun.js} +0 -0
- /package/web/assets/{qsharp-BDe4Axn9.js → qsharp-DukGWvWZ.js} +0 -0
- /package/web/assets/{r-DpjaSKX3.js → r-BC41pTgC.js} +0 -0
- /package/web/assets/{redis-C_Q-xUDt.js → redis-D-gYIUku.js} +0 -0
- /package/web/assets/{redshift-CHNShrpo.js → redshift-r0XbF8XS.js} +0 -0
- /package/web/assets/{restructuredtext-CVN0W1xR.js → restructuredtext-DsJDS7Eu.js} +0 -0
- /package/web/assets/{ruby-CaKcv4f1.js → ruby-JPrm3ODz.js} +0 -0
- /package/web/assets/{rust-CbqMT_Ew.js → rust-C8IjEXni.js} +0 -0
- /package/web/assets/{sb-DIdUmAXV.js → sb-D8vNiFl9.js} +0 -0
- /package/web/assets/{scala-DVyALEcz.js → scala-DThahuqf.js} +0 -0
- /package/web/assets/{scheme-Cox4VpHa.js → scheme-CvEQUYYf.js} +0 -0
- /package/web/assets/{scss-MW_l4ZY_.js → scss-C6obpl8K.js} +0 -0
- /package/web/assets/{shared-sse-BjXwPkLo.js → shared-sse-Bpqv2-GI.js} +0 -0
- /package/web/assets/{shell-CP5qAt5e.js → shell-BnVmd31t.js} +0 -0
- /package/web/assets/{solidity-1ctHOHIb.js → solidity-Bo6zEybc.js} +0 -0
- /package/web/assets/{sophia-DRAqvk2I.js → sophia-DuB3Px8n.js} +0 -0
- /package/web/assets/{sparql-8_9Nt5xp.js → sparql-CW9HqMW2.js} +0 -0
- /package/web/assets/{sql-owsrW4c3.js → sql-CPCPCQON.js} +0 -0
- /package/web/assets/{st-BDgXslxD.js → st-AxC3n-1-.js} +0 -0
- /package/web/assets/{swift-TE6gFxno.js → swift-CgZOS_MZ.js} +0 -0
- /package/web/assets/{systemverilog-DVGMenxt.js → systemverilog-DYR-yx39.js} +0 -0
- /package/web/assets/{tcl-D6NP8_oR.js → tcl-4hAvWv0d.js} +0 -0
- /package/web/assets/{twig-CVnYtCc5.js → twig-Cf_07aFW.js} +0 -0
- /package/web/assets/{typespec-BkD2qKRU.js → typespec-2tXj8s11.js} +0 -0
- /package/web/assets/{uuid-u4W9vzU3.js → uuid--pMuF47W.js} +0 -0
- /package/web/assets/{vb--Oo_cy-E.js → vb-DLpM4f4s.js} +0 -0
- /package/web/assets/{w3c-keyname-Dfw8VxXe.js → w3c-keyname-CIiluUot.js} +0 -0
- /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-
|
|
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-
|
|
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-
|
|
125
|
+
} from "./chunk-ELI2TELD.js";
|
|
124
126
|
import {
|
|
125
127
|
settingsManager
|
|
126
|
-
} from "./chunk-
|
|
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-
|
|
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
|
|
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({
|
|
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}`, {
|
|
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
|
|
6248
|
-
|
|
6249
|
-
|
|
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 (
|
|
6252
|
-
const stamped = stamps[vault.orgId];
|
|
6253
|
-
if (stamped
|
|
6254
|
-
|
|
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(
|
|
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({
|
|
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({
|
|
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
|
|
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
|
|
9593
|
-
|
|
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
|
-
`${
|
|
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
|
|
9651
|
-
|
|
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
|
-
`${
|
|
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
|
|
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
|
|
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-
|
|
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-
|
|
10640
|
+
//# sourceMappingURL=src-MILB2SQA.js.map
|