@ken-jo/agent-connector 0.4.91 → 0.4.93

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 (196) hide show
  1. package/README.md +326 -563
  2. package/dist/{action-L44DXFHT.js → action-DOWHWEDZ.js} +14 -14
  3. package/dist/{amazon-q-B52EY2SV.js → amazon-q-ETMAGY3D.js} +5 -5
  4. package/dist/{amp-UXABVUKC.js → amp-67BZONGF.js} +5 -5
  5. package/dist/{antigravity-RZHN53VB.js → antigravity-VXLDLTO7.js} +6 -6
  6. package/dist/{antigravity-cli-JO6GUTV7.js → antigravity-cli-OM6SC3PE.js} +47 -16
  7. package/dist/antigravity-cli-OM6SC3PE.js.map +1 -0
  8. package/dist/{chunk-R6LML2YS.js → chunk-2RIFORQS.js} +2 -2
  9. package/dist/{chunk-QKLJU4JX.js → chunk-2Y2MZRLP.js} +56 -2
  10. package/dist/chunk-2Y2MZRLP.js.map +1 -0
  11. package/dist/{chunk-HORHRHNG.js → chunk-4NHXLXSD.js} +2 -2
  12. package/dist/{chunk-AY3RGRTT.js → chunk-6TF7MHG5.js} +2 -2
  13. package/dist/{chunk-NBUEL74R.js → chunk-6WZODR3Z.js} +3 -3
  14. package/dist/{chunk-LF76VPGQ.js → chunk-B5W3RHTI.js} +72 -22
  15. package/dist/chunk-B5W3RHTI.js.map +1 -0
  16. package/dist/{chunk-BLTVZACS.js → chunk-EHP7WISI.js} +9 -9
  17. package/dist/{chunk-4NSU3KWX.js → chunk-FJCUKXGX.js} +2 -2
  18. package/dist/{chunk-IXOQDZWC.js → chunk-GZGLCCEE.js} +5 -1
  19. package/dist/chunk-GZGLCCEE.js.map +1 -0
  20. package/dist/{chunk-LAIITCMW.js → chunk-I5TO42QC.js} +5 -5
  21. package/dist/{chunk-4FWETID5.js → chunk-IVAWP6HH.js} +2 -2
  22. package/dist/{chunk-UBB7T54N.js → chunk-JKKU2WKG.js} +3 -3
  23. package/dist/{chunk-G4CEELKO.js → chunk-KJLFGQQM.js} +180 -10
  24. package/dist/chunk-KJLFGQQM.js.map +1 -0
  25. package/dist/{chunk-NWLRJNXM.js → chunk-KSPMSRVU.js} +27 -15
  26. package/dist/chunk-KSPMSRVU.js.map +1 -0
  27. package/dist/{chunk-VVFDU4IX.js → chunk-MGTDQLJJ.js} +12 -5
  28. package/dist/{chunk-VVFDU4IX.js.map → chunk-MGTDQLJJ.js.map} +1 -1
  29. package/dist/{chunk-56R2ER7K.js → chunk-NBYKLUF6.js} +2 -2
  30. package/dist/chunk-OEADFFKO.js +590 -0
  31. package/dist/chunk-OEADFFKO.js.map +1 -0
  32. package/dist/{chunk-QARPXSIV.js → chunk-P23RVIUY.js} +4 -4
  33. package/dist/{chunk-25CPWJA7.js → chunk-SILKSP2Y.js} +43 -43
  34. package/dist/{chunk-KIRCPLM4.js → chunk-TTKSYJRY.js} +538 -226
  35. package/dist/chunk-TTKSYJRY.js.map +1 -0
  36. package/dist/{chunk-YYNXIUR2.js → chunk-UMQ6NBQR.js} +3 -3
  37. package/dist/chunk-UMQ6NBQR.js.map +1 -0
  38. package/dist/{chunk-4HVQ7IUM.js → chunk-XC5SJ35F.js} +17 -4
  39. package/dist/chunk-XC5SJ35F.js.map +1 -0
  40. package/dist/{chunk-LN76OGNR.js → chunk-Z2MRSS2I.js} +2 -2
  41. package/dist/{chunk-ZMLVR4J7.js → chunk-ZMAJ2XFD.js} +2 -2
  42. package/dist/{claude-code-WS4NAGZT.js → claude-code-DUZNOAS2.js} +9 -9
  43. package/dist/cli/sdk.js +7 -7
  44. package/dist/cli.js +1 -1
  45. package/dist/{cline-NNMVCECA.js → cline-25KW25IN.js} +5 -5
  46. package/dist/{codebuddy-RBEZGXBG.js → codebuddy-ZNYQACMF.js} +5 -5
  47. package/dist/{codebuff-RJIDSEU3.js → codebuff-VR6JUDIY.js} +5 -5
  48. package/dist/{codex-ZZ434GYR.js → codex-CPNKTXG3.js} +11 -5
  49. package/dist/{codex-ZZ434GYR.js.map → codex-CPNKTXG3.js.map} +1 -1
  50. package/dist/{continue-MNM7YVJY.js → continue-WU2IB5KS.js} +6 -6
  51. package/dist/{copilot-cli-SMTX5F65.js → copilot-cli-PAP377OM.js} +5 -5
  52. package/dist/{crush-NYDBHIJE.js → crush-3AVQA4YU.js} +5 -5
  53. package/dist/{cursor-AOELDNZU.js → cursor-GSLUET3V.js} +6 -6
  54. package/dist/define-connector-LQFJL_at.d.ts +89 -0
  55. package/dist/{detect-3S46RUMK.js → detect-DYQNUMXL.js} +4 -4
  56. package/dist/{devin-PRJY2TTD.js → devin-QMEM3OFA.js} +5 -5
  57. package/dist/{doctor-3CUBPQKU.js → doctor-H6XXAR63.js} +25 -21
  58. package/dist/doctor-H6XXAR63.js.map +1 -0
  59. package/dist/{droid-PTCH2K7Y.js → droid-MOKV53J4.js} +5 -5
  60. package/dist/{gemini-cli-QGLN2UMS.js → gemini-cli-47ZHCOZR.js} +5 -5
  61. package/dist/{goose-DQ6GSZ5O.js → goose-4EI5MYTI.js} +6 -6
  62. package/dist/{grok-cli-5QD235UB.js → grok-cli-QYQPDSVB.js} +5 -5
  63. package/dist/{hermes-E47IG63A.js → hermes-F75OSK3Y.js} +6 -6
  64. package/dist/{hook-P6EKDINW.js → hook-GIQTUDMN.js} +14 -14
  65. package/dist/index.d.ts +15 -88
  66. package/dist/index.js +15 -7
  67. package/dist/install-T27662FW.js +382 -0
  68. package/dist/install-T27662FW.js.map +1 -0
  69. package/dist/{introspect-DYOIX8Ov.d.ts → introspect-D4fEGuhN.d.ts} +1 -1
  70. package/dist/{jetbrains-copilot-T2EPKROP.js → jetbrains-copilot-ZGIWI6YV.js} +23 -7
  71. package/dist/jetbrains-copilot-ZGIWI6YV.js.map +1 -0
  72. package/dist/{junie-SQ4SDLGK.js → junie-DIFN2P22.js} +5 -5
  73. package/dist/{kilo-OU2ZLZKB.js → kilo-EMZJBEBB.js} +5 -5
  74. package/dist/{kilo-cli-NMWGYF4F.js → kilo-cli-S3GXBPAE.js} +5 -5
  75. package/dist/{kimi-Z7L2LEEI.js → kimi-IQJOIY6B.js} +5 -5
  76. package/dist/{kiro-4IN5IH46.js → kiro-BYX4HEAJ.js} +5 -5
  77. package/dist/{leaderboard-LF5SP6X2.js → leaderboard-CIMQBOUS.js} +5 -5
  78. package/dist/{mimo-code-G2CBZ4M6.js → mimo-code-7R53QDHB.js} +5 -5
  79. package/dist/{mistral-vibe-TRQDHAWV.js → mistral-vibe-LHJ55FSB.js} +5 -5
  80. package/dist/{mux-JNM3F2NW.js → mux-NYCNGL43.js} +5 -5
  81. package/dist/{nemoclaw-SHA4IUML.js → nemoclaw-WSIPSE7U.js} +6 -6
  82. package/dist/{omp-OOVUNXME.js → omp-562NK5BJ.js} +5 -5
  83. package/dist/{open-interpreter-4PKL56AA.js → open-interpreter-I2CNOEXY.js} +5 -5
  84. package/dist/openclaw-7EYBQS4R.js +17 -0
  85. package/dist/{opencode-W2RK4M7G.js → opencode-YS4WX2E2.js} +5 -5
  86. package/dist/{openhands-5LNH3BKB.js → openhands-QMYIKNOS.js} +5 -5
  87. package/dist/{package-2EAIYSJ4.js → package-LIPZKHAQ.js} +12 -12
  88. package/dist/{pi-BUADR5MJ.js → pi-644FIN3A.js} +5 -5
  89. package/dist/{qwen-code-TUJNHKNI.js → qwen-code-STDMX7EM.js} +6 -6
  90. package/dist/{roo-code-L5F7S6QH.js → roo-code-DLPIHHQ6.js} +5 -5
  91. package/dist/runtime/index.d.ts +1 -1
  92. package/dist/runtime/index.js +12 -12
  93. package/dist/sdk/index.d.ts +4 -4
  94. package/dist/sdk/index.js +6 -6
  95. package/dist/sdk/test.d.ts +2 -2
  96. package/dist/sdk/test.js +10 -10
  97. package/dist/{serve-K62FW3V7.js → serve-ABTO2NA2.js} +14 -14
  98. package/dist/{status-E5MCFZM6.js → status-J7SOUH7O.js} +10 -10
  99. package/dist/{statusline-LIPF2KVP.js → statusline-QF4G724E.js} +13 -13
  100. package/dist/{telemetry-4OC56NTM.js → telemetry-EICCFEIF.js} +10 -10
  101. package/dist/{trae-Z7CQ2A2Q.js → trae-UOYD6JZZ.js} +5 -5
  102. package/dist/{types-C4qMgbJn.d.ts → types-BhcUEIJJ.d.ts} +82 -3
  103. package/dist/{uninstall-2YYKN5DX.js → uninstall-NJNNZZZY.js} +35 -25
  104. package/dist/uninstall-NJNNZZZY.js.map +1 -0
  105. package/dist/{upgrade-55AFPJEF.js → upgrade-TIBUOQNM.js} +23 -17
  106. package/dist/upgrade-TIBUOQNM.js.map +1 -0
  107. package/dist/{usage-3PB3WZSL.js → usage-VEVBWPLS.js} +2 -2
  108. package/dist/{usage-event-KD5FW6W4.js → usage-event-GRQE7XWT.js} +13 -13
  109. package/dist/{vscode-copilot-LU5NC4ZS.js → vscode-copilot-NIMH2DGU.js} +20 -5
  110. package/dist/vscode-copilot-NIMH2DGU.js.map +1 -0
  111. package/dist/{warp-4PPG5LOM.js → warp-QYJGKURM.js} +5 -5
  112. package/dist/{windsurf-3T3RVXKM.js → windsurf-75LLZ37C.js} +5 -5
  113. package/dist/{zed-ZF2OQ75O.js → zed-HKAZXEJW.js} +5 -5
  114. package/package.json +1 -1
  115. package/dist/antigravity-cli-JO6GUTV7.js.map +0 -1
  116. package/dist/chunk-4HVQ7IUM.js.map +0 -1
  117. package/dist/chunk-7HUUINPB.js +0 -201
  118. package/dist/chunk-7HUUINPB.js.map +0 -1
  119. package/dist/chunk-G4CEELKO.js.map +0 -1
  120. package/dist/chunk-IXOQDZWC.js.map +0 -1
  121. package/dist/chunk-KIRCPLM4.js.map +0 -1
  122. package/dist/chunk-LF76VPGQ.js.map +0 -1
  123. package/dist/chunk-NWLRJNXM.js.map +0 -1
  124. package/dist/chunk-QKLJU4JX.js.map +0 -1
  125. package/dist/chunk-YYNXIUR2.js.map +0 -1
  126. package/dist/doctor-3CUBPQKU.js.map +0 -1
  127. package/dist/install-7DMK53SB.js +0 -96
  128. package/dist/install-7DMK53SB.js.map +0 -1
  129. package/dist/jetbrains-copilot-T2EPKROP.js.map +0 -1
  130. package/dist/openclaw-BD56E5MV.js +0 -17
  131. package/dist/uninstall-2YYKN5DX.js.map +0 -1
  132. package/dist/upgrade-55AFPJEF.js.map +0 -1
  133. package/dist/vscode-copilot-LU5NC4ZS.js.map +0 -1
  134. /package/dist/{action-L44DXFHT.js.map → action-DOWHWEDZ.js.map} +0 -0
  135. /package/dist/{amazon-q-B52EY2SV.js.map → amazon-q-ETMAGY3D.js.map} +0 -0
  136. /package/dist/{amp-UXABVUKC.js.map → amp-67BZONGF.js.map} +0 -0
  137. /package/dist/{antigravity-RZHN53VB.js.map → antigravity-VXLDLTO7.js.map} +0 -0
  138. /package/dist/{chunk-R6LML2YS.js.map → chunk-2RIFORQS.js.map} +0 -0
  139. /package/dist/{chunk-HORHRHNG.js.map → chunk-4NHXLXSD.js.map} +0 -0
  140. /package/dist/{chunk-AY3RGRTT.js.map → chunk-6TF7MHG5.js.map} +0 -0
  141. /package/dist/{chunk-NBUEL74R.js.map → chunk-6WZODR3Z.js.map} +0 -0
  142. /package/dist/{chunk-BLTVZACS.js.map → chunk-EHP7WISI.js.map} +0 -0
  143. /package/dist/{chunk-4NSU3KWX.js.map → chunk-FJCUKXGX.js.map} +0 -0
  144. /package/dist/{chunk-LAIITCMW.js.map → chunk-I5TO42QC.js.map} +0 -0
  145. /package/dist/{chunk-4FWETID5.js.map → chunk-IVAWP6HH.js.map} +0 -0
  146. /package/dist/{chunk-UBB7T54N.js.map → chunk-JKKU2WKG.js.map} +0 -0
  147. /package/dist/{chunk-56R2ER7K.js.map → chunk-NBYKLUF6.js.map} +0 -0
  148. /package/dist/{chunk-QARPXSIV.js.map → chunk-P23RVIUY.js.map} +0 -0
  149. /package/dist/{chunk-25CPWJA7.js.map → chunk-SILKSP2Y.js.map} +0 -0
  150. /package/dist/{chunk-LN76OGNR.js.map → chunk-Z2MRSS2I.js.map} +0 -0
  151. /package/dist/{chunk-ZMLVR4J7.js.map → chunk-ZMAJ2XFD.js.map} +0 -0
  152. /package/dist/{claude-code-WS4NAGZT.js.map → claude-code-DUZNOAS2.js.map} +0 -0
  153. /package/dist/{cline-NNMVCECA.js.map → cline-25KW25IN.js.map} +0 -0
  154. /package/dist/{codebuddy-RBEZGXBG.js.map → codebuddy-ZNYQACMF.js.map} +0 -0
  155. /package/dist/{codebuff-RJIDSEU3.js.map → codebuff-VR6JUDIY.js.map} +0 -0
  156. /package/dist/{continue-MNM7YVJY.js.map → continue-WU2IB5KS.js.map} +0 -0
  157. /package/dist/{copilot-cli-SMTX5F65.js.map → copilot-cli-PAP377OM.js.map} +0 -0
  158. /package/dist/{crush-NYDBHIJE.js.map → crush-3AVQA4YU.js.map} +0 -0
  159. /package/dist/{cursor-AOELDNZU.js.map → cursor-GSLUET3V.js.map} +0 -0
  160. /package/dist/{detect-3S46RUMK.js.map → detect-DYQNUMXL.js.map} +0 -0
  161. /package/dist/{devin-PRJY2TTD.js.map → devin-QMEM3OFA.js.map} +0 -0
  162. /package/dist/{droid-PTCH2K7Y.js.map → droid-MOKV53J4.js.map} +0 -0
  163. /package/dist/{gemini-cli-QGLN2UMS.js.map → gemini-cli-47ZHCOZR.js.map} +0 -0
  164. /package/dist/{goose-DQ6GSZ5O.js.map → goose-4EI5MYTI.js.map} +0 -0
  165. /package/dist/{grok-cli-5QD235UB.js.map → grok-cli-QYQPDSVB.js.map} +0 -0
  166. /package/dist/{hermes-E47IG63A.js.map → hermes-F75OSK3Y.js.map} +0 -0
  167. /package/dist/{hook-P6EKDINW.js.map → hook-GIQTUDMN.js.map} +0 -0
  168. /package/dist/{junie-SQ4SDLGK.js.map → junie-DIFN2P22.js.map} +0 -0
  169. /package/dist/{kilo-OU2ZLZKB.js.map → kilo-EMZJBEBB.js.map} +0 -0
  170. /package/dist/{kilo-cli-NMWGYF4F.js.map → kilo-cli-S3GXBPAE.js.map} +0 -0
  171. /package/dist/{kimi-Z7L2LEEI.js.map → kimi-IQJOIY6B.js.map} +0 -0
  172. /package/dist/{kiro-4IN5IH46.js.map → kiro-BYX4HEAJ.js.map} +0 -0
  173. /package/dist/{leaderboard-LF5SP6X2.js.map → leaderboard-CIMQBOUS.js.map} +0 -0
  174. /package/dist/{mimo-code-G2CBZ4M6.js.map → mimo-code-7R53QDHB.js.map} +0 -0
  175. /package/dist/{mistral-vibe-TRQDHAWV.js.map → mistral-vibe-LHJ55FSB.js.map} +0 -0
  176. /package/dist/{mux-JNM3F2NW.js.map → mux-NYCNGL43.js.map} +0 -0
  177. /package/dist/{nemoclaw-SHA4IUML.js.map → nemoclaw-WSIPSE7U.js.map} +0 -0
  178. /package/dist/{omp-OOVUNXME.js.map → omp-562NK5BJ.js.map} +0 -0
  179. /package/dist/{open-interpreter-4PKL56AA.js.map → open-interpreter-I2CNOEXY.js.map} +0 -0
  180. /package/dist/{openclaw-BD56E5MV.js.map → openclaw-7EYBQS4R.js.map} +0 -0
  181. /package/dist/{opencode-W2RK4M7G.js.map → opencode-YS4WX2E2.js.map} +0 -0
  182. /package/dist/{openhands-5LNH3BKB.js.map → openhands-QMYIKNOS.js.map} +0 -0
  183. /package/dist/{package-2EAIYSJ4.js.map → package-LIPZKHAQ.js.map} +0 -0
  184. /package/dist/{pi-BUADR5MJ.js.map → pi-644FIN3A.js.map} +0 -0
  185. /package/dist/{qwen-code-TUJNHKNI.js.map → qwen-code-STDMX7EM.js.map} +0 -0
  186. /package/dist/{roo-code-L5F7S6QH.js.map → roo-code-DLPIHHQ6.js.map} +0 -0
  187. /package/dist/{serve-K62FW3V7.js.map → serve-ABTO2NA2.js.map} +0 -0
  188. /package/dist/{status-E5MCFZM6.js.map → status-J7SOUH7O.js.map} +0 -0
  189. /package/dist/{statusline-LIPF2KVP.js.map → statusline-QF4G724E.js.map} +0 -0
  190. /package/dist/{telemetry-4OC56NTM.js.map → telemetry-EICCFEIF.js.map} +0 -0
  191. /package/dist/{trae-Z7CQ2A2Q.js.map → trae-UOYD6JZZ.js.map} +0 -0
  192. /package/dist/{usage-3PB3WZSL.js.map → usage-VEVBWPLS.js.map} +0 -0
  193. /package/dist/{usage-event-KD5FW6W4.js.map → usage-event-GRQE7XWT.js.map} +0 -0
  194. /package/dist/{warp-4PPG5LOM.js.map → warp-QYJGKURM.js.map} +0 -0
  195. /package/dist/{windsurf-3T3RVXKM.js.map → windsurf-75LLZ37C.js.map} +0 -0
  196. /package/dist/{zed-ZF2OQ75O.js.map → zed-HKAZXEJW.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-EHP7WISI.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-ZMAJ2XFD.js";
11
11
  import {
12
12
  isNativeHookDeclared,
13
13
  runHook,
14
14
  runNativeHook
15
- } from "../chunk-LAIITCMW.js";
15
+ } from "../chunk-I5TO42QC.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-KSPMSRVU.js";
19
+ import "../chunk-KJLFGQQM.js";
20
+ import "../chunk-SILKSP2Y.js";
21
+ import "../chunk-NBYKLUF6.js";
22
+ import "../chunk-4NHXLXSD.js";
23
+ import "../chunk-UMQ6NBQR.js";
24
+ import "../chunk-GZGLCCEE.js";
25
25
  export {
26
26
  isNativeHookDeclared,
27
27
  runAction,
@@ -1,7 +1,7 @@
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';
1
+ export { C as ConnectorConfigError, d as defineAction, a as defineCommand, b as defineConfigPatch, c as defineConnector, e as defineHook, f as defineMemory, g as defineNativeHook, h as defineSkill, i as defineStatusline, j as defineSubagent } from '../define-connector-LQFJL_at.js';
2
+ export { S as SURFACE_PREDICATES, a as SurfaceName, c as capabilitiesOf, h as hostsSupporting, s as surfaceSupport } from '../introspect-D4fEGuhN.js';
3
+ import { o as PlatformId } from '../types-BhcUEIJJ.js';
4
+ export { A as ActionDef, a as ActionResult, b as AuthSpec, Q as CommandDef, V as ConfigPatchDef, c as ConnectorConfig, E as EventPayloadMap, H as HookDefinition, e as HookEventName, f as HookParadigm, g as HookResponse, h as HooksConfig, i as HostCtx, j as InstallScope, W as JsonValue, k as MemoryDef, N as NativeHookDef, l as NativeHookEvent, m as NotificationEvent, P as PermissionRequestEvent, n as PlatformCapabilities, p as PlatformMemoryOverride, q as PlatformOverride, r as PostToolUseEvent, s as PostToolUseFailureEvent, t as PreCompactEvent, u as PreToolUseEvent, X as PublishConfig, v as ResolvedConnector, S as ServerDef, w as SessionEndEvent, x as SessionStartEvent, Y as SkillDef, y as StatuslineContext, z as StatuslineDef, B as StopEvent, Z as SubagentDef, F as SubagentStartEvent, G as SubagentStopEvent, _ as SurfaceToolPolicy, T as TelemetryAccessor, J as TelemetryConfig, K as TelemetryUsageSummary, L as ToolFilter, O as Transport, U as UserPromptSubmitEvent } from '../types-BhcUEIJJ.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-2RIFORQS.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-KJLFGQQM.js";
21
+ import "../chunk-SILKSP2Y.js";
22
+ import "../chunk-NBYKLUF6.js";
23
+ import "../chunk-UMQ6NBQR.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 { o as PlatformId, e as HookEventName, v as ResolvedConnector } from '../types-BhcUEIJJ.js';
2
+ import { a as SurfaceName } from '../introspect-D4fEGuhN.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-P23RVIUY.js";
7
+ import "../chunk-I5TO42QC.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-2RIFORQS.js";
11
+ import "../chunk-KSPMSRVU.js";
12
+ import "../chunk-KJLFGQQM.js";
13
+ import "../chunk-SILKSP2Y.js";
14
+ import "../chunk-NBYKLUF6.js";
15
+ import "../chunk-UMQ6NBQR.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-OEADFFKO.js";
5
5
  import {
6
6
  runServe
7
- } from "./chunk-BLTVZACS.js";
7
+ } from "./chunk-EHP7WISI.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-ZMAJ2XFD.js";
11
+ import "./chunk-I5TO42QC.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-KSPMSRVU.js";
15
+ import "./chunk-KJLFGQQM.js";
16
+ import "./chunk-SILKSP2Y.js";
17
+ import "./chunk-NBYKLUF6.js";
18
+ import "./chunk-4NHXLXSD.js";
19
+ import "./chunk-UMQ6NBQR.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-ABTO2NA2.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-OEADFFKO.js";
11
11
  import {
12
12
  detectInstalledPlatforms
13
- } from "./chunk-ZMLVR4J7.js";
13
+ } from "./chunk-ZMAJ2XFD.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-KSPMSRVU.js";
19
+ import "./chunk-KJLFGQQM.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-SILKSP2Y.js";
23
+ import "./chunk-NBYKLUF6.js";
24
+ import "./chunk-UMQ6NBQR.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-J7SOUH7O.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-EHP7WISI.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-ZMAJ2XFD.js";
8
+ import "./chunk-I5TO42QC.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-KSPMSRVU.js";
12
+ import "./chunk-KJLFGQQM.js";
13
+ import "./chunk-SILKSP2Y.js";
14
+ import "./chunk-NBYKLUF6.js";
15
+ import "./chunk-4NHXLXSD.js";
16
+ import "./chunk-UMQ6NBQR.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-QF4G724E.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-OEADFFKO.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-KSPMSRVU.js";
25
+ import "./chunk-KJLFGQQM.js";
26
+ import "./chunk-SILKSP2Y.js";
27
+ import "./chunk-NBYKLUF6.js";
28
+ import "./chunk-UMQ6NBQR.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-EICCFEIF.js.map
@@ -5,13 +5,13 @@ import {
5
5
  import {
6
6
  BaseAdapter,
7
7
  renderSkillMd
8
- } from "./chunk-VVFDU4IX.js";
8
+ } from "./chunk-MGTDQLJJ.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-UMQ6NBQR.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-UOYD6JZZ.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
  /**
@@ -950,11 +958,46 @@ interface PublishConfig {
950
958
  url?: string;
951
959
  };
952
960
  }
961
+ /**
962
+ * MCP package identity read from the developer's package.json or from the
963
+ * wrapped npm package metadata. This is the source of truth for the branded
964
+ * package/bin that users see; the host MCP key/runtime id can be derived from it
965
+ * using common MCP package naming conventions.
966
+ */
967
+ interface McpPackageIdentity {
968
+ /** npm package that ships the branded MCP connector or upstream MCP server. */
969
+ packageName?: string;
970
+ /** MCP registry canonical name, usually package.json `mcpName`. */
971
+ mcpName?: string;
972
+ /** package.json `bin` exposed to users, e.g. "acme-db". */
973
+ bin?: string;
974
+ /**
975
+ * Advanced override for the host MCP config key/runtime id. Omit for the
976
+ * normal package-derived alias; set only for multi-instance installs.
977
+ */
978
+ hostAlias?: string;
979
+ }
980
+ interface ResolvedMcpPackageIdentity extends McpPackageIdentity {
981
+ /** The derived host MCP config key/runtime id when one can be inferred. */
982
+ hostAlias?: string;
983
+ }
953
984
  /** What a developer passes to defineConnector(). */
