@ken-jo/agent-connector 0.4.91 → 0.4.92

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 (192) hide show
  1. package/README.md +301 -560
  2. package/dist/{action-L44DXFHT.js → action-CVIEPX4U.js} +14 -14
  3. package/dist/{amazon-q-B52EY2SV.js → amazon-q-TIT7FIW3.js} +5 -5
  4. package/dist/{amp-UXABVUKC.js → amp-NF3OAAUG.js} +5 -5
  5. package/dist/{antigravity-RZHN53VB.js → antigravity-7LPK7QOY.js} +6 -6
  6. package/dist/{antigravity-cli-JO6GUTV7.js → antigravity-cli-MDEMPPAH.js} +47 -16
  7. package/dist/antigravity-cli-MDEMPPAH.js.map +1 -0
  8. package/dist/{chunk-QKLJU4JX.js → chunk-2Y2MZRLP.js} +56 -2
  9. package/dist/chunk-2Y2MZRLP.js.map +1 -0
  10. package/dist/{chunk-UBB7T54N.js → chunk-3C5AASHM.js} +3 -3
  11. package/dist/{chunk-BLTVZACS.js → chunk-447JWFZO.js} +9 -9
  12. package/dist/{chunk-HORHRHNG.js → chunk-4NHXLXSD.js} +2 -2
  13. package/dist/chunk-5Z36KVU2.js +590 -0
  14. package/dist/chunk-5Z36KVU2.js.map +1 -0
  15. package/dist/{chunk-AY3RGRTT.js → chunk-6TF7MHG5.js} +2 -2
  16. package/dist/{chunk-R6LML2YS.js → chunk-7UT6OB52.js} +2 -2
  17. package/dist/{chunk-G4CEELKO.js → chunk-AY3VFNOH.js} +5 -5
  18. package/dist/{chunk-4HVQ7IUM.js → chunk-DI5S6TXJ.js} +17 -4
  19. package/dist/chunk-DI5S6TXJ.js.map +1 -0
  20. package/dist/{chunk-LAIITCMW.js → chunk-FBCBHEGB.js} +5 -5
  21. package/dist/{chunk-4NSU3KWX.js → chunk-FJCUKXGX.js} +2 -2
  22. package/dist/{chunk-ZMLVR4J7.js → chunk-FO5CEXXN.js} +2 -2
  23. package/dist/{chunk-IXOQDZWC.js → chunk-GZGLCCEE.js} +5 -1
  24. package/dist/chunk-GZGLCCEE.js.map +1 -0
  25. package/dist/{chunk-LF76VPGQ.js → chunk-IBLYVAWH.js} +28 -6
  26. package/dist/chunk-IBLYVAWH.js.map +1 -0
  27. package/dist/{chunk-4FWETID5.js → chunk-IVAWP6HH.js} +2 -2
  28. package/dist/{chunk-NBUEL74R.js → chunk-JFXL4HYA.js} +3 -3
  29. package/dist/{chunk-KIRCPLM4.js → chunk-JO2IM2JL.js} +538 -226
  30. package/dist/chunk-JO2IM2JL.js.map +1 -0
  31. package/dist/{chunk-NWLRJNXM.js → chunk-JVO6NBTT.js} +3 -3
  32. package/dist/{chunk-25CPWJA7.js → chunk-KA55FISM.js} +43 -43
  33. package/dist/{chunk-QARPXSIV.js → chunk-L26PSQTY.js} +4 -4
  34. package/dist/{chunk-YYNXIUR2.js → chunk-M2H7JURF.js} +2 -2
  35. package/dist/{chunk-56R2ER7K.js → chunk-NBYKLUF6.js} +2 -2
  36. package/dist/{chunk-VVFDU4IX.js → chunk-WFEHWTLM.js} +12 -5
  37. package/dist/{chunk-VVFDU4IX.js.map → chunk-WFEHWTLM.js.map} +1 -1
  38. package/dist/{chunk-LN76OGNR.js → chunk-Z2MRSS2I.js} +2 -2
  39. package/dist/{claude-code-WS4NAGZT.js → claude-code-7RS4YVGZ.js} +9 -9
  40. package/dist/cli/sdk.js +7 -7
  41. package/dist/cli.js +1 -1
  42. package/dist/{cline-NNMVCECA.js → cline-BZQAUYPC.js} +5 -5
  43. package/dist/{codebuddy-RBEZGXBG.js → codebuddy-G42IKGKB.js} +5 -5
  44. package/dist/{codebuff-RJIDSEU3.js → codebuff-5RLTLZAU.js} +5 -5
  45. package/dist/{codex-ZZ434GYR.js → codex-XHAMJILX.js} +11 -5
  46. package/dist/{codex-ZZ434GYR.js.map → codex-XHAMJILX.js.map} +1 -1
  47. package/dist/{continue-MNM7YVJY.js → continue-JLIB7R7X.js} +6 -6
  48. package/dist/{copilot-cli-SMTX5F65.js → copilot-cli-XZSUYNQZ.js} +5 -5
  49. package/dist/{crush-NYDBHIJE.js → crush-ESERLVLT.js} +5 -5
  50. package/dist/{cursor-AOELDNZU.js → cursor-FUDOV5VK.js} +6 -6
  51. package/dist/{detect-3S46RUMK.js → detect-Z5BDTY6B.js} +4 -4
  52. package/dist/{devin-PRJY2TTD.js → devin-Y7PWKVHY.js} +5 -5
  53. package/dist/{doctor-3CUBPQKU.js → doctor-GAP27PP2.js} +25 -21
  54. package/dist/doctor-GAP27PP2.js.map +1 -0
  55. package/dist/{droid-PTCH2K7Y.js → droid-DTO5POTK.js} +5 -5
  56. package/dist/{gemini-cli-QGLN2UMS.js → gemini-cli-RBIG6U2F.js} +5 -5
  57. package/dist/{goose-DQ6GSZ5O.js → goose-VGNOP5J2.js} +6 -6
  58. package/dist/{grok-cli-5QD235UB.js → grok-cli-2RFBK6J3.js} +5 -5
  59. package/dist/{hermes-E47IG63A.js → hermes-NUKFWZI5.js} +6 -6
  60. package/dist/{hook-P6EKDINW.js → hook-XPR3AHDI.js} +14 -14
  61. package/dist/index.d.ts +2 -2
  62. package/dist/index.js +5 -5
  63. package/dist/install-O32TDIZP.js +382 -0
  64. package/dist/install-O32TDIZP.js.map +1 -0
  65. package/dist/{introspect-DYOIX8Ov.d.ts → introspect-BkId4LGP.d.ts} +1 -1
  66. package/dist/{jetbrains-copilot-T2EPKROP.js → jetbrains-copilot-FXZ5AOTS.js} +23 -7
  67. package/dist/jetbrains-copilot-FXZ5AOTS.js.map +1 -0
  68. package/dist/{junie-SQ4SDLGK.js → junie-TSXIZSCE.js} +5 -5
  69. package/dist/{kilo-OU2ZLZKB.js → kilo-JLH3KVZJ.js} +5 -5
  70. package/dist/{kilo-cli-NMWGYF4F.js → kilo-cli-5W36VJQZ.js} +5 -5
  71. package/dist/{kimi-Z7L2LEEI.js → kimi-R62W7HKZ.js} +5 -5
  72. package/dist/{kiro-4IN5IH46.js → kiro-AUJMGIBL.js} +5 -5
  73. package/dist/{leaderboard-LF5SP6X2.js → leaderboard-YWMOSJBC.js} +5 -5
  74. package/dist/{mimo-code-G2CBZ4M6.js → mimo-code-PGLFFVER.js} +5 -5
  75. package/dist/{mistral-vibe-TRQDHAWV.js → mistral-vibe-36CZVQNQ.js} +5 -5
  76. package/dist/{mux-JNM3F2NW.js → mux-HWL4N5KH.js} +5 -5
  77. package/dist/{nemoclaw-SHA4IUML.js → nemoclaw-QPHETUXM.js} +6 -6
  78. package/dist/{omp-OOVUNXME.js → omp-3TFMTJ5U.js} +5 -5
  79. package/dist/{open-interpreter-4PKL56AA.js → open-interpreter-UTBKE2EH.js} +5 -5
  80. package/dist/openclaw-RYFO5TLY.js +17 -0
  81. package/dist/{opencode-W2RK4M7G.js → opencode-JX7GBE5Q.js} +5 -5
  82. package/dist/{openhands-5LNH3BKB.js → openhands-AZW4PXJ3.js} +5 -5
  83. package/dist/{package-2EAIYSJ4.js → package-2KKUGZFS.js} +12 -12
  84. package/dist/{pi-BUADR5MJ.js → pi-MRI3EBWU.js} +5 -5
  85. package/dist/{qwen-code-TUJNHKNI.js → qwen-code-ISR6BEET.js} +6 -6
  86. package/dist/{roo-code-L5F7S6QH.js → roo-code-6TSCME4R.js} +5 -5
  87. package/dist/runtime/index.d.ts +1 -1
  88. package/dist/runtime/index.js +12 -12
  89. package/dist/sdk/index.d.ts +3 -3
  90. package/dist/sdk/index.js +6 -6
  91. package/dist/sdk/test.d.ts +2 -2
  92. package/dist/sdk/test.js +10 -10
  93. package/dist/{serve-K62FW3V7.js → serve-EPRN7F2X.js} +14 -14
  94. package/dist/{status-E5MCFZM6.js → status-B2PG6YKR.js} +10 -10
  95. package/dist/{statusline-LIPF2KVP.js → statusline-5ERFMYSM.js} +13 -13
  96. package/dist/{telemetry-4OC56NTM.js → telemetry-ZMCAWBWB.js} +10 -10
  97. package/dist/{trae-Z7CQ2A2Q.js → trae-7KDCYIMN.js} +5 -5
  98. package/dist/{types-C4qMgbJn.d.ts → types-D0RqWxT8.d.ts} +43 -0
  99. package/dist/{uninstall-2YYKN5DX.js → uninstall-M76BHLTH.js} +35 -25
  100. package/dist/uninstall-M76BHLTH.js.map +1 -0
  101. package/dist/{upgrade-55AFPJEF.js → upgrade-JLSCNAQA.js} +23 -17
  102. package/dist/upgrade-JLSCNAQA.js.map +1 -0
  103. package/dist/{usage-3PB3WZSL.js → usage-5I72HWCR.js} +2 -2
  104. package/dist/{usage-event-KD5FW6W4.js → usage-event-HIX4ZI45.js} +13 -13
  105. package/dist/{vscode-copilot-LU5NC4ZS.js → vscode-copilot-LILHAPJI.js} +20 -5
  106. package/dist/vscode-copilot-LILHAPJI.js.map +1 -0
  107. package/dist/{warp-4PPG5LOM.js → warp-KJUCWEA3.js} +5 -5
  108. package/dist/{windsurf-3T3RVXKM.js → windsurf-5TGGQR5I.js} +5 -5
  109. package/dist/{zed-ZF2OQ75O.js → zed-EL3JCZ25.js} +5 -5
  110. package/package.json +1 -1
  111. package/dist/antigravity-cli-JO6GUTV7.js.map +0 -1
  112. package/dist/chunk-4HVQ7IUM.js.map +0 -1
  113. package/dist/chunk-7HUUINPB.js +0 -201
  114. package/dist/chunk-7HUUINPB.js.map +0 -1
  115. package/dist/chunk-IXOQDZWC.js.map +0 -1
  116. package/dist/chunk-KIRCPLM4.js.map +0 -1
  117. package/dist/chunk-LF76VPGQ.js.map +0 -1
  118. package/dist/chunk-QKLJU4JX.js.map +0 -1
  119. package/dist/doctor-3CUBPQKU.js.map +0 -1
  120. package/dist/install-7DMK53SB.js +0 -96
  121. package/dist/install-7DMK53SB.js.map +0 -1
  122. package/dist/jetbrains-copilot-T2EPKROP.js.map +0 -1
  123. package/dist/openclaw-BD56E5MV.js +0 -17
  124. package/dist/uninstall-2YYKN5DX.js.map +0 -1
  125. package/dist/upgrade-55AFPJEF.js.map +0 -1
  126. package/dist/vscode-copilot-LU5NC4ZS.js.map +0 -1
  127. /package/dist/{action-L44DXFHT.js.map → action-CVIEPX4U.js.map} +0 -0
  128. /package/dist/{amazon-q-B52EY2SV.js.map → amazon-q-TIT7FIW3.js.map} +0 -0
  129. /package/dist/{amp-UXABVUKC.js.map → amp-NF3OAAUG.js.map} +0 -0
  130. /package/dist/{antigravity-RZHN53VB.js.map → antigravity-7LPK7QOY.js.map} +0 -0
  131. /package/dist/{chunk-UBB7T54N.js.map → chunk-3C5AASHM.js.map} +0 -0
  132. /package/dist/{chunk-BLTVZACS.js.map → chunk-447JWFZO.js.map} +0 -0
  133. /package/dist/{chunk-HORHRHNG.js.map → chunk-4NHXLXSD.js.map} +0 -0
  134. /package/dist/{chunk-AY3RGRTT.js.map → chunk-6TF7MHG5.js.map} +0 -0
  135. /package/dist/{chunk-R6LML2YS.js.map → chunk-7UT6OB52.js.map} +0 -0
  136. /package/dist/{chunk-G4CEELKO.js.map → chunk-AY3VFNOH.js.map} +0 -0
  137. /package/dist/{chunk-LAIITCMW.js.map → chunk-FBCBHEGB.js.map} +0 -0
  138. /package/dist/{chunk-4NSU3KWX.js.map → chunk-FJCUKXGX.js.map} +0 -0
  139. /package/dist/{chunk-ZMLVR4J7.js.map → chunk-FO5CEXXN.js.map} +0 -0
  140. /package/dist/{chunk-4FWETID5.js.map → chunk-IVAWP6HH.js.map} +0 -0
  141. /package/dist/{chunk-NBUEL74R.js.map → chunk-JFXL4HYA.js.map} +0 -0
  142. /package/dist/{chunk-NWLRJNXM.js.map → chunk-JVO6NBTT.js.map} +0 -0
  143. /package/dist/{chunk-25CPWJA7.js.map → chunk-KA55FISM.js.map} +0 -0
  144. /package/dist/{chunk-QARPXSIV.js.map → chunk-L26PSQTY.js.map} +0 -0
  145. /package/dist/{chunk-YYNXIUR2.js.map → chunk-M2H7JURF.js.map} +0 -0
  146. /package/dist/{chunk-56R2ER7K.js.map → chunk-NBYKLUF6.js.map} +0 -0
  147. /package/dist/{chunk-LN76OGNR.js.map → chunk-Z2MRSS2I.js.map} +0 -0
  148. /package/dist/{claude-code-WS4NAGZT.js.map → claude-code-7RS4YVGZ.js.map} +0 -0
  149. /package/dist/{cline-NNMVCECA.js.map → cline-BZQAUYPC.js.map} +0 -0
  150. /package/dist/{codebuddy-RBEZGXBG.js.map → codebuddy-G42IKGKB.js.map} +0 -0
  151. /package/dist/{codebuff-RJIDSEU3.js.map → codebuff-5RLTLZAU.js.map} +0 -0
  152. /package/dist/{continue-MNM7YVJY.js.map → continue-JLIB7R7X.js.map} +0 -0
  153. /package/dist/{copilot-cli-SMTX5F65.js.map → copilot-cli-XZSUYNQZ.js.map} +0 -0
  154. /package/dist/{crush-NYDBHIJE.js.map → crush-ESERLVLT.js.map} +0 -0
  155. /package/dist/{cursor-AOELDNZU.js.map → cursor-FUDOV5VK.js.map} +0 -0
  156. /package/dist/{detect-3S46RUMK.js.map → detect-Z5BDTY6B.js.map} +0 -0
  157. /package/dist/{devin-PRJY2TTD.js.map → devin-Y7PWKVHY.js.map} +0 -0
  158. /package/dist/{droid-PTCH2K7Y.js.map → droid-DTO5POTK.js.map} +0 -0
  159. /package/dist/{gemini-cli-QGLN2UMS.js.map → gemini-cli-RBIG6U2F.js.map} +0 -0
  160. /package/dist/{goose-DQ6GSZ5O.js.map → goose-VGNOP5J2.js.map} +0 -0
  161. /package/dist/{grok-cli-5QD235UB.js.map → grok-cli-2RFBK6J3.js.map} +0 -0
  162. /package/dist/{hermes-E47IG63A.js.map → hermes-NUKFWZI5.js.map} +0 -0
  163. /package/dist/{hook-P6EKDINW.js.map → hook-XPR3AHDI.js.map} +0 -0
  164. /package/dist/{junie-SQ4SDLGK.js.map → junie-TSXIZSCE.js.map} +0 -0
  165. /package/dist/{kilo-OU2ZLZKB.js.map → kilo-JLH3KVZJ.js.map} +0 -0
  166. /package/dist/{kilo-cli-NMWGYF4F.js.map → kilo-cli-5W36VJQZ.js.map} +0 -0
  167. /package/dist/{kimi-Z7L2LEEI.js.map → kimi-R62W7HKZ.js.map} +0 -0
  168. /package/dist/{kiro-4IN5IH46.js.map → kiro-AUJMGIBL.js.map} +0 -0
  169. /package/dist/{leaderboard-LF5SP6X2.js.map → leaderboard-YWMOSJBC.js.map} +0 -0
  170. /package/dist/{mimo-code-G2CBZ4M6.js.map → mimo-code-PGLFFVER.js.map} +0 -0
  171. /package/dist/{mistral-vibe-TRQDHAWV.js.map → mistral-vibe-36CZVQNQ.js.map} +0 -0
  172. /package/dist/{mux-JNM3F2NW.js.map → mux-HWL4N5KH.js.map} +0 -0
  173. /package/dist/{nemoclaw-SHA4IUML.js.map → nemoclaw-QPHETUXM.js.map} +0 -0
  174. /package/dist/{omp-OOVUNXME.js.map → omp-3TFMTJ5U.js.map} +0 -0
  175. /package/dist/{open-interpreter-4PKL56AA.js.map → open-interpreter-UTBKE2EH.js.map} +0 -0
  176. /package/dist/{openclaw-BD56E5MV.js.map → openclaw-RYFO5TLY.js.map} +0 -0
  177. /package/dist/{opencode-W2RK4M7G.js.map → opencode-JX7GBE5Q.js.map} +0 -0
  178. /package/dist/{openhands-5LNH3BKB.js.map → openhands-AZW4PXJ3.js.map} +0 -0
  179. /package/dist/{package-2EAIYSJ4.js.map → package-2KKUGZFS.js.map} +0 -0
  180. /package/dist/{pi-BUADR5MJ.js.map → pi-MRI3EBWU.js.map} +0 -0
  181. /package/dist/{qwen-code-TUJNHKNI.js.map → qwen-code-ISR6BEET.js.map} +0 -0
  182. /package/dist/{roo-code-L5F7S6QH.js.map → roo-code-6TSCME4R.js.map} +0 -0
  183. /package/dist/{serve-K62FW3V7.js.map → serve-EPRN7F2X.js.map} +0 -0
  184. /package/dist/{status-E5MCFZM6.js.map → status-B2PG6YKR.js.map} +0 -0
  185. /package/dist/{statusline-LIPF2KVP.js.map → statusline-5ERFMYSM.js.map} +0 -0
  186. /package/dist/{telemetry-4OC56NTM.js.map → telemetry-ZMCAWBWB.js.map} +0 -0
  187. /package/dist/{trae-Z7CQ2A2Q.js.map → trae-7KDCYIMN.js.map} +0 -0
  188. /package/dist/{usage-3PB3WZSL.js.map → usage-5I72HWCR.js.map} +0 -0
  189. /package/dist/{usage-event-KD5FW6W4.js.map → usage-event-HIX4ZI45.js.map} +0 -0
  190. /package/dist/{warp-4PPG5LOM.js.map → warp-KJUCWEA3.js.map} +0 -0
  191. /package/dist/{windsurf-3T3RVXKM.js.map → windsurf-5TGGQR5I.js.map} +0 -0
  192. /package/dist/{zed-ZF2OQ75O.js.map → zed-EL3JCZ25.js.map} +0 -0
