@skillsmith/cli 0.7.2 → 0.7.4

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 (560) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/cli.js +44014 -0
  4. package/package.json +21 -11
  5. package/dist/src/commands/__meta__/telemetry-coverage.test.d.ts +0 -20
  6. package/dist/src/commands/__meta__/telemetry-coverage.test.d.ts.map +0 -1
  7. package/dist/src/commands/__meta__/telemetry-coverage.test.js +0 -118
  8. package/dist/src/commands/__meta__/telemetry-coverage.test.js.map +0 -1
  9. package/dist/src/commands/ab-test.d.ts +0 -29
  10. package/dist/src/commands/ab-test.d.ts.map +0 -1
  11. package/dist/src/commands/ab-test.js +0 -226
  12. package/dist/src/commands/ab-test.js.map +0 -1
  13. package/dist/src/commands/ab-test.test.d.ts +0 -7
  14. package/dist/src/commands/ab-test.test.d.ts.map +0 -1
  15. package/dist/src/commands/ab-test.test.js +0 -255
  16. package/dist/src/commands/ab-test.test.js.map +0 -1
  17. package/dist/src/commands/analyze.d.ts +0 -14
  18. package/dist/src/commands/analyze.d.ts.map +0 -1
  19. package/dist/src/commands/analyze.js +0 -191
  20. package/dist/src/commands/analyze.js.map +0 -1
  21. package/dist/src/commands/audit-collisions.d.ts +0 -68
  22. package/dist/src/commands/audit-collisions.d.ts.map +0 -1
  23. package/dist/src/commands/audit-collisions.js +0 -309
  24. package/dist/src/commands/audit-collisions.js.map +0 -1
  25. package/dist/src/commands/audit-sources.action.d.ts +0 -37
  26. package/dist/src/commands/audit-sources.action.d.ts.map +0 -1
  27. package/dist/src/commands/audit-sources.action.js +0 -321
  28. package/dist/src/commands/audit-sources.action.js.map +0 -1
  29. package/dist/src/commands/audit-sources.d.ts +0 -37
  30. package/dist/src/commands/audit-sources.d.ts.map +0 -1
  31. package/dist/src/commands/audit-sources.js +0 -55
  32. package/dist/src/commands/audit-sources.js.map +0 -1
  33. package/dist/src/commands/audit-sources.test.d.ts +0 -9
  34. package/dist/src/commands/audit-sources.test.d.ts.map +0 -1
  35. package/dist/src/commands/audit-sources.test.js +0 -228
  36. package/dist/src/commands/audit-sources.test.js.map +0 -1
  37. package/dist/src/commands/audit.d.ts +0 -40
  38. package/dist/src/commands/audit.d.ts.map +0 -1
  39. package/dist/src/commands/audit.js +0 -223
  40. package/dist/src/commands/audit.js.map +0 -1
  41. package/dist/src/commands/audit.test.d.ts +0 -8
  42. package/dist/src/commands/audit.test.d.ts.map +0 -1
  43. package/dist/src/commands/audit.test.js +0 -97
  44. package/dist/src/commands/audit.test.js.map +0 -1
  45. package/dist/src/commands/author/index.d.ts +0 -17
  46. package/dist/src/commands/author/index.d.ts.map +0 -1
  47. package/dist/src/commands/author/index.js +0 -21
  48. package/dist/src/commands/author/index.js.map +0 -1
  49. package/dist/src/commands/author/init.action.d.ts +0 -29
  50. package/dist/src/commands/author/init.action.d.ts.map +0 -1
  51. package/dist/src/commands/author/init.action.js +0 -131
  52. package/dist/src/commands/author/init.action.js.map +0 -1
  53. package/dist/src/commands/author/init.d.ts +0 -36
  54. package/dist/src/commands/author/init.d.ts.map +0 -1
  55. package/dist/src/commands/author/init.helpers.d.ts +0 -80
  56. package/dist/src/commands/author/init.helpers.d.ts.map +0 -1
  57. package/dist/src/commands/author/init.helpers.js +0 -107
  58. package/dist/src/commands/author/init.helpers.js.map +0 -1
  59. package/dist/src/commands/author/init.js +0 -320
  60. package/dist/src/commands/author/init.js.map +0 -1
  61. package/dist/src/commands/author/mcp-init.d.ts +0 -21
  62. package/dist/src/commands/author/mcp-init.d.ts.map +0 -1
  63. package/dist/src/commands/author/mcp-init.js +0 -202
  64. package/dist/src/commands/author/mcp-init.js.map +0 -1
  65. package/dist/src/commands/author/subagent.d.ts +0 -23
  66. package/dist/src/commands/author/subagent.d.ts.map +0 -1
  67. package/dist/src/commands/author/subagent.js +0 -174
  68. package/dist/src/commands/author/subagent.js.map +0 -1
  69. package/dist/src/commands/author/transform.d.ts +0 -23
  70. package/dist/src/commands/author/transform.d.ts.map +0 -1
  71. package/dist/src/commands/author/transform.js +0 -149
  72. package/dist/src/commands/author/transform.js.map +0 -1
  73. package/dist/src/commands/author/utils.d.ts +0 -27
  74. package/dist/src/commands/author/utils.d.ts.map +0 -1
  75. package/dist/src/commands/author/utils.js +0 -118
  76. package/dist/src/commands/author/utils.js.map +0 -1
  77. package/dist/src/commands/config.d.ts +0 -57
  78. package/dist/src/commands/config.d.ts.map +0 -1
  79. package/dist/src/commands/config.js +0 -226
  80. package/dist/src/commands/config.js.map +0 -1
  81. package/dist/src/commands/create.d.ts +0 -43
  82. package/dist/src/commands/create.d.ts.map +0 -1
  83. package/dist/src/commands/create.js +0 -336
  84. package/dist/src/commands/create.js.map +0 -1
  85. package/dist/src/commands/diff.d.ts +0 -21
  86. package/dist/src/commands/diff.d.ts.map +0 -1
  87. package/dist/src/commands/diff.js +0 -227
  88. package/dist/src/commands/diff.js.map +0 -1
  89. package/dist/src/commands/diff.test.d.ts +0 -6
  90. package/dist/src/commands/diff.test.d.ts.map +0 -1
  91. package/dist/src/commands/diff.test.js +0 -327
  92. package/dist/src/commands/diff.test.js.map +0 -1
  93. package/dist/src/commands/import-local.d.ts +0 -28
  94. package/dist/src/commands/import-local.d.ts.map +0 -1
  95. package/dist/src/commands/import-local.helpers.d.ts +0 -28
  96. package/dist/src/commands/import-local.helpers.d.ts.map +0 -1
  97. package/dist/src/commands/import-local.helpers.js +0 -166
  98. package/dist/src/commands/import-local.helpers.js.map +0 -1
  99. package/dist/src/commands/import-local.js +0 -273
  100. package/dist/src/commands/import-local.js.map +0 -1
  101. package/dist/src/commands/import-local.types.d.ts +0 -59
  102. package/dist/src/commands/import-local.types.d.ts.map +0 -1
  103. package/dist/src/commands/import-local.types.js +0 -2
  104. package/dist/src/commands/import-local.types.js.map +0 -1
  105. package/dist/src/commands/import.d.ts +0 -47
  106. package/dist/src/commands/import.d.ts.map +0 -1
  107. package/dist/src/commands/import.js +0 -314
  108. package/dist/src/commands/import.js.map +0 -1
  109. package/dist/src/commands/index.d.ts +0 -28
  110. package/dist/src/commands/index.d.ts.map +0 -1
  111. package/dist/src/commands/index.js +0 -50
  112. package/dist/src/commands/index.js.map +0 -1
  113. package/dist/src/commands/info.d.ts +0 -19
  114. package/dist/src/commands/info.d.ts.map +0 -1
  115. package/dist/src/commands/info.js +0 -110
  116. package/dist/src/commands/info.js.map +0 -1
  117. package/dist/src/commands/install-skill.d.ts +0 -16
  118. package/dist/src/commands/install-skill.d.ts.map +0 -1
  119. package/dist/src/commands/install-skill.js +0 -155
  120. package/dist/src/commands/install-skill.js.map +0 -1
  121. package/dist/src/commands/install.d.ts +0 -34
  122. package/dist/src/commands/install.d.ts.map +0 -1
  123. package/dist/src/commands/install.js +0 -311
  124. package/dist/src/commands/install.js.map +0 -1
  125. package/dist/src/commands/inventory.action.d.ts +0 -55
  126. package/dist/src/commands/inventory.action.d.ts.map +0 -1
  127. package/dist/src/commands/inventory.action.js +0 -179
  128. package/dist/src/commands/inventory.action.js.map +0 -1
  129. package/dist/src/commands/inventory.action.test.d.ts +0 -19
  130. package/dist/src/commands/inventory.action.test.d.ts.map +0 -1
  131. package/dist/src/commands/inventory.action.test.js +0 -371
  132. package/dist/src/commands/inventory.action.test.js.map +0 -1
  133. package/dist/src/commands/inventory.d.ts +0 -21
  134. package/dist/src/commands/inventory.d.ts.map +0 -1
  135. package/dist/src/commands/inventory.js +0 -42
  136. package/dist/src/commands/inventory.js.map +0 -1
  137. package/dist/src/commands/login.d.ts +0 -7
  138. package/dist/src/commands/login.d.ts.map +0 -1
  139. package/dist/src/commands/login.js +0 -323
  140. package/dist/src/commands/login.js.map +0 -1
  141. package/dist/src/commands/login.test-helpers.d.ts +0 -7
  142. package/dist/src/commands/login.test-helpers.d.ts.map +0 -1
  143. package/dist/src/commands/login.test-helpers.js +0 -44
  144. package/dist/src/commands/login.test-helpers.js.map +0 -1
  145. package/dist/src/commands/login.test.d.ts +0 -2
  146. package/dist/src/commands/login.test.d.ts.map +0 -1
  147. package/dist/src/commands/login.test.js +0 -387
  148. package/dist/src/commands/login.test.js.map +0 -1
  149. package/dist/src/commands/logout.d.ts +0 -15
  150. package/dist/src/commands/logout.d.ts.map +0 -1
  151. package/dist/src/commands/logout.js +0 -54
  152. package/dist/src/commands/logout.js.map +0 -1
  153. package/dist/src/commands/logout.test.d.ts +0 -8
  154. package/dist/src/commands/logout.test.d.ts.map +0 -1
  155. package/dist/src/commands/logout.test.js +0 -137
  156. package/dist/src/commands/logout.test.js.map +0 -1
  157. package/dist/src/commands/manage.d.ts +0 -19
  158. package/dist/src/commands/manage.d.ts.map +0 -1
  159. package/dist/src/commands/manage.js +0 -346
  160. package/dist/src/commands/manage.js.map +0 -1
  161. package/dist/src/commands/merge.d.ts +0 -24
  162. package/dist/src/commands/merge.d.ts.map +0 -1
  163. package/dist/src/commands/merge.js +0 -168
  164. package/dist/src/commands/merge.js.map +0 -1
  165. package/dist/src/commands/pin.d.ts +0 -26
  166. package/dist/src/commands/pin.d.ts.map +0 -1
  167. package/dist/src/commands/pin.js +0 -138
  168. package/dist/src/commands/pin.js.map +0 -1
  169. package/dist/src/commands/pin.test.d.ts +0 -6
  170. package/dist/src/commands/pin.test.d.ts.map +0 -1
  171. package/dist/src/commands/pin.test.js +0 -206
  172. package/dist/src/commands/pin.test.js.map +0 -1
  173. package/dist/src/commands/recommend-scoring.d.ts +0 -29
  174. package/dist/src/commands/recommend-scoring.d.ts.map +0 -1
  175. package/dist/src/commands/recommend-scoring.js +0 -141
  176. package/dist/src/commands/recommend-scoring.js.map +0 -1
  177. package/dist/src/commands/recommend.d.ts +0 -15
  178. package/dist/src/commands/recommend.d.ts.map +0 -1
  179. package/dist/src/commands/recommend.helpers.d.ts +0 -44
  180. package/dist/src/commands/recommend.helpers.d.ts.map +0 -1
  181. package/dist/src/commands/recommend.helpers.js +0 -303
  182. package/dist/src/commands/recommend.helpers.js.map +0 -1
  183. package/dist/src/commands/recommend.js +0 -198
  184. package/dist/src/commands/recommend.js.map +0 -1
  185. package/dist/src/commands/recommend.types.d.ts +0 -66
  186. package/dist/src/commands/recommend.types.d.ts.map +0 -1
  187. package/dist/src/commands/recommend.types.js +0 -14
  188. package/dist/src/commands/recommend.types.js.map +0 -1
  189. package/dist/src/commands/run-registry-sync.d.ts +0 -31
  190. package/dist/src/commands/run-registry-sync.d.ts.map +0 -1
  191. package/dist/src/commands/run-registry-sync.js +0 -45
  192. package/dist/src/commands/run-registry-sync.js.map +0 -1
  193. package/dist/src/commands/search-formatters.d.ts +0 -36
  194. package/dist/src/commands/search-formatters.d.ts.map +0 -1
  195. package/dist/src/commands/search-formatters.js +0 -132
  196. package/dist/src/commands/search-formatters.js.map +0 -1
  197. package/dist/src/commands/search-types.d.ts +0 -46
  198. package/dist/src/commands/search-types.d.ts.map +0 -1
  199. package/dist/src/commands/search-types.js +0 -12
  200. package/dist/src/commands/search-types.js.map +0 -1
  201. package/dist/src/commands/search.action.d.ts +0 -16
  202. package/dist/src/commands/search.action.d.ts.map +0 -1
  203. package/dist/src/commands/search.action.js +0 -384
  204. package/dist/src/commands/search.action.js.map +0 -1
  205. package/dist/src/commands/search.d.ts +0 -18
  206. package/dist/src/commands/search.d.ts.map +0 -1
  207. package/dist/src/commands/search.helpers.d.ts +0 -52
  208. package/dist/src/commands/search.helpers.d.ts.map +0 -1
  209. package/dist/src/commands/search.helpers.js +0 -95
  210. package/dist/src/commands/search.helpers.js.map +0 -1
  211. package/dist/src/commands/search.js +0 -48
  212. package/dist/src/commands/search.js.map +0 -1
  213. package/dist/src/commands/search.test.d.ts +0 -10
  214. package/dist/src/commands/search.test.d.ts.map +0 -1
  215. package/dist/src/commands/search.test.js +0 -179
  216. package/dist/src/commands/search.test.js.map +0 -1
  217. package/dist/src/commands/sync.action.d.ts +0 -39
  218. package/dist/src/commands/sync.action.d.ts.map +0 -1
  219. package/dist/src/commands/sync.action.js +0 -353
  220. package/dist/src/commands/sync.action.js.map +0 -1
  221. package/dist/src/commands/sync.d.ts +0 -24
  222. package/dist/src/commands/sync.d.ts.map +0 -1
  223. package/dist/src/commands/sync.helpers.d.ts +0 -55
  224. package/dist/src/commands/sync.helpers.d.ts.map +0 -1
  225. package/dist/src/commands/sync.helpers.js +0 -90
  226. package/dist/src/commands/sync.helpers.js.map +0 -1
  227. package/dist/src/commands/sync.js +0 -101
  228. package/dist/src/commands/sync.js.map +0 -1
  229. package/dist/src/commands/telemetry.action.d.ts +0 -38
  230. package/dist/src/commands/telemetry.action.d.ts.map +0 -1
  231. package/dist/src/commands/telemetry.action.js +0 -350
  232. package/dist/src/commands/telemetry.action.js.map +0 -1
  233. package/dist/src/commands/telemetry.d.ts +0 -30
  234. package/dist/src/commands/telemetry.d.ts.map +0 -1
  235. package/dist/src/commands/telemetry.helpers.d.ts +0 -58
  236. package/dist/src/commands/telemetry.helpers.d.ts.map +0 -1
  237. package/dist/src/commands/telemetry.helpers.js +0 -173
  238. package/dist/src/commands/telemetry.helpers.js.map +0 -1
  239. package/dist/src/commands/telemetry.helpers.test.d.ts +0 -15
  240. package/dist/src/commands/telemetry.helpers.test.d.ts.map +0 -1
  241. package/dist/src/commands/telemetry.helpers.test.js +0 -240
  242. package/dist/src/commands/telemetry.helpers.test.js.map +0 -1
  243. package/dist/src/commands/telemetry.js +0 -65
  244. package/dist/src/commands/telemetry.js.map +0 -1
  245. package/dist/src/commands/telemetry.test.d.ts +0 -18
  246. package/dist/src/commands/telemetry.test.d.ts.map +0 -1
  247. package/dist/src/commands/telemetry.test.js +0 -401
  248. package/dist/src/commands/telemetry.test.js.map +0 -1
  249. package/dist/src/commands/whoami.d.ts +0 -15
  250. package/dist/src/commands/whoami.d.ts.map +0 -1
  251. package/dist/src/commands/whoami.js +0 -55
  252. package/dist/src/commands/whoami.js.map +0 -1
  253. package/dist/src/commands/whoami.test.d.ts +0 -8
  254. package/dist/src/commands/whoami.test.d.ts.map +0 -1
  255. package/dist/src/commands/whoami.test.js +0 -133
  256. package/dist/src/commands/whoami.test.js.map +0 -1
  257. package/dist/src/config.d.ts +0 -29
  258. package/dist/src/config.d.ts.map +0 -1
  259. package/dist/src/config.js +0 -34
  260. package/dist/src/config.js.map +0 -1
  261. package/dist/src/index.d.ts +0 -22
  262. package/dist/src/index.d.ts.map +0 -1
  263. package/dist/src/index.js +0 -117
  264. package/dist/src/index.js.map +0 -1
  265. package/dist/src/templates/changelog.md.template.d.ts +0 -8
  266. package/dist/src/templates/changelog.md.template.d.ts.map +0 -1
  267. package/dist/src/templates/changelog.md.template.js +0 -19
  268. package/dist/src/templates/changelog.md.template.js.map +0 -1
  269. package/dist/src/templates/index.d.ts +0 -11
  270. package/dist/src/templates/index.d.ts.map +0 -1
  271. package/dist/src/templates/index.js +0 -11
  272. package/dist/src/templates/index.js.map +0 -1
  273. package/dist/src/templates/mcp-server.template.d.ts +0 -82
  274. package/dist/src/templates/mcp-server.template.d.ts.map +0 -1
  275. package/dist/src/templates/mcp-server.template.js +0 -430
  276. package/dist/src/templates/mcp-server.template.js.map +0 -1
  277. package/dist/src/templates/mcp-server.template.snippets.d.ts +0 -51
  278. package/dist/src/templates/mcp-server.template.snippets.d.ts.map +0 -1
  279. package/dist/src/templates/mcp-server.template.snippets.js +0 -162
  280. package/dist/src/templates/mcp-server.template.snippets.js.map +0 -1
  281. package/dist/src/templates/mcp-template-handlers.d.ts +0 -33
  282. package/dist/src/templates/mcp-template-handlers.d.ts.map +0 -1
  283. package/dist/src/templates/mcp-template-handlers.js +0 -106
  284. package/dist/src/templates/mcp-template-handlers.js.map +0 -1
  285. package/dist/src/templates/mcp-template-types.d.ts +0 -48
  286. package/dist/src/templates/mcp-template-types.d.ts.map +0 -1
  287. package/dist/src/templates/mcp-template-types.js +0 -18
  288. package/dist/src/templates/mcp-template-types.js.map +0 -1
  289. package/dist/src/templates/readme.md.template.d.ts +0 -8
  290. package/dist/src/templates/readme.md.template.d.ts.map +0 -1
  291. package/dist/src/templates/readme.md.template.js +0 -86
  292. package/dist/src/templates/readme.md.template.js.map +0 -1
  293. package/dist/src/templates/skill.md.template.d.ts +0 -8
  294. package/dist/src/templates/skill.md.template.d.ts.map +0 -1
  295. package/dist/src/templates/skill.md.template.js +0 -97
  296. package/dist/src/templates/skill.md.template.js.map +0 -1
  297. package/dist/src/templates/subagent.md.template.d.ts +0 -38
  298. package/dist/src/templates/subagent.md.template.d.ts.map +0 -1
  299. package/dist/src/templates/subagent.md.template.js +0 -128
  300. package/dist/src/templates/subagent.md.template.js.map +0 -1
  301. package/dist/src/utils/errors.d.ts +0 -52
  302. package/dist/src/utils/errors.d.ts.map +0 -1
  303. package/dist/src/utils/errors.js +0 -58
  304. package/dist/src/utils/errors.js.map +0 -1
  305. package/dist/src/utils/formatters.d.ts +0 -39
  306. package/dist/src/utils/formatters.d.ts.map +0 -1
  307. package/dist/src/utils/formatters.js +0 -69
  308. package/dist/src/utils/formatters.js.map +0 -1
  309. package/dist/src/utils/license-types.d.ts +0 -88
  310. package/dist/src/utils/license-types.d.ts.map +0 -1
  311. package/dist/src/utils/license-types.js +0 -60
  312. package/dist/src/utils/license-types.js.map +0 -1
  313. package/dist/src/utils/license-validation.d.ts +0 -61
  314. package/dist/src/utils/license-validation.d.ts.map +0 -1
  315. package/dist/src/utils/license-validation.js +0 -198
  316. package/dist/src/utils/license-validation.js.map +0 -1
  317. package/dist/src/utils/license.d.ts +0 -56
  318. package/dist/src/utils/license.d.ts.map +0 -1
  319. package/dist/src/utils/license.js +0 -163
  320. package/dist/src/utils/license.js.map +0 -1
  321. package/dist/src/utils/license.test.d.ts +0 -7
  322. package/dist/src/utils/license.test.d.ts.map +0 -1
  323. package/dist/src/utils/license.test.js +0 -308
  324. package/dist/src/utils/license.test.js.map +0 -1
  325. package/dist/src/utils/manifest.d.ts +0 -121
  326. package/dist/src/utils/manifest.d.ts.map +0 -1
  327. package/dist/src/utils/manifest.js +0 -133
  328. package/dist/src/utils/manifest.js.map +0 -1
  329. package/dist/src/utils/manifest.test.d.ts +0 -20
  330. package/dist/src/utils/manifest.test.d.ts.map +0 -1
  331. package/dist/src/utils/manifest.test.js +0 -344
  332. package/dist/src/utils/manifest.test.js.map +0 -1
  333. package/dist/src/utils/node-version.d.ts +0 -41
  334. package/dist/src/utils/node-version.d.ts.map +0 -1
  335. package/dist/src/utils/node-version.js +0 -123
  336. package/dist/src/utils/node-version.js.map +0 -1
  337. package/dist/src/utils/open-database.d.ts +0 -35
  338. package/dist/src/utils/open-database.d.ts.map +0 -1
  339. package/dist/src/utils/open-database.js +0 -73
  340. package/dist/src/utils/open-database.js.map +0 -1
  341. package/dist/src/utils/require-tier.d.ts +0 -38
  342. package/dist/src/utils/require-tier.d.ts.map +0 -1
  343. package/dist/src/utils/require-tier.js +0 -74
  344. package/dist/src/utils/require-tier.js.map +0 -1
  345. package/dist/src/utils/sanitize.d.ts +0 -30
  346. package/dist/src/utils/sanitize.d.ts.map +0 -1
  347. package/dist/src/utils/sanitize.js +0 -45
  348. package/dist/src/utils/sanitize.js.map +0 -1
  349. package/dist/src/utils/skill-name.d.ts +0 -19
  350. package/dist/src/utils/skill-name.d.ts.map +0 -1
  351. package/dist/src/utils/skill-name.js +0 -26
  352. package/dist/src/utils/skill-name.js.map +0 -1
  353. package/dist/src/utils/skills-directory.d.ts +0 -95
  354. package/dist/src/utils/skills-directory.d.ts.map +0 -1
  355. package/dist/src/utils/skills-directory.js +0 -285
  356. package/dist/src/utils/skills-directory.js.map +0 -1
  357. package/dist/src/utils/startup-header-gate.d.ts +0 -29
  358. package/dist/src/utils/startup-header-gate.d.ts.map +0 -1
  359. package/dist/src/utils/startup-header-gate.js +0 -44
  360. package/dist/src/utils/startup-header-gate.js.map +0 -1
  361. package/dist/src/utils/startup-header-gate.test.d.ts +0 -2
  362. package/dist/src/utils/startup-header-gate.test.d.ts.map +0 -1
  363. package/dist/src/utils/startup-header-gate.test.js +0 -46
  364. package/dist/src/utils/startup-header-gate.test.js.map +0 -1
  365. package/dist/src/utils/tool-analyzer.d.ts +0 -54
  366. package/dist/src/utils/tool-analyzer.d.ts.map +0 -1
  367. package/dist/src/utils/tool-analyzer.js +0 -156
  368. package/dist/src/utils/tool-analyzer.js.map +0 -1
  369. package/dist/src/version.d.ts +0 -2
  370. package/dist/src/version.d.ts.map +0 -1
  371. package/dist/src/version.js +0 -24
  372. package/dist/src/version.js.map +0 -1
  373. package/dist/tests/audit-collisions.test.d.ts +0 -42
  374. package/dist/tests/audit-collisions.test.d.ts.map +0 -1
  375. package/dist/tests/audit-collisions.test.js +0 -370
  376. package/dist/tests/audit-collisions.test.js.map +0 -1
  377. package/dist/tests/audit-restructure.test.d.ts +0 -15
  378. package/dist/tests/audit-restructure.test.d.ts.map +0 -1
  379. package/dist/tests/audit-restructure.test.js +0 -151
  380. package/dist/tests/audit-restructure.test.js.map +0 -1
  381. package/dist/tests/author.test.d.ts +0 -5
  382. package/dist/tests/author.test.d.ts.map +0 -1
  383. package/dist/tests/author.test.js +0 -653
  384. package/dist/tests/author.test.js.map +0 -1
  385. package/dist/tests/config.test.d.ts +0 -33
  386. package/dist/tests/config.test.d.ts.map +0 -1
  387. package/dist/tests/config.test.js +0 -240
  388. package/dist/tests/config.test.js.map +0 -1
  389. package/dist/tests/create.test.d.ts +0 -5
  390. package/dist/tests/create.test.d.ts.map +0 -1
  391. package/dist/tests/create.test.js +0 -449
  392. package/dist/tests/create.test.js.map +0 -1
  393. package/dist/tests/e2e/audit-sources-affix.test.d.ts +0 -11
  394. package/dist/tests/e2e/audit-sources-affix.test.d.ts.map +0 -1
  395. package/dist/tests/e2e/audit-sources-affix.test.js +0 -121
  396. package/dist/tests/e2e/audit-sources-affix.test.js.map +0 -1
  397. package/dist/tests/e2e/audit-sources-apply.test.d.ts +0 -13
  398. package/dist/tests/e2e/audit-sources-apply.test.d.ts.map +0 -1
  399. package/dist/tests/e2e/audit-sources-apply.test.js +0 -166
  400. package/dist/tests/e2e/audit-sources-apply.test.js.map +0 -1
  401. package/dist/tests/e2e/audit-sources-recovery.test.d.ts +0 -15
  402. package/dist/tests/e2e/audit-sources-recovery.test.d.ts.map +0 -1
  403. package/dist/tests/e2e/audit-sources-recovery.test.js +0 -179
  404. package/dist/tests/e2e/audit-sources-recovery.test.js.map +0 -1
  405. package/dist/tests/e2e/audit-sources-roundtrip.test.d.ts +0 -23
  406. package/dist/tests/e2e/audit-sources-roundtrip.test.d.ts.map +0 -1
  407. package/dist/tests/e2e/audit-sources-roundtrip.test.js +0 -139
  408. package/dist/tests/e2e/audit-sources-roundtrip.test.js.map +0 -1
  409. package/dist/tests/e2e/author.e2e.test.d.ts +0 -9
  410. package/dist/tests/e2e/author.e2e.test.d.ts.map +0 -1
  411. package/dist/tests/e2e/author.e2e.test.js +0 -666
  412. package/dist/tests/e2e/author.e2e.test.js.map +0 -1
  413. package/dist/tests/e2e/import.e2e.test.d.ts +0 -10
  414. package/dist/tests/e2e/import.e2e.test.d.ts.map +0 -1
  415. package/dist/tests/e2e/import.e2e.test.js +0 -213
  416. package/dist/tests/e2e/import.e2e.test.js.map +0 -1
  417. package/dist/tests/e2e/manage.e2e.test.d.ts +0 -9
  418. package/dist/tests/e2e/manage.e2e.test.d.ts.map +0 -1
  419. package/dist/tests/e2e/manage.e2e.test.js +0 -277
  420. package/dist/tests/e2e/manage.e2e.test.js.map +0 -1
  421. package/dist/tests/e2e/search.e2e.test.d.ts +0 -10
  422. package/dist/tests/e2e/search.e2e.test.d.ts.map +0 -1
  423. package/dist/tests/e2e/search.e2e.test.js +0 -324
  424. package/dist/tests/e2e/search.e2e.test.js.map +0 -1
  425. package/dist/tests/e2e/test-config.d.ts +0 -39
  426. package/dist/tests/e2e/test-config.d.ts.map +0 -1
  427. package/dist/tests/e2e/test-config.js +0 -44
  428. package/dist/tests/e2e/test-config.js.map +0 -1
  429. package/dist/tests/e2e/utils/baseline-collector.d.ts +0 -107
  430. package/dist/tests/e2e/utils/baseline-collector.d.ts.map +0 -1
  431. package/dist/tests/e2e/utils/baseline-collector.js +0 -211
  432. package/dist/tests/e2e/utils/baseline-collector.js.map +0 -1
  433. package/dist/tests/e2e/utils/hardcoded-detector.d.ts +0 -46
  434. package/dist/tests/e2e/utils/hardcoded-detector.d.ts.map +0 -1
  435. package/dist/tests/e2e/utils/hardcoded-detector.js +0 -238
  436. package/dist/tests/e2e/utils/hardcoded-detector.js.map +0 -1
  437. package/dist/tests/e2e/utils/index.d.ts +0 -12
  438. package/dist/tests/e2e/utils/index.d.ts.map +0 -1
  439. package/dist/tests/e2e/utils/index.js +0 -12
  440. package/dist/tests/e2e/utils/index.js.map +0 -1
  441. package/dist/tests/e2e/utils/linear-reporter.d.ts +0 -60
  442. package/dist/tests/e2e/utils/linear-reporter.d.ts.map +0 -1
  443. package/dist/tests/e2e/utils/linear-reporter.js +0 -223
  444. package/dist/tests/e2e/utils/linear-reporter.js.map +0 -1
  445. package/dist/tests/e2e/utils/mock-github.d.ts +0 -23
  446. package/dist/tests/e2e/utils/mock-github.d.ts.map +0 -1
  447. package/dist/tests/e2e/utils/mock-github.js +0 -60
  448. package/dist/tests/e2e/utils/mock-github.js.map +0 -1
  449. package/dist/tests/e2e/utils/mock-prompts.d.ts +0 -19
  450. package/dist/tests/e2e/utils/mock-prompts.d.ts.map +0 -1
  451. package/dist/tests/e2e/utils/mock-prompts.js +0 -48
  452. package/dist/tests/e2e/utils/mock-prompts.js.map +0 -1
  453. package/dist/tests/e2e/utils/source-recovery-fixture.d.ts +0 -49
  454. package/dist/tests/e2e/utils/source-recovery-fixture.d.ts.map +0 -1
  455. package/dist/tests/e2e/utils/source-recovery-fixture.js +0 -106
  456. package/dist/tests/e2e/utils/source-recovery-fixture.js.map +0 -1
  457. package/dist/tests/embedding-probe-stdio.test.d.ts +0 -11
  458. package/dist/tests/embedding-probe-stdio.test.d.ts.map +0 -1
  459. package/dist/tests/embedding-probe-stdio.test.js +0 -58
  460. package/dist/tests/embedding-probe-stdio.test.js.map +0 -1
  461. package/dist/tests/import.test.d.ts +0 -5
  462. package/dist/tests/import.test.d.ts.map +0 -1
  463. package/dist/tests/import.test.js +0 -11
  464. package/dist/tests/import.test.js.map +0 -1
  465. package/dist/tests/init.test.d.ts +0 -30
  466. package/dist/tests/init.test.d.ts.map +0 -1
  467. package/dist/tests/init.test.js +0 -357
  468. package/dist/tests/init.test.js.map +0 -1
  469. package/dist/tests/install-multi-client.test.d.ts +0 -2
  470. package/dist/tests/install-multi-client.test.d.ts.map +0 -1
  471. package/dist/tests/install-multi-client.test.js +0 -202
  472. package/dist/tests/install-multi-client.test.js.map +0 -1
  473. package/dist/tests/install-quarantine.test.d.ts +0 -10
  474. package/dist/tests/install-quarantine.test.d.ts.map +0 -1
  475. package/dist/tests/install-quarantine.test.js +0 -86
  476. package/dist/tests/install-quarantine.test.js.map +0 -1
  477. package/dist/tests/install-skill.test.d.ts +0 -8
  478. package/dist/tests/install-skill.test.d.ts.map +0 -1
  479. package/dist/tests/install-skill.test.js +0 -414
  480. package/dist/tests/install-skill.test.js.map +0 -1
  481. package/dist/tests/integration/import-local.test.d.ts +0 -2
  482. package/dist/tests/integration/import-local.test.d.ts.map +0 -1
  483. package/dist/tests/integration/import-local.test.js +0 -158
  484. package/dist/tests/integration/import-local.test.js.map +0 -1
  485. package/dist/tests/license-validation.test.d.ts +0 -8
  486. package/dist/tests/license-validation.test.d.ts.map +0 -1
  487. package/dist/tests/license-validation.test.js +0 -186
  488. package/dist/tests/license-validation.test.js.map +0 -1
  489. package/dist/tests/manage.test.d.ts +0 -5
  490. package/dist/tests/manage.test.d.ts.map +0 -1
  491. package/dist/tests/manage.test.js +0 -495
  492. package/dist/tests/manage.test.js.map +0 -1
  493. package/dist/tests/mcp-server-template.test.d.ts +0 -7
  494. package/dist/tests/mcp-server-template.test.d.ts.map +0 -1
  495. package/dist/tests/mcp-server-template.test.js +0 -372
  496. package/dist/tests/mcp-server-template.test.js.map +0 -1
  497. package/dist/tests/node-version.test.d.ts +0 -8
  498. package/dist/tests/node-version.test.d.ts.map +0 -1
  499. package/dist/tests/node-version.test.js +0 -200
  500. package/dist/tests/node-version.test.js.map +0 -1
  501. package/dist/tests/open-database.test.d.ts +0 -2
  502. package/dist/tests/open-database.test.d.ts.map +0 -1
  503. package/dist/tests/open-database.test.js +0 -77
  504. package/dist/tests/open-database.test.js.map +0 -1
  505. package/dist/tests/recommend-helpers.test.d.ts +0 -9
  506. package/dist/tests/recommend-helpers.test.d.ts.map +0 -1
  507. package/dist/tests/recommend-helpers.test.js +0 -308
  508. package/dist/tests/recommend-helpers.test.js.map +0 -1
  509. package/dist/tests/recommend-scoring.test.d.ts +0 -8
  510. package/dist/tests/recommend-scoring.test.d.ts.map +0 -1
  511. package/dist/tests/recommend-scoring.test.js +0 -184
  512. package/dist/tests/recommend-scoring.test.js.map +0 -1
  513. package/dist/tests/recommend.errors.test.d.ts +0 -8
  514. package/dist/tests/recommend.errors.test.d.ts.map +0 -1
  515. package/dist/tests/recommend.errors.test.js +0 -232
  516. package/dist/tests/recommend.errors.test.js.map +0 -1
  517. package/dist/tests/recommend.filters.test.d.ts +0 -9
  518. package/dist/tests/recommend.filters.test.d.ts.map +0 -1
  519. package/dist/tests/recommend.filters.test.js +0 -235
  520. package/dist/tests/recommend.filters.test.js.map +0 -1
  521. package/dist/tests/recommend.test-helpers.d.ts +0 -66
  522. package/dist/tests/recommend.test-helpers.d.ts.map +0 -1
  523. package/dist/tests/recommend.test-helpers.js +0 -79
  524. package/dist/tests/recommend.test-helpers.js.map +0 -1
  525. package/dist/tests/recommend.test.d.ts +0 -11
  526. package/dist/tests/recommend.test.d.ts.map +0 -1
  527. package/dist/tests/recommend.test.js +0 -320
  528. package/dist/tests/recommend.test.js.map +0 -1
  529. package/dist/tests/search-helpers.test.d.ts +0 -2
  530. package/dist/tests/search-helpers.test.d.ts.map +0 -1
  531. package/dist/tests/search-helpers.test.js +0 -110
  532. package/dist/tests/search-helpers.test.js.map +0 -1
  533. package/dist/tests/search.test.d.ts +0 -5
  534. package/dist/tests/search.test.d.ts.map +0 -1
  535. package/dist/tests/search.test.js +0 -91
  536. package/dist/tests/search.test.js.map +0 -1
  537. package/dist/tests/skills-directory-per-harness.test.d.ts +0 -2
  538. package/dist/tests/skills-directory-per-harness.test.d.ts.map +0 -1
  539. package/dist/tests/skills-directory-per-harness.test.js +0 -116
  540. package/dist/tests/skills-directory-per-harness.test.js.map +0 -1
  541. package/dist/tests/skills-directory.test.d.ts +0 -2
  542. package/dist/tests/skills-directory.test.d.ts.map +0 -1
  543. package/dist/tests/skills-directory.test.js +0 -108
  544. package/dist/tests/skills-directory.test.js.map +0 -1
  545. package/dist/tests/sync.auth-ux.test.d.ts +0 -14
  546. package/dist/tests/sync.auth-ux.test.d.ts.map +0 -1
  547. package/dist/tests/sync.auth-ux.test.js +0 -148
  548. package/dist/tests/sync.auth-ux.test.js.map +0 -1
  549. package/dist/tests/tool-analyzer.test.d.ts +0 -8
  550. package/dist/tests/tool-analyzer.test.d.ts.map +0 -1
  551. package/dist/tests/tool-analyzer.test.js +0 -149
  552. package/dist/tests/tool-analyzer.test.js.map +0 -1
  553. package/dist/tests/unit/commands/install.test.d.ts +0 -7
  554. package/dist/tests/unit/commands/install.test.d.ts.map +0 -1
  555. package/dist/tests/unit/commands/install.test.js +0 -482
  556. package/dist/tests/unit/commands/install.test.js.map +0 -1
  557. package/dist/tests/unit/import-local.helpers.test.d.ts +0 -2
  558. package/dist/tests/unit/import-local.helpers.test.d.ts.map +0 -1
  559. package/dist/tests/unit/import-local.helpers.test.js +0 -96
  560. package/dist/tests/unit/import-local.helpers.test.js.map +0 -1