954
985
  interface ConnectorConfig {
955
- /** Stable connector id (kebab-case). Replaces context-mode's hardcoded identity. */
956
- id: string;
986
+ /**
987
+ * Optional stable MCP server/install id (kebab-case). Prefer package.json
988
+ * identity (`name`, `mcpName`, `bin`) so agent-connector can derive this from
989
+ * the package that ships the connector. Keep `id` for explicit multi-instance
990
+ * aliases or legacy configs.
991
+ */
992
+ id?: string;
993
+ /** Override package identity when package.json is absent or intentionally different. */
994
+ mcp?: McpPackageIdentity;
995
+ /** Optional host-facing label override; defaults to id. */
957
996
  displayName?: string;
997
+ /**
998
+ * Optional connector version override. Prefer package.json `version` when the
999
+ * connector config ships inside an npm package.
1000
+ */
958
1001
  version?: string;
959
1002
  /** The MCP server to deploy. Omit for a hooks-only connector. */
960
1003
  server?: ServerDef;
@@ -998,6 +1041,7 @@ interface ConnectorConfig {
998
1041
  */
999
1042
  interface ResolvedConnector {
1000
1043
  id: string;
1044
+ mcp?: ResolvedMcpPackageIdentity;
1001
1045
  displayName: string;
1002
1046
  version: string;
1003
1047
  server?: ServerDef;
@@ -1061,6 +1105,41 @@ interface InstallResult {
1061
1105
  dryRun: boolean;
1062
1106
  changes: ChangeRecord[];
1063
1107
  warnings: string[];
1108
+ /**
1109
+ * Render-only digest of the resolved connector (id/version/server/hooks/
1110
+ * telemetry/surface counts), threaded in by the CLI command so the friendly
1111
+ * renderer can print a connector header. OPTIONAL: the core install/uninstall
1112
+ * functions never populate it (they don't shape presentation) — the CLI
1113
+ * attaches it from the {@link ResolvedConnector} it already loaded. The
1114
+ * `--json` machine contract does NOT include it; see cli/app
1115
+ * buildConnectorSummary / renderInstallResult.
1116
+ */
1117
+ connector?: ConnectorSummary;
1118
+ }
1119
+ /**
1120
+ * A minimal, presentation-only digest of a {@link ResolvedConnector} used by the
1121
+ * CLI's friendly install/uninstall/upgrade output. Lives here (not in cli/) so
1122
+ * {@link InstallResult} can reference it without a CLI→core import cycle; it is
1123
+ * BUILT by cli/app buildConnectorSummary. Render-only: never part of any machine
1124
+ * (JSON) contract.
1125
+ */
1126
+ interface ConnectorSummary {
1127
+ id: string;
1128
+ version: string;
1129
+ displayName?: string;
1130
+ /** stdio command line / remote URL; absent ⇒ hooks-only connector. */
1131
+ server?: {
1132
+ transport: string;
1133
+ command: string;
1134
+ };
1135
+ hookEvents: string[];
1136
+ telemetryEnabled: boolean;
1137
+ commands: number;
1138
+ skills: number;
1139
+ subagents: number;
1140
+ memory: number;
1141
+ hasStatusline: boolean;
1142
+ actions: number;
1064
1143
  }
1065
1144
  interface DiagnosticResult {
1066
1145
  check: string;
@@ -1075,4 +1154,4 @@ interface DiagnosticResult {
1075
1154
  fixable?: boolean;
1076
1155
  }
1077
1156
 
1078
- export type { ActionDef as A, SubagentDef as B, CommandDef as C, SubagentStartEvent as D, EventPayloadMap as E, SubagentStopEvent as F, SurfaceToolPolicy as G, HookDefinition as H, InstallScope as I, JsonValue as J, TelemetryConfig as K, TelemetryUsageSummary as L, MemoryDef as M, NativeHookDef as N, ToolFilter as O, PlatformId as P, Transport as Q, ResolvedConnector as R, ServerDef as S, TelemetryAccessor as T, UserPromptSubmitEvent as U, ChangeRecord as V, DetectedPlatform as W, DiagnosticResult as X, InstallResult as Y, ActionResult as a, AuthSpec as b, ConfigPatchDef as c, ConnectorConfig as d, HookEventName as e, HookParadigm as f, HookResponse as g, HooksConfig as h, HostCtx as i, NativeHookEvent as j, NotificationEvent as k, PermissionRequestEvent as l, PlatformCapabilities as m, PlatformMemoryOverride as n, PlatformOverride as o, PostToolUseEvent as p, PostToolUseFailureEvent as q, PreCompactEvent as r, PreToolUseEvent as s, PublishConfig as t, SessionEndEvent as u, SessionStartEvent as v, SkillDef as w, StatuslineContext as x, StatuslineDef as y, StopEvent as z };
1157
+ export type { ActionDef as A, StopEvent as B, ChangeRecord as C, DetectedPlatform as D, EventPayloadMap as E, SubagentStartEvent as F, SubagentStopEvent as G, HookDefinition as H, InstallResult as I, TelemetryConfig as J, TelemetryUsageSummary as K, ToolFilter as L, McpPackageIdentity as M, NativeHookDef as N, Transport as O, PermissionRequestEvent as P, CommandDef as Q, ResolvedMcpPackageIdentity as R, ServerDef as S, TelemetryAccessor as T, UserPromptSubmitEvent as U, ConfigPatchDef as V, JsonValue as W, PublishConfig as X, SkillDef as Y, SubagentDef as Z, SurfaceToolPolicy as _, ActionResult as a, AuthSpec as b, ConnectorConfig as c, DiagnosticResult as d, HookEventName as e, HookParadigm as f, HookResponse as g, HooksConfig as h, HostCtx as i, InstallScope as j, MemoryDef as k, NativeHookEvent as l, NotificationEvent as m, PlatformCapabilities as n, PlatformId as o, PlatformMemoryOverride as p, PlatformOverride as q, PostToolUseEvent as r, PostToolUseFailureEvent as s, PreCompactEvent as t, PreToolUseEvent as u, ResolvedConnector as v, SessionEndEvent as w, SessionStartEvent as x, StatuslineContext as y, StatuslineDef as z };
@@ -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-TTKSYJRY.js";
9
+ import "./chunk-B5W3RHTI.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-6WZODR3Z.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-OEADFFKO.js";
26
+ import "./chunk-Z2MRSS2I.js";
27
+ import "./chunk-ZMAJ2XFD.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-KSPMSRVU.js";
33
+ import "./chunk-KJLFGQQM.js";
34
+ import "./chunk-SILKSP2Y.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-MGTDQLJJ.js";
39
+ import "./chunk-4NHXLXSD.js";
40
+ import "./chunk-UMQ6NBQR.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-NJNNZZZY.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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuBA,SAAS,iBAAiB;AAqC1B,eAAe,mBACb,YACA,eACA,YAC+D;AAC/D,MAAI,cAAc,WAAW,KAAK,MAAM,GAAI,QAAO,EAAE,IAAI,WAAW;AACpE,QAAM,aAAa,iBAAiB,oBAAoB,UAAU;AAClE,MAAI,CAAC,WAAY,QAAO;AACxB,QAAM,EAAE,UAAU,IAAI,MAAM,sBAAsB,UAAU;AAC5D,SAAO,EAAE,IAAI,UAAU,IAAI,UAAU;AACvC;AAEA,eAAsB,IAAI,MAAiC;AACzD,QAAM,EAAE,OAAO,IAAI,UAAU;AAAA,IAC3B,MAAM;AAAA,IACN,SAAS;AAAA,MACP,QAAQ,EAAE,MAAM,UAAU,SAAS,OAAO;AAAA,MAC1C,OAAO,EAAE,MAAM,UAAU,SAAS,OAAO;AAAA,MACzC,SAAS,EAAE,MAAM,SAAS;AAAA,MAC1B,WAAW,EAAE,MAAM,SAAS;AAAA,MAC5B,gBAAgB,EAAE,MAAM,SAAS;AAAA,MACjC,SAAS,EAAE,MAAM,SAAS;AAAA,MAC1B,WAAW,EAAE,MAAM,WAAW,SAAS,MAAM;AAAA,MAC7C,OAAO,EAAE,MAAM,WAAW,SAAS,MAAM;AAAA;AAAA,MAEzC,OAAO,EAAE,MAAM,WAAW,SAAS,MAAM;AAAA,IAC3C;AAAA,IACA,kBAAkB;AAAA,EACpB,CAAC;AAED,mBAAiB,EAAE,OAAO,OAAO,MAAM,CAAC;AAExC,QAAM,SAAS,qBAAqB,OAAO,MAAM;AACjD,MAAI,UAAU,MAAM;AAClB,WAAO,KAAK,qBAAqB,OAAO,MAAM,iCAAiC;AAAA,EACjF;AAEA,QAAM,aAAa,OAAO,WAAW,QAAQ,IAAI;AAEjD,QAAM,QAAQ,WAAW,OAAO,KAAK;AACrC,MAAI,SAAS,KAAM,QAAO,KAAK,oBAAoB,OAAO,KAAK,sBAAsB;AAErF,QAAM,WAAW,MAAM;AAAA,IACrB,OAAO,cAAc;AAAA,IACrB,OAAO;AAAA,IACP;AAAA,EACF;AACA,MAAI,CAAC,UAAU;AACb,WAAO;AAAA,MACL;AAAA,IAEF;AAAA,EACF;AACA,QAAM,cAAc,SAAS;AAI7B,QAAM,UAAwC,SAAS,YACnD,sBAAsB,SAAS,SAAS,IACxC;AASJ,MAAI;AACF,sBAAkB,WAAW;AAAA,EAC/B,SAAS,KAAK;AACZ,WAAO,KAAK,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG,CAAC;AAAA,EAC9D;AAEA,QAAM,UAAU,aAAa,OAAO,OAAO;AAC3C,QAAM,SAAS,OAAO,SAAS;AAK/B,MAAI,WAAW,eAAe;AAC5B,UAAM,SAAS,MAAM,wBAAwB;AAAA,MAC3C;AAAA,MACA;AAAA,MACA;AAAA,MACA,OAAO,OAAO;AAAA,MACd,GAAI,UAAU,EAAE,QAAQ,IAAI,CAAC;AAAA,IAC/B,CAAC;AACD,QAAI,OAAO,MAAO,qBAAoB,aAAa,QAAQ,MAAM;AACjE,WAAO,YAAY;AACnB,UAAM,oBAAoB,QAAQ,WAAW,CAAC;AAC9C,WAAO,OAAO,QAAQ,KAAK,CAAC,MAAM,EAAE,WAAW,MAAM,IAAI,IAAI;AAAA,EAC/D;AAIA,MAAI,qBAAmC,CAAC;AACxC,MAAI,gBAA8B,CAAC;AACnC,MAAI,WAAW,QAAQ;AACrB,UAAM,kBAAkB,MAAM,wBAAwB,aAAa,SAAS,UAAU;AAKtF,UAAM,WAAW,UACb,CAAC,IACA,OAAO,KAAK,wBAAwB,WAAW,CAAC;AACrD,UAAM,aAAa,CAAC,GAAG,oBAAI,IAAI,CAAC,GAAG,iBAAiB,GAAG,QAAQ,CAAC,CAAC;AACjE,yBAAqB,WAAW;AAAA,MAC9B,CAAC,OAAO,oBAAoB,aAAa,EAAE,KAAK;AAAA,IAClD;AACA,oBAAgB,gBAAgB,OAAO,CAAC,OAAO,CAAC,mBAAmB,SAAS,EAAE,CAAC;AAAA,EACjF;AAKA,MAAI,mBAAmB,WAAW,GAAG;AACnC,UAAM,SAAS,MAAM,mBAAmB;AAAA,MACtC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,OAAO,OAAO;AAAA,MACd,GAAI,UAAU,EAAE,QAAQ,IAAI,CAAC;AAAA,IAC/B,CAAC;AACD,WAAO,YAAY;AACnB,UAAM,oBAAoB,QAAQ,WAAW,CAAC;AAC9C,WAAO,OAAO,QAAQ,KAAK,CAAC,MAAM,EAAE,WAAW,MAAM,IAAI,IAAI;AAAA,EAC/D;AAEA,QAAM,UAA2B;AAAA,IAC/B,MAAM,wBAAwB;AAAA,MAC5B;AAAA,MACA;AAAA,MACA,SAAS;AAAA,MACT;AAAA,MACA,OAAO,OAAO;AAAA,IAChB,CAAC;AAAA,EACH;AAMA,MAAI,cAAc,SAAS,GAAG;AAC5B,YAAQ;AAAA,MACN,MAAM,mBAAmB;AAAA,QACvB;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,OAAO,OAAO;AAAA,QACd,SAAS;AAAA,MACX,CAAC;AAAA,IACH;AAAA,EACF,WAAW,OAAO,OAAO;AACvB,UAAM,cAA6B;AAAA,MACjC;AAAA,MACA;AAAA,MACA,SAAS,CAAC;AAAA,MACV,UAAU,CAAC;AAAA,IACb;AACA,QAAI,QAAQ;AAIV,kBAAY,QAAQ,KAAK;AAAA,QACvB,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QACE;AAAA,MACJ,CAAC;AAAA,IACH,OAAO;AACL,0BAAoB,aAAa,QAAQ,WAAW;AAAA,IACtD;AACA,YAAQ,KAAK,WAAW;AAAA,EAC1B;AAEA,QAAM,SAAwB;AAAA,IAC5B;AAAA,IACA;AAAA,IACA,SAAS,QAAQ,QAAQ,CAAC,MAAM,EAAE,OAAO;AAAA,IACzC,UAAU,QAAQ,QAAQ,CAAC,MAAM,EAAE,QAAQ;AAAA,IAC3C,WAAW;AAAA,EACb;AACA,QAAM,oBAAoB,QAAQ,WAAW,CAAC;AAC9C,SAAO,OAAO,QAAQ,KAAK,CAAC,MAAM,EAAE,WAAW,MAAM,IAAI,IAAI;AAC/D;","names":[]}