@hashicorp/kits 0.1.0

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 (392) hide show
  1. package/README.md +619 -0
  2. package/bin/kits.js +8 -0
  3. package/dist/adapters/base-adapter.d.ts +231 -0
  4. package/dist/adapters/base-adapter.d.ts.map +1 -0
  5. package/dist/adapters/base-adapter.js +703 -0
  6. package/dist/adapters/base-adapter.js.map +1 -0
  7. package/dist/adapters/claude-code/detection.d.ts +63 -0
  8. package/dist/adapters/claude-code/detection.d.ts.map +1 -0
  9. package/dist/adapters/claude-code/detection.js +154 -0
  10. package/dist/adapters/claude-code/detection.js.map +1 -0
  11. package/dist/adapters/claude-code/index.d.ts +178 -0
  12. package/dist/adapters/claude-code/index.d.ts.map +1 -0
  13. package/dist/adapters/claude-code/index.js +643 -0
  14. package/dist/adapters/claude-code/index.js.map +1 -0
  15. package/dist/adapters/claude-code/installer.d.ts +161 -0
  16. package/dist/adapters/claude-code/installer.d.ts.map +1 -0
  17. package/dist/adapters/claude-code/installer.js +413 -0
  18. package/dist/adapters/claude-code/installer.js.map +1 -0
  19. package/dist/adapters/claude-code/model-mapping.d.ts +7 -0
  20. package/dist/adapters/claude-code/model-mapping.d.ts.map +1 -0
  21. package/dist/adapters/claude-code/model-mapping.js +14 -0
  22. package/dist/adapters/claude-code/model-mapping.js.map +1 -0
  23. package/dist/adapters/claude-code/tool-mapping.d.ts +18 -0
  24. package/dist/adapters/claude-code/tool-mapping.d.ts.map +1 -0
  25. package/dist/adapters/claude-code/tool-mapping.js +31 -0
  26. package/dist/adapters/claude-code/tool-mapping.js.map +1 -0
  27. package/dist/adapters/codex/detection.d.ts +60 -0
  28. package/dist/adapters/codex/detection.d.ts.map +1 -0
  29. package/dist/adapters/codex/detection.js +146 -0
  30. package/dist/adapters/codex/detection.js.map +1 -0
  31. package/dist/adapters/codex/index.d.ts +167 -0
  32. package/dist/adapters/codex/index.d.ts.map +1 -0
  33. package/dist/adapters/codex/index.js +344 -0
  34. package/dist/adapters/codex/index.js.map +1 -0
  35. package/dist/adapters/codex/installer.d.ts +147 -0
  36. package/dist/adapters/codex/installer.d.ts.map +1 -0
  37. package/dist/adapters/codex/installer.js +229 -0
  38. package/dist/adapters/codex/installer.js.map +1 -0
  39. package/dist/adapters/codex/model-mapping.d.ts +7 -0
  40. package/dist/adapters/codex/model-mapping.d.ts.map +1 -0
  41. package/dist/adapters/codex/model-mapping.js +14 -0
  42. package/dist/adapters/codex/model-mapping.js.map +1 -0
  43. package/dist/adapters/codex/tool-mapping.d.ts +19 -0
  44. package/dist/adapters/codex/tool-mapping.d.ts.map +1 -0
  45. package/dist/adapters/codex/tool-mapping.js +32 -0
  46. package/dist/adapters/codex/tool-mapping.js.map +1 -0
  47. package/dist/adapters/command-parser.d.ts +72 -0
  48. package/dist/adapters/command-parser.d.ts.map +1 -0
  49. package/dist/adapters/command-parser.js +222 -0
  50. package/dist/adapters/command-parser.js.map +1 -0
  51. package/dist/adapters/file-operations.d.ts +164 -0
  52. package/dist/adapters/file-operations.d.ts.map +1 -0
  53. package/dist/adapters/file-operations.js +526 -0
  54. package/dist/adapters/file-operations.js.map +1 -0
  55. package/dist/adapters/gemini-cli/detection.d.ts +57 -0
  56. package/dist/adapters/gemini-cli/detection.d.ts.map +1 -0
  57. package/dist/adapters/gemini-cli/detection.js +143 -0
  58. package/dist/adapters/gemini-cli/detection.js.map +1 -0
  59. package/dist/adapters/gemini-cli/index.d.ts +182 -0
  60. package/dist/adapters/gemini-cli/index.d.ts.map +1 -0
  61. package/dist/adapters/gemini-cli/index.js +598 -0
  62. package/dist/adapters/gemini-cli/index.js.map +1 -0
  63. package/dist/adapters/gemini-cli/installer.d.ts +158 -0
  64. package/dist/adapters/gemini-cli/installer.d.ts.map +1 -0
  65. package/dist/adapters/gemini-cli/installer.js +457 -0
  66. package/dist/adapters/gemini-cli/installer.js.map +1 -0
  67. package/dist/adapters/gemini-cli/model-mapping.d.ts +7 -0
  68. package/dist/adapters/gemini-cli/model-mapping.d.ts.map +1 -0
  69. package/dist/adapters/gemini-cli/model-mapping.js +14 -0
  70. package/dist/adapters/gemini-cli/model-mapping.js.map +1 -0
  71. package/dist/adapters/gemini-cli/tool-mapping.d.ts +18 -0
  72. package/dist/adapters/gemini-cli/tool-mapping.d.ts.map +1 -0
  73. package/dist/adapters/gemini-cli/tool-mapping.js +31 -0
  74. package/dist/adapters/gemini-cli/tool-mapping.js.map +1 -0
  75. package/dist/adapters/github-copilot/detection.d.ts +58 -0
  76. package/dist/adapters/github-copilot/detection.d.ts.map +1 -0
  77. package/dist/adapters/github-copilot/detection.js +144 -0
  78. package/dist/adapters/github-copilot/detection.js.map +1 -0
  79. package/dist/adapters/github-copilot/index.d.ts +203 -0
  80. package/dist/adapters/github-copilot/index.d.ts.map +1 -0
  81. package/dist/adapters/github-copilot/index.js +595 -0
  82. package/dist/adapters/github-copilot/index.js.map +1 -0
  83. package/dist/adapters/github-copilot/installer.d.ts +124 -0
  84. package/dist/adapters/github-copilot/installer.d.ts.map +1 -0
  85. package/dist/adapters/github-copilot/installer.js +343 -0
  86. package/dist/adapters/github-copilot/installer.js.map +1 -0
  87. package/dist/adapters/github-copilot/model-mapping.d.ts +7 -0
  88. package/dist/adapters/github-copilot/model-mapping.d.ts.map +1 -0
  89. package/dist/adapters/github-copilot/model-mapping.js +14 -0
  90. package/dist/adapters/github-copilot/model-mapping.js.map +1 -0
  91. package/dist/adapters/github-copilot/tool-mapping.d.ts +18 -0
  92. package/dist/adapters/github-copilot/tool-mapping.d.ts.map +1 -0
  93. package/dist/adapters/github-copilot/tool-mapping.js +31 -0
  94. package/dist/adapters/github-copilot/tool-mapping.js.map +1 -0
  95. package/dist/adapters/index.d.ts +39 -0
  96. package/dist/adapters/index.d.ts.map +1 -0
  97. package/dist/adapters/index.js +76 -0
  98. package/dist/adapters/index.js.map +1 -0
  99. package/dist/adapters/interface.d.ts +9 -0
  100. package/dist/adapters/interface.d.ts.map +1 -0
  101. package/dist/adapters/interface.js +8 -0
  102. package/dist/adapters/interface.js.map +1 -0
  103. package/dist/adapters/model-templating.d.ts +16 -0
  104. package/dist/adapters/model-templating.d.ts.map +1 -0
  105. package/dist/adapters/model-templating.js +52 -0
  106. package/dist/adapters/model-templating.js.map +1 -0
  107. package/dist/adapters/opencode/detection.d.ts +57 -0
  108. package/dist/adapters/opencode/detection.d.ts.map +1 -0
  109. package/dist/adapters/opencode/detection.js +140 -0
  110. package/dist/adapters/opencode/detection.js.map +1 -0
  111. package/dist/adapters/opencode/index.d.ts +168 -0
  112. package/dist/adapters/opencode/index.d.ts.map +1 -0
  113. package/dist/adapters/opencode/index.js +494 -0
  114. package/dist/adapters/opencode/index.js.map +1 -0
  115. package/dist/adapters/opencode/installer.d.ts +91 -0
  116. package/dist/adapters/opencode/installer.d.ts.map +1 -0
  117. package/dist/adapters/opencode/installer.js +290 -0
  118. package/dist/adapters/opencode/installer.js.map +1 -0
  119. package/dist/adapters/opencode/model-mapping.d.ts +7 -0
  120. package/dist/adapters/opencode/model-mapping.d.ts.map +1 -0
  121. package/dist/adapters/opencode/model-mapping.js +14 -0
  122. package/dist/adapters/opencode/model-mapping.js.map +1 -0
  123. package/dist/adapters/opencode/tool-mapping.d.ts +18 -0
  124. package/dist/adapters/opencode/tool-mapping.d.ts.map +1 -0
  125. package/dist/adapters/opencode/tool-mapping.js +31 -0
  126. package/dist/adapters/opencode/tool-mapping.js.map +1 -0
  127. package/dist/adapters/registry.d.ts +154 -0
  128. package/dist/adapters/registry.d.ts.map +1 -0
  129. package/dist/adapters/registry.js +223 -0
  130. package/dist/adapters/registry.js.map +1 -0
  131. package/dist/adapters/skill-frontmatter.d.ts +34 -0
  132. package/dist/adapters/skill-frontmatter.d.ts.map +1 -0
  133. package/dist/adapters/skill-frontmatter.js +110 -0
  134. package/dist/adapters/skill-frontmatter.js.map +1 -0
  135. package/dist/adapters/subagent-frontmatter.d.ts +22 -0
  136. package/dist/adapters/subagent-frontmatter.d.ts.map +1 -0
  137. package/dist/adapters/subagent-frontmatter.js +80 -0
  138. package/dist/adapters/subagent-frontmatter.js.map +1 -0
  139. package/dist/adapters/tool-templating.d.ts +162 -0
  140. package/dist/adapters/tool-templating.d.ts.map +1 -0
  141. package/dist/adapters/tool-templating.js +273 -0
  142. package/dist/adapters/tool-templating.js.map +1 -0
  143. package/dist/adapters/types.d.ts +347 -0
  144. package/dist/adapters/types.d.ts.map +1 -0
  145. package/dist/adapters/types.js +33 -0
  146. package/dist/adapters/types.js.map +1 -0
  147. package/dist/cli/index.d.ts +10 -0
  148. package/dist/cli/index.d.ts.map +1 -0
  149. package/dist/cli/index.js +261 -0
  150. package/dist/cli/index.js.map +1 -0
  151. package/dist/cli/info.d.ts +20 -0
  152. package/dist/cli/info.d.ts.map +1 -0
  153. package/dist/cli/info.js +194 -0
  154. package/dist/cli/info.js.map +1 -0
  155. package/dist/cli/install.d.ts +21 -0
  156. package/dist/cli/install.d.ts.map +1 -0
  157. package/dist/cli/install.js +1624 -0
  158. package/dist/cli/install.js.map +1 -0
  159. package/dist/cli/list.d.ts +19 -0
  160. package/dist/cli/list.d.ts.map +1 -0
  161. package/dist/cli/list.js +216 -0
  162. package/dist/cli/list.js.map +1 -0
  163. package/dist/cli/types.d.ts +246 -0
  164. package/dist/cli/types.d.ts.map +1 -0
  165. package/dist/cli/types.js +25 -0
  166. package/dist/cli/types.js.map +1 -0
  167. package/dist/cli/uninstall.d.ts +20 -0
  168. package/dist/cli/uninstall.d.ts.map +1 -0
  169. package/dist/cli/uninstall.js +393 -0
  170. package/dist/cli/uninstall.js.map +1 -0
  171. package/dist/cli/upgrade.d.ts +20 -0
  172. package/dist/cli/upgrade.d.ts.map +1 -0
  173. package/dist/cli/upgrade.js +372 -0
  174. package/dist/cli/upgrade.js.map +1 -0
  175. package/dist/cli/validate.d.ts +14 -0
  176. package/dist/cli/validate.d.ts.map +1 -0
  177. package/dist/cli/validate.js +307 -0
  178. package/dist/cli/validate.js.map +1 -0
  179. package/dist/core/debug.d.ts +23 -0
  180. package/dist/core/debug.d.ts.map +1 -0
  181. package/dist/core/debug.js +69 -0
  182. package/dist/core/debug.js.map +1 -0
  183. package/dist/core/hook-instance.d.ts +8 -0
  184. package/dist/core/hook-instance.d.ts.map +1 -0
  185. package/dist/core/hook-instance.js +62 -0
  186. package/dist/core/hook-instance.js.map +1 -0
  187. package/dist/core/mcp-instance.d.ts +13 -0
  188. package/dist/core/mcp-instance.d.ts.map +1 -0
  189. package/dist/core/mcp-instance.js +80 -0
  190. package/dist/core/mcp-instance.js.map +1 -0
  191. package/dist/core/types.d.ts +461 -0
  192. package/dist/core/types.d.ts.map +1 -0
  193. package/dist/core/types.js +42 -0
  194. package/dist/core/types.js.map +1 -0
  195. package/dist/core/upgrade-executor.d.ts +70 -0
  196. package/dist/core/upgrade-executor.d.ts.map +1 -0
  197. package/dist/core/upgrade-executor.js +368 -0
  198. package/dist/core/upgrade-executor.js.map +1 -0
  199. package/dist/discovery/fetcher-registry.d.ts +87 -0
  200. package/dist/discovery/fetcher-registry.d.ts.map +1 -0
  201. package/dist/discovery/fetcher-registry.js +119 -0
  202. package/dist/discovery/fetcher-registry.js.map +1 -0
  203. package/dist/discovery/git-fetcher.d.ts +61 -0
  204. package/dist/discovery/git-fetcher.d.ts.map +1 -0
  205. package/dist/discovery/git-fetcher.js +150 -0
  206. package/dist/discovery/git-fetcher.js.map +1 -0
  207. package/dist/discovery/index.d.ts +13 -0
  208. package/dist/discovery/index.d.ts.map +1 -0
  209. package/dist/discovery/index.js +15 -0
  210. package/dist/discovery/index.js.map +1 -0
  211. package/dist/discovery/kit-scanner.d.ts +55 -0
  212. package/dist/discovery/kit-scanner.d.ts.map +1 -0
  213. package/dist/discovery/kit-scanner.js +305 -0
  214. package/dist/discovery/kit-scanner.js.map +1 -0
  215. package/dist/discovery/local-fetcher.d.ts +38 -0
  216. package/dist/discovery/local-fetcher.d.ts.map +1 -0
  217. package/dist/discovery/local-fetcher.js +100 -0
  218. package/dist/discovery/local-fetcher.js.map +1 -0
  219. package/dist/discovery/source-parser.d.ts +33 -0
  220. package/dist/discovery/source-parser.d.ts.map +1 -0
  221. package/dist/discovery/source-parser.js +136 -0
  222. package/dist/discovery/source-parser.js.map +1 -0
  223. package/dist/discovery/types.d.ts +145 -0
  224. package/dist/discovery/types.d.ts.map +1 -0
  225. package/dist/discovery/types.js +18 -0
  226. package/dist/discovery/types.js.map +1 -0
  227. package/dist/index.d.ts +13 -0
  228. package/dist/index.d.ts.map +1 -0
  229. package/dist/index.js +19 -0
  230. package/dist/index.js.map +1 -0
  231. package/dist/manifest/index.d.ts +79 -0
  232. package/dist/manifest/index.d.ts.map +1 -0
  233. package/dist/manifest/index.js +200 -0
  234. package/dist/manifest/index.js.map +1 -0
  235. package/dist/manifest/read.d.ts +32 -0
  236. package/dist/manifest/read.d.ts.map +1 -0
  237. package/dist/manifest/read.js +88 -0
  238. package/dist/manifest/read.js.map +1 -0
  239. package/dist/manifest/types.d.ts +119 -0
  240. package/dist/manifest/types.d.ts.map +1 -0
  241. package/dist/manifest/types.js +44 -0
  242. package/dist/manifest/types.js.map +1 -0
  243. package/dist/manifest/upgrade-check.d.ts +72 -0
  244. package/dist/manifest/upgrade-check.d.ts.map +1 -0
  245. package/dist/manifest/upgrade-check.js +215 -0
  246. package/dist/manifest/upgrade-check.js.map +1 -0
  247. package/dist/manifest/utils.d.ts +35 -0
  248. package/dist/manifest/utils.d.ts.map +1 -0
  249. package/dist/manifest/utils.js +57 -0
  250. package/dist/manifest/utils.js.map +1 -0
  251. package/dist/manifest/write.d.ts +44 -0
  252. package/dist/manifest/write.d.ts.map +1 -0
  253. package/dist/manifest/write.js +77 -0
  254. package/dist/manifest/write.js.map +1 -0
  255. package/dist/resolution/env-resolver.d.ts +81 -0
  256. package/dist/resolution/env-resolver.d.ts.map +1 -0
  257. package/dist/resolution/env-resolver.js +233 -0
  258. package/dist/resolution/env-resolver.js.map +1 -0
  259. package/dist/resolution/index.d.ts +55 -0
  260. package/dist/resolution/index.d.ts.map +1 -0
  261. package/dist/resolution/index.js +412 -0
  262. package/dist/resolution/index.js.map +1 -0
  263. package/dist/resolution/multi-kit-resolver.d.ts +43 -0
  264. package/dist/resolution/multi-kit-resolver.d.ts.map +1 -0
  265. package/dist/resolution/multi-kit-resolver.js +258 -0
  266. package/dist/resolution/multi-kit-resolver.js.map +1 -0
  267. package/dist/resolution/primitive-paths.d.ts +17 -0
  268. package/dist/resolution/primitive-paths.d.ts.map +1 -0
  269. package/dist/resolution/primitive-paths.js +59 -0
  270. package/dist/resolution/primitive-paths.js.map +1 -0
  271. package/dist/resolution/primitives-registry.d.ts +137 -0
  272. package/dist/resolution/primitives-registry.d.ts.map +1 -0
  273. package/dist/resolution/primitives-registry.js +295 -0
  274. package/dist/resolution/primitives-registry.js.map +1 -0
  275. package/dist/resolution/reference-parser.d.ts +62 -0
  276. package/dist/resolution/reference-parser.d.ts.map +1 -0
  277. package/dist/resolution/reference-parser.js +182 -0
  278. package/dist/resolution/reference-parser.js.map +1 -0
  279. package/dist/resolution/types.d.ts +77 -0
  280. package/dist/resolution/types.d.ts.map +1 -0
  281. package/dist/resolution/types.js +13 -0
  282. package/dist/resolution/types.js.map +1 -0
  283. package/dist/resolution/version-resolver.d.ts +76 -0
  284. package/dist/resolution/version-resolver.d.ts.map +1 -0
  285. package/dist/resolution/version-resolver.js +269 -0
  286. package/dist/resolution/version-resolver.js.map +1 -0
  287. package/dist/tui/compatibility.d.ts +80 -0
  288. package/dist/tui/compatibility.d.ts.map +1 -0
  289. package/dist/tui/compatibility.js +355 -0
  290. package/dist/tui/compatibility.js.map +1 -0
  291. package/dist/tui/env-prompt.d.ts +129 -0
  292. package/dist/tui/env-prompt.d.ts.map +1 -0
  293. package/dist/tui/env-prompt.js +488 -0
  294. package/dist/tui/env-prompt.js.map +1 -0
  295. package/dist/tui/harness-select.d.ts +54 -0
  296. package/dist/tui/harness-select.d.ts.map +1 -0
  297. package/dist/tui/harness-select.js +171 -0
  298. package/dist/tui/harness-select.js.map +1 -0
  299. package/dist/tui/index.d.ts +112 -0
  300. package/dist/tui/index.d.ts.map +1 -0
  301. package/dist/tui/index.js +213 -0
  302. package/dist/tui/index.js.map +1 -0
  303. package/dist/tui/kit-select.d.ts +72 -0
  304. package/dist/tui/kit-select.d.ts.map +1 -0
  305. package/dist/tui/kit-select.js +209 -0
  306. package/dist/tui/kit-select.js.map +1 -0
  307. package/dist/tui/progress.d.ts +75 -0
  308. package/dist/tui/progress.d.ts.map +1 -0
  309. package/dist/tui/progress.js +267 -0
  310. package/dist/tui/progress.js.map +1 -0
  311. package/dist/tui/resolution.d.ts +62 -0
  312. package/dist/tui/resolution.d.ts.map +1 -0
  313. package/dist/tui/resolution.js +261 -0
  314. package/dist/tui/resolution.js.map +1 -0
  315. package/dist/tui/scope-compatibility.d.ts +139 -0
  316. package/dist/tui/scope-compatibility.d.ts.map +1 -0
  317. package/dist/tui/scope-compatibility.js +230 -0
  318. package/dist/tui/scope-compatibility.js.map +1 -0
  319. package/dist/tui/scope-select.d.ts +67 -0
  320. package/dist/tui/scope-select.d.ts.map +1 -0
  321. package/dist/tui/scope-select.js +134 -0
  322. package/dist/tui/scope-select.js.map +1 -0
  323. package/dist/tui/spinner.d.ts +114 -0
  324. package/dist/tui/spinner.d.ts.map +1 -0
  325. package/dist/tui/spinner.js +186 -0
  326. package/dist/tui/spinner.js.map +1 -0
  327. package/dist/tui/summary.d.ts +71 -0
  328. package/dist/tui/summary.d.ts.map +1 -0
  329. package/dist/tui/summary.js +343 -0
  330. package/dist/tui/summary.js.map +1 -0
  331. package/dist/tui/types.d.ts +234 -0
  332. package/dist/tui/types.d.ts.map +1 -0
  333. package/dist/tui/types.js +7 -0
  334. package/dist/tui/types.js.map +1 -0
  335. package/dist/tui/upgrade-select.d.ts +73 -0
  336. package/dist/tui/upgrade-select.d.ts.map +1 -0
  337. package/dist/tui/upgrade-select.js +324 -0
  338. package/dist/tui/upgrade-select.js.map +1 -0
  339. package/dist/validation/index.d.ts +13 -0
  340. package/dist/validation/index.d.ts.map +1 -0
  341. package/dist/validation/index.js +13 -0
  342. package/dist/validation/index.js.map +1 -0
  343. package/dist/validation/source.d.ts +14 -0
  344. package/dist/validation/source.d.ts.map +1 -0
  345. package/dist/validation/source.js +51 -0
  346. package/dist/validation/source.js.map +1 -0
  347. package/dist/validation/utils.d.ts +29 -0
  348. package/dist/validation/utils.d.ts.map +1 -0
  349. package/dist/validation/utils.js +89 -0
  350. package/dist/validation/utils.js.map +1 -0
  351. package/dist/validation/validate-commands.d.ts +28 -0
  352. package/dist/validation/validate-commands.d.ts.map +1 -0
  353. package/dist/validation/validate-commands.js +151 -0
  354. package/dist/validation/validate-commands.js.map +1 -0
  355. package/dist/validation/validate-hooks.d.ts +13 -0
  356. package/dist/validation/validate-hooks.d.ts.map +1 -0
  357. package/dist/validation/validate-hooks.js +272 -0
  358. package/dist/validation/validate-hooks.js.map +1 -0
  359. package/dist/validation/validate-kits.d.ts +15 -0
  360. package/dist/validation/validate-kits.d.ts.map +1 -0
  361. package/dist/validation/validate-kits.js +185 -0
  362. package/dist/validation/validate-kits.js.map +1 -0
  363. package/dist/validation/validate-mcp.d.ts +12 -0
  364. package/dist/validation/validate-mcp.d.ts.map +1 -0
  365. package/dist/validation/validate-mcp.js +132 -0
  366. package/dist/validation/validate-mcp.js.map +1 -0
  367. package/dist/validation/validate-skills.d.ts +24 -0
  368. package/dist/validation/validate-skills.d.ts.map +1 -0
  369. package/dist/validation/validate-skills.js +223 -0
  370. package/dist/validation/validate-skills.js.map +1 -0
  371. package/dist/validation/validate-subagents.d.ts +27 -0
  372. package/dist/validation/validate-subagents.d.ts.map +1 -0
  373. package/dist/validation/validate-subagents.js +269 -0
  374. package/dist/validation/validate-subagents.js.map +1 -0
  375. package/package.json +91 -0
  376. package/schemas/command.schema.json +23 -0
  377. package/schemas/examples/hook-binding-valid.json +20 -0
  378. package/schemas/examples/hook-program-valid.json +25 -0
  379. package/schemas/examples/http-server-valid.json +82 -0
  380. package/schemas/examples/invalid-sensitive-header-no-envvar.json +16 -0
  381. package/schemas/examples/invalid-sensitive-header-with-value.json +17 -0
  382. package/schemas/examples/invalid-sensitive-var-with-default.json +19 -0
  383. package/schemas/examples/stdio-server-valid.json +55 -0
  384. package/schemas/hook-binding.schema.json +63 -0
  385. package/schemas/hook-program.schema.json +104 -0
  386. package/schemas/kit.schema.json +338 -0
  387. package/schemas/kits.schema.json +117 -0
  388. package/schemas/manifest.schema.json +200 -0
  389. package/schemas/mcp-server.schema.json +305 -0
  390. package/schemas/primitives.schema.json +118 -0
  391. package/schemas/skill.schema.json +96 -0
  392. package/schemas/subagent.schema.json +107 -0
