@skillsmith/core 0.12.0 → 0.12.2

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 (290) hide show
  1. package/CHANGELOG.md +166 -1
  2. package/README.md +7 -8
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/src/api/client.d.ts +5 -3
  5. package/dist/src/api/client.d.ts.map +1 -1
  6. package/dist/src/api/client.js +23 -33
  7. package/dist/src/api/client.js.map +1 -1
  8. package/dist/src/api/client.registry-sync.d.ts +28 -0
  9. package/dist/src/api/client.registry-sync.d.ts.map +1 -0
  10. package/dist/src/api/client.registry-sync.js +36 -0
  11. package/dist/src/api/client.registry-sync.js.map +1 -0
  12. package/dist/src/api/client.test.js +185 -0
  13. package/dist/src/api/client.test.js.map +1 -1
  14. package/dist/src/api/client.toSkill.d.ts +16 -0
  15. package/dist/src/api/client.toSkill.d.ts.map +1 -0
  16. package/dist/src/api/client.toSkill.js +46 -0
  17. package/dist/src/api/client.toSkill.js.map +1 -0
  18. package/dist/src/api/client.types.d.ts +22 -0
  19. package/dist/src/api/client.types.d.ts.map +1 -1
  20. package/dist/src/api/index.d.ts +1 -1
  21. package/dist/src/api/index.d.ts.map +1 -1
  22. package/dist/src/api/index.js.map +1 -1
  23. package/dist/src/api/schemas.d.ts +28 -0
  24. package/dist/src/api/schemas.d.ts.map +1 -1
  25. package/dist/src/api/schemas.js +13 -0
  26. package/dist/src/api/schemas.js.map +1 -1
  27. package/dist/src/audit/remote-audit.d.ts +85 -0
  28. package/dist/src/audit/remote-audit.d.ts.map +1 -1
  29. package/dist/src/audit/remote-audit.js +126 -3
  30. package/dist/src/audit/remote-audit.js.map +1 -1
  31. package/dist/src/audit/remote-audit.test.js +217 -1
  32. package/dist/src/audit/remote-audit.test.js.map +1 -1
  33. package/dist/src/config/index.d.ts +1 -0
  34. package/dist/src/config/index.d.ts.map +1 -1
  35. package/dist/src/config/index.js.map +1 -1
  36. package/dist/src/config/token-credentials.d.ts +20 -0
  37. package/dist/src/config/token-credentials.d.ts.map +1 -1
  38. package/dist/src/config/token-credentials.js +59 -0
  39. package/dist/src/config/token-credentials.js.map +1 -1
  40. package/dist/src/config/token-credentials.test.d.ts +3 -0
  41. package/dist/src/config/token-credentials.test.d.ts.map +1 -1
  42. package/dist/src/config/token-credentials.test.js +68 -0
  43. package/dist/src/config/token-credentials.test.js.map +1 -1
  44. package/dist/src/db/migration-runner.d.ts.map +1 -1
  45. package/dist/src/db/migration-runner.js +6 -0
  46. package/dist/src/db/migration-runner.js.map +1 -1
  47. package/dist/src/db/migrations/v18-skill-versions-real-content-hash.d.ts +36 -0
  48. package/dist/src/db/migrations/v18-skill-versions-real-content-hash.d.ts.map +1 -0
  49. package/dist/src/db/migrations/v18-skill-versions-real-content-hash.js +38 -0
  50. package/dist/src/db/migrations/v18-skill-versions-real-content-hash.js.map +1 -0
  51. package/dist/src/db/schema.d.ts +1 -1
  52. package/dist/src/db/schema.d.ts.map +1 -1
  53. package/dist/src/db/schema.js +3 -1
  54. package/dist/src/db/schema.js.map +1 -1
  55. package/dist/src/exports/services.d.ts +3 -7
  56. package/dist/src/exports/services.d.ts.map +1 -1
  57. package/dist/src/exports/services.install.d.ts +18 -0
  58. package/dist/src/exports/services.install.d.ts.map +1 -0
  59. package/dist/src/exports/services.install.js +62 -0
  60. package/dist/src/exports/services.install.js.map +1 -0
  61. package/dist/src/exports/services.js +12 -32
  62. package/dist/src/exports/services.js.map +1 -1
  63. package/dist/src/exports/types.d.ts +1 -1
  64. package/dist/src/exports/types.d.ts.map +1 -1
  65. package/dist/src/index.d.ts +6 -6
  66. package/dist/src/index.d.ts.map +1 -1
  67. package/dist/src/index.js +8 -5
  68. package/dist/src/index.js.map +1 -1
  69. package/dist/src/install/agent-config-merge.json.d.ts +5 -4
  70. package/dist/src/install/agent-config-merge.json.d.ts.map +1 -1
  71. package/dist/src/install/agent-config-merge.json.js +10 -9
  72. package/dist/src/install/agent-config-merge.json.js.map +1 -1
  73. package/dist/src/install/agent-config-merge.types.d.ts +11 -1
  74. package/dist/src/install/agent-config-merge.types.d.ts.map +1 -1
  75. package/dist/src/install/agent-config-merge.types.js.map +1 -1
  76. package/dist/src/install/agent-harness-targets.d.ts +30 -2
  77. package/dist/src/install/agent-harness-targets.d.ts.map +1 -1
  78. package/dist/src/install/agent-harness-targets.js +17 -0
  79. package/dist/src/install/agent-harness-targets.js.map +1 -1
  80. package/dist/src/install/agent-manifest-path-guard.d.ts +28 -3
  81. package/dist/src/install/agent-manifest-path-guard.d.ts.map +1 -1
  82. package/dist/src/install/agent-manifest-path-guard.js +59 -3
  83. package/dist/src/install/agent-manifest-path-guard.js.map +1 -1
  84. package/dist/src/install/agent-manifest-path-guard.test.js +27 -1
  85. package/dist/src/install/agent-manifest-path-guard.test.js.map +1 -1
  86. package/dist/src/install/agent-pack-installer.antigravity-mcp.d.ts +74 -0
  87. package/dist/src/install/agent-pack-installer.antigravity-mcp.d.ts.map +1 -0
  88. package/dist/src/install/agent-pack-installer.antigravity-mcp.js +106 -0
  89. package/dist/src/install/agent-pack-installer.antigravity-mcp.js.map +1 -0
  90. package/dist/src/install/agent-pack-installer.antigravity-mcp.test.d.ts +2 -0
  91. package/dist/src/install/agent-pack-installer.antigravity-mcp.test.d.ts.map +1 -0
  92. package/dist/src/install/agent-pack-installer.antigravity-mcp.test.js +157 -0
  93. package/dist/src/install/agent-pack-installer.antigravity-mcp.test.js.map +1 -0
  94. package/dist/src/install/agent-pack-installer.cursor-mcp.d.ts +53 -0
  95. package/dist/src/install/agent-pack-installer.cursor-mcp.d.ts.map +1 -0
  96. package/dist/src/install/agent-pack-installer.cursor-mcp.js +207 -0
  97. package/dist/src/install/agent-pack-installer.cursor-mcp.js.map +1 -0
  98. package/dist/src/install/agent-pack-installer.cursor-mcp.test.d.ts +2 -0
  99. package/dist/src/install/agent-pack-installer.cursor-mcp.test.d.ts.map +1 -0
  100. package/dist/src/install/agent-pack-installer.cursor-mcp.test.js +285 -0
  101. package/dist/src/install/agent-pack-installer.cursor-mcp.test.js.map +1 -0
  102. package/dist/src/install/agent-pack-installer.d.ts +8 -0
  103. package/dist/src/install/agent-pack-installer.d.ts.map +1 -1
  104. package/dist/src/install/agent-pack-installer.entry.d.ts +120 -3
  105. package/dist/src/install/agent-pack-installer.entry.d.ts.map +1 -1
  106. package/dist/src/install/agent-pack-installer.entry.js +166 -3
  107. package/dist/src/install/agent-pack-installer.entry.js.map +1 -1
  108. package/dist/src/install/agent-pack-installer.js +97 -3
  109. package/dist/src/install/agent-pack-installer.js.map +1 -1
  110. package/dist/src/install/agent-pack-installer.types.d.ts +27 -0
  111. package/dist/src/install/agent-pack-installer.types.d.ts.map +1 -1
  112. package/dist/src/install/agent-pack-installer.types.js +6 -0
  113. package/dist/src/install/agent-pack-installer.types.js.map +1 -1
  114. package/dist/src/install/agent-pack-installer.workspace-scope.test.d.ts +2 -0
  115. package/dist/src/install/agent-pack-installer.workspace-scope.test.d.ts.map +1 -0
  116. package/dist/src/install/agent-pack-installer.workspace-scope.test.js +148 -0
  117. package/dist/src/install/agent-pack-installer.workspace-scope.test.js.map +1 -0
  118. package/dist/src/install/agent-pack-uninstaller.d.ts +18 -7
  119. package/dist/src/install/agent-pack-uninstaller.d.ts.map +1 -1
  120. package/dist/src/install/agent-pack-uninstaller.js +59 -9
  121. package/dist/src/install/agent-pack-uninstaller.js.map +1 -1
  122. package/dist/src/install/agent-pack-uninstaller.test.js +74 -1
  123. package/dist/src/install/agent-pack-uninstaller.test.js.map +1 -1
  124. package/dist/src/install/fan-out.d.ts.map +1 -1
  125. package/dist/src/install/fan-out.js +6 -0
  126. package/dist/src/install/fan-out.js.map +1 -1
  127. package/dist/src/install/index.d.ts +2 -0
  128. package/dist/src/install/index.d.ts.map +1 -1
  129. package/dist/src/install/index.js +2 -0
  130. package/dist/src/install/index.js.map +1 -1
  131. package/dist/src/install/workspace-scope.d.ts +207 -0
  132. package/dist/src/install/workspace-scope.d.ts.map +1 -0
  133. package/dist/src/install/workspace-scope.js +275 -0
  134. package/dist/src/install/workspace-scope.js.map +1 -0
  135. package/dist/src/install/workspace-scope.test.d.ts +2 -0
  136. package/dist/src/install/workspace-scope.test.d.ts.map +1 -0
  137. package/dist/src/install/workspace-scope.test.js +378 -0
  138. package/dist/src/install/workspace-scope.test.js.map +1 -0
  139. package/dist/src/security/__tests__/pathValidation.test.js +30 -1
  140. package/dist/src/security/__tests__/pathValidation.test.js.map +1 -1
  141. package/dist/src/services/SubagentGenerator.client-profiles.d.ts +258 -0
  142. package/dist/src/services/SubagentGenerator.client-profiles.d.ts.map +1 -0
  143. package/dist/src/services/SubagentGenerator.client-profiles.js +260 -0
  144. package/dist/src/services/SubagentGenerator.client-profiles.js.map +1 -0
  145. package/dist/src/services/SubagentGenerator.d.ts +19 -41
  146. package/dist/src/services/SubagentGenerator.d.ts.map +1 -1
  147. package/dist/src/services/SubagentGenerator.helpers.d.ts +64 -0
  148. package/dist/src/services/SubagentGenerator.helpers.d.ts.map +1 -0
  149. package/dist/src/services/SubagentGenerator.helpers.js +228 -0
  150. package/dist/src/services/SubagentGenerator.helpers.js.map +1 -0
  151. package/dist/src/services/SubagentGenerator.js +66 -208
  152. package/dist/src/services/SubagentGenerator.js.map +1 -1
  153. package/dist/src/services/SubagentGenerator.types.d.ts +45 -0
  154. package/dist/src/services/SubagentGenerator.types.d.ts.map +1 -0
  155. package/dist/src/services/SubagentGenerator.types.js +14 -0
  156. package/dist/src/services/SubagentGenerator.types.js.map +1 -0
  157. package/dist/src/services/TransformationService.d.ts +18 -61
  158. package/dist/src/services/TransformationService.d.ts.map +1 -1
  159. package/dist/src/services/TransformationService.js +29 -17
  160. package/dist/src/services/TransformationService.js.map +1 -1
  161. package/dist/src/services/TransformationService.types.d.ts +74 -0
  162. package/dist/src/services/TransformationService.types.d.ts.map +1 -0
  163. package/dist/src/services/TransformationService.types.js +8 -0
  164. package/dist/src/services/TransformationService.types.js.map +1 -0
  165. package/dist/src/services/__tests__/SubagentGenerator.client-profiles.test.d.ts +5 -0
  166. package/dist/src/services/__tests__/SubagentGenerator.client-profiles.test.d.ts.map +1 -0
  167. package/dist/src/services/__tests__/SubagentGenerator.client-profiles.test.js +72 -0
  168. package/dist/src/services/__tests__/SubagentGenerator.client-profiles.test.js.map +1 -0
  169. package/dist/src/services/__tests__/SubagentGenerator.helpers.test.d.ts +2 -0
  170. package/dist/src/services/__tests__/SubagentGenerator.helpers.test.d.ts.map +1 -0
  171. package/dist/src/services/__tests__/SubagentGenerator.helpers.test.js +61 -0
  172. package/dist/src/services/__tests__/SubagentGenerator.helpers.test.js.map +1 -0
  173. package/dist/src/services/__tests__/SubagentGenerator.test.js +155 -0
  174. package/dist/src/services/__tests__/SubagentGenerator.test.js.map +1 -1
  175. package/dist/src/services/__tests__/TransformationService.test.js +48 -0
  176. package/dist/src/services/__tests__/TransformationService.test.js.map +1 -1
  177. package/dist/src/services/agent-pack/agent-pack.test.js +1 -0
  178. package/dist/src/services/agent-pack/agent-pack.test.js.map +1 -1
  179. package/dist/src/services/agent-pack/prompt-source.d.ts +1 -1
  180. package/dist/src/services/agent-pack/prompt-source.d.ts.map +1 -1
  181. package/dist/src/services/agent-pack/prompt-source.js +10 -3
  182. package/dist/src/services/agent-pack/prompt-source.js.map +1 -1
  183. package/dist/src/services/agent-pack/types.d.ts +26 -2
  184. package/dist/src/services/agent-pack/types.d.ts.map +1 -1
  185. package/dist/src/services/agent-pack/types.js +13 -0
  186. package/dist/src/services/agent-pack/types.js.map +1 -1
  187. package/dist/src/services/agent-tool-profile.d.ts.map +1 -1
  188. package/dist/src/services/agent-tool-profile.js +7 -0
  189. package/dist/src/services/agent-tool-profile.js.map +1 -1
  190. package/dist/src/services/agent-tool-profile.test.js +2 -2
  191. package/dist/src/services/skill-content-comparison.d.ts +71 -0
  192. package/dist/src/services/skill-content-comparison.d.ts.map +1 -0
  193. package/dist/src/services/skill-content-comparison.js +90 -0
  194. package/dist/src/services/skill-content-comparison.js.map +1 -0
  195. package/dist/src/services/skill-content-comparison.test.d.ts +6 -0
  196. package/dist/src/services/skill-content-comparison.test.d.ts.map +1 -0
  197. package/dist/src/services/skill-content-comparison.test.js +83 -0
  198. package/dist/src/services/skill-content-comparison.test.js.map +1 -0
  199. package/dist/src/services/skill-identity-classification.d.ts +202 -0
  200. package/dist/src/services/skill-identity-classification.d.ts.map +1 -0
  201. package/dist/src/services/skill-identity-classification.js +295 -0
  202. package/dist/src/services/skill-identity-classification.js.map +1 -0
  203. package/dist/src/services/skill-identity-classification.test.d.ts +6 -0
  204. package/dist/src/services/skill-identity-classification.test.d.ts.map +1 -0
  205. package/dist/src/services/skill-identity-classification.test.js +314 -0
  206. package/dist/src/services/skill-identity-classification.test.js.map +1 -0
  207. package/dist/src/services/skill-installation.content.d.ts.map +1 -1
  208. package/dist/src/services/skill-installation.content.js +6 -1
  209. package/dist/src/services/skill-installation.content.js.map +1 -1
  210. package/dist/src/services/skill-installation.helpers.d.ts +8 -15
  211. package/dist/src/services/skill-installation.helpers.d.ts.map +1 -1
  212. package/dist/src/services/skill-installation.helpers.js +11 -105
  213. package/dist/src/services/skill-installation.helpers.js.map +1 -1
  214. package/dist/src/services/skill-installation.helpers.test.js +106 -1
  215. package/dist/src/services/skill-installation.helpers.test.js.map +1 -1
  216. package/dist/src/services/skill-installation.service.js +1 -1
  217. package/dist/src/services/skill-installation.service.js.map +1 -1
  218. package/dist/src/services/skill-installation.types.d.ts +33 -0
  219. package/dist/src/services/skill-installation.types.d.ts.map +1 -1
  220. package/dist/src/services/skill-installation.types.js.map +1 -1
  221. package/dist/src/services/skill-installation.uninstall.d.ts +84 -0
  222. package/dist/src/services/skill-installation.uninstall.d.ts.map +1 -0
  223. package/dist/src/services/skill-installation.uninstall.js +252 -0
  224. package/dist/src/services/skill-installation.uninstall.js.map +1 -0
  225. package/dist/src/services/skill-manifest.d.ts +41 -0
  226. package/dist/src/services/skill-manifest.d.ts.map +1 -1
  227. package/dist/src/services/skill-manifest.js +93 -0
  228. package/dist/src/services/skill-manifest.js.map +1 -1
  229. package/dist/src/services/skill-manifest.test.js +27 -0
  230. package/dist/src/services/skill-manifest.test.js.map +1 -1
  231. package/dist/src/sync/SyncEngine.d.ts.map +1 -1
  232. package/dist/src/sync/SyncEngine.js +69 -77
  233. package/dist/src/sync/SyncEngine.js.map +1 -1
  234. package/dist/src/telemetry/agent-marker.d.ts +8 -0
  235. package/dist/src/telemetry/agent-marker.d.ts.map +1 -1
  236. package/dist/src/telemetry/agent-marker.js +7 -0
  237. package/dist/src/telemetry/agent-marker.js.map +1 -1
  238. package/dist/src/telemetry/agent-marker.test.js +7 -1
  239. package/dist/src/telemetry/agent-marker.test.js.map +1 -1
  240. package/dist/src/telemetry/index.d.ts +1 -1
  241. package/dist/src/telemetry/index.d.ts.map +1 -1
  242. package/dist/src/telemetry/index.js +1 -1
  243. package/dist/src/telemetry/index.js.map +1 -1
  244. package/dist/src/telemetry/wrap.d.ts +6 -0
  245. package/dist/src/telemetry/wrap.d.ts.map +1 -1
  246. package/dist/src/telemetry/wrap.js +65 -10
  247. package/dist/src/telemetry/wrap.js.map +1 -1
  248. package/dist/src/telemetry/wrap.test.js +81 -1
  249. package/dist/src/telemetry/wrap.test.js.map +1 -1
  250. package/dist/src/telemetry/wrap.tool-call-sink.test.d.ts +26 -0
  251. package/dist/src/telemetry/wrap.tool-call-sink.test.d.ts.map +1 -0
  252. package/dist/src/telemetry/wrap.tool-call-sink.test.js +162 -0
  253. package/dist/src/telemetry/wrap.tool-call-sink.test.js.map +1 -0
  254. package/dist/src/types/skill.d.ts +9 -1
  255. package/dist/src/types/skill.d.ts.map +1 -1
  256. package/dist/src/utils/index.d.ts +1 -1
  257. package/dist/src/utils/index.d.ts.map +1 -1
  258. package/dist/src/utils/index.js +1 -1
  259. package/dist/src/utils/index.js.map +1 -1
  260. package/dist/src/utils/version-check.d.ts +61 -0
  261. package/dist/src/utils/version-check.d.ts.map +1 -1
  262. package/dist/src/utils/version-check.js +78 -1
  263. package/dist/src/utils/version-check.js.map +1 -1
  264. package/dist/src/utils/version-check.test.js +130 -1
  265. package/dist/src/utils/version-check.test.js.map +1 -1
  266. package/dist/tests/db/migration-runner-race.test.js +19 -9
  267. package/dist/tests/db/migration-runner-race.test.js.map +1 -1
  268. package/dist/tests/install/fan-out.test.js +27 -0
  269. package/dist/tests/install/fan-out.test.js.map +1 -1
  270. package/dist/tests/skill-scanner/allowlist.test.js +7 -1
  271. package/dist/tests/skill-scanner/allowlist.test.js.map +1 -1
  272. package/dist/tests/sync/SyncEngine.abort.test.js +15 -11
  273. package/dist/tests/sync/SyncEngine.abort.test.js.map +1 -1
  274. package/dist/tests/sync/SyncEngine.status.test.js +1 -1
  275. package/dist/tests/sync/SyncEngine.status.test.js.map +1 -1
  276. package/dist/tests/sync/SyncEngine.test.d.ts +11 -2
  277. package/dist/tests/sync/SyncEngine.test.d.ts.map +1 -1
  278. package/dist/tests/sync/SyncEngine.test.js +164 -13
  279. package/dist/tests/sync/SyncEngine.test.js.map +1 -1
  280. package/dist/tests/unit/migrations/migration-v18.test.d.ts +16 -0
  281. package/dist/tests/unit/migrations/migration-v18.test.d.ts.map +1 -0
  282. package/dist/tests/unit/migrations/migration-v18.test.js +192 -0
  283. package/dist/tests/unit/migrations/migration-v18.test.js.map +1 -0
  284. package/dist/tests/unit/services/skill-installation.content.test.js +65 -1
  285. package/dist/tests/unit/services/skill-installation.content.test.js.map +1 -1
  286. package/dist/tests/unit/services/skill-installation.service.test.js +9 -8
  287. package/dist/tests/unit/services/skill-installation.service.test.js.map +1 -1
  288. package/dist/tests/unit/sync-engine.source-aware.test.js +5 -5
  289. package/dist/tests/unit/sync-engine.source-aware.test.js.map +1 -1
  290. package/package.json +3 -3
