@skillsmith/core 0.12.1 → 0.12.3

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 (398) hide show
  1. package/CHANGELOG.md +164 -0
  2. package/README.md +2 -2
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/src/api/client.d.ts +5 -3
  5. package/dist/src/api/client.d.ts.map +1 -1
  6. package/dist/src/api/client.js +23 -33
  7. package/dist/src/api/client.js.map +1 -1
  8. package/dist/src/api/client.registry-sync.d.ts +28 -0
  9. package/dist/src/api/client.registry-sync.d.ts.map +1 -0
  10. package/dist/src/api/client.registry-sync.js +36 -0
  11. package/dist/src/api/client.registry-sync.js.map +1 -0
  12. package/dist/src/api/client.test.js +185 -0
  13. package/dist/src/api/client.test.js.map +1 -1
  14. package/dist/src/api/client.toSkill.d.ts +16 -0
  15. package/dist/src/api/client.toSkill.d.ts.map +1 -0
  16. package/dist/src/api/client.toSkill.js +46 -0
  17. package/dist/src/api/client.toSkill.js.map +1 -0
  18. package/dist/src/api/client.types.d.ts +22 -0
  19. package/dist/src/api/client.types.d.ts.map +1 -1
  20. package/dist/src/api/index.d.ts +1 -1
  21. package/dist/src/api/index.d.ts.map +1 -1
  22. package/dist/src/api/index.js.map +1 -1
  23. package/dist/src/api/schemas.d.ts +28 -0
  24. package/dist/src/api/schemas.d.ts.map +1 -1
  25. package/dist/src/api/schemas.js +13 -0
  26. package/dist/src/api/schemas.js.map +1 -1
  27. package/dist/src/audit/remote-audit.d.ts +85 -0
  28. package/dist/src/audit/remote-audit.d.ts.map +1 -1
  29. package/dist/src/audit/remote-audit.js +126 -3
  30. package/dist/src/audit/remote-audit.js.map +1 -1
  31. package/dist/src/audit/remote-audit.test.js +217 -1
  32. package/dist/src/audit/remote-audit.test.js.map +1 -1
  33. package/dist/src/config/index.d.ts +1 -0
  34. package/dist/src/config/index.d.ts.map +1 -1
  35. package/dist/src/config/index.js.map +1 -1
  36. package/dist/src/db/migration-runner.d.ts.map +1 -1
  37. package/dist/src/db/migration-runner.js +6 -0
  38. package/dist/src/db/migration-runner.js.map +1 -1
  39. package/dist/src/db/migrations/v18-skill-versions-real-content-hash.d.ts +36 -0
  40. package/dist/src/db/migrations/v18-skill-versions-real-content-hash.d.ts.map +1 -0
  41. package/dist/src/db/migrations/v18-skill-versions-real-content-hash.js +38 -0
  42. package/dist/src/db/migrations/v18-skill-versions-real-content-hash.js.map +1 -0
  43. package/dist/src/db/schema.d.ts +1 -1
  44. package/dist/src/db/schema.d.ts.map +1 -1
  45. package/dist/src/db/schema.js +3 -1
  46. package/dist/src/db/schema.js.map +1 -1
  47. package/dist/src/exports/services.d.ts +3 -7
  48. package/dist/src/exports/services.d.ts.map +1 -1
  49. package/dist/src/exports/services.install.d.ts +18 -0
  50. package/dist/src/exports/services.install.d.ts.map +1 -0
  51. package/dist/src/exports/services.install.js +62 -0
  52. package/dist/src/exports/services.install.js.map +1 -0
  53. package/dist/src/exports/services.js +12 -32
  54. package/dist/src/exports/services.js.map +1 -1
  55. package/dist/src/exports/types.d.ts +1 -1
  56. package/dist/src/exports/types.d.ts.map +1 -1
  57. package/dist/src/index.d.ts +6 -5
  58. package/dist/src/index.d.ts.map +1 -1
  59. package/dist/src/index.js +9 -4
  60. package/dist/src/index.js.map +1 -1
  61. package/dist/src/install/agent-config-merge.json.d.ts +5 -4
  62. package/dist/src/install/agent-config-merge.json.d.ts.map +1 -1
  63. package/dist/src/install/agent-config-merge.json.js +10 -9
  64. package/dist/src/install/agent-config-merge.json.js.map +1 -1
  65. package/dist/src/install/agent-config-merge.types.d.ts +11 -1
  66. package/dist/src/install/agent-config-merge.types.d.ts.map +1 -1
  67. package/dist/src/install/agent-config-merge.types.js.map +1 -1
  68. package/dist/src/install/agent-harness-targets.d.ts +30 -2
  69. package/dist/src/install/agent-harness-targets.d.ts.map +1 -1
  70. package/dist/src/install/agent-harness-targets.js +17 -0
  71. package/dist/src/install/agent-harness-targets.js.map +1 -1
  72. package/dist/src/install/agent-manifest-path-guard.d.ts +28 -3
  73. package/dist/src/install/agent-manifest-path-guard.d.ts.map +1 -1
  74. package/dist/src/install/agent-manifest-path-guard.js +59 -3
  75. package/dist/src/install/agent-manifest-path-guard.js.map +1 -1
  76. package/dist/src/install/agent-manifest-path-guard.test.js +27 -1
  77. package/dist/src/install/agent-manifest-path-guard.test.js.map +1 -1
  78. package/dist/src/install/agent-pack-installer.antigravity-mcp.d.ts +74 -0
  79. package/dist/src/install/agent-pack-installer.antigravity-mcp.d.ts.map +1 -0
  80. package/dist/src/install/agent-pack-installer.antigravity-mcp.js +106 -0
  81. package/dist/src/install/agent-pack-installer.antigravity-mcp.js.map +1 -0
  82. package/dist/src/install/agent-pack-installer.antigravity-mcp.test.d.ts +2 -0
  83. package/dist/src/install/agent-pack-installer.antigravity-mcp.test.d.ts.map +1 -0
  84. package/dist/src/install/agent-pack-installer.antigravity-mcp.test.js +157 -0
  85. package/dist/src/install/agent-pack-installer.antigravity-mcp.test.js.map +1 -0
  86. package/dist/src/install/agent-pack-installer.cursor-mcp.d.ts +53 -0
  87. package/dist/src/install/agent-pack-installer.cursor-mcp.d.ts.map +1 -0
  88. package/dist/src/install/agent-pack-installer.cursor-mcp.js +207 -0
  89. package/dist/src/install/agent-pack-installer.cursor-mcp.js.map +1 -0
  90. package/dist/src/install/agent-pack-installer.cursor-mcp.test.d.ts +2 -0
  91. package/dist/src/install/agent-pack-installer.cursor-mcp.test.d.ts.map +1 -0
  92. package/dist/src/install/agent-pack-installer.cursor-mcp.test.js +285 -0
  93. package/dist/src/install/agent-pack-installer.cursor-mcp.test.js.map +1 -0
  94. package/dist/src/install/agent-pack-installer.d.ts +8 -0
  95. package/dist/src/install/agent-pack-installer.d.ts.map +1 -1
  96. package/dist/src/install/agent-pack-installer.entry.d.ts +120 -3
  97. package/dist/src/install/agent-pack-installer.entry.d.ts.map +1 -1
  98. package/dist/src/install/agent-pack-installer.entry.js +166 -3
  99. package/dist/src/install/agent-pack-installer.entry.js.map +1 -1
  100. package/dist/src/install/agent-pack-installer.js +97 -3
  101. package/dist/src/install/agent-pack-installer.js.map +1 -1
  102. package/dist/src/install/agent-pack-installer.types.d.ts +27 -0
  103. package/dist/src/install/agent-pack-installer.types.d.ts.map +1 -1
  104. package/dist/src/install/agent-pack-installer.types.js +6 -0
  105. package/dist/src/install/agent-pack-installer.types.js.map +1 -1
  106. package/dist/src/install/agent-pack-installer.workspace-scope.test.d.ts +2 -0
  107. package/dist/src/install/agent-pack-installer.workspace-scope.test.d.ts.map +1 -0
  108. package/dist/src/install/agent-pack-installer.workspace-scope.test.js +148 -0
  109. package/dist/src/install/agent-pack-installer.workspace-scope.test.js.map +1 -0
  110. package/dist/src/install/agent-pack-uninstaller.d.ts +18 -7
  111. package/dist/src/install/agent-pack-uninstaller.d.ts.map +1 -1
  112. package/dist/src/install/agent-pack-uninstaller.js +59 -9
  113. package/dist/src/install/agent-pack-uninstaller.js.map +1 -1
  114. package/dist/src/install/agent-pack-uninstaller.test.js +74 -1
  115. package/dist/src/install/agent-pack-uninstaller.test.js.map +1 -1
  116. package/dist/src/install/fan-out.d.ts.map +1 -1
  117. package/dist/src/install/fan-out.js +6 -0
  118. package/dist/src/install/fan-out.js.map +1 -1
  119. package/dist/src/install/index.d.ts +2 -0
  120. package/dist/src/install/index.d.ts.map +1 -1
  121. package/dist/src/install/index.js +2 -0
  122. package/dist/src/install/index.js.map +1 -1
  123. package/dist/src/install/workspace-scope.d.ts +207 -0
  124. package/dist/src/install/workspace-scope.d.ts.map +1 -0
  125. package/dist/src/install/workspace-scope.js +275 -0
  126. package/dist/src/install/workspace-scope.js.map +1 -0
  127. package/dist/src/install/workspace-scope.test.d.ts +2 -0
  128. package/dist/src/install/workspace-scope.test.d.ts.map +1 -0
  129. package/dist/src/install/workspace-scope.test.js +378 -0
  130. package/dist/src/install/workspace-scope.test.js.map +1 -0
  131. package/dist/src/scripts/__tests__/scan-imported-skills.test.js +9 -1
  132. package/dist/src/scripts/__tests__/scan-imported-skills.test.js.map +1 -1
  133. package/dist/src/scripts/scan-imported-skills.d.ts +7 -1
  134. package/dist/src/scripts/scan-imported-skills.d.ts.map +1 -1
  135. package/dist/src/scripts/scan-imported-skills.js +15 -2
  136. package/dist/src/scripts/scan-imported-skills.js.map +1 -1
  137. package/dist/src/scripts/skill-scanner/allowlist.d.ts +10 -0
  138. package/dist/src/scripts/skill-scanner/allowlist.d.ts.map +1 -1
  139. package/dist/src/scripts/skill-scanner/allowlist.js +10 -0
  140. package/dist/src/scripts/skill-scanner/allowlist.js.map +1 -1
  141. package/dist/src/scripts/skill-scanner/index.d.ts +8 -0
  142. package/dist/src/scripts/skill-scanner/index.d.ts.map +1 -1
  143. package/dist/src/scripts/skill-scanner/index.js +13 -5
  144. package/dist/src/scripts/skill-scanner/index.js.map +1 -1
  145. package/dist/src/scripts/skill-scanner/trust-scorer.d.ts.map +1 -1
  146. package/dist/src/scripts/skill-scanner/trust-scorer.js +6 -0
  147. package/dist/src/scripts/skill-scanner/trust-scorer.js.map +1 -1
  148. package/dist/src/security/__tests__/pathValidation.test.js +30 -1
  149. package/dist/src/security/__tests__/pathValidation.test.js.map +1 -1
  150. package/dist/src/security/scanner/SecurityScanner.action-context.d.ts +15 -0
  151. package/dist/src/security/scanner/SecurityScanner.action-context.d.ts.map +1 -0
  152. package/dist/src/security/scanner/SecurityScanner.action-context.js +209 -0
  153. package/dist/src/security/scanner/SecurityScanner.action-context.js.map +1 -0
  154. package/dist/src/security/scanner/SecurityScanner.d.ts +25 -0
  155. package/dist/src/security/scanner/SecurityScanner.d.ts.map +1 -1
  156. package/dist/src/security/scanner/SecurityScanner.helpers.d.ts +40 -1
  157. package/dist/src/security/scanner/SecurityScanner.helpers.d.ts.map +1 -1
  158. package/dist/src/security/scanner/SecurityScanner.helpers.js +88 -51
  159. package/dist/src/security/scanner/SecurityScanner.helpers.js.map +1 -1
  160. package/dist/src/security/scanner/SecurityScanner.js +39 -6
  161. package/dist/src/security/scanner/SecurityScanner.js.map +1 -1
  162. package/dist/src/security/scanner/SecurityScanner.pii.d.ts +30 -0
  163. package/dist/src/security/scanner/SecurityScanner.pii.d.ts.map +1 -1
  164. package/dist/src/security/scanner/SecurityScanner.pii.js +8 -1
  165. package/dist/src/security/scanner/SecurityScanner.pii.js.map +1 -1
  166. package/dist/src/security/scanner/SecurityScanner.prose-lexicon.d.ts +60 -0
  167. package/dist/src/security/scanner/SecurityScanner.prose-lexicon.d.ts.map +1 -0
  168. package/dist/src/security/scanner/SecurityScanner.prose-lexicon.js +228 -0
  169. package/dist/src/security/scanner/SecurityScanner.prose-lexicon.js.map +1 -0
  170. package/dist/src/security/scanner/SecurityScanner.scanners.d.ts.map +1 -1
  171. package/dist/src/security/scanner/SecurityScanner.scanners.js +35 -5
  172. package/dist/src/security/scanner/SecurityScanner.scanners.js.map +1 -1
  173. package/dist/src/security/scanner/SecurityScanner.value-gate.d.ts +49 -0
  174. package/dist/src/security/scanner/SecurityScanner.value-gate.d.ts.map +1 -0
  175. package/dist/src/security/scanner/SecurityScanner.value-gate.js +134 -0
  176. package/dist/src/security/scanner/SecurityScanner.value-gate.js.map +1 -0
  177. package/dist/src/security/scanner/SecurityScanner.weak-passwords.d.ts +55 -0
  178. package/dist/src/security/scanner/SecurityScanner.weak-passwords.d.ts.map +1 -0
  179. package/dist/src/security/scanner/SecurityScanner.weak-passwords.js +313 -0
  180. package/dist/src/security/scanner/SecurityScanner.weak-passwords.js.map +1 -0
  181. package/dist/src/security/scanner/patterns.d.ts +16 -6
  182. package/dist/src/security/scanner/patterns.d.ts.map +1 -1
  183. package/dist/src/security/scanner/patterns.js +25 -61
  184. package/dist/src/security/scanner/patterns.js.map +1 -1
  185. package/dist/src/security/scanner/patterns.sensitive-path.d.ts +45 -0
  186. package/dist/src/security/scanner/patterns.sensitive-path.d.ts.map +1 -0
  187. package/dist/src/security/scanner/patterns.sensitive-path.js +137 -0
  188. package/dist/src/security/scanner/patterns.sensitive-path.js.map +1 -0
  189. package/dist/src/security/scanner/regex-utils.d.ts +31 -17
  190. package/dist/src/security/scanner/regex-utils.d.ts.map +1 -1
  191. package/dist/src/security/scanner/regex-utils.js +31 -17
  192. package/dist/src/security/scanner/regex-utils.js.map +1 -1
  193. package/dist/src/security/scanner/types.d.ts +9 -0
  194. package/dist/src/security/scanner/types.d.ts.map +1 -1
  195. package/dist/src/services/SubagentGenerator.client-profiles.d.ts +258 -0
  196. package/dist/src/services/SubagentGenerator.client-profiles.d.ts.map +1 -0
  197. package/dist/src/services/SubagentGenerator.client-profiles.js +260 -0
  198. package/dist/src/services/SubagentGenerator.client-profiles.js.map +1 -0
  199. package/dist/src/services/SubagentGenerator.d.ts +19 -41
  200. package/dist/src/services/SubagentGenerator.d.ts.map +1 -1
  201. package/dist/src/services/SubagentGenerator.helpers.d.ts +64 -0
  202. package/dist/src/services/SubagentGenerator.helpers.d.ts.map +1 -0
  203. package/dist/src/services/SubagentGenerator.helpers.js +228 -0
  204. package/dist/src/services/SubagentGenerator.helpers.js.map +1 -0
  205. package/dist/src/services/SubagentGenerator.js +66 -208
  206. package/dist/src/services/SubagentGenerator.js.map +1 -1
  207. package/dist/src/services/SubagentGenerator.types.d.ts +45 -0
  208. package/dist/src/services/SubagentGenerator.types.d.ts.map +1 -0
  209. package/dist/src/services/SubagentGenerator.types.js +14 -0
  210. package/dist/src/services/SubagentGenerator.types.js.map +1 -0
  211. package/dist/src/services/TransformationService.d.ts +18 -61
  212. package/dist/src/services/TransformationService.d.ts.map +1 -1
  213. package/dist/src/services/TransformationService.js +29 -17
  214. package/dist/src/services/TransformationService.js.map +1 -1
  215. package/dist/src/services/TransformationService.types.d.ts +74 -0
  216. package/dist/src/services/TransformationService.types.d.ts.map +1 -0
  217. package/dist/src/services/TransformationService.types.js +8 -0
  218. package/dist/src/services/TransformationService.types.js.map +1 -0
  219. package/dist/src/services/__tests__/SubagentGenerator.client-profiles.test.d.ts +5 -0
  220. package/dist/src/services/__tests__/SubagentGenerator.client-profiles.test.d.ts.map +1 -0
  221. package/dist/src/services/__tests__/SubagentGenerator.client-profiles.test.js +72 -0
  222. package/dist/src/services/__tests__/SubagentGenerator.client-profiles.test.js.map +1 -0
  223. package/dist/src/services/__tests__/SubagentGenerator.helpers.test.d.ts +2 -0
  224. package/dist/src/services/__tests__/SubagentGenerator.helpers.test.d.ts.map +1 -0
  225. package/dist/src/services/__tests__/SubagentGenerator.helpers.test.js +61 -0
  226. package/dist/src/services/__tests__/SubagentGenerator.helpers.test.js.map +1 -0
  227. package/dist/src/services/__tests__/SubagentGenerator.test.js +155 -0
  228. package/dist/src/services/__tests__/SubagentGenerator.test.js.map +1 -1
  229. package/dist/src/services/__tests__/TransformationService.test.js +48 -0
  230. package/dist/src/services/__tests__/TransformationService.test.js.map +1 -1
  231. package/dist/src/services/agent-pack/agent-pack.test.js +1 -0
  232. package/dist/src/services/agent-pack/agent-pack.test.js.map +1 -1
  233. package/dist/src/services/agent-pack/prompt-source.d.ts +1 -1
  234. package/dist/src/services/agent-pack/prompt-source.d.ts.map +1 -1
  235. package/dist/src/services/agent-pack/prompt-source.js +10 -3
  236. package/dist/src/services/agent-pack/prompt-source.js.map +1 -1
  237. package/dist/src/services/agent-pack/types.d.ts +26 -2
  238. package/dist/src/services/agent-pack/types.d.ts.map +1 -1
  239. package/dist/src/services/agent-pack/types.js +13 -0
  240. package/dist/src/services/agent-pack/types.js.map +1 -1
  241. package/dist/src/services/agent-tool-profile.d.ts.map +1 -1
  242. package/dist/src/services/agent-tool-profile.js +7 -0
  243. package/dist/src/services/agent-tool-profile.js.map +1 -1
  244. package/dist/src/services/agent-tool-profile.test.js +2 -2
  245. package/dist/src/services/skill-content-comparison.d.ts +71 -0
  246. package/dist/src/services/skill-content-comparison.d.ts.map +1 -0
  247. package/dist/src/services/skill-content-comparison.js +90 -0
  248. package/dist/src/services/skill-content-comparison.js.map +1 -0
  249. package/dist/src/services/skill-content-comparison.test.d.ts +6 -0
  250. package/dist/src/services/skill-content-comparison.test.d.ts.map +1 -0
  251. package/dist/src/services/skill-content-comparison.test.js +83 -0
  252. package/dist/src/services/skill-content-comparison.test.js.map +1 -0
  253. package/dist/src/services/skill-identity-classification.d.ts +202 -0
  254. package/dist/src/services/skill-identity-classification.d.ts.map +1 -0
  255. package/dist/src/services/skill-identity-classification.js +295 -0
  256. package/dist/src/services/skill-identity-classification.js.map +1 -0
  257. package/dist/src/services/skill-identity-classification.test.d.ts +6 -0
  258. package/dist/src/services/skill-identity-classification.test.d.ts.map +1 -0
  259. package/dist/src/services/skill-identity-classification.test.js +314 -0
  260. package/dist/src/services/skill-identity-classification.test.js.map +1 -0
  261. package/dist/src/services/skill-installation.content.d.ts.map +1 -1
  262. package/dist/src/services/skill-installation.content.js +6 -1
  263. package/dist/src/services/skill-installation.content.js.map +1 -1
  264. package/dist/src/services/skill-installation.helpers.d.ts +8 -15
  265. package/dist/src/services/skill-installation.helpers.d.ts.map +1 -1
  266. package/dist/src/services/skill-installation.helpers.js +11 -105
  267. package/dist/src/services/skill-installation.helpers.js.map +1 -1
  268. package/dist/src/services/skill-installation.helpers.test.js +106 -1
  269. package/dist/src/services/skill-installation.helpers.test.js.map +1 -1
  270. package/dist/src/services/skill-installation.service.js +1 -1
  271. package/dist/src/services/skill-installation.service.js.map +1 -1
  272. package/dist/src/services/skill-installation.types.d.ts +33 -0
  273. package/dist/src/services/skill-installation.types.d.ts.map +1 -1
  274. package/dist/src/services/skill-installation.types.js.map +1 -1
  275. package/dist/src/services/skill-installation.uninstall.d.ts +84 -0
  276. package/dist/src/services/skill-installation.uninstall.d.ts.map +1 -0
  277. package/dist/src/services/skill-installation.uninstall.js +252 -0
  278. package/dist/src/services/skill-installation.uninstall.js.map +1 -0
  279. package/dist/src/services/skill-manifest.d.ts +41 -0
  280. package/dist/src/services/skill-manifest.d.ts.map +1 -1
  281. package/dist/src/services/skill-manifest.js +93 -0
  282. package/dist/src/services/skill-manifest.js.map +1 -1
  283. package/dist/src/services/skill-manifest.test.js +27 -0
  284. package/dist/src/services/skill-manifest.test.js.map +1 -1
  285. package/dist/src/sync/SyncEngine.d.ts.map +1 -1
  286. package/dist/src/sync/SyncEngine.js +69 -77
  287. package/dist/src/sync/SyncEngine.js.map +1 -1
  288. package/dist/src/telemetry/agent-marker.d.ts +8 -0
  289. package/dist/src/telemetry/agent-marker.d.ts.map +1 -1
  290. package/dist/src/telemetry/agent-marker.js +7 -0
  291. package/dist/src/telemetry/agent-marker.js.map +1 -1
  292. package/dist/src/telemetry/agent-marker.test.js +7 -1
  293. package/dist/src/telemetry/agent-marker.test.js.map +1 -1
  294. package/dist/src/telemetry/index.d.ts +1 -1
  295. package/dist/src/telemetry/index.d.ts.map +1 -1
  296. package/dist/src/telemetry/index.js +1 -1
  297. package/dist/src/telemetry/index.js.map +1 -1
  298. package/dist/src/telemetry/wrap.d.ts +6 -0
  299. package/dist/src/telemetry/wrap.d.ts.map +1 -1
  300. package/dist/src/telemetry/wrap.js +65 -10
  301. package/dist/src/telemetry/wrap.js.map +1 -1
  302. package/dist/src/telemetry/wrap.test.js +81 -1
  303. package/dist/src/telemetry/wrap.test.js.map +1 -1
  304. package/dist/src/telemetry/wrap.tool-call-sink.test.d.ts +26 -0
  305. package/dist/src/telemetry/wrap.tool-call-sink.test.d.ts.map +1 -0
  306. package/dist/src/telemetry/wrap.tool-call-sink.test.js +162 -0
  307. package/dist/src/telemetry/wrap.tool-call-sink.test.js.map +1 -0
  308. package/dist/src/types/skill.d.ts +9 -1
  309. package/dist/src/types/skill.d.ts.map +1 -1
  310. package/dist/src/utils/index.d.ts +2 -1
  311. package/dist/src/utils/index.d.ts.map +1 -1
  312. package/dist/src/utils/index.js +3 -1
  313. package/dist/src/utils/index.js.map +1 -1
  314. package/dist/src/utils/skill-name.d.ts +19 -0
  315. package/dist/src/utils/skill-name.d.ts.map +1 -0
  316. package/dist/src/utils/skill-name.js +26 -0
  317. package/dist/src/utils/skill-name.js.map +1 -0
  318. package/dist/src/utils/skill-name.test.d.ts +2 -0
  319. package/dist/src/utils/skill-name.test.d.ts.map +1 -0
  320. package/dist/src/utils/skill-name.test.js +34 -0
  321. package/dist/src/utils/skill-name.test.js.map +1 -0
  322. package/dist/src/utils/version-check.d.ts +61 -0
  323. package/dist/src/utils/version-check.d.ts.map +1 -1
  324. package/dist/src/utils/version-check.js +78 -1
  325. package/dist/src/utils/version-check.js.map +1 -1
  326. package/dist/src/utils/version-check.test.js +130 -1
  327. package/dist/src/utils/version-check.test.js.map +1 -1
  328. package/dist/tests/db/migration-runner-race.test.js +19 -9
  329. package/dist/tests/db/migration-runner-race.test.js.map +1 -1
  330. package/dist/tests/install/fan-out.test.js +27 -0
  331. package/dist/tests/install/fan-out.test.js.map +1 -1
  332. package/dist/tests/security/ContinuousSecurity.performance.test.js +12 -7
  333. package/dist/tests/security/ContinuousSecurity.performance.test.js.map +1 -1
  334. package/dist/tests/security/ContinuousSecurity.test.js +14 -2
  335. package/dist/tests/security/ContinuousSecurity.test.js.map +1 -1
  336. package/dist/tests/security/ai-defence-multiline-promotion.test.d.ts +10 -12
  337. package/dist/tests/security/ai-defence-multiline-promotion.test.d.ts.map +1 -1
  338. package/dist/tests/security/ai-defence-multiline-promotion.test.js +26 -33
  339. package/dist/tests/security/ai-defence-multiline-promotion.test.js.map +1 -1
  340. package/dist/tests/security/nested-instruction-long-attribute.test.js +20 -10
  341. package/dist/tests/security/nested-instruction-long-attribute.test.js.map +1 -1
  342. package/dist/tests/security/scanner-evidence-tiers.test.js +15 -0
  343. package/dist/tests/security/scanner-evidence-tiers.test.js.map +1 -1
  344. package/dist/tests/security/scanner-multiline-cap.test.d.ts +21 -0
  345. package/dist/tests/security/scanner-multiline-cap.test.d.ts.map +1 -0
  346. package/dist/tests/security/scanner-multiline-cap.test.js +152 -0
  347. package/dist/tests/security/scanner-multiline-cap.test.js.map +1 -0
  348. package/dist/tests/security/scanner-regression-guard.test.js +37 -0
  349. package/dist/tests/security/scanner-regression-guard.test.js.map +1 -1
  350. package/dist/tests/security/scanner-witness-sw1.test.d.ts +32 -0
  351. package/dist/tests/security/scanner-witness-sw1.test.d.ts.map +1 -0
  352. package/dist/tests/security/scanner-witness-sw1.test.js +255 -0
  353. package/dist/tests/security/scanner-witness-sw1.test.js.map +1 -0
  354. package/dist/tests/security/sensitive-path-adversarial-review.test.d.ts +2 -0
  355. package/dist/tests/security/sensitive-path-adversarial-review.test.d.ts.map +1 -0
  356. package/dist/tests/security/sensitive-path-adversarial-review.test.js +193 -0
  357. package/dist/tests/security/sensitive-path-adversarial-review.test.js.map +1 -0
  358. package/dist/tests/security/sensitive-path-fp.test.js +248 -0
  359. package/dist/tests/security/sensitive-path-fp.test.js.map +1 -1
  360. package/dist/tests/security/smi5879-corroboration.core.test.js +44 -0
  361. package/dist/tests/security/smi5879-corroboration.core.test.js.map +1 -1
  362. package/dist/tests/security/weak-password-lexicon.test.d.ts +18 -0
  363. package/dist/tests/security/weak-password-lexicon.test.d.ts.map +1 -0
  364. package/dist/tests/security/weak-password-lexicon.test.js +122 -0
  365. package/dist/tests/security/weak-password-lexicon.test.js.map +1 -0
  366. package/dist/tests/skill-scanner/allowlist.test.js +58 -4
  367. package/dist/tests/skill-scanner/allowlist.test.js.map +1 -1
  368. package/dist/tests/skill-scanner/categorizer.test.d.ts +2 -0
  369. package/dist/tests/skill-scanner/categorizer.test.d.ts.map +1 -0
  370. package/dist/tests/skill-scanner/categorizer.test.js +71 -0
  371. package/dist/tests/skill-scanner/categorizer.test.js.map +1 -0
  372. package/dist/tests/skill-scanner/cli-guard.test.d.ts +23 -0
  373. package/dist/tests/skill-scanner/cli-guard.test.d.ts.map +1 -0
  374. package/dist/tests/skill-scanner/cli-guard.test.js +71 -0
  375. package/dist/tests/skill-scanner/cli-guard.test.js.map +1 -0
  376. package/dist/tests/sync/SyncEngine.abort.test.js +15 -11
  377. package/dist/tests/sync/SyncEngine.abort.test.js.map +1 -1
  378. package/dist/tests/sync/SyncEngine.status.test.js +1 -1
  379. package/dist/tests/sync/SyncEngine.status.test.js.map +1 -1
  380. package/dist/tests/sync/SyncEngine.test.d.ts +11 -2
  381. package/dist/tests/sync/SyncEngine.test.d.ts.map +1 -1
  382. package/dist/tests/sync/SyncEngine.test.js +164 -13
  383. package/dist/tests/sync/SyncEngine.test.js.map +1 -1
  384. package/dist/tests/unit/migrations/migration-v18.test.d.ts +16 -0
  385. package/dist/tests/unit/migrations/migration-v18.test.d.ts.map +1 -0
  386. package/dist/tests/unit/migrations/migration-v18.test.js +192 -0
  387. package/dist/tests/unit/migrations/migration-v18.test.js.map +1 -0
  388. package/dist/tests/unit/services/skill-installation.content.test.js +101 -1
  389. package/dist/tests/unit/services/skill-installation.content.test.js.map +1 -1
  390. package/dist/tests/unit/services/skill-installation.service.sensitive-path-fp.test.d.ts +29 -0
  391. package/dist/tests/unit/services/skill-installation.service.sensitive-path-fp.test.d.ts.map +1 -0
  392. package/dist/tests/unit/services/skill-installation.service.sensitive-path-fp.test.js +200 -0
  393. package/dist/tests/unit/services/skill-installation.service.sensitive-path-fp.test.js.map +1 -0
  394. package/dist/tests/unit/services/skill-installation.service.test.js +9 -8
  395. package/dist/tests/unit/services/skill-installation.service.test.js.map +1 -1
  396. package/dist/tests/unit/sync-engine.source-aware.test.js +5 -5
  397. package/dist/tests/unit/sync-engine.source-aware.test.js.map +1 -1
  398. package/package.json +7 -2