@@ -0,0 +1,231 @@
1
+ /**
2
+ * Base adapter class providing common functionality for harness adapters.
3
+ *
4
+ * This abstract class implements shared logic that all harness-specific adapters
5
+ * can use, reducing code duplication and ensuring consistent behavior across
6
+ * different AI agent harnesses.
7
+ */
8
+ import type { PrimitiveType, KitManifest, ResolvedPrimitive, InstallationScope, ResolvedEnvVar, ResolvedHeader, EnvVarOutput, HeaderOutput, EnvVarResolutionResult } from "../core/types.js";
9
+ import type { KitAdapter, InstallationPaths, ConfigLocations, DetectionResult, CompatibilityResult, InstallOptions, InstallResult, UninstallOptions, UninstallResult, InstalledKitInfo, TransformResult, HookInstallation, HookInstallationInput, ValidationResult, ToolMapping, ModelMapping, TemplateProcessingResult, FileOperationResult } from "./types.js";
10
+ import type { CommandMetadata, SkillMetadata, SubagentMetadata, McpServerConfig } from "../core/types.js";
11
+ import { type CompletedOperation } from "./file-operations.js";
12
+ /**
13
+ * Namespace separator for primitive names.
14
+ */
15
+ export declare const NAMESPACE_SEPARATOR = ".";
16
+ /**
17
+ * Abstract base class for kit adapters.
18
+ *
19
+ * Subclasses must implement abstract methods for harness-specific behavior
20
+ * while inheriting common functionality from this base class.
21
+ */
22
+ export declare abstract class BaseAdapter implements KitAdapter {
23
+ /**
24
+ * Adapter name (e.g., "claude-code").
25
+ */
26
+ abstract readonly name: string;
27
+ /**
28
+ * Human-readable display name (e.g., "Claude Code").
29
+ */
30
+ abstract readonly displayName: string;
31
+ /**
32
+ * Adapter implementation version.
33
+ */
34
+ abstract readonly version: string;
35
+ /**
36
+ * Supported harness version range (semver).
37
+ */
38
+ abstract readonly supportedHarnessVersions: string;
39
+ /**
40
+ * Get the installation scopes supported by this harness.
41
+ *
42
+ * Most harnesses support both global and project scopes.
43
+ */
44
+ abstract getSupportedScopes(): InstallationScope[];
45
+ /**
46
+ * Get the primitive types supported by this harness.
47
+ *
48
+ * @param scope - Installation scope (defaults to "global")
49
+ */
50
+ abstract getSupportedPrimitives(scope?: InstallationScope): PrimitiveType[];
51
+ /**
52
+ * Get the installation paths for file-based primitives.
53
+ *
54
+ * @param scope - Installation scope (defaults to "global")
55
+ */
56
+ abstract getInstallationPaths(scope?: InstallationScope): InstallationPaths;
57
+ /**
58
+ * Get the configuration file locations.
59
+ *
60
+ * @param scope - Installation scope (defaults to "global")
61
+ */
62
+ abstract getConfigLocations(scope?: InstallationScope): ConfigLocations;
63
+ /**
64
+ * Get the tool mapping for this harness.
65
+ */
66
+ abstract getToolMapping(): ToolMapping;
67
+ /**
68
+ * Get the model mapping for this harness.
69
+ */
70
+ abstract getModelMapping(): ModelMapping;
71
+ /**
72
+ * Filter subagent frontmatter for this harness.
73
+ */
74
+ protected filterSubagentFrontmatter(frontmatter: Record<string, unknown>, _metadata: SubagentMetadata): Record<string, unknown>;
75
+ /**
76
+ * Resolve canonical subagent hook bindings to harness-specific format.
77
+ */
78
+ protected mapSubagentHooks(frontmatter: Record<string, unknown>, _resolvedPrimitives: ResolvedPrimitive[], _kitName: string, _paths: InstallationPaths, _scope: InstallationScope, _projectRoot?: string): Record<string, unknown>;
79
+ /**
80
+ * Detect if the harness is installed on the system.
81
+ */
82
+ abstract detect(): Promise<DetectionResult>;
83
+ /**
84
+ * Transform a command for this harness.
85
+ */
86
+ abstract transformCommand(content: string, metadata: CommandMetadata): TransformResult;
87
+ /**
88
+ * Transform a skill for this harness.
89
+ */
90
+ abstract transformSkill(skillDir: string, metadata: SkillMetadata): TransformResult;
91
+ /**
92
+ * Transform a subagent for this harness.
93
+ */
94
+ abstract transformSubagent(content: string, metadata: SubagentMetadata): TransformResult;
95
+ /**
96
+ * Transform an MCP server configuration for this harness.
97
+ */
98
+ abstract transformMcpServer(config: McpServerConfig): Record<string, unknown>;
99
+ /**
100
+ * Transform a hook for this harness.
101
+ */
102
+ abstract transformHook(hook: HookInstallationInput): HookInstallation;
103
+ /**
104
+ * Transform resolved environment variables to harness-native format.
105
+ *
106
+ * Called during MCP server installation. Each harness has specific
107
+ * syntax for passthrough (runtime resolution) vs direct values.
108
+ *
109
+ * See PRD-001 FR-20 for harness-specific transformation rules.
110
+ */
111
+ abstract transformEnvVars(resolved: ResolvedEnvVar[]): EnvVarOutput;
112
+ /**
113
+ * Transform resolved HTTP headers to harness-native format.
114
+ *
115
+ * Called during HTTP transport MCP server installation. Each harness
116
+ * has specific handling for authentication headers vs other headers.
117
+ *
118
+ * See PRD-001 FR-21 for harness-specific transformation rules.
119
+ */
120
+ abstract transformHeaders(resolved: ResolvedHeader[]): HeaderOutput;
121
+ /**
122
+ * Filter skill frontmatter for this harness.
123
+ *
124
+ * Default behavior preserves all fields.
125
+ */
126
+ protected filterSkillFrontmatter(frontmatter: Record<string, unknown>, _metadata: SkillMetadata): Record<string, unknown>;
127
+ /**
128
+ * Resolve canonical skill hook bindings to harness-specific format.
129
+ */
130
+ protected mapSkillHooks(frontmatter: Record<string, unknown>, _resolvedPrimitives: ResolvedPrimitive[], _kitName: string, _paths: InstallationPaths, _scope: InstallationScope, _projectRoot?: string): Record<string, unknown>;
131
+ /**
132
+ * Check if a kit is compatible with this harness at the given scope.
133
+ *
134
+ * @param kit - Kit manifest to check
135
+ * @param scope - Installation scope (defaults to "global")
136
+ */
137
+ checkCompatibility(kit: KitManifest, scope?: InstallationScope): CompatibilityResult;
138
+ /**
139
+ * Get a namespaced primitive name.
140
+ *
141
+ * Format: {kitName}.{primitiveName}
142
+ */
143
+ getNamespacedName(kitName: string, primitiveName: string): string;
144
+ /**
145
+ * Parse a namespaced name into kit and primitive components.
146
+ */
147
+ parseNamespacedName(namespacedName: string): {
148
+ kitName: string;
149
+ primitiveName: string;
150
+ };
151
+ /**
152
+ * Process tool templates in content.
153
+ */
154
+ processToolTemplates(content: string): TemplateProcessingResult;
155
+ /**
156
+ * Validate a kit against this harness's requirements.
157
+ */
158
+ validate(kit: KitManifest): ValidationResult;
159
+ /**
160
+ * Install a kit to this harness.
161
+ */
162
+ install(kit: KitManifest, resolvedPrimitives: ResolvedPrimitive[], options: InstallOptions): Promise<InstallResult>;
163
+ /**
164
+ * Install a single primitive.
165
+ *
166
+ * Subclasses may override for harness-specific behavior.
167
+ *
168
+ * @param kitName - Name of the kit being installed
169
+ * @param primitive - Resolved primitive to install
170
+ * @param resolvedPrimitives - All resolved primitives for the kit
171
+ * @param paths - Installation paths for the scope
172
+ * @param dryRun - If true, don't actually write files
173
+ * @param completedOps - Array to track completed operations for rollback
174
+ * @param scope - Installation scope
175
+ * @param projectRoot - Project root for project scope
176
+ */
177
+ protected installPrimitive(kitName: string, primitive: ResolvedPrimitive, resolvedPrimitives: ResolvedPrimitive[], paths: InstallationPaths, dryRun: boolean, completedOps: CompletedOperation[], scope?: InstallationScope, projectRoot?: string): Promise<{
178
+ destination: string;
179
+ existed: boolean;
180
+ operations: FileOperationResult[];
181
+ }>;
182
+ /**
183
+ * Update harness configuration (MCP servers, hooks config).
184
+ *
185
+ * Subclasses should override for harness-specific config handling.
186
+ *
187
+ * @param kit - Kit manifest
188
+ * @param resolvedPrimitives - Resolved primitives to install
189
+ * @param dryRun - If true, don't actually write files
190
+ * @param completedOps - Array to track completed operations for rollback
191
+ * @param scope - Installation scope
192
+ * @param projectRoot - Project root for project scope
193
+ */
194
+ protected updateConfiguration(_kit: KitManifest, _resolvedPrimitives: ResolvedPrimitive[], _dryRun: boolean, _completedOps: CompletedOperation[], _scope?: InstallationScope, _projectRoot?: string, _envResolutions?: EnvVarResolutionResult[]): Promise<{
195
+ operations: FileOperationResult[];
196
+ }>;
197
+ /**
198
+ * Uninstall a kit from this harness.
199
+ *
200
+ * @param kitName - Name of the kit to uninstall
201
+ * @param options - Uninstall options including scope
202
+ */
203
+ uninstall(kitName: string, options: UninstallOptions): Promise<UninstallResult>;
204
+ /**
205
+ * List installed kits.
206
+ *
207
+ * Subclasses should implement this based on how they track installations.
208
+ * The default implementation scans installation directories for namespaced files.
209
+ *
210
+ * @param scope - Installation scope (defaults to "global")
211
+ */
212
+ list(scope?: InstallationScope): Promise<InstalledKitInfo[]>;
213
+ /**
214
+ * Scan a directory for primitives and add to kit map.
215
+ */
216
+ private scanDirectoryForPrimitives;
217
+ /**
218
+ * Get the file extension for a primitive type.
219
+ */
220
+ protected getFileExtension(primitiveType: PrimitiveType): string;
221
+ /**
222
+ * Get the destination path for a primitive.
223
+ *
224
+ * @param primitiveType - Type of primitive
225
+ * @param namespacedName - Namespaced name of the primitive
226
+ * @param scope - Installation scope (defaults to "global")
227
+ * @param projectRoot - Project root for project scope
228
+ */
229
+ protected getDestinationPath(primitiveType: PrimitiveType, namespacedName: string, scope?: InstallationScope, projectRoot?: string): string;
230
+ }
231
+ //# sourceMappingURL=base-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/base-adapter.ts"],"names":[],"mappings":"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"}