ryco-cli 0.1.6 → 0.1.7

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.
Files changed (152) hide show
  1. package/dist/{AzureDevOpsSourceControlProvider-6holYS_D.cjs → AzureDevOpsSourceControlProvider-5exivY-1.cjs} +2 -2
  2. package/dist/{AzureDevOpsSourceControlProvider-CC2_COxP.mjs → AzureDevOpsSourceControlProvider-CF5LuCHp.mjs} +2 -2
  3. package/dist/{BitbucketSourceControlProvider-a0IsNFyG.cjs → BitbucketSourceControlProvider-1GWENqcl.cjs} +2 -2
  4. package/dist/{BitbucketSourceControlProvider-CYR_BD1d.mjs → BitbucketSourceControlProvider-CKH09tfT.mjs} +2 -2
  5. package/dist/{ClaudeDriver-C6tQNEWO.cjs → ClaudeDriver-BXLdjrht.cjs} +177 -4
  6. package/dist/{ClaudeDriver-D3nsxwH9.mjs → ClaudeDriver-WwWFTu61.mjs} +178 -5
  7. package/dist/{CodexDriver-BILrJG8o.mjs → CodexDriver-93-TmCrO.mjs} +6 -5
  8. package/dist/{CodexDriver-ms_YgFD7.cjs → CodexDriver-BboMT9uk.cjs} +5 -4
  9. package/dist/{CodexTextGeneration-CHEgoANm.cjs → CodexTextGeneration-0pRbJji3.cjs} +2 -2
  10. package/dist/{CodexTextGeneration-BIKHl7E3.mjs → CodexTextGeneration-BU9Myn87.mjs} +3 -3
  11. package/dist/{CopilotDriver-CmD3Ffyl.mjs → CopilotDriver-BASi8pJ0.mjs} +4 -4
  12. package/dist/{CopilotDriver-B0--ZwIK.cjs → CopilotDriver-DCsv-17W.cjs} +3 -3
  13. package/dist/{CursorDriver-DTVPXZ-R.cjs → CursorDriver-BTSiM3A8.cjs} +161 -14
  14. package/dist/{CursorDriver-CbeaIbdb.mjs → CursorDriver-D5LvIqUk.mjs} +162 -15
  15. package/dist/{ForgejoSourceControlProvider-DwAog76b.cjs → ForgejoSourceControlProvider-BTXRDCGB.cjs} +2 -2
  16. package/dist/{ForgejoSourceControlProvider-DX6d9gvz.mjs → ForgejoSourceControlProvider-e-4hvvZ_.mjs} +2 -2
  17. package/dist/{GitHubSourceControlProvider-C-LGwho3.mjs → GitHubSourceControlProvider-26IofDAO.mjs} +2 -2
  18. package/dist/{GitHubSourceControlProvider-9lJFzjsu.cjs → GitHubSourceControlProvider-DWmwkA_y.cjs} +2 -2
  19. package/dist/{GitLabSourceControlProvider-CvKA74lg.cjs → GitLabSourceControlProvider-D-YHnxRe.cjs} +2 -2
  20. package/dist/{GitLabSourceControlProvider-CkeT2aEx.mjs → GitLabSourceControlProvider-DePct78W.mjs} +2 -2
  21. package/dist/{OpenCodeDriver-ClWtCk0j.mjs → OpenCodeDriver-BhvLOmvn.mjs} +325 -38
  22. package/dist/{OpenCodeDriver-CXUsnl5o.cjs → OpenCodeDriver-CVeZ4n9-.cjs} +324 -37
  23. package/dist/{SourceControlProviderDiscoveryCatalog-_rg0mc1o.cjs → SourceControlProviderDiscoveryCatalog-DeFR5xH3.cjs} +1 -64
  24. package/dist/{SourceControlProviderDiscoveryCatalog-yMDer_Yh.mjs → SourceControlProviderDiscoveryCatalog-mJV_Xitr.mjs} +3 -48
  25. package/dist/bin.cjs +1280 -519
  26. package/dist/bin.mjs +1234 -474
  27. package/dist/client/assets/{AnimatedHeight-DgItDSis.js → AnimatedHeight-BSU0lzYs.js} +1 -1
  28. package/dist/client/assets/AppearanceSettings-D7q0ujGK.js +1 -0
  29. package/dist/client/assets/{BranchToolbar.logic-C_xHEt9C.js → BranchToolbar.logic-CZIFSvhd.js} +1 -1
  30. package/dist/client/assets/ChatRightPanel-CWHOIuiQ.js +188 -0
  31. package/dist/client/assets/{ChatThreadRouteView-CV6ETYG5.js → ChatThreadRouteView-bA7xWXzc.js} +1 -1
  32. package/dist/client/assets/{CommandPaletteDialog-C_H7R8S5.js → CommandPaletteDialog-DNYaVOZO.js} +1 -1
  33. package/dist/client/assets/CompositeRoot-B_KEfCUE.js +1 -0
  34. package/dist/client/assets/ConnectionsSettings-CLZPbx_K.js +1 -0
  35. package/dist/client/assets/{DiagnosticsSettings-B340S_mq.js → DiagnosticsSettings-DtzPCb6N.js} +1 -1
  36. package/dist/client/assets/{DialogHandle-BJY7cHCV.js → DialogHandle-DuHnmWoE.js} +1 -1
  37. package/dist/client/assets/{DialogRoot-Ej1FVk-_.js → DialogRoot-BV25qAcA.js} +1 -1
  38. package/dist/client/assets/DialogTitle-DQsi-RTa.js +1 -0
  39. package/dist/client/assets/DialogTrigger-D0fA01C6.js +1 -0
  40. package/dist/client/assets/{DialogViewport-DvjAl76K.js → DialogViewport-CMV_BePU.js} +1 -1
  41. package/dist/client/assets/{DraftChatThreadRouteView-pOkyeKPS.js → DraftChatThreadRouteView-BoiKnrii.js} +1 -1
  42. package/dist/client/assets/{JetBrainsIcons-DTTF47I0.js → JetBrainsIcons-BcPxJlMf.js} +1 -1
  43. package/dist/client/assets/{KeybindingsSettings-CW3RRi-7.js → KeybindingsSettings-LuI98pdF.js} +1 -1
  44. package/dist/client/assets/McpServersSettings-BFMuWYVV.js +6 -0
  45. package/dist/client/assets/{NoActiveThreadState-DVHwrkCp.js → NoActiveThreadState-C2q_O1kP.js} +1 -1
  46. package/dist/client/assets/{OpinionatedPluginsSettings-Cjj23Fs4.js → OpinionatedPluginsSettings-Bqwct37O.js} +1 -1
  47. package/dist/client/assets/{ProjectFavicon-TDP7HRfn.js → ProjectFavicon-D2imiJ8M.js} +1 -1
  48. package/dist/client/assets/{ProviderUpdateLaunchNotification.logic-6TpFsmiI.js → ProviderUpdateLaunchNotification.logic-CJgA--nK.js} +1 -1
  49. package/dist/client/assets/ProvidersSettingsPanel-B97vbeu6.js +1 -0
  50. package/dist/client/assets/{RedactedSensitiveText-BfoVjPsE.js → RedactedSensitiveText-B2GFTyfq.js} +1 -1
  51. package/dist/client/assets/RootAppShell-C1xTR98P.js +12 -0
  52. package/dist/client/assets/SettingsDialog-Q0Q8O5oH.js +2 -0
  53. package/dist/client/assets/SourceControlSettings-KAvoPTNi.js +1 -0
  54. package/dist/client/assets/StatisticsPanel-BzsQ444K.js +64 -0
  55. package/dist/client/assets/{ThreadStatusIndicators-B0leIJGD.js → ThreadStatusIndicators-Cw_jLVQf.js} +1 -1
  56. package/dist/client/assets/{ThreadTerminalDrawer-COq2Fk17.js → ThreadTerminalDrawer-D1WnSemH.js} +17 -17
  57. package/dist/client/assets/ThreadWorkspacePanel-L4qCPTOA.js +166 -0
  58. package/dist/client/assets/{alert-dialog-lMfKpG2t.js → alert-dialog-CNmKa0BK.js} +1 -1
  59. package/dist/client/assets/chart-column-BWSKYZ_a.js +1 -0
  60. package/dist/client/assets/{chatThreadActions-PPyTj_x0.js → chatThreadActions-TtDsiwDC.js} +1 -1
  61. package/dist/client/assets/chevron-up-zopJ_99l.js +1 -0
  62. package/dist/client/assets/{clamp-JiD4IZ0Z.js → clamp-Ds6WJu8j.js} +1 -1
  63. package/dist/client/assets/{clipboard-copy-CYBLSG2q.js → clipboard-copy-BoJGpdmJ.js} +1 -1
  64. package/dist/client/assets/clock-CzUHThzk.js +1 -0
  65. package/dist/client/assets/{commandPaletteStore-uVfCD7zE.js → commandPaletteStore-KebG835b.js} +1 -1
  66. package/dist/client/assets/composerDraftStore-DpPEQ6BN.js +21 -0
  67. package/dist/client/assets/{desktopUpdateAtoms-X6uM5SoD.js → desktopUpdateAtoms-BQ0GGEfM.js} +1 -1
  68. package/dist/client/assets/{download-DLBlpp4h.js → download-CUiRE0N9.js} +1 -1
  69. package/dist/client/assets/{draft-input-dLlVMl5P.js → draft-input-CwpGDtoT.js} +1 -1
  70. package/dist/client/assets/editorPreferences-jN7DKbyt.js +1 -0
  71. package/dist/client/assets/{empty-DlLY-Hhj.js → empty-CBuXePtg.js} +1 -1
  72. package/dist/client/assets/{group-zDBPF7rR.js → group-BpZvxjG5.js} +1 -1
  73. package/dist/client/assets/{index-Dq8sT2lF.js → index-BKzXTNJ_.js} +2 -2
  74. package/dist/client/assets/{input-B9-RWT56.js → input-CgDawd6k.js} +1 -1
  75. package/dist/client/assets/kbd-QYSL97CK.js +1 -0
  76. package/dist/client/assets/{keybindings-Dx4Nc1vY.js → keybindings-CUTRYI_A.js} +1 -1
  77. package/dist/client/assets/{keyboard-DDTWQkr0.js → keyboard-DFFiI7JY.js} +1 -1
  78. package/dist/client/assets/{keyedQuery-Ds4OGhX2.js → keyedQuery-DiOCbGH0.js} +0 -0
  79. package/dist/client/assets/{main-DxfpmoKJ.js → main-BgFGju3e.js} +3 -3
  80. package/dist/client/assets/main-D0UFdwts.css +2 -0
  81. package/dist/client/assets/{palette-BQcz-ZYV.js → palette-BXCL909c.js} +1 -1
  82. package/dist/client/assets/{play-QloDGe4R.js → play-DI2LZohg.js} +1 -1
  83. package/dist/client/assets/plus-DzgIfHUF.js +1 -0
  84. package/dist/client/assets/projectAtoms-DXXpuERK.js +1 -0
  85. package/dist/client/assets/providerDriverMeta-CRNNp0q3.js +1 -0
  86. package/dist/client/assets/providerIconUtils-D-DFhem2.js +47 -0
  87. package/dist/client/assets/radio-group-_PPYg3YY.js +1 -0
  88. package/dist/client/assets/{refresh-cw-DkBMGllm.js → refresh-cw-BsQTNBXl.js} +1 -1
  89. package/dist/client/assets/{resolveAriaLabelledBy-DDfIbj05.js → resolveAriaLabelledBy-CRHo_s16.js} +1 -1
  90. package/dist/client/assets/{rightPanelRouteSearch-DfuWVvXN.js → rightPanelRouteSearch-CfmZ7osj.js} +1 -1
  91. package/dist/client/assets/{scale-BActunFu.js → scale-DDEJ-tvn.js} +1 -1
  92. package/dist/client/assets/{scroll-area-D-YOUG02.js → scroll-area-HgsI-ErG.js} +1 -1
  93. package/dist/client/assets/{separator-TInKeIDo.js → separator-ClnL4mUB.js} +1 -1
  94. package/dist/client/assets/{server-BtEG3NAw.js → server-Bbs3L-6_.js} +1 -1
  95. package/dist/client/assets/{session-logic-DNf1aXq_.js → session-logic-CKQkgIwo.js} +1 -1
  96. package/dist/client/assets/settingsDialogStore-SG-W1q0A.js +1 -0
  97. package/dist/client/assets/{settingsLayout-D22Mm0u3.js → settingsLayout-G5xVm-ZT.js} +1 -1
  98. package/dist/client/assets/sidebar-_u7SGgmC.js +1 -0
  99. package/dist/client/assets/sidebarStatusText-BTYnwflG.js +1 -0
  100. package/dist/client/assets/{skeleton-DWaac_qp.js → skeleton-CmUvhZGP.js} +1 -1
  101. package/dist/client/assets/{storeSelectors-Cx1IYPA4.js → storeSelectors-DhJRpdiw.js} +1 -1
  102. package/dist/client/assets/threadSelectionStore-ygmA4DNA.js +1 -0
  103. package/dist/client/assets/toast-DmA_ziPT.js +1 -0
  104. package/dist/client/assets/toggle-DGS7tKuj.js +1 -0
  105. package/dist/client/assets/{toggle-group-CnLjaHSL.js → toggle-group-Dtv1ZUFW.js} +1 -1
  106. package/dist/client/assets/{tokenModePresentation-BSYdIvBm.js → tokenModePresentation-Dor1DnBx.js} +1 -1
  107. package/dist/client/assets/{trash-2-BI5xcbsm.js → trash-2-C2G3VGoV.js} +1 -1
  108. package/dist/client/assets/{triangle-alert-DJef_Uvh.js → triangle-alert-Bpz3xGu5.js} +1 -1
  109. package/dist/client/assets/{undo-2-DeZ2cMGS.js → undo-2-C3rtxuqZ.js} +1 -1
  110. package/dist/client/assets/{useHandleNewThread-XB82O6SA.js → useHandleNewThread-ypSbzG0P.js} +1 -1
  111. package/dist/client/assets/useLabelableId-Bc7KEnHU.js +1 -0
  112. package/dist/client/assets/{useNavigate-B2tgshhW.js → useNavigate-_4hWGSey.js} +1 -1
  113. package/dist/client/assets/useTheme-HcKmBfpF.js +1 -0
  114. package/dist/client/assets/{vscode-icons-DM9qFoEr.js → vscode-icons-DdSTtxYd.js} +1 -1
  115. package/dist/client/assets/{wrench-je4QOyG-.js → wrench-C4jdis40.js} +1 -1
  116. package/dist/client/assets/x-CG2WU63t.js +1 -0
  117. package/dist/client/index.html +1 -1
  118. package/dist/{collectUint8StreamText-C2z5Y8tF.mjs → collectUint8StreamText-Lv4GGI79.mjs} +269 -14
  119. package/dist/{collectUint8StreamText-TCG6xW_P.cjs → collectUint8StreamText-uNXVRHOf.cjs} +291 -12
  120. package/dist/{makeManagedServerProvider-DPFw9gV_.cjs → makeManagedServerProvider-3SD-Q5xh.cjs} +1 -1
  121. package/dist/{makeManagedServerProvider-BXO8QvzC.mjs → makeManagedServerProvider-CkPEptun.mjs} +1 -1
  122. package/package.json +1 -1
  123. package/dist/client/assets/AppearanceSettings-BlsMFBvJ.js +0 -1
  124. package/dist/client/assets/ChatRightPanel-CThudBb1.js +0 -188
  125. package/dist/client/assets/CompositeRoot-DjnzUIwC.js +0 -1
  126. package/dist/client/assets/ConnectionsSettings-hArR4Oe3.js +0 -1
  127. package/dist/client/assets/DialogTitle-H1yIMmA9.js +0 -1
  128. package/dist/client/assets/DialogTrigger-BHMq_K2G.js +0 -1
  129. package/dist/client/assets/McpServersSettings-dQ3BzOWY.js +0 -6
  130. package/dist/client/assets/ProvidersSettingsPanel-D15EeWAq.js +0 -1
  131. package/dist/client/assets/RootAppShell-CWBPSA2w.js +0 -12
  132. package/dist/client/assets/SettingsDialog-oJCE5foT.js +0 -2
  133. package/dist/client/assets/SourceControlSettings-CPnlMxNm.js +0 -1
  134. package/dist/client/assets/ThreadWorkspacePanel-qF9y6QT9.js +0 -166
  135. package/dist/client/assets/composerDraftStore-D12lUSfh.js +0 -21
  136. package/dist/client/assets/editorPreferences-BLeEBSD_.js +0 -1
  137. package/dist/client/assets/folder-open-DMjz0lpx.js +0 -1
  138. package/dist/client/assets/kbd-aeSsjiPI.js +0 -1
  139. package/dist/client/assets/main-C57RhHZ_.css +0 -2
  140. package/dist/client/assets/plus-4Oy56d-3.js +0 -1
  141. package/dist/client/assets/projectAtoms-DUEBb7Zz.js +0 -1
  142. package/dist/client/assets/providerDriverMeta-Dwi6Zqgd.js +0 -1
  143. package/dist/client/assets/providerIconUtils-uhWb4bdg.js +0 -47
  144. package/dist/client/assets/radio-group-DHyQlLeX.js +0 -1
  145. package/dist/client/assets/settingsDialogStore-BINi7pdD.js +0 -1
  146. package/dist/client/assets/sidebar-DHwNQmWp.js +0 -1
  147. package/dist/client/assets/threadSelectionStore-C0ig4405.js +0 -1
  148. package/dist/client/assets/toast-DE7a4wkW.js +0 -1
  149. package/dist/client/assets/toggle-BIW4AyPY.js +0 -1
  150. package/dist/client/assets/useLabelableId-DBAgv9qQ.js +0 -1
  151. package/dist/client/assets/useTheme-Dv42Z8uy.js +0 -1
  152. package/dist/client/assets/x-fI9snvD3.js +0 -1
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { $n as ApprovalRequestId, I as CursorSettings, In as ProviderDriverKind, Ln as ProviderInstanceId, mr as RuntimeRequestId, or as EventId, pr as RuntimeItemId, v as TextGenerationError, vr as TurnId } from "./collectUint8StreamText-C2z5Y8tF.mjs";
3
+ import { Bn as ProviderInstanceId, Sr as TurnId, _r as RuntimeRequestId, gr as RuntimeItemId, hr as ProviderItemId, lr as EventId, nr as ApprovalRequestId, vr as RuntimeSubagentId, x as TextGenerationError, z as CursorSettings, zn as ProviderDriverKind } from "./collectUint8StreamText-Lv4GGI79.mjs";
4
4
  import { U as sanitizeBranchFragment, W as sanitizeFeatureBranchName, Y as ServerConfig } from "./Metrics-6Xj17Se3.mjs";