@@ -10,11 +10,97 @@
10
10
  */
11
11
  /**
12
12
  * The `skillsmith` MCP server registration value for `mcpServers`-convention
13
- * harnesses (claude-code, cursor, copilot, windsurf; hermes uses the same
14
- * field names under YAML). OpenCode does NOT use this shape — see
15
- * {@link buildOpenCodeMcpEntryValue}.
13
+ * harnesses (claude-code, copilot, windsurf; hermes uses the same field
14
+ * names under YAML). OpenCode does NOT use this shape — see
15
+ * {@link buildOpenCodeMcpEntryValue}. Cursor ALSO does not use this shape —
16
+ * see {@link buildCursorMcpEntryValue} (SMI-6279 Wave 9): two independent
17
+ * live UAT passes proved the `npx`/`args` form here ENOENTs inside Cursor's
18
+ * bundled Node (GH#2368 C-01), which is why the website/CLI-template docs
19
+ * snippet was corrected to a resolved-binary-path form back in SMI-5893
20
+ * Wave 11 — this function stayed on the broken form for every OTHER
21
+ * harness it's still correct for, so it is deliberately left unchanged here.
16
22
  */
17
23
  export declare function buildAgentMcpEntryValue(): Record<string, unknown>;
24
+ /**
25
+ * JSON key Cursor's MCP entry is installed under (SMI-6279 Wave 9).
26
+ *
27
+ * Every OTHER `mcpServers`-convention harness still uses the literal
28
+ * `'skillsmith'` key (hardcoded as `mergeJsonMcpEntry`'s default `entryKey`
29
+ * — deliberately NOT changed here, out of scope for this fix). Cursor is
30
+ * the one client with a human-facing docs snippet
31
+ * (`packages/website/src/lib/mcp-client-snippets.ts` /
32
+ * `packages/cli/src/templates/mcp-server.template.snippets.ts`) that tells a
33
+ * user to hand-paste an entry under the PACKAGE-scoped key
34
+ * `@skillsmith/mcp-server` instead — a mismatch that let a user who both
35
+ * pasted the docs snippet AND ran `sklx agent install` end up with two
36
+ * different server entries coexisting in the same `mcp.json`, neither ever
37
+ * recognized as "the other's" by the installer's own conflict-detection
38
+ * (which matches purely on key). Aligning the installer's key to the docs
39
+ * snippet's key here means a docs-paste and an `agent install` reconcile as
40
+ * ONE entry: either recognized as ours and updated in place, or correctly
41
+ * detected as foreign (conflict) and left alone — never silently
42
+ * duplicated. See `agent-pack-installer.cursor-mcp.ts` for the write path
43
+ * (including the legacy-key cleanup for a pre-fix install that still has
44
+ * the old `'skillsmith'`-keyed entry) and `version-check.ts`'s
45
+ * `checkCursorMcpArtifact` for the read-side (`skillsmith diagnose`) use.
46
+ */
47
+ export declare const CURSOR_MCP_ENTRY_KEY = "@skillsmith/mcp-server";
48
+ /**
49
+ * The JSON key every pre-SMI-6279 `sklx agent install` run wrote Cursor's
50
+ * MCP entry under — kept as a named constant (not a bare literal) so the
51
+ * legacy-key cleanup step and the `diagnose` staleness check can both point
52
+ * at the exact same "this is the OLD key" definition instead of drifting.
53
+ */
54
+ export declare const LEGACY_MCP_ENTRY_KEY = "skillsmith";
55
+ /**
56
+ * Placeholder command text shown when {@link resolveSkillsmithMcpBinPath}
57
+ * can't resolve a real path — byte-identical to the human-facing
58
+ * instruction already shipped in the website/CLI-template Cursor snippets
59
+ * (SMI-5893 Wave 11), so a user who runs `agent install` before the resolve
60
+ * step succeeds sees the exact same next action the docs already describe.
61
+ */
62
+ export declare const CURSOR_MCP_COMMAND_PLACEHOLDER = "<paste output of: which skillsmith-mcp (macOS/Linux) or where skillsmith-mcp (Windows)>";
63
+ /**
64
+ * Resolve the on-disk path of the globally-installed `skillsmith-mcp`
65
+ * binary by shelling out to the exact command the docs already tell a
66
+ * human to run by hand — `which` on macOS/Linux, `where` on Windows
67
+ * (SMI-6279 Wave 9).
68
+ *
69
+ * There is no reliable programmatic equivalent that doesn't shell out:
70
+ * `@skillsmith/mcp-server` is a SEPARATE npm package from `@skillsmith/cli`
71
+ * (the package this code runs inside of) and is commonly NOT installed yet
72
+ * when `agent install` runs — it is a peer install the docs tell the user
73
+ * to do themselves (`npm install -g @skillsmith/mcp-server`). Node module
74
+ * resolution (`require.resolve`) only finds an already-installed package's
75
+ * importable entry point, not a DIFFERENT package's globally-linked `bin`
76
+ * symlink, and `process.execPath` is the Node binary running THIS process,
77
+ * not `skillsmith-mcp`'s location — neither is a substitute. `which`/`where`
78
+ * against the global npm bin directory (already on PATH for any shell the
79
+ * user installed from) is the SAME resolution the docs snippet instructs a
80
+ * human to do; this automates exactly that step rather than inventing a new
81
+ * one.
82
+ *
83
+ * Never throws and never hangs — returns `undefined` when the binary isn't
84
+ * found (an `agent install` run commonly happens BEFORE
85
+ * `@skillsmith/mcp-server` is installed; that is an expected outcome here,
86
+ * not an exceptional one) or when the lookup exceeds
87
+ * {@link BIN_RESOLVE_TIMEOUT_MS}.
88
+ */
89
+ export declare function resolveSkillsmithMcpBinPath(): string | undefined;
90
+ /**
91
+ * Cursor's own MCP server registration value (SMI-6279 Wave 9) — structurally
92
+ * different from {@link buildAgentMcpEntryValue} in two ways confirmed
93
+ * broken by the GH#2368 V3 repro:
94
+ * 1. `command` is a resolved binary path (or the documented paste-here
95
+ * placeholder when resolution fails), never `npx` — two independent
96
+ * live UAT passes proved `npx` ENOENTs inside Cursor's bundled Node.
97
+ * 2. `env.SKILLSMITH_CLIENT` is always set to `'cursor'` — without it,
98
+ * Cursor installs silently land in the default `~/.claude/skills`
99
+ * instead of `~/.cursor/skills` (SMI-5894 Wave 1 Step 7).
100
+ * `SKILLSMITH_TOOL_PROFILE` is unchanged from the generic builder — this is
101
+ * still the curated agent-pack registration, not a general-purpose one.
102
+ */
103
+ export declare function buildCursorMcpEntryValue(): Record<string, unknown>;
18
104
  /**
19
105
  * OpenCode's `mcp`-key entry value (Step-6 verified against
20
106
  * opencode.ai/docs/mcp-servers/): entries are typed `local|remote`,
@@ -23,6 +109,37 @@ export declare function buildAgentMcpEntryValue(): Record<string, unknown>;
23
109
  * would produce an entry OpenCode's config schema rejects.
24
110
  */
