@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,261 @@
1
+ /**
2
+ * Primitive resolution display.
3
+ *
4
+ * Shows progress and results of resolving primitive references
5
+ * to concrete versions from the shared primitives library.
6
+ */
7
+ import * as clack from "@clack/prompts";
8
+ import pc from "picocolors";
9
+ import { formatVersion, formatPrimitiveType, formatError, formatWarning, } from "./spinner.js";
10
+ /**
11
+ * Convert resolved primitive to display entry.
12
+ */
13
+ export function toDisplayEntry(primitive, sharedWith) {
14
+ return {
15
+ name: primitive.name,
16
+ type: primitive.type,
17
+ ref: primitive.ref,
18
+ resolvedVersion: primitive.resolvedVersion,
19
+ isInline: primitive.isInline,
20
+ isShared: (sharedWith?.length ?? 0) > 1,
21
+ sharedWith,
22
+ };
23
+ }
24
+ /**
25
+ * Convert kit resolution result to display format.
26
+ */
27
+ export function toKitResolutionDisplay(result, sharedPrimitives) {
28
+ const entries = result.primitives.map((p) => {
29
+ const key = `${p.type}:${p.name}`;
30
+ const sharedWith = sharedPrimitives?.get(key);
31
+ return toDisplayEntry(p, sharedWith);
32
+ });
33
+ return {
34
+ kit: result.kit,
35
+ entries,
36
+ errors: result.errors,
37
+ };
38
+ }
39
+ /**
40
+ * Convert multi-kit resolution to display format.
41
+ */
42
+ export function toMultiKitResolutionDisplay(result, kitNames) {
43
+ return kitNames.map((kitName) => {
44
+ const primitives = result.kitPrimitives.get(kitName) ?? [];
45
+ const entries = primitives.map((p) => {
46
+ const key = `${p.type}:${p.name}`;
47
+ const sharedWith = result.sharedPrimitives.get(key);
48
+ return toDisplayEntry(p, sharedWith);
49
+ });
50
+ // Errors don't have kit association, so include all
51
+ const errors = result.errors;
52
+ return {
53
+ kit: kitName,
54
+ entries,
55
+ errors,
56
+ };
57
+ });
58
+ }
59
+ /**
60
+ * Format primitive type icon.
61
+ */
62
+ function getPrimitiveIcon(type) {
63
+ const icons = {
64
+ commands: "▶",
65
+ skills: "◆",
66
+ subagents: "◇",
67
+ mcp: "⬡",
68
+ hooks: "↩",
69
+ };
70
+ return icons[type] ?? "○";
71
+ }
72
+ /**
73
+ * Format resolved entry for display.
74
+ */
75
+ export function formatResolvedEntry(entry) {
76
+ const icon = getPrimitiveIcon(entry.type);
77
+ const typeLabel = pc.dim(`[${entry.type}]`);
78
+ let version = "";
79
+ if (entry.resolvedVersion) {
80
+ version = ` ${formatVersion(entry.resolvedVersion)}`;
81
+ }
82
+ let ref = "";
83
+ if (entry.ref && entry.resolvedVersion) {
84
+ ref = ` ${pc.dim(`(${entry.ref})`)}`;
85
+ }
86
+ let shared = "";
87
+ if (entry.isShared && entry.sharedWith && entry.sharedWith.length > 1) {
88
+ const others = entry.sharedWith.filter((k) => k !== entry.name);
89
+ if (others.length > 0) {
90
+ shared = ` ${pc.cyan(`[shared: ${others.join(", ")}]`)}`;
91
+ }
92
+ }
93
+ let inline = "";
94
+ if (entry.isInline) {
95
+ inline = ` ${pc.dim("(inline)")}`;
96
+ }
97
+ return `${icon} ${entry.name}${version}${ref}${inline}${shared} ${typeLabel}`;
98
+ }
99
+ /**
100
+ * Display resolution entries grouped by type.
101
+ */
102
+ export function displayResolutionByType(entries) {
103
+ const byType = new Map();
104
+ for (const entry of entries) {
105
+ const list = byType.get(entry.type) ?? [];
106
+ list.push(entry);
107
+ byType.set(entry.type, list);
108
+ }
109
+ const typeOrder = ["commands", "skills", "subagents", "mcp", "hooks"];
110
+ for (const type of typeOrder) {
111
+ const typeEntries = byType.get(type);
112
+ if (!typeEntries || typeEntries.length === 0)
113
+ continue;
114
+ console.log(` ${formatPrimitiveType(type)}:`);
115
+ for (const entry of typeEntries) {
116
+ console.log(` ${formatResolvedEntry(entry)}`);
117
+ }
118
+ }
119
+ }
120
+ /**
121
+ * Display resolution results for a single kit.
122
+ */
123
+ export function displayKitResolution(display) {
124
+ console.log();
125
+ console.log(` ${pc.bold(display.kit)}`);
126
+ if (display.entries.length === 0 && display.errors.length === 0) {
127
+ console.log(` ${pc.dim("No primitives")}`);
128
+ return;
129
+ }
130
+ if (display.entries.length > 0) {
131
+ displayResolutionByType(display.entries);
132
+ }
133
+ if (display.errors.length > 0) {
134
+ console.log();
135
+ console.log(` ${formatError("Resolution errors:")}`);
136
+ for (const error of display.errors) {
137
+ console.log(` ${error.primitive}: ${error.message} ${pc.red("✗")}`);
138
+ if (error.available && error.available.length > 0) {
139
+ console.log(` ${pc.dim("Available:")} ${error.available.join(", ")}`);
140
+ }
141
+ }
142
+ }
143
+ }
144
+ /**
145
+ * Display all resolution results.
146
+ */
147
+ export function displayResolutionResults(displays) {
148
+ console.log();
149
+ clack.log.info("Resolved primitives:");
150
+ for (const display of displays) {
151
+ displayKitResolution(display);
152
+ }
153
+ console.log();
154
+ }
155
+ /**
156
+ * Display resolution summary (counts).
157
+ */
158
+ export function displayResolutionSummary(displays) {
159
+ let totalShared = 0;
160
+ let totalErrors = 0;
161
+ const typeCount = {
162
+ commands: 0,
163
+ skills: 0,
164
+ subagents: 0,
165
+ mcp: 0,
166
+ hooks: 0,
167
+ };
168
+ for (const display of displays) {
169
+ totalErrors += display.errors.length;
170
+ for (const entry of display.entries) {
171
+ typeCount[entry.type]++;
172
+ if (entry.isShared) {
173
+ totalShared++;
174
+ }
175
+ }
176
+ }
177
+ const parts = [];
178
+ for (const [type, count] of Object.entries(typeCount)) {
179
+ if (count > 0) {
180
+ parts.push(`${count} ${type}`);
181
+ }
182
+ }
183
+ if (parts.length === 0) {
184
+ clack.log.info("No primitives to install");
185
+ return;
186
+ }
187
+ clack.log.info(`Resolved: ${parts.join(", ")}`);
188
+ if (totalShared > 0) {
189
+ clack.log.info(pc.cyan(`${totalShared} primitive${totalShared === 1 ? "" : "s"} shared across kits`));
190
+ }
191
+ if (totalErrors > 0) {
192
+ clack.log.warn(formatWarning(`${totalErrors} resolution error${totalErrors === 1 ? "" : "s"}`));
193
+ }
194
+ }
195
+ /**
196
+ * Check if resolution has errors.
197
+ */
198
+ export function hasResolutionErrors(displays) {
199
+ return displays.some((d) => d.errors.length > 0);
200
+ }
201
+ /**
202
+ * Get all resolution errors.
203
+ */
204
+ export function getAllResolutionErrors(displays) {
205
+ const errors = [];
206
+ for (const display of displays) {
207
+ errors.push(...display.errors);
208
+ }
209
+ return errors;
210
+ }
211
+ /**
212
+ * Display resolution errors.
213
+ */
214
+ export function displayResolutionErrors(errors) {
215
+ if (errors.length === 0)
216
+ return;
217
+ console.log();
218
+ clack.log.error(`${errors.length} primitive${errors.length === 1 ? "" : "s"} could not be resolved:`);
219
+ for (const error of errors) {
220
+ console.log(` ${error.primitive}: ${error.message} ${pc.red("✗")}`);
221
+ if (error.type === "no-matching-version" && error.available) {
222
+ console.log(` ${pc.dim("Available versions:")} ${error.available.join(", ")}`);
223
+ }
224
+ }
225
+ console.log();
226
+ }
227
+ /**
228
+ * Get unique primitives from all displays.
229
+ */
230
+ export function getUniquePrimitives(displays) {
231
+ const seen = new Set();
232
+ const unique = [];
233
+ for (const display of displays) {
234
+ for (const entry of display.entries) {
235
+ const key = `${entry.type}:${entry.name}`;
236
+ if (!seen.has(key)) {
237
+ seen.add(key);
238
+ unique.push(entry);
239
+ }
240
+ }
241
+ }
242
+ return unique;
243
+ }
244
+ /**
245
+ * Count primitives by type.
246
+ */
247
+ export function countPrimitivesByType(displays) {
248
+ const counts = {
249
+ commands: 0,
250
+ skills: 0,
251
+ subagents: 0,
252
+ mcp: 0,
253
+ hooks: 0,
254
+ };
255
+ const unique = getUniquePrimitives(displays);
256
+ for (const entry of unique) {
257
+ counts[entry.type]++;
258
+ }
259
+ return counts;
260
+ }
261
+ //# sourceMappingURL=resolution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolution.js","sourceRoot":"","sources":["../../src/tui/resolution.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,139 @@
1
+ /**
2
+ * Scope compatibility check screen.
3
+ *
4
+ * Displays warnings when primitives aren't available at the selected scope
5
+ * and offers alternatives (switch to global, change harness selection).
6
+ */
7
+ import type { HarnessName, InstallationScope, PrimitiveType } from "../core/types.js";
8
+ import type { KitAdapter } from "../adapters/interface.js";
9
+ import type { DiscoveredKit } from "../discovery/types.js";
10
+ import type { DetectedHarnessDisplay } from "./types.js";
11
+ /**
12
+ * Scope limitation for a harness.
13
+ */
14
+ export interface ScopeLimitation {
15
+ harness: HarnessName;
16
+ harnessDisplayName: string;
17
+ /** Primitives not available at the selected scope */
18
+ unavailablePrimitives: PrimitiveType[];
19
+ /** Primitives available at the selected scope */
20
+ availablePrimitives: PrimitiveType[];
21
+ }
22
+ /**
23
+ * Scope compatibility result for a kit-harness pair.
24
+ */
25
+ export interface KitScopeCompatibility {
26
+ kit: string;
27
+ harness: HarnessName;
28
+ harnessDisplayName: string;
29
+ compatible: boolean;
30
+ /** Required primitives that aren't available at scope */
31
+ unavailablePrimitives: PrimitiveType[];
32
+ /** Message explaining incompatibility */
33
+ message?: string;
34
+ }
35
+ /**
36
+ * Result of scope compatibility check.
37
+ */
38
+ export interface ScopeCompatibilityResult {
39
+ /** All kit-harness pairs are compatible at this scope */
40
+ allCompatible: boolean;
41
+ /** Limitations by harness */
42
+ limitations: ScopeLimitation[];
43
+ /** Compatibility for each kit-harness pair */
44
+ kitCompatibility: KitScopeCompatibility[];
45
+ }
46
+ /**
47
+ * User choice for handling scope incompatibility.
48
+ */
49
+ export type ScopeIncompatibilityChoice = "proceed" | "switch-global" | "go-back" | "cancel";
50
+ /**
51
+ * Result of scope compatibility prompt.
52
+ */
53
+ export interface ScopeCompatibilityPromptResult {
54
+ cancelled: boolean;
55
+ choice?: ScopeIncompatibilityChoice;
56
+ }
57
+ /**
58
+ * Check scope limitations for harnesses.
59
+ *
60
+ * @param harnesses - Selected harnesses with adapters
61
+ * @param scope - Selected installation scope
62
+ */
63
+ export declare function checkHarnessScopeLimitations(harnesses: {
64
+ display: DetectedHarnessDisplay;
65
+ adapter: KitAdapter;
66
+ }[], scope: InstallationScope): ScopeLimitation[];
67
+ /**
68
+ * Check scope compatibility for kits and harnesses.
69
+ *
70
+ * @param kits - Selected kits
71
+ * @param harnesses - Selected harnesses with adapters
72
+ * @param scope - Selected installation scope
73
+ */
74
+ export declare function checkKitScopeCompatibility(kits: DiscoveredKit[], harnesses: {
75
+ display: DetectedHarnessDisplay;
76
+ adapter: KitAdapter;
77
+ }[], scope: InstallationScope): ScopeCompatibilityResult;
78
+ /**
79
+ * Display scope limitations.
80
+ *
81
+ * @param limitations - Harness scope limitations
82
+ * @param scope - Selected scope
83
+ */
84
+ export declare function displayScopeLimitations(limitations: ScopeLimitation[], scope: InstallationScope): void;
85
+ /**
86
+ * Display kit scope compatibility issues.
87
+ *
88
+ * @param compatibility - Kit scope compatibility results
89
+ */
90
+ export declare function displayKitScopeIncompatibility(compatibility: KitScopeCompatibility[]): void;
91
+ /**
92
+ * Get compatible kit-harness pairs.
93
+ *
94
+ * @param compatibility - Kit scope compatibility results
95
+ */
96
+ export declare function getCompatiblePairs(compatibility: KitScopeCompatibility[]): {
97
+ kit: string;
98
+ harness: HarnessName;
99
+ }[];
100
+ /**
101
+ * Get incompatible kit-harness pairs.
102
+ *
103
+ * @param compatibility - Kit scope compatibility results
104
+ */
105
+ export declare function getIncompatiblePairs(compatibility: KitScopeCompatibility[]): KitScopeCompatibility[];
106
+ /**
107
+ * Prompt user to handle scope incompatibility.
108
+ *
109
+ * @param scope - Currently selected scope
110
+ */
111
+ export declare function promptScopeIncompatibility(scope: InstallationScope): Promise<ScopeCompatibilityPromptResult>;
112
+ /**
113
+ * Run scope compatibility check flow.
114
+ *
115
+ * Checks compatibility, displays warnings, and prompts user for action if needed.
116
+ *
117
+ * @param kits - Selected kits
118
+ * @param harnesses - Selected harnesses with adapters
119
+ * @param scope - Selected installation scope
120
+ */
121
+ export declare function runScopeCompatibilityCheck(kits: DiscoveredKit[], harnesses: {
122
+ display: DetectedHarnessDisplay;
123
+ adapter: KitAdapter;
124
+ }[], scope: InstallationScope): Promise<{
125
+ result: ScopeCompatibilityPromptResult;
126
+ compatibility: ScopeCompatibilityResult;
127
+ newScope?: InstallationScope;
128
+ }>;
129
+ /**
130
+ * Check if any harness has scope limitations.
131
+ *
132
+ * @param harnesses - Selected harnesses with adapters
133
+ * @param scope - Selected installation scope
134
+ */
135
+ export declare function hasScopeLimitations(harnesses: {
136
+ display: DetectedHarnessDisplay;
137
+ adapter: KitAdapter;
138
+ }[], scope: InstallationScope): boolean;
139
+ //# sourceMappingURL=scope-compatibility.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope-compatibility.d.ts","sourceRoot":"","sources":["../../src/tui/scope-compatibility.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,230 @@
1
+ /**
2
+ * Scope compatibility check screen.
3
+ *
4
+ * Displays warnings when primitives aren't available at the selected scope
5
+ * and offers alternatives (switch to global, change harness selection).
6
+ */
7
+ import * as clack from "@clack/prompts";
8
+ import pc from "picocolors";
9
+ import { formatScope } from "./scope-select.js";
10
+ /**
11
+ * Check scope limitations for harnesses.
12
+ *
13
+ * @param harnesses - Selected harnesses with adapters
14
+ * @param scope - Selected installation scope
15
+ */
16
+ export function checkHarnessScopeLimitations(harnesses, scope) {
17
+ const limitations = [];
18
+ for (const { display, adapter } of harnesses) {
19
+ const globalPrimitives = adapter.getSupportedPrimitives("global");
20
+ const scopePrimitives = adapter.getSupportedPrimitives(scope);
21
+ // Find primitives not available at this scope
22
+ const unavailable = globalPrimitives.filter((p) => !scopePrimitives.includes(p));
23
+ if (unavailable.length > 0) {
24
+ limitations.push({
25
+ harness: display.name,
26
+ harnessDisplayName: display.displayName,
27
+ unavailablePrimitives: unavailable,
28
+ availablePrimitives: scopePrimitives,
29
+ });
30
+ }
31
+ }
32
+ return limitations;
33
+ }
34
+ /**
35
+ * Check scope compatibility for kits and harnesses.
36
+ *
37
+ * @param kits - Selected kits
38
+ * @param harnesses - Selected harnesses with adapters
39
+ * @param scope - Selected installation scope
40
+ */
41
+ export function checkKitScopeCompatibility(kits, harnesses, scope) {
42
+ const limitations = checkHarnessScopeLimitations(harnesses, scope);
43
+ const kitCompatibility = [];
44
+ for (const kit of kits) {
45
+ const requiredPrimitives = kit.manifest.requires?.primitives ?? [];
46
+ for (const { display, adapter } of harnesses) {
47
+ const scopePrimitives = adapter.getSupportedPrimitives(scope);
48
+ const unavailable = requiredPrimitives.filter((p) => !scopePrimitives.includes(p));
49
+ const compatible = unavailable.length === 0;
50
+ let message;
51
+ if (!compatible) {
52
+ const unavailableList = unavailable.join(", ");
53
+ message = `Requires ${unavailableList} (global-only in ${display.displayName})`;
54
+ }
55
+ const entry = {
56
+ kit: kit.name,
57
+ harness: display.name,
58
+ harnessDisplayName: display.displayName,
59
+ compatible,
60
+ unavailablePrimitives: unavailable,
61
+ };
62
+ if (message) {
63
+ entry.message = message;
64
+ }
65
+ kitCompatibility.push(entry);
66
+ }
67
+ }
68
+ const allCompatible = kitCompatibility.every((kc) => kc.compatible);
69
+ return {
70
+ allCompatible,
71
+ limitations,
72
+ kitCompatibility,
73
+ };
74
+ }
75
+ /**
76
+ * Display scope limitations.
77
+ *
78
+ * @param limitations - Harness scope limitations
79
+ * @param scope - Selected scope
80
+ */
81
+ export function displayScopeLimitations(limitations, scope) {
82
+ if (limitations.length === 0)
83
+ return;
84
+ console.log();
85
+ clack.log.warn(`Some primitives are not available at ${formatScope(scope).toLowerCase()} scope:`);
86
+ console.log();
87
+ for (const limitation of limitations) {
88
+ console.log(` ${pc.bold(limitation.harnessDisplayName)}:`);
89
+ for (const primitive of limitation.unavailablePrimitives) {
90
+ console.log(` ${pc.yellow("•")} ${primitive}: ${pc.dim("Global-only (will be skipped)")}`);
91
+ }
92
+ if (limitation.availablePrimitives.length > 0) {
93
+ console.log(` ${limitation.availablePrimitives.join(", ")}: Available at ${scope} scope ${pc.green("✓")}`);
94
+ }
95
+ console.log();
96
+ }
97
+ }
98
+ /**
99
+ * Display kit scope compatibility issues.
100
+ *
101
+ * @param compatibility - Kit scope compatibility results
102
+ */
103
+ export function displayKitScopeIncompatibility(compatibility) {
104
+ const incompatible = compatibility.filter((kc) => !kc.compatible);
105
+ if (incompatible.length === 0)
106
+ return;
107
+ console.log();
108
+ clack.log.warn("Some kits cannot be fully installed at this scope:");
109
+ console.log();
110
+ // Group by kit
111
+ const byKit = new Map();
112
+ for (const kc of incompatible) {
113
+ const list = byKit.get(kc.kit) ?? [];
114
+ list.push(kc);
115
+ byKit.set(kc.kit, list);
116
+ }
117
+ for (const [kitName, kitIncompat] of byKit) {
118
+ console.log(` ${pc.bold(kitName)}:`);
119
+ for (const kc of kitIncompat) {
120
+ console.log(` ${kc.harnessDisplayName}: ${kc.message} ${pc.yellow("✗")}`);
121
+ }
122
+ console.log();
123
+ }
124
+ }
125
+ /**
126
+ * Get compatible kit-harness pairs.
127
+ *
128
+ * @param compatibility - Kit scope compatibility results
129
+ */
130
+ export function getCompatiblePairs(compatibility) {
131
+ return compatibility
132
+ .filter((kc) => kc.compatible)
133
+ .map((kc) => ({ kit: kc.kit, harness: kc.harness }));
134
+ }
135
+ /**
136
+ * Get incompatible kit-harness pairs.
137
+ *
138
+ * @param compatibility - Kit scope compatibility results
139
+ */
140
+ export function getIncompatiblePairs(compatibility) {
141
+ return compatibility.filter((kc) => !kc.compatible);
142
+ }
143
+ /**
144
+ * Prompt user to handle scope incompatibility.
145
+ *
146
+ * @param scope - Currently selected scope
147
+ */
148
+ export async function promptScopeIncompatibility(scope) {
149
+ const options = [
150
+ {
151
+ value: "proceed",
152
+ label: "Continue with available primitives",
153
+ hint: "Skip incompatible kits/primitives",
154
+ },
155
+ ];
156
+ // Only offer to switch to global if currently at project scope
157
+ if (scope === "project") {
158
+ options.push({
159
+ value: "switch-global",
160
+ label: "Switch to global scope",
161
+ hint: "All primitives available",
162
+ });
163
+ }
164
+ options.push({
165
+ value: "go-back",
166
+ label: "Go back and change selection",
167
+ }, {
168
+ value: "cancel",
169
+ label: "Cancel installation",
170
+ });
171
+ const choice = await clack.select({
172
+ message: `How would you like to proceed?\n${pc.gray("│")} `,
173
+ options,
174
+ });
175
+ if (clack.isCancel(choice)) {
176
+ return { cancelled: true };
177
+ }
178
+ return {
179
+ cancelled: false,
180
+ choice: choice,
181
+ };
182
+ }
183
+ /**
184
+ * Run scope compatibility check flow.
185
+ *
186
+ * Checks compatibility, displays warnings, and prompts user for action if needed.
187
+ *
188
+ * @param kits - Selected kits
189
+ * @param harnesses - Selected harnesses with adapters
190
+ * @param scope - Selected installation scope
191
+ */
192
+ export async function runScopeCompatibilityCheck(kits, harnesses, scope) {
193
+ // Check compatibility
194
+ const compatibility = checkKitScopeCompatibility(kits, harnesses, scope);
195
+ // If all compatible, continue without prompting
196
+ if (compatibility.allCompatible) {
197
+ return {
198
+ result: { cancelled: false, choice: "proceed" },
199
+ compatibility,
200
+ };
201
+ }
202
+ // Display limitations
203
+ displayScopeLimitations(compatibility.limitations, scope);
204
+ displayKitScopeIncompatibility(compatibility.kitCompatibility);
205
+ // Prompt for action
206
+ const result = await promptScopeIncompatibility(scope);
207
+ // Handle switch to global
208
+ if (result.choice === "switch-global") {
209
+ return {
210
+ result: { cancelled: false, choice: "proceed" },
211
+ compatibility,
212
+ newScope: "global",
213
+ };
214
+ }
215
+ return { result, compatibility };
216
+ }
217
+ /**
218
+ * Check if any harness has scope limitations.
219
+ *
220
+ * @param harnesses - Selected harnesses with adapters
221
+ * @param scope - Selected installation scope
222
+ */
223
+ export function hasScopeLimitations(harnesses, scope) {
224
+ return harnesses.some((h) => {
225
+ const globalPrimitives = h.adapter.getSupportedPrimitives("global");
226
+ const scopePrimitives = h.adapter.getSupportedPrimitives(scope);
227
+ return globalPrimitives.length > scopePrimitives.length;
228
+ });
229
+ }
230
+ //# sourceMappingURL=scope-compatibility.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope-compatibility.js","sourceRoot":"","sources":["../../src/tui/scope-compatibility.ts"],"names":[],"mappings":"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"}