@@ -4,24 +4,24 @@ import {
4
4
  runServe,
5
5
  runStatusline,
6
6
  runUsageEvent
7
- } from "../chunk-BLTVZACS.js";
7
+ } from "../chunk-447JWFZO.js";
8
8
  import "../chunk-OP4KBXUO.js";
9
- import "../chunk-LN76OGNR.js";
10
- import "../chunk-ZMLVR4J7.js";
9
+ import "../chunk-Z2MRSS2I.js";
10
+ import "../chunk-FO5CEXXN.js";
11
11
  import {
12
12
  isNativeHookDeclared,
13
13
  runHook,
14
14
  runNativeHook
15
- } from "../chunk-LAIITCMW.js";
15
+ } from "../chunk-FBCBHEGB.js";
16
16
  import "../chunk-KHO5WNTP.js";
17
- import "../chunk-4FWETID5.js";
18
- import "../chunk-NWLRJNXM.js";
19
- import "../chunk-G4CEELKO.js";
20
- import "../chunk-25CPWJA7.js";
21
- import "../chunk-56R2ER7K.js";
22
- import "../chunk-HORHRHNG.js";
23
- import "../chunk-YYNXIUR2.js";
24
- import "../chunk-IXOQDZWC.js";
17
+ import "../chunk-IVAWP6HH.js";
18
+ import "../chunk-JVO6NBTT.js";
19
+ import "../chunk-AY3VFNOH.js";
20
+ import "../chunk-KA55FISM.js";
21
+ import "../chunk-NBYKLUF6.js";
22
+ import "../chunk-4NHXLXSD.js";
23
+ import "../chunk-M2H7JURF.js";
24
+ import "../chunk-GZGLCCEE.js";
25
25
  export {
26
26
  isNativeHookDeclared,
27
27
  runAction,
@@ -1,7 +1,7 @@
1
1
  export { ConnectorConfigError, defineAction, defineCommand, defineConfigPatch, defineConnector, defineHook, defineMemory, defineNativeHook, defineSkill, defineStatusline, defineSubagent } from '../index.js';
2
- export { S as SURFACE_PREDICATES, a as SurfaceName, c as capabilitiesOf, h as hostsSupporting, s as surfaceSupport } from '../introspect-DYOIX8Ov.js';
3
- import { P as PlatformId } from '../types-C4qMgbJn.js';
4
- export { A as ActionDef, a as ActionResult, b as AuthSpec, C as CommandDef, c as ConfigPatchDef, d as ConnectorConfig, E as EventPayloadMap, H as HookDefinition, e as HookEventName, f as HookParadigm, g as HookResponse, h as HooksConfig, i as HostCtx, I as InstallScope, J as JsonValue, M as MemoryDef, N as NativeHookDef, j as NativeHookEvent, k as NotificationEvent, l as PermissionRequestEvent, m as PlatformCapabilities, n as PlatformMemoryOverride, o as PlatformOverride, p as PostToolUseEvent, q as PostToolUseFailureEvent, r as PreCompactEvent, s as PreToolUseEvent, t as PublishConfig, R as ResolvedConnector, S as ServerDef, u as SessionEndEvent, v as SessionStartEvent, w as SkillDef, x as StatuslineContext, y as StatuslineDef, z as StopEvent, B as SubagentDef, D as SubagentStartEvent, F as SubagentStopEvent, G as SurfaceToolPolicy, T as TelemetryAccessor, K as TelemetryConfig, L as TelemetryUsageSummary, O as ToolFilter, Q as Transport, U as UserPromptSubmitEvent } from '../types-C4qMgbJn.js';
2
+ export { S as SURFACE_PREDICATES, a as SurfaceName, c as capabilitiesOf, h as hostsSupporting, s as surfaceSupport } from '../introspect-BkId4LGP.js';
3
+ import { P as PlatformId } from '../types-D0RqWxT8.js';
4
+ export { A as ActionDef, a as ActionResult, b as AuthSpec, C as CommandDef, c as ConfigPatchDef, d as ConnectorConfig, E as EventPayloadMap, H as HookDefinition, e as HookEventName, f as HookParadigm, g as HookResponse, h as HooksConfig, i as HostCtx, I as InstallScope, J as JsonValue, M as MemoryDef, N as NativeHookDef, j as NativeHookEvent, k as NotificationEvent, l as PermissionRequestEvent, m as PlatformCapabilities, n as PlatformMemoryOverride, o as PlatformOverride, p as PostToolUseEvent, q as PostToolUseFailureEvent, r as PreCompactEvent, s as PreToolUseEvent, t as PublishConfig, R as ResolvedConnector, S as ServerDef, u as SessionEndEvent, v as SessionStartEvent, w as SkillDef, x as StatuslineContext, y as StatuslineDef, z as StopEvent, B as SubagentDef, D as SubagentStartEvent, F as SubagentStopEvent, G as SurfaceToolPolicy, T as TelemetryAccessor, K as TelemetryConfig, L as TelemetryUsageSummary, O as ToolFilter, Q as Transport, U as UserPromptSubmitEvent } from '../types-D0RqWxT8.js';
5
5
 
6
6
  /**
7
7
  * sdk/helpers — host-aware authoring helpers for connector handlers.
package/dist/sdk/index.js CHANGED
@@ -4,7 +4,7 @@ import {
4
4
  capabilitiesOf,
5
5
  hostsSupporting,
6
6
  surfaceSupport
7
- } from "../chunk-R6LML2YS.js";
7
+ } from "../chunk-7UT6OB52.js";
8
8
  import {
9
9
  ConnectorConfigError,
10
10
  defineAction,
@@ -17,11 +17,11 @@ import {
17
17
  defineSkill,
18
18
  defineStatusline,
19
19
  defineSubagent
20
- } from "../chunk-G4CEELKO.js";
21
- import "../chunk-25CPWJA7.js";
22
- import "../chunk-56R2ER7K.js";
23
- import "../chunk-YYNXIUR2.js";
24
- import "../chunk-IXOQDZWC.js";
20
+ } from "../chunk-AY3VFNOH.js";
21
+ import "../chunk-KA55FISM.js";
22
+ import "../chunk-NBYKLUF6.js";
23
+ import "../chunk-M2H7JURF.js";
24
+ import "../chunk-GZGLCCEE.js";
25
25
 
26
26
  // src/sdk/helpers.ts
27
27
  var PREFIXED_HOSTS = /* @__PURE__ */ new Set([
@@ -1,5 +1,5 @@
1
- import { P as PlatformId, e as HookEventName, R as ResolvedConnector } from '../types-C4qMgbJn.js';
2
- import { a as SurfaceName } from '../introspect-DYOIX8Ov.js';
1
+ import { P as PlatformId, e as HookEventName, R as ResolvedConnector } from '../types-D0RqWxT8.js';
2
+ import { a as SurfaceName } from '../introspect-BkId4LGP.js';
3
3
 
4
4
  /**
5
5
  * sdk/test-harness — the SHIPPED, OFFLINE behavioral harness.
package/dist/sdk/test.js CHANGED
@@ -3,17 +3,17 @@ import {
3
3
  explain,
4
4
  explainHooks,
5
5
  simulate
6
- } from "../chunk-QARPXSIV.js";
7
- import "../chunk-LAIITCMW.js";
6
+ } from "../chunk-L26PSQTY.js";
7
+ import "../chunk-FBCBHEGB.js";
8
8
  import "../chunk-KHO5WNTP.js";
9
- import "../chunk-4FWETID5.js";
10
- import "../chunk-R6LML2YS.js";
11
- import "../chunk-NWLRJNXM.js";
12
- import "../chunk-G4CEELKO.js";
13
- import "../chunk-25CPWJA7.js";
14
- import "../chunk-56R2ER7K.js";
15
- import "../chunk-YYNXIUR2.js";
16
- import "../chunk-IXOQDZWC.js";
9
+ import "../chunk-IVAWP6HH.js";
10
+ import "../chunk-7UT6OB52.js";
11
+ import "../chunk-JVO6NBTT.js";
12
+ import "../chunk-AY3VFNOH.js";
13
+ import "../chunk-KA55FISM.js";
14
+ import "../chunk-NBYKLUF6.js";
15
+ import "../chunk-M2H7JURF.js";
16
+ import "../chunk-GZGLCCEE.js";
17
17
  export {
18
18
  explain,
19
19
  explainHooks,
@@ -1,23 +1,23 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  fail
4
- } from "./chunk-7HUUINPB.js";
4
+ } from "./chunk-5Z36KVU2.js";
5
5
  import {
6
6
  runServe
7
- } from "./chunk-BLTVZACS.js";
7
+ } from "./chunk-447JWFZO.js";
8
8
  import "./chunk-OP4KBXUO.js";
9
- import "./chunk-LN76OGNR.js";
10
- import "./chunk-ZMLVR4J7.js";
11
- import "./chunk-LAIITCMW.js";
9
+ import "./chunk-Z2MRSS2I.js";
10
+ import "./chunk-FO5CEXXN.js";
11
+ import "./chunk-FBCBHEGB.js";
12
12
  import "./chunk-KHO5WNTP.js";
13
- import "./chunk-4FWETID5.js";
14
- import "./chunk-NWLRJNXM.js";
15
- import "./chunk-G4CEELKO.js";
16
- import "./chunk-25CPWJA7.js";
17
- import "./chunk-56R2ER7K.js";
18
- import "./chunk-HORHRHNG.js";
19
- import "./chunk-YYNXIUR2.js";
20
- import "./chunk-IXOQDZWC.js";
13
+ import "./chunk-IVAWP6HH.js";
14
+ import "./chunk-JVO6NBTT.js";
15
+ import "./chunk-AY3VFNOH.js";
16
+ import "./chunk-KA55FISM.js";
17
+ import "./chunk-NBYKLUF6.js";
18
+ import "./chunk-4NHXLXSD.js";
19
+ import "./chunk-M2H7JURF.js";
20
+ import "./chunk-GZGLCCEE.js";
21
21
 
22
22
  // src/cli/commands/serve.ts
23
23
  import { parseArgs } from "util";
@@ -74,4 +74,4 @@ async function run(argv) {
74
74
  export {
75
75
  run
76
76
  };
77
- //# sourceMappingURL=serve-K62FW3V7.js.map
77
+ //# sourceMappingURL=serve-EPRN7F2X.js.map
@@ -1,31 +1,31 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  marketplaceEvidence
4
- } from "./chunk-QKLJU4JX.js";
4
+ } from "./chunk-2Y2MZRLP.js";
5
5
  import "./chunk-UM5S7DKK.js";
6
6
  import {
7
7
  fail,
8
8
  parseScope,
9
9
  print
10
- } from "./chunk-7HUUINPB.js";
10
+ } from "./chunk-5Z36KVU2.js";
11
11
  import {
12
12
  detectInstalledPlatforms
13
- } from "./chunk-ZMLVR4J7.js";
13
+ } from "./chunk-FO5CEXXN.js";
14
14
  import {
15
15
  findConnectorConfig,
16
16
  listRegisteredConnectors,
17
17
  loadConnectorFromPath
18
- } from "./chunk-NWLRJNXM.js";
19
- import "./chunk-G4CEELKO.js";
18
+ } from "./chunk-JVO6NBTT.js";
19
+ import "./chunk-AY3VFNOH.js";
20
20
  import {
21
21
  loadAdapter
22
- } from "./chunk-25CPWJA7.js";
23
- import "./chunk-56R2ER7K.js";
24
- import "./chunk-YYNXIUR2.js";
22
+ } from "./chunk-KA55FISM.js";
23
+ import "./chunk-NBYKLUF6.js";
24
+ import "./chunk-M2H7JURF.js";
25
25
  import {
26
26
  dataRoot,
27
27
  homeBinPath
28
- } from "./chunk-IXOQDZWC.js";
28
+ } from "./chunk-GZGLCCEE.js";
29
29
 
30
30
  // src/cli/commands/status.ts
31
31
  import { parseArgs } from "util";
@@ -139,4 +139,4 @@ async function run(argv) {
139
139
  export {
140
140
  run
141
141
  };
142
- //# sourceMappingURL=status-E5MCFZM6.js.map
142
+ //# sourceMappingURL=status-B2PG6YKR.js.map
@@ -1,20 +1,20 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  runStatusline
4
- } from "./chunk-BLTVZACS.js";
4
+ } from "./chunk-447JWFZO.js";
5
5
  import "./chunk-OP4KBXUO.js";
6
- import "./chunk-LN76OGNR.js";
7
- import "./chunk-ZMLVR4J7.js";
8
- import "./chunk-LAIITCMW.js";
6
+ import "./chunk-Z2MRSS2I.js";
7
+ import "./chunk-FO5CEXXN.js";
8
+ import "./chunk-FBCBHEGB.js";
9
9
  import "./chunk-KHO5WNTP.js";
10
- import "./chunk-4FWETID5.js";
11
- import "./chunk-NWLRJNXM.js";
12
- import "./chunk-G4CEELKO.js";
13
- import "./chunk-25CPWJA7.js";
14
- import "./chunk-56R2ER7K.js";
15
- import "./chunk-HORHRHNG.js";
16
- import "./chunk-YYNXIUR2.js";
17
- import "./chunk-IXOQDZWC.js";
10
+ import "./chunk-IVAWP6HH.js";
11
+ import "./chunk-JVO6NBTT.js";
12
+ import "./chunk-AY3VFNOH.js";
13
+ import "./chunk-KA55FISM.js";
14
+ import "./chunk-NBYKLUF6.js";
15
+ import "./chunk-4NHXLXSD.js";
16
+ import "./chunk-M2H7JURF.js";
17
+ import "./chunk-GZGLCCEE.js";
18
18
 
19
19
  // src/cli/commands/statusline.ts
20
20
  import { parseArgs } from "util";
@@ -57,4 +57,4 @@ async function run(argv) {
57
57
  export {
58
58
  run
59
59
  };
60
- //# sourceMappingURL=statusline-LIPF2KVP.js.map
60
+ //# sourceMappingURL=statusline-5ERFMYSM.js.map
@@ -8,25 +8,25 @@ import {
8
8
  mcpLeaderboard,
9
9
  surfaceLeaderboard,
10
10
  toolLeaderboard
11
- } from "./chunk-AY3RGRTT.js";
11
+ } from "./chunk-6TF7MHG5.js";
12
12
  import {
13
13
  fail,
14
14
  print
15
- } from "./chunk-7HUUINPB.js";
15
+ } from "./chunk-5Z36KVU2.js";
16
16
  import {
17
17
  openStore
18
- } from "./chunk-4FWETID5.js";
18
+ } from "./chunk-IVAWP6HH.js";
19
19
  import {
20
20
  connectorFromMeta,
21
21
  listRegisteredConnectors,
22
22
  loadRegisteredConnector,
23
23
  readRegisteredMeta
24
- } from "./chunk-NWLRJNXM.js";
25
- import "./chunk-G4CEELKO.js";
26
- import "./chunk-25CPWJA7.js";
27
- import "./chunk-56R2ER7K.js";
28
- import "./chunk-YYNXIUR2.js";
29
- import "./chunk-IXOQDZWC.js";
24
+ } from "./chunk-JVO6NBTT.js";
25
+ import "./chunk-AY3VFNOH.js";
26
+ import "./chunk-KA55FISM.js";
27
+ import "./chunk-NBYKLUF6.js";
28
+ import "./chunk-M2H7JURF.js";
29
+ import "./chunk-GZGLCCEE.js";
30
30
 
31
31
  // src/cli/commands/telemetry.ts
32
32
  import { writeFileSync } from "fs";
@@ -349,4 +349,4 @@ export {
349
349
  parseSince,
350
350
  run
351
351
  };
352
- //# sourceMappingURL=telemetry-4OC56NTM.js.map
352
+ //# sourceMappingURL=telemetry-ZMCAWBWB.js.map
@@ -5,13 +5,13 @@ import {
5
5
  import {
6
6
  BaseAdapter,
7
7
  renderSkillMd
8
- } from "./chunk-VVFDU4IX.js";
8
+ } from "./chunk-WFEHWTLM.js";
9
9
  import {
10
10
  buildWrappedStdio,
11
11
  isHomeBinHookCommand
12
- } from "./chunk-HORHRHNG.js";
13
- import "./chunk-YYNXIUR2.js";
14
- import "./chunk-IXOQDZWC.js";
12
+ } from "./chunk-4NHXLXSD.js";
13
+ import "./chunk-M2H7JURF.js";
14
+ import "./chunk-GZGLCCEE.js";
15
15
 
16
16
  // src/adapters/trae/index.ts
17
17
  import { existsSync } from "fs";
@@ -271,4 +271,4 @@ export {
271
271
  adapter,
272
272
  trae_default as default
273
273
  };
274
- //# sourceMappingURL=trae-Z7CQ2A2Q.js.map
274
+ //# sourceMappingURL=trae-7KDCYIMN.js.map
@@ -573,6 +573,7 @@ interface SkillDef {
573
573
  disableModelInvocation?: boolean;
574
574
  /** Extra files bundled beside SKILL.md, relative path → contents. */
575
575
  resources?: Record<string, string>;
576
+ /** Verbatim per-platform frontmatter additions (escape hatch). */
576
577
  extra?: Record<string, unknown>;
577
578
  }
578
579
  /** A named subagent (system-prompt + tool/model scoping). */
@@ -588,6 +589,13 @@ interface SubagentDef {
588
589
  model?: string;
589
590
  /** Coarse permission knob → Cursor readonly, opencode/kilo permission map. */
590
591
  readonly?: boolean;
592
+ /**
593
+ * Verbatim per-platform subagent manifest additions (escape hatch).
594
+ *
595
+ * Markdown/frontmatter hosts merge these as frontmatter. Hosts whose subagent
596
+ * files are native config/manifests merge them only when that native format is
597
+ * itself an extensible subagent surface.
598
+ */
591
599
  extra?: Record<string, unknown>;
592
600
  }
593
601
  /**
@@ -1061,6 +1069,41 @@ interface InstallResult {
1061
1069
  dryRun: boolean;
1062
1070
  changes: ChangeRecord[];
1063
1071
  warnings: string[];
1072
+ /**
1073
+ * Render-only digest of the resolved connector (id/version/server/hooks/
1074
+ * telemetry/surface counts), threaded in by the CLI command so the friendly
1075
+ * renderer can print a connector header. OPTIONAL: the core install/uninstall
1076
+ * functions never populate it (they don't shape presentation) — the CLI
1077
+ * attaches it from the {@link ResolvedConnector} it already loaded. The
1078
+ * `--json` machine contract does NOT include it; see cli/app
1079
+ * buildConnectorSummary / renderInstallResult.
1080
+ */
1081
+ connector?: ConnectorSummary;
1082
+ }
1083
+ /**
1084
+ * A minimal, presentation-only digest of a {@link ResolvedConnector} used by the
1085
+ * CLI's friendly install/uninstall/upgrade output. Lives here (not in cli/) so
1086
+ * {@link InstallResult} can reference it without a CLI→core import cycle; it is
1087
+ * BUILT by cli/app buildConnectorSummary. Render-only: never part of any machine
1088
+ * (JSON) contract.
1089
+ */
1090
+ interface ConnectorSummary {
1091
+ id: string;
1092
+ version: string;
1093
+ displayName?: string;
1094
+ /** stdio command line / remote URL; absent ⇒ hooks-only connector. */
1095
+ server?: {
1096
+ transport: string;
1097
+ command: string;
1098
+ };
1099
+ hookEvents: string[];
1100
+ telemetryEnabled: boolean;
1101
+ commands: number;
1102
+ skills: number;
1103
+ subagents: number;
1104
+ memory: number;
1105
+ hasStatusline: boolean;
1106
+ actions: number;
1064
1107
  }
1065
1108
  interface DiagnosticResult {
1066
1109
  check: string;
@@ -5,49 +5,51 @@ import {
5
5
  resolveUninstallTargets,
6
6
  uninstallConnector,
7
7
  uninstallViaMarketplace
8
- } from "./chunk-KIRCPLM4.js";
9
- import "./chunk-LF76VPGQ.js";
8
+ } from "./chunk-JO2IM2JL.js";
9
+ import "./chunk-IBLYVAWH.js";
10
10
  import {
11
11
  marketplaceEvidence,
12
12
  readMarketplaceInstalls
13
- } from "./chunk-QKLJU4JX.js";
13
+ } from "./chunk-2Y2MZRLP.js";
14
14
  import "./chunk-UM5S7DKK.js";