25
111
  export declare function buildOpenCodeMcpEntryValue(): Record<string, unknown>;
112
+ /**
113
+ * AntiGravity's own MCP server registration value (SMI-6275 Wave 5).
114
+ *
115
+ * Unlike Cursor, there is no verified evidence of an `npx`-inside-bundled-Node
116
+ * failure for AntiGravity (Wave 7 of the SMI-6266 plan makes the same call
117
+ * for the website/CLI docs snippet) — so this stays on the plain `npx` form,
118
+ * composed directly over {@link buildAgentMcpEntryValue} rather than
119
+ * reimplementing it. The one addition is `env.SKILLSMITH_CLIENT = 'antigravity'`,
120
+ * for the same reason Cursor's builder sets it (SMI-5894 Wave 1 Step 7):
121
+ * without it, an MCP server spawned from THIS entry would default to
122
+ * `~/.claude/skills` (`resolveClientPath()`'s fallback) instead of
123
+ * AntiGravity's own directories.
124
+ */
125
+ export declare function buildAntigravityMcpEntryValue(): Record<string, unknown>;
126
+ /**
127
+ * JSON key AntiGravity's `.agents/mcp_config.json` entry is installed under
128
+ * (SMI-6275 Wave 5) — deliberately the SAME value as {@link CURSOR_MCP_ENTRY_KEY},
129
+ * not the legacy `'skillsmith'` key every other non-Cursor harness's
130
+ * installer entry still uses. AntiGravity's OWN human-facing docs snippets
131
+ * (`packages/website/src/lib/mcp-client-snippets.ts`'s `STANDARD_JSON_BODY`
132
+ * and the CLI template's antigravity entry, both verified live 2026-08-30)
133
+ * already use the package-scoped key `@skillsmith/mcp-server` — aligning the
134
+ * installer's key here avoids the exact key-mismatch class of bug SMI-6279
135
+ * fixed for Cursor (a user who both pastes the docs snippet AND runs
136
+ * `agent install` ending up with two divergent, mutually-unrecognized
137
+ * entries). Unlike Cursor, AntiGravity has no PRE-EXISTING `agent install`
138
+ * writer to migrate away from — this is its first-ever implementation — so
139
+ * there is no legacy-keyed entry to clean up here (contrast
140
+ * `agent-pack-installer.cursor-mcp.ts`'s `stripStaleLegacyMcpKey`).
141
+ */
142
+ export declare const ANTIGRAVITY_MCP_ENTRY_KEY = "@skillsmith/mcp-server";
26
143
  /** Codex `[mcp_servers.skillsmith]` TOML block (text between our markers). */