5
- import { $t as makeProviderMaintenanceCapabilities, D as collectStreamAsString, E as buildServerProvider, F as ProviderAdapterRequestError, I as ProviderAdapterSessionClosedError, L as ProviderAdapterSessionNotFoundError, M as providerModelsFromSettings, P as ProviderAdapterProcessError, R as ProviderAdapterValidationError, T as buildSelectOptionDescriptor, Xt as enrichProviderSnapshotWithVersionAdvisory, en as makeStaticProviderMaintenanceResolver, g as makeEventNdjsonLogger, h as ProviderEventLoggers, in as resolveAttachmentPath, k as isCommandMissingCause, nn as resolveProviderMaintenanceCapabilitiesEffect, pn as getProviderOptionStringSelectionValue, sn as createModelCapabilities, un as getProviderOptionBooleanSelectionValue, w as buildBooleanOptionDescriptor, y as mergeProviderInstanceEnvironment, z as ProviderDriverError } from "./bin.mjs";
6
- import { a as buildIssueContentTitlePrompt, c as extractJsonObject, d as sanitizePrTitle, f as sanitizeThreadTitle, i as buildIssueContentPolishPrompt, n as buildBranchNamePrompt, o as buildPrContentPrompt, r as buildCommitMessagePrompt, s as buildThreadTitlePrompt, t as makeManagedServerProvider, u as sanitizeCommitSubject } from "./makeManagedServerProvider-BXO8QvzC.mjs";
5
+ import { $t as makeProviderMaintenanceCapabilities, D as collectStreamAsString, E as buildServerProvider, F as ProviderAdapterRequestError, I as ProviderAdapterSessionClosedError, L as ProviderAdapterSessionNotFoundError, M as providerModelsFromSettings, P as ProviderAdapterProcessError, R as ProviderAdapterValidationError, T as buildSelectOptionDescriptor, Xt as enrichProviderSnapshotWithVersionAdvisory, an as resolveAttachmentPath, cn as createModelCapabilities, dn as getProviderOptionBooleanSelectionValue, en as makeStaticProviderMaintenanceResolver, g as makeEventNdjsonLogger, h as ProviderEventLoggers, in as ServerSettingsService, k as isCommandMissingCause, mn as getProviderOptionStringSelectionValue, nn as resolveProviderMaintenanceCapabilitiesEffect, w as buildBooleanOptionDescriptor, y as mergeProviderInstanceEnvironment, z as ProviderDriverError } from "./bin.mjs";
6
+ import { a as buildIssueContentTitlePrompt, c as extractJsonObject, d as sanitizePrTitle, f as sanitizeThreadTitle, i as buildIssueContentPolishPrompt, n as buildBranchNamePrompt, o as buildPrContentPrompt, r as buildCommitMessagePrompt, s as buildThreadTitlePrompt, t as makeManagedServerProvider, u as sanitizeCommitSubject } from "./makeManagedServerProvider-CkPEptun.mjs";
7
7
  import { t as defaultProviderContinuationIdentity } from "./ProviderDriver-kCV60GKk.mjs";
