ryco-cli 0.1.20 → 0.1.22
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-Bh7MX3rC.cjs → AcpNativeLogging-COepku4a.cjs} +264 -7
- package/dist/{AcpNativeLogging-CLM3p9JD.mjs → AcpNativeLogging-D7e1dn7s.mjs} +254 -9
- package/dist/{AzureDevOpsSourceControlProvider-jQm1WPMS.mjs → AzureDevOpsSourceControlProvider-BNGEg1R8.mjs} +3 -3
- package/dist/{AzureDevOpsSourceControlProvider-D9QXGi1h.cjs → AzureDevOpsSourceControlProvider-CrvgKNf2.cjs} +2 -2
- package/dist/{BitbucketSourceControlProvider-j95Cro_2.mjs → BitbucketSourceControlProvider-Bt21jw68.mjs} +3 -3
- package/dist/{BitbucketSourceControlProvider-C3VDp9qR.cjs → BitbucketSourceControlProvider-BzhsQwH-.cjs} +2 -2
- package/dist/{BunPTY-CNvWSzEJ.mjs → BunPTY-TbHbSc8S.mjs} +1 -1
- package/dist/{ClaudeDriver-CT89QDP8.mjs → ClaudeDriver-D65SPdHR.mjs} +44 -119
- package/dist/{ClaudeDriver-DiRhQM2K.cjs → ClaudeDriver-D7NatUx6.cjs} +52 -127
- package/dist/{CodexDriver-CBYfPl_X.mjs → CodexDriver-D4z5-wUD.mjs} +237 -50
- package/dist/{CodexDriver-BmKoU7w_.cjs → CodexDriver-DWGtHt9r.cjs} +235 -48
- package/dist/{CodexTextGeneration-CuXvtfAi.cjs → CodexTextGeneration-B4tJTUDo.cjs} +1 -1
- package/dist/{CodexTextGeneration-B7GPyLo2.mjs → CodexTextGeneration-BikHow8k.mjs} +2 -2
- package/dist/{CopilotDriver-XX5zmGVK.cjs → CopilotDriver-DJvYncGI.cjs} +122 -23
- package/dist/{CopilotDriver-BJ1P_bHz.mjs → CopilotDriver-ZvvsAIkd.mjs} +123 -24
- package/dist/{CursorDriver-BH6yAijk.mjs → CursorDriver-B1QSBzuH.mjs} +45 -74
- package/dist/{CursorDriver-CYMXQKec.cjs → CursorDriver-D3I4KULs.cjs} +44 -73
- package/dist/{ForgejoSourceControlProvider-ZfU3SBzW.mjs → ForgejoSourceControlProvider-BGXysSX6.mjs} +3 -3
- package/dist/{ForgejoSourceControlProvider-Dzg-BJY_.cjs → ForgejoSourceControlProvider-Dh6DOoc8.cjs} +2 -2
- package/dist/{GitHubSourceControlProvider-BpyIi23Q.cjs → GitHubSourceControlProvider-8hsv_kCE.cjs} +2 -2
- package/dist/{GitHubSourceControlProvider-Bx5_H3zb.mjs → GitHubSourceControlProvider-CPCYV8Xo.mjs} +3 -3
- package/dist/{GitLabSourceControlProvider-QccSsOnx.cjs → GitLabSourceControlProvider-B0ZbF9Zx.cjs} +2 -2
- package/dist/{GitLabSourceControlProvider-DjvGD1WZ.mjs → GitLabSourceControlProvider-Bvknpaon.mjs} +3 -3
- package/dist/{GrokDriver-BPIUrqkN.mjs → GrokDriver-DgQe3pKz.mjs} +41 -10
- package/dist/{GrokDriver-jE4az7JZ.cjs → GrokDriver-_puXDTU3.cjs} +42 -11
- package/dist/{NodePTY-lO8PwZLk.mjs → NodePTY-B_p5tLYO.mjs} +1 -1
- package/dist/{OpenCodeDriver-IbZqAzYW.cjs → OpenCodeDriver-401RexI0.cjs} +240 -40
- package/dist/{OpenCodeDriver-_hUfFwH4.mjs → OpenCodeDriver-DNUlF8M-.mjs} +238 -41
- package/dist/{SourceControlProviderDiscoveryCatalog-CHxCP6Ng.mjs → SourceControlProviderDiscoveryCatalog-B37RHe2u.mjs} +1 -1
- package/dist/{SourceControlProviderDiscoveryCatalog-CnkV-oKD.cjs → SourceControlProviderDiscoveryCatalog-DreaAH1H.cjs} +1 -1
- package/dist/bin.cjs +10690 -5679
- package/dist/bin.mjs +10674 -5674
- package/dist/client/assets/AccountSettings-CypheYqM.js +1 -0
- package/dist/client/assets/AiFocusSettings-BlX0ED1t.js +1 -0
- package/dist/client/assets/AnimatedHeight-DKCe4x_Q.js +1 -0
- package/dist/client/assets/AppearanceSettings-BSyn6NXf.js +1 -0
- package/dist/client/assets/BranchToolbar.logic-fpBz8Ajj.js +1 -0
- package/dist/client/assets/BrowserPanel-BWch19QH.js +1 -0
- package/dist/client/assets/ChatRightPanel-B7yrq-hS.js +27 -0
- package/dist/client/assets/ChatThreadRouteView-Cg0d_EHs.js +1 -0
- package/dist/client/assets/CommandPaletteDialog-DImCuPaX.js +1 -0
- package/dist/client/assets/CompositeItem-BYnHWRNf.js +1 -0
- package/dist/client/assets/CompositeRoot-B28uivk7.js +1 -0
- package/dist/client/assets/ComputerUseSettings-CosW7jaG.js +1 -0
- package/dist/client/assets/ConnectionsSettings-Bk6vI3G-.js +7 -0
- package/dist/client/assets/ContextHandoffEndpointLabel-BR6ygaub.js +4 -0
- package/dist/client/assets/DiagnosticsSettings-Dp_tCNLw.js +2 -0
- package/dist/client/assets/DialogHandle-BN-QB-sO.js +1 -0
- package/dist/client/assets/DialogPopup-BuJs5WUt.js +1 -0
- package/dist/client/assets/DialogRoot-PxEcoecQ.js +1 -0
- package/dist/client/assets/DialogTitle-4nxQsra4.js +1 -0
- package/dist/client/assets/DialogTrigger-D_0canul.js +1 -0
- package/dist/client/assets/DialogViewport-DSo-2hyf.js +1 -0
- package/dist/client/assets/DraftChatThreadRouteView-C94kpMx4.js +1 -0
- package/dist/client/assets/{ExternalIdentityWeb.logic-TlJdh82R.js → ExternalIdentityWeb.logic-CGJKCFPo.js} +1 -1
- package/dist/client/assets/{GlassSurface-BWk2twKc.js → GlassSurface-CyOTUS7E.js} +1 -1
- package/dist/client/assets/HostedConnectionControls-CL0Ws4ca.js +1 -0
- package/dist/client/assets/HostedHubRoot-LUINZl4r.js +1 -0
- package/dist/client/assets/HostedNativeAuthorizationRoute-CgYVBE6N.js +1 -0
- package/dist/client/assets/HostedRelayTrustNotice-DgdeZh52.js +1 -0
- package/dist/client/assets/Icons-BIUbIFr7.js +1 -0
- package/dist/client/assets/IntegrationsSettingsPanel-B7tXTaa3.js +1 -0
- package/dist/client/assets/KeybindingsSettings-HMlRcGQ4.js +7 -0
- package/dist/client/assets/LazyBrowserPanel-CKfmuM9U.js +1 -0
- package/dist/client/assets/{McpServersSettings-Cbq-uHU3.js → McpServersSettings-Bq-HyhvC.js} +4 -4
- package/dist/client/assets/MobileSheet-acDRH9aa.js +1 -0
- package/dist/client/assets/NoActiveThreadState-7rym7bV7.js +1 -0
- package/dist/client/assets/NodeSecuritySettings-D8qjh4Dc.js +1 -0
- package/dist/client/assets/OpinionatedPluginsSettings-D7Uks5yR.js +1 -0
- package/dist/client/assets/PhoneGetAppInterstitial-BQXUSufH.js +1 -0
- package/dist/client/assets/PhoneGetAppInterstitialBackdrop-BbUvwGmI.js +1 -0
- package/dist/client/assets/PhoneHome-DvgdMTkh.js +1 -0
- package/dist/client/assets/PhoneSettingsSurface-DncJ540i.js +1 -0
- package/dist/client/assets/ProjectFavicon-BY5Vyyk6.js +1 -0
- package/dist/client/assets/ProviderInstanceIcon-CZe1TbeC.js +1 -0
- package/dist/client/assets/ProviderModelPicker-DHAY1n_1.js +1 -0
- package/dist/client/assets/{ProviderUpdateLaunchNotification.logic-D3qYdp40.js → ProviderUpdateLaunchNotification.logic-DQJVrUIo.js} +1 -1
- package/dist/client/assets/ProvidersSettingsPanel-BylxZs4S.js +1 -0
- package/dist/client/assets/RedactedSensitiveText-D-enj1h5.js +1 -0
- package/dist/client/assets/RootAppShell-DBK0WW2b.js +6 -0
- package/dist/client/assets/RycoLetterMark-PnGm6TQY.js +1 -0
- package/dist/client/assets/{Separator-DiMB6Prz.js → Separator-BWKYMFqt.js} +1 -1
- package/dist/client/assets/SettingsDialog-N25hIv-a.js +1 -0
- package/dist/client/assets/SettingsPanels-D9YXmUPP.js +3 -0
- package/dist/client/assets/SettingsPanels.editor-Cn18k74l.js +1 -0
- package/dist/client/assets/SourceControlSettings-BAzSpMfR.js +1 -0
- package/dist/client/assets/StatisticsPage-CLKpfsQ8.js +1 -0
- package/dist/client/assets/StatisticsPanel-DxHUFn64.js +1 -0
- package/dist/client/assets/StatisticsSettingsLink-B3HIQYFh.js +1 -0
- package/dist/client/assets/ThreadStatusIndicators-CQZ_OgY8.js +0 -0
- package/dist/client/assets/{ThreadTerminalDrawer-DvadlVXV.js → ThreadTerminalDrawer-D1SPewXR.js} +3 -3
- package/dist/client/assets/ThreadWorkspacePanel-DVF6oZsV.js +2009 -0
- package/dist/client/assets/ToolbarRootContext-Dt8G5aCw.js +1 -0
- package/dist/client/assets/{WorkItemsTab-CI6hTQ_k.js → WorkItemsTab-BoE-TcXJ.js} +8 -8
- package/dist/client/assets/{activity-1CkdQG5u.js → activity-DfFM6I8A.js} +1 -1
- package/dist/client/assets/alert-DE5SkZhr.js +1 -0
- package/dist/client/assets/alert-dialog-BqPnPhb6.js +1 -0
- package/dist/client/assets/appChrome-CJauXpqv.js +1 -0
- package/dist/client/assets/{archive-BL1hojl3.js → archive-BFV4YQ7D.js} +1 -1
- package/dist/client/assets/arrow-left-CCmICk1t.js +1 -0
- package/dist/client/assets/arrow-right-Z3Eay6Fd.js +1 -0
- package/dist/client/assets/{arrow-up-CTcWIlqV.js → arrow-up-caak6P06.js} +1 -1
- package/dist/client/assets/arrow-up-right-BwC-fCE4.js +1 -0
- package/dist/client/assets/authorization-bHsGYIT0.js +1 -0
- package/dist/client/assets/{badge-Cil0isYQ.js → badge-m9kM3P07.js} +1 -1
- package/dist/client/assets/{bot-DJp0cuhK.js → bot-Cv7a7Ksf.js} +1 -1
- package/dist/client/assets/{button-CBqaO2Ub.js → button-B6xQZNKz.js} +1 -1
- package/dist/client/assets/capabilities-D6bsjqkj.js +1 -0
- package/dist/client/assets/{chart-column-Dw6ACmXM.js → chart-column-DgGlY4sD.js} +1 -1
- package/dist/client/assets/chatThreadActions-BXaNbPbp.js +1 -0
- package/dist/client/assets/check-BfnWUGBT.js +1 -0
- package/dist/client/assets/{chevron-down-B7C6FKzM.js → chevron-down-B_FKCRVh.js} +1 -1
- package/dist/client/assets/chevron-right-B6CKNGh4.js +1 -0
- package/dist/client/assets/{circle-alert-BWvs6IOn.js → circle-alert-BV3vJE-c.js} +1 -1
- package/dist/client/assets/circle-check-D2Vx39x-.js +1 -0
- package/dist/client/assets/{external-link-fbvzDWM7.js → circle-dashed-khcA8K3Y.js} +1 -1
- package/dist/client/assets/circle-question-mark-DEuLdOiy.js +1 -0
- package/dist/client/assets/circle-x-DqfM_2wS.js +1 -0
- package/dist/client/assets/clamp-D0kAXd-u.js +1 -0
- package/dist/client/assets/{clipboard-copy-C4VV20QR.js → clipboard-copy-CiD4tBsh.js} +1 -1
- package/dist/client/assets/clock--4M7moiV.js +1 -0
- package/dist/client/assets/clock-3-NbnQqtcd.js +1 -0
- package/dist/client/assets/collapsible-BECg-ssO.js +1 -0
- package/dist/client/assets/command-DvbA3O0J.js +1 -0
- package/dist/client/assets/{copy-UQjKGt7t.js → copy-CkPe1c-r.js} +1 -1
- package/dist/client/assets/data-list-7TiaqfZU.js +1 -0
- package/dist/client/assets/desktopUpdateAtoms-6j0d8vfy.js +1 -0
- package/dist/client/assets/desktopWorkspace-8s8rm3zL.js +1 -0
- package/dist/client/assets/device-CGaJ6fwD.js +168 -0
- package/dist/client/assets/dialog-C9v8Zl6e.js +1 -0
- package/dist/client/assets/{download-CQZ-m4zW.js → download-DPjzVxTa.js} +1 -1
- package/dist/client/assets/draft-input-BRSLIjV6.js +1 -0
- package/dist/client/assets/editorPreferences-D-9SDgRM.js +1 -0
- package/dist/client/assets/empty-CuQ57p2u.js +1 -0
- package/dist/client/assets/external-link-CF9EzT-A.js +1 -0
- package/dist/client/assets/{eye-CUSPj-gd.js → eye-C2Puut9B.js} +1 -1
- package/dist/client/assets/{folder-DtsQoI9_.js → folder-BKTxLq18.js} +1 -1
- package/dist/client/assets/{folder-closed-CsvKfC6X.js → folder-closed-D2cwiusg.js} +1 -1
- package/dist/client/assets/getPseudoElementBounds-DdH76YK5.js +1 -0
- package/dist/client/assets/{git-branch-BKr-Ij4u.js → git-branch-Dauy2SWC.js} +1 -1
- package/dist/client/assets/{git-pull-request-DIYyPsg5.js → git-pull-request-DsK1gBtK.js} +1 -1
- package/dist/client/assets/globe-dS40wBdE.js +1 -0
- package/dist/client/assets/group-DBXm8riE.js +1 -0
- package/dist/client/assets/hostedConnectionCoordinator-DSMW2Ldh.js +1 -0
- package/dist/client/assets/{index-QY6vcnCY.js → index-DRY8Hgrj.js} +2 -2
- package/dist/client/assets/input-Dn_zesdZ.js +1 -0
- package/dist/client/assets/kbd-BF2-WlxQ.js +1 -0
- package/dist/client/assets/{key-round-CacMputS.js → key-round-BjaaL9Df.js} +1 -1
- package/dist/client/assets/{keybindings-Bj6xWIbQ.js → keybindings-FSJY3Tht.js} +1 -1
- package/dist/client/assets/{keyboard-BqeRMHfL.js → keyboard-AkUFPD_e.js} +1 -1
- package/dist/client/assets/label-BKjVY2A9.js +1 -0
- package/dist/client/assets/{layers-BYi0v17h.js → layers-tzRiuxSx.js} +1 -1
- package/dist/client/assets/{lib-B6XyeqaU.js → lib-D5cyGc84.js} +1 -1
- package/dist/client/assets/{loader-zHASMrUy.js → loader-BrbWRz3I.js} +1 -1
- package/dist/client/assets/loader-circle-DRKbHQst.js +1 -0
- package/dist/client/assets/{log-out-tMJm0Gk6.js → log-out-BEihaal1.js} +1 -1
- package/dist/client/assets/{logging-1BfRrhxL.js → logging-Y73f240E.js} +1 -1
- package/dist/client/assets/main-BiIQEybS.js +9 -0
- package/dist/client/assets/main-tZWU6iqX.css +2 -0
- package/dist/client/assets/menu-BxtB33Up.js +1 -0
- package/dist/client/assets/{messages-square-DiMgWzoq.js → messages-square-e0Zg750i.js} +1 -1
- package/dist/client/assets/{minimize-2-C33mL7LT.js → minimize-2-DC9gMgGl.js} +1 -1
- package/dist/client/assets/monitor-Dj0JFj4_.js +1 -0
- package/dist/client/assets/{palette-BSD_aJZg.js → palette-0qvNt1CR.js} +1 -1
- package/dist/client/assets/{pencil-B69ERoVM.js → pencil-CA0DGufX.js} +1 -1
- package/dist/client/assets/{play-DYDxlTKo.js → play-wIyvqd_g.js} +1 -1
- package/dist/client/assets/plus-5kH13lqq.js +1 -0
- package/dist/client/assets/popover-CwhgX3HA.js +1 -0
- package/dist/client/assets/primary-BqnEJHWx.js +2 -0
- package/dist/client/assets/{projectPaths-BFTUsvWs.js → projectPaths-45WPhgoj.js} +1 -1
- package/dist/client/assets/providerDriverMeta-Cc60r9Rb.js +1 -0
- package/dist/client/assets/providerInstances-Cr8JmFCe.js +1 -0
- package/dist/client/assets/providerModels-Cr8JmFCe.js +1 -0
- package/dist/client/assets/qr-code-BKrwYZ2s.js +1 -0
- package/dist/client/assets/{qr-code-ScYULAuR.js → qr-code-DDmpRnPp.js} +1 -1
- package/dist/client/assets/radio-group-DZCo21CF.js +2 -0
- package/dist/client/assets/{refresh-cw-DopCMrtR.js → refresh-cw-DiuiLTny.js} +1 -1
- package/dist/client/assets/resolveAriaLabelledBy-927ShlEO.js +1 -0
- package/dist/client/assets/rightPanelRouteSearch-CExl-IaQ.js +1 -0
- package/dist/client/assets/rotate-ccw-XOYBPtyK.js +1 -0
- package/dist/client/assets/rotate-cw-D32Z4Sdd.js +1 -0
- package/dist/client/assets/runtime-CA2W9mZ-.js +17 -0
- package/dist/client/assets/{save-Bh36JIv6.js → save-DjlqeVG_.js} +1 -1
- package/dist/client/assets/scroll-area-CylKYQms.js +1 -0
- package/dist/client/assets/scrollEdges-D7RQhYjX.js +1 -0
- package/dist/client/assets/search-B2nLj573.js +1 -0
- package/dist/client/assets/select-qTezUK8F.js +1 -0
- package/dist/client/assets/separator-D77goPy-.js +1 -0
- package/dist/client/assets/{server-JApJpgLa.js → server-y8Wq0Qwv.js} +1 -1
- package/dist/client/assets/session-logic-xfW418Rx.js +1 -0
- package/dist/client/assets/{settings-2-CZQg_KUQ.js → settings-2-DpwBKj3m.js} +1 -1
- package/dist/client/assets/settingsLayout-BuaXzjIe.js +1 -0
- package/dist/client/assets/settingsSections.logic-CR4aytUI.js +1 -0
- package/dist/client/assets/sheet-z3AEiSN4.js +1 -0
- package/dist/client/assets/{shield-IZEIJ8r7.js → shield-BuXuMVtb.js} +1 -1
- package/dist/client/assets/{shield-alert-DY9uVP5G.js → shield-alert-Dfk--o-I.js} +1 -1
- package/dist/client/assets/{shield-check-dQ-4cMKk.js → shield-check-BHi57iF1.js} +1 -1
- package/dist/client/assets/sidebar-Dst9O2OR.js +1 -0
- package/dist/client/assets/sidebarProjectFolders-DR1NBLLz.js +4 -0
- package/dist/client/assets/{sidebarStatusText-q88Acn3r.js → sidebarStatusText-7jo1n9E1.js} +1 -1
- package/dist/client/assets/skeleton-D_kbMg21.js +1 -0
- package/dist/client/assets/{smartphone-gNe1ynB8.js → smartphone-DcUQ17YT.js} +1 -1
- package/dist/client/assets/{sparkles-CAf3oJ5S.js → sparkles-nVLLtdqb.js} +1 -1
- package/dist/client/assets/spinner-CkXSwhuf.js +1 -0
- package/dist/client/assets/{square-pen-Bj3p_Q8E.js → square-pen-dcArpda7.js} +1 -1
- package/dist/client/assets/src-I4s4HU8f.js +14 -0
- package/dist/client/assets/star-CdUOqzzZ.js +1 -0
- package/dist/client/assets/storeSelectors-Cr8JmFCe.js +1 -0
- package/dist/client/assets/switch-BMeRsIbg.js +1 -0
- package/dist/client/assets/{tabSwitchInstrumentation-CLDM7g1_.js → tabSwitchInstrumentation-BuxWNdCV.js} +1 -1
- package/dist/client/assets/terminal-DupJfYRW.js +1 -0
- package/dist/client/assets/{terminal-links-BJzH2Ipe.js → terminal-links-Bf4neyyn.js} +1 -1
- package/dist/client/assets/textarea-Bu_OTJYe.js +1 -0
- package/dist/client/assets/threadPinning-DhnkssEa.js +1 -0
- package/dist/client/assets/{threadPriorityRefreshRuntime-D-OkS27H.js → threadPriorityRefreshRuntime-DJjlyX7f.js} +1 -1
- package/dist/client/assets/toast-CIjfIWUw.js +1 -0
- package/dist/client/assets/toggle-BA4mJ5v9.js +1 -0
- package/dist/client/assets/toggle-group-ChGfILTR.js +1 -0
- package/dist/client/assets/{tokenModePresentation-lVM0-Wi3.js → tokenModePresentation-B64s_OK3.js} +1 -1
- package/dist/client/assets/tooltip-C2VVqN6U.js +1 -0
- package/dist/client/assets/{trash-2-CM1zXPGb.js → trash-2-Dqgxd0nF.js} +1 -1
- package/dist/client/assets/{triangle-alert-RL_T3KLo.js → triangle-alert-D4cCh6sB.js} +1 -1
- package/dist/client/assets/types-Cr8JmFCe.js +1 -0
- package/dist/client/assets/{undo-2-x37tfI3V.js → undo-2-C8EQVSSD.js} +1 -1
- package/dist/client/assets/{unplug-Cw8iawyX.js → unplug-Dt3Sy2op.js} +1 -1
- package/dist/client/assets/useAppSidebarCollapsed-w0th-164.js +1 -0
- package/dist/client/assets/{useAtlassian-Bpvpm41l.js → useAtlassian-j7ex3bVN.js} +0 -0
- package/dist/client/assets/useButton-Dx5k1uZG.js +1 -0
- package/dist/client/assets/useCompositeListItem-BqkyY0oT.js +1 -0
- package/dist/client/assets/{clamp-CgH0Dl6R.js → useControlled-HocCF1v9.js} +1 -1
- package/dist/client/assets/useDebouncedValue-BevbEbPO.js +1 -0
- package/dist/client/assets/useFloatingRootContext-j6TgzEFa.js +1 -0
- package/dist/client/assets/useHandleNewThread-gVYty_Bg.js +1 -0
- package/dist/client/assets/useLabelableId-CcYPzJvj.js +1 -0
- package/dist/client/assets/useLocation-CZ3osOgz.js +1 -0
- package/dist/client/assets/useOpenInteractionType-apbY9ZEK.js +1 -0
- package/dist/client/assets/usePhoneThreadActions-CnDlicSp.js +1 -0
- package/dist/client/assets/usePopupViewport-0k75uXo1.js +1 -0
- package/dist/client/assets/useRenderElement-5DRNLBaU.js +1 -0
- package/dist/client/assets/useScrollLock-C5WLWXcc.js +1 -0
- package/dist/client/assets/{useStatistics-B4vW9Enx.js → useStatistics-GOFXPHO0.js} +2 -2
- package/dist/client/assets/useSwipeDismiss-BNHPBucH.js +1 -0
- package/dist/client/assets/useThreadActions-B4Xy2soQ.js +2 -0
- package/dist/client/assets/useTriggerFocusGuards-C3geWFzt.js +1 -0
- package/dist/client/assets/useValueChanged-FVqPwcY_.js +1 -0
- package/dist/client/assets/user-round-KsVtJgon.js +1 -0
- package/dist/client/assets/utils-B5qahmRn.js +1 -0
- package/dist/client/assets/visuallyHidden-j2WbVEv-.js +1 -0
- package/dist/client/assets/workspaceMetadataProjection-D3vqw40g.js +1 -0
- package/dist/client/assets/{wrench-D0IetWa1.js → wrench-BnpoYEZm.js} +1 -1
- package/dist/client/assets/x-BXHT1Zj1.js +1 -0
- package/dist/client/index.html +1 -1
- package/dist/{collectUint8StreamText-B3klZuIF.mjs → collectUint8StreamText-C_VNyArd.mjs} +1027 -162
- package/dist/{collectUint8StreamText-CDu-bszH.cjs → collectUint8StreamText-DStwNTTK.cjs} +1122 -161
- package/dist/{makeManagedServerProvider-CsaYHU8T.mjs → makeManagedServerProvider-GZcpSLrW.mjs} +22 -3
- package/dist/{makeManagedServerProvider-DeEmDbiq.cjs → makeManagedServerProvider-VzxWN-04.cjs} +32 -1
- package/dist/resource-monitor/LICENSE +21 -0
- package/dist/resource-monitor/darwin-arm64/LICENSE +21 -0
- package/dist/resource-monitor/darwin-arm64/ryco-resource-monitor +0 -0
- package/dist/resource-monitor/darwin-x64/LICENSE +21 -0
- package/dist/resource-monitor/darwin-x64/ryco-resource-monitor +0 -0
- package/dist/resource-monitor/linux-arm64/LICENSE +21 -0
- package/dist/resource-monitor/linux-arm64/ryco-resource-monitor +0 -0
- package/dist/resource-monitor/linux-x64/LICENSE +21 -0
- package/dist/resource-monitor/linux-x64/ryco-resource-monitor +0 -0
- package/dist/resource-monitor/ryco-resource-monitor +0 -0
- package/dist/resource-monitor/ryco-resource-monitor.exe +0 -0
- package/dist/resource-monitor/win32-arm64/LICENSE +21 -0
- package/dist/resource-monitor/win32-arm64/ryco-resource-monitor.exe +0 -0
- package/dist/resource-monitor/win32-x64/LICENSE +21 -0
- package/dist/resource-monitor/win32-x64/ryco-resource-monitor.exe +0 -0
- package/package.json +1 -1
- package/dist/client/assets/AccountSettings-CvD49Uja.js +0 -1
- package/dist/client/assets/AiFocusSettings-CYIp0JOV.js +0 -1
- package/dist/client/assets/AnimatedHeight-CM_Eh6tz.js +0 -1
- package/dist/client/assets/AppearanceSettings-BwUAv5oz.js +0 -1
- package/dist/client/assets/BranchToolbar.logic-CKKpnCfs.js +0 -1
- package/dist/client/assets/ChatRightPanel-DYXZNh1m.js +0 -27
- package/dist/client/assets/ChatThreadRouteView-B0kj0wFr.js +0 -1
- package/dist/client/assets/CommandPaletteDialog-CJKvYVxh.js +0 -1
- package/dist/client/assets/CompositeItem-B4ITmHni.js +0 -1
- package/dist/client/assets/CompositeRoot-C5I2Yh5e.js +0 -1
- package/dist/client/assets/ConnectionsSettings-4l-DXYo6.js +0 -7
- package/dist/client/assets/DiagnosticsSettings-B6IUUiYM.js +0 -2
- package/dist/client/assets/DialogHandle-Bs7TUuxl.js +0 -1
- package/dist/client/assets/DialogPopup-BAK5J3da.js +0 -1
- package/dist/client/assets/DialogRoot-DMnQO_iQ.js +0 -1
- package/dist/client/assets/DialogTitle-B1m3rLO-.js +0 -1
- package/dist/client/assets/DialogTrigger-VXV8wYO4.js +0 -1
- package/dist/client/assets/DialogViewport-yUeHNu43.js +0 -1
- package/dist/client/assets/DraftChatThreadRouteView-C39ZNgWr.js +0 -1
- package/dist/client/assets/HostedConnectionControls-DO5uPfav.js +0 -1
- package/dist/client/assets/HostedHubRoot-DkHX6TkK.js +0 -1
- package/dist/client/assets/HostedNativeAuthorizationRoute-C1VRYU0-.js +0 -1
- package/dist/client/assets/HostedRelayTrustNotice-Cl7lRwRJ.js +0 -1
- package/dist/client/assets/Icons-uMh1k5C0.js +0 -1
- package/dist/client/assets/IntegrationsSettingsPanel-Mx-1xSUL.js +0 -1
- package/dist/client/assets/KeybindingsSettings-Bv3H18VO.js +0 -7
- package/dist/client/assets/MobileSheet-DS7_soKu.js +0 -1
- package/dist/client/assets/NewWorktreeDialog-CLm1JR27.js +0 -4
- package/dist/client/assets/NoActiveThreadState-CFxNrhs_.js +0 -1
- package/dist/client/assets/NodeSecuritySettings-B3uURyma.js +0 -1
- package/dist/client/assets/OpinionatedPluginsSettings-B7gZOBCs.js +0 -1
- package/dist/client/assets/PhoneGetAppInterstitial-DQdUrqs1.js +0 -1
- package/dist/client/assets/PhoneGetAppInterstitialBackdrop-DbRPU11Z.js +0 -1
- package/dist/client/assets/PhoneHome-BbZKBYb8.js +0 -1
- package/dist/client/assets/PhoneSettingsSurface-BJ8jDucY.js +0 -1
- package/dist/client/assets/ProjectFavicon-DHnstN4J.js +0 -1
- package/dist/client/assets/ProviderModelPicker-Ch69G0-0.js +0 -1
- package/dist/client/assets/ProvidersSettingsPanel-Dz-1od7X.js +0 -1
- package/dist/client/assets/RedactedSensitiveText-BORE69Ig.js +0 -1
- package/dist/client/assets/RootAppShell-DnesFYfo.js +0 -6
- package/dist/client/assets/RycoLetterMark-DDx_gBX-.js +0 -1
- package/dist/client/assets/SettingsDialog-CWK_H1sI.js +0 -1
- package/dist/client/assets/SettingsPanels-DxMEuovz.js +0 -3
- package/dist/client/assets/SettingsPanels.editor-D2gxvDPy.js +0 -1
- package/dist/client/assets/SourceControlSettings-CB2SdaRk.js +0 -1
- package/dist/client/assets/StatisticsPage-MhMDuSSQ.js +0 -1
- package/dist/client/assets/StatisticsPanel-D3d0bJgk.js +0 -1
- package/dist/client/assets/StatisticsSettingsLink-DlnQpfyr.js +0 -1
- package/dist/client/assets/ThreadStatusIndicators-CPpIFcAC.js +0 -0
- package/dist/client/assets/ThreadWorkspacePanel-Ct9EINsa.js +0 -2009
- package/dist/client/assets/ToolbarRootContext-DtUqN8i6.js +0 -1
- package/dist/client/assets/alert-DQjuri3D.js +0 -1
- package/dist/client/assets/alert-dialog-Cb2TnXzy.js +0 -1
- package/dist/client/assets/arrow-left-Dtj9PfsA.js +0 -1
- package/dist/client/assets/arrow-up-right-DGeet8e6.js +0 -1
- package/dist/client/assets/authorization-BrGZruGo.js +0 -1
- package/dist/client/assets/branding-BEx1jrAA.js +0 -1
- package/dist/client/assets/capabilities-Cj8jXZOW.js +0 -1
- package/dist/client/assets/chatThreadActions-kwD_yAEt.js +0 -1
- package/dist/client/assets/chevron-right-BWYGybX9.js +0 -1
- package/dist/client/assets/clock-3-r12DkpRj.js +0 -1
- package/dist/client/assets/clock-nNA05brA.js +0 -1
- package/dist/client/assets/collapsible-DBPd--L7.js +0 -1
- package/dist/client/assets/command-DuPvkUAz.js +0 -1
- package/dist/client/assets/composerDraftStore-czbuHgbM.js +0 -11
- package/dist/client/assets/data-list-BNy2Nwkd.js +0 -1
- package/dist/client/assets/desktopUpdateAtoms-Dz4zQu-C.js +0 -1
- package/dist/client/assets/desktopWorkspace-wrPRMcOi.js +0 -1
- package/dist/client/assets/device-DbMaLmeM.js +0 -168
- package/dist/client/assets/dialog-Csp7hsmq.js +0 -1
- package/dist/client/assets/draft-input-COB-ymgx.js +0 -1
- package/dist/client/assets/editorPreferences-lQ3Fm4yA.js +0 -1
- package/dist/client/assets/empty-BcTA7vWq.js +0 -1
- package/dist/client/assets/env-BZZxbmon.js +0 -1
- package/dist/client/assets/folder-open-GqwNTbSV.js +0 -1
- package/dist/client/assets/getPseudoElementBounds-BaLrkv_J.js +0 -1
- package/dist/client/assets/group-CCjhaP2K.js +0 -1
- package/dist/client/assets/input-pu0UXdN_.js +0 -1
- package/dist/client/assets/kbd-xUvRCeUS.js +0 -1
- package/dist/client/assets/label-BzDE8wjR.js +0 -1
- package/dist/client/assets/loader-circle-CrtHFAvM.js +0 -1
- package/dist/client/assets/main-CZzCxtM-.css +0 -2
- package/dist/client/assets/main-stppnsiU.js +0 -9
- package/dist/client/assets/menu-g3Hcm2JF.js +0 -1
- package/dist/client/assets/plus-B2h-VEqh.js +0 -1
- package/dist/client/assets/popover-z5hURYff.js +0 -1
- package/dist/client/assets/primary-AnB-Zuft.js +0 -2
- package/dist/client/assets/providerDriverMeta-C9M8tUrj.js +0 -1
- package/dist/client/assets/providerIconUtils-BXecnJ0v.js +0 -1
- package/dist/client/assets/providerInstances-CMy-5cGE.js +0 -1
- package/dist/client/assets/providerModels-CMy-5cGE.js +0 -1
- package/dist/client/assets/qr-code-B6lBPRxy.js +0 -1
- package/dist/client/assets/radio-group-DQahlnSi.js +0 -2
- package/dist/client/assets/resolveAriaLabelledBy-CUqcBhyS.js +0 -1
- package/dist/client/assets/rightPanelRouteSearch-uEySicf2.js +0 -1
- package/dist/client/assets/runtime-DRPzstwF.js +0 -1
- package/dist/client/assets/scroll-area-CzUrMo2h.js +0 -1
- package/dist/client/assets/scrollEdges-C5VxoJIp.js +0 -1
- package/dist/client/assets/search-BGQsenCM.js +0 -1
- package/dist/client/assets/select-_C7bRT7k.js +0 -1
- package/dist/client/assets/separator-CFUmZFfK.js +0 -1
- package/dist/client/assets/session-logic-C5moG_sv.js +0 -4
- package/dist/client/assets/settingsDialogStore-DnU14tMG.js +0 -1
- package/dist/client/assets/settingsLayout-zwP6p5aD.js +0 -1
- package/dist/client/assets/settingsSections.logic-F8RXVmAq.js +0 -1
- package/dist/client/assets/sheet-BoROLwxR.js +0 -1
- package/dist/client/assets/sidebar-5T3qKIfp.js +0 -1
- package/dist/client/assets/sidebarProjectFolders-Bzdw3xc6.js +0 -4
- package/dist/client/assets/skeleton-C2GDOvXd.js +0 -1
- package/dist/client/assets/spinner-Dlyh0j_K.js +0 -1
- package/dist/client/assets/src-Blzsn4sO.js +0 -14
- package/dist/client/assets/storeSelectors-BJw1h5Ih.js +0 -1
- package/dist/client/assets/switch-CIMwetO3.js +0 -1
- package/dist/client/assets/terminal-C_CyIsDD.js +0 -1
- package/dist/client/assets/textarea-C0_BLJbT.js +0 -1
- package/dist/client/assets/threadPinning-DQrBoIxu.js +0 -1
- package/dist/client/assets/toast-D7IDKuLa.js +0 -1
- package/dist/client/assets/toggle-DjmkdNns.js +0 -1
- package/dist/client/assets/toggle-group-q7LGJy7u.js +0 -1
- package/dist/client/assets/tooltip-c9oahm_e.js +0 -1
- package/dist/client/assets/types-BJw1h5Ih.js +0 -1
- package/dist/client/assets/uiStateStore-C48VlkZ2.js +0 -1
- package/dist/client/assets/useButton-CbjUY1n3.js +0 -1
- package/dist/client/assets/useCompositeListItem-Mh9CnfjW.js +0 -1
- package/dist/client/assets/useDebouncedValue-fMFxXx4-.js +0 -1
- package/dist/client/assets/useFloatingRootContext-P6J9bP_1.js +0 -1
- package/dist/client/assets/useHandleNewThread-C1VSk4Ji.js +0 -1
- package/dist/client/assets/useLabelableId-ve_G1Djw.js +0 -1
- package/dist/client/assets/useLocation-LUorHj6V.js +0 -1
- package/dist/client/assets/useOpenInteractionType-BcwkVFGu.js +0 -1
- package/dist/client/assets/usePhoneThreadActions--SRv1Gdm.js +0 -1
- package/dist/client/assets/usePopupViewport-DyXMbxzY.js +0 -1
- package/dist/client/assets/useRenderElement-DchFnsR8.js +0 -1
- package/dist/client/assets/useScrollLock-DvPB4gyu.js +0 -1
- package/dist/client/assets/useSwipeDismiss-8zZC4ynu.js +0 -1
- package/dist/client/assets/useThreadActions-wbcN8Mp3.js +0 -2
- package/dist/client/assets/useTriggerFocusGuards-DI2oAYh0.js +0 -1
- package/dist/client/assets/useValueChanged-DeYQvzxH.js +0 -1
- package/dist/client/assets/user-round-Cpzx8pSw.js +0 -1
- package/dist/client/assets/utils-Dz7wQZDk.js +0 -1
- package/dist/client/assets/visibilityPolling-BwzZdaSN.js +0 -1
- package/dist/client/assets/x-C1Cemsov.js +0 -1
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { $a as ProviderInstanceId, Ln as TextGenerationError, Qa as ProviderDriverKind, _s as TurnId, cr as OpenCodeSettings, ds as RuntimeRequestId, ki as PROVIDER_SEND_TURN_MAX_ATTACHMENT_TOTAL_BYTES, ls as ProviderItemId, ps as RuntimeSubagentId, rs as EventId, us as RuntimeItemId } from "./collectUint8StreamText-C_VNyArd.mjs";
|
|
4
4
|
import { nt as sanitizeFeatureBranchName, st as ServerConfig, tt as sanitizeBranchFragment } from "./Metrics-BP9YjxZB.mjs";
|
|
5
|
-
import { $ as
|
|
5
|
+
import { $ as mergeProviderInstanceEnvironment, $n as resolveAttachmentPath, B as buildPrContentPrompt, C as openCodeRuntimeErrorDetail, Ct as ProviderAdapterSessionNotFoundError, D as toOpenCodePermissionReply, E as toOpenCodeFileParts, F as validateRankInboxThreadsResult, G as sanitizeCommitSubject, H as buildThreadTitlePrompt, Hn as enrichProviderSnapshotWithVersionAdvisory, I as buildBranchNamePrompt, Jn as resolveProviderMaintenanceCapabilitiesEffect, K as sanitizePrTitle, L as buildCommitMessagePrompt, M as makeEventNdjsonLogger, O as toOpenCodeQuestionAnswers, Qn as readPersistedAttachment, R as buildIssueContentPolishPrompt, S as openCodeQuestionId, St as ProviderAdapterSessionClosedError, T as runOpenCodeSdk, Tt as ProviderDriverError, U as extractJsonObject, V as buildThreadPriorityPrompt, Wn as makePackageManagedProviderMaintenanceResolver, Xn as ServerSettingsService, Yn as compareCliVersions, _ as MINIMUM_OPENCODE_VERSION, b as buildOpenCodePermissionRules, bt as ProviderAdapterProcessError, dt as parseGenericCliVersion, ft as providerModelsFromSettings, ht as agentControlHostContext, ir as getModelSelectionStringOptionValue, j as ProviderEventLoggers, k as verifyOpenCodeServerVersion, nr as createModelCapabilities, ot as buildServerProvider, q as sanitizeThreadTitle, qn as normalizeCommandPath, t as makeServerQueueMetrics, ut as nonEmptyTrimmed, v as OpenCodeRuntime, w as parseOpenCodeModelSlug, wt as ProviderAdapterValidationError, x as isOpenCodeNativeAttachment, xt as ProviderAdapterRequestError, y as OpenCodeRuntimeError, yt as createProcessDeviceToolBinding, z as buildIssueContentTitlePrompt } from "./bin.mjs";
|
|
6
|
+
import { a as formatAttachmentPathLines, i as appendAttachmentPathLines, n as requireRuntimeSessionId, r as stampRuntimeEvent, t as makeManagedServerProvider } from "./makeManagedServerProvider-GZcpSLrW.mjs";
|
|
6
7
|
import { t as formatSourceControlContextsForAgent } from "./sourceControlContextFormatter-DEwpnVAH.mjs";
|
|
7
|
-
import { n as requireRuntimeSessionId, r as stampRuntimeEvent, t as makeManagedServerProvider } from "./makeManagedServerProvider-CsaYHU8T.mjs";
|
|
8
8
|
import { t as defaultProviderContinuationIdentity } from "./ProviderDriver-kCV60GKk.mjs";
|
|
9
9
|
import { Cause, Data, Effect, Exit, Fiber, Queue, Ref, Schema, Scope, Semaphore, Stream } from "effect";
|
|
10
10
|
import { HttpClient } from "effect/unstable/http";
|
|
11
|
+
import * as NodePath from "node:path";
|
|
12
|
+
import * as NodeOS from "node:os";
|
|
13
|
+
import * as NodeFS from "node:fs/promises";
|
|
11
14
|
import "effect/unstable/process";
|
|
12
15
|
import * as Semaphore$1 from "effect/Semaphore";
|
|
13
16
|
//#region src/provider/OpenCodeServerOwner.ts
|
|
@@ -101,14 +104,26 @@ const makeOpenCodeTextGeneration = Effect.fn("makeOpenCodeTextGeneration")(funct
|
|
|
101
104
|
operation: input.operation,
|
|
102
105
|
detail: "OpenCode model selection must use the 'provider/model' format."
|
|
103
106
|
});
|
|
104
|
-
const declaredAttachmentBytes = (input.attachments ?? []).reduce((total, attachment) => total + attachment.sizeBytes, 0);
|
|
107
|
+
const declaredAttachmentBytes = (input.attachments ?? []).reduce((total, attachment) => total + (attachment.sizeBytes ?? 0), 0);
|
|
105
108
|
if (declaredAttachmentBytes > 52428800) return yield* new TextGenerationError({
|
|
106
109
|
operation: input.operation,
|
|
107
110
|
detail: `Attachments total ${declaredAttachmentBytes} bytes; limit is ${PROVIDER_SEND_TURN_MAX_ATTACHMENT_TOTAL_BYTES} bytes.`
|
|
108
111
|
});
|
|
109
112
|
const attachmentUrlById = /* @__PURE__ */ new Map();
|
|
110
113
|
let attachmentTotalBytes = 0;
|
|
114
|
+
const pathLineEntries = [];
|
|
111
115
|
for (const attachment of input.attachments ?? []) {
|
|
116
|
+
if (!isOpenCodeNativeAttachment(attachment)) {
|
|
117
|
+
pathLineEntries.push({
|
|
118
|
+
attachment,
|
|
119
|
+
...attachment.id === void 0 ? {} : { resolvedPath: resolveAttachmentPath({
|
|
120
|
+
attachmentsDir: serverConfig.attachmentsDir,
|
|
121
|
+
attachment
|
|
122
|
+
}) ?? void 0 }
|
|
123
|
+
});
|
|
124
|
+
continue;
|
|
125
|
+
}
|
|
126
|
+
if (attachment.id === void 0) continue;
|
|
112
127
|
const persisted = readPersistedAttachment({
|
|
113
128
|
attachmentsDir: serverConfig.attachmentsDir,
|
|
114
129
|
attachment
|
|
@@ -126,8 +141,9 @@ const makeOpenCodeTextGeneration = Effect.fn("makeOpenCodeTextGeneration")(funct
|
|
|
126
141
|
}
|
|
127
142
|
const fileParts = toOpenCodeFileParts({
|
|
128
143
|
attachments: input.attachments,
|
|
129
|
-
resolveAttachmentUrl: (attachment) => attachmentUrlById.get(attachment.id) ?? null
|
|
144
|
+
resolveAttachmentUrl: (attachment) => attachment.id === void 0 ? null : attachmentUrlById.get(attachment.id) ?? null
|
|
130
145
|
});
|
|
146
|
+
const finalPrompt = appendAttachmentPathLines(input.prompt, formatAttachmentPathLines(pathLineEntries)) ?? input.prompt;
|
|
131
147
|
const runAgainstServer = (server) => Effect.gen(function* () {
|
|
132
148
|
const client = yield* openCodeRuntime.createOpenCodeSdkClient({
|
|
133
149
|
baseUrl: server.url,
|
|
@@ -163,7 +179,7 @@ const makeOpenCodeTextGeneration = Effect.fn("makeOpenCodeTextGeneration")(funct
|
|
|
163
179
|
...selectedVariant ? { variant: selectedVariant } : {},
|
|
164
180
|
parts: [{
|
|
165
181
|
type: "text",
|
|
166
|
-
text:
|
|
182
|
+
text: finalPrompt
|
|
167
183
|
}, ...fileParts]
|
|
168
184
|
});
|
|
169
185
|
const info = result.data?.info;
|
|
@@ -461,6 +477,44 @@ function mapPermissionDecision(reply) {
|
|
|
461
477
|
default: return "decline";
|
|
462
478
|
}
|
|
463
479
|
}
|
|
480
|
+
/**
|
|
481
|
+
* Maps an OpenCode assistant message's token snapshot into the shared usage
|
|
482
|
+
* shape. OpenCode reports no context window here, so `usedTokens` is the full
|
|
483
|
+
* bucket sum (input incl. cache + output + reasoning) — the same estimate
|
|
484
|
+
* other apps derive by summing buckets when the server reports no total.
|
|
485
|
+
* Reads defensively: older servers and partial event payloads may omit fields.
|
|
486
|
+
*/
|
|
487
|
+
function threadTokenUsageFromOpenCodeTokens(tokens) {
|
|
488
|
+
if (typeof tokens !== "object" || tokens === null) return;
|
|
489
|
+
const record = tokens;
|
|
490
|
+
const nonNegative = (value) => typeof value === "number" && Number.isFinite(value) && value > 0 ? value : 0;
|
|
491
|
+
const inputTokens = nonNegative(record.input) + nonNegative(record.cache?.read) + nonNegative(record.cache?.write);
|
|
492
|
+
const outputTokens = nonNegative(record.output);
|
|
493
|
+
const reasoningTokens = nonNegative(record.reasoning);
|
|
494
|
+
const usedTokens = inputTokens + outputTokens + reasoningTokens;
|
|
495
|
+
if (usedTokens <= 0) return;
|
|
496
|
+
return {
|
|
497
|
+
usedTokens,
|
|
498
|
+
lastUsedTokens: usedTokens,
|
|
499
|
+
...inputTokens > 0 ? { inputTokens } : {},
|
|
500
|
+
...nonNegative(record.cache?.read) > 0 ? { cachedInputTokens: nonNegative(record.cache?.read) } : {},
|
|
501
|
+
...outputTokens > 0 ? { outputTokens } : {},
|
|
502
|
+
...reasoningTokens > 0 ? { reasoningOutputTokens: reasoningTokens } : {}
|
|
503
|
+
};
|
|
504
|
+
}
|
|
505
|
+
function planStepsFromOpenCodeTodos(todos) {
|
|
506
|
+
const steps = [];
|
|
507
|
+
for (const todo of todos) {
|
|
508
|
+
if (todo.status === "cancelled") continue;
|
|
509
|
+
const step = typeof todo.content === "string" ? todo.content.trim() : "";
|
|
510
|
+
if (!step) continue;
|
|
511
|
+
steps.push({
|
|
512
|
+
step,
|
|
513
|
+
status: todo.status === "completed" ? "completed" : todo.status === "in_progress" ? "inProgress" : "pending"
|
|
514
|
+
});
|
|
515
|
+
}
|
|
516
|
+
return steps;
|
|
517
|
+
}
|
|
464
518
|
function resolveTurnSnapshot(context, turnId) {
|
|
465
519
|
const existing = context.turns.find((turn) => turn.id === turnId);
|
|
466
520
|
if (existing) return existing;
|
|
@@ -951,11 +1005,43 @@ function makeOpenCodeAdapter(openCodeSettings, options) {
|
|
|
951
1005
|
case "session.created":
|
|
952
1006
|
yield* registerOpenCodeChildSession(context, event.properties.info, event);
|
|
953
1007
|
break;
|
|
1008
|
+
case "todo.updated": {
|
|
1009
|
+
if (event.properties.sessionID !== context.openCodeSessionId) break;
|
|
1010
|
+
const plan = planStepsFromOpenCodeTodos(event.properties.todos);
|
|
1011
|
+
if (plan.length === 0) break;
|
|
1012
|
+
const fingerprint = JSON.stringify(plan);
|
|
1013
|
+
if (context.lastPlanFingerprint === fingerprint) break;
|
|
1014
|
+
context.lastPlanFingerprint = fingerprint;
|
|
1015
|
+
yield* emitForContext(context, {
|
|
1016
|
+
...yield* buildEventBase({
|
|
1017
|
+
threadId: context.session.threadId,
|
|
1018
|
+
turnId,
|
|
1019
|
+
raw: event
|
|
1020
|
+
}),
|
|
1021
|
+
type: "turn.plan.updated",
|
|
1022
|
+
payload: { plan }
|
|
1023
|
+
});
|
|
1024
|
+
break;
|
|
1025
|
+
}
|
|
954
1026
|
case "message.updated":
|
|
955
1027
|
context.messageRoleById.set(scopedOpenCodeId(event.properties.sessionID, event.properties.info.id), event.properties.info.role);
|
|
956
|
-
if (event.properties.info.role === "assistant")
|
|
957
|
-
if (
|
|
958
|
-
|
|
1028
|
+
if (event.properties.info.role === "assistant") {
|
|
1029
|
+
if (event.properties.sessionID === context.openCodeSessionId) {
|
|
1030
|
+
const usage = threadTokenUsageFromOpenCodeTokens(event.properties.info.tokens);
|
|
1031
|
+
if (usage) yield* emitForContext(context, {
|
|
1032
|
+
...yield* buildEventBase({
|
|
1033
|
+
threadId: context.session.threadId,
|
|
1034
|
+
turnId,
|
|
1035
|
+
raw: event
|
|
1036
|
+
}),
|
|
1037
|
+
type: "thread.token-usage.updated",
|
|
1038
|
+
payload: { usage }
|
|
1039
|
+
});
|
|
1040
|
+
}
|
|
1041
|
+
for (const part of context.partById.values()) {
|
|
1042
|
+
if (part.sessionID !== event.properties.sessionID || part.messageID !== event.properties.info.id) continue;
|
|
1043
|
+
yield* emitAssistantTextDelta(context, part, turnId, event);
|
|
1044
|
+
}
|
|
959
1045
|
}
|
|
960
1046
|
break;
|
|
961
1047
|
case "message.removed":
|
|
@@ -1020,18 +1106,16 @@ function makeOpenCodeAdapter(openCodeSettings, options) {
|
|
|
1020
1106
|
const title = part.state.status === "running" ? part.state.title ?? part.tool : part.tool;
|
|
1021
1107
|
const detail = detailFromToolPart(part);
|
|
1022
1108
|
const childSubagent = context.subagentBySessionId.get(part.sessionID);
|
|
1023
|
-
if (childSubagent) {
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
});
|
|
1031
|
-
break;
|
|
1032
|
-
}
|
|
1109
|
+
if (childSubagent) yield* emitOpenCodeSubagentUpdated(context, {
|
|
1110
|
+
subagent: childSubagent,
|
|
1111
|
+
status: statusFromOpenCodeSubagentState("running"),
|
|
1112
|
+
summary: title,
|
|
1113
|
+
detail,
|
|
1114
|
+
raw: event
|
|
1115
|
+
});
|
|
1033
1116
|
const payload = {
|
|
1034
1117
|
itemType,
|
|
1118
|
+
...childSubagent ? { agentId: String(childSubagent.subagentId) } : {},
|
|
1035
1119
|
...part.state.status === "error" ? { status: "failed" } : part.state.status === "completed" ? { status: "completed" } : { status: "inProgress" },
|
|
1036
1120
|
...title ? { title } : {},
|
|
1037
1121
|
...detail ? { detail } : {},
|
|
@@ -1051,7 +1135,7 @@ function makeOpenCodeAdapter(openCodeSettings, options) {
|
|
|
1051
1135
|
type: part.state.status === "pending" ? "item.started" : part.state.status === "completed" || part.state.status === "error" ? "item.completed" : "item.updated",
|
|
1052
1136
|
payload
|
|
1053
1137
|
};
|
|
1054
|
-
appendTurnItem(context, turnId, part);
|
|
1138
|
+
if (!childSubagent) appendTurnItem(context, turnId, part);
|
|
1055
1139
|
yield* emitForContext(context, runtimeEvent);
|
|
1056
1140
|
}
|
|
1057
1141
|
break;
|
|
@@ -1074,7 +1158,8 @@ function makeOpenCodeAdapter(openCodeSettings, options) {
|
|
|
1074
1158
|
}
|
|
1075
1159
|
});
|
|
1076
1160
|
break;
|
|
1077
|
-
case "permission.replied":
|
|
1161
|
+
case "permission.replied": {
|
|
1162
|
+
const permissionRequest = context.pendingPermissions.get(event.properties.requestID);
|
|
1078
1163
|
context.resolvedRequestIds.add(event.properties.requestID);
|
|
1079
1164
|
context.pendingPermissions.delete(event.properties.requestID);
|
|
1080
1165
|
yield* emitForContext(context, {
|
|
@@ -1086,11 +1171,12 @@ function makeOpenCodeAdapter(openCodeSettings, options) {
|
|
|
1086
1171
|
}),
|
|
1087
1172
|
type: "request.resolved",
|
|
1088
1173
|
payload: {
|
|
1089
|
-
requestType: "unknown",
|
|
1174
|
+
requestType: permissionRequest ? mapPermissionToRequestType(permissionRequest.permission) : "unknown",
|
|
1090
1175
|
decision: mapPermissionDecision(event.properties.reply)
|
|
1091
1176
|
}
|
|
1092
1177
|
});
|
|
1093
1178
|
break;
|
|
1179
|
+
}
|
|
1094
1180
|
case "question.asked":
|
|
1095
1181
|
if (context.resolvedRequestIds.has(event.properties.id) || context.pendingQuestions.has(event.properties.id)) break;
|
|
1096
1182
|
context.pendingQuestions.set(event.properties.id, event.properties);
|
|
@@ -1155,26 +1241,34 @@ function makeOpenCodeAdapter(openCodeSettings, options) {
|
|
|
1155
1241
|
});
|
|
1156
1242
|
break;
|
|
1157
1243
|
}
|
|
1158
|
-
if (event.properties.status.type === "busy")
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
yield* emitForContext(context, {
|
|
1164
|
-
...yield* buildEventBase({
|
|
1165
|
-
threadId: context.session.threadId,
|
|
1166
|
-
turnId,
|
|
1167
|
-
raw: event
|
|
1168
|
-
}),
|
|
1169
|
-
type: "runtime.warning",
|
|
1170
|
-
payload: {
|
|
1171
|
-
message: event.properties.status.message,
|
|
1172
|
-
detail: event.properties.status
|
|
1173
|
-
}
|
|
1244
|
+
if (event.properties.status.type === "busy") {
|
|
1245
|
+
context.lastRetryKey = void 0;
|
|
1246
|
+
updateProviderSession(context, {
|
|
1247
|
+
status: "running",
|
|
1248
|
+
activeTurnId: turnId
|
|
1174
1249
|
});
|
|
1250
|
+
}
|
|
1251
|
+
if (event.properties.status.type === "retry") {
|
|
1252
|
+
const retryKey = `${event.properties.status.attempt}:${event.properties.status.message}`;
|
|
1253
|
+
if (context.lastRetryKey !== retryKey) {
|
|
1254
|
+
context.lastRetryKey = retryKey;
|
|
1255
|
+
yield* emitForContext(context, {
|
|
1256
|
+
...yield* buildEventBase({
|
|
1257
|
+
threadId: context.session.threadId,
|
|
1258
|
+
turnId,
|
|
1259
|
+
raw: event
|
|
1260
|
+
}),
|
|
1261
|
+
type: "runtime.warning",
|
|
1262
|
+
payload: {
|
|
1263
|
+
message: event.properties.status.message,
|
|
1264
|
+
detail: event.properties.status
|
|
1265
|
+
}
|
|
1266
|
+
});
|
|
1267
|
+
}
|
|
1175
1268
|
break;
|
|
1176
1269
|
}
|
|
1177
1270
|
if (event.properties.status.type === "idle" && turnId) {
|
|
1271
|
+
context.lastRetryKey = void 0;
|
|
1178
1272
|
if (context.pendingPrompt?.turnId === turnId) {
|
|
1179
1273
|
context.pendingPrompt.idleEvent = event;
|
|
1180
1274
|
break;
|
|
@@ -1410,6 +1504,8 @@ function makeOpenCodeAdapter(openCodeSettings, options) {
|
|
|
1410
1504
|
activeTurnId: void 0,
|
|
1411
1505
|
activeAgent: void 0,
|
|
1412
1506
|
activeVariant: void 0,
|
|
1507
|
+
lastPlanFingerprint: void 0,
|
|
1508
|
+
lastRetryKey: void 0,
|
|
1413
1509
|
promptSemaphore: yield* Semaphore.make(1),
|
|
1414
1510
|
pendingPrompt: void 0,
|
|
1415
1511
|
promptGeneration: 0,
|
|
@@ -1462,14 +1558,25 @@ function makeOpenCodeAdapter(openCodeSettings, options) {
|
|
|
1462
1558
|
const formatted = formatSourceControlContextsForAgent(input.sourceControlContexts ?? []);
|
|
1463
1559
|
let text = formatted ? formatted + "\n\n" + (input.input?.trim() ?? "") : input.input?.trim();
|
|
1464
1560
|
const attachmentUrlById = /* @__PURE__ */ new Map();
|
|
1465
|
-
const declaredAttachmentBytes = (input.attachments ?? []).reduce((total, attachment) => total + attachment.sizeBytes, 0);
|
|
1561
|
+
const declaredAttachmentBytes = (input.attachments ?? []).reduce((total, attachment) => total + (attachment.sizeBytes ?? 0), 0);
|
|
1466
1562
|
if (declaredAttachmentBytes > 52428800) return yield* new ProviderAdapterRequestError({
|
|
1467
1563
|
provider: PROVIDER$1,
|
|
1468
1564
|
method: "session.prompt",
|
|
1469
1565
|
detail: `Attachments total ${declaredAttachmentBytes} bytes; limit is ${PROVIDER_SEND_TURN_MAX_ATTACHMENT_TOTAL_BYTES} bytes.`
|
|
1470
1566
|
});
|
|
1471
1567
|
let attachmentTotalBytes = 0;
|
|
1568
|
+
const pathLineEntries = [];
|
|
1472
1569
|
for (const attachment of input.attachments ?? []) {
|
|
1570
|
+
if (!isOpenCodeNativeAttachment(attachment)) {
|
|
1571
|
+
pathLineEntries.push({
|
|
1572
|
+
attachment,
|
|
1573
|
+
...attachment.id === void 0 ? {} : { resolvedPath: resolveAttachmentPath({
|
|
1574
|
+
attachmentsDir: serverConfig.attachmentsDir,
|
|
1575
|
+
attachment
|
|
1576
|
+
}) ?? void 0 }
|
|
1577
|
+
});
|
|
1578
|
+
continue;
|
|
1579
|
+
}
|
|
1473
1580
|
const persisted = readPersistedAttachment({
|
|
1474
1581
|
attachmentsDir: serverConfig.attachmentsDir,
|
|
1475
1582
|
attachment
|
|
@@ -1487,9 +1594,10 @@ function makeOpenCodeAdapter(openCodeSettings, options) {
|
|
|
1487
1594
|
detail: `Attachments total ${attachmentTotalBytes} bytes; limit is ${PROVIDER_SEND_TURN_MAX_ATTACHMENT_TOTAL_BYTES} bytes.`
|
|
1488
1595
|
});
|
|
1489
1596
|
}
|
|
1597
|
+
text = appendAttachmentPathLines(text, formatAttachmentPathLines(pathLineEntries));
|
|
1490
1598
|
const fileParts = toOpenCodeFileParts({
|
|
1491
1599
|
attachments: input.attachments,
|
|
1492
|
-
resolveAttachmentUrl: (attachment) => attachmentUrlById.get(attachment.id) ?? null
|
|
1600
|
+
resolveAttachmentUrl: (attachment) => attachment.id === void 0 ? null : attachmentUrlById.get(attachment.id) ?? null
|
|
1493
1601
|
});
|
|
1494
1602
|
if ((!text || text.length === 0) && fileParts.length === 0) return yield* new ProviderAdapterValidationError({
|
|
1495
1603
|
provider: PROVIDER$1,
|
|
@@ -1719,6 +1827,91 @@ function makeOpenCodeAdapter(openCodeSettings, options) {
|
|
|
1719
1827
|
});
|
|
1720
1828
|
}
|
|
1721
1829
|
//#endregion
|
|
1830
|
+
//#region src/provider/Layers/OpenCodeGoUsage.ts
|
|
1831
|
+
/**
|
|
1832
|
+
* OpenCodeGoUsage — probes OpenCode Go subscription usage limits.
|
|
1833
|
+
*
|
|
1834
|
+
* Mirrors `ClaudeUsage.ts`: reads the OpenCode CLI's credential store
|
|
1835
|
+
* (`<data dir>/auth.json`), calls the Go usage API with the stored
|
|
1836
|
+
* `opencode-go` API key, and maps the response onto the shared
|
|
1837
|
+
* `ServerProviderRateLimits` contract (rolling → primary, weekly →
|
|
1838
|
+
* secondary, monthly → tertiary).
|
|
1839
|
+
*
|
|
1840
|
+
* Every failure path degrades to `undefined` — a missing Go key or an
|
|
1841
|
+
* unreachable API must never make the provider snapshot probe fail.
|
|
1842
|
+
*
|
|
1843
|
+
* @module provider/Layers/OpenCodeGoUsage
|
|
1844
|
+
*/
|
|
1845
|
+
const OPENCODE_GO_USAGE_API = "https://opencode.ai/zen/go/v1/usage";
|
|
1846
|
+
const OPENCODE_GO_USAGE_TIMEOUT_MS = 5e3;
|
|
1847
|
+
const ROLLING_WINDOW_DURATION_MINS = 300;
|
|
1848
|
+
const WEEKLY_WINDOW_DURATION_MINS = 10080;
|
|
1849
|
+
const MONTHLY_WINDOW_DURATION_MINS = 43200;
|
|
1850
|
+
function resolveOpenCodeDataDirPath(environment = process.env) {
|
|
1851
|
+
const xdgDataHome = environment.XDG_DATA_HOME?.trim();
|
|
1852
|
+
const home = environment.HOME?.trim() || NodeOS.homedir();
|
|
1853
|
+
const base = xdgDataHome && xdgDataHome.length > 0 ? xdgDataHome : NodePath.join(home, ".local", "share");
|
|
1854
|
+
return NodePath.join(base, "opencode");
|
|
1855
|
+
}
|
|
1856
|
+
async function readOpenCodeGoApiKey(environment) {
|
|
1857
|
+
try {
|
|
1858
|
+
const authPath = NodePath.join(resolveOpenCodeDataDirPath(environment), "auth.json");
|
|
1859
|
+
const key = JSON.parse(await NodeFS.readFile(authPath, "utf8"))["opencode-go"]?.key;
|
|
1860
|
+
if (typeof key !== "string" || key.trim().length === 0) return;
|
|
1861
|
+
return key.trim();
|
|
1862
|
+
} catch {
|
|
1863
|
+
return;
|
|
1864
|
+
}
|
|
1865
|
+
}
|
|
1866
|
+
function parseOpenCodeGoUsageRateLimits(data) {
|
|
1867
|
+
const windows = data?.usage;
|
|
1868
|
+
if (!windows || typeof windows !== "object") return;
|
|
1869
|
+
const buildWindow = (raw, windowDurationMins) => {
|
|
1870
|
+
if (!raw || typeof raw !== "object" || typeof raw.percent !== "number") return;
|
|
1871
|
+
if (!Number.isFinite(raw.percent)) return;
|
|
1872
|
+
const resetsAt = typeof raw.resetsAt === "string" ? Date.parse(raw.resetsAt) : NaN;
|
|
1873
|
+
return {
|
|
1874
|
+
usedPercent: raw.percent,
|
|
1875
|
+
windowDurationMins,
|
|
1876
|
+
...Number.isFinite(resetsAt) ? { resetsAt: Math.floor(resetsAt / 1e3) } : {}
|
|
1877
|
+
};
|
|
1878
|
+
};
|
|
1879
|
+
const primary = buildWindow(windows.rolling, ROLLING_WINDOW_DURATION_MINS);
|
|
1880
|
+
const secondary = buildWindow(windows.weekly, WEEKLY_WINDOW_DURATION_MINS);
|
|
1881
|
+
const tertiary = buildWindow(windows.monthly, MONTHLY_WINDOW_DURATION_MINS);
|
|
1882
|
+
if (!primary && !secondary && !tertiary) return;
|
|
1883
|
+
return {
|
|
1884
|
+
limitId: "opencode-go",
|
|
1885
|
+
limitName: "OpenCode Go",
|
|
1886
|
+
planType: "go",
|
|
1887
|
+
...primary ? { primary } : {},
|
|
1888
|
+
...secondary ? { secondary } : {},
|
|
1889
|
+
...tertiary ? { tertiary } : {}
|
|
1890
|
+
};
|
|
1891
|
+
}
|
|
1892
|
+
async function fetchOpenCodeGoUsageRateLimits(input) {
|
|
1893
|
+
const apiKey = await readOpenCodeGoApiKey(input.environment);
|
|
1894
|
+
if (!apiKey) return;
|
|
1895
|
+
const response = await input.fetchImpl(OPENCODE_GO_USAGE_API, {
|
|
1896
|
+
headers: {
|
|
1897
|
+
Authorization: `Bearer ${apiKey}`,
|
|
1898
|
+
Accept: "application/json"
|
|
1899
|
+
},
|
|
1900
|
+
signal: AbortSignal.timeout(OPENCODE_GO_USAGE_TIMEOUT_MS)
|
|
1901
|
+
});
|
|
1902
|
+
if (!response.ok) return;
|
|
1903
|
+
return parseOpenCodeGoUsageRateLimits(await response.json());
|
|
1904
|
+
}
|
|
1905
|
+
const probeOpenCodeGoUsageRateLimits = Effect.fn("probeOpenCodeGoUsageRateLimits")(function* (environment = process.env, fetchImpl = fetch) {
|
|
1906
|
+
return yield* Effect.tryPromise({
|
|
1907
|
+
try: () => fetchOpenCodeGoUsageRateLimits({
|
|
1908
|
+
environment,
|
|
1909
|
+
fetchImpl
|
|
1910
|
+
}),
|
|
1911
|
+
catch: () => void 0
|
|
1912
|
+
}).pipe(Effect.orElseSucceed(() => void 0));
|
|
1913
|
+
});
|
|
1914
|
+
//#endregion
|
|
1722
1915
|
//#region src/provider/Layers/OpenCodeProvider.ts
|
|
1723
1916
|
const PROVIDER = ProviderDriverKind.make("opencode");
|
|
1724
1917
|
const OPENCODE_PRESENTATION = {
|
|
@@ -1829,6 +2022,7 @@ function flattenOpenCodeModels(input) {
|
|
|
1829
2022
|
if (!modelId || !name) continue;
|
|
1830
2023
|
const subProvider = nonEmptyTrimmed(provider.name);
|
|
1831
2024
|
const shortName = subProvider ? deriveShortNameByStrippingPrefix(name, subProvider) : void 0;
|
|
2025
|
+
const maxContextTokens = model.limit?.context;
|
|
1832
2026
|
const slug = `${provider.id}/${modelId}`;
|
|
1833
2027
|
if (models.has(slug)) continue;
|
|
1834
2028
|
models.set(slug, {
|
|
@@ -1836,6 +2030,7 @@ function flattenOpenCodeModels(input) {
|
|
|
1836
2030
|
name,
|
|
1837
2031
|
...subProvider ? { subProvider } : {},
|
|
1838
2032
|
...shortName ? { shortName } : {},
|
|
2033
|
+
...typeof maxContextTokens === "number" && Number.isFinite(maxContextTokens) && maxContextTokens > 0 ? { maxContextTokens: Math.floor(maxContextTokens) } : {},
|
|
1839
2034
|
isCustom: false,
|
|
1840
2035
|
capabilities: openCodeCapabilitiesForModel({
|
|
1841
2036
|
providerID: provider.id,
|
|
@@ -1889,7 +2084,7 @@ const makePendingOpenCodeProvider = (openCodeSettings) => {
|
|
|
1889
2084
|
}
|
|
1890
2085
|
});
|
|
1891
2086
|
};
|
|
1892
|
-
const checkOpenCodeProviderStatus = Effect.fn("checkOpenCodeProviderStatus")(function* (openCodeSettings, cwd, environment = process.env) {
|
|
2087
|
+
const checkOpenCodeProviderStatus = Effect.fn("checkOpenCodeProviderStatus")(function* (openCodeSettings, cwd, environment = process.env, probeUsage = probeOpenCodeGoUsageRateLimits) {
|
|
1893
2088
|
const openCodeRuntime = yield* OpenCodeRuntime;
|
|
1894
2089
|
const checkedAt = (/* @__PURE__ */ new Date()).toISOString();
|
|
1895
2090
|
const customModels = openCodeSettings.customModels;
|
|
@@ -1988,11 +2183,13 @@ const checkOpenCodeProviderStatus = Effect.fn("checkOpenCodeProviderStatus")(fun
|
|
|
1988
2183
|
version = inventoryExit.value.serverVersion;
|
|
1989
2184
|
const models = providerModelsFromSettings(flattenOpenCodeModels(inventoryExit.value.inventory), PROVIDER, customModels, DEFAULT_OPENCODE_MODEL_CAPABILITIES);
|
|
1990
2185
|
const connectedCount = new Set(inventoryExit.value.inventory.providerList.connected).size;
|
|
2186
|
+
const rateLimits = yield* probeUsage(environment).pipe(Effect.orElseSucceed(() => void 0));
|
|
1991
2187
|
return buildServerProvider({
|
|
1992
2188
|
presentation: OPENCODE_PRESENTATION,
|
|
1993
2189
|
enabled: true,
|
|
1994
2190
|
checkedAt,
|
|
1995
2191
|
models,
|
|
2192
|
+
...rateLimits ? { rateLimits } : {},
|
|
1996
2193
|
probe: {
|
|
1997
2194
|
installed: true,
|
|
1998
2195
|
version,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { Ba as VcsProcessSpawnError, Ra as VcsOutputDecodeError, Va as VcsProcessTimeoutError, t as collectUint8StreamText, za as VcsProcessExitError } from "./collectUint8StreamText-C_VNyArd.mjs";
|
|
4
4
|
import { Context, Duration, Effect, Layer, Option, Schema, Sink, Stream } from "effect";
|
|
5
5
|
import { ChildProcess, ChildProcessSpawner } from "effect/unstable/process";
|
|
6
6
|
//#region src/vcs/VcsProcess.ts
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
|
-
const require_collectUint8StreamText = require("./collectUint8StreamText-
|
|
3
|
+
const require_collectUint8StreamText = require("./collectUint8StreamText-DStwNTTK.cjs");
|
|
4
4
|
let effect = require("effect");
|
|
5
5
|
let effect_unstable_process = require("effect/unstable/process");
|
|
6
6
|
//#region src/vcs/VcsProcess.ts
|