@@ -0,0 +1,275 @@
1
+ /**
2
+ * ADR-139: Global-vs-Workspace Install Scope Resolution, Keyed by (Scope, Client, Name).
3
+ *
4
+ * @see docs/internal/adr/139-global-vs-workspace-install-scope-resolution.md
5
+ * @see SMI-6266, SMI-6274 (Wave 4), SMI-5894 (the (client, name) keying precedent this
6
+ * extends to scope), SMI-1630 (the repo-local-overrides-global promise this generalizes)
7
+ *
8
+ * Two scopes, both per-client:
9
+ * - `global` — `CLIENT_NATIVE_PATHS[client]` (unchanged).
10
+ * - `workspace` — `<workspace-root>/<client's workspace segments>`, from
11
+ * {@link CLIENT_WORKSPACE_SEGMENTS} (a sibling table to `CLIENT_NATIVE_PATHS`
12
+ * in `./paths.ts`).
13
+ *
14
+ * {@link findWorkspaceRoot} is deliberately NOT a reuse of
15
+ * `findMainRepoRoot()` (`packages/doc-retrieval-mcp/src/retrieval-log/project-dir.ts`).
16
+ * That helper requires `.git` to be a real DIRECTORY, specifically so it skips
17
+ * worktrees and returns the *main* repo root — correct for its own purpose
18
+ * (telemetry attribution) and exactly wrong here: `.git` is a *file* in both
19
+ * worktrees and submodules, and this repo's own default development workflow
20
+ * is worktree-based, so requiring a directory would resolve every worktree's
21
+ * workspace installs back to the main checkout. `findWorkspaceRoot()` tests
22
+ * path EXISTENCE (`existsSync`), never `isDirectory()`, for `.git` — the two
23
+ * walks are near-neighbours with deliberately OPPOSITE `.git` predicates; see
24
+ * `findMainRepoRoot()`'s own header note pointing back here.
25
+ */
26
+ import { existsSync, mkdirSync } from 'node:fs';
27
+ import { homedir } from 'node:os';
28
+ import { dirname, join, resolve } from 'node:path';
29
+ import { loadConfig } from '../config/index.js';
30
+ import { CLIENT_NATIVE_PATHS } from './paths.js';
31
+ /**
32
+ * Workspace-relative path segments per client, sibling table to
33
+ * `CLIENT_NATIVE_PATHS` (`./paths.ts`). `null` means the client has no
34
+ * documented workspace convention and can only ever resolve to `global`
35
+ * scope — adding one later is a table entry here, not a code change
36
+ * (ADR-139 Consequences / Neutral).
37
+ *
38
+ * Verified 2026-08-29 against `docs/internal/research/smi-5386-opencode-antigravity-skill-dirs.md`
39
+ * and ADR-139's own Decision §1: `antigravity` and `agents` deliberately
40
+ * share the SAME segments (`.agents/skills`) — AntiGravity reads project
41
+ * skills from the same open-standard cross-agent convention `agents`'
42
+ * GLOBAL path (`~/.agents/skills`) already uses, which is exactly the
43
+ * pathological case ADR-139 point 4's termination-before-candidacy fix
44
+ * exists for (see `findWorkspaceRoot` below).
45
+ */
46
+ export const CLIENT_WORKSPACE_SEGMENTS = {
47
+ 'claude-code': ['.claude', 'skills'],
48
+ cursor: ['.cursor', 'skills'],
49
+ copilot: null,
50
+ windsurf: null,
51
+ agents: ['.agents', 'skills'],
52
+ opencode: ['.opencode', 'skills'],
53
+ hermes: null,
54
+ grok: null,
55
+ antigravity: ['.agents', 'skills'],
56
+ };
57
+ // ---------------------------------------------------------------------------
58
+ // Errors
59
+ // ---------------------------------------------------------------------------
60
+ /** An explicit `--scope`/`SKILLSMITH_SCOPE` value that isn't `global`/`workspace`. */
61
+ export class InvalidScopeValueError extends Error {
62
+ constructor(message) {
63
+ super(message);
64
+ this.name = 'InvalidScopeValueError';
65
+ }
66
+ }
67
+ /**
68
+ * An explicit workspace-scope request (flag, env var, or config default)
69
+ * that cannot be satisfied — the client has no workspace convention, or no
70
+ * workspace root exists above `cwd`. ADR-139 point 2: this is a HARD ERROR,
71
+ * never a silent downgrade to global.
72
+ */
73
+ export class UnsatisfiableWorkspaceScopeError extends Error {
74
+ constructor(message) {
75
+ super(message);
76
+ this.name = 'UnsatisfiableWorkspaceScopeError';
77
+ }
78
+ }
79
+ /**
80
+ * Parse a raw `--scope`/`SKILLSMITH_SCOPE` string. Returns `undefined` for
81
+ * an absent/empty value (meaning "no opinion at this rank" — the caller
82
+ * falls through to the next precedence rank), and throws for anything
83
+ * present but not `global`/`workspace`.
84
+ */
85
+ export function parseInstallScope(raw) {
86
+ if (raw === undefined || raw === null || raw === '')
87
+ return undefined;
88
+ if (raw === 'global' || raw === 'workspace')
89
+ return raw;
90
+ throw new InvalidScopeValueError(`Invalid scope '${raw}'. Valid values: global | workspace.`);
91
+ }
92
+ function isInstallScope(value) {
93
+ return value === 'global' || value === 'workspace';
94
+ }
95
+ /**
96
+ * Per-client persisted default scope from `~/.skillsmith/config.json`
97
+ * (`defaultScope.<client>`, e.g. `defaultScope.antigravity = "workspace"`).
98
+ * Fails soft (`undefined`) on any read/parse error — a corrupt config file
99
+ * must never crash scope resolution, only fall through to auto-detection.
100
+ */
101
+ export function getDefaultScopeForClient(client) {
102
+ try {
103
+ const config = loadConfig();
104
+ const raw = config.defaultScope?.[client];
105
+ return isInstallScope(raw) ? raw : undefined;
106
+ }
107
+ catch {
108
+ return undefined;
109
+ }
110
+ }
111
+ // ---------------------------------------------------------------------------
112
+ // Ancestor-search boundary (ADR-139 points 3 + 4)
113
+ // ---------------------------------------------------------------------------
114
+ /**
115
+ * Loop guard against symlink cycles / pathological mounts — matches the cap
116
+ * `findMainRepoRoot()` (`project-dir.ts`) already uses, so the two walks
117
+ * agree on their one shared parameter rather than picking independent
118
+ * numbers. NOT a configurable max depth (ADR-139 point 4): a configurable
119
+ * cap makes the same command behave differently on two machines and is
120
+ * effectively undebuggable when it silently stops one level short of a
121
+ * marker.
122
+ */
123
+ const MAX_ANCESTOR_WALK_DEPTH = 64;
124
+ /**
125
+ * Resolve the nearest workspace root for `client` above (and including)
126
+ * `cwd`, or `null` when `cwd` is outside any workspace for that client.
127
+ *
128
+ * Implements ADR-139 point 4's algorithm EXACTLY, including its load-bearing
129
+ * ordering: at every directory in the walk, **termination is evaluated
130
+ * before candidacy**. An earlier draft of ADR-139 checked candidacy first,
131
+ * which meant a walk reaching `$HOME` would test `$HOME/<segments>` for a
132
+ * marker BEFORE applying "stop, no match" — and for the `agents` client,
133
+ * `$HOME/.agents/skills` IS the GLOBAL path, so that ordering collapsed
134
+ * global and workspace scope for that client. Termination-before-candidacy
135
+ * is the fix; do not reorder these two phases.
136
+ *
137
+ * `$HOME` is an EXCLUSIVE bound: the walk stops AT it without ever
138
+ * considering it as a candidate. `.git` existence is checked via
139
+ * `existsSync` (file OR directory) — see the module header for why this is
140
+ * the opposite predicate from `findMainRepoRoot()`.
141
+ */
142
+ export function findWorkspaceRoot(cwd, client, options = {}) {
143
+ const segments = CLIENT_WORKSPACE_SEGMENTS[client];
144
+ if (!segments)
145
+ return null;
146
+ const home = options.homeDirOverride ?? homedir();
147
+ let current = resolve(cwd);
148
+ let vcsFallback = null;
149
+ for (let depth = 0; depth < MAX_ANCESTOR_WALK_DEPTH; depth += 1) {
150
+ // ---- PHASE 1: TERMINATION (always first — see doc comment above) ----
151
+ if (current === home)
152
+ break;
153
+ // ---- PHASE 2: CANDIDACY (only for directories that survived phase 1) ----
154
+ if (existsSync(join(current, ...segments))) {
155
+ return { root: current, via: 'marker' };
156
+ }
157
+ if (existsSync(join(current, '.git'))) {
158
+ vcsFallback = current;
159
+ break; // the first VCS boundary also terminates the marker search
160
+ }
161
+ const parent = dirname(current);
162
+ if (parent === current)
163
+ break; // filesystem root
164
+ current = parent;
165
+ }
166
+ return vcsFallback ? { root: vcsFallback, via: 'vcs' } : null;
167
+ }
168
+ /** `<workspaceRoot>/.skillsmith/manifest.json` — self-scoping, self-cleaning (ADR-139 point 1). */
169
+ export function resolveWorkspaceManifestPath(workspaceRoot) {
170
+ return join(workspaceRoot, '.skillsmith', 'manifest.json');
171
+ }
172
+ function defaultGlobalManifestPath() {
173
+ return join(homedir(), '.skillsmith', 'manifest.json');
174
+ }
175
+ /**
176
+ * Resolve the install scope for one `(client, cwd)` pair per ADR-139 point 2's
177
+ * five-rank precedence:
178
+ *
179
+ * 1. Explicit `--scope` flag
180
+ * 2. `SKILLSMITH_SCOPE` env var
181
+ * 3. Per-client `~/.skillsmith/config.json` default
182
+ * 4. Auto-detection of an EXISTING workspace marker (read-only, never creates)
183
+ * 5. Global (default)
184
+ *
185
+ * Ranks 1-3 all represent an explicit request for a scope: requesting
186
+ * `workspace` at any of these ranks resolves via {@link findWorkspaceRoot}
187
+ * and, when the walk found a VCS boundary but no marker yet, CREATES the
188
+ * marker directory (`mkdirSync(..., { recursive: true })`) — this is the
189
+ * ONLY path that ever creates a workspace directory (ADR-139 point 5).
190
+ * Requesting `workspace` for a client with no workspace convention, or from
191
+ * outside any workspace entirely (no marker AND no ancestor `.git`), throws
192
+ * {@link UnsatisfiableWorkspaceScopeError} — never a silent downgrade.
193
+ *
194
+ * Rank 4 (auto-detection) is deliberately narrower: it only matches an
195
+ * EXISTING marker directory (`findWorkspaceRoot(...).via === 'marker'`) — a
196
+ * bare VCS boundary with no marker does NOT count as an auto-detected hit,
197
+ * and this rank never creates anything. Falling through this rank with no
198
+ * match resolves to rank 5 (global) silently and successfully — the
199
+ * ordinary case, not a warning-worthy one (ADR-139 point 6).
200
+ */
201
+ export function resolveSkillScope(params) {
202
+ const { client } = params;
203
+ const cwd = params.cwd ?? process.cwd();
204
+ const segments = CLIENT_WORKSPACE_SEGMENTS[client];
205
+ const findOpts = params.homeDirOverride !== undefined ? { homeDirOverride: params.homeDirOverride } : {};
206
+ const fromFlag = params.explicitScope;
207
+ const envRaw = params.envScope !== undefined ? params.envScope : process.env['SKILLSMITH_SCOPE'];
208
+ const fromEnv = fromFlag === undefined ? parseInstallScope(envRaw) : undefined;
209
+ const fromConfig = fromFlag === undefined && fromEnv === undefined
210
+ ? params.configDefaultScope === undefined
211
+ ? getDefaultScopeForClient(client)
212
+ : (params.configDefaultScope ?? undefined)
213
+ : undefined;
214
+ const requested = fromFlag ?? fromEnv ?? fromConfig;
215
+ const requestSource = fromFlag !== undefined
216
+ ? 'the --scope flag'
217
+ : fromEnv !== undefined
218
+ ? 'the SKILLSMITH_SCOPE environment variable'
219
+ : fromConfig !== undefined
220
+ ? `the ~/.skillsmith/config.json default for '${client}'`
221
+ : undefined;
222
+ if (requested === 'global') {
223
+ return { scope: 'global', dir: CLIENT_NATIVE_PATHS[client], created: false };
224
+ }
225
+ if (requested === 'workspace') {
226
+ if (!segments) {
227
+ throw new UnsatisfiableWorkspaceScopeError(`Workspace scope was requested (via ${requestSource}) but client '${client}' has no ` +
228
+ `documented workspace convention — it can only be installed at global scope.`);
229
+ }
230
+ const found = findWorkspaceRoot(cwd, client, findOpts);
231
+ if (!found) {
232
+ throw new UnsatisfiableWorkspaceScopeError(`Workspace scope was requested (via ${requestSource}) but no workspace root was found ` +
233
+ `at or above '${cwd}' — no existing ${segments.join('/')} directory and no ancestor ` +
234
+ `.git. Run this from inside a repository, or drop --scope to install globally.`);
235
+ }
236
+ const dir = join(found.root, ...segments);
237
+ if (found.via === 'marker') {
238
+ return { scope: 'workspace', dir, workspaceRoot: found.root, via: 'marker', created: false };
239
+ }
240
+ // via === 'vcs': no marker exists on disk yet. An explicit workspace
241
+ // request (any of ranks 1-3) is the ONLY thing permitted to create one.
242
+ mkdirSync(dir, { recursive: true });
243
+ return { scope: 'workspace', dir, workspaceRoot: found.root, via: 'vcs', created: true };
244
+ }
245
+ // Rank 4: auto-detection. Only an EXISTING marker counts — never the bare
246
+ // VCS fallback, and this rank never creates anything.
247
+ if (segments) {
248
+ const found = findWorkspaceRoot(cwd, client, findOpts);
249
+ if (found && found.via === 'marker') {
250
+ return {
251
+ scope: 'workspace',
252
+ dir: join(found.root, ...segments),
253
+ workspaceRoot: found.root,
254
+ via: 'marker',
255
+ created: false,
256
+ };
257
+ }
258
+ }
259
+ // Rank 5: global, silently and successfully.
260
+ return { scope: 'global', dir: CLIENT_NATIVE_PATHS[client], created: false };
261
+ }
262
+ /**
263
+ * Convenience wrapper over {@link resolveSkillScope} that also resolves the
264
+ * manifest path to record the install in — the one call CLI/MCP commands
265
+ * need for `install`/`list`/`update`/`remove` (ADR-139 point 7: "One shared
266
+ * resolver, in core, for every command").
267
+ */
268
+ export function resolveScopedSkillsDir(params) {
269
+ const resolved = resolveSkillScope(params);
270
+ const manifestPath = resolved.scope === 'workspace' && resolved.workspaceRoot
271
+ ? resolveWorkspaceManifestPath(resolved.workspaceRoot)
272
+ : (params.globalManifestPath ?? defaultGlobalManifestPath());
273
+ return { ...resolved, manifestPath };
274
+ }
275
+ //# sourceMappingURL=workspace-scope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-scope.js","sourceRoot":"","sources":["../../../src/install/workspace-scope.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAElD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,mBAAmB,EAAiB,MAAM,YAAY,CAAA;AAQ/D;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAyD;IAC7F,aAAa,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;IACpC,MAAM,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;IAC7B,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,IAAI;IACd,MAAM,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;IAC7B,QAAQ,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC;IACjC,MAAM,EAAE,IAAI;IACZ,IAAI,EAAE,IAAI;IACV,WAAW,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;CACnC,CAAA;AAED,8EAA8E;AAC9E,SAAS;AACT,8EAA8E;AAE9E,sFAAsF;AACtF,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IAC/C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAA;IACtC,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,OAAO,gCAAiC,SAAQ,KAAK;IACzD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,kCAAkC,CAAA;IAChD,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAA8B;IAC9D,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,SAAS,CAAA;IACrE,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,WAAW;QAAE,OAAO,GAAG,CAAA;IACvD,MAAM,IAAI,sBAAsB,CAAC,kBAAkB,GAAG,sCAAsC,CAAC,CAAA;AAC/F,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,WAAW,CAAA;AACpD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CAAC,MAAgB;IACvD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,UAAU,EAAE,CAAA;QAC3B,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,CAAA;QACzC,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAA;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,kDAAkD;AAClD,8EAA8E;AAE9E;;;;;;;;GAQG;AACH,MAAM,uBAAuB,GAAG,EAAE,CAAA;AAqBlC;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,iBAAiB,CAC/B,GAAW,EACX,MAAgB,EAChB,UAAoC,EAAE;IAEtC,MAAM,QAAQ,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAA;IAClD,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAA;IAE1B,MAAM,IAAI,GAAG,OAAO,CAAC,eAAe,IAAI,OAAO,EAAE,CAAA;IACjD,IAAI,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IAC1B,IAAI,WAAW,GAAkB,IAAI,CAAA;IAErC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,uBAAuB,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAChE,wEAAwE;QACxE,IAAI,OAAO,KAAK,IAAI;YAAE,MAAK;QAE3B,4EAA4E;QAC5E,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC;YAC3C,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAA;QACzC,CAAC;QACD,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;YACtC,WAAW,GAAG,OAAO,CAAA;YACrB,MAAK,CAAC,2DAA2D;QACnE,CAAC;QAED,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;QAC/B,IAAI,MAAM,KAAK,OAAO;YAAE,MAAK,CAAC,kBAAkB;QAChD,OAAO,GAAG,MAAM,CAAA;IAClB,CAAC;IAED,OAAO,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;AAC/D,CAAC;AAED,mGAAmG;AACnG,MAAM,UAAU,4BAA4B,CAAC,aAAqB;IAChE,OAAO,IAAI,CAAC,aAAa,EAAE,aAAa,EAAE,eAAe,CAAC,CAAA;AAC5D,CAAC;AAED,SAAS,yBAAyB;IAChC,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,eAAe,CAAC,CAAA;AACxD,CAAC;AAyDD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAA0B;IAC1D,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;IACzB,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAA;IACvC,MAAM,QAAQ,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAA;IAClD,MAAM,QAAQ,GACZ,MAAM,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IAEzF,MAAM,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAA;IACrC,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;IAChG,MAAM,OAAO,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAC9E,MAAM,UAAU,GACd,QAAQ,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS;QAC7C,CAAC,CAAC,MAAM,CAAC,kBAAkB,KAAK,SAAS;YACvC,CAAC,CAAC,wBAAwB,CAAC,MAAM,CAAC;YAClC,CAAC,CAAC,CAAC,MAAM,CAAC,kBAAkB,IAAI,SAAS,CAAC;QAC5C,CAAC,CAAC,SAAS,CAAA;IAEf,MAAM,SAAS,GAAG,QAAQ,IAAI,OAAO,IAAI,UAAU,CAAA;IACnD,MAAM,aAAa,GACjB,QAAQ,KAAK,SAAS;QACpB,CAAC,CAAC,kBAAkB;QACpB,CAAC,CAAC,OAAO,KAAK,SAAS;YACrB,CAAC,CAAC,2CAA2C;YAC7C,CAAC,CAAC,UAAU,KAAK,SAAS;gBACxB,CAAC,CAAC,8CAA8C,MAAM,GAAG;gBACzD,CAAC,CAAC,SAAS,CAAA;IAEnB,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC3B,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,mBAAmB,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;IAC9E,CAAC;IAED,IAAI,SAAS,KAAK,WAAW,EAAE,CAAC;QAC9B,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,gCAAgC,CACxC,sCAAsC,aAAa,iBAAiB,MAAM,WAAW;gBACnF,6EAA6E,CAChF,CAAA;QACH,CAAC;QACD,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;QACtD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,gCAAgC,CACxC,sCAAsC,aAAa,oCAAoC;gBACrF,gBAAgB,GAAG,mBAAmB,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,6BAA6B;gBACrF,+EAA+E,CAClF,CAAA;QACH,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,QAAQ,CAAC,CAAA;QACzC,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC3B,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;QAC9F,CAAC;QACD,qEAAqE;QACrE,wEAAwE;QACxE,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACnC,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IAC1F,CAAC;IAED,0EAA0E;IAC1E,sDAAsD;IACtD,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;QACtD,IAAI,KAAK,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YACpC,OAAO;gBACL,KAAK,EAAE,WAAW;gBAClB,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,QAAQ,CAAC;gBAClC,aAAa,EAAE,KAAK,CAAC,IAAI;gBACzB,GAAG,EAAE,QAAQ;gBACb,OAAO,EAAE,KAAK;aACf,CAAA;QACH,CAAC;IACH,CAAC;IAED,6CAA6C;IAC7C,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,mBAAmB,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;AAC9E,CAAC;AAgBD;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CACpC,MAA4D;IAE5D,MAAM,QAAQ,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAA;IAC1C,MAAM,YAAY,GAChB,QAAQ,CAAC,KAAK,KAAK,WAAW,IAAI,QAAQ,CAAC,aAAa;QACtD,CAAC,CAAC,4BAA4B,CAAC,QAAQ,CAAC,aAAa,CAAC;QACtD,CAAC,CAAC,CAAC,MAAM,CAAC,kBAAkB,IAAI,yBAAyB,EAAE,CAAC,CAAA;IAChE,OAAO,EAAE,GAAG,QAAQ,EAAE,YAAY,EAAE,CAAA;AACtC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=workspace-scope.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-scope.test.d.ts","sourceRoot":"","sources":["../../../src/install/workspace-scope.test.ts"],"names":[],"mappings":""}