27
144
  export declare function buildCodexMcpTomlBlock(): string;
28
145
  /** Regex matching a bare (non-marker-delimited) `[mcp_servers.skillsmith]` table header. */
@@ -1 +1 @@
1
- {"version":3,"file":"agent-pack-installer.entry.d.ts","sourceRoot":"","sources":["../../../src/install/agent-pack-installer.entry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAOH;;;;;GAKG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAQjE;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CASpE;AAED,8EAA8E;AAC9E,wBAAgB,sBAAsB,IAAI,MAAM,CAS/C;AAED,4FAA4F;AAC5F,eAAO,MAAM,wBAAwB,QAAoD,CAAA;AAEzF,6FAA6F;AAC7F,eAAO,MAAM,2BAA2B,QAAqD,CAAA;AAE7F;;;;;;;;;GASG;AACH,wBAAgB,+BAA+B,CAAC,sBAAsB,EAAE,MAAM,GAAG,MAAM,CAQtF;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iCAAiC,QAA8B,CAAA"}
1
+ {"version":3,"file":"agent-pack-installer.entry.d.ts","sourceRoot":"","sources":["../../../src/install/agent-pack-installer.entry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AASH;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAQjE;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,oBAAoB,2BAA2B,CAAA;AAE5D;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,eAAe,CAAA;AAEhD;;;;;;GAMG;AACH,eAAO,MAAM,8BAA8B,4FACgD,CAAA;AAc3F;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,2BAA2B,IAAI,MAAM,GAAG,SAAS,CAehE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CASlE;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CASpE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,6BAA6B,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CASvE;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,yBAAyB,2BAAuB,CAAA;AAE7D,8EAA8E;AAC9E,wBAAgB,sBAAsB,IAAI,MAAM,CAS/C;AAED,4FAA4F;AAC5F,eAAO,MAAM,wBAAwB,QAAoD,CAAA;AAEzF,6FAA6F;AAC7F,eAAO,MAAM,2BAA2B,QAAqD,CAAA;AAE7F;;;;;;;;;GASG;AACH,wBAAgB,+BAA+B,CAAC,sBAAsB,EAAE,MAAM,GAAG,MAAM,CAQtF;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iCAAiC,QAA8B,CAAA"}
@@ -8,12 +8,19 @@
8
8
  *
9
9
  * @module @skillsmith/core/install/agent-pack-installer.entry
10
10
  */
11
+ import { execFileSync } from 'node:child_process';
11
12
  import { AGENT_TOOL_PROFILE_ENV_VAR, AGENT_TOOL_PROFILE_VALUE, } from '../services/agent-tool-profile.js';
12
13
  /**
13
14
  * The `skillsmith` MCP server registration value for `mcpServers`-convention
14
- * harnesses (claude-code, cursor, copilot, windsurf; hermes uses the same
15
- * field names under YAML). OpenCode does NOT use this shape — see
16
- * {@link buildOpenCodeMcpEntryValue}.
15
+ * harnesses (claude-code, copilot, windsurf; hermes uses the same field
16
+ * names under YAML). OpenCode does NOT use this shape — see
17
+ * {@link buildOpenCodeMcpEntryValue}. Cursor ALSO does not use this shape —
18
+ * see {@link buildCursorMcpEntryValue} (SMI-6279 Wave 9): two independent
19
+ * live UAT passes proved the `npx`/`args` form here ENOENTs inside Cursor's
20
+ * bundled Node (GH#2368 C-01), which is why the website/CLI-template docs
21
+ * snippet was corrected to a resolved-binary-path form back in SMI-5893
22
+ * Wave 11 — this function stayed on the broken form for every OTHER
23
+ * harness it's still correct for, so it is deliberately left unchanged here.
17
24
  */
18
25
  export function buildAgentMcpEntryValue() {
19
26
  return {
@@ -24,6 +31,122 @@ export function buildAgentMcpEntryValue() {
24
31
  },
25
32
  };
26
33
  }
34
+ /**
35
+ * JSON key Cursor's MCP entry is installed under (SMI-6279 Wave 9).
36
+ *
37
+ * Every OTHER `mcpServers`-convention harness still uses the literal
38
+ * `'skillsmith'` key (hardcoded as `mergeJsonMcpEntry`'s default `entryKey`
39
+ * — deliberately NOT changed here, out of scope for this fix). Cursor is
40
+ * the one client with a human-facing docs snippet
41
+ * (`packages/website/src/lib/mcp-client-snippets.ts` /
42
+ * `packages/cli/src/templates/mcp-server.template.snippets.ts`) that tells a
43
+ * user to hand-paste an entry under the PACKAGE-scoped key
44
+ * `@skillsmith/mcp-server` instead — a mismatch that let a user who both
45
+ * pasted the docs snippet AND ran `sklx agent install` end up with two
46
+ * different server entries coexisting in the same `mcp.json`, neither ever
47
+ * recognized as "the other's" by the installer's own conflict-detection
48
+ * (which matches purely on key). Aligning the installer's key to the docs
49
+ * snippet's key here means a docs-paste and an `agent install` reconcile as
50
+ * ONE entry: either recognized as ours and updated in place, or correctly
51
+ * detected as foreign (conflict) and left alone — never silently
52
+ * duplicated. See `agent-pack-installer.cursor-mcp.ts` for the write path
53
+ * (including the legacy-key cleanup for a pre-fix install that still has
54
+ * the old `'skillsmith'`-keyed entry) and `version-check.ts`'s
55
+ * `checkCursorMcpArtifact` for the read-side (`skillsmith diagnose`) use.
56
+ */
57
+ export const CURSOR_MCP_ENTRY_KEY = '@skillsmith/mcp-server';
58
+ /**
59
+ * The JSON key every pre-SMI-6279 `sklx agent install` run wrote Cursor's
60
+ * MCP entry under — kept as a named constant (not a bare literal) so the
61
+ * legacy-key cleanup step and the `diagnose` staleness check can both point
62
+ * at the exact same "this is the OLD key" definition instead of drifting.
63
+ */
64
+ export const LEGACY_MCP_ENTRY_KEY = 'skillsmith';
65
+ /**
66
+ * Placeholder command text shown when {@link resolveSkillsmithMcpBinPath}
67
+ * can't resolve a real path — byte-identical to the human-facing
68
+ * instruction already shipped in the website/CLI-template Cursor snippets
69
+ * (SMI-5893 Wave 11), so a user who runs `agent install` before the resolve
70
+ * step succeeds sees the exact same next action the docs already describe.
71
+ */
72
+ export const CURSOR_MCP_COMMAND_PLACEHOLDER = '<paste output of: which skillsmith-mcp (macOS/Linux) or where skillsmith-mcp (Windows)>';
73
+ /**
74
+ * Bound on {@link resolveSkillsmithMcpBinPath}'s `which`/`where` call
75
+ * (code-review finding, GPT-5.6-Sol / SMI-6279: the call previously had no
76
+ * `timeout`, so a hung or substituted `which`/`where` executable could block
77
+ * `agent install` indefinitely). This is a local PATH lookup, not a network
78
+ * call — 3s is generous headroom, not a tight budget. `execFileSync` throws
79
+ * `ETIMEDOUT` when this elapses, which the existing blanket `catch` below
80
+ * already turns into the same "not found" fallback as a missing binary — no
81
+ * separate timeout-handling branch needed.
82
+ */
83
+ const BIN_RESOLVE_TIMEOUT_MS = 3000;
84
+ /**
85
+ * Resolve the on-disk path of the globally-installed `skillsmith-mcp`
86
+ * binary by shelling out to the exact command the docs already tell a
87
+ * human to run by hand — `which` on macOS/Linux, `where` on Windows
88
+ * (SMI-6279 Wave 9).
89
+ *
90
+ * There is no reliable programmatic equivalent that doesn't shell out:
91
+ * `@skillsmith/mcp-server` is a SEPARATE npm package from `@skillsmith/cli`
92
+ * (the package this code runs inside of) and is commonly NOT installed yet
93
+ * when `agent install` runs — it is a peer install the docs tell the user
94
+ * to do themselves (`npm install -g @skillsmith/mcp-server`). Node module
95
+ * resolution (`require.resolve`) only finds an already-installed package's
96
+ * importable entry point, not a DIFFERENT package's globally-linked `bin`
97
+ * symlink, and `process.execPath` is the Node binary running THIS process,
98
+ * not `skillsmith-mcp`'s location — neither is a substitute. `which`/`where`
99
+ * against the global npm bin directory (already on PATH for any shell the
100
+ * user installed from) is the SAME resolution the docs snippet instructs a
101
+ * human to do; this automates exactly that step rather than inventing a new
102
+ * one.
103
+ *
104
+ * Never throws and never hangs — returns `undefined` when the binary isn't
105
+ * found (an `agent install` run commonly happens BEFORE
106
+ * `@skillsmith/mcp-server` is installed; that is an expected outcome here,
107
+ * not an exceptional one) or when the lookup exceeds
108
+ * {@link BIN_RESOLVE_TIMEOUT_MS}.
109
+ */
110
+ export function resolveSkillsmithMcpBinPath() {
111
+ try {
112
+ const finder = process.platform === 'win32' ? 'where' : 'which';
113
+ const output = execFileSync(finder, ['skillsmith-mcp'], {
114
+ encoding: 'utf-8',
115
+ stdio: ['ignore', 'pipe', 'ignore'],
116
+ timeout: BIN_RESOLVE_TIMEOUT_MS,
117
+ });
118
+ return output
119
+ .split(/\r?\n/)
120
+ .map((line) => line.trim())
121
+ .find((line) => line.length > 0);
122
+ }
123
+ catch {
124
+ return undefined;
125
+ }
126
+ }
127
+ /**
128
+ * Cursor's own MCP server registration value (SMI-6279 Wave 9) — structurally
129
+ * different from {@link buildAgentMcpEntryValue} in two ways confirmed
130
+ * broken by the GH#2368 V3 repro:
131
+ * 1. `command` is a resolved binary path (or the documented paste-here
132
+ * placeholder when resolution fails), never `npx` — two independent
133
+ * live UAT passes proved `npx` ENOENTs inside Cursor's bundled Node.
134
+ * 2. `env.SKILLSMITH_CLIENT` is always set to `'cursor'` — without it,
135
+ * Cursor installs silently land in the default `~/.claude/skills`
136
+ * instead of `~/.cursor/skills` (SMI-5894 Wave 1 Step 7).
137
+ * `SKILLSMITH_TOOL_PROFILE` is unchanged from the generic builder — this is
138
+ * still the curated agent-pack registration, not a general-purpose one.
139
+ */
140
+ export function buildCursorMcpEntryValue() {
141
+ const resolvedPath = resolveSkillsmithMcpBinPath();
142
+ return {
143
+ command: resolvedPath ?? CURSOR_MCP_COMMAND_PLACEHOLDER,
144
+ env: {
145
+ [AGENT_TOOL_PROFILE_ENV_VAR]: AGENT_TOOL_PROFILE_VALUE,
146
+ SKILLSMITH_CLIENT: 'cursor',
147
+ },
148
+ };
149
+ }
27
150
  /**
28
151
  * OpenCode's `mcp`-key entry value (Step-6 verified against
29
152
  * opencode.ai/docs/mcp-servers/): entries are typed `local|remote`,
@@ -41,6 +164,46 @@ export function buildOpenCodeMcpEntryValue() {
41
164
  },
42
165
  };
43
166
  }
167
+ /**
168
+ * AntiGravity's own MCP server registration value (SMI-6275 Wave 5).
169
+ *
170
+ * Unlike Cursor, there is no verified evidence of an `npx`-inside-bundled-Node
171
+ * failure for AntiGravity (Wave 7 of the SMI-6266 plan makes the same call
172
+ * for the website/CLI docs snippet) — so this stays on the plain `npx` form,
173
+ * composed directly over {@link buildAgentMcpEntryValue} rather than
174
+ * reimplementing it. The one addition is `env.SKILLSMITH_CLIENT = 'antigravity'`,
175
+ * for the same reason Cursor's builder sets it (SMI-5894 Wave 1 Step 7):
176
+ * without it, an MCP server spawned from THIS entry would default to
177
+ * `~/.claude/skills` (`resolveClientPath()`'s fallback) instead of
178
+ * AntiGravity's own directories.
179
+ */
180
+ export function buildAntigravityMcpEntryValue() {
181
+ const base = buildAgentMcpEntryValue();
182
+ return {
183
+ ...base,
184
+ env: {
185
+ ...base.env,
186
+ SKILLSMITH_CLIENT: 'antigravity',
187
+ },
188
+ };
189
+ }
190
+ /**
191
+ * JSON key AntiGravity's `.agents/mcp_config.json` entry is installed under
192
+ * (SMI-6275 Wave 5) — deliberately the SAME value as {@link CURSOR_MCP_ENTRY_KEY},
193
+ * not the legacy `'skillsmith'` key every other non-Cursor harness's
194
+ * installer entry still uses. AntiGravity's OWN human-facing docs snippets
195
+ * (`packages/website/src/lib/mcp-client-snippets.ts`'s `STANDARD_JSON_BODY`
196
+ * and the CLI template's antigravity entry, both verified live 2026-08-30)
197
+ * already use the package-scoped key `@skillsmith/mcp-server` — aligning the
198
+ * installer's key here avoids the exact key-mismatch class of bug SMI-6279
199
+ * fixed for Cursor (a user who both pastes the docs snippet AND runs
200
+ * `agent install` ending up with two divergent, mutually-unrecognized
201
+ * entries). Unlike Cursor, AntiGravity has no PRE-EXISTING `agent install`
202
+ * writer to migrate away from — this is its first-ever implementation — so
203
+ * there is no legacy-keyed entry to clean up here (contrast
204
+ * `agent-pack-installer.cursor-mcp.ts`'s `stripStaleLegacyMcpKey`).
205
+ */
206
+ export const ANTIGRAVITY_MCP_ENTRY_KEY = CURSOR_MCP_ENTRY_KEY;
44
207
  /** Codex `[mcp_servers.skillsmith]` TOML block (text between our markers). */
45
208
  export function buildCodexMcpTomlBlock() {
46
209
  return [
@@ -1 +1 @@
1
- {"version":3,"file":"agent-pack-installer.entry.js","sourceRoot":"","sources":["../../../src/install/agent-pack-installer.entry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,GACzB,MAAM,mCAAmC,CAAA;AAE1C;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB;IACrC,OAAO;QACL,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,CAAC,IAAI,EAAE,wBAAwB,CAAC;QACtC,GAAG,EAAE;YACH,CAAC,0BAA0B,CAAC,EAAE,wBAAwB;SACvD;KACF,CAAA;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,0BAA0B;IACxC,OAAO;QACL,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,wBAAwB,CAAC;QAChD,OAAO,EAAE,IAAI;QACb,WAAW,EAAE;YACX,CAAC,0BAA0B,CAAC,EAAE,wBAAwB;SACvD;KACF,CAAA;AACH,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,sBAAsB;IACpC,OAAO;QACL,0BAA0B;QAC1B,iBAAiB;QACjB,yCAAyC;QACzC,EAAE;QACF,8BAA8B;QAC9B,GAAG,0BAA0B,OAAO,wBAAwB,GAAG;KAChE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACd,CAAC;AAED,4FAA4F;AAC5F,MAAM,CAAC,MAAM,wBAAwB,GAAG,iDAAiD,CAAA;AAEzF,6FAA6F;AAC7F,MAAM,CAAC,MAAM,2BAA2B,GAAG,kDAAkD,CAAA;AAE7F;;;;;;;;;GASG;AACH,MAAM,UAAU,+BAA+B,CAAC,sBAA8B;IAC5E,OAAO;QACL,wBAAwB;QACxB,EAAE;QACF,8BAA8B;QAC9B,kBAAkB;QAClB,aAAa,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,EAAE;KACtD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACd,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,2BAA2B,CAAA"}
1
+ {"version":3,"file":"agent-pack-installer.entry.js","sourceRoot":"","sources":["../../../src/install/agent-pack-installer.entry.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,14 @@
24
24
  * - The `skillsmith` MCP server registration (`SKILLSMITH_TOOL_PROFILE=agent`)
25
25
  * for every detected MCP-capable harness (all 7), backup-first,
26
26
  * idempotent, preserve-and-prompt on a foreign entry.
27
+ * - AntiGravity (SMI-6275 Wave 5): a workspace-scoped 8th target, handled
28
+ * OUTSIDE the 7-harness loop above — see the `antigravity` block near
29
+ * the end of `installAgentPack`. Whenever its workspace scope resolves
30
+ * (an existing `.agents/` marker auto-detects, or `--scope workspace`
31
+ * creates one), writes the skill pack AND `.agents/mcp_config.json`
32
+ * (`installAntigravityMcpConfig`, `agent-pack-installer.antigravity-mcp.ts`)
33
+ * — MCP config only, no hooks/shim this wave (stated decision, see
34
+ * `HOOK_HARNESSES`'s doc comment in `services/agent-pack/types.ts`).
27
35
  *
28
36
  * Every write funnels through `writeOwnedArtifactFile` (owned files) or the
29
37
  * `agent-config-merge.*` helpers (shared config files), both of which record
@@ -39,11 +47,14 @@ import { join } from 'node:path';
39
47
  import { AGENT_PACK_SKILL_NAME, generateAgentPack } from '../services/agent-pack/index.js';
40
48
  import { AGENT_TOOL_PROFILE_NAMES } from '../services/agent-tool-profile.js';
41
49
  import { CLIENT_NATIVE_PATHS } from './paths.js';
50
+ import { UnsatisfiableWorkspaceScopeError, resolveScopedSkillsDir } from './workspace-scope.js';
42
51
  import { relocateUnderHome } from './agent-home-relocate.js';
43
52
  import { writeOwnedArtifactFile } from './agent-pack-installer.fs-helpers.js';
44
53
  import { getAgentInstallBackupsDir, getAgentManifestPath, loadAgentManifest, saveAgentManifest, } from './agent-manifest.js';
45
54
  import { installCodexAgentsShim, installCodexHooks, installJsonHooks, installMcpConfig, installShim, } from './agent-pack-installer.harness.js';
46
55
  import { installCursorHooks } from './agent-pack-installer.cursor-hooks.js';
56
+ import { installCursorMcpConfig } from './agent-pack-installer.cursor-mcp.js';
57
+ import { installAntigravityMcpConfig } from './agent-pack-installer.antigravity-mcp.js';
47
58
  import { HARNESS_SUPPORT_TIER, } from './agent-pack-installer.types.js';
48
59
  /** Harnesses considered for the SKILL.md pack copy beyond the mandatory dual path. */
49
60
  const OPTIONAL_SKILL_PACK_HARNESSES = ['windsurf', 'opencode', 'hermes'];
@@ -200,9 +211,16 @@ export function installAgentPack(opts = {}) {
200
211
  installCodexHooks(hookStartByHarness.get('codex'), hookEndByHarness.get('codex'), ctx, report);
201
212
  installCodexAgentsShim(shimByHarness.get('codex'), ctx, report);
202
213
  }
203
- // `harnessIds` is exactly the 7-member McpHarnessId union (all harnesses
204
- // considered here support MCP registration) safe direct cast.
205
- installMcpConfig(harness, ctx, report);
214
+ if (harness === 'cursor') {
215
+ // Cursor's MCP entry shape/key diverge from every other harness
216
+ // (SMI-6279 Wave 9) — see agent-pack-installer.cursor-mcp.ts.
217
+ installCursorMcpConfig(ctx, report);
218
+ }
219
+ else {
220
+ // `harnessIds` is exactly the 7-member McpHarnessId union (all harnesses
221
+ // considered here support MCP registration) — safe direct cast.
222
+ installMcpConfig(harness, ctx, report);
223
+ }
206
224
  }
207
225
  reports.push(report);
208
226
  }
@@ -213,6 +231,82 @@ export function installAgentPack(opts = {}) {
213
231
  if (skillArtifact) {
214
232
  writeSkillPackFor(CLIENT_NATIVE_PATHS.agents, skillArtifact.content, ctx, 'agents');
215
233
  }
234
+ // ADR-139 (SMI-6274 Wave 4, point 5's Wave 5 bootstrap requirement) +
235
+ // SMI-6275 Wave 5: AntiGravity is a valid `agent install` target whenever
236
+ // its WORKSPACE scope resolves — either because `--scope workspace` was
237
+ // passed explicitly (the only path allowed to CREATE `.agents/`, ADR-139
238
+ // point 5), or because an EXISTING `.agents/` marker auto-detects
239
+ // (ADR-139 point 2 rank 4 — a read-only check `resolveScopedSkillsDir`
240
+ // already performs on its own when `explicitScope` is omitted; this
241
+ // function never reimplements that detection). `envScope`/
242
+ // `configDefaultScope` are pinned to "no value" here rather than left to
243
+ // read the REAL `SKILLSMITH_SCOPE` env var / `~/.skillsmith/config.json`:
244
+ // `agent install`'s own CLI surface exposes only `--scope`, no separate
245
+ // env/config channel for THIS command, and leaving them unpinned would
246
+ // make a bare `agent install` run's AntiGravity detection depend on
247
+ // whatever unrelated scope state happens to exist on the invoking
248
+ // machine — the same test-isolation seam `ResolveScopeParams` documents
249
+ // its `configDefaultScope: null` value for.
250
+ //
251
+ // AntiGravity ALWAYS gets a report row now, whether or not its workspace
252
+ // scope resolves — matching every OTHER harness's reporting shape
253
+ // (`newReport()` + a `detected` badge in the CLI table, `agent.action.ts`).
254
+ // Wave 4 omitted the row entirely for the undetected case; Wave 5 corrects
255
+ // that for reporting consistency, per its own required test ("no `.agents/`
256
+ // directory and no `--scope workspace` → clear message, no silent no-op —
257
+ // match whatever 'not detected' reporting shape other undetected harnesses
258
+ // already use").
259
+ if (skillArtifact) {
260
+ const antigravityReport = newReport('antigravity');
261
+ // GPT-5.6-Sol pr-reviewer finding (SMI-6275 Wave 5): resolveScopedSkillsDir()
262
+ // THROWS UnsatisfiableWorkspaceScopeError when `--scope workspace` was
263
+ // requested but can't be satisfied (no .agents/ marker and no ancestor
264
+ // .git). Left uncaught, that throw propagates out of installAgentPack()
265
+ // ENTIRELY — skipping saveAgentManifest() below, which is the ONLY place
266
+ // every other harness's already-written entries (lines 228-299 above)
267
+ // get persisted. The result: real files on disk for claude-code/cursor/
268
+ // etc, with zero manifest record of them — permanently unreachable by
269
+ // `agent uninstall`, and silently dropped by a subsequent re-install's
270
+ // carryForwardPriorBackups(). This is expected, narrow failure (a scope
271
+ // request AntiGravity specifically can't satisfy), not a programming
272
+ // bug, so it degrades to a normal not-detected report row instead of
273
+ // aborting the run; any OTHER error still propagates unchanged.
274
+ let workspaceRoot;
275
+ let scopeTarget;
276
+ try {
277
+ scopeTarget = resolveScopedSkillsDir({
278
+ client: 'antigravity',
279
+ cwd: opts.cwd ?? process.cwd(),
280
+ explicitScope: opts.scope === 'workspace' ? 'workspace' : undefined,
281
+ envScope: '',
282
+ configDefaultScope: null,
283
+ });
284
+ // `scopeTarget.workspaceRoot` is only ever set when `scope === 'workspace'`
285
+ // (`ResolvedSkillScope`'s own contract) — narrowing through a single
286
+ // local avoids re-deriving that condition twice across the branches below.
287
+ workspaceRoot = scopeTarget.scope === 'workspace' ? scopeTarget.workspaceRoot : undefined;
288
+ }
289
+ catch (err) {
290
+ if (!(err instanceof UnsatisfiableWorkspaceScopeError))
291
+ throw err;
292
+ antigravityReport.notes.push(`AntiGravity workspace scope could not be resolved: ${err.message}`);
293
+ }
294
+ antigravityReport.detected = Boolean(workspaceRoot);
295
+ if (workspaceRoot && scopeTarget) {
296
+ writeSkillPackFor(scopeTarget.dir, skillArtifact.content, ctx, 'antigravity');
297
+ antigravityReport.skillPackWritten = true;
298
+ if (scopeTarget.created) {
299
+ antigravityReport.notes.push(`Created workspace skills directory: ${scopeTarget.dir}`);
300
+ }
301
+ installAntigravityMcpConfig(workspaceRoot, ctx, antigravityReport);
302
+ }
303
+ else if (antigravityReport.notes.length === 0) {
304
+ antigravityReport.notes.push('No .agents/ workspace directory found at or above the current directory, and ' +
305
+ '--scope workspace was not passed — AntiGravity was not configured. Run ' +
306
+ '`agent install --scope workspace` from inside your repository to create it.');
307
+ }
308
+ reports.push(antigravityReport);
309
+ }
216
310
  saveAgentManifest({
217
311
  schemaVersion: 1,
218
312
  installedAt: new Date().toISOString(),
@@ -1 +1 @@
1
- {"version":3,"file":"agent-pack-installer.js","sourceRoot":"","sources":["../../../src/install/agent-pack-installer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-pack-installer.js","sourceRoot":"","sources":["../../../src/install/agent-pack-installer.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,33 @@ export interface AgentInstallOptions {
24
24
  homeDir?: string;
25
25
  /** Overwrite a foreign (non-Skillsmith) MCP/hook config entry instead of refusing. Default false. */
26
26
  force?: boolean;
27
+ /**
28
+ * ADR-139 (SMI-6274 Wave 4, point 5's Wave 5 bootstrap requirement):
29
+ * `'workspace'` bootstraps AntiGravity as a target by resolving (and, if
30
+ * necessary, CREATING) its workspace-scoped `.agents/` directory via
31
+ * `resolveScopedSkillsDir()`, then writing the skill pack AND
32
+ * `.agents/mcp_config.json` there (SMI-6275 Wave 5 adds the latter) —
33
+ * this is the ONLY path that may CREATE `.agents/`.
34
+ *
35
+ * Omitted/`'global'` does NOT mean "AntiGravity untouched," despite the
36
+ * name — bare `agent install` still AUTO-DETECTS an already-EXISTING
37
+ * `.agents/` marker at or above `cwd` (ADR-139 point 2 rank 4, a
38
+ * read-only check that never creates anything) and, when found, installs
39
+ * the same skill pack + MCP config there. AntiGravity is only skipped
40
+ * entirely (reported `detected: false`, with a note — never a silent
41
+ * omission) when NO `.agents/` marker exists anywhere in the ancestry AND
42
+ * `scope` wasn't explicitly `'workspace'`. This auto-detect behavior is
43
+ * new in SMI-6275 Wave 5 — Wave 4 gated the skill-pack write on an
44
+ * explicit `'workspace'` value ONLY (see git history if comparing against
45
+ * that wave's own tests).
46
+ */
47
+ scope?: 'global' | 'workspace';
48
+ /**
49
+ * Test seam for the workspace-scope resolution above — defaults to
50
+ * `process.cwd()`. Mirrors `homeDir`'s existing test-injection role for
51
+ * the rest of this installer.
52
+ */
53
+ cwd?: string;
27
54
  }
28
55
  export interface AgentInstallResult {
29
56
  installedAt: string;
@@ -1 +1 @@
1
- {"version":3,"file":"agent-pack-installer.types.d.ts","sourceRoot":"","sources":["../../../src/install/agent-pack-installer.types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAEhE,+CAA+C;AAC/C,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AAEnC,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAQtE,CAAA;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,WAAW,CAAA;IACjB,QAAQ,EAAE,OAAO,CAAA;IACjB,gBAAgB,EAAE,OAAO,CAAA;IACzB,WAAW,EAAE,OAAO,CAAA;IACpB,cAAc,EAAE,OAAO,CAAA;IACvB,SAAS,EAAE,WAAW,GAAG,IAAI,CAAA;IAC7B,UAAU,EAAE,WAAW,EAAE,CAAA;IACzB,KAAK,EAAE,MAAM,EAAE,CAAA;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,qGAAqG;IACrG,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,oBAAoB,EAAE,CAAA;CACvC;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,4GAA4G;IAC5G,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,6FAA6F;IAC7F,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB;;;;;;OAMG;IACH,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB"}
1
+ {"version":3,"file":"agent-pack-installer.types.d.ts","sourceRoot":"","sources":["../../../src/install/agent-pack-installer.types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAEhE,+CAA+C;AAC/C,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AAEnC,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CActE,CAAA;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,WAAW,CAAA;IACjB,QAAQ,EAAE,OAAO,CAAA;IACjB,gBAAgB,EAAE,OAAO,CAAA;IACzB,WAAW,EAAE,OAAO,CAAA;IACpB,cAAc,EAAE,OAAO,CAAA;IACvB,SAAS,EAAE,WAAW,GAAG,IAAI,CAAA;IAC7B,UAAU,EAAE,WAAW,EAAE,CAAA;IACzB,KAAK,EAAE,MAAM,EAAE,CAAA;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,qGAAqG;IACrG,KAAK,CAAC,EAAE,OAAO,CAAA;IACf;;;;;;;;;;;;;;;;;;;OAmBG;IACH,KAAK,CAAC,EAAE,QAAQ,GAAG,WAAW,CAAA;IAC9B;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,oBAAoB,EAAE,CAAA;CACvC;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,4GAA4G;IAC5G,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,6FAA6F;IAC7F,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB;;;;;;OAMG;IACH,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB"}
@@ -12,5 +12,11 @@ export const HARNESS_SUPPORT_TIER = {
12
12
  opencode: 2,
13
13
  hermes: 2,
14
14
  windsurf: 3,
15
+ // SMI-6275 Wave 5: MCP config only (no shim, no hooks) — same reduced
16
+ // profile as windsurf, stated explicitly per the wave's own "support tier"
17
+ // decision requirement (see HOOK_HARNESSES's doc comment,
18
+ // services/agent-pack/types.ts, and AGENT_SHIM_TARGETS.antigravity,
19
+ // agent-harness-targets.ts).
20
+ antigravity: 3,
15
21
  };
16
22
  //# sourceMappingURL=agent-pack-installer.types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-pack-installer.types.js","sourceRoot":"","sources":["../../../src/install/agent-pack-installer.types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,MAAM,CAAC,MAAM,oBAAoB,GAA0C;IACzE,aAAa,EAAE,CAAC;IAChB,MAAM,EAAE,CAAC;IACT,KAAK,EAAE,CAAC;IACR,OAAO,EAAE,CAAC;IACV,QAAQ,EAAE,CAAC;IACX,MAAM,EAAE,CAAC;IACT,QAAQ,EAAE,CAAC;CACZ,CAAA"}
1
+ {"version":3,"file":"agent-pack-installer.types.js","sourceRoot":"","sources":["../../../src/install/agent-pack-installer.types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,MAAM,CAAC,MAAM,oBAAoB,GAA0C;IACzE,aAAa,EAAE,CAAC;IAChB,MAAM,EAAE,CAAC;IACT,KAAK,EAAE,CAAC;IACR,OAAO,EAAE,CAAC;IACV,QAAQ,EAAE,CAAC;IACX,MAAM,EAAE,CAAC;IACT,QAAQ,EAAE,CAAC;IACX,sEAAsE;IACtE,2EAA2E;IAC3E,0DAA0D;IAC1D,oEAAoE;IACpE,6BAA6B;IAC7B,WAAW,EAAE,CAAC;CACf,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=agent-pack-installer.workspace-scope.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-pack-installer.workspace-scope.test.d.ts","sourceRoot":"","sources":["../../../src/install/agent-pack-installer.workspace-scope.test.ts"],"names":[],"mappings":""}