15
- import "./chunk-NBUEL74R.js";
15
+ import "./chunk-JFXL4HYA.js";
16
16
  import "./chunk-OPXAP3AC.js";
17
17
  import {
18
+ buildConnectorSummary,
18
19
  fail,
20
+ maybePrintBanner,
19
21
  parseScope,
20
22
  parseTargets,
21
23
  print,
22
24
  renderInstallResult
23
- } from "./chunk-7HUUINPB.js";
24
- import "./chunk-LN76OGNR.js";
25
- import "./chunk-ZMLVR4J7.js";
25
+ } from "./chunk-5Z36KVU2.js";
26
+ import "./chunk-Z2MRSS2I.js";
27
+ import "./chunk-FO5CEXXN.js";
26
28
  import "./chunk-KHO5WNTP.js";
27
29
  import {
28
30
  findConnectorConfig,
29
31
  loadConnectorFromPath
30
- } from "./chunk-NWLRJNXM.js";
31
- import "./chunk-G4CEELKO.js";
32
- import "./chunk-25CPWJA7.js";
33
- import "./chunk-56R2ER7K.js";
32
+ } from "./chunk-JVO6NBTT.js";
33
+ import "./chunk-AY3VFNOH.js";
34
+ import "./chunk-KA55FISM.js";
35
+ import "./chunk-NBYKLUF6.js";
34
36
  import "./chunk-H53QZQJI.js";