8
8
  import * as Effect$1 from "effect/Effect";
9
9
  import * as Layer$1 from "effect/Layer";
@@ -3918,8 +3918,22 @@ function extractTextContentFromToolCallContent(content) {
3918
3918
  function normalizeToolKind(kind) {
3919
3919
  return typeof kind === "string" && kind.trim().length > 0 ? kind.trim() : void 0;
3920
3920
  }
3921
- function canonicalItemTypeFromAcpToolKind$1(kind) {
3922
- switch (kind) {
3921
+ function containsSubagentKeyword(value) {
3922
+ return value !== void 0 && /\b(sub[-\s]?agent|subtask|delegate|delegation)\b/i.test(value);
3923
+ }
3924
+ function hasExplicitSubagentType(data) {
3925
+ const subagentType = (isRecord$1(data?.rawInput) ? data.rawInput : void 0)?.subagent_type;
3926
+ return typeof subagentType === "string" && subagentType.trim().length > 0;
3927
+ }
3928
+ function isAcpSubagentToolCall(input) {
3929
+ if (containsSubagentKeyword(input.kind) || containsSubagentKeyword(input.title) || containsSubagentKeyword(input.command) || containsSubagentKeyword(input.detail)) return true;
3930
+ if (hasExplicitSubagentType(input.data)) return true;
3931
+ const rawInput = isRecord$1(input.data?.rawInput) ? input.data.rawInput : void 0;
3932
+ return containsSubagentKeyword(typeof rawInput?.tool === "string" ? rawInput.tool : void 0) || containsSubagentKeyword(typeof rawInput?.name === "string" ? rawInput.name : void 0);
3933
+ }
3934
+ function canonicalItemTypeFromAcpTool(input) {
3935
+ if (isAcpSubagentToolCall(input)) return "collab_agent_tool_call";
3936
+ switch (input.kind) {
3923
3937
  case "execute": return "command_execution";
3924
3938
  case "edit":
3925
3939
  case "delete":
@@ -3929,6 +3943,46 @@ function canonicalItemTypeFromAcpToolKind$1(kind) {
3929
3943
  default: return "dynamic_tool_call";
3930
3944
  }
3931
3945
  }
3946
+ function acpSubagentStatusFromToolStatus(status) {
3947
+ switch (status) {
3948
+ case "pending": return "starting";
3949
+ case "inProgress": return "running";
3950
+ case "completed": return "completed";
3951
+ case "failed": return "failed";
3952
+ default: return;
3953
+ }
3954
+ }
3955
+ function rawInputStringField(data, field) {
3956
+ const rawInput = isRecord$1(data?.rawInput) ? data.rawInput : void 0;
3957
+ if (!rawInput) return;
3958
+ const value = rawInput[field];
3959
+ return typeof value === "string" && value.trim().length > 0 ? value.trim() : void 0;
3960
+ }
3961
+ function makeAcpSubagentSummaryState(input) {
3962
+ if (!isAcpSubagentToolCall(input)) return;
3963
+ const label = input.title ?? rawInputStringField(input.data, "name") ?? "ACP subagent";
3964
+ const detail = input.detail ?? rawInputStringField(input.data, "description") ?? rawInputStringField(input.data, "prompt") ?? input.command;
3965
+ const metadata = Object.fromEntries([
3966
+ ["source", "acp.tool_call"],
3967
+ ["kind", input.kind],
3968
+ ["command", input.command]
3969
+ ].filter(([, value]) => value !== void 0));
3970
+ const status = acpSubagentStatusFromToolStatus(input.status);
3971
+ return {
3972
+ subagent: {
3973
+ subagentId: RuntimeSubagentId.make(input.toolCallId),
3974
+ origin: "inferred",
3975
+ capability: "summary",
3976
+ label,
3977
+ ...detail ? { description: detail } : {},
3978
+ parentProviderItemId: ProviderItemId.make(input.toolCallId),
3979
+ metadata
3980
+ },
3981
+ ...status ? { status } : {},
3982
+ summary: label,
3983
+ ...detail ? { detail } : {}
3984
+ };
3985
+ }
3932
3986
  function makeToolCallState(input, options) {
3933
3987
  const toolCallId = input.toolCallId.trim();
3934
3988
  if (!toolCallId) return;
@@ -3946,13 +4000,28 @@ function makeToolCallState(input, options) {
3946
4000
  if (input.locations !== void 0) data.locations = input.locations;
3947
4001
  const fallbackDetail = command ?? normalizedTitle ?? textContent;
3948
4002
  const presentation = title !== void 0 || kind !== void 0 || command !== void 0 || normalizedTitle !== void 0 || textContent !== void 0 ? deriveToolActivityPresentation({
3949
- itemType: canonicalItemTypeFromAcpToolKind$1(kind),
4003
+ itemType: canonicalItemTypeFromAcpTool({
4004
+ kind,
4005
+ title,
4006
+ command,
4007
+ detail: fallbackDetail,
4008
+ data
4009
+ }),
3950
4010
  title,
3951
4011
  detail: fallbackDetail,
3952
4012
  data,
3953
4013
  fallbackSummary: title ?? "Tool"
3954
4014
  }) : void 0;
3955
4015
  const status = normalizeToolCallStatus(input.status, options?.fallbackStatus);
4016
+ const subagent = makeAcpSubagentSummaryState({
4017
+ toolCallId,
4018
+ ...kind ? { kind } : {},
4019
+ ...presentation?.summary ? { title: presentation.summary } : {},
4020
+ ...status ? { status } : {},
4021
+ ...command ? { command } : {},
4022
+ ...presentation?.detail ? { detail: presentation.detail } : {},
4023
+ data
4024
+ });
3956
4025
  return {
3957
4026
  toolCallId,
3958
4027
  ...kind ? { kind } : {},
@@ -3960,6 +4029,7 @@ function makeToolCallState(input, options) {
3960
4029
  ...status ? { status } : {},
3961
4030
  ...command ? { command } : {},
3962
4031
  ...presentation?.detail ? { detail: presentation.detail } : {},
4032
+ ...subagent ? { subagent } : {},
3963
4033
  data
3964
4034
  };
3965
4035
  }
@@ -3981,6 +4051,19 @@ function mergeToolCallState(previous, next) {
3981
4051
  const status = next.status ?? previous?.status;
3982
4052
  const command = next.command ?? previous?.command;
3983
4053
  const detail = next.detail ?? previous?.detail;
4054
+ const data = {
4055
+ ...previous?.data,
4056
+ ...next.data
4057
+ };
4058
+ const subagent = makeAcpSubagentSummaryState({
4059
+ toolCallId: next.toolCallId,
4060
+ ...kind ? { kind } : {},
4061
+ ...title ? { title } : {},
4062
+ ...status ? { status } : {},
4063
+ ...command ? { command } : {},
4064
+ ...detail ? { detail } : {},
4065
+ data
4066
+ });
3984
4067
  return {
3985
4068
  toolCallId: next.toolCallId,
3986
4069
  ...kind ? { kind } : {},
@@ -3988,10 +4071,8 @@ function mergeToolCallState(previous, next) {
3988
4071
  ...status ? { status } : {},
3989
4072
  ...command ? { command } : {},
3990
4073
  ...detail ? { detail } : {},
3991
- data: {
3992
- ...previous?.data,
3993
- ...next.data
3994
- }
4074
+ ...subagent ? { subagent } : {},
4075
+ data
3995
4076
  };
3996
4077
  }
3997
4078
  function parsePermissionRequest(params) {
@@ -5084,7 +5165,7 @@ const enrichCursorSnapshot = (input) => {
5084
5165
  const { settings, snapshot, publishSnapshot } = input;
5085
5166
  const stampIdentity = input.stampIdentity ?? ((value) => value);
5086
5167
  if (!settings.enabled || snapshot.auth.status === "unauthenticated") return Effect.void;
5087
- return enrichProviderSnapshotWithVersionAdvisory(snapshot, input.maintenanceCapabilities).pipe(Effect.provideService(HttpClient.HttpClient, input.httpClient), Effect.flatMap((enrichedSnapshot) => publishSnapshot(stampIdentity(enrichedSnapshot)).pipe(Effect.asVoid)), Effect.catchCause((cause) => Effect.logWarning("Cursor version advisory enrichment failed", { cause: Cause.pretty(cause) }).pipe(Effect.asVoid)));
5168
+ return enrichProviderSnapshotWithVersionAdvisory(snapshot, input.maintenanceCapabilities).pipe(Effect.provideService(HttpClient.HttpClient, input.httpClient), Effect.provideService(ServerSettingsService, input.serverSettings), Effect.flatMap((enrichedSnapshot) => publishSnapshot(stampIdentity(enrichedSnapshot)).pipe(Effect.asVoid)), Effect.catchCause((cause) => Effect.logWarning("Cursor version advisory enrichment failed", { cause: Cause.pretty(cause) }).pipe(Effect.asVoid)));
5088
5169
  };
5089
5170
  //#endregion
5090
5171
  //#region src/provider/acp/CursorAcpSupport.ts
@@ -5326,8 +5407,9 @@ function canonicalRequestTypeFromAcpKind(kind) {
5326
5407
  default: return "unknown";
5327
5408
  }
5328
5409
  }
5329
- function canonicalItemTypeFromAcpToolKind(kind) {
5330
- switch (kind) {
5410
+ function canonicalItemTypeFromAcpToolCall(toolCall) {
5411
+ if (isAcpSubagentToolCall(toolCall)) return "collab_agent_tool_call";
5412
+ switch (toolCall.kind) {
5331
5413
  case "execute": return "command_execution";
5332
5414
  case "edit":
5333
5415
  case "delete":
@@ -5405,7 +5487,7 @@ function makeAcpToolCallEvent(input) {
5405
5487
  turnId: input.turnId,
5406
5488
  itemId: RuntimeItemId.make(input.toolCall.toolCallId),
5407
5489
  payload: {
5408
- itemType: canonicalItemTypeFromAcpToolKind(input.toolCall.kind),
5490
+ itemType: canonicalItemTypeFromAcpToolCall(input.toolCall),
5409
5491
  ...runtimeStatus ? { status: runtimeStatus } : {},
5410
5492
  ...input.toolCall.title ? { title: input.toolCall.title } : {},
5411
5493
  ...input.toolCall.detail ? { detail: input.toolCall.detail } : {},
@@ -5615,6 +5697,66 @@ function makeCursorAdapter(cursorSettings, options) {
5615
5697
  createdAt: nowIso
5616
5698
  });
5617
5699
  const offerRuntimeEvent = (event) => PubSub.publish(runtimeEventPubSub, event).pipe(Effect.asVoid);
5700
+ const offerAcpSubagentRuntimeEvents = Effect.fn("offerAcpSubagentRuntimeEvents")(function* (ctx, subagentState, rawPayload) {
5701
+ if (!subagentState) return;
5702
+ const subagentId = String(subagentState.subagent.subagentId);
5703
+ if (!ctx.startedSubagentIds.has(subagentId)) {
5704
+ ctx.startedSubagentIds.add(subagentId);
5705
+ yield* offerRuntimeEvent({
5706
+ type: "subagent.started",
5707
+ ...yield* makeEventStamp(),
5708
+ provider: PROVIDER,
5709
+ threadId: ctx.threadId,
5710
+ ...ctx.activeTurnId ? { turnId: ctx.activeTurnId } : {},
5711
+ payload: { subagent: subagentState.subagent },
5712
+ raw: {
5713
+ source: "acp.jsonrpc",
5714
+ method: "session/update",
5715
+ payload: rawPayload
5716
+ }
5717
+ });
5718
+ }
5719
+ if (subagentState.status === "completed" || subagentState.status === "failed" || subagentState.status === "stopped") {
5720
+ if (ctx.completedSubagentIds.has(subagentId)) return;
5721
+ ctx.completedSubagentIds.add(subagentId);
5722
+ yield* offerRuntimeEvent({
5723
+ type: "subagent.completed",
5724
+ ...yield* makeEventStamp(),
5725
+ provider: PROVIDER,
5726
+ threadId: ctx.threadId,
5727
+ ...ctx.activeTurnId ? { turnId: ctx.activeTurnId } : {},
5728
+ payload: {
5729
+ subagent: subagentState.subagent,
5730
+ status: subagentState.status,
5731
+ ...subagentState.summary ? { summary: subagentState.summary } : {}
5732
+ },
5733
+ raw: {
5734
+ source: "acp.jsonrpc",
5735
+ method: "session/update",
5736
+ payload: rawPayload
5737
+ }
5738
+ });
5739
+ return;
5740
+ }
5741
+ yield* offerRuntimeEvent({
5742
+ type: "subagent.updated",
5743
+ ...yield* makeEventStamp(),
5744
+ provider: PROVIDER,
5745
+ threadId: ctx.threadId,
5746
+ ...ctx.activeTurnId ? { turnId: ctx.activeTurnId } : {},
5747
+ payload: {
5748
+ subagent: subagentState.subagent,
5749
+ ...subagentState.status ? { status: subagentState.status } : {},
5750
+ ...subagentState.summary ? { summary: subagentState.summary } : {},
5751
+ ...subagentState.detail ? { detail: subagentState.detail } : {}
5752
+ },
5753
+ raw: {
5754
+ source: "acp.jsonrpc",
5755
+ method: "session/update",
5756
+ payload: rawPayload
5757
+ }
5758
+ });
5759
+ });
5618
5760
  const getThreadSemaphore = (threadId) => SynchronizedRef.modifyEffect(threadLocksRef, (current) => {
5619
5761
  const existing = Option.fromNullishOr(current.get(threadId));
5620
5762
  return Option.match(existing, {
@@ -5863,6 +6005,8 @@ function makeCursorAdapter(cursorSettings, options) {
5863
6005
  pendingApprovals,
5864
6006
  pendingUserInputs,
5865
6007
  turns: [],
6008
+ startedSubagentIds: /* @__PURE__ */ new Set(),
6009
+ completedSubagentIds: /* @__PURE__ */ new Set(),
5866
6010
  lastPlanFingerprint: void 0,
5867
6011
  activeTurnId: void 0,
5868
6012
  stopped: false
@@ -5904,6 +6048,7 @@ function makeCursorAdapter(cursorSettings, options) {
5904
6048
  toolCall: event.toolCall,
5905
6049
  rawPayload: event.rawPayload
5906
6050
  }));
6051
+ yield* offerAcpSubagentRuntimeEvents(ctx, event.toolCall.subagent, event.rawPayload);
5907
6052
  return;
5908
6053
  case "ContentDelta":
5909
6054
  yield* logNative(ctx.threadId, "session/update", event.rawPayload, "acp.jsonrpc");
@@ -6158,6 +6303,7 @@ const CursorDriver = {
6158
6303
  const fileSystem = yield* FileSystem.FileSystem;
6159
6304
  const path = yield* Path.Path;
6160
6305
  const httpClient = yield* HttpClient.HttpClient;
6306
+ const serverSettings = yield* ServerSettingsService;
6161
6307
  const eventLoggers = yield* ProviderEventLoggers;
6162
6308
  const processEnv = mergeProviderInstanceEnvironment(environment);
6163
6309
  const continuationIdentity = defaultProviderContinuationIdentity({
@@ -6205,7 +6351,8 @@ const CursorDriver = {
6205
6351
  maintenanceCapabilities,
6206
6352
  publishSnapshot,
6207
6353
  stampIdentity,
6208
- httpClient
6354
+ httpClient,
6355
+ serverSettings
6209
6356
  }),
6210
6357
  refreshInterval: null
6211
6358
  }).pipe(Effect.mapError((cause) => new ProviderDriverError({
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- const require_collectUint8StreamText = require("./collectUint8StreamText-TCG6xW_P.cjs");
4
- const require_SourceControlProviderDiscoveryCatalog = require("./SourceControlProviderDiscoveryCatalog-_rg0mc1o.cjs");
3
+ const require_collectUint8StreamText = require("./collectUint8StreamText-uNXVRHOf.cjs");
4
+ const require_SourceControlProviderDiscoveryCatalog = require("./SourceControlProviderDiscoveryCatalog-DeFR5xH3.cjs");
5
5
  const require_bin = require("./bin.cjs");
6
6
  let effect = require("effect");
7
7
  //#region src/sourceControl/ForgejoSourceControlProvider.ts
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { Cn as SourceControlProviderError, Tn as truncateSourceControlDetailContent } from "./collectUint8StreamText-C2z5Y8tF.mjs";
4
- import { a as makeForgejoDiscovery, l as sourceControlRefFromInput, o as SourceControlProvider } from "./SourceControlProviderDiscoveryCatalog-yMDer_Yh.mjs";
3
+ import { En as SourceControlProviderError, On as truncateSourceControlDetailContent } from "./collectUint8StreamText-Lv4GGI79.mjs";
4
+ import { a as makeForgejoDiscovery, l as sourceControlRefFromInput, o as SourceControlProvider } from "./SourceControlProviderDiscoveryCatalog-mJV_Xitr.mjs";
5
5
  import { qt as ForgejoApi } from "./bin.mjs";
6
6
  import { DateTime, Effect, Layer, Option } from "effect";
7
7
  //#region src/sourceControl/ForgejoSourceControlProvider.ts
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { Cn as SourceControlProviderError, Sn as SOURCE_CONTROL_WORKFLOW_LOG_MAX_BYTES, Tn as truncateSourceControlDetailContent } from "./collectUint8StreamText-C2z5Y8tF.mjs";
4
- import { n as githubDiscovery, o as SourceControlProvider } from "./SourceControlProviderDiscoveryCatalog-yMDer_Yh.mjs";
3
+ import { En as SourceControlProviderError, On as truncateSourceControlDetailContent, Tn as SOURCE_CONTROL_WORKFLOW_LOG_MAX_BYTES } from "./collectUint8StreamText-Lv4GGI79.mjs";
4
+ import { n as githubDiscovery, o as SourceControlProvider } from "./SourceControlProviderDiscoveryCatalog-mJV_Xitr.mjs";
5
5
  import { i as parseGitHubRepositoryOwnerFromUrl, t as classifySourceControlCommentAuthorRole } from "./sourceControl-iWG-m4wE.mjs";
6
6
  import { Gt as withoutStatusCheckRollupJsonField, Ht as GitHubCli, Kt as decodeGitHubPullRequestListJson, Ut as formatGitHubJsonFields, Vt as GITHUB_PULL_REQUEST_LIST_JSON_FIELDS, Wt as isStatusCheckRollupAccessError } from "./bin.mjs";
7
7
  import { DateTime, Effect, FileSystem, Layer, Option, Result, Schema } from "effect";
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- const require_collectUint8StreamText = require("./collectUint8StreamText-TCG6xW_P.cjs");
4
- const require_SourceControlProviderDiscoveryCatalog = require("./SourceControlProviderDiscoveryCatalog-_rg0mc1o.cjs");
3
+ const require_collectUint8StreamText = require("./collectUint8StreamText-uNXVRHOf.cjs");
4
+ const require_SourceControlProviderDiscoveryCatalog = require("./SourceControlProviderDiscoveryCatalog-DeFR5xH3.cjs");
5
5
  const require_sourceControl = require("./sourceControl-x2t62T8h.cjs");
6
6
  const require_bin = require("./bin.cjs");
7
7
  let effect = require("effect");
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- const require_collectUint8StreamText = require("./collectUint8StreamText-TCG6xW_P.cjs");
4
- const require_SourceControlProviderDiscoveryCatalog = require("./SourceControlProviderDiscoveryCatalog-_rg0mc1o.cjs");
3
+ const require_collectUint8StreamText = require("./collectUint8StreamText-uNXVRHOf.cjs");
4
+ const require_SourceControlProviderDiscoveryCatalog = require("./SourceControlProviderDiscoveryCatalog-DeFR5xH3.cjs");
5
5
  const require_bin = require("./bin.cjs");
6
6
  let effect = require("effect");
7
7
  //#region src/sourceControl/GitLabSourceControlProvider.ts
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { Cn as SourceControlProviderError, Tn as truncateSourceControlDetailContent } from "./collectUint8StreamText-C2z5Y8tF.mjs";
4
- import { l as sourceControlRefFromInput, o as SourceControlProvider, r as gitlabDiscovery } from "./SourceControlProviderDiscoveryCatalog-yMDer_Yh.mjs";
3
+ import { En as SourceControlProviderError, On as truncateSourceControlDetailContent } from "./collectUint8StreamText-Lv4GGI79.mjs";
4
+ import { l as sourceControlRefFromInput, o as SourceControlProvider, r as gitlabDiscovery } from "./SourceControlProviderDiscoveryCatalog-mJV_Xitr.mjs";
5
5
  import { Bt as GitLabCli } from "./bin.mjs";
6
6
  import { DateTime, Effect, Layer, Option } from "effect";
7
7
  //#region src/sourceControl/GitLabSourceControlProvider.ts