@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,161 @@
1
+ /**
2
+ * Claude Code installation helpers.
3
+ *
4
+ * Provides utilities for installing primitives to Claude Code:
5
+ * - MCP server configuration in ~/.claude.json
6
+ * - Hook configuration in ~/.claude/settings.json
7
+ * - Environment variable substitution
8
+ */
9
+ import type { McpServerConfig, ResolvedEnvVar, ResolvedHeader, EnvVarOutput, HeaderOutput } from "../../core/types.js";
10
+ import type { HookInstallation, HookInstallationInput, FileOperationResult } from "../types.js";
11
+ /**
12
+ * Claude Code MCP configuration structure.
13
+ */
14
+ export interface ClaudeMcpConfig {
15
+ mcpServers?: Record<string, McpServerEntry>;
16
+ }
17
+ /**
18
+ * MCP server entry in Claude Code config.
19
+ */
20
+ export interface McpServerEntry {
21
+ command?: string;
22
+ args?: string[];
23
+ env?: Record<string, string>;
24
+ url?: string;
25
+ headers?: Record<string, string>;
26
+ }
27
+ /**
28
+ * Claude Code settings structure.
29
+ */
30
+ export interface ClaudeSettings {
31
+ hooks?: Record<string, ClaudeHookConfig>;
32
+ [key: string]: unknown;
33
+ }
34
+ /**
35
+ * Claude Code hook configuration.
36
+ */
37
+ export interface ClaudeHookEntry {
38
+ type: "command" | "prompt";
39
+ command?: string;
40
+ prompt?: string;
41
+ timeout?: number;
42
+ }
43
+ export interface ClaudeHookMatcherEntry {
44
+ matcher: string | {
45
+ tool?: string;
46
+ pattern?: string;
47
+ };
48
+ hooks: ClaudeHookEntry[];
49
+ }
50
+ export type ClaudeHookConfig = ClaudeHookMatcherEntry[];
51
+ /**
52
+ * Read the MCP configuration file.
53
+ */
54
+ export declare function readMcpConfig(): Promise<ClaudeMcpConfig>;
55
+ /**
56
+ * Write the MCP configuration file.
57
+ */
58
+ export declare function writeMcpConfig(config: ClaudeMcpConfig): Promise<void>;
59
+ /**
60
+ * Read the settings configuration file.
61
+ */
62
+ export declare function readSettingsConfig(): Promise<ClaudeSettings>;
63
+ /**
64
+ * Write the settings configuration file.
65
+ */
66
+ export declare function writeSettingsConfig(config: ClaudeSettings): Promise<void>;
67
+ /**
68
+ * Process environment variable values.
69
+ *
70
+ * Converts ${VAR} and $VAR syntax to a format suitable for Claude Code.
71
+ * Claude Code uses ${VAR} syntax in env values.
72
+ */
73
+ export declare function processEnvValue(value: string): string;
74
+ /**
75
+ * Transform an MCP server configuration for Claude Code.
76
+ *
77
+ * Claude Code MCP configuration format:
78
+ * ```json
79
+ * {
80
+ * "mcpServers": {
81
+ * "server-name": {
82
+ * "command": "executable",
83
+ * "args": ["arg1", "arg2"],
84
+ * "env": {
85
+ * "VAR": "${VAR}"
86
+ * }
87
+ * }
88
+ * }
89
+ * }
90
+ * ```
91
+ *
92
+ * Note: Full environment variable transformation with sensitivity handling
93
+ * is implemented in transformEnvVars (Phase 7). This function provides
94
+ * basic passthrough for all env vars using ${VAR} syntax.
95
+ */
96
+ export declare function transformMcpServerConfig(config: McpServerConfig): McpServerEntry;
97
+ /**
98
+ * Transform resolved environment variables to Claude Code format.
99
+ *
100
+ * Claude Code uses JSON configuration with ${VAR} syntax for passthrough.
101
+ *
102
+ * Rules (per FR-20.3):
103
+ * - Passthrough: "VAR": "${VAR}"
104
+ * - Direct value: "VAR": "value"
105
+ */
106
+ export declare function transformEnvVars(resolved: ResolvedEnvVar[]): EnvVarOutput;
107
+ /**
108
+ * Transform resolved headers to Claude Code format.
109
+ *
110
+ * Claude Code uses ${VAR} syntax within header values for passthrough.
111
+ *
112
+ * Rules (per FR-21.2):
113
+ * - Sensitive with envVar: "Header": "${VAR}"
114
+ * - Nonsensitive with static value: "Header": "value"
115
+ * - Nonsensitive with envVar: "Header": "${VAR}"
116
+ */
117
+ export declare function transformHeaders(resolved: ResolvedHeader[]): HeaderOutput;
118
+ /**
119
+ * Add an MCP server to the configuration.
120
+ *
121
+ * @param namespacedName - The namespaced server name (e.g., "kit.server")
122
+ * @param config - The MCP server configuration
123
+ */
124
+ export declare function addMcpServer(namespacedName: string, config: McpServerConfig): Promise<FileOperationResult>;
125
+ /**
126
+ * Remove an MCP server from the configuration.
127
+ *
128
+ * @param namespacedName - The namespaced server name to remove
129
+ */
130
+ export declare function removeMcpServer(namespacedName: string): Promise<boolean>;
131
+ /**
132
+ * Transform a hook program + binding for Claude Code.
133
+ */
134
+ export declare function transformHookConfig(input: HookInstallationInput): HookInstallation;
135
+ export declare function mergeHookConfigs(existing: Record<string, ClaudeHookConfig>, addition: Record<string, ClaudeHookConfig>): Record<string, ClaudeHookConfig>;
136
+ /**
137
+ * Add a hook to the settings configuration.
138
+ *
139
+ * @param namespacedName - The namespaced hook name
140
+ * @param hookInstallation - The transformed hook installation
141
+ */
142
+ export declare function addHookConfig(namespacedName: string, hookInstallation: HookInstallation): Promise<FileOperationResult>;
143
+ /**
144
+ * Remove a hook from the settings configuration.
145
+ *
146
+ * @param namespacedName - The namespaced hook name to remove
147
+ */
148
+ export declare function removeHookConfig(namespacedName: string): Promise<boolean>;
149
+ /**
150
+ * Get all installed MCP servers for a specific kit.
151
+ *
152
+ * @param kitName - The kit name prefix to filter by
153
+ */
154
+ export declare function getKitMcpServers(kitName: string): Promise<string[]>;
155
+ /**
156
+ * Remove all MCP servers for a specific kit.
157
+ *
158
+ * @param kitName - The kit name prefix to remove
159
+ */
160
+ export declare function removeKitMcpServers(kitName: string): Promise<string[]>;
161
+ //# sourceMappingURL=installer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../../../src/adapters/claude-code/installer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,413 @@
1
+ /**
2
+ * Claude Code installation helpers.
3
+ *
4
+ * Provides utilities for installing primitives to Claude Code:
5
+ * - MCP server configuration in ~/.claude.json
6
+ * - Hook configuration in ~/.claude/settings.json
7
+ * - Environment variable substitution
8
+ */
9
+ import * as path from "node:path";
10
+ import { readFileSync } from "node:fs";
11
+ import { expandPath, pathExists, readFile, writeTransformed, ensureDirectory, } from "../file-operations.js";
12
+ import { CLAUDE_CODE_PATHS } from "./detection.js";
13
+ import { claudeCodeToolMapping } from "./tool-mapping.js";
14
+ /**
15
+ * Read the MCP configuration file.
16
+ */
17
+ export async function readMcpConfig() {
18
+ const configPath = expandPath(CLAUDE_CODE_PATHS.mcpJson);
19
+ if (!pathExists(configPath)) {
20
+ return {};
21
+ }
22
+ try {
23
+ const content = await readFile(configPath);
24
+ return JSON.parse(content);
25
+ }
26
+ catch {
27
+ return {};
28
+ }
29
+ }
30
+ /**
31
+ * Write the MCP configuration file.
32
+ */
33
+ export async function writeMcpConfig(config) {
34
+ const configPath = expandPath(CLAUDE_CODE_PATHS.mcpJson);
35
+ await writeTransformed(configPath, JSON.stringify(config, null, 2));
36
+ }
37
+ /**
38
+ * Read the settings configuration file.
39
+ */
40
+ export async function readSettingsConfig() {
41
+ const configPath = expandPath(CLAUDE_CODE_PATHS.settingsJson);
42
+ if (!pathExists(configPath)) {
43
+ return {};
44
+ }
45
+ try {
46
+ const content = await readFile(configPath);
47
+ return JSON.parse(content);
48
+ }
49
+ catch {
50
+ return {};
51
+ }
52
+ }
53
+ /**
54
+ * Write the settings configuration file.
55
+ */
56
+ export async function writeSettingsConfig(config) {
57
+ const configPath = expandPath(CLAUDE_CODE_PATHS.settingsJson);
58
+ await ensureDirectory(path.dirname(configPath));
59
+ await writeTransformed(configPath, JSON.stringify(config, null, 2));
60
+ }
61
+ /**
62
+ * Process environment variable values.
63
+ *
64
+ * Converts ${VAR} and $VAR syntax to a format suitable for Claude Code.
65
+ * Claude Code uses ${VAR} syntax in env values.
66
+ */
67
+ export function processEnvValue(value) {
68
+ // Claude Code supports ${VAR} syntax natively
69
+ return value;
70
+ }
71
+ /**
72
+ * Transform an MCP server configuration for Claude Code.
73
+ *
74
+ * Claude Code MCP configuration format:
75
+ * ```json
76
+ * {
77
+ * "mcpServers": {
78
+ * "server-name": {
79
+ * "command": "executable",
80
+ * "args": ["arg1", "arg2"],
81
+ * "env": {
82
+ * "VAR": "${VAR}"
83
+ * }
84
+ * }
85
+ * }
86
+ * }
87
+ * ```
88
+ *
89
+ * Note: Full environment variable transformation with sensitivity handling
90
+ * is implemented in transformEnvVars (Phase 7). This function provides
91
+ * basic passthrough for all env vars using ${VAR} syntax.
92
+ */
93
+ export function transformMcpServerConfig(config) {
94
+ // Only stdio transport is supported for Claude Code MCP servers
95
+ if (config.transport.type !== "stdio") {
96
+ throw new Error(`Unsupported transport type: ${config.transport.type}. Claude Code only supports stdio transport.`);
97
+ }
98
+ const entry = {
99
+ command: config.transport.command,
100
+ };
101
+ if (config.transport.args && config.transport.args.length > 0) {
102
+ entry.args = config.transport.args;
103
+ }
104
+ // Basic env var passthrough - full transformation in Phase 7
105
+ if (config.env && Object.keys(config.env).length > 0) {
106
+ entry.env = {};
107
+ for (const [key] of Object.entries(config.env)) {
108
+ // Use passthrough syntax for all env vars
109
+ entry.env[key] = `\${${key}}`;
110
+ }
111
+ }
112
+ return entry;
113
+ }
114
+ /**
115
+ * Transform resolved environment variables to Claude Code format.
116
+ *
117
+ * Claude Code uses JSON configuration with ${VAR} syntax for passthrough.
118
+ *
119
+ * Rules (per FR-20.3):
120
+ * - Passthrough: "VAR": "${VAR}"
121
+ * - Direct value: "VAR": "value"
122
+ */
123
+ export function transformEnvVars(resolved) {
124
+ const env = {};
125
+ for (const r of resolved) {
126
+ if (r.usePassthrough) {
127
+ env[r.name] = `\${${r.name}}`;
128
+ }
129
+ else if (r.value !== undefined) {
130
+ env[r.name] = r.value;
131
+ }
132
+ // Skip if no value and not passthrough (shouldn't happen)
133
+ }
134
+ return env;
135
+ }
136
+ /**
137
+ * Transform resolved headers to Claude Code format.
138
+ *
139
+ * Claude Code uses ${VAR} syntax within header values for passthrough.
140
+ *
141
+ * Rules (per FR-21.2):
142
+ * - Sensitive with envVar: "Header": "${VAR}"
143
+ * - Nonsensitive with static value: "Header": "value"
144
+ * - Nonsensitive with envVar: "Header": "${VAR}"
145
+ */
146
+ export function transformHeaders(resolved) {
147
+ const headers = {};
148
+ for (const r of resolved) {
149
+ if (r.usePassthrough && r.envVar) {
150
+ headers[r.name] = `\${${r.envVar}}`;
151
+ }
152
+ else if (r.value !== undefined) {
153
+ headers[r.name] = r.value;
154
+ }
155
+ // Skip if no value and no passthrough (shouldn't happen)
156
+ }
157
+ return headers;
158
+ }
159
+ /**
160
+ * Add an MCP server to the configuration.
161
+ *
162
+ * @param namespacedName - The namespaced server name (e.g., "kit.server")
163
+ * @param config - The MCP server configuration
164
+ */
165
+ export async function addMcpServer(namespacedName, config) {
166
+ try {
167
+ const mcpConfig = await readMcpConfig();
168
+ if (!mcpConfig.mcpServers) {
169
+ mcpConfig.mcpServers = {};
170
+ }
171
+ mcpConfig.mcpServers[namespacedName] = transformMcpServerConfig(config);
172
+ await writeMcpConfig(mcpConfig);
173
+ return {
174
+ operation: "merge",
175
+ destination: expandPath(CLAUDE_CODE_PATHS.mcpJson),
176
+ success: true,
177
+ };
178
+ }
179
+ catch (error) {
180
+ return {
181
+ operation: "merge",
182
+ destination: expandPath(CLAUDE_CODE_PATHS.mcpJson),
183
+ success: false,
184
+ error: error instanceof Error ? error.message : String(error),
185
+ };
186
+ }
187
+ }
188
+ /**
189
+ * Remove an MCP server from the configuration.
190
+ *
191
+ * @param namespacedName - The namespaced server name to remove
192
+ */
193
+ export async function removeMcpServer(namespacedName) {
194
+ const mcpConfig = await readMcpConfig();
195
+ if (!mcpConfig.mcpServers || !mcpConfig.mcpServers[namespacedName]) {
196
+ return false;
197
+ }
198
+ delete mcpConfig.mcpServers[namespacedName];
199
+ await writeMcpConfig(mcpConfig);
200
+ return true;
201
+ }
202
+ /**
203
+ * Transform a hook program + binding for Claude Code.
204
+ */
205
+ export function transformHookConfig(input) {
206
+ const eventKey = mapHookEvent(input.binding.event);
207
+ if (!eventKey) {
208
+ throw new Error(`Unsupported Claude hook event: ${input.binding.event}`);
209
+ }
210
+ const matcher = buildMatcher(input.binding);
211
+ const timeout = input.binding.runtime?.timeout_ms ?? input.program.runtime.timeout_ms;
212
+ const workingDir = input.binding.runtime?.working_directory ?? input.program.runtime.working_directory;
213
+ if (input.program.runtime.type === "prompt") {
214
+ const promptContent = readPromptFile(input.entryPath);
215
+ const hookEntry = {
216
+ type: "prompt",
217
+ prompt: promptContent,
218
+ ...(timeout !== undefined ? { timeout } : {}),
219
+ };
220
+ return {
221
+ config: {
222
+ [eventKey]: [{ matcher, hooks: [hookEntry] }],
223
+ },
224
+ };
225
+ }
226
+ if (input.program.runtime.type !== "command") {
227
+ throw new Error(`Unsupported Claude hook runtime: ${input.program.runtime.type}`);
228
+ }
229
+ const command = buildCommand(input.targetPath, workingDir);
230
+ const hookEntry = {
231
+ type: "command",
232
+ command,
233
+ ...(timeout !== undefined ? { timeout } : {}),
234
+ };
235
+ return {
236
+ files: [
237
+ {
238
+ type: "copy",
239
+ source: input.entryPath,
240
+ destination: input.targetPath,
241
+ },
242
+ ],
243
+ config: {
244
+ [eventKey]: [{ matcher, hooks: [hookEntry] }],
245
+ },
246
+ };
247
+ }
248
+ function mapHookEvent(event) {
249
+ const eventMap = {
250
+ "session.start": "SessionStart",
251
+ "session.end": "SessionEnd",
252
+ "prompt.submit": "UserPromptSubmit",
253
+ "tool.before": "PreToolUse",
254
+ "tool.after": "PostToolUse",
255
+ "permission.request": "PermissionRequest",
256
+ notification: "Notification",
257
+ "compaction.before": "PreCompact",
258
+ "subagent.start": "SubagentStart",
259
+ "subagent.stop": "SubagentStop",
260
+ };
261
+ return eventMap[event] ?? null;
262
+ }
263
+ function mapToolName(tool) {
264
+ if (!tool)
265
+ return undefined;
266
+ return claudeCodeToolMapping[tool] ?? tool;
267
+ }
268
+ function buildMatcher(binding) {
269
+ if (!binding.matcher) {
270
+ return "*";
271
+ }
272
+ const mappedTool = mapToolName(binding.matcher.tool);
273
+ const pattern = binding.matcher.command_pattern ??
274
+ binding.matcher.file_pattern ??
275
+ binding.matcher.prompt_pattern;
276
+ if (mappedTool || pattern) {
277
+ const matcher = {};
278
+ if (mappedTool) {
279
+ matcher.tool = mappedTool;
280
+ }
281
+ if (pattern) {
282
+ matcher.pattern = pattern;
283
+ }
284
+ return matcher;
285
+ }
286
+ return "*";
287
+ }
288
+ function buildCommand(commandPath, workingDir) {
289
+ if (!workingDir || workingDir === "inherit") {
290
+ return commandPath;
291
+ }
292
+ return `cd ${workingDir} && ${commandPath}`;
293
+ }
294
+ function readPromptFile(entryPath) {
295
+ // Claude prompt hooks can inline prompt content.
296
+ try {
297
+ const content = readFileSync(entryPath, "utf-8");
298
+ return content.trim();
299
+ }
300
+ catch {
301
+ return "";
302
+ }
303
+ }
304
+ export function mergeHookConfigs(existing, addition) {
305
+ const merged = { ...existing };
306
+ for (const [eventKey, entries] of Object.entries(addition)) {
307
+ if (!merged[eventKey]) {
308
+ merged[eventKey] = [];
309
+ }
310
+ merged[eventKey] = [...merged[eventKey], ...entries];
311
+ }
312
+ return merged;
313
+ }
314
+ /**
315
+ * Add a hook to the settings configuration.
316
+ *
317
+ * @param namespacedName - The namespaced hook name
318
+ * @param hookInstallation - The transformed hook installation
319
+ */
320
+ export async function addHookConfig(namespacedName, hookInstallation) {
321
+ try {
322
+ const settings = await readSettingsConfig();
323
+ if (!settings.hooks) {
324
+ settings.hooks = {};
325
+ }
326
+ // Merge hook config into settings
327
+ if (hookInstallation.config) {
328
+ settings.hooks = mergeHookConfigs(settings.hooks, hookInstallation.config);
329
+ }
330
+ await writeSettingsConfig(settings);
331
+ return {
332
+ operation: "merge",
333
+ destination: expandPath(CLAUDE_CODE_PATHS.settingsJson),
334
+ success: true,
335
+ };
336
+ }
337
+ catch (error) {
338
+ return {
339
+ operation: "merge",
340
+ destination: expandPath(CLAUDE_CODE_PATHS.settingsJson),
341
+ success: false,
342
+ error: error instanceof Error ? error.message : String(error),
343
+ };
344
+ }
345
+ }
346
+ /**
347
+ * Remove a hook from the settings configuration.
348
+ *
349
+ * @param namespacedName - The namespaced hook name to remove
350
+ */
351
+ export async function removeHookConfig(namespacedName) {
352
+ const settings = await readSettingsConfig();
353
+ if (!settings.hooks) {
354
+ return false;
355
+ }
356
+ let removed = false;
357
+ for (const key of Object.keys(settings.hooks)) {
358
+ const entries = settings.hooks[key] ?? [];
359
+ const filtered = entries.filter((entry) => {
360
+ return !entry.hooks.some((hook) => hook.command?.includes(namespacedName));
361
+ });
362
+ if (filtered.length !== entries.length) {
363
+ removed = true;
364
+ if (filtered.length === 0) {
365
+ delete settings.hooks[key];
366
+ }
367
+ else {
368
+ settings.hooks[key] = filtered;
369
+ }
370
+ }
371
+ }
372
+ if (removed) {
373
+ await writeSettingsConfig(settings);
374
+ }
375
+ return removed;
376
+ }
377
+ /**
378
+ * Get all installed MCP servers for a specific kit.
379
+ *
380
+ * @param kitName - The kit name prefix to filter by
381
+ */
382
+ export async function getKitMcpServers(kitName) {
383
+ const mcpConfig = await readMcpConfig();
384
+ if (!mcpConfig.mcpServers) {
385
+ return [];
386
+ }
387
+ const prefix = `${kitName}.`;
388
+ return Object.keys(mcpConfig.mcpServers).filter((name) => name.startsWith(prefix));
389
+ }
390
+ /**
391
+ * Remove all MCP servers for a specific kit.
392
+ *
393
+ * @param kitName - The kit name prefix to remove
394
+ */
395
+ export async function removeKitMcpServers(kitName) {
396
+ const mcpConfig = await readMcpConfig();
397
+ const removed = [];
398
+ if (!mcpConfig.mcpServers) {
399
+ return removed;
400
+ }
401
+ const prefix = `${kitName}.`;
402
+ for (const name of Object.keys(mcpConfig.mcpServers)) {
403
+ if (name.startsWith(prefix)) {
404
+ delete mcpConfig.mcpServers[name];
405
+ removed.push(name);
406
+ }
407
+ }
408
+ if (removed.length > 0) {
409
+ await writeMcpConfig(mcpConfig);
410
+ }
411
+ return removed;
412
+ }
413
+ //# sourceMappingURL=installer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"installer.js","sourceRoot":"","sources":["../../../src/adapters/claude-code/installer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Claude Code model mapping.
3
+ */
4
+ import type { ModelMapping } from "../types.js";
5
+ export declare const claudeCodeModelMapping: ModelMapping;
6
+ export declare function getClaudeCodeModelMapping(): ModelMapping;
7
+ //# sourceMappingURL=model-mapping.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-mapping.d.ts","sourceRoot":"","sources":["../../../src/adapters/claude-code/model-mapping.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,eAAO,MAAM,sBAAsB,EAAE,YAMpC,CAAC;AAEF,wBAAgB,yBAAyB,IAAI,YAAY,CAExD"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Claude Code model mapping.
3
+ */
4
+ export const claudeCodeModelMapping = {
5
+ fast: "haiku",
6
+ standard: "sonnet",
7
+ power: "opus",
8
+ auto: null,
9
+ inherit: "inherit",
10
+ };
11
+ export function getClaudeCodeModelMapping() {
12
+ return claudeCodeModelMapping;
13
+ }
14
+ //# sourceMappingURL=model-mapping.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-mapping.js","sourceRoot":"","sources":["../../../src/adapters/claude-code/model-mapping.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,CAAC,MAAM,sBAAsB,GAAiB;IAClD,IAAI,EAAE,OAAO;IACb,QAAQ,EAAE,QAAQ;IAClB,KAAK,EAAE,MAAM;IACb,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,SAAS;CACnB,CAAC;AAEF,MAAM,UAAU,yBAAyB;IACvC,OAAO,sBAAsB,CAAC;AAChC,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Claude Code tool mapping.
3
+ *
4
+ * Maps canonical tool identifiers to Claude Code's native tool names.
5
+ * Claude Code has full support for all canonical tools.
6
+ */
7
+ import type { ToolMapping } from "../types.js";
8
+ /**
9
+ * Claude Code tool mapping.
10
+ *
11
+ * Claude Code provides comprehensive tool support with PascalCase naming.
12
+ */
13
+ export declare const claudeCodeToolMapping: ToolMapping;
14
+ /**
15
+ * Get the Claude Code tool mapping.
16
+ */
17
+ export declare function getClaudeCodeToolMapping(): ToolMapping;
18
+ //# sourceMappingURL=tool-mapping.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-mapping.d.ts","sourceRoot":"","sources":["../../../src/adapters/claude-code/tool-mapping.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,EAAE,WAYnC,CAAC;AAEF;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,WAAW,CAEtD"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Claude Code tool mapping.
3
+ *
4
+ * Maps canonical tool identifiers to Claude Code's native tool names.
5
+ * Claude Code has full support for all canonical tools.
6
+ */
7
+ /**
8
+ * Claude Code tool mapping.
9
+ *
10
+ * Claude Code provides comprehensive tool support with PascalCase naming.
11
+ */
12
+ export const claudeCodeToolMapping = {
13
+ shell: "Bash",
14
+ read: "Read",
15
+ write: "Write",
16
+ edit: "Edit",
17
+ grep: "Grep",
18
+ glob: "Glob",
19
+ list: "LS",
20
+ webfetch: "WebFetch",
21
+ websearch: "WebSearch",
22
+ todo: "TodoWrite",
23
+ ask: "AskUserQuestion",
24
+ };
25
+ /**
26
+ * Get the Claude Code tool mapping.
27
+ */
28
+ export function getClaudeCodeToolMapping() {
29
+ return claudeCodeToolMapping;
30
+ }
31
+ //# sourceMappingURL=tool-mapping.js.map