@microwiseai/snapshot 0.3.5 → 0.3.26

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 (312) hide show
  1. package/dist/commands/install.d.ts +13 -0
  2. package/dist/commands/install.d.ts.map +1 -1
  3. package/dist/commands/install.js +621 -98
  4. package/dist/commands/install.js.map +1 -1
  5. package/dist/commands/license.d.ts +21 -0
  6. package/dist/commands/license.d.ts.map +1 -0
  7. package/dist/commands/license.js +120 -0
  8. package/dist/commands/license.js.map +1 -0
  9. package/dist/index.js +46 -6
  10. package/dist/index.js.map +1 -1
  11. package/dist/lib/config.d.ts +32 -0
  12. package/dist/lib/config.d.ts.map +1 -1
  13. package/dist/lib/config.js +89 -0
  14. package/dist/lib/config.js.map +1 -1
  15. package/dist/lib/gitlab.d.ts +26 -20
  16. package/dist/lib/gitlab.d.ts.map +1 -1
  17. package/dist/lib/gitlab.js +100 -153
  18. package/dist/lib/gitlab.js.map +1 -1
  19. package/dist/lib/package-resolver.d.ts +48 -0
  20. package/dist/lib/package-resolver.d.ts.map +1 -0
  21. package/dist/lib/package-resolver.js +178 -0
  22. package/dist/lib/package-resolver.js.map +1 -0
  23. package/dist/lib/skit-adapter.d.ts +56 -0
  24. package/dist/lib/skit-adapter.d.ts.map +1 -0
  25. package/dist/lib/skit-adapter.js +166 -0
  26. package/dist/lib/skit-adapter.js.map +1 -0
  27. package/dist/lib/transitive-resolver.d.ts +86 -0
  28. package/dist/lib/transitive-resolver.d.ts.map +1 -0
  29. package/dist/lib/transitive-resolver.js +431 -0
  30. package/dist/lib/transitive-resolver.js.map +1 -0
  31. package/dist/lib/types.d.ts +13 -0
  32. package/dist/lib/types.d.ts.map +1 -1
  33. package/dist/lib.d.ts +59 -0
  34. package/dist/lib.d.ts.map +1 -0
  35. package/dist/lib.js +134 -0
  36. package/dist/lib.js.map +1 -0
  37. package/dist/tools/snapshot-to-license.d.ts +13 -0
  38. package/dist/tools/snapshot-to-license.d.ts.map +1 -0
  39. package/dist/tools/snapshot-to-license.js +105 -0
  40. package/dist/tools/snapshot-to-license.js.map +1 -0
  41. package/node_modules/@microwiseai/cache/README.md +143 -0
  42. package/node_modules/@microwiseai/cache/dist/file.d.ts +97 -0
  43. package/node_modules/@microwiseai/cache/dist/file.d.ts.map +1 -0
  44. package/node_modules/@microwiseai/cache/dist/file.js +256 -0
  45. package/node_modules/@microwiseai/cache/dist/file.js.map +1 -0
  46. package/node_modules/@microwiseai/cache/dist/index.d.ts +10 -0
  47. package/node_modules/@microwiseai/cache/dist/index.d.ts.map +1 -0
  48. package/node_modules/@microwiseai/cache/dist/index.js +11 -0
  49. package/node_modules/@microwiseai/cache/dist/index.js.map +1 -0
  50. package/node_modules/@microwiseai/cache/dist/memory.d.ts +69 -0
  51. package/node_modules/@microwiseai/cache/dist/memory.d.ts.map +1 -0
  52. package/node_modules/@microwiseai/cache/dist/memory.js +152 -0
  53. package/node_modules/@microwiseai/cache/dist/memory.js.map +1 -0
  54. package/node_modules/@microwiseai/cache/dist/types.d.ts +76 -0
  55. package/node_modules/@microwiseai/cache/dist/types.d.ts.map +1 -0
  56. package/node_modules/@microwiseai/cache/dist/types.js +5 -0
  57. package/node_modules/@microwiseai/cache/dist/types.js.map +1 -0
  58. package/node_modules/@microwiseai/cache/package.json +40 -0
  59. package/node_modules/@microwiseai/import-telemetry/dist/__tests__/detector.test.d.ts +7 -0
  60. package/node_modules/@microwiseai/import-telemetry/dist/__tests__/detector.test.d.ts.map +1 -0
  61. package/node_modules/@microwiseai/import-telemetry/dist/__tests__/detector.test.js +139 -0
  62. package/node_modules/@microwiseai/import-telemetry/dist/__tests__/detector.test.js.map +1 -0
  63. package/node_modules/@microwiseai/import-telemetry/dist/__tests__/reporter.test.d.ts +8 -0
  64. package/node_modules/@microwiseai/import-telemetry/dist/__tests__/reporter.test.d.ts.map +1 -0
  65. package/node_modules/@microwiseai/import-telemetry/dist/__tests__/reporter.test.js +195 -0
  66. package/node_modules/@microwiseai/import-telemetry/dist/__tests__/reporter.test.js.map +1 -0
  67. package/node_modules/@microwiseai/import-telemetry/dist/__tests__/types.test.d.ts +8 -0
  68. package/node_modules/@microwiseai/import-telemetry/dist/__tests__/types.test.d.ts.map +1 -0
  69. package/node_modules/@microwiseai/import-telemetry/dist/__tests__/types.test.js +97 -0
  70. package/node_modules/@microwiseai/import-telemetry/dist/__tests__/types.test.js.map +1 -0
  71. package/node_modules/@microwiseai/import-telemetry/dist/detector.d.ts +16 -0
  72. package/node_modules/@microwiseai/import-telemetry/dist/detector.d.ts.map +1 -0
  73. package/node_modules/@microwiseai/import-telemetry/dist/detector.js +103 -0
  74. package/node_modules/@microwiseai/import-telemetry/dist/detector.js.map +1 -0
  75. package/node_modules/@microwiseai/import-telemetry/dist/index.d.ts +48 -0
  76. package/node_modules/@microwiseai/import-telemetry/dist/index.d.ts.map +1 -0
  77. package/node_modules/@microwiseai/import-telemetry/dist/index.js +56 -0
  78. package/node_modules/@microwiseai/import-telemetry/dist/index.js.map +1 -0
  79. package/node_modules/@microwiseai/import-telemetry/dist/reporter.d.ts +16 -0
  80. package/node_modules/@microwiseai/import-telemetry/dist/reporter.d.ts.map +1 -0
  81. package/node_modules/@microwiseai/import-telemetry/dist/reporter.js +147 -0
  82. package/node_modules/@microwiseai/import-telemetry/dist/reporter.js.map +1 -0
  83. package/node_modules/@microwiseai/import-telemetry/dist/types.d.ts +75 -0
  84. package/node_modules/@microwiseai/import-telemetry/dist/types.d.ts.map +1 -0
  85. package/node_modules/@microwiseai/import-telemetry/dist/types.js +23 -0
  86. package/node_modules/@microwiseai/import-telemetry/dist/types.js.map +1 -0
  87. package/node_modules/@microwiseai/import-telemetry/package.json +40 -0
  88. package/node_modules/@microwiseai/license/README.md +157 -0
  89. package/node_modules/@microwiseai/license/dist/api/client.d.ts +37 -0
  90. package/node_modules/@microwiseai/license/dist/api/client.d.ts.map +1 -0
  91. package/node_modules/@microwiseai/license/dist/api/client.js +95 -0
  92. package/node_modules/@microwiseai/license/dist/api/client.js.map +1 -0
  93. package/node_modules/@microwiseai/license/dist/api/endpoints.d.ts +25 -0
  94. package/node_modules/@microwiseai/license/dist/api/endpoints.d.ts.map +1 -0
  95. package/node_modules/@microwiseai/license/dist/api/endpoints.js +101 -0
  96. package/node_modules/@microwiseai/license/dist/api/endpoints.js.map +1 -0
  97. package/node_modules/@microwiseai/license/dist/api/index.d.ts +7 -0
  98. package/node_modules/@microwiseai/license/dist/api/index.d.ts.map +1 -0
  99. package/node_modules/@microwiseai/license/dist/api/index.js +8 -0
  100. package/node_modules/@microwiseai/license/dist/api/index.js.map +1 -0
  101. package/node_modules/@microwiseai/license/dist/cache/file.d.ts +38 -0
  102. package/node_modules/@microwiseai/license/dist/cache/file.d.ts.map +1 -0
  103. package/node_modules/@microwiseai/license/dist/cache/file.js +140 -0
  104. package/node_modules/@microwiseai/license/dist/cache/file.js.map +1 -0
  105. package/node_modules/@microwiseai/license/dist/cache/index.d.ts +7 -0
  106. package/node_modules/@microwiseai/license/dist/cache/index.d.ts.map +1 -0
  107. package/node_modules/@microwiseai/license/dist/cache/index.js +10 -0
  108. package/node_modules/@microwiseai/license/dist/cache/index.js.map +1 -0
  109. package/node_modules/@microwiseai/license/dist/cache/memory.d.ts +35 -0
  110. package/node_modules/@microwiseai/license/dist/cache/memory.d.ts.map +1 -0
  111. package/node_modules/@microwiseai/license/dist/cache/memory.js +77 -0
  112. package/node_modules/@microwiseai/license/dist/cache/memory.js.map +1 -0
  113. package/node_modules/@microwiseai/license/dist/cache/offline.d.ts +29 -0
  114. package/node_modules/@microwiseai/license/dist/cache/offline.d.ts.map +1 -0
  115. package/node_modules/@microwiseai/license/dist/cache/offline.js +58 -0
  116. package/node_modules/@microwiseai/license/dist/cache/offline.js.map +1 -0
  117. package/node_modules/@microwiseai/license/dist/client.d.ts +42 -0
  118. package/node_modules/@microwiseai/license/dist/client.d.ts.map +1 -0
  119. package/node_modules/@microwiseai/license/dist/client.js +83 -0
  120. package/node_modules/@microwiseai/license/dist/client.js.map +1 -0
  121. package/node_modules/@microwiseai/license/dist/config.d.ts +27 -0
  122. package/node_modules/@microwiseai/license/dist/config.d.ts.map +1 -0
  123. package/node_modules/@microwiseai/license/dist/config.js +52 -0
  124. package/node_modules/@microwiseai/license/dist/config.js.map +1 -0
  125. package/node_modules/@microwiseai/license/dist/core/activate.d.ts +21 -0
  126. package/node_modules/@microwiseai/license/dist/core/activate.d.ts.map +1 -0
  127. package/node_modules/@microwiseai/license/dist/core/activate.js +72 -0
  128. package/node_modules/@microwiseai/license/dist/core/activate.js.map +1 -0
  129. package/node_modules/@microwiseai/license/dist/core/check.d.ts +19 -0
  130. package/node_modules/@microwiseai/license/dist/core/check.d.ts.map +1 -0
  131. package/node_modules/@microwiseai/license/dist/core/check.js +244 -0
  132. package/node_modules/@microwiseai/license/dist/core/check.js.map +1 -0
  133. package/node_modules/@microwiseai/license/dist/core/index.d.ts +7 -0
  134. package/node_modules/@microwiseai/license/dist/core/index.d.ts.map +1 -0
  135. package/node_modules/@microwiseai/license/dist/core/index.js +10 -0
  136. package/node_modules/@microwiseai/license/dist/core/index.js.map +1 -0
  137. package/node_modules/@microwiseai/license/dist/core/verify.d.ts +39 -0
  138. package/node_modules/@microwiseai/license/dist/core/verify.d.ts.map +1 -0
  139. package/node_modules/@microwiseai/license/dist/core/verify.js +188 -0
  140. package/node_modules/@microwiseai/license/dist/core/verify.js.map +1 -0
  141. package/node_modules/@microwiseai/license/dist/env.d.ts +33 -0
  142. package/node_modules/@microwiseai/license/dist/env.d.ts.map +1 -0
  143. package/node_modules/@microwiseai/license/dist/env.js +69 -0
  144. package/node_modules/@microwiseai/license/dist/env.js.map +1 -0
  145. package/node_modules/@microwiseai/license/dist/helpers/cache.d.ts +97 -0
  146. package/node_modules/@microwiseai/license/dist/helpers/cache.d.ts.map +1 -0
  147. package/node_modules/@microwiseai/license/dist/helpers/cache.js +198 -0
  148. package/node_modules/@microwiseai/license/dist/helpers/cache.js.map +1 -0
  149. package/node_modules/@microwiseai/license/dist/helpers/index.d.ts +7 -0
  150. package/node_modules/@microwiseai/license/dist/helpers/index.d.ts.map +1 -0
  151. package/node_modules/@microwiseai/license/dist/helpers/index.js +9 -0
  152. package/node_modules/@microwiseai/license/dist/helpers/index.js.map +1 -0
  153. package/node_modules/@microwiseai/license/dist/helpers/telemetry.d.ts +68 -0
  154. package/node_modules/@microwiseai/license/dist/helpers/telemetry.d.ts.map +1 -0
  155. package/node_modules/@microwiseai/license/dist/helpers/telemetry.js +119 -0
  156. package/node_modules/@microwiseai/license/dist/helpers/telemetry.js.map +1 -0
  157. package/node_modules/@microwiseai/license/dist/index.d.ts +34 -0
  158. package/node_modules/@microwiseai/license/dist/index.d.ts.map +1 -0
  159. package/node_modules/@microwiseai/license/dist/index.js +48 -0
  160. package/node_modules/@microwiseai/license/dist/index.js.map +1 -0
  161. package/node_modules/@microwiseai/license/dist/machine/id.d.ts +19 -0
  162. package/node_modules/@microwiseai/license/dist/machine/id.d.ts.map +1 -0
  163. package/node_modules/@microwiseai/license/dist/machine/id.js +83 -0
  164. package/node_modules/@microwiseai/license/dist/machine/id.js.map +1 -0
  165. package/node_modules/@microwiseai/license/dist/machine/index.d.ts +6 -0
  166. package/node_modules/@microwiseai/license/dist/machine/index.d.ts.map +1 -0
  167. package/node_modules/@microwiseai/license/dist/machine/index.js +6 -0
  168. package/node_modules/@microwiseai/license/dist/machine/index.js.map +1 -0
  169. package/node_modules/@microwiseai/license/dist/machine/instance.d.ts +23 -0
  170. package/node_modules/@microwiseai/license/dist/machine/instance.d.ts.map +1 -0
  171. package/node_modules/@microwiseai/license/dist/machine/instance.js +52 -0
  172. package/node_modules/@microwiseai/license/dist/machine/instance.js.map +1 -0
  173. package/node_modules/@microwiseai/license/dist/telemetry/index.d.ts +6 -0
  174. package/node_modules/@microwiseai/license/dist/telemetry/index.d.ts.map +1 -0
  175. package/node_modules/@microwiseai/license/dist/telemetry/index.js +6 -0
  176. package/node_modules/@microwiseai/license/dist/telemetry/index.js.map +1 -0
  177. package/node_modules/@microwiseai/license/dist/telemetry/manager.d.ts +53 -0
  178. package/node_modules/@microwiseai/license/dist/telemetry/manager.d.ts.map +1 -0
  179. package/node_modules/@microwiseai/license/dist/telemetry/manager.js +125 -0
  180. package/node_modules/@microwiseai/license/dist/telemetry/manager.js.map +1 -0
  181. package/node_modules/@microwiseai/license/dist/telemetry/payload.d.ts +17 -0
  182. package/node_modules/@microwiseai/license/dist/telemetry/payload.d.ts.map +1 -0
  183. package/node_modules/@microwiseai/license/dist/telemetry/payload.js +65 -0
  184. package/node_modules/@microwiseai/license/dist/telemetry/payload.js.map +1 -0
  185. package/node_modules/@microwiseai/license/dist/types/api.d.ts +120 -0
  186. package/node_modules/@microwiseai/license/dist/types/api.d.ts.map +1 -0
  187. package/node_modules/@microwiseai/license/dist/types/api.js +5 -0
  188. package/node_modules/@microwiseai/license/dist/types/api.js.map +1 -0
  189. package/node_modules/@microwiseai/license/dist/types/config.d.ts +80 -0
  190. package/node_modules/@microwiseai/license/dist/types/config.d.ts.map +1 -0
  191. package/node_modules/@microwiseai/license/dist/types/config.js +12 -0
  192. package/node_modules/@microwiseai/license/dist/types/config.js.map +1 -0
  193. package/node_modules/@microwiseai/license/dist/types/errors.d.ts +93 -0
  194. package/node_modules/@microwiseai/license/dist/types/errors.d.ts.map +1 -0
  195. package/node_modules/@microwiseai/license/dist/types/errors.js +144 -0
  196. package/node_modules/@microwiseai/license/dist/types/errors.js.map +1 -0
  197. package/node_modules/@microwiseai/license/dist/types/index.d.ts +10 -0
  198. package/node_modules/@microwiseai/license/dist/types/index.d.ts.map +1 -0
  199. package/node_modules/@microwiseai/license/dist/types/index.js +6 -0
  200. package/node_modules/@microwiseai/license/dist/types/index.js.map +1 -0
  201. package/node_modules/@microwiseai/license/dist/types/license.d.ts +113 -0
  202. package/node_modules/@microwiseai/license/dist/types/license.d.ts.map +1 -0
  203. package/node_modules/@microwiseai/license/dist/types/license.js +5 -0
  204. package/node_modules/@microwiseai/license/dist/types/license.js.map +1 -0
  205. package/node_modules/@microwiseai/license/dist/utils/date.d.ts +45 -0
  206. package/node_modules/@microwiseai/license/dist/utils/date.d.ts.map +1 -0
  207. package/node_modules/@microwiseai/license/dist/utils/date.js +95 -0
  208. package/node_modules/@microwiseai/license/dist/utils/date.js.map +1 -0
  209. package/node_modules/@microwiseai/license/dist/utils/env.d.ts +41 -0
  210. package/node_modules/@microwiseai/license/dist/utils/env.d.ts.map +1 -0
  211. package/node_modules/@microwiseai/license/dist/utils/env.js +80 -0
  212. package/node_modules/@microwiseai/license/dist/utils/env.js.map +1 -0
  213. package/node_modules/@microwiseai/license/dist/utils/index.d.ts +7 -0
  214. package/node_modules/@microwiseai/license/dist/utils/index.d.ts.map +1 -0
  215. package/node_modules/@microwiseai/license/dist/utils/index.js +7 -0
  216. package/node_modules/@microwiseai/license/dist/utils/index.js.map +1 -0
  217. package/node_modules/@microwiseai/license/dist/utils/mask.d.ts +27 -0
  218. package/node_modules/@microwiseai/license/dist/utils/mask.d.ts.map +1 -0
  219. package/node_modules/@microwiseai/license/dist/utils/mask.js +67 -0
  220. package/node_modules/@microwiseai/license/dist/utils/mask.js.map +1 -0
  221. package/node_modules/@microwiseai/license/package.json +52 -0
  222. package/node_modules/@microwiseai/license-types/README.md +84 -0
  223. package/node_modules/@microwiseai/license-types/dist/api.d.ts +120 -0
  224. package/node_modules/@microwiseai/license-types/dist/api.d.ts.map +1 -0
  225. package/node_modules/@microwiseai/license-types/dist/api.js +5 -0
  226. package/node_modules/@microwiseai/license-types/dist/api.js.map +1 -0
  227. package/node_modules/@microwiseai/license-types/dist/config.d.ts +80 -0
  228. package/node_modules/@microwiseai/license-types/dist/config.d.ts.map +1 -0
  229. package/node_modules/@microwiseai/license-types/dist/config.js +12 -0
  230. package/node_modules/@microwiseai/license-types/dist/config.js.map +1 -0
  231. package/node_modules/@microwiseai/license-types/dist/errors.d.ts +93 -0
  232. package/node_modules/@microwiseai/license-types/dist/errors.d.ts.map +1 -0
  233. package/node_modules/@microwiseai/license-types/dist/errors.js +144 -0
  234. package/node_modules/@microwiseai/license-types/dist/errors.js.map +1 -0
  235. package/node_modules/@microwiseai/license-types/dist/index.d.ts +10 -0
  236. package/node_modules/@microwiseai/license-types/dist/index.d.ts.map +1 -0
  237. package/node_modules/@microwiseai/license-types/dist/index.js +6 -0
  238. package/node_modules/@microwiseai/license-types/dist/index.js.map +1 -0
  239. package/node_modules/@microwiseai/license-types/dist/license.d.ts +113 -0
  240. package/node_modules/@microwiseai/license-types/dist/license.d.ts.map +1 -0
  241. package/node_modules/@microwiseai/license-types/dist/license.js +5 -0
  242. package/node_modules/@microwiseai/license-types/dist/license.js.map +1 -0
  243. package/node_modules/@microwiseai/license-types/package.json +38 -0
  244. package/node_modules/@microwiseai/license-utils/README.md +82 -0
  245. package/node_modules/@microwiseai/license-utils/dist/__tests__/machine.test.d.ts +2 -0
  246. package/node_modules/@microwiseai/license-utils/dist/__tests__/machine.test.d.ts.map +1 -0
  247. package/node_modules/@microwiseai/license-utils/dist/__tests__/machine.test.js +124 -0
  248. package/node_modules/@microwiseai/license-utils/dist/__tests__/machine.test.js.map +1 -0
  249. package/node_modules/@microwiseai/license-utils/dist/index.d.ts +7 -0
  250. package/node_modules/@microwiseai/license-utils/dist/index.d.ts.map +1 -0
  251. package/node_modules/@microwiseai/license-utils/dist/index.js +15 -0
  252. package/node_modules/@microwiseai/license-utils/dist/index.js.map +1 -0
  253. package/node_modules/@microwiseai/license-utils/dist/machine/id.d.ts +19 -0
  254. package/node_modules/@microwiseai/license-utils/dist/machine/id.d.ts.map +1 -0
  255. package/node_modules/@microwiseai/license-utils/dist/machine/id.js +83 -0
  256. package/node_modules/@microwiseai/license-utils/dist/machine/id.js.map +1 -0
  257. package/node_modules/@microwiseai/license-utils/dist/machine/index.d.ts +6 -0
  258. package/node_modules/@microwiseai/license-utils/dist/machine/index.d.ts.map +1 -0
  259. package/node_modules/@microwiseai/license-utils/dist/machine/index.js +6 -0
  260. package/node_modules/@microwiseai/license-utils/dist/machine/index.js.map +1 -0
  261. package/node_modules/@microwiseai/license-utils/dist/machine/instance.d.ts +23 -0
  262. package/node_modules/@microwiseai/license-utils/dist/machine/instance.d.ts.map +1 -0
  263. package/node_modules/@microwiseai/license-utils/dist/machine/instance.js +52 -0
  264. package/node_modules/@microwiseai/license-utils/dist/machine/instance.js.map +1 -0
  265. package/node_modules/@microwiseai/license-utils/dist/utils/date.d.ts +45 -0
  266. package/node_modules/@microwiseai/license-utils/dist/utils/date.d.ts.map +1 -0
  267. package/node_modules/@microwiseai/license-utils/dist/utils/date.js +95 -0
  268. package/node_modules/@microwiseai/license-utils/dist/utils/date.js.map +1 -0
  269. package/node_modules/@microwiseai/license-utils/dist/utils/env.d.ts +16 -0
  270. package/node_modules/@microwiseai/license-utils/dist/utils/env.d.ts.map +1 -0
  271. package/node_modules/@microwiseai/license-utils/dist/utils/env.js +22 -0
  272. package/node_modules/@microwiseai/license-utils/dist/utils/env.js.map +1 -0
  273. package/node_modules/@microwiseai/license-utils/dist/utils/index.d.ts +7 -0
  274. package/node_modules/@microwiseai/license-utils/dist/utils/index.d.ts.map +1 -0
  275. package/node_modules/@microwiseai/license-utils/dist/utils/index.js +7 -0
  276. package/node_modules/@microwiseai/license-utils/dist/utils/index.js.map +1 -0
  277. package/node_modules/@microwiseai/license-utils/dist/utils/mask.d.ts +27 -0
  278. package/node_modules/@microwiseai/license-utils/dist/utils/mask.d.ts.map +1 -0
  279. package/node_modules/@microwiseai/license-utils/dist/utils/mask.js +67 -0
  280. package/node_modules/@microwiseai/license-utils/dist/utils/mask.js.map +1 -0
  281. package/node_modules/@microwiseai/license-utils/package.json +45 -0
  282. package/node_modules/@microwiseai/telemetry/README.md +86 -0
  283. package/node_modules/@microwiseai/telemetry/dist/index.d.ts +9 -0
  284. package/node_modules/@microwiseai/telemetry/dist/index.d.ts.map +1 -0
  285. package/node_modules/@microwiseai/telemetry/dist/index.js +10 -0
  286. package/node_modules/@microwiseai/telemetry/dist/index.js.map +1 -0
  287. package/node_modules/@microwiseai/telemetry/dist/manager.d.ts +71 -0
  288. package/node_modules/@microwiseai/telemetry/dist/manager.d.ts.map +1 -0
  289. package/node_modules/@microwiseai/telemetry/dist/manager.js +171 -0
  290. package/node_modules/@microwiseai/telemetry/dist/manager.js.map +1 -0
  291. package/node_modules/@microwiseai/telemetry/dist/payload.d.ts +13 -0
  292. package/node_modules/@microwiseai/telemetry/dist/payload.d.ts.map +1 -0
  293. package/node_modules/@microwiseai/telemetry/dist/payload.js +35 -0
  294. package/node_modules/@microwiseai/telemetry/dist/payload.js.map +1 -0
  295. package/node_modules/@microwiseai/telemetry/dist/types.d.ts +76 -0
  296. package/node_modules/@microwiseai/telemetry/dist/types.d.ts.map +1 -0
  297. package/node_modules/@microwiseai/telemetry/dist/types.js +13 -0
  298. package/node_modules/@microwiseai/telemetry/dist/types.js.map +1 -0
  299. package/node_modules/@microwiseai/telemetry/package.json +43 -0
  300. package/node_modules/chalk/license +9 -0
  301. package/node_modules/chalk/package.json +83 -0
  302. package/node_modules/chalk/readme.md +297 -0
  303. package/node_modules/chalk/source/index.d.ts +325 -0
  304. package/node_modules/chalk/source/index.js +225 -0
  305. package/node_modules/chalk/source/utilities.js +33 -0
  306. package/node_modules/chalk/source/vendor/ansi-styles/index.d.ts +236 -0
  307. package/node_modules/chalk/source/vendor/ansi-styles/index.js +223 -0
  308. package/node_modules/chalk/source/vendor/supports-color/browser.d.ts +1 -0
  309. package/node_modules/chalk/source/vendor/supports-color/browser.js +34 -0
  310. package/node_modules/chalk/source/vendor/supports-color/index.d.ts +55 -0
  311. package/node_modules/chalk/source/vendor/supports-color/index.js +190 -0
  312. package/package.json +26 -2