@@ -1,58 +0,0 @@
1
- /**
2
- * SMI-4314: Typed CLI error classes.
3
- *
4
- * Library-style command implementations (e.g. `initSkill`) must not call
5
- * `process.exit` directly. Instead, they throw a typed error carrying the
6
- * user-facing message and intended exit code. The command-action wrapper
7
- * catches the typed error, prints the message exactly once, and exits with
8
- * the requested code. Any other thrown `Error` is treated as an unexpected
9
- * bug and routed through `sanitizeError` with exit code 1.
10
- *
11
- * Keeping the process.exit layer inside the wrapper — rather than inside the
12
- * library function — prevents the "double-error-print" hazard that
13
- * `init.helpers.ts` previously had to work around, and lets tests assert on
14
- * `rejects.toBeInstanceOf(InitSkillError)` instead of monkey-patching
15
- * `process.exit`.
16
- */
17
- /**
18
- * Error thrown by `initSkill` (and related author-init helpers) when an
19
- * expected user-facing failure occurs — e.g. invalid skill name, invalid
20
- * category, or filesystem setup failure.
21
- *
22
- * The `message` is intended to be user-facing: it is printed to stderr by
23
- * the command-action wrapper and already carries any ANSI styling from the
24
- * call site (e.g. `chalk.red(...)`). Callers should therefore not re-wrap
25
- * the message with another `chalk.red`/"Error:" prefix.
26
- *
27
- * @example
28
- * throw new InitSkillError(chalk.red(`Invalid skill name: ${name}`))
29
- *
30
- * @example
31
- * try {
32
- * await initSkill(name, targetPath, opts)
33
- * } catch (err) {
34
- * if (err instanceof InitSkillError) {
35
- * console.error(err.message)
36
- * process.exit(err.exitCode)
37
- * }
38
- * // fall through to generic handling
39
- * }
40
- */
41
- export class InitSkillError extends Error {
42
- /**
43
- * Process exit code to use when this error reaches the command wrapper.
44
- * Defaults to 1 (generic failure). Use other codes only when the caller
45
- * needs to distinguish failure modes in scripted contexts.
46
- */
47
- exitCode;
48
- constructor(message, exitCode = 1, options) {
49
- super(message, options);
50
- this.name = 'InitSkillError';
51
- this.exitCode = exitCode;
52
- // Preserve `instanceof` across the transpiled class boundary. Without
53
- // this, `err instanceof InitSkillError` can be false in some CJS/ESM
54
- // interop scenarios.
55
- Object.setPrototypeOf(this, InitSkillError.prototype);
56
- }
57
- }
58
- //# sourceMappingURL=errors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/utils/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,OAAO,cAAe,SAAQ,KAAK;IACvC;;;;OAIG;IACa,QAAQ,CAAQ;IAEhC,YAAY,OAAe,EAAE,WAAmB,CAAC,EAAE,OAA6B;QAC9E,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACvB,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAA;QAC5B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QAExB,sEAAsE;QACtE,qEAAqE;QACrE,qBAAqB;QACrB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,cAAc,CAAC,SAAS,CAAC,CAAA;IACvD,CAAC;CACF"}
@@ -1,39 +0,0 @@
1
- /**
2
- * Formatting Utilities
3
- *
4
- * Common formatting functions for CLI output including durations,
5
- * dates, and time intervals.
6
- */
7
- /**
8
- * Format a duration in milliseconds to a human-readable string.
9
- *
10
- * @param ms - Duration in milliseconds
11
- * @returns Formatted string (e.g., "500ms", "2.5s", "1.5m")
12
- * @example
13
- * formatDuration(500) // "500ms"
14
- * formatDuration(2500) // "2.5s"
15
- * formatDuration(90000) // "1.5m"
16
- */
17
- export declare function formatDuration(ms: number): string;
18
- /**
19
- * Format an ISO date string for display.
20
- *
21
- * @param isoString - ISO 8601 date string or null
22
- * @returns Formatted locale string or "Never" if null
23
- * @example
24
- * formatDate("2024-01-15T10:30:00Z") // "1/15/2024, 10:30:00 AM"
25
- * formatDate(null) // "Never" (dimmed)
26
- */
27
- export declare function formatDate(isoString: string | null): string;
28
- /**
29
- * Format the time remaining until a target date.
30
- *
31
- * @param isoString - ISO 8601 target date string or null
32
- * @returns Human-readable time remaining (e.g., "2h 30m", "1d 5h")
33
- * @example
34
- * formatTimeUntil("2024-01-15T12:00:00Z") // "2h 30m" (if ~2.5h away)
35
- * formatTimeUntil(null) // "N/A" (dimmed)
36
- * formatTimeUntil(pastDate) // "Due now" (yellow)
37
- */
38
- export declare function formatTimeUntil(isoString: string | null): string;
39
- //# sourceMappingURL=formatters.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"formatters.d.ts","sourceRoot":"","sources":["../../../src/utils/formatters.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAIjD;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAI3D;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAmBhE"}
@@ -1,69 +0,0 @@
1
- /**
2
- * Formatting Utilities
3
- *
4
- * Common formatting functions for CLI output including durations,
5
- * dates, and time intervals.
6
- */
7
- import chalk from 'chalk';
8
- /**
9
- * Format a duration in milliseconds to a human-readable string.
10
- *
11
- * @param ms - Duration in milliseconds
12
- * @returns Formatted string (e.g., "500ms", "2.5s", "1.5m")
13
- * @example
14
- * formatDuration(500) // "500ms"
15
- * formatDuration(2500) // "2.5s"
16
- * formatDuration(90000) // "1.5m"
17
- */
18
- export function formatDuration(ms) {
19
- if (ms < 1000)
20
- return `${ms}ms`;
21
- if (ms < 60000)
22
- return `${(ms / 1000).toFixed(1)}s`;
23
- return `${(ms / 60000).toFixed(1)}m`;
24
- }
25
- /**
26
- * Format an ISO date string for display.
27
- *
28
- * @param isoString - ISO 8601 date string or null
29
- * @returns Formatted locale string or "Never" if null
30
- * @example
31
- * formatDate("2024-01-15T10:30:00Z") // "1/15/2024, 10:30:00 AM"
32
- * formatDate(null) // "Never" (dimmed)
33
- */
34
- export function formatDate(isoString) {
35
- if (!isoString)
36
- return chalk.dim('Never');
37
- const date = new Date(isoString);
38
- return date.toLocaleString();
39
- }
40
- /**
41
- * Format the time remaining until a target date.
42
- *
43
- * @param isoString - ISO 8601 target date string or null
44
- * @returns Human-readable time remaining (e.g., "2h 30m", "1d 5h")
45
- * @example
46
- * formatTimeUntil("2024-01-15T12:00:00Z") // "2h 30m" (if ~2.5h away)
47
- * formatTimeUntil(null) // "N/A" (dimmed)
48
- * formatTimeUntil(pastDate) // "Due now" (yellow)
49
- */
50
- export function formatTimeUntil(isoString) {
51
- if (!isoString)
52
- return chalk.dim('N/A');
53
- const target = new Date(isoString);
54
- const now = new Date();
55
- const diffMs = target.getTime() - now.getTime();
56
- if (diffMs <= 0)
57
- return chalk.yellow('Due now');
58
- const hours = Math.floor(diffMs / 3600000);
59
- const minutes = Math.floor((diffMs % 3600000) / 60000);
60
- if (hours > 24) {
61
- const days = Math.floor(hours / 24);
62
- return `${days}d ${hours % 24}h`;
63
- }
64
- if (hours > 0) {
65
- return `${hours}h ${minutes}m`;
66
- }
67
- return `${minutes}m`;
68
- }
69
- //# sourceMappingURL=formatters.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"formatters.js","sourceRoot":"","sources":["../../../src/utils/formatters.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB;;;;;;;;;GASG;AACH,MAAM,UAAU,cAAc,CAAC,EAAU;IACvC,IAAI,EAAE,GAAG,IAAI;QAAE,OAAO,GAAG,EAAE,IAAI,CAAA;IAC/B,IAAI,EAAE,GAAG,KAAK;QAAE,OAAO,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAA;IACnD,OAAO,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAA;AACtC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,UAAU,CAAC,SAAwB;IACjD,IAAI,CAAC,SAAS;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IACzC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAA;IAChC,OAAO,IAAI,CAAC,cAAc,EAAE,CAAA;AAC9B,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,eAAe,CAAC,SAAwB;IACtD,IAAI,CAAC,SAAS;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IACvC,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAA;IAClC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;IACtB,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,CAAA;IAE/C,IAAI,MAAM,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IAE/C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,CAAA;IAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,KAAK,CAAC,CAAA;IAEtD,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;QACf,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,CAAA;QACnC,OAAO,GAAG,IAAI,KAAK,KAAK,GAAG,EAAE,GAAG,CAAA;IAClC,CAAC;IACD,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,OAAO,GAAG,KAAK,KAAK,OAAO,GAAG,CAAA;IAChC,CAAC;IACD,OAAO,GAAG,OAAO,GAAG,CAAA;AACtB,CAAC"}
@@ -1,88 +0,0 @@
1
- /**
2
- * License Types for Skillsmith CLI
3
- *
4
- * Type definitions for license validation and display.
5
- *
6
- * @module @skillsmith/cli/utils/license-types
7
- */
8
- /**
9
- * Available license tiers
10
- * - community: Free tier (1,000 API calls/month)
11
- * - individual: Solo developers ($9.99/mo, 10,000 API calls/month)
12
- * - team: Teams ($25/user/mo, 100,000 API calls/month)
13
- * - enterprise: Full enterprise ($55/user/mo, unlimited)
14
- */
15
- export type LicenseTier = 'community' | 'individual' | 'team' | 'enterprise';
16
- /**
17
- * Quota information for display
18
- */
19
- export interface QuotaInfo {
20
- /** API calls used this period */
21
- used: number;
22
- /** API call limit (-1 for unlimited) */
23
- limit: number;
24
- /** Percentage used */
25
- percentUsed: number;
26
- /** When the quota resets */
27
- resetAt: Date;
28
- }
29
- /**
30
- * License status information returned by license check
31
- */
32
- export interface LicenseStatus {
33
- /** Whether the license is valid */
34
- valid: boolean;
35
- /** License tier level */
36
- tier: LicenseTier;
37
- /** Expiration date for paid tiers */
38
- expiresAt?: Date;
39
- /** List of enabled features for this tier */
40
- features: string[];
41
- /** Error message if license validation failed */
42
- error?: string;
43
- /** Optional quota information */
44
- quota?: QuotaInfo;
45
- }
46
- /**
47
- * License key payload structure (decoded from license key)
48
- * @deprecated Used only for fallback when enterprise package unavailable
49
- */
50
- export interface LicensePayload {
51
- tier: LicenseTier;
52
- expiresAt: string;
53
- features: string[];
54
- }
55
- /**
56
- * Interface for enterprise LicenseValidator
57
- * @see packages/enterprise/src/license/LicenseValidator.ts
58
- */
59
- export interface EnterpriseLicenseValidator {
60
- validate(key: string): Promise<{
61
- valid: boolean;
62
- license?: {
63
- tier: LicenseTier;
64
- features: string[];
65
- expiresAt: Date;
66
- };
67
- error?: {
68
- code: string;
69
- message: string;
70
- };
71
- }>;
72
- }
73
- /**
74
- * Default features by tier
75
- *
76
- * Note: Community tier uses CLI-specific display names for UI purposes.
77
- * Individual, Team and Enterprise tiers use canonical feature names from @skillsmith/enterprise.
78
- *
79
- * @see packages/enterprise/src/license/types.ts for canonical feature definitions
80
- */
81
- export declare const TIER_FEATURES: Record<LicenseTier, string[]>;
82
- /**
83
- * API call limits per tier (per month)
84
- * Note: These are reference values matching the enterprise package quotas.
85
- * Actual quota enforcement happens in the MCP server via QuotaEnforcementService.
86
- */
87
- export declare const TIER_QUOTAS: Record<LicenseTier, number>;
88
- //# sourceMappingURL=license-types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"license-types.d.ts","sourceRoot":"","sources":["../../../src/utils/license-types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,YAAY,GAAG,MAAM,GAAG,YAAY,CAAA;AAE5E;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,wCAAwC;IACxC,KAAK,EAAE,MAAM,CAAA;IACb,sBAAsB;IACtB,WAAW,EAAE,MAAM,CAAA;IACnB,4BAA4B;IAC5B,OAAO,EAAE,IAAI,CAAA;CACd;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,mCAAmC;IACnC,KAAK,EAAE,OAAO,CAAA;IACd,yBAAyB;IACzB,IAAI,EAAE,WAAW,CAAA;IACjB,qCAAqC;IACrC,SAAS,CAAC,EAAE,IAAI,CAAA;IAChB,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,iDAAiD;IACjD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,iCAAiC;IACjC,KAAK,CAAC,EAAE,SAAS,CAAA;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,WAAW,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;QAC7B,KAAK,EAAE,OAAO,CAAA;QACd,OAAO,CAAC,EAAE;YACR,IAAI,EAAE,WAAW,CAAA;YACjB,QAAQ,EAAE,MAAM,EAAE,CAAA;YAClB,SAAS,EAAE,IAAI,CAAA;SAChB,CAAA;QACD,KAAK,CAAC,EAAE;YACN,IAAI,EAAE,MAAM,CAAA;YACZ,OAAO,EAAE,MAAM,CAAA;SAChB,CAAA;KACF,CAAC,CAAA;CACH;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,CAgCvD,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAKnD,CAAA"}
@@ -1,60 +0,0 @@
1
- /**
2
- * License Types for Skillsmith CLI
3
- *
4
- * Type definitions for license validation and display.
5
- *
6
- * @module @skillsmith/cli/utils/license-types
7
- */
8
- /**
9
- * Default features by tier
10
- *
11
- * Note: Community tier uses CLI-specific display names for UI purposes.
12
- * Individual, Team and Enterprise tiers use canonical feature names from @skillsmith/enterprise.
13
- *
14
- * @see packages/enterprise/src/license/types.ts for canonical feature definitions
15
- */
16
- export const TIER_FEATURES = {
17
- community: ['basic_search', 'skill_install', 'local_validation'],
18
- individual: ['basic_analytics', 'email_support'],
19
- team: [
20
- // Individual features (inherited)
21
- 'basic_analytics',
22
- 'email_support',
23
- // Team features
24
- 'team_workspaces',
25
- 'private_skills',
26
- 'usage_analytics',
27
- 'priority_support',
28
- ],
29
- enterprise: [
30
- // Individual features (inherited)
31
- 'basic_analytics',
32
- 'email_support',
33
- // Team features (inherited)
34
- 'team_workspaces',
35
- 'private_skills',
36
- 'usage_analytics',
37
- 'priority_support',
38
- // Enterprise-only features (canonical names from enterprise package)
39
- 'sso_saml',
40
- 'rbac',
41
- 'audit_logging',
42
- 'siem_export',
43
- 'compliance_reports',
44
- 'private_registry',
45
- 'custom_integrations',
46
- 'advanced_analytics',
47
- ],
48
- };
49
- /**
50
- * API call limits per tier (per month)
51
- * Note: These are reference values matching the enterprise package quotas.
52
- * Actual quota enforcement happens in the MCP server via QuotaEnforcementService.
53
- */
54
- export const TIER_QUOTAS = {
55
- community: 1_000,
56
- individual: 10_000,
57
- team: 100_000,
58
- enterprise: -1, // Unlimited
59
- };
60
- //# sourceMappingURL=license-types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"license-types.js","sourceRoot":"","sources":["../../../src/utils/license-types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAwEH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,aAAa,GAAkC;IAC1D,SAAS,EAAE,CAAC,cAAc,EAAE,eAAe,EAAE,kBAAkB,CAAC;IAChE,UAAU,EAAE,CAAC,iBAAiB,EAAE,eAAe,CAAC;IAChD,IAAI,EAAE;QACJ,kCAAkC;QAClC,iBAAiB;QACjB,eAAe;QACf,gBAAgB;QAChB,iBAAiB;QACjB,gBAAgB;QAChB,iBAAiB;QACjB,kBAAkB;KACnB;IACD,UAAU,EAAE;QACV,kCAAkC;QAClC,iBAAiB;QACjB,eAAe;QACf,4BAA4B;QAC5B,iBAAiB;QACjB,gBAAgB;QAChB,iBAAiB;QACjB,kBAAkB;QAClB,qEAAqE;QACrE,UAAU;QACV,MAAM;QACN,eAAe;QACf,aAAa;QACb,oBAAoB;QACpB,kBAAkB;QAClB,qBAAqB;QACrB,oBAAoB;KACrB;CACF,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAgC;IACtD,SAAS,EAAE,KAAK;IAChB,UAAU,EAAE,MAAM;IAClB,IAAI,EAAE,OAAO;IACb,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY;CAC7B,CAAA"}
@@ -1,61 +0,0 @@
1
- /**
2
- * License Validation Helpers for Skillsmith CLI
3
- *
4
- * Handles license key decoding, validation, and enterprise package loading.
5
- *
6
- * @module @skillsmith/cli/utils/license-validation
7
- */
8
- import type { LicensePayload, LicenseStatus, EnterpriseLicenseValidator } from './license-types.js';
9
- /**
10
- * Attempt to load the enterprise license validator
11
- * Returns null if the package is not installed (expected for community users)
12
- *
13
- * @returns Enterprise validator or null if not available
14
- */
15
- export declare function tryLoadEnterpriseValidator(): Promise<EnterpriseLicenseValidator | null>;
16
- /**
17
- * Reset the enterprise validator cache (for testing purposes)
18
- * @internal
19
- */
20
- export declare function _resetEnterpriseValidatorCache(): void;
21
- /**
22
- * Decode and validate a license key using simple base64 JSON decoding
23
- *
24
- * @deprecated This function is used only when @skillsmith/enterprise is not available.
25
- * For paid tiers, enterprise package with proper RS256 JWT validation should be used.
26
- * Community users without a license key don't need validation.
27
- *
28
- * @param licenseKey - The license key to decode
29
- * @returns Decoded payload or null if invalid
30
- */
31
- export declare function decodeLicenseKey(licenseKey: string): LicensePayload | null;
32
- /**
33
- * Check if a license has expired
34
- *
35
- * @param expiresAt - Expiration date
36
- * @returns True if expired
37
- */
38
- export declare function isExpired(expiresAt: Date): boolean;
39
- /**
40
- * Get the current license status using legacy base64 decoding
41
- *
42
- * @deprecated Use getLicenseStatus() which properly uses enterprise JWT validation.
43
- * This function is preserved only for backwards compatibility in tests.
44
- *
45
- * @returns Promise resolving to license status
46
- */
47
- export declare function getLicenseStatusLegacy(): Promise<LicenseStatus>;
48
- /**
49
- * Get the current license status
50
- *
51
- * Reads the license key from SKILLSMITH_LICENSE_KEY environment variable.
52
- * If no key is set, returns community tier (not an error).
53
- * If key is invalid or expired, returns status with error but continues.
54
- *
55
- * When @skillsmith/enterprise is available, uses proper RS256 JWT validation.
56
- * Otherwise, falls back to simple base64 JSON decoding (for development/testing only).
57
- *
58
- * @returns Promise resolving to license status
59
- */
60
- export declare function getLicenseStatus(): Promise<LicenseStatus>;
61
- //# sourceMappingURL=license-validation.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"license-validation.d.ts","sourceRoot":"","sources":["../../../src/utils/license-validation.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAA;AAMnG;;;;;GAKG;AACH,wBAAsB,0BAA0B,IAAI,OAAO,CAAC,0BAA0B,GAAG,IAAI,CAAC,CA4B7F;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,IAAI,IAAI,CAErD;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAoB1E;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,SAAS,EAAE,IAAI,GAAG,OAAO,CAElD;AAED;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,aAAa,CAAC,CA4CrE;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,aAAa,CAAC,CA0D/D"}
@@ -1,198 +0,0 @@
1
- /**
2
- * License Validation Helpers for Skillsmith CLI
3
- *
4
- * Handles license key decoding, validation, and enterprise package loading.
5
- *
6
- * @module @skillsmith/cli/utils/license-validation
7
- */
8
- import { TIER_FEATURES } from './license-types.js';
9
- // Cache for the enterprise validator to avoid repeated dynamic imports
10
- let enterpriseValidatorCache = undefined;
11
- /**
12
- * Attempt to load the enterprise license validator
13
- * Returns null if the package is not installed (expected for community users)
14
- *
15
- * @returns Enterprise validator or null if not available
16
- */
17
- export async function tryLoadEnterpriseValidator() {
18
- // Return cached result if already loaded
19
- if (enterpriseValidatorCache !== undefined) {
20
- return enterpriseValidatorCache;
21
- }
22
- try {
23
- // Dynamic import with variable to prevent TypeScript from resolving at compile time
24
- // This is an optional peer dependency that may not be installed
25
- const packageName = '@skillsmith/enterprise';
26
- const enterprise = (await import(/* webpackIgnore: true */ packageName));
27
- if (enterprise['LicenseValidator']) {
28
- const ValidatorClass = enterprise['LicenseValidator'];
29
- enterpriseValidatorCache = new ValidatorClass();
30
- return enterpriseValidatorCache;
31
- }
32
- enterpriseValidatorCache = null;
33
- return null;
34
- }
35
- catch {
36
- // Enterprise package not installed - this is expected for community users
37
- enterpriseValidatorCache = null;
38
- return null;
39
- }
40
- }
41
- /**
42
- * Reset the enterprise validator cache (for testing purposes)
43
- * @internal
44
- */
45
- export function _resetEnterpriseValidatorCache() {
46
- enterpriseValidatorCache = undefined;
47
- }
48
- /**
49
- * Decode and validate a license key using simple base64 JSON decoding
50
- *
51
- * @deprecated This function is used only when @skillsmith/enterprise is not available.
52
- * For paid tiers, enterprise package with proper RS256 JWT validation should be used.
53
- * Community users without a license key don't need validation.
54
- *
55
- * @param licenseKey - The license key to decode
56
- * @returns Decoded payload or null if invalid
57
- */
58
- export function decodeLicenseKey(licenseKey) {
59
- try {
60
- // License key format: base64 encoded JSON
61
- // In production, this would include cryptographic signature verification
62
- const decoded = Buffer.from(licenseKey, 'base64').toString('utf-8');
63
- const payload = JSON.parse(decoded);
64
- // Validate required fields
65
- if (!payload.tier || !['individual', 'team', 'enterprise'].includes(payload.tier)) {
66
- return null;
67
- }
68
- if (!payload.expiresAt || isNaN(Date.parse(payload.expiresAt))) {
69
- return null;
70
- }
71
- return payload;
72
- }
73
- catch {
74
- return null;
75
- }
76
- }
77
- /**
78
- * Check if a license has expired
79
- *
80
- * @param expiresAt - Expiration date
81
- * @returns True if expired
82
- */
83
- export function isExpired(expiresAt) {
84
- return expiresAt < new Date();
85
- }
86
- /**
87
- * Get the current license status using legacy base64 decoding
88
- *
89
- * @deprecated Use getLicenseStatus() which properly uses enterprise JWT validation.
90
- * This function is preserved only for backwards compatibility in tests.
91
- *
92
- * @returns Promise resolving to license status
93
- */
94
- export async function getLicenseStatusLegacy() {
95
- const licenseKey = process.env['SKILLSMITH_LICENSE_KEY'];
96
- // No license key = community tier (free, not an error)
97
- if (!licenseKey) {
98
- return {
99
- valid: true,
100
- tier: 'community',
101
- features: TIER_FEATURES.community,
102
- };
103
- }
104
- // Decode the license key
105
- const payload = decodeLicenseKey(licenseKey);
106
- if (!payload) {
107
- return {
108
- valid: false,
109
- tier: 'community',
110
- features: TIER_FEATURES.community,
111
- error: 'Invalid license key format',
112
- };
113
- }
114
- const expiresAt = new Date(payload.expiresAt);
115
- // Check expiration
116
- if (isExpired(expiresAt)) {
117
- return {
118
- valid: false,
119
- tier: 'community',
120
- expiresAt,
121
- features: TIER_FEATURES.community,
122
- error: `License expired on ${expiresAt.toISOString().split('T')[0]}`,
123
- };
124
- }
125
- // Valid paid license
126
- return {
127
- valid: true,
128
- tier: payload.tier,
129
- expiresAt,
130
- features: payload.features || TIER_FEATURES[payload.tier],
131
- };
132
- }
133
- /**
134
- * Get the current license status
135
- *
136
- * Reads the license key from SKILLSMITH_LICENSE_KEY environment variable.
137
- * If no key is set, returns community tier (not an error).
138
- * If key is invalid or expired, returns status with error but continues.
139
- *
140
- * When @skillsmith/enterprise is available, uses proper RS256 JWT validation.
141
- * Otherwise, falls back to simple base64 JSON decoding (for development/testing only).
142
- *
143
- * @returns Promise resolving to license status
144
- */
145
- export async function getLicenseStatus() {
146
- const licenseKey = process.env['SKILLSMITH_LICENSE_KEY'];
147
- // No license key = community tier (free, not an error)
148
- if (!licenseKey) {
149
- return {
150
- valid: true,
151
- tier: 'community',
152
- features: TIER_FEATURES.community,
153
- };
154
- }
155
- // Try to use enterprise validator for proper JWT verification
156
- const validator = await tryLoadEnterpriseValidator();
157
- if (validator) {
158
- // Enterprise package available - use proper RS256 JWT validation
159
- try {
160
- const result = await validator.validate(licenseKey);
161
- if (result.valid && result.license) {
162
- return {
163
- valid: true,
164
- tier: result.license.tier,
165
- expiresAt: result.license.expiresAt,
166
- features: result.license.features.length > 0
167
- ? result.license.features
168
- : TIER_FEATURES[result.license.tier],
169
- };
170
- }
171
- // Invalid license - return error with community fallback
172
- return {
173
- valid: false,
174
- tier: 'community',
175
- features: TIER_FEATURES.community,
176
- error: result.error?.message || 'Invalid license key',
177
- };
178
- }
179
- catch {
180
- // Validation threw an error - treat as invalid
181
- return {
182
- valid: false,
183
- tier: 'community',
184
- features: TIER_FEATURES.community,
185
- error: 'License validation failed',
186
- };
187
- }
188
- }
189
- // Enterprise package not available - fall back to community tier
190
- // Note: We don't attempt base64 decoding for paid tiers without proper validation
191
- // This ensures security by requiring the enterprise package for paid features
192
- return {
193
- valid: true,
194
- tier: 'community',
195
- features: TIER_FEATURES.community,
196
- };
197
- }
198
- //# sourceMappingURL=license-validation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"license-validation.js","sourceRoot":"","sources":["../../../src/utils/license-validation.ts"],"names":[],"mappings":"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"}
@@ -1,56 +0,0 @@
1
- /**
2
- * License status utilities for Skillsmith CLI
3
- *
4
- * Handles license validation, status display, and tier formatting.
5
- * Supports community (free), team, and enterprise license tiers.
6
- *
7
- * When @skillsmith/enterprise is available, uses proper RS256 JWT validation.
8
- * Otherwise, falls back to community tier (no error).
9
- *
10
- * Environment variable: SKILLSMITH_LICENSE_KEY
11
- *
12
- * @see SMI-1090: CLI should use enterprise LicenseValidator when available
13
- */
14
- export type { LicenseTier, QuotaInfo, LicenseStatus, LicensePayload } from './license-types.js';
15
- export { TIER_FEATURES, TIER_QUOTAS } from './license-types.js';
16
- export { tryLoadEnterpriseValidator, _resetEnterpriseValidatorCache, decodeLicenseKey, isExpired, getLicenseStatus, getLicenseStatusLegacy, } from './license-validation.js';
17
- import type { LicenseTier, QuotaInfo, LicenseStatus } from './license-types.js';
18
- /**
19
- * Format a tier badge with color
20
- *
21
- * @param tier - License tier
22
- * @returns Formatted tier badge string
23
- */
24
- export declare function formatTierBadge(tier: LicenseTier): string;
25
- /**
26
- * Display a progress bar for quota usage
27
- *
28
- * @param used - API calls used
29
- * @param limit - API call limit
30
- * @returns Formatted progress bar string
31
- */
32
- export declare function displayQuotaProgressBar(used: number, limit: number): string;
33
- /**
34
- * Display a quota warning box
35
- *
36
- * @param quota - Quota information
37
- * @param tier - Current tier for upgrade suggestions
38
- */
39
- export declare function displayQuotaWarning(quota: QuotaInfo, tier: LicenseTier): void;
40
- /**
41
- * Display license status on CLI startup
42
- *
43
- * Shows license tier, expiration (if applicable), features for paid tiers,
44
- * and quota usage information.
45
- * Uses colored output: green for valid, yellow for community, red for expired/invalid.
46
- *
47
- * @param status - License status to display
48
- */
49
- export declare function displayLicenseStatus(status: LicenseStatus): void;
50
- /**
51
- * Display the full CLI header with version and license info
52
- *
53
- * @param version - CLI version string
54
- */
55
- export declare function displayStartupHeader(version: string): Promise<void>;
56
- //# sourceMappingURL=license.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"license.d.ts","sourceRoot":"","sources":["../../../src/utils/license.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAC/F,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAG/D,OAAO,EACL,0BAA0B,EAC1B,8BAA8B,EAC9B,gBAAgB,EAChB,SAAS,EACT,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,yBAAyB,CAAA;AAGhC,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAO/E;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAYzD;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAa3E;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI,CAyC7E;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAuDhE;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAMzE"}