35
37
  import "./chunk-BEFVJ2OE.js";
36
- import "./chunk-VVFDU4IX.js";
37
- import "./chunk-HORHRHNG.js";
38
- import "./chunk-YYNXIUR2.js";
38
+ import "./chunk-WFEHWTLM.js";
39
+ import "./chunk-4NHXLXSD.js";
40
+ import "./chunk-M2H7JURF.js";
39
41
  import {
40
42
  assertConnectorId
41
- } from "./chunk-IXOQDZWC.js";
43
+ } from "./chunk-GZGLCCEE.js";
42
44
 
43
45
  // src/cli/commands/uninstall.ts
44
46
  import { parseArgs } from "util";
45
47
  async function resolveConnectorId(explicitId, connectorPath, projectDir) {
46
- if (explicitId && explicitId.trim() !== "") return explicitId;
48
+ if (explicitId && explicitId.trim() !== "") return { id: explicitId };
47
49
  const configPath = connectorPath ?? findConnectorConfig(projectDir);
48
50
  if (!configPath) return null;
49
51
  const { connector } = await loadConnectorFromPath(configPath);
50
- return connector.id;
52
+ return { id: connector.id, connector };
51
53
  }
52
54
  async function run(argv) {
53
55
  const { values } = parseArgs({
@@ -60,10 +62,13 @@ async function run(argv) {
60
62
  "connector-id": { type: "string" },
61
63
  project: { type: "string" },
62
64
  "dry-run": { type: "boolean", default: false },
63
- purge: { type: "boolean", default: false }
65
+ purge: { type: "boolean", default: false },
66
+ // Decorative-banner suppressor (no effect on command output bytes).
67
+ quiet: { type: "boolean", default: false }
64
68
  },
65
69
  allowPositionals: false
66
70
  });
71
+ maybePrintBanner({ quiet: values.quiet });
67
72
  const method = parseUninstallMethod(values.method);
68
73
  if (method == null) {
69
74
  return fail(`invalid --method "${values.method}" (use auto|direct|marketplace)`);
@@ -71,16 +76,18 @@ async function run(argv) {
71
76
  const projectDir = values.project ?? process.cwd();
72
77
  const scope = parseScope(values.scope);
73
78
  if (scope == null) return fail(`invalid --scope "${values.scope}" (use user|project)`);
74
- const connectorId = await resolveConnectorId(
79
+ const resolved = await resolveConnectorId(
75
80
  values["connector-id"],
76
81
  values.connector,
77
82
  projectDir
78
83
  );
79
- if (!connectorId) {
84
+ if (!resolved) {
80
85
  return fail(
81
86
  "could not determine connector id. Pass --connector-id <id>, --connector <path>, or run inside a project with an agent-connector config."
82
87
  );
83
88
  }
89
+ const connectorId = resolved.id;
90
+ const summary = resolved.connector ? buildConnectorSummary(resolved.connector) : void 0;
84
91
  try {
85
92
  assertConnectorId(connectorId);
86
93
  } catch (err) {
@@ -97,19 +104,20 @@ async function run(argv) {
97
104
  ...targets ? { targets } : {}
98
105
  });
99
106
  if (values.purge) purgeFrameworkState(connectorId, dryRun, result);
107
+ result.connector = summary;
100
108
  print(renderInstallResult(result, "uninstall"));
101
109
  return result.changes.some((c) => c.action === "warn") ? 1 : 0;
102
110
  }
103
111
  let marketplaceTargets = [];
104
112
  let directTargets = [];
105
113
  if (method === "auto") {
106
- const resolved = await resolveUninstallTargets(connectorId, targets, projectDir);
114
+ const resolvedTargets = await resolveUninstallTargets(connectorId, targets, projectDir);
107
115
  const recorded = targets ? [] : Object.keys(readMarketplaceInstalls(connectorId));
108
- const candidates = [.../* @__PURE__ */ new Set([...resolved, ...recorded])];
116
+ const candidates = [.../* @__PURE__ */ new Set([...resolvedTargets, ...recorded])];
109
117
  marketplaceTargets = candidates.filter(
110
118
  (id) => marketplaceEvidence(connectorId, id) != null
111
119
  );
112
- directTargets = resolved.filter((id) => !marketplaceTargets.includes(id));
120
+ directTargets = resolvedTargets.filter((id) => !marketplaceTargets.includes(id));
113
121
  }
114
122
  if (marketplaceTargets.length === 0) {
115
123
  const result = await uninstallConnector({
@@ -120,6 +128,7 @@ async function run(argv) {
120
128
  purge: values.purge,
121
129
  ...targets ? { targets } : {}
122
130
  });
131
+ result.connector = summary;
123
132
  print(renderInstallResult(result, "uninstall"));
124
133
  return result.changes.some((c) => c.action === "warn") ? 1 : 0;
125
134
  }
@@ -165,7 +174,8 @@ async function run(argv) {
165
174
  connectorId,
166
175
  dryRun,
167
176
  changes: results.flatMap((r) => r.changes),
168
- warnings: results.flatMap((r) => r.warnings)
177
+ warnings: results.flatMap((r) => r.warnings),
178
+ connector: summary
169
179
  };
170
180
  print(renderInstallResult(merged, "uninstall"));
171
181
  return merged.changes.some((c) => c.action === "warn") ? 1 : 0;
@@ -173,4 +183,4 @@ async function run(argv) {
173
183
  export {
174
184
  run
175
185
  };
176
- //# sourceMappingURL=uninstall-2YYKN5DX.js.map
186
+ //# sourceMappingURL=uninstall-M76BHLTH.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cli/commands/uninstall.ts"],"sourcesContent":["/**\n * cli/commands/uninstall — strip a connector's registrations, method-aware.\n *\n * The connector id is taken from --connector-id, or inferred from the local\n * connector config (--connector <path> / findConnectorConfig).\n *\n * --method auto (default) reverses WHATEVER is actually there, per target:\n * targets with marketplace evidence (the state record, or the host's own plugin\n * state) get the HOST plugin uninstall; everything else gets the existing\n * direct adapter strip. Install chooses a method (a user decision); uninstall\n * reverses what exists (a state decision) — and since the double-install guard\n * enforces exactly one method per (connector, host, scope), auto is\n * unambiguous. Explicit --method direct|marketplace forces one path for every\n * target. Config removal vs plugin uninstall is therefore method-resolved:\n * never both, never neither.\n *\n * --purge additionally removes the framework-state this connector left behind:\n * its DATA-dir connector record (connectorDir(id)), the empty marketplace\n * staging root, and, when no connectors remain, the shared home-bin launcher.\n * Without --purge those linger so the connector can be re-synced without\n * re-registering.\n */\n\nimport { parseArgs } from \"node:util\";\n\nimport {\n purgeFrameworkState,\n resolveUninstallTargets,\n uninstallConnector,\n} from \"../../core/installer.js\";\nimport {\n marketplaceEvidence,\n parseUninstallMethod,\n uninstallViaMarketplace,\n} from \"../../core/marketplace.js\";\nimport { readMarketplaceInstalls } from \"../../core/marketplace-state.js\";\nimport { assertConnectorId } from \"../../core/ids.js\";\nimport { findConnectorConfig, loadConnectorFromPath } from \"../../core/load-connector.js\";\nimport type {\n ConnectorSummary,\n InstallResult,\n PlatformId,\n ResolvedConnector,\n} from \"../../core/types.js\";\nimport {\n buildConnectorSummary,\n fail,\n maybePrintBanner,\n parseScope,\n parseTargets,\n print,\n renderInstallResult,\n} from \"../app.js\";\n\n/**\n * Resolve the connector id from flags, then from a local config file. When the\n * id was inferred by LOADING a config, the resolved connector is returned too so\n * the caller can build a header summary; an explicit `--connector-id` yields no\n * connector (id-only uninstall), and the renderer degrades to an id-only header.\n */\nasync function resolveConnectorId(\n explicitId: string | undefined,\n connectorPath: string | undefined,\n projectDir: string,\n): Promise<{ id: string; connector?: ResolvedConnector } | null> {\n if (explicitId && explicitId.trim() !== \"\") return { id: explicitId };\n const configPath = connectorPath ?? findConnectorConfig(projectDir);\n if (!configPath) return null;\n const { connector } = await loadConnectorFromPath(configPath);\n return { id: connector.id, connector };\n}\n\nexport async function run(argv: string[]): Promise<number> {\n const { values } = parseArgs({\n args: argv,\n options: {\n method: { type: \"string\", default: \"auto\" },\n scope: { type: \"string\", default: \"user\" },\n targets: { type: \"string\" },\n connector: { type: \"string\" },\n \"connector-id\": { type: \"string\" },\n project: { type: \"string\" },\n \"dry-run\": { type: \"boolean\", default: false },\n purge: { type: \"boolean\", default: false },\n // Decorative-banner suppressor (no effect on command output bytes).\n quiet: { type: \"boolean\", default: false },\n },\n allowPositionals: false,\n });\n\n maybePrintBanner({ quiet: values.quiet });\n\n const method = parseUninstallMethod(values.method);\n if (method == null) {\n return fail(`invalid --method \"${values.method}\" (use auto|direct|marketplace)`);\n }\n\n const projectDir = values.project ?? process.cwd();\n\n const scope = parseScope(values.scope);\n if (scope == null) return fail(`invalid --scope \"${values.scope}\" (use user|project)`);\n\n const resolved = await resolveConnectorId(\n values[\"connector-id\"],\n values.connector,\n projectDir,\n );\n if (!resolved) {\n return fail(\n \"could not determine connector id. Pass --connector-id <id>, \" +\n \"--connector <path>, or run inside a project with an agent-connector config.\",\n );\n }\n const connectorId = resolved.id;\n // Header summary when a connector config was actually loaded; id-only\n // (--connector-id) uninstalls have no connector → the renderer degrades to an\n // id-only header.\n const summary: ConnectorSummary | undefined = resolved.connector\n ? buildConnectorSummary(resolved.connector)\n : undefined;\n\n // Single choke-point: validate the id BEFORE any path is built or any delete\n // runs. Every branch below (explicit --method marketplace, --method auto, and\n // the direct strip) constructs record / staging-root paths from this id —\n // including the explicit --targets marketplace path, which reaches\n // driver.finishUninstall(id) → rmSync(join(stagingRoot, id)) without otherwise\n // routing the raw id through connectorDir's validation. Failing loud here closes\n // the `--connector-id ../../x` traversal window for ALL of them at once.\n try {\n assertConnectorId(connectorId);\n } catch (err) {\n return fail(err instanceof Error ? err.message : String(err));\n }\n\n const targets = parseTargets(values.targets);\n const dryRun = values[\"dry-run\"];\n\n // ── Explicit --method marketplace: every target goes to the marketplace path\n // (targets default to the recorded installs); framework purge runs here since\n // no direct pass follows.\n if (method === \"marketplace\") {\n const result = await uninstallViaMarketplace({\n connectorId,\n projectDir,\n dryRun,\n purge: values.purge,\n ...(targets ? { targets } : {}),\n });\n if (values.purge) purgeFrameworkState(connectorId, dryRun, result);\n result.connector = summary;\n print(renderInstallResult(result, \"uninstall\"));\n return result.changes.some((c) => c.action === \"warn\") ? 1 : 0;\n }\n\n // ── --method auto: partition the resolved targets by marketplace evidence.\n // (--method direct keeps every target on the adapter strip — today's path.)\n let marketplaceTargets: PlatformId[] = [];\n let directTargets: PlatformId[] = [];\n if (method === \"auto\") {\n const resolvedTargets = await resolveUninstallTargets(connectorId, targets, projectDir);\n // With no explicit --targets, recorded marketplace platforms are unioned\n // in: the state record IS the authority for what we installed, and host\n // detection can miss a host whose probe-able config dir was relocated.\n // An explicit --targets list is always respected as-is.\n const recorded = targets\n ? []\n : (Object.keys(readMarketplaceInstalls(connectorId)) as PlatformId[]);\n const candidates = [...new Set([...resolvedTargets, ...recorded])];\n marketplaceTargets = candidates.filter(\n (id) => marketplaceEvidence(connectorId, id) != null,\n );\n directTargets = resolvedTargets.filter((id) => !marketplaceTargets.includes(id));\n }\n\n // No marketplace evidence anywhere (or --method direct): exactly today's\n // single-orchestration path, byte-for-byte — zero behavior change for users\n // who never touched the marketplace method.\n if (marketplaceTargets.length === 0) {\n const result = await uninstallConnector({\n connectorId,\n scope,\n projectDir,\n dryRun,\n purge: values.purge,\n ...(targets ? { targets } : {}),\n });\n result.connector = summary;\n print(renderInstallResult(result, \"uninstall\"));\n return result.changes.some((c) => c.action === \"warn\") ? 1 : 0;\n }\n\n const results: InstallResult[] = [\n await uninstallViaMarketplace({\n connectorId,\n projectDir,\n targets: marketplaceTargets,\n dryRun,\n purge: values.purge,\n }),\n ];\n\n // The direct strip runs only for its partition (never both methods on one\n // target). When every target was marketplace-routed, --purge still runs the\n // framework purge (the marketplace records were just cleared, so it can\n // proceed to the connector record + home-bin).\n if (directTargets.length > 0) {\n results.push(\n await uninstallConnector({\n connectorId,\n scope,\n projectDir,\n dryRun,\n purge: values.purge,\n targets: directTargets,\n }),\n );\n } else if (values.purge) {\n const purgeResult: InstallResult = {\n connectorId,\n dryRun,\n changes: [],\n warnings: [],\n };\n if (dryRun) {\n // On a real run the marketplace records are removed BEFORE this purge;\n // calling purgeFrameworkState now would false-refuse on records that the\n // marketplace pass only PLANNED to remove. Report the plan instead.\n purgeResult.changes.push({\n platform: connectorId as PlatformId,\n action: \"remove\",\n detail:\n \"would purge framework state (connector record; home-bin when no connectors remain)\",\n });\n } else {\n purgeFrameworkState(connectorId, dryRun, purgeResult);\n }\n results.push(purgeResult);\n }\n\n const merged: InstallResult = {\n connectorId,\n dryRun,\n changes: results.flatMap((r) => r.changes),\n warnings: results.flatMap((r) => r.warnings),\n connector: summary,\n };\n print(renderInstallResult(merged, \"uninstall\"));\n return merged.changes.some((c) => c.action === \"warn\") ? 1 : 0;\n}\n"],"mappings":"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","names":[]}
@@ -4,38 +4,40 @@ import {
4
4
  resolveCliEntry,
5
5
  syncConnector,
6
6
  upgradeViaMarketplace
7
- } from "./chunk-KIRCPLM4.js";
8
- import "./chunk-LF76VPGQ.js";
9
- import "./chunk-QKLJU4JX.js";
7
+ } from "./chunk-JO2IM2JL.js";
8
+ import "./chunk-IBLYVAWH.js";
9
+ import "./chunk-2Y2MZRLP.js";
10
10
  import "./chunk-UM5S7DKK.js";
11
- import "./chunk-NBUEL74R.js";
11
+ import "./chunk-JFXL4HYA.js";
12
12
  import "./chunk-OPXAP3AC.js";
13
13
  import {
14
+ buildConnectorSummary,
14
15
  fail,
16
+ maybePrintBanner,
15
17
  parseScope,
16
18
  parseTargets,
17
19
  print,
18
20
  renderInstallResult
19
- } from "./chunk-7HUUINPB.js";
20
- import "./chunk-LN76OGNR.js";
21
- import "./chunk-ZMLVR4J7.js";
21
+ } from "./chunk-5Z36KVU2.js";
22
+ import "./chunk-Z2MRSS2I.js";
23
+ import "./chunk-FO5CEXXN.js";
22
24
  import "./chunk-KHO5WNTP.js";
23
25
  import {
24
26
  findConnectorConfig,
25
27
  loadConnectorFromPath
26
- } from "./chunk-NWLRJNXM.js";
27
- import "./chunk-G4CEELKO.js";
28
- import "./chunk-25CPWJA7.js";
29
- import "./chunk-56R2ER7K.js";
28
+ } from "./chunk-JVO6NBTT.js";
29
+ import "./chunk-AY3VFNOH.js";
30
+ import "./chunk-KA55FISM.js";
31
+ import "./chunk-NBYKLUF6.js";
30
32
  import "./chunk-H53QZQJI.js";
31
33
  import "./chunk-BEFVJ2OE.js";
32
- import "./chunk-VVFDU4IX.js";
33
- import "./chunk-HORHRHNG.js";
34
- import "./chunk-YYNXIUR2.js";
34
+ import "./chunk-WFEHWTLM.js";
35
+ import "./chunk-4NHXLXSD.js";
36
+ import "./chunk-M2H7JURF.js";
35
37
  import {
36
38
  ensureHomeBin,
37
39
  homeBinPath
38
- } from "./chunk-IXOQDZWC.js";
40
+ } from "./chunk-GZGLCCEE.js";
39
41
 
40
42
  // src/cli/commands/upgrade.ts
41
43
  import { parseArgs } from "util";
@@ -53,10 +55,13 @@ async function run(argv) {
53
55
  targets: { type: "string" },
54
56
  connector: { type: "string" },
55
57
  project: { type: "string" },
56
- "dry-run": { type: "boolean", default: false }
58
+ "dry-run": { type: "boolean", default: false },
59
+ // Decorative-banner suppressor (no effect on command output bytes).
60
+ quiet: { type: "boolean", default: false }
57
61
  },
58
62
  allowPositionals: false
59
63
  });
64
+ maybePrintBanner({ quiet: values.quiet });
60
65
  const channel = values.channel;
61
66
  if (channel !== "stable" && channel !== "latest") {
62
67
  return fail(`invalid --channel "${channel}" (use stable|latest)`);
@@ -88,6 +93,7 @@ async function run(argv) {
88
93
  ...targets ? { targets } : {}
89
94
  };
90
95
  const result = method === "marketplace" ? await upgradeViaMarketplace(opts) : await syncConnector(opts);
96
+ result.connector = buildConnectorSummary(connector);
91
97
  print(renderInstallResult(result, "upgrade"));
92
98
  if (result.changes.some((c) => c.action === "warn")) hadWarn = true;
93
99
  print("");
@@ -127,4 +133,4 @@ Refreshed home binary pointer: ${binPath}`);
127
133
  export {
128
134
  run
129
135
  };
130
- //# sourceMappingURL=upgrade-55AFPJEF.js.map
136
+ //# sourceMappingURL=upgrade-JLSCNAQA.js.map