@@ -1,9 +1,15 @@
1
- import { getGitlabToken } from './config.js';
1
+ /**
2
+ * GitLab Registry Access via Registry Proxy
3
+ *
4
+ * IMPORTANT: All package access MUST go through registry-proxy.
5
+ * Direct GitLab API calls are prohibited as they bypass license validation.
6
+ *
7
+ * See: architecture/overview/registry-architecture.md
8
+ */
9
+ import { getSessionToken, REGISTRY_PROXY_URL } from './config.js';
2
10
  import { createGunzip } from 'zlib';
3
11
  import { Readable } from 'stream';
4
12
  import { extract } from 'tar-stream';
5
- const GITLAB_API = 'https://gitlab.com/api/v4';
6
- const GROUP_ID = '110834981';
7
13
  /**
8
14
  * Parse snapshot spec into name and version
9
15
  * @ist/minimal@0.2.1 → { name: "@ist/minimal", version: "0.2.1" }
@@ -58,64 +64,9 @@ export function repoNameToSnapshotName(repoName) {
58
64
  return repoName;
59
65
  }
60
66
  /**
61
- * Find package in group registry
67
+ * Extract snapshot.json from tarball buffer
62
68
  */
63
- async function findPackage(packageName, version) {
64
- const token = getGitlabToken();
65
- if (!token) {
66
- throw new Error('GitLab token not found');
67
- }
68
- const url = `${GITLAB_API}/groups/${GROUP_ID}/packages?package_name=${encodeURIComponent(packageName)}&package_type=generic&per_page=50`;
69
- const response = await fetch(url, {
70
- headers: { 'PRIVATE-TOKEN': token },
71
- });
72
- if (!response.ok) {
73
- throw new Error(`GitLab API error: ${response.status}`);
74
- }
75
- const packages = await response.json();
76
- if (version) {
77
- // Find exact version
78
- return packages.find(p => p.name === packageName && p.version === version) || null;
79
- }
80
- else {
81
- // Find latest version (first in list, sorted by created_at desc)
82
- return packages.find(p => p.name === packageName) || null;
83
- }
84
- }
85
- /**
86
- * Get package file info
87
- */
88
- async function getPackageFile(projectId, packageId) {
89
- const token = getGitlabToken();
90
- if (!token) {
91
- throw new Error('GitLab token not found');
92
- }
93
- const url = `${GITLAB_API}/projects/${projectId}/packages/${packageId}/package_files`;
94
- const response = await fetch(url, {
95
- headers: { 'PRIVATE-TOKEN': token },
96
- });
97
- if (!response.ok) {
98
- return null;
99
- }
100
- const files = await response.json();
101
- return files[0] || null;
102
- }
103
- /**
104
- * Download and extract snapshot.json from tarball
105
- */
106
- async function downloadAndExtractSnapshot(projectId, packageName, version, fileName) {
107
- const token = getGitlabToken();
108
- if (!token) {
109
- throw new Error('GitLab token not found');
110
- }
111
- const url = `${GITLAB_API}/projects/${projectId}/packages/generic/${packageName}/${version}/${fileName}`;
112
- const response = await fetch(url, {
113
- headers: { 'PRIVATE-TOKEN': token },
114
- });
115
- if (!response.ok) {
116
- throw new Error(`Failed to download package: ${response.status}`);
117
- }
118
- const buffer = Buffer.from(await response.arrayBuffer());
69
+ function extractSnapshotFromBuffer(buffer) {
119
70
  return new Promise((resolve, reject) => {
120
71
  const extractor = extract();
121
72
  let snapshotJson = null;
@@ -152,117 +103,113 @@ async function downloadAndExtractSnapshot(projectId, packageName, version, fileN
152
103
  });
153
104
  }
154
105
  /**
155
- * Fetch snapshot from GitLab generic package registry
106
+ * Fetch snapshot via registry-proxy
107
+ *
108
+ * Uses session token for authentication.
109
+ * Supports "latest" version which proxy resolves to most recent.
110
+ *
111
+ * @param snapshotSpec - Snapshot spec (e.g., "@ist/minimal" or "@ist/minimal@0.2.1")
112
+ * @returns Parsed snapshot.json
156
113
  */
157
- export async function fetchSnapshotFromRegistry(snapshotSpec) {
158
- const { name, version } = parseSnapshotSpec(snapshotSpec);
159
- const packageName = snapshotNameToPackageName(name);
160
- // Find package
161
- const pkg = await findPackage(packageName, version);
162
- if (!pkg) {
163
- throw new Error(`Snapshot package not found: ${name}${version ? `@${version}` : ''}`);
114
+ async function fetchSnapshotFromProxy(snapshotSpec) {
115
+ const sessionToken = getSessionToken();
116
+ if (!sessionToken) {
117
+ throw new Error('No session token available. Please activate your license first:\n' +
118
+ ' snapshot license activate <KEY>');
164
119
  }
165
- // Get package file
166
- const file = await getPackageFile(pkg.project_id, pkg.id);
167
- if (!file) {
168
- throw new Error(`Package file not found for: ${name}@${pkg.version}`);
169
- }
170
- // Download and extract
171
- return downloadAndExtractSnapshot(pkg.project_id, packageName, pkg.version, file.file_name);
172
- }
173
- /**
174
- * Fetch snapshot - tries registry first, falls back to repo
175
- */
176
- export async function fetchSnapshotFromRepo(snapshotSpec) {
177
- // Try generic registry first
178
- try {
179
- return await fetchSnapshotFromRegistry(snapshotSpec);
180
- }
181
- catch {
182
- // Fall back to repo (for backwards compatibility)
183
- const token = getGitlabToken();
184
- if (!token) {
185
- throw new Error('GitLab token not found');
120
+ const { name, version } = parseSnapshotSpec(snapshotSpec);
121
+ const packageName = snapshotNameToPackageName(name); // @ist/minimal → ist__minimal
122
+ // Use "latest" if no version specified - proxy will resolve to actual version
123
+ const targetVersion = version || 'latest';
124
+ const fileName = `${packageName}-${targetVersion}.tar.gz`;
125
+ const url = `${REGISTRY_PROXY_URL}/generic/${packageName}/${targetVersion}/${fileName}`;
126
+ const response = await fetch(url, {
127
+ headers: { Authorization: `Bearer ${sessionToken}` },
128
+ });
129
+ if (!response.ok) {
130
+ if (response.status === 401) {
131
+ throw new Error('Session token expired or invalid. Please refresh:\n' +
132
+ ' snapshot license refresh');
186
133
  }
187
- const { name, version } = parseSnapshotSpec(snapshotSpec);
188
- const repoName = snapshotNameToRepoName(name);
189
- // Find the project
190
- const project = await findProjectByName(repoName);
191
- if (!project) {
192
- throw new Error(`Snapshot not found: ${name}${version ? `@${version}` : ''}`);
134
+ if (response.status === 403) {
135
+ throw new Error('Access denied. This snapshot may require a license.\n' +
136
+ ' Check: snapshot license status');
193
137
  }
194
- // Try to fetch from repo
195
- const refs = version ? [`v${version}`, version] : ['main', 'master'];
196
- for (const ref of refs) {
197
- const url = `${GITLAB_API}/projects/${project.id}/repository/files/snapshot.json/raw?ref=${ref}`;
198
- const response = await fetch(url, {
199
- headers: { 'PRIVATE-TOKEN': token },
200
- });
201
- if (response.ok) {
202
- return await response.json();
203
- }
138
+ if (response.status === 404) {
139
+ throw new Error(`Snapshot not found: ${name}${version ? `@${version}` : ''}`);
204
140
  }
205
- throw new Error(`snapshot.json not found in ${repoName}${version ? ` at version ${version}` : ''}`);
141
+ const errorText = await response.text().catch(() => '');
142
+ throw new Error(`Failed to fetch snapshot: ${response.status} - ${errorText || response.statusText}`);
206
143
  }
144
+ const buffer = Buffer.from(await response.arrayBuffer());
145
+ return extractSnapshotFromBuffer(buffer);
207
146
  }
208
147
  /**
209
- * Find project by name in group
148
+ * Fetch snapshot from registry
149
+ *
150
+ * All access goes through registry-proxy which handles license validation.
151
+ * Direct GitLab API access is not supported.
152
+ *
153
+ * @param snapshotSpec - Snapshot spec (e.g., "@ist/minimal" or "@ist/minimal@0.2.1")
154
+ * @returns Parsed snapshot.json
210
155
  */
211
- export async function findProjectByName(repoName) {
212
- const token = getGitlabToken();
213
- if (!token) {
214
- throw new Error('GitLab token not found');
215
- }
216
- const url = `${GITLAB_API}/groups/${GROUP_ID}/projects?search=${encodeURIComponent(repoName)}&per_page=20`;
217
- const response = await fetch(url, {
218
- headers: { 'PRIVATE-TOKEN': token },
219
- });
220
- if (!response.ok) {
221
- throw new Error(`GitLab API error: ${response.status}`);
222
- }
223
- const projects = await response.json();
224
- return projects.find(p => p.path === repoName || p.name === repoName) || null;
156
+ export async function fetchSnapshotFromRepo(snapshotSpec) {
157
+ return fetchSnapshotFromProxy(snapshotSpec);
225
158
  }
226
159
  /**
227
- * List all snapshot packages in the group
160
+ * List all snapshot packages
161
+ *
162
+ * Note: This requires registry-proxy support for listing.
163
+ * Currently returns an error as listing endpoint is not yet available.
164
+ *
165
+ * TODO: Implement when registry-proxy supports /list-snapshots endpoint
228
166
  */
229
167
  export async function listSnapshotPackages() {
230
- const token = getGitlabToken();
231
- if (!token) {
232
- throw new Error('GitLab token not found');
168
+ const sessionToken = getSessionToken();
169
+ if (!sessionToken) {
170
+ throw new Error('No session token available. Please activate your license first:\n' +
171
+ ' snapshot license activate <KEY>');
233
172
  }
234
- const url = `${GITLAB_API}/groups/${GROUP_ID}/packages?package_type=generic&per_page=100`;
235
- const response = await fetch(url, {
236
- headers: { 'PRIVATE-TOKEN': token },
237
- });
238
- if (!response.ok) {
239
- throw new Error(`GitLab API error: ${response.status}`);
173
+ // Try registry-proxy list endpoint (if available)
174
+ const url = `${REGISTRY_PROXY_URL}/list-snapshots`;
175
+ try {
176
+ const response = await fetch(url, {
177
+ headers: { Authorization: `Bearer ${sessionToken}` },
178
+ });
179
+ if (response.ok) {
180
+ const data = await response.json();
181
+ return data.snapshots || [];
182
+ }
183
+ if (response.status === 404) {
184
+ // Endpoint not available yet - return known snapshots as fallback
185
+ return [
186
+ { name: '@ist/minimal', version: 'latest' },
187
+ { name: '@ist/foundation', version: 'latest' },
188
+ { name: '@ist/full', version: 'latest' },
189
+ ];
190
+ }
191
+ throw new Error(`Failed to list snapshots: ${response.status}`);
192
+ }
193
+ catch (error) {
194
+ // Network error or endpoint not available - return known snapshots
195
+ if (error instanceof Error && error.message.includes('Failed to list')) {
196
+ throw error;
197
+ }
198
+ return [
199
+ { name: '@ist/minimal', version: 'latest' },
200
+ { name: '@ist/foundation', version: 'latest' },
201
+ { name: '@ist/full', version: 'latest' },
202
+ ];
240
203
  }
241
- const packages = await response.json();
242
- // Filter to snapshot packages (ist__*) and convert names back
243
- return packages
244
- .filter(p => p.name.includes('__'))
245
- .map(p => ({
246
- name: '@' + p.name.replace('__', '/'),
247
- version: p.version,
248
- }));
249
204
  }
250
205
  /**
251
- * List all snapshot repos in the group (legacy)
206
+ * @deprecated Use listSnapshotPackages instead
252
207
  */
253
208
  export async function listSnapshotRepos() {
254
- const token = getGitlabToken();
255
- if (!token) {
256
- throw new Error('GitLab token not found');
257
- }
258
- const url = `${GITLAB_API}/groups/${GROUP_ID}/projects?search=snapshot.&per_page=100`;
259
- const response = await fetch(url, {
260
- headers: { 'PRIVATE-TOKEN': token },
261
- });
262
- if (!response.ok) {
263
- throw new Error(`GitLab API error: ${response.status}`);
264
- }
265
- const projects = await response.json();
266
- return projects.filter(p => p.path.startsWith('snapshot.') || p.name.startsWith('snapshot.'));
209
+ const packages = await listSnapshotPackages();
210
+ return packages.map(p => ({
211
+ name: p.name,
212
+ path: snapshotNameToRepoName(p.name),
213
+ }));
267
214
  }
268
215
  //# sourceMappingURL=gitlab.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"gitlab.js","sourceRoot":"","sources":["../../src/lib/gitlab.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAe,MAAM,QAAQ,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAgB,MAAM,YAAY,CAAC;AAEnD,MAAM,UAAU,GAAG,2BAA2B,CAAC;AAC/C,MAAM,QAAQ,GAAG,WAAW,CAAC;AAwB7B;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,0CAA0C;IAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,OAAO,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;QACnC,kCAAkC;QAClC,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC;YAC5B,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;SACjC,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACxB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CAAC,IAAY;IACpD,iCAAiC;IACjC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAC1C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,UAAkB;IACvD,MAAM,EAAE,IAAI,EAAE,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAE/C,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CAAC,2BAA2B,IAAI,gDAAgD,CAAC,CAAC;IACnG,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAChC,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnD,IAAI,CAAC,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,2BAA2B,IAAI,gDAAgD,CAAC,CAAC;IACnG,CAAC;IAED,OAAO,YAAY,KAAK,IAAI,YAAY,EAAE,CAAC;AAC7C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,QAAgB;IACrD,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACvC,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACpD,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,WAAW,CAAC,WAAmB,EAAE,OAAgB;IAC9D,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;IAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,GAAG,GAAG,GAAG,UAAU,WAAW,QAAQ,0BAA0B,kBAAkB,CAAC,WAAW,CAAC,mCAAmC,CAAC;IAEzI,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAChC,OAAO,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE;KACpC,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAqB,CAAC;IAE1D,IAAI,OAAO,EAAE,CAAC;QACZ,qBAAqB;QACrB,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,IAAI,IAAI,CAAC;IACrF,CAAC;SAAM,CAAC;QACN,iEAAiE;QACjE,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI,IAAI,CAAC;IAC5D,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,cAAc,CAAC,SAAiB,EAAE,SAAiB;IAChE,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;IAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,GAAG,GAAG,GAAG,UAAU,aAAa,SAAS,aAAa,SAAS,gBAAgB,CAAC;IAEtF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAChC,OAAO,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE;KACpC,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAyB,CAAC;IAC3D,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,0BAA0B,CACvC,SAAiB,EACjB,WAAmB,EACnB,OAAe,EACf,QAAgB;IAEhB,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;IAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,GAAG,GAAG,GAAG,UAAU,aAAa,SAAS,qBAAqB,WAAW,IAAI,OAAO,IAAI,QAAQ,EAAE,CAAC;IAEzG,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAChC,OAAO,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE;KACpC,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,+BAA+B,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;IAEzD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,SAAS,GAAG,OAAO,EAAE,CAAC;QAC5B,IAAI,YAAY,GAAoB,IAAI,CAAC;QAEzC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,MAAe,EAAE,MAAmB,EAAE,IAAgB,EAAE,EAAE;YAC/E,MAAM,MAAM,GAAa,EAAE,CAAC;YAE5B,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YACzD,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBACpB,IAAI,MAAM,CAAC,IAAI,KAAK,eAAe,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;oBAC9E,IAAI,CAAC;wBACH,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;wBACxD,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAa,CAAC;oBACjD,CAAC;oBAAC,MAAM,CAAC;wBACP,MAAM,CAAC,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAC;oBACrD,CAAC;gBACH,CAAC;gBACD,IAAI,EAAE,CAAC;YACT,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAE3B,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;YAC1B,IAAI,YAAY,EAAE,CAAC;gBACjB,OAAO,CAAC,YAAY,CAAC,CAAC;YACxB,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAE9B,sCAAsC;QACtC,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,YAAoB;IAClE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAC1D,MAAM,WAAW,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC;IAEpD,eAAe;IACf,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACpD,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,+BAA+B,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACxF,CAAC;IAED,mBAAmB;IACnB,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IAC1D,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,+BAA+B,IAAI,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,uBAAuB;IACvB,OAAO,0BAA0B,CAAC,GAAG,CAAC,UAAU,EAAE,WAAW,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;AAC9F,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,YAAoB;IAC9D,6BAA6B;IAC7B,IAAI,CAAC;QACH,OAAO,MAAM,yBAAyB,CAAC,YAAY,CAAC,CAAC;IACvD,CAAC;IAAC,MAAM,CAAC;QACP,kDAAkD;QAClD,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;QAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;QAC1D,MAAM,QAAQ,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAE9C,mBAAmB;QACnB,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAChF,CAAC;QAED,yBAAyB;QACzB,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAErE,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,GAAG,GAAG,GAAG,UAAU,aAAa,OAAO,CAAC,EAAE,2CAA2C,GAAG,EAAE,CAAC;YACjG,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBAChC,OAAO,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE;aACpC,CAAC,CAAC;YAEH,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;gBAChB,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAc,CAAC;YAC3C,CAAC;QACH,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,8BAA8B,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,eAAe,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACtG,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,QAAgB;IACtD,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;IAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,GAAG,GAAG,GAAG,UAAU,WAAW,QAAQ,oBAAoB,kBAAkB,CAAC,QAAQ,CAAC,cAAc,CAAC;IAE3G,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAChC,OAAO,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE;KACpC,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAqB,CAAC;IAC1D,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,IAAI,CAAC;AAChF,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB;IACxC,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;IAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,GAAG,GAAG,GAAG,UAAU,WAAW,QAAQ,6CAA6C,CAAC;IAE1F,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAChC,OAAO,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE;KACpC,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAqB,CAAC;IAE1D,8DAA8D;IAC9D,OAAO,QAAQ;SACZ,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SAClC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACT,IAAI,EAAE,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;QACrC,OAAO,EAAE,CAAC,CAAC,OAAO;KACnB,CAAC,CAAC,CAAC;AACR,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACrC,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;IAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,GAAG,GAAG,GAAG,UAAU,WAAW,QAAQ,yCAAyC,CAAC;IAEtF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAChC,OAAO,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE;KACpC,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAqB,CAAC;IAC1D,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;AAChG,CAAC"}
1
+ {"version":3,"file":"gitlab.js","sourceRoot":"","sources":["../../src/lib/gitlab.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Package Type Resolver
3
+ *
4
+ * 패키지 타입 판별 및 의존성 해석
5
+ * - skit: skit.yaml 존재 → skit installer로 직접 설치
6
+ * - npm: package.json만 → registry-proxy로 전달 (transitive deps는 proxy가 해석)
7
+ * - generic: 그 외 → glpkg installer
8
+ */
9
+ import type { Snapshot } from './types.js';
10
+ export type PackageType = 'skit' | 'npm' | 'generic';
11
+ export interface PackageMetadata {
12
+ name: string;
13
+ version: string;
14
+ type: PackageType;
15
+ hasSkit?: boolean;
16
+ hasPackageJson?: boolean;
17
+ }
18
+ export interface ResolvedDependencies {
19
+ skit: Record<string, string>;
20
+ npm: Record<string, string>;
21
+ generic: Record<string, string>;
22
+ }
23
+ /**
24
+ * 패키지 타입 판별
25
+ *
26
+ * 우선순위:
27
+ * 1. snapshot.json에 명시된 installer 타입 (하위호환)
28
+ * 2. 패키지 이름 패턴으로 추론
29
+ * 3. registry 메타데이터 조회
30
+ */
31
+ export declare function detectPackageType(pkgName: string, options?: {
32
+ skipRegistry?: boolean;
33
+ }): Promise<PackageType>;
34
+ /**
35
+ * Snapshot의 모든 의존성을 타입별로 분류
36
+ */
37
+ export declare function resolveSnapshotDependencies(snapshot: Snapshot, options?: {
38
+ skipRegistry?: boolean;
39
+ }): Promise<ResolvedDependencies>;
40
+ /**
41
+ * 캐시 클리어 (테스트용)
42
+ */
43
+ export declare function clearPackageTypeCache(): void;
44
+ /**
45
+ * 수동으로 패키지 타입 설정 (테스트/오버라이드용)
46
+ */
47
+ export declare function setPackageType(pkgName: string, type: PackageType): void;
48
+ //# sourceMappingURL=package-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package-resolver.d.ts","sourceRoot":"","sources":["../../src/lib/package-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,KAAK,GAAG,SAAS,CAAC;AAErD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAmDD;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;IAAE,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE,GACnC,OAAO,CAAC,WAAW,CAAC,CAkCtB;AAwCD;;GAEG;AACH,wBAAsB,2BAA2B,CAC/C,QAAQ,EAAE,QAAQ,EAClB,OAAO,CAAC,EAAE;IAAE,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE,GACnC,OAAO,CAAC,oBAAoB,CAAC,CA6B/B;AAmBD;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI,CAEvE"}
@@ -0,0 +1,178 @@
1
+ /**
2
+ * Package Type Resolver
3
+ *
4
+ * 패키지 타입 판별 및 의존성 해석
5
+ * - skit: skit.yaml 존재 → skit installer로 직접 설치
6
+ * - npm: package.json만 → registry-proxy로 전달 (transitive deps는 proxy가 해석)
7
+ * - generic: 그 외 → glpkg installer
8
+ */
9
+ import { getSessionToken, REGISTRY_PROXY_URL } from './config.js';
10
+ // 캐시 (세션 내 재사용)
11
+ const packageTypeCache = new Map();
12
+ /**
13
+ * 패키지 메타데이터 조회 (registry-proxy)
14
+ */
15
+ async function fetchPackageMetadata(pkgName) {
16
+ const sessionToken = getSessionToken();
17
+ if (!sessionToken) {
18
+ return null;
19
+ }
20
+ try {
21
+ // registry-proxy의 메타데이터 엔드포인트 조회
22
+ const url = `${REGISTRY_PROXY_URL}/${pkgName}`;
23
+ const headers = {};
24
+ if (sessionToken) {
25
+ headers['Authorization'] = `Bearer ${sessionToken}`;
26
+ }
27
+ const response = await fetch(url, { headers });
28
+ if (!response.ok) {
29
+ return null;
30
+ }
31
+ const data = await response.json();
32
+ // npm registry 형식의 메타데이터에서 skit 여부 확인
33
+ // skit 패키지는 "skit" 필드나 특정 마커가 있음
34
+ const latestVersion = data['dist-tags']?.['latest'];
35
+ const versions = data['versions'];
36
+ if (latestVersion && versions?.[latestVersion]) {
37
+ const versionData = versions[latestVersion];
38
+ return {
39
+ hasSkit: !!versionData['skit'] || !!versionData['skitConfig'],
40
+ hasPackageJson: true, // npm registry에 있으면 package.json 있음
41
+ };
42
+ }
43
+ return { hasPackageJson: true };
44
+ }
45
+ catch {
46
+ return null;
47
+ }
48
+ }
49
+ /**
50
+ * 패키지 타입 판별
51
+ *
52
+ * 우선순위:
53
+ * 1. snapshot.json에 명시된 installer 타입 (하위호환)
54
+ * 2. 패키지 이름 패턴으로 추론
55
+ * 3. registry 메타데이터 조회
56
+ */
57
+ export async function detectPackageType(pkgName, options) {
58
+ // 1. 캐시 확인
59
+ const cached = packageTypeCache.get(pkgName);
60
+ if (cached) {
61
+ return cached;
62
+ }
63
+ // 2. 패키지 이름 패턴으로 추론 (빠른 판별)
64
+ const inferredType = inferPackageTypeFromName(pkgName);
65
+ if (inferredType !== 'generic') {
66
+ packageTypeCache.set(pkgName, inferredType);
67
+ return inferredType;
68
+ }
69
+ // 3. Registry 메타데이터 조회 (선택적)
70
+ if (!options?.skipRegistry) {
71
+ const metadata = await fetchPackageMetadata(pkgName);
72
+ if (metadata) {
73
+ let type = 'generic';
74
+ if (metadata.hasSkit) {
75
+ type = 'skit';
76
+ }
77
+ else if (metadata.hasPackageJson) {
78
+ type = 'npm';
79
+ }
80
+ packageTypeCache.set(pkgName, type);
81
+ return type;
82
+ }
83
+ }
84
+ // 4. 기본값
85
+ packageTypeCache.set(pkgName, 'generic');
86
+ return 'generic';
87
+ }
88
+ /**
89
+ * 패키지 이름 패턴으로 타입 추론
90
+ *
91
+ * 규칙:
92
+ * - @scope/*-kit, @scope/*kit → skit (높은 확률)
93
+ * - skit.yaml 마커가 있는 알려진 패키지들
94
+ */
95
+ function inferPackageTypeFromName(pkgName) {
96
+ // 알려진 skit 패키지 패턴
97
+ const skitPatterns = [
98
+ /-kit$/, // @ist/tda-kit
99
+ /kit$/, // 일반적인 kit 접미사
100
+ /^@ist\/.*-skit$/, // 명시적 skit
101
+ ];
102
+ for (const pattern of skitPatterns) {
103
+ if (pattern.test(pkgName)) {
104
+ return 'skit';
105
+ }
106
+ }
107
+ // 알려진 npm 전용 패키지 (skit 아닌 것이 확실한)
108
+ const npmOnlyPatterns = [
109
+ /^@types\//, // TypeScript 타입 정의
110
+ /^@babel\//, // Babel 플러그인
111
+ /^@eslint\//, // ESLint 플러그인
112
+ ];
113
+ for (const pattern of npmOnlyPatterns) {
114
+ if (pattern.test(pkgName)) {
115
+ return 'npm';
116
+ }
117
+ }
118
+ // 판별 불가 → generic (나중에 registry 조회로 확정)
119
+ return 'generic';
120
+ }
121
+ /**
122
+ * Snapshot의 모든 의존성을 타입별로 분류
123
+ */
124
+ export async function resolveSnapshotDependencies(snapshot, options) {
125
+ const result = {
126
+ skit: {},
127
+ npm: {},
128
+ generic: {},
129
+ };
130
+ // 1. Legacy: skits 필드 → 무조건 skit
131
+ if (snapshot.skits) {
132
+ Object.assign(result.skit, snapshot.skits);
133
+ }
134
+ // 2. Legacy: packages 필드 → 타입 판별 필요
135
+ if (snapshot.packages) {
136
+ for (const [name, version] of Object.entries(snapshot.packages)) {
137
+ const type = await detectPackageType(name, options);
138
+ result[type][name] = version;
139
+ }
140
+ }
141
+ // 3. New: install 블록 (installer 명시됨 → 하위호환)
142
+ if (snapshot.install) {
143
+ for (const [installerName, packages] of Object.entries(snapshot.install)) {
144
+ const type = installerNameToPackageType(installerName);
145
+ Object.assign(result[type], packages);
146
+ }
147
+ }
148
+ return result;
149
+ }
150
+ /**
151
+ * Installer 이름을 PackageType으로 변환
152
+ */
153
+ function installerNameToPackageType(installerName) {
154
+ switch (installerName) {
155
+ case 'skit':
156
+ return 'skit';
157
+ case 'npm-proxy':
158
+ case 'npm':
159
+ return 'npm';
160
+ case 'glpkg':
161
+ case 'gitlab-install':
162
+ default:
163
+ return 'generic';
164
+ }
165
+ }
166
+ /**
167
+ * 캐시 클리어 (테스트용)
168
+ */
169
+ export function clearPackageTypeCache() {
170
+ packageTypeCache.clear();
171
+ }
172
+ /**
173
+ * 수동으로 패키지 타입 설정 (테스트/오버라이드용)
174
+ */
175
+ export function setPackageType(pkgName, type) {
176
+ packageTypeCache.set(pkgName, type);
177
+ }
178
+ //# sourceMappingURL=package-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package-resolver.js","sourceRoot":"","sources":["../../src/lib/package-resolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Skit Adapter
3
+ *
4
+ * @ist/skit lib 연동을 위한 어댑터
5
+ * - lib가 있으면 직접 호출 (v0.1.8+)
6
+ * - lib가 없으면 CLI fallback
7
+ *
8
+ * @ist/skit lib 인터페이스 (v0.1.8):
9
+ * - installSkit(spec: string, options?: { sessionToken?, onProgress? })
10
+ * - listSkits(options?: { ... })
11
+ */
12
+ export interface SkitInstallOptions {
13
+ /** Session token for authenticated downloads */
14
+ sessionToken?: string;
15
+ /** Progress callback */
16
+ onProgress?: (message: string) => void;
17
+ /** Silent mode (no console output) */
18
+ silent?: boolean;
19
+ }
20
+ export interface SkitInstallResult {
21
+ success: boolean;
22
+ name: string;
23
+ version: string;
24
+ installedPath?: string;
25
+ error?: string;
26
+ }
27
+ /**
28
+ * Reset lib loader (for testing)
29
+ */
30
+ export declare function resetSkitLibLoader(): void;
31
+ /**
32
+ * Install a skit package
33
+ * Uses @ist/skit lib if available, falls back to CLI
34
+ *
35
+ * @param name - Package name (e.g., "@ist/tda-kit")
36
+ * @param version - Version (e.g., "1.0.0")
37
+ * @param options - Install options
38
+ */
39
+ export declare function installSkitPackage(name: string, version: string, options?: SkitInstallOptions): Promise<SkitInstallResult>;
40
+ /**
41
+ * Check if skit lib is available
42
+ */
43
+ export declare function isSkitLibAvailable(): Promise<boolean>;
44
+ /**
45
+ * Check if skit CLI is available
46
+ */
47
+ export declare function isSkitCliAvailable(): boolean;
48
+ /**
49
+ * Get skit availability info
50
+ */
51
+ export declare function getSkitAvailability(): Promise<{
52
+ lib: boolean;
53
+ cli: boolean;
54
+ preferred: 'lib' | 'cli' | 'none';
55
+ }>;
56
+ //# sourceMappingURL=skit-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skit-adapter.d.ts","sourceRoot":"","sources":["../../src/lib/skit-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AASH,MAAM,WAAW,kBAAkB;IACjC,gDAAgD;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wBAAwB;IACxB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,sCAAsC;IACtC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAgED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAGzC;AAkDD;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,iBAAiB,CAAC,CAkC5B;AAED;;GAEG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC,CAG3D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAO5C;AAED;;GAEG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC;IACnD,GAAG,EAAE,OAAO,CAAC;IACb,GAAG,EAAE,OAAO,CAAC;IACb,SAAS,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;CACnC,CAAC,CASD"}