ryco-cli 0.1.17 → 0.1.19
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/{AcpNativeLogging-qZgtIa5K.mjs → AcpNativeLogging-BnzQt9go.mjs} +2 -2
- package/dist/{AcpNativeLogging-OhEq3XNp.cjs → AcpNativeLogging-sb_DOSyg.cjs} +1 -1
- package/dist/{AzureDevOpsSourceControlProvider-Dyu8KQ_S.cjs → AzureDevOpsSourceControlProvider-BHtgXept.cjs} +2 -2
- package/dist/{AzureDevOpsSourceControlProvider-B0YsaJyI.mjs → AzureDevOpsSourceControlProvider-B_rxsveN.mjs} +3 -3
- package/dist/{BitbucketSourceControlProvider-B8IPx2Ad.mjs → BitbucketSourceControlProvider-BMaa5G9E.mjs} +3 -3
- package/dist/{BitbucketSourceControlProvider-3VHGKSl1.cjs → BitbucketSourceControlProvider-CAQf4Kv7.cjs} +2 -2
- package/dist/{ClaudeDriver-CBCy0_WX.cjs → ClaudeDriver-DfPigB1i.cjs} +123 -284
- package/dist/{ClaudeDriver-DsW8yDj9.mjs → ClaudeDriver-QCXWLMlT.mjs} +124 -285
- package/dist/{CodexDriver-3TZPgrGk.cjs → CodexDriver-BTZDfSTo.cjs} +3 -3
- package/dist/{CodexDriver-DLwPz5sk.mjs → CodexDriver-pMXV4cdE.mjs} +4 -4
- package/dist/{CodexTextGeneration-DLHSW4Mz.cjs → CodexTextGeneration-BNKVkvo9.cjs} +1 -1
- package/dist/{CodexTextGeneration-D1vV8grr.mjs → CodexTextGeneration-ES8U6XFV.mjs} +2 -2
- package/dist/{CopilotDriver-DXvGBv-s.mjs → CopilotDriver-B313kdfE.mjs} +4 -4
- package/dist/{CopilotDriver-C7a8IhyK.cjs → CopilotDriver-BCNHWlcE.cjs} +3 -3
- package/dist/{CursorDriver-uNsDetA3.cjs → CursorDriver-BOFTf_G1.cjs} +3 -3
- package/dist/{CursorDriver-CeB_vMKJ.mjs → CursorDriver-DtCq_M54.mjs} +4 -4
- package/dist/{ForgejoSourceControlProvider-Ds0rU_PN.mjs → ForgejoSourceControlProvider-BjJmvo0h.mjs} +3 -3
- package/dist/{ForgejoSourceControlProvider-CJLksvL_.cjs → ForgejoSourceControlProvider-Xx8gP9mV.cjs} +2 -2
- package/dist/{GitHubSourceControlProvider-C7CJAslU.mjs → GitHubSourceControlProvider-CwSuSyD7.mjs} +3 -3
- package/dist/{GitHubSourceControlProvider-CrYNFu8S.cjs → GitHubSourceControlProvider-oFASPn98.cjs} +2 -2
- package/dist/{GitLabSourceControlProvider-u-Y-e8PV.mjs → GitLabSourceControlProvider-BzOAAREX.mjs} +3 -3
- package/dist/{GitLabSourceControlProvider-jbX5M34A.cjs → GitLabSourceControlProvider-CfCdfJ4C.cjs} +2 -2
- package/dist/{GrokDriver-CFgjwnvE.mjs → GrokDriver-4ZUx36Bj.mjs} +4 -4
- package/dist/{GrokDriver-BJ00ZiYg.cjs → GrokDriver-CU16uh8w.cjs} +3 -3
- package/dist/{OpenCodeDriver-BTxd2Q3Q.cjs → OpenCodeDriver-B9Hxfodu.cjs} +2 -2
- package/dist/{OpenCodeDriver-DNApoGdu.mjs → OpenCodeDriver-CmoacKRC.mjs} +3 -3
- package/dist/{SourceControlProviderDiscoveryCatalog-CPO3a9_U.cjs → SourceControlProviderDiscoveryCatalog-DZrf3FFb.cjs} +1 -1
- package/dist/{SourceControlProviderDiscoveryCatalog-hXWNwRMn.mjs → SourceControlProviderDiscoveryCatalog-G0HUTo-t.mjs} +1 -1
- package/dist/bin.cjs +1020 -89
- package/dist/bin.mjs +1017 -91
- package/dist/client/assets/{AccountSettings-F4ZOTHid.js → AccountSettings-CTztI8Bi.js} +1 -1
- package/dist/client/assets/AiFocusSettings-3u1skSAb.js +1 -0
- package/dist/client/assets/{AnimatedHeight-BC-qaTJY.js → AnimatedHeight-Dhoy_tmE.js} +1 -1
- package/dist/client/assets/{AppearanceSettings-B6UaU-_a.js → AppearanceSettings-BR5lbrLN.js} +1 -1
- package/dist/client/assets/{BranchToolbar.logic-B2jdtYEs.js → BranchToolbar.logic-Dmwakdqj.js} +1 -1
- package/dist/client/assets/{ChatRightPanel-CxA4EQ1O.js → ChatRightPanel-DkOGSrAn.js} +6 -6
- package/dist/client/assets/{ChatThreadRouteView-BJ6OSbWZ.js → ChatThreadRouteView-CGYYcrsI.js} +1 -1
- package/dist/client/assets/CommandPaletteDialog-XNiKnBBc.js +1 -0
- package/dist/client/assets/{CompositeItem-97y1QiiT.js → CompositeItem-qhfO5Blk.js} +1 -1
- package/dist/client/assets/{CompositeRoot-C7Mz4Y_2.js → CompositeRoot-CXp9th_F.js} +1 -1
- package/dist/client/assets/{ConnectionsSettings-B8t9Z17K.js → ConnectionsSettings-BY3ddbHV.js} +2 -2
- package/dist/client/assets/{DiagnosticsSettings-Bt7j-SXg.js → DiagnosticsSettings-Ci3rPY6t.js} +1 -1
- package/dist/client/assets/{DialogHandle-Cl9dQBJp.js → DialogHandle-Bx9yEeA_.js} +1 -1
- package/dist/client/assets/{DialogPopup-a1M74u16.js → DialogPopup-DXniIm-O.js} +1 -1
- package/dist/client/assets/DialogRoot-Bk6gBQ5V.js +1 -0
- package/dist/client/assets/{DialogTitle-Bk-w3xLJ.js → DialogTitle-_K4jB_gk.js} +1 -1
- package/dist/client/assets/{DialogTrigger-D9nkMFu2.js → DialogTrigger-Dqu3mivf.js} +1 -1
- package/dist/client/assets/{DialogViewport-tgJz2Lwn.js → DialogViewport-D732iUV7.js} +1 -1
- package/dist/client/assets/{DraftChatThreadRouteView-BzcBT-YW.js → DraftChatThreadRouteView-Dywv4CEn.js} +1 -1
- package/dist/client/assets/{ExternalIdentityWeb.logic-Bn1HigS9.js → ExternalIdentityWeb.logic-CS0uWMYD.js} +1 -1
- package/dist/client/assets/{GlassSurface-CDok2tTN.js → GlassSurface-DvC0rFwP.js} +1 -1
- package/dist/client/assets/{HostedConnectionControls-DLrwfgKF.js → HostedConnectionControls-BvTKuCi3.js} +1 -1
- package/dist/client/assets/{HostedHubRoot-eqwMpBq5.js → HostedHubRoot-CP5muHrF.js} +1 -1
- package/dist/client/assets/{HostedNativeAuthorizationRoute-C11yMgF7.js → HostedNativeAuthorizationRoute-A5gRE9XG.js} +1 -1
- package/dist/client/assets/{HostedRelayTrustNotice-CMrrvMuJ.js → HostedRelayTrustNotice-DJHB-hdG.js} +1 -1
- package/dist/client/assets/{Icons-BEtED8P8.js → Icons-D3hxyIhB.js} +1 -1
- package/dist/client/assets/{IntegrationsSettingsPanel-rkW9RyYH.js → IntegrationsSettingsPanel-C84xzXbm.js} +1 -1
- package/dist/client/assets/{KeybindingsSettings-CjU5J7hU.js → KeybindingsSettings-Ch3AQ6Q-.js} +1 -1
- package/dist/client/assets/{McpServersSettings-D-Gq3vgy.js → McpServersSettings-9gaMeIPz.js} +1 -1
- package/dist/client/assets/{MobileSheet-BDvnUC5W.js → MobileSheet-CyXRW17C.js} +1 -1
- package/dist/client/assets/{NewWorktreeDialog-C4D-dD0C.js → NewWorktreeDialog-CkhG-yS2.js} +1 -1
- package/dist/client/assets/{NoActiveThreadState-z_FeP4Al.js → NoActiveThreadState-BLcjrUMm.js} +1 -1
- package/dist/client/assets/{NodeSecuritySettings-CMjnKY0w.js → NodeSecuritySettings-CfDwptzi.js} +1 -1
- package/dist/client/assets/{OpinionatedPluginsSettings-D9INVQf7.js → OpinionatedPluginsSettings-Dh6Ymfc-.js} +1 -1
- package/dist/client/assets/{PhoneGetAppInterstitial-B8iVzT22.js → PhoneGetAppInterstitial-BP2XMKHP.js} +1 -1
- package/dist/client/assets/{PhoneGetAppInterstitialBackdrop-BA4R225F.js → PhoneGetAppInterstitialBackdrop-B0rZOvB2.js} +1 -1
- package/dist/client/assets/{PhoneHome-BonZTgK7.js → PhoneHome-Cx7nMLqo.js} +1 -1
- package/dist/client/assets/PhoneSettingsSurface-kXeokfgI.js +1 -0
- package/dist/client/assets/{ProjectFavicon-CxXx07Sa.js → ProjectFavicon-BcX_Ec0T.js} +1 -1
- package/dist/client/assets/ProviderModelPicker-0XHZhfEq.js +1 -0
- package/dist/client/assets/{ProviderUpdateLaunchNotification.logic-CywRitn3.js → ProviderUpdateLaunchNotification.logic-BdeBHnT4.js} +1 -1
- package/dist/client/assets/{ProvidersSettingsPanel-CtTyCMP0.js → ProvidersSettingsPanel-m1r_skHL.js} +1 -1
- package/dist/client/assets/{RedactedSensitiveText-BuWSWty8.js → RedactedSensitiveText-D7gjFW0p.js} +1 -1
- package/dist/client/assets/RootAppShell-dI1nMiVY.js +6 -0
- package/dist/client/assets/{RycoLetterMark-CZYntY8t.js → RycoLetterMark-JQr1uxZT.js} +1 -1
- package/dist/client/assets/SettingsDialog-CHOdPMdL.js +1 -0
- package/dist/client/assets/SettingsPanels-B2k-6Ehb.js +3 -0
- package/dist/client/assets/{SettingsPanels.editor-lbLEbllb.js → SettingsPanels.editor-DvS8npAI.js} +1 -1
- package/dist/client/assets/{SourceControlSettings-C_GMp7qk.js → SourceControlSettings-CokcENz_.js} +1 -1
- package/dist/client/assets/{StatisticsPage-CDukahZF.js → StatisticsPage-TN6yaBa1.js} +1 -1
- package/dist/client/assets/{StatisticsPanel-BTdaxoVf.js → StatisticsPanel-BKw4XkjR.js} +1 -1
- package/dist/client/assets/{StatisticsSettingsLink-B7SZerf3.js → StatisticsSettingsLink-tBTypC6v.js} +1 -1
- package/dist/client/assets/{ThreadStatusIndicators-D_6jI6us.js → ThreadStatusIndicators-Zvgn04Dn.js} +0 -0
- package/dist/client/assets/{ThreadTerminalDrawer-C2B3Ry66.js → ThreadTerminalDrawer-BI6ku1uz.js} +1 -1
- package/dist/client/assets/{ThreadWorkspacePanel-D8gR7mQC.js → ThreadWorkspacePanel-DwaK2nc1.js} +1 -1
- package/dist/client/assets/{ToolbarRootContext-B1g8IP6k.js → ToolbarRootContext-BXZDNd0W.js} +1 -1
- package/dist/client/assets/{WorkItemsTab-QQXGM1BH.js → WorkItemsTab-Cxn1bSXE.js} +4 -4
- package/dist/client/assets/{alert-DomE7dAt.js → alert-DzagxL5z.js} +1 -1
- package/dist/client/assets/{alert-dialog-9Jyh0e8u.js → alert-dialog-CQaNXuTj.js} +1 -1
- package/dist/client/assets/archive-BL1hojl3.js +1 -0
- package/dist/client/assets/authorization-D3QNaV6E.js +1 -0
- package/dist/client/assets/{badge-w43sx8eF.js → badge-C5_ROuZu.js} +1 -1
- package/dist/client/assets/{branding-BS9Iv2ln.js → branding-BBkacezg.js} +1 -1
- package/dist/client/assets/{button-DG8WqjNn.js → button-84K7n2wA.js} +1 -1
- package/dist/client/assets/{capabilities-tpmeGBtr.js → capabilities-D1zCmMpy.js} +1 -1
- package/dist/client/assets/{chatThreadActions-BZvyhfKr.js → chatThreadActions-VKH852R7.js} +1 -1
- package/dist/client/assets/{collapsible-EhAEe5S9.js → collapsible-BSEa-ORB.js} +1 -1
- package/dist/client/assets/{command-Cyn6yIEa.js → command-C_cBoAjK.js} +1 -1
- package/dist/client/assets/composerDraftStore-DM8BJvHt.js +11 -0
- package/dist/client/assets/{data-list-DTdqWMGN.js → data-list-D98sJjJQ.js} +1 -1
- package/dist/client/assets/desktopUpdateAtoms-B8Szv6by.js +1 -0
- package/dist/client/assets/{desktopWorkspace-CIvAIvMt.js → desktopWorkspace-V4qpyp0M.js} +1 -1
- package/dist/client/assets/{device-B3lHunk1.js → device-CNHT_o2u.js} +1 -1
- package/dist/client/assets/{dialog-BNmFD6Nh.js → dialog-ekyTdmtN.js} +1 -1
- package/dist/client/assets/{draft-input-dP7F8odz.js → draft-input-BzdYQSqp.js} +1 -1
- package/dist/client/assets/editorPreferences-n_SEOStx.js +1 -0
- package/dist/client/assets/{empty-Ccxhyvdf.js → empty-Bo-8VHEg.js} +1 -1
- package/dist/client/assets/{env-Bcq9YR3B.js → env-Clz4p9nL.js} +1 -1
- package/dist/client/assets/{getPseudoElementBounds-CO5HJT7x.js → getPseudoElementBounds-2BN7VP7X.js} +1 -1
- package/dist/client/assets/{group-CzdKmc45.js → group-NJVrmJK2.js} +1 -1
- package/dist/client/assets/{index-C536LXZ6.js → index-D4BJ8pQ9.js} +2 -2
- package/dist/client/assets/{input-BZz4eLRl.js → input-Zumpn45a.js} +1 -1
- package/dist/client/assets/{kbd-DbvN3zTb.js → kbd-BmI1rkHM.js} +1 -1
- package/dist/client/assets/{keybindings-BPE3eEAM.js → keybindings-uuaAI71h.js} +1 -1
- package/dist/client/assets/{label-DZf4lbNF.js → label-DYSChiPa.js} +1 -1
- package/dist/client/assets/{lib-DgOYoged.js → lib-BHW_qN3R.js} +1 -1
- package/dist/client/assets/{logging-81iP6Hps.js → logging-Bj9aNa1i.js} +1 -1
- package/dist/client/assets/main-CgLLEwXi.css +2 -0
- package/dist/client/assets/{main-BjfqengQ.js → main-YXgtRMJq.js} +2 -2
- package/dist/client/assets/{menu-B6UEFcn0.js → menu-DNSzJ_Xt.js} +1 -1
- package/dist/client/assets/{popover-BuYzXGwl.js → popover-CN-oXBGi.js} +1 -1
- package/dist/client/assets/primary-DjvrcOzR.js +2 -0
- package/dist/client/assets/{projectPaths-3WDk4ziK.js → projectPaths-Da79jKxq.js} +1 -1
- package/dist/client/assets/{providerDriverMeta-sBwZhQoN.js → providerDriverMeta-C5Ifsitu.js} +1 -1
- package/dist/client/assets/{providerIconUtils-DLRASbiu.js → providerIconUtils-DzYW2dg3.js} +1 -1
- package/dist/client/assets/providerInstances-DuEFgB4d.js +1 -0
- package/dist/client/assets/providerModels-DuEFgB4d.js +1 -0
- package/dist/client/assets/{qr-code-Ie92aZvE.js → qr-code-LEPl28s1.js} +1 -1
- package/dist/client/assets/{radio-group-BuuTEtdC.js → radio-group-DUiKilPu.js} +1 -1
- package/dist/client/assets/{resolveAriaLabelledBy-0FA0k4xp.js → resolveAriaLabelledBy-zZ8aBV0g.js} +1 -1
- package/dist/client/assets/{rightPanelRouteSearch-BS8CkNS6.js → rightPanelRouteSearch-BvTNRdcl.js} +1 -1
- package/dist/client/assets/runtime-rC2k29TW.js +1 -0
- package/dist/client/assets/{scroll-area-C0yF015F.js → scroll-area-CBSY6ISs.js} +1 -1
- package/dist/client/assets/{scrollEdges-DI5Y3mtR.js → scrollEdges-q2Ioxety.js} +1 -1
- package/dist/client/assets/{select-CZukJlTn.js → select-CY7KGJfs.js} +1 -1
- package/dist/client/assets/{separator-D4ckGtPe.js → separator-BhDQoah6.js} +1 -1
- package/dist/client/assets/{session-logic-DfaSS3p9.js → session-logic-yjU32k5M.js} +2 -2
- package/dist/client/assets/{settingsDialogStore-LxRFC5hh.js → settingsDialogStore-3FuA919f.js} +1 -1
- package/dist/client/assets/{settingsLayout-CHJT5wtl.js → settingsLayout-Bdb0BKqT.js} +1 -1
- package/dist/client/assets/{sheet-BNfImQ-7.js → sheet-CAyuCkkv.js} +1 -1
- package/dist/client/assets/{sidebar-CFGg5Tkr.js → sidebar-BJtWwdvq.js} +1 -1
- package/dist/client/assets/{sidebarProjectFolders-DKxZsoOv.js → sidebarProjectFolders-alWDQ6Ua.js} +1 -1
- package/dist/client/assets/{sidebarStatusText-C8QBhZhZ.js → sidebarStatusText-CFZFs_GL.js} +1 -1
- package/dist/client/assets/{skeleton-DOgQaVXv.js → skeleton-DVOyUeDB.js} +1 -1
- package/dist/client/assets/{spinner-ClQu8SdC.js → spinner-QltLJ3rj.js} +1 -1
- package/dist/client/assets/{src-DmPIm3ie.js → src-DUTt1PTH.js} +1 -1
- package/dist/client/assets/storeSelectors-9DTss3Bt.js +1 -0
- package/dist/client/assets/{switch-BZjA7VT9.js → switch-Buq6cQMX.js} +1 -1
- package/dist/client/assets/{terminal-links-CzJomeox.js → terminal-links-B5riX-FI.js} +1 -1
- package/dist/client/assets/{textarea-DHdmRD1r.js → textarea-oR-QEhm-.js} +1 -1
- package/dist/client/assets/{threadPinning-UKIVw0OX.js → threadPinning-DTdgSmd6.js} +1 -1
- package/dist/client/assets/{threadPriorityRefreshRuntime-BbiIUPfh.js → threadPriorityRefreshRuntime-C9_hY5A-.js} +1 -1
- package/dist/client/assets/{toast-C-0Ft2jD.js → toast-ClkUrsPP.js} +1 -1
- package/dist/client/assets/{toggle-DsnOFDbJ.js → toggle-CFeFFpQ7.js} +1 -1
- package/dist/client/assets/{toggle-group-Chxh9G6t.js → toggle-group-DTpGnsyn.js} +1 -1
- package/dist/client/assets/{tooltip-C_-9XEfA.js → tooltip-C0IyzT7d.js} +1 -1
- package/dist/client/assets/types-9DTss3Bt.js +1 -0
- package/dist/client/assets/{uiStateStore-DzUrk2GS.js → uiStateStore-77JarUWB.js} +1 -1
- package/dist/client/assets/{useAtlassian-BTWMzLgJ.js → useAtlassian-CCX2YMMO.js} +0 -0
- package/dist/client/assets/{useButton-BmvYhoMC.js → useButton-DqpJ6e75.js} +1 -1
- package/dist/client/assets/{useCompositeListItem-D0PvH4nv.js → useCompositeListItem-Dsvm-5fB.js} +1 -1
- package/dist/client/assets/{useDebouncedValue-s0BC8Yyp.js → useDebouncedValue-CEauJPrh.js} +1 -1
- package/dist/client/assets/{useFloatingRootContext-CLCaQEJk.js → useFloatingRootContext-6_Jqtexa.js} +1 -1
- package/dist/client/assets/{useHandleNewThread-9FAjhuhK.js → useHandleNewThread-Cqmf_d8K.js} +1 -1
- package/dist/client/assets/{useLabelableId-CB_9OReR.js → useLabelableId-C6SFj1V_.js} +1 -1
- package/dist/client/assets/{useLocation-DGJMt6gP.js → useLocation-B6GbzsxV.js} +1 -1
- package/dist/client/assets/{useOpenInteractionType-BSSI2GzS.js → useOpenInteractionType-Dz3FMr9X.js} +1 -1
- package/dist/client/assets/{usePhoneThreadActions-B7yDFO2l.js → usePhoneThreadActions-CCCWjAtp.js} +1 -1
- package/dist/client/assets/{usePopupViewport-8F-J1h5f.js → usePopupViewport-BlA5mlIJ.js} +1 -1
- package/dist/client/assets/{useScrollLock-CBz-5_MX.js → useScrollLock-DfvnGWSO.js} +1 -1
- package/dist/client/assets/{useStatistics-C9g3i7bQ.js → useStatistics-Cm_ww9Q5.js} +2 -2
- package/dist/client/assets/{useSwipeDismiss-D22_vuiH.js → useSwipeDismiss-DTX51-vs.js} +1 -1
- package/dist/client/assets/{useThreadActions-CouKkjbt.js → useThreadActions-BQRfXVVz.js} +1 -1
- package/dist/client/assets/{useTriggerFocusGuards-f7afwACm.js → useTriggerFocusGuards-9BE2fzWh.js} +1 -1
- package/dist/client/assets/{useValueChanged-EkWF0C3k.js → useValueChanged-BLrOCH_k.js} +1 -1
- package/dist/client/assets/{utils-CV2fJJxC.js → utils-CjMKiqw4.js} +1 -1
- package/dist/client/index.html +1 -1
- package/dist/{collectUint8StreamText-oFvWyN3_.mjs → collectUint8StreamText-BIOBnIzb.mjs} +18 -2
- package/dist/{collectUint8StreamText-Dsbmrw73.cjs → collectUint8StreamText-CJEzr0MN.cjs} +23 -1
- package/dist/{makeManagedServerProvider-PLtJj7EV.mjs → makeManagedServerProvider-CMwrPtKm.mjs} +2 -2
- package/dist/{makeManagedServerProvider-CANTNAsz.cjs → makeManagedServerProvider-CkLRh_mS.cjs} +1 -1
- package/package.json +1 -1
- package/dist/client/assets/AiFocusSettings-DwIYKKIc.js +0 -1
- package/dist/client/assets/CommandPaletteDialog-DywhkOKa.js +0 -1
- package/dist/client/assets/DialogRoot-C_DO1gtO.js +0 -1
- package/dist/client/assets/PhoneSettingsSurface-B-6LoBMV.js +0 -1
- package/dist/client/assets/ProviderModelPicker-M_Ezjlmq.js +0 -1
- package/dist/client/assets/RootAppShell-DJfVW8Xa.js +0 -6
- package/dist/client/assets/SettingsDialog-ClIbtJ2y.js +0 -1
- package/dist/client/assets/SettingsPanels-DshjYQGk.js +0 -3
- package/dist/client/assets/authorization-D8lJzXTE.js +0 -1
- package/dist/client/assets/composerDraftStore-TYv9j3vY.js +0 -11
- package/dist/client/assets/desktopUpdateAtoms-BpN7gP0v.js +0 -1
- package/dist/client/assets/editorPreferences-DiUypD3L.js +0 -1
- package/dist/client/assets/main-DlGNPwsH.css +0 -2
- package/dist/client/assets/primary-CiDY2oUi.js +0 -2
- package/dist/client/assets/providerInstances-vd2eZtHx.js +0 -1
- package/dist/client/assets/providerModels-vd2eZtHx.js +0 -1
- package/dist/client/assets/runtime-CYtynKGT.js +0 -1
- package/dist/client/assets/storeSelectors-BeLJe5C1.js +0 -1
- package/dist/client/assets/types-BeLJe5C1.js +0 -1
package/dist/bin.cjs
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
4
4
|
const require_rolldown_runtime = require("./rolldown-runtime-LGfotAqq.cjs");
|
|
5
|
-
const require_collectUint8StreamText = require("./collectUint8StreamText-
|
|
5
|
+
const require_collectUint8StreamText = require("./collectUint8StreamText-CJEzr0MN.cjs");
|
|
6
6
|
const require_Metrics = require("./Metrics-DIjMQ5pa.cjs");
|
|
7
|
-
const require_SourceControlProviderDiscoveryCatalog = require("./SourceControlProviderDiscoveryCatalog-
|
|
7
|
+
const require_SourceControlProviderDiscoveryCatalog = require("./SourceControlProviderDiscoveryCatalog-DZrf3FFb.cjs");
|
|
8
8
|
const require_sourceControl = require("./sourceControl-B0D1Op29.cjs");
|
|
9
9
|
let _effect_platform_node_NodeRuntime = require("@effect/platform-node/NodeRuntime");
|
|
10
10
|
_effect_platform_node_NodeRuntime = require_rolldown_runtime.__toESM(_effect_platform_node_NodeRuntime, 1);
|
|
@@ -2827,6 +2827,10 @@ function comparePrereleaseIdentifier(left, right) {
|
|
|
2827
2827
|
if (rightNumeric) return 1;
|
|
2828
2828
|
return left.localeCompare(right);
|
|
2829
2829
|
}
|
|
2830
|
+
/** True when `version` parses as a CLI semver (`major.minor[.patch][-pre]`). */
|
|
2831
|
+
function isParseableCliVersion(version) {
|
|
2832
|
+
return parseCliSemver(version) !== null;
|
|
2833
|
+
}
|
|
2830
2834
|
function compareCliVersions(left, right) {
|
|
2831
2835
|
const parsedLeft = parseCliSemver(left);
|
|
2832
2836
|
const parsedRight = parseCliSemver(right);
|
|
@@ -3181,7 +3185,7 @@ function makeUpdateState(input) {
|
|
|
3181
3185
|
output: input.output ?? null
|
|
3182
3186
|
};
|
|
3183
3187
|
}
|
|
3184
|
-
const make$
|
|
3188
|
+
const make$23 = effect.Effect.fn("ProviderMaintenanceRunner.make")(function* () {
|
|
3185
3189
|
const providerRegistry = yield* ProviderRegistry;
|
|
3186
3190
|
const spawner = yield* effect_unstable_process.ChildProcessSpawner.ChildProcessSpawner;
|
|
3187
3191
|
const httpClient = yield* effect_unstable_http.HttpClient.HttpClient;
|
|
@@ -3293,7 +3297,7 @@ const make$22 = effect.Effect.fn("ProviderMaintenanceRunner.make")(function* ()
|
|
|
3293
3297
|
});
|
|
3294
3298
|
return ProviderMaintenanceRunner.of({ updateProvider });
|
|
3295
3299
|
});
|
|
3296
|
-
const layer$
|
|
3300
|
+
const layer$20 = effect.Layer.effect(ProviderMaintenanceRunner, make$23());
|
|
3297
3301
|
//#endregion
|
|
3298
3302
|
//#region src/persistence/Errors.ts
|
|
3299
3303
|
var PersistenceSqlError = class extends effect.Schema.TaggedError()("PersistenceSqlError", {
|
|
@@ -6304,7 +6308,7 @@ function decodeAzureDevOpsJson(raw, schema, operation, invalidDetail) {
|
|
|
6304
6308
|
cause: error
|
|
6305
6309
|
})));
|
|
6306
6310
|
}
|
|
6307
|
-
const make$
|
|
6311
|
+
const make$22 = effect.Effect.fn("makeAzureDevOpsCli")(function* () {
|
|
6308
6312
|
const process = yield* require_SourceControlProviderDiscoveryCatalog.VcsProcess;
|
|
6309
6313
|
const execute = (input) => process.run({
|
|
6310
6314
|
operation: "AzureDevOpsCli.execute",
|
|
@@ -6552,7 +6556,7 @@ const make$21 = effect.Effect.fn("makeAzureDevOpsCli")(function* () {
|
|
|
6552
6556
|
}
|
|
6553
6557
|
});
|
|
6554
6558
|
});
|
|
6555
|
-
const layer$
|
|
6559
|
+
const layer$19 = effect.Layer.effect(AzureDevOpsCli, make$22());
|
|
6556
6560
|
//#endregion
|
|
6557
6561
|
//#region src/sourceControl/bitbucketIssues.ts
|
|
6558
6562
|
const BitbucketUserSchema$1 = effect.Schema.Struct({
|
|
@@ -6808,7 +6812,7 @@ function normalizedOrigin(value) {
|
|
|
6808
6812
|
return null;
|
|
6809
6813
|
}
|
|
6810
6814
|
}
|
|
6811
|
-
const make$
|
|
6815
|
+
const make$21 = effect.Effect.fn("makeAtlassianConnectionService")(function* () {
|
|
6812
6816
|
const connections = yield* AtlassianConnectionRepository;
|
|
6813
6817
|
const resources = yield* AtlassianResourceRepository;
|
|
6814
6818
|
const projectLinks = yield* ProjectAtlassianLinkRepository;
|
|
@@ -6979,7 +6983,7 @@ const make$20 = effect.Effect.fn("makeAtlassianConnectionService")(function* ()
|
|
|
6979
6983
|
}))
|
|
6980
6984
|
});
|
|
6981
6985
|
});
|
|
6982
|
-
const layer$
|
|
6986
|
+
const layer$18 = effect.Layer.effect(AtlassianConnectionService, make$21());
|
|
6983
6987
|
//#endregion
|
|
6984
6988
|
//#region src/git/remoteRefs.ts
|
|
6985
6989
|
function parseRemoteNamesInGitOrder(stdout) {
|
|
@@ -8698,12 +8702,12 @@ const makeVcsDriver = effect.Effect.fn("makeGitVcsDriver")(function* () {
|
|
|
8698
8702
|
const driver = yield* makeVcsDriverShape();
|
|
8699
8703
|
return VcsDriver.of(driver);
|
|
8700
8704
|
});
|
|
8701
|
-
const make$
|
|
8705
|
+
const make$20 = effect.Effect.fn("makeGitVcsDriverService")(function* () {
|
|
8702
8706
|
const git = yield* makeGitVcsDriverCore();
|
|
8703
8707
|
return GitVcsDriver.of(git);
|
|
8704
8708
|
});
|
|
8705
8709
|
effect.Layer.effect(VcsDriver, makeVcsDriver());
|
|
8706
|
-
const layer$
|
|
8710
|
+
const layer$17 = effect.Layer.effect(GitVcsDriver, make$20());
|
|
8707
8711
|
//#endregion
|
|
8708
8712
|
//#region src/vcs/VcsProjectConfig.ts
|
|
8709
8713
|
const ProjectVcsConfig = effect.Schema.Struct({
|
|
@@ -8722,7 +8726,7 @@ function parseConfig(raw) {
|
|
|
8722
8726
|
return null;
|
|
8723
8727
|
}
|
|
8724
8728
|
}
|
|
8725
|
-
const make$
|
|
8729
|
+
const make$19 = effect.Effect.fn("makeVcsProjectConfig")(function* () {
|
|
8726
8730
|
const fileSystem = yield* effect.FileSystem.FileSystem;
|
|
8727
8731
|
const path = yield* effect.Path.Path;
|
|
8728
8732
|
const findConfigPath = effect.Effect.fn("VcsProjectConfig.findConfigPath")(function* (cwd) {
|
|
@@ -8756,7 +8760,7 @@ const make$18 = effect.Effect.fn("makeVcsProjectConfig")(function* () {
|
|
|
8756
8760
|
});
|
|
8757
8761
|
return VcsProjectConfig.of({ resolveKind });
|
|
8758
8762
|
});
|
|
8759
|
-
const layer$
|
|
8763
|
+
const layer$16 = effect.Layer.effect(VcsProjectConfig, make$19());
|
|
8760
8764
|
//#endregion
|
|
8761
8765
|
//#region src/vcs/VcsDriverRegistry.ts
|
|
8762
8766
|
const DETECTION_CACHE_CAPACITY = 2048;
|
|
@@ -8781,7 +8785,7 @@ function parseDetectionCacheKey(key) {
|
|
|
8781
8785
|
cwd: key.slice(separatorIndex + 1)
|
|
8782
8786
|
};
|
|
8783
8787
|
}
|
|
8784
|
-
const make$
|
|
8788
|
+
const make$18 = effect.Effect.fn("makeVcsDriverRegistry")(function* () {
|
|
8785
8789
|
const projectConfig = yield* VcsProjectConfig;
|
|
8786
8790
|
const git = yield* makeVcsDriverShape();
|
|
8787
8791
|
const drivers = { git };
|
|
@@ -8830,7 +8834,7 @@ const make$17 = effect.Effect.fn("makeVcsDriverRegistry")(function* () {
|
|
|
8830
8834
|
resolve
|
|
8831
8835
|
});
|
|
8832
8836
|
});
|
|
8833
|
-
const layer$
|
|
8837
|
+
const layer$15 = effect.Layer.effect(VcsDriverRegistry, make$18()).pipe(effect.Layer.provide(layer$16));
|
|
8834
8838
|
//#endregion
|
|
8835
8839
|
//#region src/sourceControl/BitbucketApi.ts
|
|
8836
8840
|
const DEFAULT_API_BASE_URL = "https://api.bitbucket.org/2.0";
|
|
@@ -9154,7 +9158,7 @@ function responseError$2(operation, response) {
|
|
|
9154
9158
|
detail: body.trim().length > 0 ? `Bitbucket returned HTTP ${response.status}: ${body.trim()}` : `Bitbucket returned HTTP ${response.status}.`
|
|
9155
9159
|
}))));
|
|
9156
9160
|
}
|
|
9157
|
-
const make$
|
|
9161
|
+
const make$17 = effect.Effect.fn("makeBitbucketApi")(function* () {
|
|
9158
9162
|
const config = yield* BitbucketApiEnvConfig;
|
|
9159
9163
|
const atlassianConnections = yield* AtlassianConnectionRepository;
|
|
9160
9164
|
const secretStore = yield* ServerSecretStore;
|
|
@@ -9495,7 +9499,7 @@ const make$16 = effect.Effect.fn("makeBitbucketApi")(function* () {
|
|
|
9495
9499
|
}
|
|
9496
9500
|
});
|
|
9497
9501
|
});
|
|
9498
|
-
const layer$
|
|
9502
|
+
const layer$14 = effect.Layer.effect(BitbucketApi, make$17());
|
|
9499
9503
|
//#endregion
|
|
9500
9504
|
//#region src/sourceControl/forgejoIssues.ts
|
|
9501
9505
|
const ForgejoUserSchema = effect.Schema.Struct({
|
|
@@ -10016,7 +10020,7 @@ function responseError$1(operation, response) {
|
|
|
10016
10020
|
detail: body.trim().length > 0 ? `Forgejo returned HTTP ${response.status}: ${body.trim()}` : `Forgejo returned HTTP ${response.status}.`
|
|
10017
10021
|
}))));
|
|
10018
10022
|
}
|
|
10019
|
-
const make$
|
|
10023
|
+
const make$16 = effect.Effect.fn("makeForgejoApi")(function* () {
|
|
10020
10024
|
const config = yield* ForgejoApiEnvConfig;
|
|
10021
10025
|
const httpClient = yield* effect_unstable_http.HttpClient.HttpClient;
|
|
10022
10026
|
const fileSystem = yield* effect.FileSystem.FileSystem;
|
|
@@ -10313,7 +10317,7 @@ const make$15 = effect.Effect.fn("makeForgejoApi")(function* () {
|
|
|
10313
10317
|
}
|
|
10314
10318
|
});
|
|
10315
10319
|
});
|
|
10316
|
-
const layer$
|
|
10320
|
+
const layer$13 = effect.Layer.effect(ForgejoApi, make$16());
|
|
10317
10321
|
//#endregion
|
|
10318
10322
|
//#region src/sourceControl/gitHubReactions.ts
|
|
10319
10323
|
const RawGitHubReactionGroupSchema = effect.Schema.Struct({
|
|
@@ -11447,7 +11451,7 @@ function mergeCommentReactionGroups(comments, groups) {
|
|
|
11447
11451
|
};
|
|
11448
11452
|
});
|
|
11449
11453
|
}
|
|
11450
|
-
const make$
|
|
11454
|
+
const make$15 = effect.Effect.fn("makeGitHubCli")(function* () {
|
|
11451
11455
|
const process = yield* require_SourceControlProviderDiscoveryCatalog.VcsProcess;
|
|
11452
11456
|
const execute = (input) => process.run({
|
|
11453
11457
|
operation: "GitHubCli.execute",
|
|
@@ -12028,7 +12032,7 @@ const make$14 = effect.Effect.fn("makeGitHubCli")(function* () {
|
|
|
12028
12032
|
}), { normalizeWorkflowRerunErrors: true }).pipe(effect.Effect.asVoid)
|
|
12029
12033
|
});
|
|
12030
12034
|
});
|
|
12031
|
-
const layer$
|
|
12035
|
+
const layer$12 = effect.Layer.effect(GitHubCli, make$15());
|
|
12032
12036
|
//#endregion
|
|
12033
12037
|
//#region src/sourceControl/gitLabIssues.ts
|
|
12034
12038
|
const GitLabIssueSchema = effect.Schema.Struct({
|
|
@@ -12320,7 +12324,7 @@ function parseRepositoryPath(repository) {
|
|
|
12320
12324
|
projectPath
|
|
12321
12325
|
};
|
|
12322
12326
|
}
|
|
12323
|
-
const make$
|
|
12327
|
+
const make$14 = effect.Effect.fn("makeGitLabCli")(function* () {
|
|
12324
12328
|
const process = yield* require_SourceControlProviderDiscoveryCatalog.VcsProcess;
|
|
12325
12329
|
const execute = (input) => process.run({
|
|
12326
12330
|
operation: "GitLabCli.execute",
|
|
@@ -12528,7 +12532,7 @@ const make$13 = effect.Effect.fn("makeGitLabCli")(function* () {
|
|
|
12528
12532
|
})
|
|
12529
12533
|
});
|
|
12530
12534
|
});
|
|
12531
|
-
const layer$
|
|
12535
|
+
const layer$11 = effect.Layer.effect(GitLabCli, make$14());
|
|
12532
12536
|
//#endregion
|
|
12533
12537
|
//#region src/sourceControl/SourceControlProviderRegistry.ts
|
|
12534
12538
|
const PROVIDER_DETECTION_CACHE_CAPACITY = 2048;
|
|
@@ -12844,7 +12848,7 @@ const makeWithProviders = effect.Effect.fn("makeSourceControlProviderRegistryWit
|
|
|
12844
12848
|
})), { concurrency: "unbounded" })
|
|
12845
12849
|
});
|
|
12846
12850
|
});
|
|
12847
|
-
const make$
|
|
12851
|
+
const make$13 = effect.Effect.fn("makeSourceControlProviderRegistry")(function* () {
|
|
12848
12852
|
const githubCli = yield* GitHubCli;
|
|
12849
12853
|
const gitlabCli = yield* GitLabCli;
|
|
12850
12854
|
const bitbucketApi = yield* BitbucketApi;
|
|
@@ -12852,26 +12856,26 @@ const make$12 = effect.Effect.fn("makeSourceControlProviderRegistry")(function*
|
|
|
12852
12856
|
const azureDevOpsCli = yield* AzureDevOpsCli;
|
|
12853
12857
|
const fileSystem = yield* effect.FileSystem.FileSystem;
|
|
12854
12858
|
const github = yield* makeLazyProvider("github", effect.Effect.tryPromise({
|
|
12855
|
-
try: () => Promise.resolve().then(() => require("./GitHubSourceControlProvider-
|
|
12859
|
+
try: () => Promise.resolve().then(() => require("./GitHubSourceControlProvider-oFASPn98.cjs")),
|
|
12856
12860
|
catch: (cause) => providerLoadError("github", cause)
|
|
12857
12861
|
}).pipe(effect.Effect.flatMap((module) => module.make()), effect.Effect.provideService(GitHubCli, githubCli), effect.Effect.provideService(effect.FileSystem.FileSystem, fileSystem)));
|
|
12858
12862
|
const gitlab = yield* makeLazyProvider("gitlab", effect.Effect.tryPromise({
|
|
12859
|
-
try: () => Promise.resolve().then(() => require("./GitLabSourceControlProvider-
|
|
12863
|
+
try: () => Promise.resolve().then(() => require("./GitLabSourceControlProvider-CfCdfJ4C.cjs")),
|
|
12860
12864
|
catch: (cause) => providerLoadError("gitlab", cause)
|
|
12861
12865
|
}).pipe(effect.Effect.flatMap((module) => module.make()), effect.Effect.provideService(GitLabCli, gitlabCli)));
|
|
12862
12866
|
const bitbucket = yield* makeLazyProvider("bitbucket", effect.Effect.tryPromise({
|
|
12863
|
-
try: () => Promise.resolve().then(() => require("./BitbucketSourceControlProvider-
|
|
12867
|
+
try: () => Promise.resolve().then(() => require("./BitbucketSourceControlProvider-CAQf4Kv7.cjs")),
|
|
12864
12868
|
catch: (cause) => providerLoadError("bitbucket", cause)
|
|
12865
12869
|
}).pipe(effect.Effect.flatMap((module) => module.make()), effect.Effect.provideService(BitbucketApi, bitbucketApi)), {
|
|
12866
12870
|
searchRepositories: true,
|
|
12867
12871
|
cloneAuthentication: true
|
|
12868
12872
|
});
|
|
12869
12873
|
const forgejo = yield* makeLazyProvider("forgejo", effect.Effect.tryPromise({
|
|
12870
|
-
try: () => Promise.resolve().then(() => require("./ForgejoSourceControlProvider-
|
|
12874
|
+
try: () => Promise.resolve().then(() => require("./ForgejoSourceControlProvider-Xx8gP9mV.cjs")),
|
|
12871
12875
|
catch: (cause) => providerLoadError("forgejo", cause)
|
|
12872
12876
|
}).pipe(effect.Effect.flatMap((module) => module.make()), effect.Effect.provideService(ForgejoApi, forgejoApi)));
|
|
12873
12877
|
const azureDevOps = yield* makeLazyProvider("azure-devops", effect.Effect.tryPromise({
|
|
12874
|
-
try: () => Promise.resolve().then(() => require("./AzureDevOpsSourceControlProvider-
|
|
12878
|
+
try: () => Promise.resolve().then(() => require("./AzureDevOpsSourceControlProvider-BHtgXept.cjs")),
|
|
12875
12879
|
catch: (cause) => providerLoadError("azure-devops", cause)
|
|
12876
12880
|
}).pipe(effect.Effect.flatMap((module) => module.make()), effect.Effect.provideService(AzureDevOpsCli, azureDevOpsCli)));
|
|
12877
12881
|
const bitbucketDiscovery = require_SourceControlProviderDiscoveryCatalog.makeBitbucketDiscovery(bitbucketApi);
|
|
@@ -12905,7 +12909,7 @@ const make$12 = effect.Effect.fn("makeSourceControlProviderRegistry")(function*
|
|
|
12905
12909
|
}
|
|
12906
12910
|
]);
|
|
12907
12911
|
});
|
|
12908
|
-
const layer$
|
|
12912
|
+
const layer$10 = effect.Layer.effect(SourceControlProviderRegistry, make$13());
|
|
12909
12913
|
//#endregion
|
|
12910
12914
|
//#region src/sourceControl/SourceControlDiscovery.ts
|
|
12911
12915
|
const VCS_PROBES = [{
|
|
@@ -12926,7 +12930,7 @@ const VCS_PROBES = [{
|
|
|
12926
12930
|
const DISCOVERY_CACHE_KEY = "source-control-discovery";
|
|
12927
12931
|
const SOURCE_CONTROL_DISCOVERY_CACHE_TTL = effect.Duration.seconds(5);
|
|
12928
12932
|
var SourceControlDiscovery = class extends effect.Context.Service()("ryco/source-control/SourceControlDiscovery") {};
|
|
12929
|
-
const layer$
|
|
12933
|
+
const layer$9 = effect.Layer.effect(SourceControlDiscovery, effect.Effect.gen(function* () {
|
|
12930
12934
|
const config = yield* require_Metrics.ServerConfig;
|
|
12931
12935
|
const process = yield* require_SourceControlProviderDiscoveryCatalog.VcsProcess;
|
|
12932
12936
|
const sourceControlProviders = yield* SourceControlProviderRegistry;
|
|
@@ -31727,7 +31731,7 @@ const makeTerminationError = (handle) => effect_Effect.match(handle.exitCode, {
|
|
|
31727
31731
|
//#endregion
|
|
31728
31732
|
//#region ../../packages/effect-codex-app-server/src/client.ts
|
|
31729
31733
|
var CodexAppServerClient = class extends effect_Context.Service()("effect-codex-app-server/CodexAppServerClient") {};
|
|
31730
|
-
const make$
|
|
31734
|
+
const make$12 = effect_Effect.fn("effect-codex-app-server/CodexAppServerClient.make")(function* (stdio, options = {}, terminationError) {
|
|
31731
31735
|
const requestHandlers = /* @__PURE__ */ new Map();
|
|
31732
31736
|
const notificationHandlers = /* @__PURE__ */ new Map();
|
|
31733
31737
|
let unknownRequestHandler;
|
|
@@ -31794,7 +31798,7 @@ const make$11 = effect_Effect.fn("effect-codex-app-server/CodexAppServerClient.m
|
|
|
31794
31798
|
const layerChildProcess = (handle, options = {}) => {
|
|
31795
31799
|
const stdio = makeChildStdio(handle);
|
|
31796
31800
|
const terminationError = makeTerminationError(handle);
|
|
31797
|
-
return effect_Layer.effect(CodexAppServerClient, make$
|
|
31801
|
+
return effect_Layer.effect(CodexAppServerClient, make$12(stdio, options, terminationError));
|
|
31798
31802
|
};
|
|
31799
31803
|
const layerCommand = (options) => effect_Layer.effect(CodexAppServerClient, effect_Effect.acquireRelease(effect_Effect.gen(function* () {
|
|
31800
31804
|
const spawner = yield* effect_unstable_process.ChildProcessSpawner.ChildProcessSpawner;
|
|
@@ -31810,7 +31814,7 @@ const layerCommand = (options) => effect_Layer.effect(CodexAppServerClient, effe
|
|
|
31810
31814
|
command: [options.command, ...options.args ?? []].join(" "),
|
|
31811
31815
|
cause
|
|
31812
31816
|
})));
|
|
31813
|
-
}), (handle) => handle.kill().pipe(effect_Effect.orDie)).pipe(effect_Effect.flatMap((handle) => make$
|
|
31817
|
+
}), (handle) => handle.kill().pipe(effect_Effect.orDie)).pipe(effect_Effect.flatMap((handle) => make$12(makeChildStdio(handle), options, makeTerminationError(handle)))));
|
|
31814
31818
|
//#endregion
|
|
31815
31819
|
//#region src/processRunner.ts
|
|
31816
31820
|
function commandLabel(command, args) {
|
|
@@ -33325,7 +33329,7 @@ const BUILT_IN_DRIVERS = [
|
|
|
33325
33329
|
configSchema: require_collectUint8StreamText.CodexSettings,
|
|
33326
33330
|
defaultConfig: () => effect.Schema.decodeSync(require_collectUint8StreamText.CodexSettings)({}),
|
|
33327
33331
|
create: (input) => effect.Effect.tryPromise({
|
|
33328
|
-
try: () => Promise.resolve().then(() => require("./CodexDriver-
|
|
33332
|
+
try: () => Promise.resolve().then(() => require("./CodexDriver-BTZDfSTo.cjs")),
|
|
33329
33333
|
catch: (cause) => driverImportError(codexDriverKind, input, cause)
|
|
33330
33334
|
}).pipe(effect.Effect.flatMap(({ CodexDriver }) => CodexDriver.create(input)))
|
|
33331
33335
|
},
|
|
@@ -33339,7 +33343,7 @@ const BUILT_IN_DRIVERS = [
|
|
|
33339
33343
|
configSchema: require_collectUint8StreamText.ClaudeSettings,
|
|
33340
33344
|
defaultConfig: () => effect.Schema.decodeSync(require_collectUint8StreamText.ClaudeSettings)({}),
|
|
33341
33345
|
create: (input) => effect.Effect.tryPromise({
|
|
33342
|
-
try: () => Promise.resolve().then(() => require("./ClaudeDriver-
|
|
33346
|
+
try: () => Promise.resolve().then(() => require("./ClaudeDriver-DfPigB1i.cjs")),
|
|
33343
33347
|
catch: (cause) => driverImportError(claudeDriverKind, input, cause)
|
|
33344
33348
|
}).pipe(effect.Effect.flatMap(({ ClaudeDriver }) => ClaudeDriver.create(input)))
|
|
33345
33349
|
},
|
|
@@ -33353,7 +33357,7 @@ const BUILT_IN_DRIVERS = [
|
|
|
33353
33357
|
configSchema: require_collectUint8StreamText.CopilotSettings,
|
|
33354
33358
|
defaultConfig: () => effect.Schema.decodeSync(require_collectUint8StreamText.CopilotSettings)({}),
|
|
33355
33359
|
create: (input) => effect.Effect.tryPromise({
|
|
33356
|
-
try: () => Promise.resolve().then(() => require("./CopilotDriver-
|
|
33360
|
+
try: () => Promise.resolve().then(() => require("./CopilotDriver-BCNHWlcE.cjs")),
|
|
33357
33361
|
catch: (cause) => driverImportError(copilotDriverKind, input, cause)
|
|
33358
33362
|
}).pipe(effect.Effect.flatMap(({ CopilotDriver }) => CopilotDriver.create(input)))
|
|
33359
33363
|
},
|
|
@@ -33367,7 +33371,7 @@ const BUILT_IN_DRIVERS = [
|
|
|
33367
33371
|
configSchema: require_collectUint8StreamText.CursorSettings,
|
|
33368
33372
|
defaultConfig: () => effect.Schema.decodeSync(require_collectUint8StreamText.CursorSettings)({}),
|
|
33369
33373
|
create: (input) => effect.Effect.tryPromise({
|
|
33370
|
-
try: () => Promise.resolve().then(() => require("./CursorDriver-
|
|
33374
|
+
try: () => Promise.resolve().then(() => require("./CursorDriver-BOFTf_G1.cjs")),
|
|
33371
33375
|
catch: (cause) => driverImportError(cursorDriverKind, input, cause)
|
|
33372
33376
|
}).pipe(effect.Effect.flatMap(({ CursorDriver }) => CursorDriver.create(input)))
|
|
33373
33377
|
},
|
|
@@ -33381,7 +33385,7 @@ const BUILT_IN_DRIVERS = [
|
|
|
33381
33385
|
configSchema: require_collectUint8StreamText.GrokSettings,
|
|
33382
33386
|
defaultConfig: () => effect.Schema.decodeSync(require_collectUint8StreamText.GrokSettings)({}),
|
|
33383
33387
|
create: (input) => effect.Effect.tryPromise({
|
|
33384
|
-
try: () => Promise.resolve().then(() => require("./GrokDriver-
|
|
33388
|
+
try: () => Promise.resolve().then(() => require("./GrokDriver-CU16uh8w.cjs")),
|
|
33385
33389
|
catch: (cause) => driverImportError(grokDriverKind, input, cause)
|
|
33386
33390
|
}).pipe(effect.Effect.flatMap(({ GrokDriver }) => GrokDriver.create(input)))
|
|
33387
33391
|
},
|
|
@@ -33395,7 +33399,7 @@ const BUILT_IN_DRIVERS = [
|
|
|
33395
33399
|
configSchema: require_collectUint8StreamText.OpenCodeSettings,
|
|
33396
33400
|
defaultConfig: () => effect.Schema.decodeSync(require_collectUint8StreamText.OpenCodeSettings)({}),
|
|
33397
33401
|
create: (input) => effect.Effect.tryPromise({
|
|
33398
|
-
try: () => Promise.resolve().then(() => require("./OpenCodeDriver-
|
|
33402
|
+
try: () => Promise.resolve().then(() => require("./OpenCodeDriver-B9Hxfodu.cjs")),
|
|
33399
33403
|
catch: (cause) => driverImportError(openCodeDriverKind, input, cause)
|
|
33400
33404
|
}).pipe(effect.Effect.flatMap(({ OpenCodeDriver }) => OpenCodeDriver.create(input)))
|
|
33401
33405
|
}
|
|
@@ -34110,7 +34114,7 @@ const scopedSafeTeardown = (label) => (effect$28) => effect.Effect.gen(function*
|
|
|
34110
34114
|
});
|
|
34111
34115
|
//#endregion
|
|
34112
34116
|
//#region package.json
|
|
34113
|
-
var version$
|
|
34117
|
+
var version$2 = "0.1.19";
|
|
34114
34118
|
//#endregion
|
|
34115
34119
|
//#region src/provider/Layers/CodexProvider.ts
|
|
34116
34120
|
const PROVIDER_PROBE_TIMEOUT_MS = 8e3;
|
|
@@ -34280,7 +34284,7 @@ function buildCodexInitializeParams() {
|
|
|
34280
34284
|
clientInfo: {
|
|
34281
34285
|
name: "ryco_desktop",
|
|
34282
34286
|
title: "Ryco Desktop",
|
|
34283
|
-
version: version$
|
|
34287
|
+
version: version$2
|
|
34284
34288
|
},
|
|
34285
34289
|
capabilities: { experimentalApi: true }
|
|
34286
34290
|
};
|
|
@@ -37482,7 +37486,7 @@ const launchDetached = (launch) => effect.Effect.gen(function* () {
|
|
|
37482
37486
|
}))));
|
|
37483
37487
|
});
|
|
37484
37488
|
});
|
|
37485
|
-
const make$
|
|
37489
|
+
const make$11 = effect.Effect.gen(function* () {
|
|
37486
37490
|
const open = yield* effect.Effect.tryPromise({
|
|
37487
37491
|
try: () => import("open"),
|
|
37488
37492
|
catch: (cause) => new require_collectUint8StreamText.OpenError({
|
|
@@ -37501,7 +37505,7 @@ const make$10 = effect.Effect.gen(function* () {
|
|
|
37501
37505
|
openInEditor: (input) => effect.Effect.flatMap(resolveEditorLaunch(input), launchDetached)
|
|
37502
37506
|
};
|
|
37503
37507
|
});
|
|
37504
|
-
const OpenLive = effect.Layer.effect(Open, make$
|
|
37508
|
+
const OpenLive = effect.Layer.effect(Open, make$11);
|
|
37505
37509
|
//#endregion
|
|
37506
37510
|
//#region src/orchestration/Services/OrchestrationEngine.ts
|
|
37507
37511
|
/**
|
|
@@ -40976,7 +40980,7 @@ const makeTextGenerationFromRegistry = (registry) => ({
|
|
|
40976
40980
|
generateIssueContent: (input) => resolveInstance(registry, "generateIssueContent", input.modelSelection.instanceId).pipe(effect.Effect.flatMap((textGeneration) => textGeneration.generateIssueContent(input))),
|
|
40977
40981
|
rankInboxThreads: (input) => resolveInstance(registry, "rankInboxThreads", input.modelSelection.instanceId).pipe(effect.Effect.flatMap((textGeneration) => textGeneration.rankInboxThreads(input)))
|
|
40978
40982
|
});
|
|
40979
|
-
const layer$
|
|
40983
|
+
const layer$8 = effect.Layer.effect(TextGeneration, effect.Effect.gen(function* () {
|
|
40980
40984
|
const registry = yield* ProviderInstanceRegistry;
|
|
40981
40985
|
return makeTextGenerationFromRegistry(registry);
|
|
40982
40986
|
}));
|
|
@@ -42101,7 +42105,7 @@ const makeGitManager = effect.Effect.fn("makeGitManager")(function* () {
|
|
|
42101
42105
|
})
|
|
42102
42106
|
};
|
|
42103
42107
|
});
|
|
42104
|
-
const layer$
|
|
42108
|
+
const layer$7 = effect.Layer.effect(GitManager, makeGitManager());
|
|
42105
42109
|
//#endregion
|
|
42106
42110
|
//#region src/git/GitWorkflowService.ts
|
|
42107
42111
|
var GitWorkflowService = class extends effect.Context.Service()("ryco/git/GitWorkflowService") {};
|
|
@@ -42148,7 +42152,7 @@ function nonRepositoryListRefs() {
|
|
|
42148
42152
|
totalCount: 0
|
|
42149
42153
|
};
|
|
42150
42154
|
}
|
|
42151
|
-
const make$
|
|
42155
|
+
const make$10 = effect.Effect.fn("makeGitWorkflowService")(function* () {
|
|
42152
42156
|
const registry = yield* VcsDriverRegistry;
|
|
42153
42157
|
const git = yield* GitVcsDriver;
|
|
42154
42158
|
const gitManager = yield* GitManager;
|
|
@@ -42203,7 +42207,7 @@ const make$9 = effect.Effect.fn("makeGitWorkflowService")(function* () {
|
|
|
42203
42207
|
renameBranch: (input) => ensureGit("GitWorkflowService.renameBranch", input.cwd).pipe(effect.Effect.andThen(git.renameBranch(input)))
|
|
42204
42208
|
});
|
|
42205
42209
|
});
|
|
42206
|
-
const layer$
|
|
42210
|
+
const layer$6 = effect.Layer.effect(GitWorkflowService, make$10());
|
|
42207
42211
|
//#endregion
|
|
42208
42212
|
//#region src/vcs/VcsStatusBroadcaster.ts
|
|
42209
42213
|
const DEFAULT_VCS_STATUS_REFRESH_INTERVAL = effect.Duration.seconds(30);
|
|
@@ -42227,7 +42231,7 @@ function remoteRefreshFailureDelay(consecutiveFailures, configuredInterval) {
|
|
|
42227
42231
|
const cappedBackoff = effect.Duration.min(effect.Duration.millis(backoffMs), VCS_STATUS_REFRESH_FAILURE_MAX_DELAY);
|
|
42228
42232
|
return effect.Duration.max(configuredInterval, cappedBackoff);
|
|
42229
42233
|
}
|
|
42230
|
-
const layer$
|
|
42234
|
+
const layer$5 = effect.Layer.effect(VcsStatusBroadcaster, effect.Effect.gen(function* () {
|
|
42231
42235
|
const workflow = yield* GitWorkflowService;
|
|
42232
42236
|
const changesPubSub = yield* effect.Effect.acquireRelease(effect.PubSub.sliding(64), (pubsub) => effect.PubSub.shutdown(pubsub));
|
|
42233
42237
|
const broadcasterScope = yield* effect.Effect.acquireRelease(effect.Scope.make(), (scope) => effect.Scope.close(scope, effect.Exit.void));
|
|
@@ -42437,7 +42441,7 @@ function resolveRequestedKind(kind) {
|
|
|
42437
42441
|
}));
|
|
42438
42442
|
return effect.Effect.succeed(kind);
|
|
42439
42443
|
}
|
|
42440
|
-
const make$
|
|
42444
|
+
const make$9 = effect.Effect.fn("makeVcsProvisioningService")(function* () {
|
|
42441
42445
|
const registry = yield* VcsDriverRegistry;
|
|
42442
42446
|
const initRepository = effect.Effect.fn("VcsProvisioningService.initRepository")(function* (input) {
|
|
42443
42447
|
const kind = yield* resolveRequestedKind(input.kind);
|
|
@@ -42445,7 +42449,7 @@ const make$8 = effect.Effect.fn("makeVcsProvisioningService")(function* () {
|
|
|
42445
42449
|
});
|
|
42446
42450
|
return VcsProvisioningService.of({ initRepository });
|
|
42447
42451
|
});
|
|
42448
|
-
const layer$
|
|
42452
|
+
const layer$4 = effect.Layer.effect(VcsProvisioningService, make$9());
|
|
42449
42453
|
//#endregion
|
|
42450
42454
|
//#region src/project/Services/RepositoryIdentityResolver.ts
|
|
42451
42455
|
var RepositoryIdentityResolver = class extends effect.Context.Service()("ryco/project/Services/RepositoryIdentityResolver") {};
|
|
@@ -42692,7 +42696,7 @@ function removeUrlCredentials(remoteUrl) {
|
|
|
42692
42696
|
return remoteUrl;
|
|
42693
42697
|
}
|
|
42694
42698
|
}
|
|
42695
|
-
const make$
|
|
42699
|
+
const make$8 = effect.Effect.fn("makeSourceControlRepositoryService")(function* () {
|
|
42696
42700
|
const config = yield* require_Metrics.ServerConfig;
|
|
42697
42701
|
const fileSystem = yield* effect.FileSystem.FileSystem;
|
|
42698
42702
|
const git = yield* GitVcsDriver;
|
|
@@ -42937,7 +42941,7 @@ const make$7 = effect.Effect.fn("makeSourceControlRepositoryService")(function*
|
|
|
42937
42941
|
publishRepository: (input) => publishRepository(input).pipe(mapRepositoryError("publishRepository", input.provider))
|
|
42938
42942
|
});
|
|
42939
42943
|
});
|
|
42940
|
-
const layer$
|
|
42944
|
+
const layer$3 = effect.Layer.effect(SourceControlRepositoryService, make$8());
|
|
42941
42945
|
//#endregion
|
|
42942
42946
|
//#region src/auth/Services/BootstrapCredentialService.ts
|
|
42943
42947
|
var BootstrapCredentialError = class extends effect.Data.TaggedError("BootstrapCredentialError") {};
|
|
@@ -43457,7 +43461,7 @@ function mapActivity(changelog) {
|
|
|
43457
43461
|
return mapped;
|
|
43458
43462
|
}).filter((entry) => entry.items.length > 0);
|
|
43459
43463
|
}
|
|
43460
|
-
const make$
|
|
43464
|
+
const make$7 = effect.Effect.fn("makeJiraWorkItemService")(function* () {
|
|
43461
43465
|
const connections = yield* AtlassianConnectionRepository;
|
|
43462
43466
|
const projectLinks = yield* ProjectAtlassianLinkRepository;
|
|
43463
43467
|
const secretStore = yield* ServerSecretStore;
|
|
@@ -43713,7 +43717,7 @@ const make$6 = effect.Effect.fn("makeJiraWorkItemService")(function* () {
|
|
|
43713
43717
|
})
|
|
43714
43718
|
});
|
|
43715
43719
|
});
|
|
43716
|
-
const layer$
|
|
43720
|
+
const layer$2 = effect.Layer.effect(JiraWorkItemService, make$7());
|
|
43717
43721
|
//#endregion
|
|
43718
43722
|
//#region src/remote/Services/AdvertisedEndpointRegistry.ts
|
|
43719
43723
|
var AdvertisedEndpointRegistry = class extends effect.Context.Service()("ryco/remote/Services/AdvertisedEndpointRegistry") {};
|
|
@@ -49512,7 +49516,7 @@ const makeContextHandoffRepository = effect.Effect.gen(function* () {
|
|
|
49512
49516
|
const ContextHandoffRepositoryLive = effect.Layer.effect(ContextHandoffRepository, makeContextHandoffRepository);
|
|
49513
49517
|
//#endregion
|
|
49514
49518
|
//#region src/ws.ts
|
|
49515
|
-
const makeServerWsRpcLayer = (principal) => makeWsRpcLayer(principal).pipe(effect.Layer.provide(ContextHandoffInspectionLive.pipe(effect.Layer.provide(ContextHandoffRepositoryLive), effect.Layer.provide(layerConfig))), effect.Layer.provideMerge(effect_unstable_rpc.RpcSerialization.layerJson), effect.Layer.provide(layer$
|
|
49519
|
+
const makeServerWsRpcLayer = (principal) => makeWsRpcLayer(principal).pipe(effect.Layer.provide(ContextHandoffInspectionLive.pipe(effect.Layer.provide(ContextHandoffRepositoryLive), effect.Layer.provide(layerConfig))), effect.Layer.provideMerge(effect_unstable_rpc.RpcSerialization.layerJson), effect.Layer.provide(layer$20), effect.Layer.provide(layer$9.pipe(effect.Layer.provide(layer$10.pipe(effect.Layer.provide(effect.Layer.mergeAll(layer$19, layer$14, layer$13, layer$12, layer$11)), effect.Layer.provideMerge(AtlassianConnectionRepositoryLive), effect.Layer.provideMerge(layerConfig), effect.Layer.provide(ServerSecretStoreLive), effect.Layer.provideMerge(layer$17), effect.Layer.provide(layer$15.pipe(effect.Layer.provide(layer$16))))), effect.Layer.provide(require_SourceControlProviderDiscoveryCatalog.layer))));
|
|
49516
49520
|
const websocketRpcRouteLayer = effect.Layer.unwrap(effect.Effect.succeed(effect_unstable_http.HttpRouter.add("GET", "/ws", effect.Effect.gen(function* () {
|
|
49517
49521
|
const request = yield* effect_unstable_http.HttpServerRequest.HttpServerRequest;
|
|
49518
49522
|
const serverAuth = yield* ServerAuth;
|
|
@@ -70994,7 +70998,7 @@ var RelaySendQueue = class {
|
|
|
70994
70998
|
* *is* the negotiated version of every channel on the connection, and a contract
|
|
70995
70999
|
* bump moves both together instead of leaving a stale literal behind.
|
|
70996
71000
|
*/
|
|
70997
|
-
const version = {
|
|
71001
|
+
const version$1 = {
|
|
70998
71002
|
protocolMajor: 1,
|
|
70999
71003
|
protocolMinor: 2
|
|
71000
71004
|
};
|
|
@@ -71116,7 +71120,7 @@ var RelayChannelRegistry = class {
|
|
|
71116
71120
|
entry.graceFrames = 0;
|
|
71117
71121
|
this.#enqueueControl({
|
|
71118
71122
|
type: "flow.resume",
|
|
71119
|
-
...version,
|
|
71123
|
+
...version$1,
|
|
71120
71124
|
channelId: entry.channelId
|
|
71121
71125
|
});
|
|
71122
71126
|
}
|
|
@@ -71177,7 +71181,7 @@ var RelayChannelRegistry = class {
|
|
|
71177
71181
|
try {
|
|
71178
71182
|
if (options.notifyPeer ?? reason !== void 0) this.#enqueueControl({
|
|
71179
71183
|
type: "channel.close",
|
|
71180
|
-
...version,
|
|
71184
|
+
...version$1,
|
|
71181
71185
|
channelId,
|
|
71182
71186
|
...reason === void 0 ? {} : { reason }
|
|
71183
71187
|
});
|
|
@@ -71285,7 +71289,7 @@ var RelayChannelRegistry = class {
|
|
|
71285
71289
|
if (this.#stopping || frame.capability !== "ryco.rpc" || frame.effectiveRole === void 0 || this.#channels.size + this.#preparing.size >= this.#limits.maxChannels || this.#channels.has(key) || this.#preparing.has(key)) {
|
|
71286
71290
|
this.#enqueueControl({
|
|
71287
71291
|
type: "channel.reject",
|
|
71288
|
-
...version,
|
|
71292
|
+
...version$1,
|
|
71289
71293
|
channelId: frame.channelId,
|
|
71290
71294
|
reason: this.#stopping ? "server_draining" : "channel_rejected"
|
|
71291
71295
|
});
|
|
@@ -71308,7 +71312,7 @@ var RelayChannelRegistry = class {
|
|
|
71308
71312
|
if (prepared.kind === "error") return this.#refuse(frame.channelId, prepared.reason, options);
|
|
71309
71313
|
if (!this.#sendQueue.enqueueDataBatch(prepared.payloads.map((payload, index) => ({
|
|
71310
71314
|
type: "data",
|
|
71311
|
-
...version,
|
|
71315
|
+
...version$1,
|
|
71312
71316
|
channelId: frame.channelId,
|
|
71313
71317
|
sequence: outputSequence + index,
|
|
71314
71318
|
payload: Uint8Array.from(payload)
|
|
@@ -71344,7 +71348,7 @@ var RelayChannelRegistry = class {
|
|
|
71344
71348
|
channelId: frame.channelId,
|
|
71345
71349
|
capability: frame.capability,
|
|
71346
71350
|
effectiveRole: role,
|
|
71347
|
-
...version,
|
|
71351
|
+
...version$1,
|
|
71348
71352
|
connection: this.#connection,
|
|
71349
71353
|
send,
|
|
71350
71354
|
admit,
|
|
@@ -71372,7 +71376,7 @@ var RelayChannelRegistry = class {
|
|
|
71372
71376
|
this.#channels.set(key, entry);
|
|
71373
71377
|
this.#enqueueControl({
|
|
71374
71378
|
type: "channel.accept",
|
|
71375
|
-
...version,
|
|
71379
|
+
...version$1,
|
|
71376
71380
|
channelId: frame.channelId
|
|
71377
71381
|
});
|
|
71378
71382
|
} catch (error) {
|
|
@@ -71383,7 +71387,7 @@ var RelayChannelRegistry = class {
|
|
|
71383
71387
|
}
|
|
71384
71388
|
this.#enqueueControl({
|
|
71385
71389
|
type: "channel.reject",
|
|
71386
|
-
...version,
|
|
71390
|
+
...version$1,
|
|
71387
71391
|
channelId: frame.channelId,
|
|
71388
71392
|
reason: this.#stopping ? "server_draining" : "channel_rejected"
|
|
71389
71393
|
});
|
|
@@ -71433,7 +71437,7 @@ var RelayChannelRegistry = class {
|
|
|
71433
71437
|
entry.graceFrames = 0;
|
|
71434
71438
|
this.#enqueueControl({
|
|
71435
71439
|
type: "flow.pause",
|
|
71436
|
-
...version,
|
|
71440
|
+
...version$1,
|
|
71437
71441
|
channelId: frame.channelId
|
|
71438
71442
|
});
|
|
71439
71443
|
}
|
|
@@ -75410,7 +75414,7 @@ const makeAnalyticsService = effect.Effect.gen(function* () {
|
|
|
75410
75414
|
platform: process.platform,
|
|
75411
75415
|
wsl: process.env.WSL_DISTRO_NAME,
|
|
75412
75416
|
arch: process.arch,
|
|
75413
|
-
rycoVersion: version$
|
|
75417
|
+
rycoVersion: version$2,
|
|
75414
75418
|
clientType
|
|
75415
75419
|
},
|
|
75416
75420
|
timestamp: event.capturedAt
|
|
@@ -75877,17 +75881,42 @@ var AsyncRotatingFileSink = class {
|
|
|
75877
75881
|
function isMissingFileError(error) {
|
|
75878
75882
|
return typeof error === "object" && error !== null && "code" in error && error.code === "ENOENT";
|
|
75879
75883
|
}
|
|
75880
|
-
|
|
75881
|
-
//#region src/provider/Layers/EventNdjsonLogger.ts
|
|
75884
|
+
const EVENT_LOG_FILE_PATTERN = /\.log(?:\.\d+)?$/;
|
|
75882
75885
|
/**
|
|
75883
|
-
*
|
|
75884
|
-
*
|
|
75885
|
-
*
|
|
75886
|
-
*
|
|
75887
|
-
* downgraded to warnings so provider runtime behavior is unaffected.
|
|
75886
|
+
* Best-effort deletion of `*.log` / `*.log.N` files in `directory` whose
|
|
75887
|
+
* mtime is older than the retention window. Returns the number of files
|
|
75888
|
+
* removed. Never fails: unreadable directories or races with rotation are
|
|
75889
|
+
* downgraded to a warning / skipped file.
|
|
75888
75890
|
*/
|
|
75891
|
+
const sweepStaleEventLogs = effect.Effect.fn("sweepStaleEventLogs")(function* (directory, options) {
|
|
75892
|
+
const maxAgeMs = options?.maxAgeMs ?? 2592e6;
|
|
75893
|
+
const cutoffMs = (options?.now ?? Date.now()) - maxAgeMs;
|
|
75894
|
+
const removed = yield* effect.Effect.tryPromise(async () => {
|
|
75895
|
+
const entries = await node_fs.default.promises.readdir(directory, { withFileTypes: true });
|
|
75896
|
+
let count = 0;
|
|
75897
|
+
for (const entry of entries) {
|
|
75898
|
+
if (!entry.isFile() || !EVENT_LOG_FILE_PATTERN.test(entry.name)) continue;
|
|
75899
|
+
const filePath = node_path.default.join(directory, entry.name);
|
|
75900
|
+
try {
|
|
75901
|
+
if ((await node_fs.default.promises.stat(filePath)).mtimeMs < cutoffMs) {
|
|
75902
|
+
await node_fs.default.promises.unlink(filePath);
|
|
75903
|
+
count += 1;
|
|
75904
|
+
}
|
|
75905
|
+
} catch {}
|
|
75906
|
+
}
|
|
75907
|
+
return count;
|
|
75908
|
+
}).pipe(effect.Effect.catch((error) => logWarning("failed to sweep stale provider event logs", {
|
|
75909
|
+
directory,
|
|
75910
|
+
error
|
|
75911
|
+
}).pipe(effect.Effect.as(0))));
|
|
75912
|
+
if (removed > 0) yield* effect.Effect.logInfo("swept stale provider event logs", {
|
|
75913
|
+
directory,
|
|
75914
|
+
removed
|
|
75915
|
+
}).pipe(effect.Effect.annotateLogs({ scope: LOG_SCOPE }));
|
|
75916
|
+
return removed;
|
|
75917
|
+
});
|
|
75889
75918
|
const DEFAULT_MAX_BYTES = 10485760;
|
|
75890
|
-
const DEFAULT_MAX_FILES =
|
|
75919
|
+
const DEFAULT_MAX_FILES = 3;
|
|
75891
75920
|
const DEFAULT_BATCH_WINDOW_MS = 200;
|
|
75892
75921
|
const DEFAULT_MAX_QUEUE_SIZE = 2048;
|
|
75893
75922
|
const GLOBAL_THREAD_SEGMENT = "_global";
|
|
@@ -76093,8 +76122,9 @@ const makeEventNdjsonLogger = effect.Effect.fn("makeEventNdjsonLogger")(function
|
|
|
76093
76122
|
if (state.failedSegments.has(threadSegment)) return effect.Effect.succeed([void 0, state]);
|
|
76094
76123
|
const existing = state.threadWriters.get(threadSegment);
|
|
76095
76124
|
if (existing) return effect.Effect.succeed([existing, state]);
|
|
76125
|
+
const streamSuffix = options.stream === "native" ? ".native" : "";
|
|
76096
76126
|
return makeThreadWriter({
|
|
76097
|
-
filePath: node_path.default.join(node_path.default.dirname(filePath), `${threadSegment}.log`),
|
|
76127
|
+
filePath: node_path.default.join(node_path.default.dirname(filePath), `${threadSegment}${streamSuffix}.log`),
|
|
76098
76128
|
maxBytes,
|
|
76099
76129
|
maxFiles,
|
|
76100
76130
|
batchWindowMs,
|
|
@@ -76187,12 +76217,868 @@ var ProviderEventLoggers = class extends effect.Context.Service()("ryco/provider
|
|
|
76187
76217
|
*/
|
|
76188
76218
|
const ProviderEventLoggersLive = effect.Layer.effect(ProviderEventLoggers, effect.Effect.gen(function* () {
|
|
76189
76219
|
const { providerEventLogPath } = yield* require_Metrics.ServerConfig;
|
|
76220
|
+
yield* effect.Effect.forkScoped(sweepStaleEventLogs(node_path.default.dirname(providerEventLogPath)));
|
|
76190
76221
|
return {
|
|
76191
76222
|
native: yield* makeEventNdjsonLogger(providerEventLogPath, { stream: "native" }),
|
|
76192
76223
|
canonical: yield* makeEventNdjsonLogger(providerEventLogPath, { stream: "canonical" })
|
|
76193
76224
|
};
|
|
76194
76225
|
}));
|
|
76195
76226
|
//#endregion
|
|
76227
|
+
//#region src/provider/ClaudeModelManifest.ts
|
|
76228
|
+
/**
|
|
76229
|
+
* ClaudeModelManifest — allowlisted adapter payloads for the Claude entries
|
|
76230
|
+
* of `model-manifest.json`.
|
|
76231
|
+
*
|
|
76232
|
+
* The generic manifest treats `adapter` fields as opaque; this module gives
|
|
76233
|
+
* them a Claude-specific shape:
|
|
76234
|
+
*
|
|
76235
|
+
* - profile adapters carry runtime behavior shared by models on a profile
|
|
76236
|
+
* (CLI effort remapping, api-model-id suffixes, context-window token
|
|
76237
|
+
* tables — the token tables are currently unused by Ryco, which reads
|
|
76238
|
+
* window sizes from runtime usage events, but stay in the format so the
|
|
76239
|
+
* file remains interchangeable with upstream t3code manifests);
|
|
76240
|
+
* - model adapters carry Claude Code CLI version compatibility gates.
|
|
76241
|
+
*
|
|
76242
|
+
* Ported from pingdotgg/t3code (PR #9084), adapted to Ryco's CLI-version
|
|
76243
|
+
* helpers.
|
|
76244
|
+
*/
|
|
76245
|
+
const ClaudeCodeProfileSchema = effect.Schema.Struct({
|
|
76246
|
+
/**
|
|
76247
|
+
* Maps a resolved effort selection onto the value passed to the Claude CLI.
|
|
76248
|
+
* `null` means "pass no effort flag" for that selection.
|
|
76249
|
+
*/
|
|
76250
|
+
effortMap: effect.Schema.optional(effect.Schema.Record(require_collectUint8StreamText.TrimmedNonEmptyString, effect.Schema.NullOr(require_collectUint8StreamText.TrimmedNonEmptyString))),
|
|
76251
|
+
/** Per-option-value api-model-id suffixes, e.g. `{ contextWindow: { "1m": "[1m]" } }`. */
|
|
76252
|
+
modelSuffixes: effect.Schema.optional(effect.Schema.Record(require_collectUint8StreamText.TrimmedNonEmptyString, effect.Schema.Record(require_collectUint8StreamText.TrimmedNonEmptyString, require_collectUint8StreamText.TrimmedNonEmptyString))),
|
|
76253
|
+
contextWindowTokens: effect.Schema.optional(effect.Schema.Record(require_collectUint8StreamText.TrimmedNonEmptyString, effect.Schema.Number)),
|
|
76254
|
+
fixedContextWindowTokens: effect.Schema.optional(effect.Schema.Number)
|
|
76255
|
+
});
|
|
76256
|
+
const ClaudeProfileAdapterSchema = effect.Schema.Struct({ claudeCode: effect.Schema.optional(ClaudeCodeProfileSchema) });
|
|
76257
|
+
const ClaudeVersionSchema = require_collectUint8StreamText.TrimmedNonEmptyString.pipe(effect.Schema.check(effect.Schema.makeFilter((version) => isParseableCliVersion(version), { expected: "a supported semantic version" })));
|
|
76258
|
+
const ClaudeCodeCompatibilitySchema = effect.Schema.Struct({
|
|
76259
|
+
minVersion: effect.Schema.optional(ClaudeVersionSchema),
|
|
76260
|
+
maxVersionExclusive: effect.Schema.optional(ClaudeVersionSchema)
|
|
76261
|
+
}).pipe(effect.Schema.check(effect.Schema.makeFilter(({ minVersion, maxVersionExclusive }) => minVersion === void 0 || maxVersionExclusive === void 0 || compareCliVersions(minVersion, maxVersionExclusive) < 0, { expected: "a minimum version below the exclusive maximum version" })));
|
|
76262
|
+
const ClaudeModelAdapterSchema = effect.Schema.Struct({ claudeCode: effect.Schema.optional(ClaudeCodeCompatibilitySchema) });
|
|
76263
|
+
const decodeClaudeProfileAdapter = effect.Schema.decodeUnknownOption(ClaudeProfileAdapterSchema);
|
|
76264
|
+
const decodeClaudeModelAdapter = effect.Schema.decodeUnknownOption(ClaudeModelAdapterSchema);
|
|
76265
|
+
/**
|
|
76266
|
+
* Manifest-level validation hook: a manifest whose Claude adapter payloads do
|
|
76267
|
+
* not decode is rejected wholesale, so a bad remote edit falls back to the
|
|
76268
|
+
* bundled manifest instead of silently dropping runtime behavior.
|
|
76269
|
+
*/
|
|
76270
|
+
function hasValidClaudeManifestAdapters(manifest) {
|
|
76271
|
+
const catalog = manifest.providers?.claudeAgent;
|
|
76272
|
+
if (!catalog) return true;
|
|
76273
|
+
return Object.values(catalog.profiles).every((profile) => effect.Option.isSome(decodeClaudeProfileAdapter(profile.adapter ?? {}))) && catalog.models.every((model) => effect.Option.isSome(decodeClaudeModelAdapter(model.adapter ?? {})));
|
|
76274
|
+
}
|
|
76275
|
+
//#endregion
|
|
76276
|
+
//#region src/provider/model-manifest.json
|
|
76277
|
+
var model_manifest_default = {
|
|
76278
|
+
version: 1,
|
|
76279
|
+
currentModels: {
|
|
76280
|
+
"codex": [
|
|
76281
|
+
"gpt-5.6-luna",
|
|
76282
|
+
"gpt-5.6-terra",
|
|
76283
|
+
"gpt-5.6-sol"
|
|
76284
|
+
],
|
|
76285
|
+
"claudeAgent": [
|
|
76286
|
+
"claude-fable-5-1",
|
|
76287
|
+
"claude-opus-5",
|
|
76288
|
+
"claude-sonnet-5"
|
|
76289
|
+
]
|
|
76290
|
+
},
|
|
76291
|
+
providers: { "claudeAgent": {
|
|
76292
|
+
"defaults": { "chat": "claude-opus-5" },
|
|
76293
|
+
"profiles": {
|
|
76294
|
+
"fable-5-1": {
|
|
76295
|
+
"capabilities": { "optionDescriptors": [{
|
|
76296
|
+
"id": "effort",
|
|
76297
|
+
"label": "Reasoning",
|
|
76298
|
+
"type": "select",
|
|
76299
|
+
"options": [
|
|
76300
|
+
{
|
|
76301
|
+
"id": "low",
|
|
76302
|
+
"label": "Low"
|
|
76303
|
+
},
|
|
76304
|
+
{
|
|
76305
|
+
"id": "medium",
|
|
76306
|
+
"label": "Medium"
|
|
76307
|
+
},
|
|
76308
|
+
{
|
|
76309
|
+
"id": "high",
|
|
76310
|
+
"label": "High",
|
|
76311
|
+
"isDefault": true
|
|
76312
|
+
},
|
|
76313
|
+
{
|
|
76314
|
+
"id": "xhigh",
|
|
76315
|
+
"label": "Extra High"
|
|
76316
|
+
},
|
|
76317
|
+
{
|
|
76318
|
+
"id": "max",
|
|
76319
|
+
"label": "Max"
|
|
76320
|
+
},
|
|
76321
|
+
{
|
|
76322
|
+
"id": "ultracode",
|
|
76323
|
+
"label": "Ultracode"
|
|
76324
|
+
},
|
|
76325
|
+
{
|
|
76326
|
+
"id": "ultrathink",
|
|
76327
|
+
"label": "Ultrathink"
|
|
76328
|
+
}
|
|
76329
|
+
],
|
|
76330
|
+
"promptInjectedValues": ["ultrathink"]
|
|
76331
|
+
}, {
|
|
76332
|
+
"id": "contextWindow",
|
|
76333
|
+
"label": "Context Window",
|
|
76334
|
+
"type": "select",
|
|
76335
|
+
"options": [{
|
|
76336
|
+
"id": "200k",
|
|
76337
|
+
"label": "200k"
|
|
76338
|
+
}, {
|
|
76339
|
+
"id": "1m",
|
|
76340
|
+
"label": "1M",
|
|
76341
|
+
"isDefault": true
|
|
76342
|
+
}]
|
|
76343
|
+
}] },
|
|
76344
|
+
"adapter": { "claudeCode": {
|
|
76345
|
+
"effortMap": {
|
|
76346
|
+
"ultracode": "xhigh",
|
|
76347
|
+
"ultrathink": null
|
|
76348
|
+
},
|
|
76349
|
+
"modelSuffixes": { "contextWindow": { "1m": "[1m]" } },
|
|
76350
|
+
"contextWindowTokens": {
|
|
76351
|
+
"200k": 2e5,
|
|
76352
|
+
"1m": 1e6
|
|
76353
|
+
}
|
|
76354
|
+
} }
|
|
76355
|
+
},
|
|
76356
|
+
"fable-5": {
|
|
76357
|
+
"capabilities": { "optionDescriptors": [{
|
|
76358
|
+
"id": "effort",
|
|
76359
|
+
"label": "Reasoning",
|
|
76360
|
+
"type": "select",
|
|
76361
|
+
"options": [
|
|
76362
|
+
{
|
|
76363
|
+
"id": "low",
|
|
76364
|
+
"label": "Low"
|
|
76365
|
+
},
|
|
76366
|
+
{
|
|
76367
|
+
"id": "medium",
|
|
76368
|
+
"label": "Medium"
|
|
76369
|
+
},
|
|
76370
|
+
{
|
|
76371
|
+
"id": "high",
|
|
76372
|
+
"label": "High",
|
|
76373
|
+
"isDefault": true
|
|
76374
|
+
},
|
|
76375
|
+
{
|
|
76376
|
+
"id": "xhigh",
|
|
76377
|
+
"label": "Extra High"
|
|
76378
|
+
},
|
|
76379
|
+
{
|
|
76380
|
+
"id": "max",
|
|
76381
|
+
"label": "Max"
|
|
76382
|
+
},
|
|
76383
|
+
{
|
|
76384
|
+
"id": "ultracode",
|
|
76385
|
+
"label": "Ultracode"
|
|
76386
|
+
},
|
|
76387
|
+
{
|
|
76388
|
+
"id": "ultrathink",
|
|
76389
|
+
"label": "Ultrathink"
|
|
76390
|
+
}
|
|
76391
|
+
],
|
|
76392
|
+
"promptInjectedValues": ["ultrathink"]
|
|
76393
|
+
}] },
|
|
76394
|
+
"adapter": { "claudeCode": {
|
|
76395
|
+
"effortMap": {
|
|
76396
|
+
"ultracode": "xhigh",
|
|
76397
|
+
"ultrathink": null
|
|
76398
|
+
},
|
|
76399
|
+
"fixedContextWindowTokens": 1e6
|
|
76400
|
+
} }
|
|
76401
|
+
},
|
|
76402
|
+
"opus-5": {
|
|
76403
|
+
"capabilities": { "optionDescriptors": [
|
|
76404
|
+
{
|
|
76405
|
+
"id": "effort",
|
|
76406
|
+
"label": "Reasoning",
|
|
76407
|
+
"type": "select",
|
|
76408
|
+
"options": [
|
|
76409
|
+
{
|
|
76410
|
+
"id": "low",
|
|
76411
|
+
"label": "Low"
|
|
76412
|
+
},
|
|
76413
|
+
{
|
|
76414
|
+
"id": "medium",
|
|
76415
|
+
"label": "Medium"
|
|
76416
|
+
},
|
|
76417
|
+
{
|
|
76418
|
+
"id": "high",
|
|
76419
|
+
"label": "High",
|
|
76420
|
+
"isDefault": true
|
|
76421
|
+
},
|
|
76422
|
+
{
|
|
76423
|
+
"id": "xhigh",
|
|
76424
|
+
"label": "Extra High"
|
|
76425
|
+
},
|
|
76426
|
+
{
|
|
76427
|
+
"id": "max",
|
|
76428
|
+
"label": "Max"
|
|
76429
|
+
},
|
|
76430
|
+
{
|
|
76431
|
+
"id": "ultracode",
|
|
76432
|
+
"label": "Ultracode"
|
|
76433
|
+
},
|
|
76434
|
+
{
|
|
76435
|
+
"id": "ultrathink",
|
|
76436
|
+
"label": "Ultrathink"
|
|
76437
|
+
}
|
|
76438
|
+
],
|
|
76439
|
+
"promptInjectedValues": ["ultrathink"]
|
|
76440
|
+
},
|
|
76441
|
+
{
|
|
76442
|
+
"id": "fastMode",
|
|
76443
|
+
"label": "Fast Mode",
|
|
76444
|
+
"type": "boolean"
|
|
76445
|
+
},
|
|
76446
|
+
{
|
|
76447
|
+
"id": "contextWindow",
|
|
76448
|
+
"label": "Context Window",
|
|
76449
|
+
"type": "select",
|
|
76450
|
+
"options": [{
|
|
76451
|
+
"id": "200k",
|
|
76452
|
+
"label": "200k"
|
|
76453
|
+
}, {
|
|
76454
|
+
"id": "1m",
|
|
76455
|
+
"label": "1M",
|
|
76456
|
+
"isDefault": true
|
|
76457
|
+
}]
|
|
76458
|
+
}
|
|
76459
|
+
] },
|
|
76460
|
+
"adapter": { "claudeCode": {
|
|
76461
|
+
"effortMap": {
|
|
76462
|
+
"ultracode": "xhigh",
|
|
76463
|
+
"ultrathink": null
|
|
76464
|
+
},
|
|
76465
|
+
"modelSuffixes": { "contextWindow": { "1m": "[1m]" } },
|
|
76466
|
+
"contextWindowTokens": {
|
|
76467
|
+
"200k": 2e5,
|
|
76468
|
+
"1m": 1e6
|
|
76469
|
+
}
|
|
76470
|
+
} }
|
|
76471
|
+
},
|
|
76472
|
+
"opus-4-8": {
|
|
76473
|
+
"capabilities": { "optionDescriptors": [
|
|
76474
|
+
{
|
|
76475
|
+
"id": "effort",
|
|
76476
|
+
"label": "Reasoning",
|
|
76477
|
+
"type": "select",
|
|
76478
|
+
"options": [
|
|
76479
|
+
{
|
|
76480
|
+
"id": "low",
|
|
76481
|
+
"label": "Low"
|
|
76482
|
+
},
|
|
76483
|
+
{
|
|
76484
|
+
"id": "medium",
|
|
76485
|
+
"label": "Medium"
|
|
76486
|
+
},
|
|
76487
|
+
{
|
|
76488
|
+
"id": "high",
|
|
76489
|
+
"label": "High",
|
|
76490
|
+
"isDefault": true
|
|
76491
|
+
},
|
|
76492
|
+
{
|
|
76493
|
+
"id": "xhigh",
|
|
76494
|
+
"label": "Extra High"
|
|
76495
|
+
},
|
|
76496
|
+
{
|
|
76497
|
+
"id": "max",
|
|
76498
|
+
"label": "Max"
|
|
76499
|
+
},
|
|
76500
|
+
{
|
|
76501
|
+
"id": "ultracode",
|
|
76502
|
+
"label": "Ultracode"
|
|
76503
|
+
},
|
|
76504
|
+
{
|
|
76505
|
+
"id": "ultrathink",
|
|
76506
|
+
"label": "Ultrathink"
|
|
76507
|
+
}
|
|
76508
|
+
],
|
|
76509
|
+
"promptInjectedValues": ["ultrathink"]
|
|
76510
|
+
},
|
|
76511
|
+
{
|
|
76512
|
+
"id": "fastMode",
|
|
76513
|
+
"label": "Fast Mode",
|
|
76514
|
+
"type": "boolean"
|
|
76515
|
+
},
|
|
76516
|
+
{
|
|
76517
|
+
"id": "contextWindow",
|
|
76518
|
+
"label": "Context Window",
|
|
76519
|
+
"type": "select",
|
|
76520
|
+
"options": [{
|
|
76521
|
+
"id": "200k",
|
|
76522
|
+
"label": "200k",
|
|
76523
|
+
"isDefault": true
|
|
76524
|
+
}, {
|
|
76525
|
+
"id": "1m",
|
|
76526
|
+
"label": "1M"
|
|
76527
|
+
}]
|
|
76528
|
+
}
|
|
76529
|
+
] },
|
|
76530
|
+
"adapter": { "claudeCode": {
|
|
76531
|
+
"effortMap": {
|
|
76532
|
+
"ultracode": "xhigh",
|
|
76533
|
+
"ultrathink": null
|
|
76534
|
+
},
|
|
76535
|
+
"modelSuffixes": { "contextWindow": { "1m": "[1m]" } },
|
|
76536
|
+
"contextWindowTokens": {
|
|
76537
|
+
"200k": 2e5,
|
|
76538
|
+
"1m": 1e6
|
|
76539
|
+
}
|
|
76540
|
+
} }
|
|
76541
|
+
},
|
|
76542
|
+
"opus-4-7": {
|
|
76543
|
+
"capabilities": { "optionDescriptors": [
|
|
76544
|
+
{
|
|
76545
|
+
"id": "effort",
|
|
76546
|
+
"label": "Reasoning",
|
|
76547
|
+
"type": "select",
|
|
76548
|
+
"options": [
|
|
76549
|
+
{
|
|
76550
|
+
"id": "low",
|
|
76551
|
+
"label": "Low"
|
|
76552
|
+
},
|
|
76553
|
+
{
|
|
76554
|
+
"id": "medium",
|
|
76555
|
+
"label": "Medium"
|
|
76556
|
+
},
|
|
76557
|
+
{
|
|
76558
|
+
"id": "high",
|
|
76559
|
+
"label": "High"
|
|
76560
|
+
},
|
|
76561
|
+
{
|
|
76562
|
+
"id": "xhigh",
|
|
76563
|
+
"label": "Extra High",
|
|
76564
|
+
"isDefault": true
|
|
76565
|
+
},
|
|
76566
|
+
{
|
|
76567
|
+
"id": "max",
|
|
76568
|
+
"label": "Max"
|
|
76569
|
+
},
|
|
76570
|
+
{
|
|
76571
|
+
"id": "ultrathink",
|
|
76572
|
+
"label": "Ultrathink"
|
|
76573
|
+
}
|
|
76574
|
+
],
|
|
76575
|
+
"promptInjectedValues": ["ultrathink"]
|
|
76576
|
+
},
|
|
76577
|
+
{
|
|
76578
|
+
"id": "fastMode",
|
|
76579
|
+
"label": "Fast Mode",
|
|
76580
|
+
"type": "boolean"
|
|
76581
|
+
},
|
|
76582
|
+
{
|
|
76583
|
+
"id": "contextWindow",
|
|
76584
|
+
"label": "Context Window",
|
|
76585
|
+
"type": "select",
|
|
76586
|
+
"options": [{
|
|
76587
|
+
"id": "200k",
|
|
76588
|
+
"label": "200k",
|
|
76589
|
+
"isDefault": true
|
|
76590
|
+
}, {
|
|
76591
|
+
"id": "1m",
|
|
76592
|
+
"label": "1M"
|
|
76593
|
+
}]
|
|
76594
|
+
}
|
|
76595
|
+
] },
|
|
76596
|
+
"adapter": { "claudeCode": {
|
|
76597
|
+
"effortMap": { "ultrathink": null },
|
|
76598
|
+
"modelSuffixes": { "contextWindow": { "1m": "[1m]" } },
|
|
76599
|
+
"contextWindowTokens": {
|
|
76600
|
+
"200k": 2e5,
|
|
76601
|
+
"1m": 1e6
|
|
76602
|
+
}
|
|
76603
|
+
} }
|
|
76604
|
+
},
|
|
76605
|
+
"opus-4-6": {
|
|
76606
|
+
"capabilities": { "optionDescriptors": [
|
|
76607
|
+
{
|
|
76608
|
+
"id": "effort",
|
|
76609
|
+
"label": "Reasoning",
|
|
76610
|
+
"type": "select",
|
|
76611
|
+
"options": [
|
|
76612
|
+
{
|
|
76613
|
+
"id": "low",
|
|
76614
|
+
"label": "Low"
|
|
76615
|
+
},
|
|
76616
|
+
{
|
|
76617
|
+
"id": "medium",
|
|
76618
|
+
"label": "Medium"
|
|
76619
|
+
},
|
|
76620
|
+
{
|
|
76621
|
+
"id": "high",
|
|
76622
|
+
"label": "High",
|
|
76623
|
+
"isDefault": true
|
|
76624
|
+
},
|
|
76625
|
+
{
|
|
76626
|
+
"id": "max",
|
|
76627
|
+
"label": "Max"
|
|
76628
|
+
},
|
|
76629
|
+
{
|
|
76630
|
+
"id": "ultrathink",
|
|
76631
|
+
"label": "Ultrathink"
|
|
76632
|
+
}
|
|
76633
|
+
],
|
|
76634
|
+
"promptInjectedValues": ["ultrathink"]
|
|
76635
|
+
},
|
|
76636
|
+
{
|
|
76637
|
+
"id": "fastMode",
|
|
76638
|
+
"label": "Fast Mode",
|
|
76639
|
+
"type": "boolean"
|
|
76640
|
+
},
|
|
76641
|
+
{
|
|
76642
|
+
"id": "contextWindow",
|
|
76643
|
+
"label": "Context Window",
|
|
76644
|
+
"type": "select",
|
|
76645
|
+
"options": [{
|
|
76646
|
+
"id": "200k",
|
|
76647
|
+
"label": "200k",
|
|
76648
|
+
"isDefault": true
|
|
76649
|
+
}, {
|
|
76650
|
+
"id": "1m",
|
|
76651
|
+
"label": "1M"
|
|
76652
|
+
}]
|
|
76653
|
+
}
|
|
76654
|
+
] },
|
|
76655
|
+
"adapter": { "claudeCode": {
|
|
76656
|
+
"effortMap": { "ultrathink": null },
|
|
76657
|
+
"modelSuffixes": { "contextWindow": { "1m": "[1m]" } },
|
|
76658
|
+
"contextWindowTokens": {
|
|
76659
|
+
"200k": 2e5,
|
|
76660
|
+
"1m": 1e6
|
|
76661
|
+
}
|
|
76662
|
+
} }
|
|
76663
|
+
},
|
|
76664
|
+
"opus-4-5": {
|
|
76665
|
+
"capabilities": { "optionDescriptors": [{
|
|
76666
|
+
"id": "effort",
|
|
76667
|
+
"label": "Reasoning",
|
|
76668
|
+
"type": "select",
|
|
76669
|
+
"options": [
|
|
76670
|
+
{
|
|
76671
|
+
"id": "low",
|
|
76672
|
+
"label": "Low"
|
|
76673
|
+
},
|
|
76674
|
+
{
|
|
76675
|
+
"id": "medium",
|
|
76676
|
+
"label": "Medium"
|
|
76677
|
+
},
|
|
76678
|
+
{
|
|
76679
|
+
"id": "high",
|
|
76680
|
+
"label": "High",
|
|
76681
|
+
"isDefault": true
|
|
76682
|
+
},
|
|
76683
|
+
{
|
|
76684
|
+
"id": "max",
|
|
76685
|
+
"label": "Max"
|
|
76686
|
+
}
|
|
76687
|
+
]
|
|
76688
|
+
}] },
|
|
76689
|
+
"adapter": { "claudeCode": {} }
|
|
76690
|
+
},
|
|
76691
|
+
"sonnet-5": {
|
|
76692
|
+
"capabilities": { "optionDescriptors": [{
|
|
76693
|
+
"id": "effort",
|
|
76694
|
+
"label": "Reasoning",
|
|
76695
|
+
"type": "select",
|
|
76696
|
+
"options": [
|
|
76697
|
+
{
|
|
76698
|
+
"id": "low",
|
|
76699
|
+
"label": "Low"
|
|
76700
|
+
},
|
|
76701
|
+
{
|
|
76702
|
+
"id": "medium",
|
|
76703
|
+
"label": "Medium"
|
|
76704
|
+
},
|
|
76705
|
+
{
|
|
76706
|
+
"id": "high",
|
|
76707
|
+
"label": "High",
|
|
76708
|
+
"isDefault": true
|
|
76709
|
+
},
|
|
76710
|
+
{
|
|
76711
|
+
"id": "xhigh",
|
|
76712
|
+
"label": "Extra High"
|
|
76713
|
+
},
|
|
76714
|
+
{
|
|
76715
|
+
"id": "max",
|
|
76716
|
+
"label": "Max"
|
|
76717
|
+
},
|
|
76718
|
+
{
|
|
76719
|
+
"id": "ultrathink",
|
|
76720
|
+
"label": "Ultrathink"
|
|
76721
|
+
}
|
|
76722
|
+
],
|
|
76723
|
+
"promptInjectedValues": ["ultrathink"]
|
|
76724
|
+
}, {
|
|
76725
|
+
"id": "contextWindow",
|
|
76726
|
+
"label": "Context Window",
|
|
76727
|
+
"type": "select",
|
|
76728
|
+
"options": [{
|
|
76729
|
+
"id": "200k",
|
|
76730
|
+
"label": "200k",
|
|
76731
|
+
"isDefault": true
|
|
76732
|
+
}, {
|
|
76733
|
+
"id": "1m",
|
|
76734
|
+
"label": "1M"
|
|
76735
|
+
}]
|
|
76736
|
+
}] },
|
|
76737
|
+
"adapter": { "claudeCode": {
|
|
76738
|
+
"effortMap": { "ultrathink": null },
|
|
76739
|
+
"modelSuffixes": { "contextWindow": { "1m": "[1m]" } },
|
|
76740
|
+
"contextWindowTokens": {
|
|
76741
|
+
"200k": 2e5,
|
|
76742
|
+
"1m": 1e6
|
|
76743
|
+
}
|
|
76744
|
+
} }
|
|
76745
|
+
},
|
|
76746
|
+
"sonnet-4-6": {
|
|
76747
|
+
"capabilities": { "optionDescriptors": [{
|
|
76748
|
+
"id": "effort",
|
|
76749
|
+
"label": "Reasoning",
|
|
76750
|
+
"type": "select",
|
|
76751
|
+
"options": [
|
|
76752
|
+
{
|
|
76753
|
+
"id": "low",
|
|
76754
|
+
"label": "Low"
|
|
76755
|
+
},
|
|
76756
|
+
{
|
|
76757
|
+
"id": "medium",
|
|
76758
|
+
"label": "Medium"
|
|
76759
|
+
},
|
|
76760
|
+
{
|
|
76761
|
+
"id": "high",
|
|
76762
|
+
"label": "High",
|
|
76763
|
+
"isDefault": true
|
|
76764
|
+
},
|
|
76765
|
+
{
|
|
76766
|
+
"id": "max",
|
|
76767
|
+
"label": "Max"
|
|
76768
|
+
},
|
|
76769
|
+
{
|
|
76770
|
+
"id": "ultrathink",
|
|
76771
|
+
"label": "Ultrathink"
|
|
76772
|
+
}
|
|
76773
|
+
],
|
|
76774
|
+
"promptInjectedValues": ["ultrathink"]
|
|
76775
|
+
}, {
|
|
76776
|
+
"id": "contextWindow",
|
|
76777
|
+
"label": "Context Window",
|
|
76778
|
+
"type": "select",
|
|
76779
|
+
"options": [{
|
|
76780
|
+
"id": "200k",
|
|
76781
|
+
"label": "200k",
|
|
76782
|
+
"isDefault": true
|
|
76783
|
+
}, {
|
|
76784
|
+
"id": "1m",
|
|
76785
|
+
"label": "1M"
|
|
76786
|
+
}]
|
|
76787
|
+
}] },
|
|
76788
|
+
"adapter": { "claudeCode": {
|
|
76789
|
+
"effortMap": {
|
|
76790
|
+
"max": "high",
|
|
76791
|
+
"ultrathink": null
|
|
76792
|
+
},
|
|
76793
|
+
"modelSuffixes": { "contextWindow": { "1m": "[1m]" } },
|
|
76794
|
+
"contextWindowTokens": {
|
|
76795
|
+
"200k": 2e5,
|
|
76796
|
+
"1m": 1e6
|
|
76797
|
+
}
|
|
76798
|
+
} }
|
|
76799
|
+
},
|
|
76800
|
+
"haiku-4-5": {
|
|
76801
|
+
"capabilities": { "optionDescriptors": [{
|
|
76802
|
+
"id": "thinking",
|
|
76803
|
+
"label": "Thinking",
|
|
76804
|
+
"type": "boolean"
|
|
76805
|
+
}] },
|
|
76806
|
+
"adapter": { "claudeCode": {} }
|
|
76807
|
+
}
|
|
76808
|
+
},
|
|
76809
|
+
"models": [
|
|
76810
|
+
{
|
|
76811
|
+
"slug": "claude-fable-5-1",
|
|
76812
|
+
"name": "Claude Fable 5.1",
|
|
76813
|
+
"shortName": "Fable 5.1",
|
|
76814
|
+
"aliases": [
|
|
76815
|
+
"fable",
|
|
76816
|
+
"fable-5.1",
|
|
76817
|
+
"claude-fable-5.1"
|
|
76818
|
+
],
|
|
76819
|
+
"status": "current",
|
|
76820
|
+
"badge": "new",
|
|
76821
|
+
"profile": "fable-5-1",
|
|
76822
|
+
"adapter": { "claudeCode": { "minVersion": "2.1.257" } }
|
|
76823
|
+
},
|
|
76824
|
+
{
|
|
76825
|
+
"slug": "claude-fable-5",
|
|
76826
|
+
"name": "Claude Fable 5",
|
|
76827
|
+
"shortName": "Fable 5",
|
|
76828
|
+
"aliases": ["fable-5"],
|
|
76829
|
+
"status": "legacy",
|
|
76830
|
+
"profile": "fable-5",
|
|
76831
|
+
"adapter": { "claudeCode": { "minVersion": "2.1.194" } }
|
|
76832
|
+
},
|
|
76833
|
+
{
|
|
76834
|
+
"slug": "claude-opus-5",
|
|
76835
|
+
"name": "Claude Opus 5",
|
|
76836
|
+
"shortName": "Opus 5",
|
|
76837
|
+
"aliases": ["opus-5"],
|
|
76838
|
+
"status": "current",
|
|
76839
|
+
"profile": "opus-5",
|
|
76840
|
+
"adapter": { "claudeCode": { "minVersion": "2.1.219" } }
|
|
76841
|
+
},
|
|
76842
|
+
{
|
|
76843
|
+
"slug": "claude-opus-4-8",
|
|
76844
|
+
"name": "Claude Opus 4.8",
|
|
76845
|
+
"shortName": "Opus 4.8",
|
|
76846
|
+
"aliases": [
|
|
76847
|
+
"opus",
|
|
76848
|
+
"opus-4.8",
|
|
76849
|
+
"claude-opus-4.8"
|
|
76850
|
+
],
|
|
76851
|
+
"status": "legacy",
|
|
76852
|
+
"profile": "opus-4-8",
|
|
76853
|
+
"adapter": { "claudeCode": { "minVersion": "2.1.154" } }
|
|
76854
|
+
},
|
|
76855
|
+
{
|
|
76856
|
+
"slug": "claude-opus-4-7",
|
|
76857
|
+
"name": "Claude Opus 4.7",
|
|
76858
|
+
"shortName": "Opus 4.7",
|
|
76859
|
+
"aliases": ["opus-4.7", "claude-opus-4.7"],
|
|
76860
|
+
"status": "legacy",
|
|
76861
|
+
"profile": "opus-4-7",
|
|
76862
|
+
"adapter": { "claudeCode": { "minVersion": "2.1.111" } }
|
|
76863
|
+
},
|
|
76864
|
+
{
|
|
76865
|
+
"slug": "claude-opus-4-6",
|
|
76866
|
+
"name": "Claude Opus 4.6",
|
|
76867
|
+
"shortName": "Opus 4.6",
|
|
76868
|
+
"aliases": [
|
|
76869
|
+
"opus-4.6",
|
|
76870
|
+
"claude-opus-4.6",
|
|
76871
|
+
"claude-opus-4-6-20251117"
|
|
76872
|
+
],
|
|
76873
|
+
"status": "legacy",
|
|
76874
|
+
"profile": "opus-4-6"
|
|
76875
|
+
},
|
|
76876
|
+
{
|
|
76877
|
+
"slug": "claude-opus-4-5",
|
|
76878
|
+
"name": "Claude Opus 4.5",
|
|
76879
|
+
"shortName": "Opus 4.5",
|
|
76880
|
+
"status": "legacy",
|
|
76881
|
+
"profile": "opus-4-5"
|
|
76882
|
+
},
|
|
76883
|
+
{
|
|
76884
|
+
"slug": "claude-sonnet-5",
|
|
76885
|
+
"name": "Claude Sonnet 5",
|
|
76886
|
+
"shortName": "Sonnet 5",
|
|
76887
|
+
"aliases": [
|
|
76888
|
+
"sonnet",
|
|
76889
|
+
"sonnet-5",
|
|
76890
|
+
"claude-sonnet-5.0"
|
|
76891
|
+
],
|
|
76892
|
+
"status": "current",
|
|
76893
|
+
"profile": "sonnet-5"
|
|
76894
|
+
},
|
|
76895
|
+
{
|
|
76896
|
+
"slug": "claude-sonnet-4-6",
|
|
76897
|
+
"name": "Claude Sonnet 4.6",
|
|
76898
|
+
"shortName": "Sonnet 4.6",
|
|
76899
|
+
"aliases": [
|
|
76900
|
+
"sonnet-4.6",
|
|
76901
|
+
"claude-sonnet-4.6",
|
|
76902
|
+
"claude-sonnet-4-6-20251117"
|
|
76903
|
+
],
|
|
76904
|
+
"status": "legacy",
|
|
76905
|
+
"profile": "sonnet-4-6"
|
|
76906
|
+
},
|
|
76907
|
+
{
|
|
76908
|
+
"slug": "claude-haiku-4-5",
|
|
76909
|
+
"name": "Claude Haiku 4.5",
|
|
76910
|
+
"shortName": "Haiku 4.5",
|
|
76911
|
+
"aliases": [
|
|
76912
|
+
"haiku",
|
|
76913
|
+
"haiku-4.5",
|
|
76914
|
+
"claude-haiku-4.5",
|
|
76915
|
+
"claude-haiku-4-5-20251001"
|
|
76916
|
+
],
|
|
76917
|
+
"status": "legacy",
|
|
76918
|
+
"profile": "haiku-4-5"
|
|
76919
|
+
}
|
|
76920
|
+
]
|
|
76921
|
+
} }
|
|
76922
|
+
};
|
|
76923
|
+
//#endregion
|
|
76924
|
+
//#region src/provider/ModelManifest.ts
|
|
76925
|
+
/**
|
|
76926
|
+
* ModelManifest — remote provider-model metadata with a bundled offline
|
|
76927
|
+
* fallback.
|
|
76928
|
+
*
|
|
76929
|
+
* Provider catalogs live in `model-manifest.json`. The bundled copy ships
|
|
76930
|
+
* with every release; at runtime the service refreshes it from the same file
|
|
76931
|
+
* on the repository's `main` branch, so new Claude models can be published by
|
|
76932
|
+
* editing one file on GitHub without shipping a client update. Preference
|
|
76933
|
+
* order is remote, then the last successful on-disk copy, then the bundle. A
|
|
76934
|
+
* failed fetch never fails a provider check.
|
|
76935
|
+
*
|
|
76936
|
+
* Ported from pingdotgg/t3code (PRs #8227/#9084), adapted to Ryco's config,
|
|
76937
|
+
* settings, and schema surface.
|
|
76938
|
+
*/
|
|
76939
|
+
const MODEL_MANIFEST_URL = "https://raw.githubusercontent.com/saka-gg/ryco/main/apps/server/src/provider/model-manifest.json";
|
|
76940
|
+
/** How long a fetched manifest stays fresh before the next probe re-fetches. */
|
|
76941
|
+
const MANIFEST_TTL_MS = 36e5;
|
|
76942
|
+
/** Minimum gap between fetch attempts after a failure, so an offline server
|
|
76943
|
+
* does not pay a network timeout on every provider check. */
|
|
76944
|
+
const MANIFEST_RETRY_MS = 3e5;
|
|
76945
|
+
const FETCH_TIMEOUT_MS = 1e4;
|
|
76946
|
+
const ManifestModelStatus = effect.Schema.Literals(["current", "legacy"]);
|
|
76947
|
+
const ManifestModelProfile = effect.Schema.Struct({
|
|
76948
|
+
capabilities: effect.Schema.optional(require_collectUint8StreamText.ModelCapabilities),
|
|
76949
|
+
adapter: effect.Schema.optional(effect.Schema.Unknown)
|
|
76950
|
+
});
|
|
76951
|
+
const ManifestProviderModel = effect.Schema.Struct({
|
|
76952
|
+
slug: require_collectUint8StreamText.TrimmedNonEmptyString,
|
|
76953
|
+
name: require_collectUint8StreamText.TrimmedNonEmptyString,
|
|
76954
|
+
shortName: effect.Schema.optional(require_collectUint8StreamText.TrimmedNonEmptyString),
|
|
76955
|
+
subProvider: effect.Schema.optional(require_collectUint8StreamText.TrimmedNonEmptyString),
|
|
76956
|
+
aliases: effect.Schema.optional(effect.Schema.Array(require_collectUint8StreamText.TrimmedNonEmptyString)),
|
|
76957
|
+
status: ManifestModelStatus,
|
|
76958
|
+
badge: effect.Schema.optional(effect.Schema.Literal("new")),
|
|
76959
|
+
profile: effect.Schema.optional(require_collectUint8StreamText.TrimmedNonEmptyString),
|
|
76960
|
+
adapter: effect.Schema.optional(effect.Schema.Unknown)
|
|
76961
|
+
});
|
|
76962
|
+
const ManifestProviderCatalog = effect.Schema.Struct({
|
|
76963
|
+
defaults: effect.Schema.optional(effect.Schema.Struct({ chat: effect.Schema.optional(require_collectUint8StreamText.TrimmedNonEmptyString) })),
|
|
76964
|
+
profiles: effect.Schema.Record(effect.Schema.String, ManifestModelProfile),
|
|
76965
|
+
models: effect.Schema.Array(ManifestProviderModel)
|
|
76966
|
+
});
|
|
76967
|
+
/**
|
|
76968
|
+
* `version` gates breaking schema changes. Provider catalogs are additive so
|
|
76969
|
+
* clients that only understand `currentModels` keep accepting this v1 file.
|
|
76970
|
+
*/
|
|
76971
|
+
const ModelManifestEnvelopeSchema = effect.Schema.Struct({
|
|
76972
|
+
version: effect.Schema.Literal(1),
|
|
76973
|
+
currentModels: effect.Schema.Record(effect.Schema.String, effect.Schema.Array(effect.Schema.String)),
|
|
76974
|
+
providers: effect.Schema.optional(effect.Schema.Record(effect.Schema.String, ManifestProviderCatalog))
|
|
76975
|
+
});
|
|
76976
|
+
const hasValidProviderCatalogReferences = (manifest) => Object.values(manifest.providers ?? {}).every((catalog) => {
|
|
76977
|
+
const slugs = /* @__PURE__ */ new Set();
|
|
76978
|
+
return catalog.models.every((model) => {
|
|
76979
|
+
if (slugs.has(model.slug)) return false;
|
|
76980
|
+
slugs.add(model.slug);
|
|
76981
|
+
return model.profile === void 0 || catalog.profiles[model.profile] !== void 0;
|
|
76982
|
+
}) && (catalog.defaults?.chat === void 0 || slugs.has(catalog.defaults.chat));
|
|
76983
|
+
});
|
|
76984
|
+
const ModelManifestSchema = ModelManifestEnvelopeSchema.pipe(effect.Schema.check(effect.Schema.makeFilter(hasValidProviderCatalogReferences, { expected: "unique model slugs and existing model and profile references" }), effect.Schema.makeFilter(hasValidClaudeManifestAdapters, { expected: "valid Claude adapter metadata" })));
|
|
76985
|
+
const decodeManifest = effect.Schema.decodeUnknownEffect(ModelManifestSchema);
|
|
76986
|
+
const BUNDLED_MODEL_MANIFEST = effect.Schema.decodeUnknownSync(ModelManifestSchema)(model_manifest_default);
|
|
76987
|
+
/** Resolve provider-neutral model presentation and capability data. */
|
|
76988
|
+
function resolveProviderCatalog(manifest, driverKind) {
|
|
76989
|
+
const catalog = manifest.providers?.[driverKind];
|
|
76990
|
+
if (!catalog) return null;
|
|
76991
|
+
const seen = /* @__PURE__ */ new Set();
|
|
76992
|
+
const models = [];
|
|
76993
|
+
for (const entry of catalog.models) {
|
|
76994
|
+
if (seen.has(entry.slug)) return null;
|
|
76995
|
+
seen.add(entry.slug);
|
|
76996
|
+
const profile = entry.profile ? catalog.profiles[entry.profile] : void 0;
|
|
76997
|
+
if (entry.profile && !profile) return null;
|
|
76998
|
+
models.push({
|
|
76999
|
+
model: {
|
|
77000
|
+
slug: entry.slug,
|
|
77001
|
+
name: entry.name,
|
|
77002
|
+
...entry.shortName ? { shortName: entry.shortName } : {},
|
|
77003
|
+
...entry.subProvider ? { subProvider: entry.subProvider } : {},
|
|
77004
|
+
...entry.aliases ? { aliases: entry.aliases } : {},
|
|
77005
|
+
...entry.badge ? { badge: entry.badge } : {},
|
|
77006
|
+
isCustom: false,
|
|
77007
|
+
...catalog.defaults?.chat === entry.slug ? { isDefault: true } : {},
|
|
77008
|
+
...entry.status === "legacy" ? { isLegacy: true } : {},
|
|
77009
|
+
capabilities: profile?.capabilities ?? null
|
|
77010
|
+
},
|
|
77011
|
+
adapter: entry.adapter,
|
|
77012
|
+
profileAdapter: profile?.adapter
|
|
77013
|
+
});
|
|
77014
|
+
}
|
|
77015
|
+
if (catalog.defaults?.chat !== void 0 && !seen.has(catalog.defaults.chat)) return null;
|
|
77016
|
+
return {
|
|
77017
|
+
models,
|
|
77018
|
+
defaults: { chat: catalog.defaults?.chat }
|
|
77019
|
+
};
|
|
77020
|
+
}
|
|
77021
|
+
/** On-disk shape of the last successfully fetched manifest. */
|
|
77022
|
+
const ManifestCacheFile = effect.Schema.Struct({
|
|
77023
|
+
fetchedAtMs: effect.Schema.Number,
|
|
77024
|
+
manifest: ModelManifestSchema
|
|
77025
|
+
});
|
|
77026
|
+
const decodeManifestCache = effect.Schema.decodeUnknownEffect(effect.Schema.fromJsonString(ManifestCacheFile));
|
|
77027
|
+
const encodeManifestCache = effect.Schema.encodeEffect(effect.Schema.fromJsonString(ManifestCacheFile));
|
|
77028
|
+
var ModelManifest = class extends effect.Context.Service()("ryco/provider/ModelManifest") {};
|
|
77029
|
+
/** Constant service for tests and callers that only need the bundled data. */
|
|
77030
|
+
const BundledOnlyModelManifest = {
|
|
77031
|
+
current: effect.Effect.succeed(BUNDLED_MODEL_MANIFEST),
|
|
77032
|
+
refresh: effect.Effect.succeed(BUNDLED_MODEL_MANIFEST),
|
|
77033
|
+
refreshInBackground: effect.Effect.void
|
|
77034
|
+
};
|
|
77035
|
+
effect.Layer.succeed(ModelManifest, BundledOnlyModelManifest);
|
|
77036
|
+
const make$6 = effect.Effect.gen(function* () {
|
|
77037
|
+
const fileSystem = yield* effect.FileSystem.FileSystem;
|
|
77038
|
+
const path = yield* effect.Path.Path;
|
|
77039
|
+
const config = yield* require_Metrics.ServerConfig;
|
|
77040
|
+
const settingsService = yield* ServerSettingsService;
|
|
77041
|
+
const httpClient = yield* effect_unstable_http.HttpClient.HttpClient;
|
|
77042
|
+
const serviceScope = yield* effect.Effect.scope;
|
|
77043
|
+
const cachePath = path.join(config.stateDir, "model-manifest.json");
|
|
77044
|
+
let manifest = BUNDLED_MODEL_MANIFEST;
|
|
77045
|
+
let fetchedAtMs = null;
|
|
77046
|
+
let lastAttemptMs = null;
|
|
77047
|
+
const refreshSemaphore = yield* effect_Semaphore.make(1);
|
|
77048
|
+
const ensureDiskCacheLoaded = yield* effect.Effect.cached(effect.Effect.gen(function* () {
|
|
77049
|
+
const fromDisk = yield* fileSystem.readFileString(cachePath).pipe(effect.Effect.flatMap((raw) => decodeManifestCache(raw)), effect.Effect.catchCause(() => effect.Effect.succeed(null)));
|
|
77050
|
+
if (fromDisk === null) return;
|
|
77051
|
+
manifest = fromDisk.manifest;
|
|
77052
|
+
fetchedAtMs = fromDisk.fetchedAtMs;
|
|
77053
|
+
}));
|
|
77054
|
+
const refresh = effect.Effect.fn("ModelManifest.refresh")(function* () {
|
|
77055
|
+
yield* ensureDiskCacheLoaded;
|
|
77056
|
+
const now = yield* effect.Clock.currentTimeMillis;
|
|
77057
|
+
const isWithin = (sinceMs, windowMs) => sinceMs !== null && now >= sinceMs && now - sinceMs < windowMs;
|
|
77058
|
+
if (isWithin(fetchedAtMs, MANIFEST_TTL_MS)) return manifest;
|
|
77059
|
+
if (isWithin(lastAttemptMs, MANIFEST_RETRY_MS)) return manifest;
|
|
77060
|
+
const settings = yield* settingsService.getSettings.pipe(effect.Effect.catchCause(() => effect.Effect.succeed(null)));
|
|
77061
|
+
if (settings !== null && !settings.enableProviderUpdateChecks) return manifest;
|
|
77062
|
+
lastAttemptMs = now;
|
|
77063
|
+
const fetched = yield* httpClient.get(MODEL_MANIFEST_URL).pipe(effect.Effect.flatMap(effect_unstable_http.HttpClientResponse.filterStatusOk), effect.Effect.flatMap((response) => response.json), effect.Effect.flatMap((json) => decodeManifest(json)), effect.Effect.timeout(FETCH_TIMEOUT_MS), effect.Effect.catchCause(() => effect.Effect.succeed(null)));
|
|
77064
|
+
if (fetched === null) return manifest;
|
|
77065
|
+
manifest = fetched;
|
|
77066
|
+
fetchedAtMs = now;
|
|
77067
|
+
yield* encodeManifestCache({
|
|
77068
|
+
fetchedAtMs: now,
|
|
77069
|
+
manifest: fetched
|
|
77070
|
+
}).pipe(effect.Effect.flatMap((serialized) => fileSystem.writeFileString(cachePath, serialized)), effect.Effect.catchCause(() => effect.Effect.void));
|
|
77071
|
+
return manifest;
|
|
77072
|
+
});
|
|
77073
|
+
const guardedRefresh = refreshSemaphore.withPermits(1)(refresh());
|
|
77074
|
+
return ModelManifest.of({
|
|
77075
|
+
current: ensureDiskCacheLoaded.pipe(effect.Effect.map(() => manifest)),
|
|
77076
|
+
refresh: guardedRefresh,
|
|
77077
|
+
refreshInBackground: effect.Effect.forkIn(guardedRefresh, serviceScope).pipe(effect.Effect.asVoid)
|
|
77078
|
+
});
|
|
77079
|
+
});
|
|
77080
|
+
const layer$1 = effect.Layer.effect(ModelManifest, make$6);
|
|
77081
|
+
//#endregion
|
|
76196
77082
|
//#region ../../packages/shared/src/providerCapabilities.ts
|
|
76197
77083
|
/** Drivers whose native turn API accepts arbitrary file bytes, not only images. */
|
|
76198
77084
|
function providerSupportsGeneralFileAttachments(provider) {
|
|
@@ -80226,6 +81112,44 @@ function projectActivityPayload(activity) {
|
|
|
80226
81112
|
}
|
|
80227
81113
|
};
|
|
80228
81114
|
}
|
|
81115
|
+
const HEAD_CHARS = 1e4;
|
|
81116
|
+
const TAIL_CHARS = 5e3;
|
|
81117
|
+
const MAX_DEPTH = 16;
|
|
81118
|
+
const EXEMPT_ITEM_TYPES = /* @__PURE__ */ new Set(["image_view", "file_change"]);
|
|
81119
|
+
function capString(value) {
|
|
81120
|
+
if (value.length <= 16e3) return value;
|
|
81121
|
+
const truncated = value.length - HEAD_CHARS - TAIL_CHARS;
|
|
81122
|
+
return `${value.slice(0, HEAD_CHARS)}\n… [${truncated.toLocaleString("en-US")} chars truncated] …\n${value.slice(value.length - TAIL_CHARS)}`;
|
|
81123
|
+
}
|
|
81124
|
+
function capValue(value, depth) {
|
|
81125
|
+
if (typeof value === "string") return capString(value);
|
|
81126
|
+
if (depth >= MAX_DEPTH || value === null || typeof value !== "object") return value;
|
|
81127
|
+
if (Array.isArray(value)) {
|
|
81128
|
+
let changed = false;
|
|
81129
|
+
const next = value.map((entry) => {
|
|
81130
|
+
const capped = capValue(entry, depth + 1);
|
|
81131
|
+
if (capped !== entry) changed = true;
|
|
81132
|
+
return capped;
|
|
81133
|
+
});
|
|
81134
|
+
return changed ? next : value;
|
|
81135
|
+
}
|
|
81136
|
+
let changed = false;
|
|
81137
|
+
const next = {};
|
|
81138
|
+
for (const [key, entry] of Object.entries(value)) {
|
|
81139
|
+
const capped = capValue(entry, depth + 1);
|
|
81140
|
+
if (capped !== entry) changed = true;
|
|
81141
|
+
next[key] = capped;
|
|
81142
|
+
}
|
|
81143
|
+
return changed ? next : value;
|
|
81144
|
+
}
|
|
81145
|
+
/**
|
|
81146
|
+
* Returns `data` with every oversized string truncated, or the same
|
|
81147
|
+
* reference when nothing needed truncation.
|
|
81148
|
+
*/
|
|
81149
|
+
function capActivityData(itemType, data) {
|
|
81150
|
+
if (typeof itemType === "string" && EXEMPT_ITEM_TYPES.has(itemType)) return data;
|
|
81151
|
+
return capValue(data, 0);
|
|
81152
|
+
}
|
|
80229
81153
|
//#endregion
|
|
80230
81154
|
//#region src/orchestration/Layers/ProviderRuntimeIngestion.ts
|
|
80231
81155
|
const providerTurnKey = (threadId, turnId) => `${threadId}:${turnId}`;
|
|
@@ -80756,7 +81680,7 @@ function runtimeEventToActivities(event, taskTitle) {
|
|
|
80756
81680
|
...event.itemId ? { providerItemId: event.itemId } : {},
|
|
80757
81681
|
...event.providerRefs ? { providerRefs: event.providerRefs } : {},
|
|
80758
81682
|
...event.payload.detail ? { detail: truncateDetail(event.payload.detail) } : {},
|
|
80759
|
-
...event.payload.data !== void 0 ? { data: event.payload.data } : {},
|
|
81683
|
+
...event.payload.data !== void 0 ? { data: capActivityData(event.payload.itemType, event.payload.data) } : {},
|
|
80760
81684
|
...event.payload.agentId ? { agentId: event.payload.agentId } : {},
|
|
80761
81685
|
...event.payload.parentToolUseId ? { parentToolUseId: event.payload.parentToolUseId } : {}
|
|
80762
81686
|
},
|
|
@@ -80777,7 +81701,7 @@ function runtimeEventToActivities(event, taskTitle) {
|
|
|
80777
81701
|
...event.itemId ? { providerItemId: event.itemId } : {},
|
|
80778
81702
|
...event.providerRefs ? { providerRefs: event.providerRefs } : {},
|
|
80779
81703
|
...event.payload.detail ? { detail: truncateDetail(event.payload.detail) } : {},
|
|
80780
|
-
...event.payload.data !== void 0 ? { data: event.payload.data } : {},
|
|
81704
|
+
...event.payload.data !== void 0 ? { data: capActivityData(event.payload.itemType, event.payload.data) } : {},
|
|
80781
81705
|
...event.payload.agentId ? { agentId: event.payload.agentId } : {},
|
|
80782
81706
|
...event.payload.parentToolUseId ? { parentToolUseId: event.payload.parentToolUseId } : {}
|
|
80783
81707
|
},
|
|
@@ -80798,7 +81722,7 @@ function runtimeEventToActivities(event, taskTitle) {
|
|
|
80798
81722
|
...event.itemId ? { providerItemId: event.itemId } : {},
|
|
80799
81723
|
...event.providerRefs ? { providerRefs: event.providerRefs } : {},
|
|
80800
81724
|
...event.payload.detail ? { detail: truncateDetail(event.payload.detail) } : {},
|
|
80801
|
-
...event.payload.data !== void 0 ? { data: event.payload.data } : {},
|
|
81725
|
+
...event.payload.data !== void 0 ? { data: capActivityData(event.payload.itemType, event.payload.data) } : {},
|
|
80802
81726
|
...event.payload.agentId ? { agentId: event.payload.agentId } : {},
|
|
80803
81727
|
...event.payload.parentToolUseId ? { parentToolUseId: event.payload.parentToolUseId } : {}
|
|
80804
81728
|
},
|
|
@@ -86953,7 +87877,7 @@ const makeServerEnvironment = effect.Effect.fn("makeServerEnvironment")(function
|
|
|
86953
87877
|
os: platformOs(),
|
|
86954
87878
|
arch: platformArch()
|
|
86955
87879
|
},
|
|
86956
|
-
serverVersion: version$
|
|
87880
|
+
serverVersion: version$2,
|
|
86957
87881
|
capabilities: {
|
|
86958
87882
|
repositoryIdentity: true,
|
|
86959
87883
|
threadSettlement: true,
|
|
@@ -99883,6 +100807,7 @@ const decideOrchestrationCommand = effect.Effect.fn("decideOrchestrationCommand"
|
|
|
99883
100807
|
sessionStatus: thread.session?.status ?? null,
|
|
99884
100808
|
latestTurnState: thread.latestTurn?.state ?? null,
|
|
99885
100809
|
latestTurnRequestedAt: thread.latestTurn?.requestedAt ?? null,
|
|
100810
|
+
latestTurnStartedAt: thread.latestTurn?.startedAt ?? null,
|
|
99886
100811
|
latestTurnCompletedAt: thread.latestTurn?.completedAt ?? null,
|
|
99887
100812
|
latestUserMessageAt: latestUserMessageAt(thread),
|
|
99888
100813
|
hasPendingApprovals: pendingRequests.hasPendingApprovals,
|
|
@@ -99893,6 +100818,7 @@ const decideOrchestrationCommand = effect.Effect.fn("decideOrchestrationCommand"
|
|
|
99893
100818
|
worktreeUpdatedAt: worktree?.updatedAt ?? null,
|
|
99894
100819
|
updatedAt: thread.updatedAt,
|
|
99895
100820
|
createdAt: thread.createdAt,
|
|
100821
|
+
autoSettleAfterDays: null,
|
|
99896
100822
|
nowMs: Date.parse(occurredAt)
|
|
99897
100823
|
});
|
|
99898
100824
|
if (!eligibility.canSettle) return yield* new OrchestrationCommandInvariantError({
|
|
@@ -105918,7 +106844,7 @@ const ProjectAvatarStoreLayerLive = effect.Layer.unwrap(effect.Effect.gen(functi
|
|
|
105918
106844
|
return ProjectAvatarStoreLive({ dataDir: config.stateDir });
|
|
105919
106845
|
}));
|
|
105920
106846
|
const ReactorLayerLive = effect.Layer.empty.pipe(effect.Layer.provideMerge(OrchestrationReactorLive), effect.Layer.provideMerge(ProviderRuntimeIngestionLive), effect.Layer.provideMerge(ProviderCommandReactorLive), effect.Layer.provideMerge(ContextHandoffCoordinatorLive), effect.Layer.provideMerge(ContextHandoffServiceLive), effect.Layer.provideMerge(ContextHandoffRepositoryLive), effect.Layer.provideMerge(CheckpointReactorLive), effect.Layer.provideMerge(ThreadDeletionReactorLive), effect.Layer.provideMerge(RuntimeReceiptBusLive));
|
|
105921
|
-
const RuntimeFeatureLayerLive = effect.Layer.mergeAll(ReactorLayerLive, ThreadPriorityCoordinatorLive).pipe(effect.Layer.provideMerge(ThreadPriorityCandidateQueryLive), effect.Layer.provideMerge(ThreadPriorityRepositoryLive), effect.Layer.provideMerge(layer$
|
|
106847
|
+
const RuntimeFeatureLayerLive = effect.Layer.mergeAll(ReactorLayerLive, ThreadPriorityCoordinatorLive).pipe(effect.Layer.provideMerge(ThreadPriorityCandidateQueryLive), effect.Layer.provideMerge(ThreadPriorityRepositoryLive), effect.Layer.provideMerge(layer$8));
|
|
105922
106848
|
const ProviderSessionDirectoryLayerLive = ProviderSessionDirectoryLive.pipe(effect.Layer.provide(ProviderSessionRuntimeRepositoryLive));
|
|
105923
106849
|
const ProviderLayerLive = ProviderServiceLive.pipe(effect.Layer.provide(ProviderAdapterRegistryLive), effect.Layer.provideMerge(ProviderSessionDirectoryLayerLive));
|
|
105924
106850
|
const PersistenceLayerLive = effect.Layer.empty.pipe(effect.Layer.provideMerge(layerConfig));
|
|
@@ -105926,22 +106852,22 @@ const AgentControlAutomationLayerLive = AgentControlAutomationServiceLive.pipe(e
|
|
|
105926
106852
|
const AgentControlExternalInstallationLayerLive = AgentControlExternalInstallationServiceLive.pipe(effect.Layer.provideMerge(AgentControlExternalIntegrationServiceLive), effect.Layer.provideMerge(AgentControlMcpInstallationRepositoryLive));
|
|
105927
106853
|
const AgentControlLayerLive = effect.Layer.mergeAll(AgentControlProposalServiceLive, AgentControlOperationStoreLive, AgentControlAutomationLayerLive, AgentControlExternalInstallationLayerLive).pipe(effect.Layer.provideMerge(AgentControlProposalStoreLive), effect.Layer.provideMerge(AgentControlProposalEventsLive), effect.Layer.provideMerge(AgentControlPolicyLive), effect.Layer.provideMerge(AgentControlProposalRepositoryLive), effect.Layer.provideMerge(AgentControlOperationRepositoryLive), effect.Layer.provideMerge(AgentControlAuditRepositoryLive), effect.Layer.provideMerge(AgentControlExternalRepositoryLive), effect.Layer.provideMerge(AgentControlAutomationRepositoryLive), effect.Layer.provideMerge(AgentControlMcpInstallationRepositoryLive));
|
|
105928
106854
|
const AgentControlSessionRegistryLayerLive = AgentControlSessionRegistryLive.pipe(effect.Layer.provide(AgentControlPolicyLive));
|
|
105929
|
-
const VcsDriverRegistryLayerLive = layer$
|
|
105930
|
-
const SourceControlProviderRegistryLayerLive = layer$
|
|
105931
|
-
const GitManagerLayerLive = layer$
|
|
105932
|
-
const GitLayerLive = effect.Layer.empty.pipe(effect.Layer.provideMerge(GitManagerLayerLive), effect.Layer.provideMerge(layer$
|
|
105933
|
-
const GitWorkflowLayerLive = layer$
|
|
105934
|
-
const SourceControlRepositoryServiceLayerLive = layer$
|
|
105935
|
-
const VcsLayerLive = effect.Layer.empty.pipe(effect.Layer.provideMerge(layer$
|
|
106855
|
+
const VcsDriverRegistryLayerLive = layer$15.pipe(effect.Layer.provide(layer$16));
|
|
106856
|
+
const SourceControlProviderRegistryLayerLive = layer$10.pipe(effect.Layer.provide(effect.Layer.mergeAll(layer$19, layer$14, layer$13, layer$12, layer$11)), effect.Layer.provideMerge(AtlassianConnectionRepositoryLive), effect.Layer.provideMerge(PersistenceLayerLive), effect.Layer.provide(ServerSecretStoreLive), effect.Layer.provideMerge(layer$17), effect.Layer.provideMerge(VcsDriverRegistryLayerLive));
|
|
106857
|
+
const GitManagerLayerLive = layer$7.pipe(effect.Layer.provideMerge(ProjectSetupScriptRunnerLive), effect.Layer.provideMerge(layer$17), effect.Layer.provideMerge(SourceControlProviderRegistryLayerLive), effect.Layer.provideMerge(layer$8));
|
|
106858
|
+
const GitLayerLive = effect.Layer.empty.pipe(effect.Layer.provideMerge(GitManagerLayerLive), effect.Layer.provideMerge(layer$17));
|
|
106859
|
+
const GitWorkflowLayerLive = layer$6.pipe(effect.Layer.provideMerge(VcsDriverRegistryLayerLive), effect.Layer.provideMerge(GitLayerLive));
|
|
106860
|
+
const SourceControlRepositoryServiceLayerLive = layer$3.pipe(effect.Layer.provideMerge(layer$17), effect.Layer.provideMerge(SourceControlProviderRegistryLayerLive), effect.Layer.provide(WorkspaceAccessPolicyLive));
|
|
106861
|
+
const VcsLayerLive = effect.Layer.empty.pipe(effect.Layer.provideMerge(layer$16), effect.Layer.provideMerge(VcsDriverRegistryLayerLive), effect.Layer.provideMerge(layer$4.pipe(effect.Layer.provide(VcsDriverRegistryLayerLive))), effect.Layer.provideMerge(GitWorkflowLayerLive), effect.Layer.provideMerge(SourceControlRepositoryServiceLayerLive), effect.Layer.provideMerge(layer$5.pipe(effect.Layer.provide(GitWorkflowLayerLive))));
|
|
105936
106862
|
const CheckpointingLayerLive = effect.Layer.empty.pipe(effect.Layer.provideMerge(CheckpointDiffQueryLive), effect.Layer.provideMerge(CheckpointStoreLive.pipe(effect.Layer.provide(VcsDriverRegistryLayerLive))));
|
|
105937
106863
|
const TerminalLayerLive = TerminalManagerLive.pipe(effect.Layer.provide(PtyAdapterLive), effect.Layer.provide(WorkspaceAccessPolicyLive));
|
|
105938
106864
|
const WorkspaceEntriesLayerLive = WorkspaceEntriesLive.pipe(effect.Layer.provide(WorkspacePathsLive), effect.Layer.provide(WorkspaceAccessPolicyLive), effect.Layer.provideMerge(VcsDriverRegistryLayerLive));
|
|
105939
106865
|
const WorkspaceFileSystemLayerLive = WorkspaceFileSystemLive.pipe(effect.Layer.provide(WorkspacePathsLive), effect.Layer.provide(WorkspaceEntriesLayerLive));
|
|
105940
106866
|
const WorkspaceLayerLive = effect.Layer.mergeAll(WorkspaceAccessPolicyLive, WorkspacePathsLive, WorkspaceEntriesLayerLive, WorkspaceFileSystemLayerLive);
|
|
105941
106867
|
const AuthLayerLive = ServerAuthLive.pipe(effect.Layer.provideMerge(PersistenceLayerLive), effect.Layer.provide(ServerSecretStoreLive));
|
|
105942
|
-
const AtlassianLayerLive = effect.Layer.mergeAll(layer$
|
|
106868
|
+
const AtlassianLayerLive = effect.Layer.mergeAll(layer$18, layer$2).pipe(effect.Layer.provideMerge(AtlassianConnectionRepositoryLive), effect.Layer.provideMerge(AtlassianResourceRepositoryLive), effect.Layer.provideMerge(ProjectAtlassianLinkRepositoryLive), effect.Layer.provideMerge(PersistenceLayerLive), effect.Layer.provide(ServerSecretStoreLive));
|
|
105943
106869
|
const ProviderRuntimeLayerLive = ProviderSessionReaperLive.pipe(effect.Layer.provideMerge(ProviderLayerLive), effect.Layer.provideMerge(OrchestrationLayerLive));
|
|
105944
|
-
const RuntimeCoreBaseDependenciesLive = RuntimeFeatureLayerLive.pipe(effect.Layer.provideMerge(CheckpointingLayerLive), effect.Layer.provideMerge(SourceControlProviderRegistryLayerLive), effect.Layer.provideMerge(GitLayerLive), effect.Layer.provideMerge(VcsLayerLive), effect.Layer.provideMerge(ProviderRuntimeLayerLive), effect.Layer.provideMerge(TerminalLayerLive), effect.Layer.provideMerge(AgentControlLayerLive), effect.Layer.provideMerge(PersistenceLayerLive), effect.Layer.provideMerge(ProjectionWorktreeRepositoryLive), effect.Layer.provideMerge(KeybindingsLive), effect.Layer.provideMerge(ProviderRegistryLive), effect.Layer.provideMerge(ProviderInstanceRegistryHydrationLive), effect.Layer.provideMerge(AgentControlSessionRegistryLayerLive), effect.Layer.provideMerge(ProviderEventLoggersLive), effect.Layer.provideMerge(OpenCodeRuntimeLive), effect.Layer.provideMerge(WorkspaceLayerLive), effect.Layer.provideMerge(ProjectFaviconResolverLive), effect.Layer.provideMerge(ProjectAvatarStoreLayerLive));
|
|
106870
|
+
const RuntimeCoreBaseDependenciesLive = RuntimeFeatureLayerLive.pipe(effect.Layer.provideMerge(CheckpointingLayerLive), effect.Layer.provideMerge(SourceControlProviderRegistryLayerLive), effect.Layer.provideMerge(GitLayerLive), effect.Layer.provideMerge(VcsLayerLive), effect.Layer.provideMerge(ProviderRuntimeLayerLive), effect.Layer.provideMerge(TerminalLayerLive), effect.Layer.provideMerge(AgentControlLayerLive), effect.Layer.provideMerge(PersistenceLayerLive), effect.Layer.provideMerge(ProjectionWorktreeRepositoryLive), effect.Layer.provideMerge(KeybindingsLive), effect.Layer.provideMerge(ProviderRegistryLive), effect.Layer.provideMerge(ProviderInstanceRegistryHydrationLive), effect.Layer.provideMerge(AgentControlSessionRegistryLayerLive), effect.Layer.provideMerge(ProviderEventLoggersLive), effect.Layer.provideMerge(layer$1), effect.Layer.provideMerge(OpenCodeRuntimeLive), effect.Layer.provideMerge(WorkspaceLayerLive), effect.Layer.provideMerge(ProjectFaviconResolverLive), effect.Layer.provideMerge(ProjectAvatarStoreLayerLive));
|
|
105945
106871
|
const RuntimeDependenciesLive = effect.Layer.mergeAll(RuntimeCoreBaseDependenciesLive, UsageServiceLive).pipe(effect.Layer.provideMerge(ServerSettingsLive)).pipe(effect.Layer.provideMerge(RepositoryIdentityResolverLive), effect.Layer.provideMerge(ServerEnvironmentLive), effect.Layer.provideMerge(AdvertisedEndpointRegistryLive), effect.Layer.provideMerge(AuthLayerLive), effect.Layer.provideMerge(AtlassianLayerLive)).pipe(effect.Layer.provideMerge(AnalyticsServiceLayerLive), effect.Layer.provideMerge(OpenLive), effect.Layer.provideMerge(ServerLifecycleEventsLive), effect.Layer.provide(NetService.layer));
|
|
105946
106872
|
const RuntimeServicesLive = effect.Layer.mergeAll(ServerRuntimeStartupLive, AgentControlMcpServerLive.pipe(effect.Layer.provideMerge(AgentControlDiagnosticsServiceLive), effect.Layer.provideMerge(AgentControlActionValidatorLive), effect.Layer.provideMerge(AgentControlProjectPlansLive)), AgentControlExternalMcpServerLive.pipe(effect.Layer.provideMerge(AgentControlDiagnosticsServiceLive), effect.Layer.provideMerge(AgentControlActionValidatorLive), effect.Layer.provideMerge(AgentControlProjectPlansLive), effect.Layer.provideMerge(AgentControlExternalTaskServiceLive.pipe(effect.Layer.provideMerge(AgentControlActionValidatorLive), effect.Layer.provideMerge(AgentControlProjectPlansLive)))), AgentControlExecutionLive.pipe(effect.Layer.provideMerge(ServerRuntimeStartupLive), effect.Layer.provideMerge(AgentControlActionValidatorLive), effect.Layer.provideMerge(AgentControlProjectPlansLive), effect.Layer.provideMerge(OrchestrationCommandApplicationLive))).pipe(effect.Layer.provideMerge(RuntimeDependenciesLive), effect.Layer.provideMerge(DeviceServiceLive));
|
|
105947
106873
|
const authRoutesLayer = effect.Layer.mergeAll(authBearerBootstrapRouteLayer, authBootstrapRouteLayer, authClientsRevokeOthersRouteLayer, authClientsRevokeRouteLayer, authClientsRouteLayer, authPairingLinksRevokeRouteLayer, authPairingLinksRouteLayer, authPairingCredentialRouteLayer, authSessionRouteLayer, authWebSocketTokenRouteLayer);
|
|
@@ -107446,7 +108372,7 @@ const promptAndPairExternalMcpBridge = async (input) => {
|
|
|
107446
108372
|
//#endregion
|
|
107447
108373
|
//#region src/bin.ts
|
|
107448
108374
|
const CliRuntimeLayer = effect_Layer.mergeAll(_effect_platform_node_NodeServices.layer, NetService.layer);
|
|
107449
|
-
const program = effect_unstable_cli.Command.run(cli, { version: version$
|
|
108375
|
+
const program = effect_unstable_cli.Command.run(cli, { version: version$2 }).pipe(effect_Effect.scoped, effect_Effect.provide(CliRuntimeLayer));
|
|
107450
108376
|
const externalMcpArgs = () => {
|
|
107451
108377
|
if (process.argv[2] !== "mcp" || process.argv[3] !== "pair" && process.argv[3] !== "serve") return null;
|
|
107452
108378
|
const integrationIndex = process.argv.indexOf("--integration", 4);
|
|
@@ -107484,6 +108410,7 @@ else _effect_platform_node_NodeRuntime.runMain(program);
|
|
|
107484
108410
|
exports.AGENT_CONTROL_INTERNAL_SERVER_NAME = AGENT_CONTROL_INTERNAL_SERVER_NAME;
|
|
107485
108411
|
exports.AgentControlSessionRegistry = AgentControlSessionRegistry;
|
|
107486
108412
|
exports.AzureDevOpsCli = AzureDevOpsCli;
|
|
108413
|
+
exports.BUNDLED_MODEL_MANIFEST = BUNDLED_MODEL_MANIFEST;
|
|
107487
108414
|
exports.BitbucketApi = BitbucketApi;
|
|
107488
108415
|
exports.CodexAppServerClient = CodexAppServerClient;
|
|
107489
108416
|
exports.CodexAppServerProcessExitedError = CodexAppServerProcessExitedError;
|
|
@@ -107498,6 +108425,7 @@ exports.GitHubCli = GitHubCli;
|
|
|
107498
108425
|
exports.GitHubCliError = GitHubCliError;
|
|
107499
108426
|
exports.GitLabCli = GitLabCli;
|
|
107500
108427
|
exports.MINIMUM_OPENCODE_VERSION = MINIMUM_OPENCODE_VERSION;
|
|
108428
|
+
exports.ModelManifest = ModelManifest;
|
|
107501
108429
|
exports.OpenCodeRuntime = OpenCodeRuntime;
|
|
107502
108430
|
exports.OpenCodeRuntimeError = OpenCodeRuntimeError;
|
|
107503
108431
|
exports.ProviderAdapterProcessError = ProviderAdapterProcessError;
|
|
@@ -107580,6 +108508,8 @@ exports.collectStreamAsString = collectStreamAsString;
|
|
|
107580
108508
|
exports.compareCliVersions = compareCliVersions;
|
|
107581
108509
|
exports.createModelCapabilities = createModelCapabilities;
|
|
107582
108510
|
exports.createProcessDeviceToolBinding = createProcessDeviceToolBinding;
|
|
108511
|
+
exports.decodeClaudeModelAdapter = decodeClaudeModelAdapter;
|
|
108512
|
+
exports.decodeClaudeProfileAdapter = decodeClaudeProfileAdapter;
|
|
107583
108513
|
exports.decodeGitHubPullRequestListJson = decodeGitHubPullRequestListJson;
|
|
107584
108514
|
exports.detailFromResult = detailFromResult;
|
|
107585
108515
|
exports.enrichProviderSnapshotWithVersionAdvisory = enrichProviderSnapshotWithVersionAdvisory;
|
|
@@ -107626,6 +108556,7 @@ exports.resolveClaudeHomePath = resolveClaudeHomePath$1;
|
|
|
107626
108556
|
exports.resolveCodexHomeLayout = resolveCodexHomeLayout;
|
|
107627
108557
|
exports.resolveCommandPath = resolveCommandPath;
|
|
107628
108558
|
exports.resolvePromptInjectedEffort = resolvePromptInjectedEffort;
|
|
108559
|
+
exports.resolveProviderCatalog = resolveProviderCatalog;
|
|
107629
108560
|
exports.resolveProviderMaintenanceCapabilitiesEffect = resolveProviderMaintenanceCapabilitiesEffect;
|
|
107630
108561
|
exports.runOpenCodeSdk = runOpenCodeSdk;
|
|
107631
108562
|
exports.sanitizeCommitSubject = sanitizeCommitSubject;
|