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,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
3
|
const require_rolldown_runtime = require("./rolldown-runtime-LGfotAqq.cjs");
|
|
4
|
-
const require_collectUint8StreamText = require("./collectUint8StreamText-
|
|
4
|
+
const require_collectUint8StreamText = require("./collectUint8StreamText-DStwNTTK.cjs");
|
|
5
5
|
const require_bin = require("./bin.cjs");
|
|
6
6
|
let effect_Effect = require("effect/Effect");
|
|
7
7
|
effect_Effect = require_rolldown_runtime.__toESM(effect_Effect, 1);
|
|
@@ -3966,9 +3966,152 @@ function extractTextContentFromToolCallContent(content) {
|
|
|
3966
3966
|
}).filter((entry) => entry !== void 0);
|
|
3967
3967
|
return chunks.length > 0 ? chunks.join("\n") : void 0;
|
|
3968
3968
|
}
|
|
3969
|
+
/**
|
|
3970
|
+
* Above this many changed lines per side the LCS diff is skipped (quadratic
|
|
3971
|
+
* memory); counts stay exact via multiset comparison instead.
|
|
3972
|
+
*/
|
|
3973
|
+
const UNIFIED_DIFF_MIDDLE_LINE_CAP = 2e3;
|
|
3974
|
+
/** LCS DP table cell budget for the changed middle region after prefix/suffix trim. */
|
|
3975
|
+
const UNIFIED_DIFF_LCS_CELL_CAP = 4e5;
|
|
3976
|
+
function splitDiffLines(text) {
|
|
3977
|
+
const lines = text.split("\n");
|
|
3978
|
+
const last = lines[lines.length - 1];
|
|
3979
|
+
if (lines.length > 1 && last === "") lines.pop();
|
|
3980
|
+
return lines;
|
|
3981
|
+
}
|
|
3982
|
+
function countLineChanges(oldLines, newLines) {
|
|
3983
|
+
const oldCounts = /* @__PURE__ */ new Map();
|
|
3984
|
+
for (const line of oldLines) oldCounts.set(line, (oldCounts.get(line) ?? 0) + 1);
|
|
3985
|
+
let additions = 0;
|
|
3986
|
+
for (const line of newLines) {
|
|
3987
|
+
const remaining = oldCounts.get(line) ?? 0;
|
|
3988
|
+
if (remaining > 0) oldCounts.set(line, remaining - 1);
|
|
3989
|
+
else additions += 1;
|
|
3990
|
+
}
|
|
3991
|
+
let deletions = 0;
|
|
3992
|
+
for (const count of oldCounts.values()) deletions += count;
|
|
3993
|
+
return {
|
|
3994
|
+
additions,
|
|
3995
|
+
deletions
|
|
3996
|
+
};
|
|
3997
|
+
}
|
|
3998
|
+
function diffMiddleLines(middleOld, middleNew) {
|
|
3999
|
+
if (middleOld.length * middleNew.length > UNIFIED_DIFF_LCS_CELL_CAP) return [...middleOld.map((text) => ({
|
|
4000
|
+
marker: "-",
|
|
4001
|
+
text
|
|
4002
|
+
})), ...middleNew.map((text) => ({
|
|
4003
|
+
marker: "+",
|
|
4004
|
+
text
|
|
4005
|
+
}))];
|
|
4006
|
+
const rows = middleOld.length;
|
|
4007
|
+
const cols = middleNew.length;
|
|
4008
|
+
const table = new Uint32Array((rows + 1) * (cols + 1));
|
|
4009
|
+
for (let i = rows - 1; i >= 0; i -= 1) for (let j = cols - 1; j >= 0; j -= 1) {
|
|
4010
|
+
const diagonal = table[(i + 1) * (cols + 1) + j + 1] ?? 0;
|
|
4011
|
+
const down = table[(i + 1) * (cols + 1) + j] ?? 0;
|
|
4012
|
+
const right = table[i * (cols + 1) + j + 1] ?? 0;
|
|
4013
|
+
const oldLine = middleOld[i];
|
|
4014
|
+
const newLine = middleNew[j];
|
|
4015
|
+
table[i * (cols + 1) + j] = oldLine !== void 0 && newLine !== void 0 && oldLine === newLine ? diagonal + 1 : Math.max(down, right);
|
|
4016
|
+
}
|
|
4017
|
+
const ops = [];
|
|
4018
|
+
let i = 0;
|
|
4019
|
+
let j = 0;
|
|
4020
|
+
while (i < rows && j < cols) {
|
|
4021
|
+
const oldLine = middleOld[i];
|
|
4022
|
+
const newLine = middleNew[j];
|
|
4023
|
+
if (oldLine !== void 0 && newLine !== void 0 && oldLine === newLine) {
|
|
4024
|
+
ops.push({
|
|
4025
|
+
marker: " ",
|
|
4026
|
+
text: oldLine
|
|
4027
|
+
});
|
|
4028
|
+
i += 1;
|
|
4029
|
+
j += 1;
|
|
4030
|
+
} else if (oldLine !== void 0 && (newLine === void 0 || (table[(i + 1) * (cols + 1) + j] ?? 0) >= (table[i * (cols + 1) + j + 1] ?? 0))) {
|
|
4031
|
+
ops.push({
|
|
4032
|
+
marker: "-",
|
|
4033
|
+
text: oldLine
|
|
4034
|
+
});
|
|
4035
|
+
i += 1;
|
|
4036
|
+
} else if (newLine !== void 0) {
|
|
4037
|
+
ops.push({
|
|
4038
|
+
marker: "+",
|
|
4039
|
+
text: newLine
|
|
4040
|
+
});
|
|
4041
|
+
j += 1;
|
|
4042
|
+
} else break;
|
|
4043
|
+
}
|
|
4044
|
+
while (i < rows) {
|
|
4045
|
+
const oldLine = middleOld[i];
|
|
4046
|
+
if (oldLine !== void 0) ops.push({
|
|
4047
|
+
marker: "-",
|
|
4048
|
+
text: oldLine
|
|
4049
|
+
});
|
|
4050
|
+
i += 1;
|
|
4051
|
+
}
|
|
4052
|
+
while (j < cols) {
|
|
4053
|
+
const newLine = middleNew[j];
|
|
4054
|
+
if (newLine !== void 0) ops.push({
|
|
4055
|
+
marker: "+",
|
|
4056
|
+
text: newLine
|
|
4057
|
+
});
|
|
4058
|
+
j += 1;
|
|
4059
|
+
}
|
|
4060
|
+
return ops;
|
|
4061
|
+
}
|
|
4062
|
+
function buildLineUnifiedDiff(path, oldText, newText) {
|
|
4063
|
+
const oldLines = splitDiffLines(oldText);
|
|
4064
|
+
const newLines = splitDiffLines(newText);
|
|
4065
|
+
if (oldLines.length > UNIFIED_DIFF_MIDDLE_LINE_CAP || newLines.length > UNIFIED_DIFF_MIDDLE_LINE_CAP) return;
|
|
4066
|
+
let start = 0;
|
|
4067
|
+
while (start < oldLines.length && start < newLines.length && oldLines[start] === newLines[start]) start += 1;
|
|
4068
|
+
let endOld = oldLines.length;
|
|
4069
|
+
let endNew = newLines.length;
|
|
4070
|
+
while (endOld > start && endNew > start && oldLines[endOld - 1] === newLines[endNew - 1] && oldLines[endOld - 1] !== void 0) {
|
|
4071
|
+
endOld -= 1;
|
|
4072
|
+
endNew -= 1;
|
|
4073
|
+
}
|
|
4074
|
+
const middleOld = oldLines.slice(start, endOld);
|
|
4075
|
+
const middleNew = newLines.slice(start, endNew);
|
|
4076
|
+
if (middleOld.length === 0 && middleNew.length === 0) return;
|
|
4077
|
+
const ops = diffMiddleLines(middleOld, middleNew);
|
|
4078
|
+
return `--- a/${path}\n+++ b/${path}\n@@ -${middleOld.length > 0 ? start + 1 : start},${middleOld.length} +${middleNew.length > 0 ? start + 1 : start},${middleNew.length} @@\n` + ops.map((op) => `${op.marker}${op.text}`).join("\n");
|
|
4079
|
+
}
|
|
4080
|
+
/**
|
|
4081
|
+
* Normalizes ACP `type: "diff"` tool-call content into the shared
|
|
4082
|
+
* `changes[{path, diff, additions, deletions}]` shape the web fold already
|
|
4083
|
+
* consumes generically (same convention as Codex `fileChange` items).
|
|
4084
|
+
*/
|
|
4085
|
+
function extractToolCallChanges(content) {
|
|
4086
|
+
if (!content) return void 0;
|
|
4087
|
+
const changes = [];
|
|
4088
|
+
for (const entry of content) {
|
|
4089
|
+
if (entry.type !== "diff" || !entry.path.trim()) continue;
|
|
4090
|
+
const path = entry.path.trim();
|
|
4091
|
+
const oldText = entry.oldText ?? "";
|
|
4092
|
+
const newText = entry.newText ?? "";
|
|
4093
|
+
const { additions, deletions } = countLineChanges(splitDiffLines(oldText), splitDiffLines(newText));
|
|
4094
|
+
const diff = oldText.length > 0 || newText.length > 0 ? buildLineUnifiedDiff(path, oldText, newText) : void 0;
|
|
4095
|
+
changes.push({
|
|
4096
|
+
path,
|
|
4097
|
+
...additions > 0 || deletions > 0 ? {
|
|
4098
|
+
additions,
|
|
4099
|
+
deletions
|
|
4100
|
+
} : {},
|
|
4101
|
+
...diff !== void 0 ? { diff } : {}
|
|
4102
|
+
});
|
|
4103
|
+
}
|
|
4104
|
+
return changes.length > 0 ? changes : void 0;
|
|
4105
|
+
}
|
|
3969
4106
|
function normalizeToolKind(kind) {
|
|
3970
4107
|
return typeof kind === "string" && kind.trim().length > 0 ? kind.trim() : void 0;
|
|
3971
4108
|
}
|
|
4109
|
+
function firstToolCallLocationPath(locations) {
|
|
4110
|
+
for (const location of locations ?? []) {
|
|
4111
|
+
const path = typeof location.path === "string" ? location.path.trim() : "";
|
|
4112
|
+
if (path) return path;
|
|
4113
|
+
}
|
|
4114
|
+
}
|
|
3972
4115
|
function containsSubagentKeyword(value) {
|
|
3973
4116
|
return value !== void 0 && /\b(sub[-\s]?agent|subtask|delegate|delegation)\b/i.test(value);
|
|
3974
4117
|
}
|
|
@@ -3977,10 +4120,11 @@ function hasExplicitSubagentType(data) {
|
|
|
3977
4120
|
return typeof subagentType === "string" && subagentType.trim().length > 0;
|
|
3978
4121
|
}
|
|
3979
4122
|
function isAcpSubagentToolCall(input) {
|
|
3980
|
-
if (containsSubagentKeyword(input.kind) || containsSubagentKeyword(input.title) || containsSubagentKeyword(input.command) || containsSubagentKeyword(input.detail)) return true;
|
|
3981
4123
|
if (hasExplicitSubagentType(input.data)) return true;
|
|
4124
|
+
if (input.kind && input.kind !== "other" && !containsSubagentKeyword(input.kind)) return false;
|
|
3982
4125
|
const rawInput = isRecord(input.data?.rawInput) ? input.data.rawInput : void 0;
|
|
3983
|
-
|
|
4126
|
+
const namedDelegation = (value) => typeof value === "string" && /^(?:sub[-_ ]?agent|subtask|delegate|delegation|spawn_agent|delegate_task)$/i.test(value.trim());
|
|
4127
|
+
return namedDelegation(input.kind) || namedDelegation(rawInput?.tool) || namedDelegation(rawInput?.name) || input.title !== void 0 && /^(?:(?:launch|spawn|run|start)\s+)?(?:sub[-\s]?agent|subtask|delegate|delegation)(?:$|[:\s])/i.test(input.title);
|
|
3984
4128
|
}
|
|
3985
4129
|
function canonicalItemTypeFromAcpTool(input) {
|
|
3986
4130
|
if (isAcpSubagentToolCall(input)) return "collab_agent_tool_call";
|
|
@@ -4019,6 +4163,9 @@ function makeAcpSubagentSummaryState(input) {
|
|
|
4019
4163
|
["command", input.command]
|
|
4020
4164
|
].filter(([, value]) => value !== void 0));
|
|
4021
4165
|
const status = acpSubagentStatusFromToolStatus(input.status);
|
|
4166
|
+
const output = require_bin.extractToolResultText(input.data?.rawOutput) ?? require_bin.extractToolContentText(input.data?.content);
|
|
4167
|
+
const model = rawInputStringField(input.data, "model");
|
|
4168
|
+
const role = rawInputStringField(input.data, "subagent_type");
|
|
4022
4169
|
return {
|
|
4023
4170
|
subagent: {
|
|
4024
4171
|
subagentId: require_collectUint8StreamText.RuntimeSubagentId.make(input.toolCallId),
|
|
@@ -4027,10 +4174,14 @@ function makeAcpSubagentSummaryState(input) {
|
|
|
4027
4174
|
label,
|
|
4028
4175
|
...detail ? { description: detail } : {},
|
|
4029
4176
|
parentProviderItemId: require_collectUint8StreamText.ProviderItemId.make(input.toolCallId),
|
|
4030
|
-
|
|
4177
|
+
...model ? { model } : {},
|
|
4178
|
+
metadata: {
|
|
4179
|
+
...metadata,
|
|
4180
|
+
...role ? { role } : {}
|
|
4181
|
+
}
|
|
4031
4182
|
},
|
|
4032
4183
|
...status ? { status } : {},
|
|
4033
|
-
summary: label,
|
|
4184
|
+
summary: (status === "completed" || status === "failed") && output ? output : label,
|
|
4034
4185
|
...detail ? { detail } : {}
|
|
4035
4186
|
};
|
|
4036
4187
|
}
|
|
@@ -4049,6 +4200,10 @@ function makeToolCallState(input, options) {
|
|
|
4049
4200
|
if (input.rawOutput !== void 0) data.rawOutput = input.rawOutput;
|
|
4050
4201
|
if (input.content !== void 0) data.content = input.content;
|
|
4051
4202
|
if (input.locations !== void 0) data.locations = input.locations;
|
|
4203
|
+
const changes = extractToolCallChanges(input.content);
|
|
4204
|
+
if (changes) data.changes = changes;
|
|
4205
|
+
const primaryPath = changes?.[0]?.path ?? firstToolCallLocationPath(input.locations);
|
|
4206
|
+
if (primaryPath) data.path = primaryPath;
|
|
4052
4207
|
const fallbackDetail = command ?? normalizedTitle ?? textContent;
|
|
4053
4208
|
const presentation = title !== void 0 || kind !== void 0 || command !== void 0 || normalizedTitle !== void 0 || textContent !== void 0 ? deriveToolActivityPresentation({
|
|
4054
4209
|
itemType: canonicalItemTypeFromAcpTool({
|
|
@@ -4194,12 +4349,19 @@ function parseSessionUpdateEvent(params) {
|
|
|
4194
4349
|
rawPayload: params
|
|
4195
4350
|
});
|
|
4196
4351
|
break;
|
|
4197
|
-
case "
|
|
4352
|
+
case "agent_thought_chunk":
|
|
4353
|
+
if (upd.content.type === "text" && upd.content.text.length > 0) events.push({
|
|
4354
|
+
_tag: "ThoughtDelta",
|
|
4355
|
+
text: upd.content.text,
|
|
4356
|
+
rawPayload: params
|
|
4357
|
+
});
|
|
4358
|
+
break;
|
|
4359
|
+
case "usage_update": if (Number.isSafeInteger(upd.used) && upd.used >= 0) events.push({
|
|
4198
4360
|
_tag: "UsageUpdated",
|
|
4199
4361
|
usage: {
|
|
4200
4362
|
usedTokens: upd.used,
|
|
4201
4363
|
lastUsedTokens: upd.used,
|
|
4202
|
-
...upd.size > 0 ? { maxTokens: upd.size } : {}
|
|
4364
|
+
...Number.isSafeInteger(upd.size) && upd.size > 0 ? { maxTokens: upd.size } : {}
|
|
4203
4365
|
},
|
|
4204
4366
|
rawPayload: params
|
|
4205
4367
|
});
|
|
@@ -4517,6 +4679,14 @@ const handleSessionUpdate = ({ queue, modeStateRef, toolCallsRef, assistantSegme
|
|
|
4517
4679
|
});
|
|
4518
4680
|
continue;
|
|
4519
4681
|
}
|
|
4682
|
+
if (event._tag === "ThoughtDelta") {
|
|
4683
|
+
yield* closeActiveAssistantSegment({
|
|
4684
|
+
queue,
|
|
4685
|
+
assistantSegmentRef
|
|
4686
|
+
});
|
|
4687
|
+
yield* effect.Queue.offer(queue, event);
|
|
4688
|
+
continue;
|
|
4689
|
+
}
|
|
4520
4690
|
yield* effect.Queue.offer(queue, event);
|
|
4521
4691
|
}
|
|
4522
4692
|
});
|
|
@@ -4556,6 +4726,63 @@ const closeActiveAssistantSegment = ({ queue, assistantSegmentRef }) => effect.R
|
|
|
4556
4726
|
}, { nextSegmentIndex: current.nextSegmentIndex }];
|
|
4557
4727
|
}).pipe(effect.Effect.flatMap((event) => event ? effect.Queue.offer(queue, event) : effect.Effect.void));
|
|
4558
4728
|
//#endregion
|
|
4729
|
+
//#region src/provider/acp/AcpSubagentRuntimeEvents.ts
|
|
4730
|
+
/** One lifecycle per ACP tool id, shared by every ACP adapter. Scoped to a session. */
|
|
4731
|
+
function makeAcpSubagentRuntimeEvents() {
|
|
4732
|
+
const started = /* @__PURE__ */ new Set();
|
|
4733
|
+
const completed = /* @__PURE__ */ new Set();
|
|
4734
|
+
return effect.Effect.fn("makeAcpSubagentRuntimeEvents")(function* (input) {
|
|
4735
|
+
const state = input.state;
|
|
4736
|
+
if (!state) return [];
|
|
4737
|
+
const id = String(state.subagent.subagentId);
|
|
4738
|
+
if (completed.has(id)) return [];
|
|
4739
|
+
const base = {
|
|
4740
|
+
provider: input.provider,
|
|
4741
|
+
threadId: input.threadId,
|
|
4742
|
+
...input.turnId ? { turnId: input.turnId } : {},
|
|
4743
|
+
raw: {
|
|
4744
|
+
source: "acp.jsonrpc",
|
|
4745
|
+
method: "session/update",
|
|
4746
|
+
payload: input.rawPayload
|
|
4747
|
+
}
|
|
4748
|
+
};
|
|
4749
|
+
const events = [];
|
|
4750
|
+
if (!started.has(id)) {
|
|
4751
|
+
started.add(id);
|
|
4752
|
+
events.push({
|
|
4753
|
+
...base,
|
|
4754
|
+
...yield* input.makeStamp(),
|
|
4755
|
+
type: "subagent.started",
|
|
4756
|
+
payload: { subagent: state.subagent }
|
|
4757
|
+
});
|
|
4758
|
+
}
|
|
4759
|
+
if (state.status === "completed" || state.status === "failed" || state.status === "stopped") {
|
|
4760
|
+
completed.add(id);
|
|
4761
|
+
events.push({
|
|
4762
|
+
...base,
|
|
4763
|
+
...yield* input.makeStamp(),
|
|
4764
|
+
type: "subagent.completed",
|
|
4765
|
+
payload: {
|
|
4766
|
+
subagent: state.subagent,
|
|
4767
|
+
status: state.status,
|
|
4768
|
+
...state.summary ? { summary: state.summary } : {}
|
|
4769
|
+
}
|
|
4770
|
+
});
|
|
4771
|
+
} else events.push({
|
|
4772
|
+
...base,
|
|
4773
|
+
...yield* input.makeStamp(),
|
|
4774
|
+
type: "subagent.updated",
|
|
4775
|
+
payload: {
|
|
4776
|
+
subagent: state.subagent,
|
|
4777
|
+
...state.status ? { status: state.status } : {},
|
|
4778
|
+
...state.summary ? { summary: state.summary } : {},
|
|
4779
|
+
...state.detail ? { detail: state.detail } : {}
|
|
4780
|
+
}
|
|
4781
|
+
});
|
|
4782
|
+
return events;
|
|
4783
|
+
});
|
|
4784
|
+
}
|
|
4785
|
+
//#endregion
|
|
4559
4786
|
//#region src/provider/acp/AcpAdapterSupport.ts
|
|
4560
4787
|
function mapAcpToAdapterError(provider, threadId, method, error) {
|
|
4561
4788
|
if (effect.Schema.is(AcpProcessExitedError)(error)) return new require_bin.ProviderAdapterSessionClosedError({
|
|
@@ -4721,6 +4948,24 @@ function makeAcpContentDeltaEvent(input) {
|
|
|
4721
4948
|
}
|
|
4722
4949
|
};
|
|
4723
4950
|
}
|
|
4951
|
+
function makeAcpThoughtDeltaEvent(input) {
|
|
4952
|
+
return {
|
|
4953
|
+
type: "content.delta",
|
|
4954
|
+
...input.stamp,
|
|
4955
|
+
provider: input.provider,
|
|
4956
|
+
threadId: input.threadId,
|
|
4957
|
+
turnId: input.turnId,
|
|
4958
|
+
payload: {
|
|
4959
|
+
streamKind: "reasoning_text",
|
|
4960
|
+
delta: input.text
|
|
4961
|
+
},
|
|
4962
|
+
raw: {
|
|
4963
|
+
source: "acp.jsonrpc",
|
|
4964
|
+
method: "session/update",
|
|
4965
|
+
payload: input.rawPayload
|
|
4966
|
+
}
|
|
4967
|
+
};
|
|
4968
|
+
}
|
|
4724
4969
|
function makeAcpTokenUsageEvent(input) {
|
|
4725
4970
|
return {
|
|
4726
4971
|
type: "thread.token-usage.updated",
|
|
@@ -4847,6 +5092,18 @@ Object.defineProperty(exports, "makeAcpRequestResolvedEvent", {
|
|
|
4847
5092
|
return makeAcpRequestResolvedEvent;
|
|
4848
5093
|
}
|
|
4849
5094
|
});
|
|
5095
|
+
Object.defineProperty(exports, "makeAcpSubagentRuntimeEvents", {
|
|
5096
|
+
enumerable: true,
|
|
5097
|
+
get: function() {
|
|
5098
|
+
return makeAcpSubagentRuntimeEvents;
|
|
5099
|
+
}
|
|
5100
|
+
});
|
|
5101
|
+
Object.defineProperty(exports, "makeAcpThoughtDeltaEvent", {
|
|
5102
|
+
enumerable: true,
|
|
5103
|
+
get: function() {
|
|
5104
|
+
return makeAcpThoughtDeltaEvent;
|
|
5105
|
+
}
|
|
5106
|
+
});
|
|
4850
5107
|
Object.defineProperty(exports, "makeAcpTokenUsageEvent", {
|
|
4851
5108
|
enumerable: true,
|
|
4852
5109
|
get: function() {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { ls as ProviderItemId, ps as RuntimeSubagentId, us as RuntimeItemId } from "./collectUint8StreamText-C_VNyArd.mjs";
|
|
4
|
+
import { St as ProviderAdapterSessionClosedError, f as extractToolContentText, p as extractToolResultText, vt as redactAgentControlSecrets, xt as ProviderAdapterRequestError } from "./bin.mjs";
|
|
5
5
|
import * as Effect$1 from "effect/Effect";
|
|
6
6
|
import * as Layer$1 from "effect/Layer";
|
|
7
7
|
import { Cause, Context, Deferred, Effect, Exit, Layer, Queue, Ref, Schema, Scope, Stream } from "effect";
|
|
@@ -3946,9 +3946,152 @@ function extractTextContentFromToolCallContent(content) {
|
|
|
3946
3946
|
}).filter((entry) => entry !== void 0);
|
|
3947
3947
|
return chunks.length > 0 ? chunks.join("\n") : void 0;
|
|
3948
3948
|
}
|
|
3949
|
+
/**
|
|
3950
|
+
* Above this many changed lines per side the LCS diff is skipped (quadratic
|
|
3951
|
+
* memory); counts stay exact via multiset comparison instead.
|
|
3952
|
+
*/
|
|
3953
|
+
const UNIFIED_DIFF_MIDDLE_LINE_CAP = 2e3;
|
|
3954
|
+
/** LCS DP table cell budget for the changed middle region after prefix/suffix trim. */
|
|
3955
|
+
const UNIFIED_DIFF_LCS_CELL_CAP = 4e5;
|
|
3956
|
+
function splitDiffLines(text) {
|
|
3957
|
+
const lines = text.split("\n");
|
|
3958
|
+
const last = lines[lines.length - 1];
|
|
3959
|
+
if (lines.length > 1 && last === "") lines.pop();
|
|
3960
|
+
return lines;
|
|
3961
|
+
}
|
|
3962
|
+
function countLineChanges(oldLines, newLines) {
|
|
3963
|
+
const oldCounts = /* @__PURE__ */ new Map();
|
|
3964
|
+
for (const line of oldLines) oldCounts.set(line, (oldCounts.get(line) ?? 0) + 1);
|
|
3965
|
+
let additions = 0;
|
|
3966
|
+
for (const line of newLines) {
|
|
3967
|
+
const remaining = oldCounts.get(line) ?? 0;
|
|
3968
|
+
if (remaining > 0) oldCounts.set(line, remaining - 1);
|
|
3969
|
+
else additions += 1;
|
|
3970
|
+
}
|
|
3971
|
+
let deletions = 0;
|
|
3972
|
+
for (const count of oldCounts.values()) deletions += count;
|
|
3973
|
+
return {
|
|
3974
|
+
additions,
|
|
3975
|
+
deletions
|
|
3976
|
+
};
|
|
3977
|
+
}
|
|
3978
|
+
function diffMiddleLines(middleOld, middleNew) {
|
|
3979
|
+
if (middleOld.length * middleNew.length > UNIFIED_DIFF_LCS_CELL_CAP) return [...middleOld.map((text) => ({
|
|
3980
|
+
marker: "-",
|
|
3981
|
+
text
|
|
3982
|
+
})), ...middleNew.map((text) => ({
|
|
3983
|
+
marker: "+",
|
|
3984
|
+
text
|
|
3985
|
+
}))];
|
|
3986
|
+
const rows = middleOld.length;
|
|
3987
|
+
const cols = middleNew.length;
|
|
3988
|
+
const table = new Uint32Array((rows + 1) * (cols + 1));
|
|
3989
|
+
for (let i = rows - 1; i >= 0; i -= 1) for (let j = cols - 1; j >= 0; j -= 1) {
|
|
3990
|
+
const diagonal = table[(i + 1) * (cols + 1) + j + 1] ?? 0;
|
|
3991
|
+
const down = table[(i + 1) * (cols + 1) + j] ?? 0;
|
|
3992
|
+
const right = table[i * (cols + 1) + j + 1] ?? 0;
|
|
3993
|
+
const oldLine = middleOld[i];
|
|
3994
|
+
const newLine = middleNew[j];
|
|
3995
|
+
table[i * (cols + 1) + j] = oldLine !== void 0 && newLine !== void 0 && oldLine === newLine ? diagonal + 1 : Math.max(down, right);
|
|
3996
|
+
}
|
|
3997
|
+
const ops = [];
|
|
3998
|
+
let i = 0;
|
|
3999
|
+
let j = 0;
|
|
4000
|
+
while (i < rows && j < cols) {
|
|
4001
|
+
const oldLine = middleOld[i];
|
|
4002
|
+
const newLine = middleNew[j];
|
|
4003
|
+
if (oldLine !== void 0 && newLine !== void 0 && oldLine === newLine) {
|
|
4004
|
+
ops.push({
|
|
4005
|
+
marker: " ",
|
|
4006
|
+
text: oldLine
|
|
4007
|
+
});
|
|
4008
|
+
i += 1;
|
|
4009
|
+
j += 1;
|
|
4010
|
+
} else if (oldLine !== void 0 && (newLine === void 0 || (table[(i + 1) * (cols + 1) + j] ?? 0) >= (table[i * (cols + 1) + j + 1] ?? 0))) {
|
|
4011
|
+
ops.push({
|
|
4012
|
+
marker: "-",
|
|
4013
|
+
text: oldLine
|
|
4014
|
+
});
|
|
4015
|
+
i += 1;
|
|
4016
|
+
} else if (newLine !== void 0) {
|
|
4017
|
+
ops.push({
|
|
4018
|
+
marker: "+",
|
|
4019
|
+
text: newLine
|
|
4020
|
+
});
|
|
4021
|
+
j += 1;
|
|
4022
|
+
} else break;
|
|
4023
|
+
}
|
|
4024
|
+
while (i < rows) {
|
|
4025
|
+
const oldLine = middleOld[i];
|
|
4026
|
+
if (oldLine !== void 0) ops.push({
|
|
4027
|
+
marker: "-",
|
|
4028
|
+
text: oldLine
|
|
4029
|
+
});
|
|
4030
|
+
i += 1;
|
|
4031
|
+
}
|
|
4032
|
+
while (j < cols) {
|
|
4033
|
+
const newLine = middleNew[j];
|
|
4034
|
+
if (newLine !== void 0) ops.push({
|
|
4035
|
+
marker: "+",
|
|
4036
|
+
text: newLine
|
|
4037
|
+
});
|
|
4038
|
+
j += 1;
|
|
4039
|
+
}
|
|
4040
|
+
return ops;
|
|
4041
|
+
}
|
|
4042
|
+
function buildLineUnifiedDiff(path, oldText, newText) {
|
|
4043
|
+
const oldLines = splitDiffLines(oldText);
|
|
4044
|
+
const newLines = splitDiffLines(newText);
|
|
4045
|
+
if (oldLines.length > UNIFIED_DIFF_MIDDLE_LINE_CAP || newLines.length > UNIFIED_DIFF_MIDDLE_LINE_CAP) return;
|
|
4046
|
+
let start = 0;
|
|
4047
|
+
while (start < oldLines.length && start < newLines.length && oldLines[start] === newLines[start]) start += 1;
|
|
4048
|
+
let endOld = oldLines.length;
|
|
4049
|
+
let endNew = newLines.length;
|
|
4050
|
+
while (endOld > start && endNew > start && oldLines[endOld - 1] === newLines[endNew - 1] && oldLines[endOld - 1] !== void 0) {
|
|
4051
|
+
endOld -= 1;
|
|
4052
|
+
endNew -= 1;
|
|
4053
|
+
}
|
|
4054
|
+
const middleOld = oldLines.slice(start, endOld);
|
|
4055
|
+
const middleNew = newLines.slice(start, endNew);
|
|
4056
|
+
if (middleOld.length === 0 && middleNew.length === 0) return;
|
|
4057
|
+
const ops = diffMiddleLines(middleOld, middleNew);
|
|
4058
|
+
return `--- a/${path}\n+++ b/${path}\n@@ -${middleOld.length > 0 ? start + 1 : start},${middleOld.length} +${middleNew.length > 0 ? start + 1 : start},${middleNew.length} @@\n` + ops.map((op) => `${op.marker}${op.text}`).join("\n");
|
|
4059
|
+
}
|
|
4060
|
+
/**
|
|
4061
|
+
* Normalizes ACP `type: "diff"` tool-call content into the shared
|
|
4062
|
+
* `changes[{path, diff, additions, deletions}]` shape the web fold already
|
|
4063
|
+
* consumes generically (same convention as Codex `fileChange` items).
|
|
4064
|
+
*/
|
|
4065
|
+
function extractToolCallChanges(content) {
|
|
4066
|
+
if (!content) return void 0;
|
|
4067
|
+
const changes = [];
|
|
4068
|
+
for (const entry of content) {
|
|
4069
|
+
if (entry.type !== "diff" || !entry.path.trim()) continue;
|
|
4070
|
+
const path = entry.path.trim();
|
|
4071
|
+
const oldText = entry.oldText ?? "";
|
|
4072
|
+
const newText = entry.newText ?? "";
|
|
4073
|
+
const { additions, deletions } = countLineChanges(splitDiffLines(oldText), splitDiffLines(newText));
|
|
4074
|
+
const diff = oldText.length > 0 || newText.length > 0 ? buildLineUnifiedDiff(path, oldText, newText) : void 0;
|
|
4075
|
+
changes.push({
|
|
4076
|
+
path,
|
|
4077
|
+
...additions > 0 || deletions > 0 ? {
|
|
4078
|
+
additions,
|
|
4079
|
+
deletions
|
|
4080
|
+
} : {},
|
|
4081
|
+
...diff !== void 0 ? { diff } : {}
|
|
4082
|
+
});
|
|
4083
|
+
}
|
|
4084
|
+
return changes.length > 0 ? changes : void 0;
|
|
4085
|
+
}
|
|
3949
4086
|
function normalizeToolKind(kind) {
|
|
3950
4087
|
return typeof kind === "string" && kind.trim().length > 0 ? kind.trim() : void 0;
|
|
3951
4088
|
}
|
|
4089
|
+
function firstToolCallLocationPath(locations) {
|
|
4090
|
+
for (const location of locations ?? []) {
|
|
4091
|
+
const path = typeof location.path === "string" ? location.path.trim() : "";
|
|
4092
|
+
if (path) return path;
|
|
4093
|
+
}
|
|
4094
|
+
}
|
|
3952
4095
|
function containsSubagentKeyword(value) {
|
|
3953
4096
|
return value !== void 0 && /\b(sub[-\s]?agent|subtask|delegate|delegation)\b/i.test(value);
|
|
3954
4097
|
}
|
|
@@ -3957,10 +4100,11 @@ function hasExplicitSubagentType(data) {
|
|
|
3957
4100
|
return typeof subagentType === "string" && subagentType.trim().length > 0;
|
|
3958
4101
|
}
|
|
3959
4102
|
function isAcpSubagentToolCall(input) {
|
|
3960
|
-
if (containsSubagentKeyword(input.kind) || containsSubagentKeyword(input.title) || containsSubagentKeyword(input.command) || containsSubagentKeyword(input.detail)) return true;
|
|
3961
4103
|
if (hasExplicitSubagentType(input.data)) return true;
|
|
4104
|
+
if (input.kind && input.kind !== "other" && !containsSubagentKeyword(input.kind)) return false;
|
|
3962
4105
|
const rawInput = isRecord(input.data?.rawInput) ? input.data.rawInput : void 0;
|
|
3963
|
-
|
|
4106
|
+
const namedDelegation = (value) => typeof value === "string" && /^(?:sub[-_ ]?agent|subtask|delegate|delegation|spawn_agent|delegate_task)$/i.test(value.trim());
|
|
4107
|
+
return namedDelegation(input.kind) || namedDelegation(rawInput?.tool) || namedDelegation(rawInput?.name) || input.title !== void 0 && /^(?:(?:launch|spawn|run|start)\s+)?(?:sub[-\s]?agent|subtask|delegate|delegation)(?:$|[:\s])/i.test(input.title);
|
|
3964
4108
|
}
|
|
3965
4109
|
function canonicalItemTypeFromAcpTool(input) {
|
|
3966
4110
|
if (isAcpSubagentToolCall(input)) return "collab_agent_tool_call";
|
|
@@ -3999,6 +4143,9 @@ function makeAcpSubagentSummaryState(input) {
|
|
|
3999
4143
|
["command", input.command]
|
|
4000
4144
|
].filter(([, value]) => value !== void 0));
|
|
4001
4145
|
const status = acpSubagentStatusFromToolStatus(input.status);
|
|
4146
|
+
const output = extractToolResultText(input.data?.rawOutput) ?? extractToolContentText(input.data?.content);
|
|
4147
|
+
const model = rawInputStringField(input.data, "model");
|
|
4148
|
+
const role = rawInputStringField(input.data, "subagent_type");
|
|
4002
4149
|
return {
|
|
4003
4150
|
subagent: {
|
|
4004
4151
|
subagentId: RuntimeSubagentId.make(input.toolCallId),
|
|
@@ -4007,10 +4154,14 @@ function makeAcpSubagentSummaryState(input) {
|
|
|
4007
4154
|
label,
|
|
4008
4155
|
...detail ? { description: detail } : {},
|
|
4009
4156
|
parentProviderItemId: ProviderItemId.make(input.toolCallId),
|
|
4010
|
-
|
|
4157
|
+
...model ? { model } : {},
|
|
4158
|
+
metadata: {
|
|
4159
|
+
...metadata,
|
|
4160
|
+
...role ? { role } : {}
|
|
4161
|
+
}
|
|
4011
4162
|
},
|
|
4012
4163
|
...status ? { status } : {},
|
|
4013
|
-
summary: label,
|
|
4164
|
+
summary: (status === "completed" || status === "failed") && output ? output : label,
|
|
4014
4165
|
...detail ? { detail } : {}
|
|
4015
4166
|
};
|
|
4016
4167
|
}
|
|
@@ -4029,6 +4180,10 @@ function makeToolCallState(input, options) {
|
|
|
4029
4180
|
if (input.rawOutput !== void 0) data.rawOutput = input.rawOutput;
|
|
4030
4181
|
if (input.content !== void 0) data.content = input.content;
|
|
4031
4182
|
if (input.locations !== void 0) data.locations = input.locations;
|
|
4183
|
+
const changes = extractToolCallChanges(input.content);
|
|
4184
|
+
if (changes) data.changes = changes;
|
|
4185
|
+
const primaryPath = changes?.[0]?.path ?? firstToolCallLocationPath(input.locations);
|
|
4186
|
+
if (primaryPath) data.path = primaryPath;
|
|
4032
4187
|
const fallbackDetail = command ?? normalizedTitle ?? textContent;
|
|
4033
4188
|
const presentation = title !== void 0 || kind !== void 0 || command !== void 0 || normalizedTitle !== void 0 || textContent !== void 0 ? deriveToolActivityPresentation({
|
|
4034
4189
|
itemType: canonicalItemTypeFromAcpTool({
|
|
@@ -4174,12 +4329,19 @@ function parseSessionUpdateEvent(params) {
|
|
|
4174
4329
|
rawPayload: params
|
|
4175
4330
|
});
|
|
4176
4331
|
break;
|
|
4177
|
-
case "
|
|
4332
|
+
case "agent_thought_chunk":
|
|
4333
|
+
if (upd.content.type === "text" && upd.content.text.length > 0) events.push({
|
|
4334
|
+
_tag: "ThoughtDelta",
|
|
4335
|
+
text: upd.content.text,
|
|
4336
|
+
rawPayload: params
|
|
4337
|
+
});
|
|
4338
|
+
break;
|
|
4339
|
+
case "usage_update": if (Number.isSafeInteger(upd.used) && upd.used >= 0) events.push({
|
|
4178
4340
|
_tag: "UsageUpdated",
|
|
4179
4341
|
usage: {
|
|
4180
4342
|
usedTokens: upd.used,
|
|
4181
4343
|
lastUsedTokens: upd.used,
|
|
4182
|
-
...upd.size > 0 ? { maxTokens: upd.size } : {}
|
|
4344
|
+
...Number.isSafeInteger(upd.size) && upd.size > 0 ? { maxTokens: upd.size } : {}
|
|
4183
4345
|
},
|
|
4184
4346
|
rawPayload: params
|
|
4185
4347
|
});
|
|
@@ -4497,6 +4659,14 @@ const handleSessionUpdate = ({ queue, modeStateRef, toolCallsRef, assistantSegme
|
|
|
4497
4659
|
});
|
|
4498
4660
|
continue;
|
|
4499
4661
|
}
|
|
4662
|
+
if (event._tag === "ThoughtDelta") {
|
|
4663
|
+
yield* closeActiveAssistantSegment({
|
|
4664
|
+
queue,
|
|
4665
|
+
assistantSegmentRef
|
|
4666
|
+
});
|
|
4667
|
+
yield* Queue.offer(queue, event);
|
|
4668
|
+
continue;
|
|
4669
|
+
}
|
|
4500
4670
|
yield* Queue.offer(queue, event);
|
|
4501
4671
|
}
|
|
4502
4672
|
});
|
|
@@ -4536,6 +4706,63 @@ const closeActiveAssistantSegment = ({ queue, assistantSegmentRef }) => Ref.modi
|
|
|
4536
4706
|
}, { nextSegmentIndex: current.nextSegmentIndex }];
|
|
4537
4707
|
}).pipe(Effect.flatMap((event) => event ? Queue.offer(queue, event) : Effect.void));
|
|
4538
4708
|
//#endregion
|
|
4709
|
+
//#region src/provider/acp/AcpSubagentRuntimeEvents.ts
|
|
4710
|
+
/** One lifecycle per ACP tool id, shared by every ACP adapter. Scoped to a session. */
|
|
4711
|
+
function makeAcpSubagentRuntimeEvents() {
|
|
4712
|
+
const started = /* @__PURE__ */ new Set();
|
|
4713
|
+
const completed = /* @__PURE__ */ new Set();
|
|
4714
|
+
return Effect.fn("makeAcpSubagentRuntimeEvents")(function* (input) {
|
|
4715
|
+
const state = input.state;
|
|
4716
|
+
if (!state) return [];
|
|
4717
|
+
const id = String(state.subagent.subagentId);
|
|
4718
|
+
if (completed.has(id)) return [];
|
|
4719
|
+
const base = {
|
|
4720
|
+
provider: input.provider,
|
|
4721
|
+
threadId: input.threadId,
|
|
4722
|
+
...input.turnId ? { turnId: input.turnId } : {},
|
|
4723
|
+
raw: {
|
|
4724
|
+
source: "acp.jsonrpc",
|
|
4725
|
+
method: "session/update",
|
|
4726
|
+
payload: input.rawPayload
|
|
4727
|
+
}
|
|
4728
|
+
};
|
|
4729
|
+
const events = [];
|
|
4730
|
+
if (!started.has(id)) {
|
|
4731
|
+
started.add(id);
|
|
4732
|
+
events.push({
|
|
4733
|
+
...base,
|
|
4734
|
+
...yield* input.makeStamp(),
|
|
4735
|
+
type: "subagent.started",
|
|
4736
|
+
payload: { subagent: state.subagent }
|
|
4737
|
+
});
|
|
4738
|
+
}
|
|
4739
|
+
if (state.status === "completed" || state.status === "failed" || state.status === "stopped") {
|
|
4740
|
+
completed.add(id);
|
|
4741
|
+
events.push({
|
|
4742
|
+
...base,
|
|
4743
|
+
...yield* input.makeStamp(),
|
|
4744
|
+
type: "subagent.completed",
|
|
4745
|
+
payload: {
|
|
4746
|
+
subagent: state.subagent,
|
|
4747
|
+
status: state.status,
|
|
4748
|
+
...state.summary ? { summary: state.summary } : {}
|
|
4749
|
+
}
|
|
4750
|
+
});
|
|
4751
|
+
} else events.push({
|
|
4752
|
+
...base,
|
|
4753
|
+
...yield* input.makeStamp(),
|
|
4754
|
+
type: "subagent.updated",
|
|
4755
|
+
payload: {
|
|
4756
|
+
subagent: state.subagent,
|
|
4757
|
+
...state.status ? { status: state.status } : {},
|
|
4758
|
+
...state.summary ? { summary: state.summary } : {},
|
|
4759
|
+
...state.detail ? { detail: state.detail } : {}
|
|
4760
|
+
}
|
|
4761
|
+
});
|
|
4762
|
+
return events;
|
|
4763
|
+
});
|
|
4764
|
+
}
|
|
4765
|
+
//#endregion
|
|
4539
4766
|
//#region src/provider/acp/AcpAdapterSupport.ts
|
|
4540
4767
|
function mapAcpToAdapterError(provider, threadId, method, error) {
|
|
4541
4768
|
if (Schema.is(AcpProcessExitedError)(error)) return new ProviderAdapterSessionClosedError({
|
|
@@ -4701,6 +4928,24 @@ function makeAcpContentDeltaEvent(input) {
|
|
|
4701
4928
|
}
|
|
4702
4929
|
};
|
|
4703
4930
|
}
|
|
4931
|
+
function makeAcpThoughtDeltaEvent(input) {
|
|
4932
|
+
return {
|
|
4933
|
+
type: "content.delta",
|
|
4934
|
+
...input.stamp,
|
|
4935
|
+
provider: input.provider,
|
|
4936
|
+
threadId: input.threadId,
|
|
4937
|
+
turnId: input.turnId,
|
|
4938
|
+
payload: {
|
|
4939
|
+
streamKind: "reasoning_text",
|
|
4940
|
+
delta: input.text
|
|
4941
|
+
},
|
|
4942
|
+
raw: {
|
|
4943
|
+
source: "acp.jsonrpc",
|
|
4944
|
+
method: "session/update",
|
|
4945
|
+
payload: input.rawPayload
|
|
4946
|
+
}
|
|
4947
|
+
};
|
|
4948
|
+
}
|
|
4704
4949
|
function makeAcpTokenUsageEvent(input) {
|
|
4705
4950
|
return {
|
|
4706
4951
|
type: "thread.token-usage.updated",
|
|
@@ -4767,4 +5012,4 @@ function makeAcpNativeLoggers(input) {
|
|
|
4767
5012
|
};
|
|
4768
5013
|
}
|
|
4769
5014
|
//#endregion
|
|
4770
|
-
export { makeAcpRequestOpenedEvent as a,
|
|
5015
|
+
export { makeAcpRequestOpenedEvent as a, makeAcpTokenUsageEvent as c, mapAcpToAdapterError as d, makeAcpSubagentRuntimeEvents as f, SessionConfigOption as g, AcpTransportError as h, makeAcpPlanUpdatedEvent as i, makeAcpToolCallEvent as l, parsePermissionRequest as m, makeAcpAssistantItemEvent as n, makeAcpRequestResolvedEvent as o, AcpSessionRuntime as p, makeAcpContentDeltaEvent as r, makeAcpThoughtDeltaEvent as s, makeAcpNativeLoggers as t, acpPermissionOutcome as u };
|