ryco-cli 0.1.23 → 0.1.24
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/dist/bin.cjs +228 -88
- package/dist/bin.mjs +230 -90
- package/dist/client/assets/AccountSettings-ApnDA1f-.js +1 -0
- package/dist/client/assets/AiFocusSettings-CNmGHEcA.js +1 -0
- package/dist/client/assets/{AnimatedHeight-D9bpLPqe.js → AnimatedHeight-i0YhvlGD.js} +1 -1
- package/dist/client/assets/AppearanceSettings-BG8W4DP0.js +1 -0
- package/dist/client/assets/BranchToolbar.logic-AgPy06Mx.js +1 -0
- package/dist/client/assets/BrowserPanel-BWztlNuL.js +1 -0
- package/dist/client/assets/ChatRightPanel-a6UOHNMm.js +194 -0
- package/dist/client/assets/ChatThreadRouteView-CWoBLzR_.js +1 -0
- package/dist/client/assets/CommandPaletteDialog-B2iKWCUi.js +1 -0
- package/dist/client/assets/CompositeRoot-C1G-Ejus.js +1 -0
- package/dist/client/assets/ComputerUseSettings-CPwWoHWj.js +1 -0
- package/dist/client/assets/ConnectionsSettings-CPMkuxza.js +7 -0
- package/dist/client/assets/ContextHandoffEndpointLabel-BildLLDY.js +4 -0
- package/dist/client/assets/DiagnosticsSettings-DvnNz2AZ.js +2 -0
- package/dist/client/assets/DialogHandle-8o3kfoiI.js +1 -0
- package/dist/client/assets/DialogPopup-CLw6NCkW.js +1 -0
- package/dist/client/assets/DialogRoot-SKkIuQHA.js +1 -0
- package/dist/client/assets/DialogTitle-DCHX74Tz.js +1 -0
- package/dist/client/assets/DialogTrigger-Bl_fcIV2.js +1 -0
- package/dist/client/assets/DialogViewport-DVDl03yd.js +1 -0
- package/dist/client/assets/DraftChatThreadRouteView-CEDYjbKq.js +1 -0
- package/dist/client/assets/{ExternalIdentityWeb.logic-pjD4pCDd.js → ExternalIdentityWeb.logic-arHvT6AX.js} +1 -1
- package/dist/client/assets/GlassSurface-GY6owikG.js +1 -0
- package/dist/client/assets/HostedConnectionControls-COUhSe9x.js +1 -0
- package/dist/client/assets/HostedHubRoot-BTWc0XoQ.js +2 -0
- package/dist/client/assets/HostedNativeAuthorizationRoute-DZhYxv--.js +2 -0
- package/dist/client/assets/HostedRelayTrustNotice-Bl6On0Yi.js +1 -0
- package/dist/client/assets/IntegrationsSettingsPanel-n9owMZf-.js +2 -0
- package/dist/client/assets/KeybindingsSettings-CPtXx-W2.js +7 -0
- package/dist/client/assets/LazyBrowserPanel-SUIBB7B4.js +2 -0
- package/dist/client/assets/McpServersSettings-BWIUud0Z.js +6 -0
- package/dist/client/assets/MobileSheet-NTayGHF6.js +1 -0
- package/dist/client/assets/NodeSecuritySettings-BFifrshE.js +1 -0
- package/dist/client/assets/OpinionatedPluginsSettings-D7WuuNWZ.js +1 -0
- package/dist/client/assets/PhoneGetAppInterstitial-R0cqI17q.js +1 -0
- package/dist/client/assets/PhoneHome-FqWvnJP_.js +1 -0
- package/dist/client/assets/PhoneSettingsSurface-w5PJnoBc.js +2 -0
- package/dist/client/assets/ProviderModelPicker-dwWhl7Uf.js +1 -0
- package/dist/client/assets/ProvidersSettingsPanel-Ww1ch3xA.js +1 -0
- package/dist/client/assets/QuitShortcutFeedback-CklL3jMd.js +1 -0
- package/dist/client/assets/RedactedSensitiveText-CLPBtvH1.js +1 -0
- package/dist/client/assets/RootAppShell-BdQCs2XJ.js +7 -0
- package/dist/client/assets/Separator-CpYBhf-I.js +1 -0
- package/dist/client/assets/SettingsDialog-DeMzEeCP.js +2 -0
- package/dist/client/assets/SettingsPanels-ZxNz9ZfL.js +3 -0
- package/dist/client/assets/SettingsPanels.editor-9pSZP875.js +1 -0
- package/dist/client/assets/SourceControlSettings-C1F3Brcn.js +1 -0
- package/dist/client/assets/StatisticsPage-C7v-6CTr.js +1 -0
- package/dist/client/assets/StatisticsPanel-CeIjiBm8.js +1 -0
- package/dist/client/assets/StatisticsSettingsLink-5s_violW.js +1 -0
- package/dist/client/assets/{ThreadTerminalDrawer-DcZk76Y9.js → ThreadTerminalDrawer-CHZ60lPI.js} +11 -11
- package/dist/client/assets/{ThreadWorkspacePanel-Shhau2BD.js → ThreadWorkspacePanel-Ct5kMcuY.js} +17 -17
- package/dist/client/assets/activity-BMBx2Fu0.js +1 -0
- package/dist/client/assets/alert-CXnC_RJc.js +1 -0
- package/dist/client/assets/{appChrome-CiOQzE1d.js → appChrome-BzM66lXM.js} +1 -1
- package/dist/client/assets/arrow-left-CymyVbCi.js +1 -0
- package/dist/client/assets/arrow-right-9wyq4YVq.js +1 -0
- package/dist/client/assets/arrow-up-right-mfU38K6p.js +1 -0
- package/dist/client/assets/authorization-CjOFkg7b.js +1 -0
- package/dist/client/assets/badge-Dg7mXiOh.js +1 -0
- package/dist/client/assets/bot-BR3RyOWP.js +1 -0
- package/dist/client/assets/{capabilities-BTd0MRtv.js → capabilities-C8sxDbKT.js} +1 -1
- package/dist/client/assets/chart-column-CcRi3pAd.js +1 -0
- package/dist/client/assets/chevron-right-CuUjBsQV.js +1 -0
- package/dist/client/assets/clipboard-copy-ezz8rnaT.js +1 -0
- package/dist/client/assets/data-list-ZLhzdlED.js +1 -0
- package/dist/client/assets/desktopWorkspace-P28r2lN2.js +1 -0
- package/dist/client/assets/download-BA9L9tK9.js +1 -0
- package/dist/client/assets/editorPreferences-DeKdSV3s.js +1 -0
- package/dist/client/assets/empty-3NpXLnAM.js +1 -0
- package/dist/client/assets/group-D5qBdsaB.js +1 -0
- package/dist/client/assets/hostedConnectionCoordinator-CLV-JD1S.js +1 -0
- package/dist/client/assets/{hostedPairing-PogXRAb7.js → hostedPairing-B_ylEEDa.js} +1 -1
- package/dist/client/assets/hubRoutes-EWJ3Gdod.js +1 -0
- package/dist/client/assets/{index-D5j6WG7w.js → index-DxCd1PgA.js} +2 -2
- package/dist/client/assets/input-DrOL1KPS.js +1 -0
- package/dist/client/assets/kbd-rWDjJnWX.js +1 -0
- package/dist/client/assets/key-round-D2DtQ7aS.js +1 -0
- package/dist/client/assets/layers-DtSJWmwy.js +1 -0
- package/dist/client/assets/log-out-YAp9fsOg.js +1 -0
- package/dist/client/assets/{logging-DfaR8ACp.js → logging-BuUPX1SP.js} +1 -1
- package/dist/client/assets/main-BbtLAX7M.js +9 -0
- package/dist/client/assets/{main-CRk9p9SC.css → main-D4CtFNPY.css} +1 -1
- package/dist/client/assets/monitor-OyD484tI.js +1 -0
- package/dist/client/assets/palette-D18VboLH.js +1 -0
- package/dist/client/assets/play-d3KUi4G6.js +1 -0
- package/dist/client/assets/primary-D_D7eLwT.js +2 -0
- package/dist/client/assets/{providerDriverMeta-Cl-ADdmZ.js → providerDriverMeta-DNTocCcU.js} +1 -1
- package/dist/client/assets/providerModels-bFbEIfL9.js +1 -0
- package/dist/client/assets/{qr-code-Bun4dpvz.js → qr-code-Bk1kdf_k.js} +1 -1
- package/dist/client/assets/qr-code-MAZkoKtL.js +1 -0
- package/dist/client/assets/radio-group-D-VCGinX.js +2 -0
- package/dist/client/assets/refresh-cw-DY3_Ph-S.js +1 -0
- package/dist/client/assets/runtime-Djy96GJd.js +17 -0
- package/dist/client/assets/save-ugJXuJRM.js +1 -0
- package/dist/client/assets/scroll-area-BMnGzd2a.js +1 -0
- package/dist/client/assets/scrollEdges-QLSFwGSQ.js +1 -0
- package/dist/client/assets/separator-BwUYkCkX.js +1 -0
- package/dist/client/assets/settingsLayout-C6SUmJVB.js +1 -0
- package/dist/client/assets/sheet-DLy4aeVa.js +1 -0
- package/dist/client/assets/shield-Zq_ygsnJ.js +1 -0
- package/dist/client/assets/shield-alert-DfUhTI4-.js +1 -0
- package/dist/client/assets/shield-check-CO4SMhAs.js +1 -0
- package/dist/client/assets/sidebar-DNnW-a2V.js +1 -0
- package/dist/client/assets/sidebarProjectFolders-ygpaKZM6.js +4 -0
- package/dist/client/assets/sidebarStatusText-CawrXnx0.js +1 -0
- package/dist/client/assets/skeleton-DRm4_OvB.js +1 -0
- package/dist/client/assets/smartphone-O2VACDhU.js +1 -0
- package/dist/client/assets/sparkles-isHutYWU.js +1 -0
- package/dist/client/assets/src-BSuAGqhK.js +14 -0
- package/dist/client/assets/star-7UHEnC3x.js +1 -0
- package/dist/client/assets/{switch-COrEGDkz.js → switch-DD1qVLgN.js} +9 -9
- package/dist/client/assets/toastHelpers-CSQRKo4F.js +1 -0
- package/dist/client/assets/toggle-CaKBNe6W.js +1 -0
- package/dist/client/assets/toggle-group-UeFeTI3u.js +1 -0
- package/dist/client/assets/tokenModePresentation-DV56ekA4.js +1 -0
- package/dist/client/assets/tooltip-DXvXxL37.js +1 -0
- package/dist/client/assets/unplug-DisTpujT.js +1 -0
- package/dist/client/assets/useAppSidebarCollapsed-CaAsLi1q.js +1 -0
- package/dist/client/assets/useBaseUiId-CJN4MvrU.js +1 -0
- package/dist/client/assets/useLabelableId-BsDFG9Oj.js +1 -0
- package/dist/client/assets/useNavigate-cLfxn_9L.js +1 -0
- package/dist/client/assets/usePhoneThreadActions-rekHL1Mi.js +1 -0
- package/dist/client/assets/usePopupViewport-kXU31P6l.js +1 -0
- package/dist/client/assets/useScrollLock-DjMxrUJe.js +1 -0
- package/dist/client/assets/{useStatistics-DfLU9_Qu.js → useStatistics-BYP-9CmW.js} +15 -15
- package/dist/client/assets/useTriggerFocusGuards-DuAm2B8C.js +1 -0
- package/dist/client/assets/useValueChanged-DreFjrMK.js +1 -0
- package/dist/client/assets/user-round-DctamWV6.js +1 -0
- package/dist/client/assets/{vscode-icons-Dgo7Sslf.js → vscode-icons-Dw-LGJAv.js} +1 -1
- package/dist/client/assets/{workspaceMetadataProjection-UiprkDbH.js → workspaceMetadataProjection-BL4sEIL2.js} +1 -1
- package/dist/client/assets/wrench-Ds8eZerZ.js +1 -0
- package/dist/client/index.html +1 -1
- package/dist/resource-monitor/ryco-resource-monitor +0 -0
- package/dist/resource-monitor/ryco-resource-monitor.exe +0 -0
- package/dist/resource-monitor/win32-arm64/ryco-resource-monitor.exe +0 -0
- package/dist/resource-monitor/win32-x64/ryco-resource-monitor.exe +0 -0
- package/package.json +1 -1
- package/dist/client/assets/AccountSettings-DGvZzAqN.js +0 -1
- package/dist/client/assets/AiFocusSettings-D8wZfNES.js +0 -1
- package/dist/client/assets/AppearanceSettings-BFo6g6_s.js +0 -1
- package/dist/client/assets/BranchToolbar.logic-CmO2U1U7.js +0 -1
- package/dist/client/assets/BrowserPanel-r6is5C3e.js +0 -1
- package/dist/client/assets/ChatRightPanel-BewXBRFZ.js +0 -194
- package/dist/client/assets/ChatThreadRouteView-CC_6FmHd.js +0 -1
- package/dist/client/assets/CommandPaletteDialog-ftA_Xg2G.js +0 -1
- package/dist/client/assets/CompositeRoot-arlgwzfX.js +0 -1
- package/dist/client/assets/ComputerUseSettings-V-oMtddy.js +0 -1
- package/dist/client/assets/ConnectionsSettings-BrFvrRjz.js +0 -7
- package/dist/client/assets/ContextHandoffEndpointLabel-CPeU4K5A.js +0 -4
- package/dist/client/assets/DiagnosticsSettings-Dk3JaIOU.js +0 -2
- package/dist/client/assets/DialogHandle-00ZXxxpz.js +0 -1
- package/dist/client/assets/DialogPopup-mazVJKyB.js +0 -1
- package/dist/client/assets/DialogRoot-CWlzx19Z.js +0 -1
- package/dist/client/assets/DialogTitle-CKaEtTky.js +0 -1
- package/dist/client/assets/DialogTrigger-CiElTNmo.js +0 -1
- package/dist/client/assets/DialogViewport-a5beR5bY.js +0 -1
- package/dist/client/assets/DraftChatThreadRouteView-DMwnSfgh.js +0 -1
- package/dist/client/assets/FloatingPortalLite-DWdtHKob.js +0 -1
- package/dist/client/assets/GlassSurface-BqfxDYiR.js +0 -1
- package/dist/client/assets/HostedConnectionControls-BmJd89CC.js +0 -1
- package/dist/client/assets/HostedHubRoot-CRIiJ67A.js +0 -2
- package/dist/client/assets/HostedNativeAuthorizationRoute-DcksCt9n.js +0 -2
- package/dist/client/assets/HostedRelayTrustNotice-C9pl5h2a.js +0 -1
- package/dist/client/assets/IntegrationsSettingsPanel-BnfjyLrM.js +0 -2
- package/dist/client/assets/KeybindingsSettings-CkW7lzvz.js +0 -7
- package/dist/client/assets/LazyBrowserPanel-C6uMUmoV.js +0 -2
- package/dist/client/assets/McpServersSettings-BdXgS-Pm.js +0 -6
- package/dist/client/assets/MobileSheet-D19YdeQ9.js +0 -1
- package/dist/client/assets/NodeSecuritySettings-BfcBgtEg.js +0 -1
- package/dist/client/assets/OpinionatedPluginsSettings-YY54IT7P.js +0 -1
- package/dist/client/assets/PhoneGetAppInterstitial-9r6NwJP8.js +0 -1
- package/dist/client/assets/PhoneHome-DnEJp0bU.js +0 -1
- package/dist/client/assets/PhoneSettingsSurface-NKJrLCxU.js +0 -2
- package/dist/client/assets/ProviderModelPicker-CYGv-4fE.js +0 -1
- package/dist/client/assets/ProvidersSettingsPanel-DsXHij4h.js +0 -1
- package/dist/client/assets/QuitShortcutFeedback-BVyYaNtd.js +0 -1
- package/dist/client/assets/RedactedSensitiveText-D8j7kpow.js +0 -1
- package/dist/client/assets/RootAppShell-D7c8sbA0.js +0 -7
- package/dist/client/assets/Separator-Bn8l1oSK.js +0 -1
- package/dist/client/assets/SettingsDialog-BlPX1mT8.js +0 -2
- package/dist/client/assets/SettingsPanels-CeuvwIV_.js +0 -3
- package/dist/client/assets/SettingsPanels.editor-CLJJeKLI.js +0 -1
- package/dist/client/assets/SourceControlSettings-D-GeZ6PW.js +0 -1
- package/dist/client/assets/StatisticsPage-poomFDoQ.js +0 -1
- package/dist/client/assets/StatisticsPanel-DbGgCCpZ.js +0 -1
- package/dist/client/assets/StatisticsSettingsLink-Brc9--O7.js +0 -1
- package/dist/client/assets/activity-Dy-wOS-S.js +0 -1
- package/dist/client/assets/alert-4WZo8oMe.js +0 -1
- package/dist/client/assets/arrow-left-gLRAasih.js +0 -1
- package/dist/client/assets/arrow-right-CAK2t4QL.js +0 -1
- package/dist/client/assets/arrow-up-right-DP0hmMEB.js +0 -1
- package/dist/client/assets/authorization-K_UCP_xh.js +0 -1
- package/dist/client/assets/badge-CYDyJZRJ.js +0 -1
- package/dist/client/assets/bot-CCrx5oCt.js +0 -1
- package/dist/client/assets/button-QrCU0tNP.js +0 -1
- package/dist/client/assets/chart-column-BvK6lSzG.js +0 -1
- package/dist/client/assets/chevron-down-yka18-iP.js +0 -1
- package/dist/client/assets/chevron-right-CHyIXx5W.js +0 -1
- package/dist/client/assets/clamp-D0kAXd-u.js +0 -1
- package/dist/client/assets/clipboard-copy-DfdkWOiT.js +0 -1
- package/dist/client/assets/copy-riIPLkKV.js +0 -1
- package/dist/client/assets/data-list-CsiYTho5.js +0 -1
- package/dist/client/assets/download-B0lbSdq5.js +0 -1
- package/dist/client/assets/editorPreferences-Cf2Smgu1.js +0 -1
- package/dist/client/assets/empty-CHk0OiOB.js +0 -1
- package/dist/client/assets/group-DfFZdj79.js +0 -1
- package/dist/client/assets/hostedConnectionCoordinator-DZh1yVqz.js +0 -1
- package/dist/client/assets/input-BAC5Cd3b.js +0 -1
- package/dist/client/assets/kbd-CMUW8K7b.js +0 -1
- package/dist/client/assets/key-round-Cm6itp2V.js +0 -1
- package/dist/client/assets/layers-DoDpJao_.js +0 -1
- package/dist/client/assets/loader-circle-D0CNb5GI.js +0 -1
- package/dist/client/assets/log-out-BuoOiS45.js +0 -1
- package/dist/client/assets/main-DaXSCt8g.js +0 -9
- package/dist/client/assets/monitor-Dyigmrl2.js +0 -1
- package/dist/client/assets/palette-kIM_geXk.js +0 -1
- package/dist/client/assets/play-Dh8XDMnw.js +0 -1
- package/dist/client/assets/primary-DjXNHNGV.js +0 -2
- package/dist/client/assets/providerModels-dpugJUmV.js +0 -1
- package/dist/client/assets/qr-code-CkI1p05P.js +0 -1
- package/dist/client/assets/radio-group-Hh0oQGyf.js +0 -2
- package/dist/client/assets/react-dom-x9LNwWQc.js +0 -1
- package/dist/client/assets/refresh-cw-MqmsC7V0.js +0 -1
- package/dist/client/assets/runtime-L56puJDA.js +0 -17
- package/dist/client/assets/save-BSB81i-r.js +0 -1
- package/dist/client/assets/scroll-area-DCGCzd6v.js +0 -1
- package/dist/client/assets/scrollEdges-DIzjkUJG.js +0 -1
- package/dist/client/assets/separator-YeH3P39x.js +0 -1
- package/dist/client/assets/settingsLayout-CmNqO2kB.js +0 -1
- package/dist/client/assets/settingsSections.logic-Bg960p_I.js +0 -1
- package/dist/client/assets/sheet-CTbjQ5Bv.js +0 -1
- package/dist/client/assets/shield-DlqCO-0N.js +0 -1
- package/dist/client/assets/shield-alert-BrZ-Rb8N.js +0 -1
- package/dist/client/assets/shield-check-DHxdM6te.js +0 -1
- package/dist/client/assets/sidebar-4cwEndEB.js +0 -1
- package/dist/client/assets/sidebarProjectFolders-C7WDwUYJ.js +0 -4
- package/dist/client/assets/sidebarStatusText-Cq_MMykN.js +0 -1
- package/dist/client/assets/skeleton-BlostfCS.js +0 -1
- package/dist/client/assets/smartphone-OaA-Xj_d.js +0 -1
- package/dist/client/assets/sparkles-BXwkPX2M.js +0 -1
- package/dist/client/assets/src-gDjuIvMO.js +0 -14
- package/dist/client/assets/star-BjaAYD-x.js +0 -1
- package/dist/client/assets/toast-C_F1LeME.js +0 -1
- package/dist/client/assets/toggle-BPNEBXg_.js +0 -1
- package/dist/client/assets/toggle-group-BC1zJ9xi.js +0 -1
- package/dist/client/assets/tokenModePresentation-DUJ8DMTy.js +0 -1
- package/dist/client/assets/tooltip-iy3_osu5.js +0 -1
- package/dist/client/assets/triangle-alert-YXqtFxD6.js +0 -1
- package/dist/client/assets/unplug-e3z4rXgY.js +0 -1
- package/dist/client/assets/useAppSidebarCollapsed-mtvJ7qbW.js +0 -1
- package/dist/client/assets/useLabelableId-NJQsKdL6.js +0 -1
- package/dist/client/assets/useNavigate-2tVq4iZ2.js +0 -1
- package/dist/client/assets/usePhoneThreadActions-97AsVVIR.js +0 -1
- package/dist/client/assets/usePopupViewport-8OM2irPK.js +0 -1
- package/dist/client/assets/usePositioner-0Kb-C4al.js +0 -1
- package/dist/client/assets/useRenderElement-D0HVF5g_.js +0 -1
- package/dist/client/assets/useRouter-CcIDS3PN.js +0 -1
- package/dist/client/assets/useScrollLock-AUqaSAkf.js +0 -1
- package/dist/client/assets/useSwipeDismiss-CcW-GPO_.js +0 -1
- package/dist/client/assets/useTriggerFocusGuards-ChBvppef.js +0 -1
- package/dist/client/assets/useValueChanged-CThCTn4h.js +0 -1
- package/dist/client/assets/user-round-evbX_eto.js +0 -1
- package/dist/client/assets/utils-5-6TOrS1.js +0 -1
- package/dist/client/assets/visuallyHidden-BRaogTVF.js +0 -1
- package/dist/client/assets/wrench-mA--bcId.js +0 -1
- package/dist/client/assets/x-_SjFRYll.js +0 -1
package/dist/bin.cjs
CHANGED
|
@@ -2494,9 +2494,14 @@ const INLINE_ATTACHMENT_EXTENSIONS = /* @__PURE__ */ new Set([
|
|
|
2494
2494
|
".webp"
|
|
2495
2495
|
]);
|
|
2496
2496
|
const STATIC_CONTENT_TYPES = {
|
|
2497
|
+
".avif": "image/avif",
|
|
2498
|
+
".bmp": "image/bmp",
|
|
2497
2499
|
".css": "text/css; charset=utf-8",
|
|
2498
2500
|
".html": "text/html; charset=utf-8",
|
|
2501
|
+
".gif": "image/gif",
|
|
2499
2502
|
".ico": "image/x-icon",
|
|
2503
|
+
".jpeg": "image/jpeg",
|
|
2504
|
+
".jpg": "image/jpeg",
|
|
2500
2505
|
".js": "text/javascript; charset=utf-8",
|
|
2501
2506
|
".json": "application/json; charset=utf-8",
|
|
2502
2507
|
".map": "application/json; charset=utf-8",
|
|
@@ -2504,7 +2509,8 @@ const STATIC_CONTENT_TYPES = {
|
|
|
2504
2509
|
".svg": "image/svg+xml; charset=utf-8",
|
|
2505
2510
|
".txt": "text/plain; charset=utf-8",
|
|
2506
2511
|
".wasm": "application/wasm",
|
|
2507
|
-
".webmanifest": "application/manifest+json; charset=utf-8"
|
|
2512
|
+
".webmanifest": "application/manifest+json; charset=utf-8",
|
|
2513
|
+
".webp": "image/webp"
|
|
2508
2514
|
};
|
|
2509
2515
|
const browserApiCorsLayer = effect_unstable_http.HttpRouter.cors({
|
|
2510
2516
|
allowedMethods: [
|
|
@@ -2823,16 +2829,17 @@ const projectFaviconRouteLayer = effect_unstable_http.HttpRouter.add("GET", "/ap
|
|
|
2823
2829
|
if (effect.Option.isNone(url)) return effect_unstable_http.HttpServerResponse.text("Bad Request", { status: 400 });
|
|
2824
2830
|
const projectCwd = url.value.searchParams.get("cwd");
|
|
2825
2831
|
if (!projectCwd) return effect_unstable_http.HttpServerResponse.text("Missing cwd parameter", { status: 400 });
|
|
2826
|
-
const
|
|
2827
|
-
if (!
|
|
2832
|
+
const favicon = yield* (yield* ProjectFaviconResolver).readIcon(projectCwd);
|
|
2833
|
+
if (!favicon) return effect_unstable_http.HttpServerResponse.text(FALLBACK_PROJECT_FAVICON_SVG, {
|
|
2828
2834
|
status: 200,
|
|
2829
2835
|
contentType: "image/svg+xml",
|
|
2830
2836
|
headers: inlineImageResponseHeaders("fallback.svg")
|
|
2831
2837
|
});
|
|
2832
|
-
return
|
|
2838
|
+
return effect_unstable_http.HttpServerResponse.uint8Array(favicon.bytes, {
|
|
2833
2839
|
status: 200,
|
|
2834
|
-
|
|
2835
|
-
|
|
2840
|
+
contentType: resolveStaticContentType(favicon.path, yield* effect.Path.Path),
|
|
2841
|
+
headers: inlineImageResponseHeaders(favicon.path)
|
|
2842
|
+
});
|
|
2836
2843
|
}).pipe(effect.Effect.catchTag("AuthError", respondToAuthError)));
|
|
2837
2844
|
const AvatarFormSchema = effect_Schema.Struct({ avatar: effect_unstable_http.Multipart.SingleFileSchema });
|
|
2838
2845
|
const PROJECT_ID_PATTERN = /^[A-Za-z0-9_-]+$/;
|
|
@@ -34793,7 +34800,7 @@ const scopedSafeTeardown = (label) => (effect$28) => effect.Effect.gen(function*
|
|
|
34793
34800
|
});
|
|
34794
34801
|
//#endregion
|
|
34795
34802
|
//#region package.json
|
|
34796
|
-
var version$1 = "0.1.
|
|
34803
|
+
var version$1 = "0.1.24";
|
|
34797
34804
|
//#endregion
|
|
34798
34805
|
//#region src/provider/Layers/CodexProvider.ts
|
|
34799
34806
|
const PROVIDER_PROBE_TIMEOUT_MS = 8e3;
|
|
@@ -49264,7 +49271,7 @@ async function readResourceTelemetryHistory(input) {
|
|
|
49264
49271
|
//#endregion
|
|
49265
49272
|
//#region src/diagnostics/ProcessDiagnostics.ts
|
|
49266
49273
|
const QUERY_TIMEOUT_MS = 3e3;
|
|
49267
|
-
const MAX_OUTPUT_BYTES = 4194304;
|
|
49274
|
+
const MAX_OUTPUT_BYTES$1 = 4194304;
|
|
49268
49275
|
const MAX_PROCESSES = 2e4;
|
|
49269
49276
|
/** Parse fixed numeric columns; never capture command-line arguments. */
|
|
49270
49277
|
function parseProcessTable(output) {
|
|
@@ -49345,7 +49352,7 @@ async function queryProcessTable(fresh = false) {
|
|
|
49345
49352
|
(0, node_child_process.execFile)("/bin/ps", ["-axo", "pid=,ppid=,lstart=,pcpu=,rss=,stat=,etime=,comm="], {
|
|
49346
49353
|
encoding: "utf8",
|
|
49347
49354
|
timeout: QUERY_TIMEOUT_MS,
|
|
49348
|
-
maxBuffer: MAX_OUTPUT_BYTES,
|
|
49355
|
+
maxBuffer: MAX_OUTPUT_BYTES$1,
|
|
49349
49356
|
env: {
|
|
49350
49357
|
...process.env,
|
|
49351
49358
|
LC_ALL: "C"
|
|
@@ -73603,6 +73610,8 @@ var RelayConnectionSession = class {
|
|
|
73603
73610
|
#frameDeliveryActive = false;
|
|
73604
73611
|
#settled = false;
|
|
73605
73612
|
#closed = false;
|
|
73613
|
+
#authenticationStarted = false;
|
|
73614
|
+
#rejectAuthentication;
|
|
73606
73615
|
#listeners;
|
|
73607
73616
|
constructor(options) {
|
|
73608
73617
|
this.#identity = options.identity;
|
|
@@ -73618,8 +73627,21 @@ var RelayConnectionSession = class {
|
|
|
73618
73627
|
get ready() {
|
|
73619
73628
|
return this.#ready;
|
|
73620
73629
|
}
|
|
73621
|
-
|
|
73622
|
-
if (this.#
|
|
73630
|
+
authenticate() {
|
|
73631
|
+
if (this.#authenticationStarted || this.#closed) return Promise.reject(new RelayConnectionError("internal_error"));
|
|
73632
|
+
this.#authenticationStarted = true;
|
|
73633
|
+
return new Promise((resolve, reject) => {
|
|
73634
|
+
this.#rejectAuthentication = reject;
|
|
73635
|
+
this.#authenticate().then((ready) => {
|
|
73636
|
+
this.#rejectAuthentication = void 0;
|
|
73637
|
+
resolve(ready);
|
|
73638
|
+
}, (error) => {
|
|
73639
|
+
this.#rejectAuthentication = void 0;
|
|
73640
|
+
reject(error);
|
|
73641
|
+
});
|
|
73642
|
+
});
|
|
73643
|
+
}
|
|
73644
|
+
async #authenticate() {
|
|
73623
73645
|
let auth;
|
|
73624
73646
|
try {
|
|
73625
73647
|
auth = await this.#identity.createRelayAuthenticationFrame(this.#hubOrigin, {
|
|
@@ -73668,6 +73690,7 @@ var RelayConnectionSession = class {
|
|
|
73668
73690
|
};
|
|
73669
73691
|
const onOpen = () => {
|
|
73670
73692
|
if (this.#closed) return;
|
|
73693
|
+
if (this.#timer !== void 0) this.#scheduler.clearTimeout(this.#timer);
|
|
73671
73694
|
try {
|
|
73672
73695
|
socket.send(authBytes);
|
|
73673
73696
|
} catch {
|
|
@@ -73741,6 +73764,7 @@ var RelayConnectionSession = class {
|
|
|
73741
73764
|
socket.addEventListener("message", onMessage);
|
|
73742
73765
|
socket.addEventListener("error", onError);
|
|
73743
73766
|
socket.addEventListener("close", onClose);
|
|
73767
|
+
this.#timer = this.#scheduler.setTimeout(() => fail(new RelayConnectionError("network")), require_collectUint8StreamText.RELAY_AUTHENTICATION_DEADLINE_MS);
|
|
73744
73768
|
});
|
|
73745
73769
|
}
|
|
73746
73770
|
/**
|
|
@@ -73772,6 +73796,11 @@ var RelayConnectionSession = class {
|
|
|
73772
73796
|
close() {
|
|
73773
73797
|
if (this.#closed) return;
|
|
73774
73798
|
this.#closed = true;
|
|
73799
|
+
if (!this.#settled) {
|
|
73800
|
+
this.#settled = true;
|
|
73801
|
+
this.#rejectAuthentication?.(new RelayConnectionError("network"));
|
|
73802
|
+
}
|
|
73803
|
+
this.#rejectAuthentication = void 0;
|
|
73775
73804
|
for (const frame of this.#pendingPostReadyFrames) clearRelayFrameBytes(frame);
|
|
73776
73805
|
this.#pendingPostReadyFrames = [];
|
|
73777
73806
|
this.#clearPendingAuthentication();
|
|
@@ -89730,83 +89759,173 @@ const ProviderRegistryLive = effect.Layer.effect(ProviderRegistry, effect.Effect
|
|
|
89730
89759
|
};
|
|
89731
89760
|
}));
|
|
89732
89761
|
//#endregion
|
|
89733
|
-
//#region src/project/
|
|
89734
|
-
|
|
89735
|
-
|
|
89736
|
-
|
|
89737
|
-
|
|
89738
|
-
|
|
89739
|
-
|
|
89740
|
-
|
|
89741
|
-
|
|
89742
|
-
|
|
89743
|
-
|
|
89744
|
-
|
|
89745
|
-
|
|
89746
|
-
|
|
89747
|
-
|
|
89748
|
-
|
|
89749
|
-
|
|
89750
|
-
|
|
89751
|
-
|
|
89752
|
-
|
|
89753
|
-
|
|
89754
|
-
|
|
89755
|
-
|
|
89756
|
-
|
|
89757
|
-
|
|
89758
|
-
|
|
89759
|
-
|
|
89760
|
-
|
|
89761
|
-
|
|
89762
|
-
|
|
89763
|
-
|
|
89764
|
-
|
|
89765
|
-
|
|
89766
|
-
|
|
89767
|
-
|
|
89768
|
-
|
|
89769
|
-
|
|
89770
|
-
|
|
89771
|
-
|
|
89772
|
-
|
|
89773
|
-
|
|
89774
|
-
|
|
89775
|
-
|
|
89776
|
-
|
|
89777
|
-
|
|
89778
|
-
|
|
89779
|
-
const
|
|
89780
|
-
|
|
89781
|
-
|
|
89782
|
-
|
|
89783
|
-
|
|
89784
|
-
|
|
89785
|
-
|
|
89786
|
-
|
|
89762
|
+
//#region src/project/projectFaviconWorker.ts
|
|
89763
|
+
/**
|
|
89764
|
+
* Serialized into a short-lived Node/Bun child. Keep this function self-contained:
|
|
89765
|
+
* opening a cloud-backed file can block in the kernel even after an async read
|
|
89766
|
+
* is cancelled. A separate process keeps optional icons out of the node's shared
|
|
89767
|
+
* filesystem/DNS worker pool, and lets the parent terminate a stalled read.
|
|
89768
|
+
*/
|
|
89769
|
+
function projectFaviconWorkerMain() {
|
|
89770
|
+
const fs = process.getBuiltinModule("node:fs");
|
|
89771
|
+
const path = process.getBuiltinModule("node:path");
|
|
89772
|
+
const iconLimit = 524288;
|
|
89773
|
+
const sourceLimit = 262144;
|
|
89774
|
+
const candidates = [
|
|
89775
|
+
"favicon.svg",
|
|
89776
|
+
"favicon.ico",
|
|
89777
|
+
"favicon.png",
|
|
89778
|
+
"public/favicon.svg",
|
|
89779
|
+
"public/favicon.ico",
|
|
89780
|
+
"public/favicon.png",
|
|
89781
|
+
"app/favicon.ico",
|
|
89782
|
+
"app/favicon.png",
|
|
89783
|
+
"app/icon.svg",
|
|
89784
|
+
"app/icon.png",
|
|
89785
|
+
"app/icon.ico",
|
|
89786
|
+
"src/favicon.ico",
|
|
89787
|
+
"src/favicon.svg",
|
|
89788
|
+
"src/app/favicon.ico",
|
|
89789
|
+
"src/app/icon.svg",
|
|
89790
|
+
"src/app/icon.png",
|
|
89791
|
+
"assets/icon.svg",
|
|
89792
|
+
"assets/icon.png",
|
|
89793
|
+
"assets/logo.svg",
|
|
89794
|
+
"assets/logo.png",
|
|
89795
|
+
".idea/icon.svg"
|
|
89796
|
+
];
|
|
89797
|
+
const sources = [
|
|
89798
|
+
"index.html",
|
|
89799
|
+
"public/index.html",
|
|
89800
|
+
"app/routes/__root.tsx",
|
|
89801
|
+
"src/routes/__root.tsx",
|
|
89802
|
+
"app/root.tsx",
|
|
89803
|
+
"src/root.tsx",
|
|
89804
|
+
"src/index.html"
|
|
89805
|
+
];
|
|
89806
|
+
try {
|
|
89807
|
+
const root = fs.realpathSync(process.argv[1]);
|
|
89808
|
+
const read = (relative, limit) => {
|
|
89809
|
+
let fd;
|
|
89810
|
+
try {
|
|
89811
|
+
const filename = fs.realpathSync(path.resolve(root, relative));
|
|
89812
|
+
const within = path.relative(root, filename);
|
|
89813
|
+
if (within === ".." || within.startsWith(`..${path.sep}`) || path.isAbsolute(within)) return null;
|
|
89814
|
+
fd = fs.openSync(filename, fs.constants.O_RDONLY | fs.constants.O_NONBLOCK);
|
|
89815
|
+
const stats = fs.fstatSync(fd);
|
|
89816
|
+
if (!stats.isFile() || stats.size > limit) return null;
|
|
89817
|
+
const bytes = Buffer.alloc(limit + 1);
|
|
89818
|
+
let length = 0;
|
|
89819
|
+
while (length < bytes.length) {
|
|
89820
|
+
const count = fs.readSync(fd, bytes, length, bytes.length - length, null);
|
|
89821
|
+
if (count === 0) break;
|
|
89822
|
+
length += count;
|
|
89823
|
+
}
|
|
89824
|
+
return length > limit ? null : {
|
|
89825
|
+
path: filename,
|
|
89826
|
+
bytes: bytes.subarray(0, length)
|
|
89827
|
+
};
|
|
89828
|
+
} catch {
|
|
89829
|
+
return null;
|
|
89830
|
+
} finally {
|
|
89831
|
+
if (fd !== void 0) fs.closeSync(fd);
|
|
89832
|
+
}
|
|
89833
|
+
};
|
|
89834
|
+
const send = (icon) => {
|
|
89835
|
+
process.stdout.write(JSON.stringify({
|
|
89836
|
+
path: icon.path,
|
|
89837
|
+
base64: icon.bytes.toString("base64")
|
|
89838
|
+
}));
|
|
89839
|
+
};
|
|
89787
89840
|
for (const candidate of candidates) {
|
|
89788
|
-
|
|
89789
|
-
if (
|
|
89841
|
+
const icon = read(candidate, iconLimit);
|
|
89842
|
+
if (icon) {
|
|
89843
|
+
send(icon);
|
|
89844
|
+
return;
|
|
89845
|
+
}
|
|
89790
89846
|
}
|
|
89791
|
-
|
|
89792
|
-
|
|
89793
|
-
|
|
89794
|
-
|
|
89795
|
-
const resolved = path.join(cwd, candidate);
|
|
89796
|
-
const existing = yield* findExistingFile(cwd, [resolved]);
|
|
89797
|
-
if (existing) return existing;
|
|
89798
|
-
}
|
|
89799
|
-
for (const sourceFile of ICON_SOURCE_FILES) {
|
|
89800
|
-
const sourcePath = path.join(cwd, sourceFile);
|
|
89801
|
-
const source = yield* fileSystem.readFileString(sourcePath).pipe(effect.Effect.catch(() => effect.Effect.succeed(null)));
|
|
89802
|
-
if (!source) continue;
|
|
89803
|
-
const href = extractIconHref(source);
|
|
89847
|
+
for (const source of sources) {
|
|
89848
|
+
const text = read(source, sourceLimit)?.bytes.toString("utf8");
|
|
89849
|
+
if (!text) continue;
|
|
89850
|
+
const href = text.match(/<link\b(?=[^>]*\brel=["'](?:icon|shortcut icon)["'])(?=[^>]*\bhref=["']([^"'?]+))[^>]*>/i)?.[1] ?? text.match(/(?=[^}]*\brel\s*:\s*["'](?:icon|shortcut icon)["'])(?=[^}]*\bhref\s*:\s*["']([^"'?]+))[^}]*/i)?.[1];
|
|
89804
89851
|
if (!href) continue;
|
|
89805
|
-
const
|
|
89806
|
-
|
|
89852
|
+
const clean = href.replace(/^\//, "");
|
|
89853
|
+
for (const candidate of [path.join("public", clean), clean]) {
|
|
89854
|
+
const icon = read(candidate, iconLimit);
|
|
89855
|
+
if (icon) {
|
|
89856
|
+
send(icon);
|
|
89857
|
+
return;
|
|
89858
|
+
}
|
|
89859
|
+
}
|
|
89807
89860
|
}
|
|
89808
|
-
|
|
89809
|
-
|
|
89861
|
+
} catch {}
|
|
89862
|
+
process.stdout.write("null");
|
|
89863
|
+
}
|
|
89864
|
+
const MAX_OUTPUT_BYTES = 786432;
|
|
89865
|
+
const WORKER_SCRIPT = `(${projectFaviconWorkerMain.toString()})()`;
|
|
89866
|
+
function readProjectFavicon(cwd, options = {}) {
|
|
89867
|
+
return new Promise((resolve) => {
|
|
89868
|
+
if (options.signal?.aborted) {
|
|
89869
|
+
resolve(null);
|
|
89870
|
+
return;
|
|
89871
|
+
}
|
|
89872
|
+
let child;
|
|
89873
|
+
const abort = () => {
|
|
89874
|
+
child?.kill("SIGKILL");
|
|
89875
|
+
};
|
|
89876
|
+
const cleanup = () => options.signal?.removeEventListener("abort", abort);
|
|
89877
|
+
options.signal?.addEventListener("abort", abort, { once: true });
|
|
89878
|
+
try {
|
|
89879
|
+
child = (options.execFile ?? node_child_process.execFile)(process.execPath, [
|
|
89880
|
+
"--eval",
|
|
89881
|
+
WORKER_SCRIPT,
|
|
89882
|
+
"--",
|
|
89883
|
+
cwd
|
|
89884
|
+
], {
|
|
89885
|
+
env: {
|
|
89886
|
+
...process.env,
|
|
89887
|
+
ELECTRON_RUN_AS_NODE: "1",
|
|
89888
|
+
NODE_OPTIONS: void 0,
|
|
89889
|
+
NODE_PATH: void 0
|
|
89890
|
+
},
|
|
89891
|
+
encoding: "utf8",
|
|
89892
|
+
timeout: options.timeoutMs ?? 1500,
|
|
89893
|
+
killSignal: "SIGKILL",
|
|
89894
|
+
maxBuffer: MAX_OUTPUT_BYTES,
|
|
89895
|
+
windowsHide: true
|
|
89896
|
+
}, (error, stdout) => {
|
|
89897
|
+
cleanup();
|
|
89898
|
+
if (error) {
|
|
89899
|
+
resolve(null);
|
|
89900
|
+
return;
|
|
89901
|
+
}
|
|
89902
|
+
try {
|
|
89903
|
+
const result = JSON.parse(stdout);
|
|
89904
|
+
if (typeof result !== "object" || result === null || !("path" in result) || !("base64" in result) || typeof result.path !== "string" || typeof result.base64 !== "string") {
|
|
89905
|
+
resolve(null);
|
|
89906
|
+
return;
|
|
89907
|
+
}
|
|
89908
|
+
const bytes = Buffer.from(result.base64, "base64");
|
|
89909
|
+
resolve(bytes.length <= 524288 ? {
|
|
89910
|
+
path: result.path,
|
|
89911
|
+
bytes
|
|
89912
|
+
} : null);
|
|
89913
|
+
} catch {
|
|
89914
|
+
resolve(null);
|
|
89915
|
+
}
|
|
89916
|
+
});
|
|
89917
|
+
if (options.signal?.aborted) abort();
|
|
89918
|
+
} catch {
|
|
89919
|
+
cleanup();
|
|
89920
|
+
resolve(null);
|
|
89921
|
+
}
|
|
89922
|
+
});
|
|
89923
|
+
}
|
|
89924
|
+
//#endregion
|
|
89925
|
+
//#region src/project/Layers/ProjectFaviconResolver.ts
|
|
89926
|
+
const makeProjectFaviconResolver = effect.Effect.gen(function* () {
|
|
89927
|
+
const workers = yield* effect_Semaphore.make(2);
|
|
89928
|
+
return { readIcon: (cwd) => workers.withPermit(effect.Effect.promise((signal) => readProjectFavicon(cwd, { signal }))).pipe(effect.Effect.timeout("5 seconds"), effect.Effect.catch(() => effect.Effect.succeed(null))) };
|
|
89810
89929
|
});
|
|
89811
89930
|
const ProjectFaviconResolverLive = effect.Layer.effect(ProjectFaviconResolver, makeProjectFaviconResolver);
|
|
89812
89931
|
//#endregion
|
|
@@ -92052,6 +92171,23 @@ const makeTraceSink = effect.Effect.fn("makeTraceSink")(function* (options) {
|
|
|
92052
92171
|
};
|
|
92053
92172
|
});
|
|
92054
92173
|
//#endregion
|
|
92174
|
+
//#region src/observability/HttpHeaderRedaction.ts
|
|
92175
|
+
/** Capture policy before HTTP tracing defers span completion outside its request context. */
|
|
92176
|
+
function makeHttpHeaderRedactor(names) {
|
|
92177
|
+
const redactedNames = [
|
|
92178
|
+
...names,
|
|
92179
|
+
require_collectUint8StreamText.LOCAL_INTRODUCTION_CONTROL_HEADER,
|
|
92180
|
+
"dpop",
|
|
92181
|
+
"dpop-nonce"
|
|
92182
|
+
];
|
|
92183
|
+
return (key, value) => {
|
|
92184
|
+
const match = /^http\.(?:request|response)\.header\.(.+)$/iu.exec(key);
|
|
92185
|
+
if (!match) return value;
|
|
92186
|
+
const name = match[1].toLowerCase();
|
|
92187
|
+
return String(effect_unstable_http.Headers.redact(effect_unstable_http.Headers.fromInput({ [name]: String(value) }), redactedNames)[name]);
|
|
92188
|
+
};
|
|
92189
|
+
}
|
|
92190
|
+
//#endregion
|
|
92055
92191
|
//#region src/observability/LocalFileTracer.ts
|
|
92056
92192
|
var LocalFileSpan = class {
|
|
92057
92193
|
_tag = "Span";
|
|
@@ -92068,9 +92204,11 @@ var LocalFileSpan = class {
|
|
|
92068
92204
|
events;
|
|
92069
92205
|
delegate;
|
|
92070
92206
|
push;
|
|
92071
|
-
|
|
92207
|
+
redactAttribute;
|
|
92208
|
+
constructor(options, delegate, push, redactAttribute) {
|
|
92072
92209
|
this.delegate = delegate;
|
|
92073
92210
|
this.push = push;
|
|
92211
|
+
this.redactAttribute = redactAttribute;
|
|
92074
92212
|
this.name = delegate.name;
|
|
92075
92213
|
this.spanId = delegate.spanId;
|
|
92076
92214
|
this.traceId = delegate.traceId;
|
|
@@ -92097,8 +92235,9 @@ var LocalFileSpan = class {
|
|
|
92097
92235
|
if (this.sampled) this.push(spanToTraceRecord(this));
|
|
92098
92236
|
}
|
|
92099
92237
|
attribute(key, value) {
|
|
92100
|
-
this.
|
|
92101
|
-
this.
|
|
92238
|
+
const redacted = this.redactAttribute(key, value);
|
|
92239
|
+
this.attributes.set(key, redacted);
|
|
92240
|
+
this.delegate.attribute(key, redacted);
|
|
92102
92241
|
}
|
|
92103
92242
|
event(name, startTime, attributes) {
|
|
92104
92243
|
const nextAttributes = attributes ?? {};
|
|
@@ -92115,6 +92254,7 @@ var LocalFileSpan = class {
|
|
|
92115
92254
|
}
|
|
92116
92255
|
};
|
|
92117
92256
|
const makeLocalFileTracer = effect.Effect.fn("makeLocalFileTracer")(function* (options) {
|
|
92257
|
+
const redactAttribute = makeHttpHeaderRedactor(yield* effect.Effect.service(effect_unstable_http.Headers.CurrentRedactedNames));
|
|
92118
92258
|
const sink = options.sink ?? (yield* makeTraceSink({
|
|
92119
92259
|
filePath: options.filePath,
|
|
92120
92260
|
maxBytes: options.maxBytes,
|
|
@@ -92124,7 +92264,7 @@ const makeLocalFileTracer = effect.Effect.fn("makeLocalFileTracer")(function* (o
|
|
|
92124
92264
|
const delegate = options.delegate ?? effect.Tracer.make({ span: (spanOptions) => new effect.Tracer.NativeSpan(spanOptions) });
|
|
92125
92265
|
return effect.Tracer.make({
|
|
92126
92266
|
span(spanOptions) {
|
|
92127
|
-
return new LocalFileSpan(spanOptions, delegate.span(spanOptions), sink.push);
|
|
92267
|
+
return new LocalFileSpan(spanOptions, delegate.span(spanOptions), sink.push, redactAttribute);
|
|
92128
92268
|
},
|
|
92129
92269
|
...delegate.context ? { context: delegate.context } : {}
|
|
92130
92270
|
});
|