@skillsmith/core 0.7.2 → 0.8.1

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 (266) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/src/analytics/ROIDashboardService.compute.d.ts +17 -0
  4. package/dist/src/analytics/ROIDashboardService.compute.d.ts.map +1 -0
  5. package/dist/src/analytics/ROIDashboardService.compute.js +134 -0
  6. package/dist/src/analytics/ROIDashboardService.compute.js.map +1 -0
  7. package/dist/src/analytics/ROIDashboardService.d.ts +0 -8
  8. package/dist/src/analytics/ROIDashboardService.d.ts.map +1 -1
  9. package/dist/src/analytics/ROIDashboardService.js +9 -138
  10. package/dist/src/analytics/ROIDashboardService.js.map +1 -1
  11. package/dist/src/api/client.types.d.ts +5 -0
  12. package/dist/src/api/client.types.d.ts.map +1 -1
  13. package/dist/src/api/index.d.ts +1 -0
  14. package/dist/src/api/index.d.ts.map +1 -1
  15. package/dist/src/api/index.js +4 -0
  16. package/dist/src/api/index.js.map +1 -1
  17. package/dist/src/api/schemas.compatibility.test.d.ts +11 -0
  18. package/dist/src/api/schemas.compatibility.test.d.ts.map +1 -0
  19. package/dist/src/api/schemas.compatibility.test.js +38 -0
  20. package/dist/src/api/schemas.compatibility.test.js.map +1 -0
  21. package/dist/src/api/schemas.d.ts +16 -9
  22. package/dist/src/api/schemas.d.ts.map +1 -1
  23. package/dist/src/api/schemas.js +13 -4
  24. package/dist/src/api/schemas.js.map +1 -1
  25. package/dist/src/api/schemas.license.test.d.ts +11 -0
  26. package/dist/src/api/schemas.license.test.d.ts.map +1 -0
  27. package/dist/src/api/schemas.license.test.js +51 -0
  28. package/dist/src/api/schemas.license.test.js.map +1 -0
  29. package/dist/src/api/types.d.ts +18 -3
  30. package/dist/src/api/types.d.ts.map +1 -1
  31. package/dist/src/api/types.js +29 -2
  32. package/dist/src/api/types.js.map +1 -1
  33. package/dist/src/audit/remote-audit.d.ts +41 -0
  34. package/dist/src/audit/remote-audit.d.ts.map +1 -1
  35. package/dist/src/audit/remote-audit.js +71 -28
  36. package/dist/src/audit/remote-audit.js.map +1 -1
  37. package/dist/src/audit/remote-audit.test.js +89 -1
  38. package/dist/src/audit/remote-audit.test.js.map +1 -1
  39. package/dist/src/compatibility/slugs.d.ts +34 -0
  40. package/dist/src/compatibility/slugs.d.ts.map +1 -0
  41. package/dist/src/compatibility/slugs.js +57 -0
  42. package/dist/src/compatibility/slugs.js.map +1 -0
  43. package/dist/src/db/schema-sql.d.ts +1 -1
  44. package/dist/src/db/schema-sql.d.ts.map +1 -1
  45. package/dist/src/db/schema-sql.js +1 -1
  46. package/dist/src/embeddings/probe.d.ts +62 -0
  47. package/dist/src/embeddings/probe.d.ts.map +1 -0
  48. package/dist/src/embeddings/probe.js +89 -0
  49. package/dist/src/embeddings/probe.js.map +1 -0
  50. package/dist/src/exports/types.d.ts +1 -0
  51. package/dist/src/exports/types.d.ts.map +1 -1
  52. package/dist/src/exports/types.js +4 -0
  53. package/dist/src/exports/types.js.map +1 -1
  54. package/dist/src/index.d.ts +6 -3
  55. package/dist/src/index.d.ts.map +1 -1
  56. package/dist/src/index.js +7 -3
  57. package/dist/src/index.js.map +1 -1
  58. package/dist/src/indexer/GitHubIndexer.d.ts.map +1 -1
  59. package/dist/src/indexer/GitHubIndexer.js +1 -1
  60. package/dist/src/indexer/GitHubIndexer.js.map +1 -1
  61. package/dist/src/provenance/SourceRecoveryService.d.ts +48 -0
  62. package/dist/src/provenance/SourceRecoveryService.d.ts.map +1 -0
  63. package/dist/src/provenance/SourceRecoveryService.js +182 -0
  64. package/dist/src/provenance/SourceRecoveryService.js.map +1 -0
  65. package/dist/src/provenance/backfill.d.ts +47 -0
  66. package/dist/src/provenance/backfill.d.ts.map +1 -0
  67. package/dist/src/provenance/backfill.js +206 -0
  68. package/dist/src/provenance/backfill.js.map +1 -0
  69. package/dist/src/provenance/git-config.d.ts +22 -0
  70. package/dist/src/provenance/git-config.d.ts.map +1 -0
  71. package/dist/src/provenance/git-config.js +117 -0
  72. package/dist/src/provenance/git-config.js.map +1 -0
  73. package/dist/src/provenance/index.d.ts +12 -0
  74. package/dist/src/provenance/index.d.ts.map +1 -0
  75. package/dist/src/provenance/index.js +12 -0
  76. package/dist/src/provenance/index.js.map +1 -0
  77. package/dist/src/provenance/local-skill-scan.d.ts +35 -0
  78. package/dist/src/provenance/local-skill-scan.d.ts.map +1 -0
  79. package/dist/src/provenance/local-skill-scan.js +79 -0
  80. package/dist/src/provenance/local-skill-scan.js.map +1 -0
  81. package/dist/src/provenance/plugin-manifest.d.ts +16 -0
  82. package/dist/src/provenance/plugin-manifest.d.ts.map +1 -0
  83. package/dist/src/provenance/plugin-manifest.js +52 -0
  84. package/dist/src/provenance/plugin-manifest.js.map +1 -0
  85. package/dist/src/provenance/types.d.ts +86 -0
  86. package/dist/src/provenance/types.d.ts.map +1 -0
  87. package/dist/src/provenance/types.js +21 -0
  88. package/dist/src/provenance/types.js.map +1 -0
  89. package/dist/src/repositories/SkillRepository.d.ts.map +1 -1
  90. package/dist/src/repositories/SkillRepository.js +3 -1
  91. package/dist/src/repositories/SkillRepository.js.map +1 -1
  92. package/dist/src/scripts/__tests__/scan-imported-skills.test.js +10 -0
  93. package/dist/src/scripts/__tests__/scan-imported-skills.test.js.map +1 -1
  94. package/dist/src/scripts/validation/normalizers.d.ts.map +1 -1
  95. package/dist/src/scripts/validation/normalizers.js +9 -7
  96. package/dist/src/scripts/validation/normalizers.js.map +1 -1
  97. package/dist/src/scripts/validation/types.d.ts +8 -2
  98. package/dist/src/scripts/validation/types.d.ts.map +1 -1
  99. package/dist/src/scripts/validation/types.js +10 -2
  100. package/dist/src/scripts/validation/types.js.map +1 -1
  101. package/dist/src/security/scanner/SecurityScanner.d.ts +0 -7
  102. package/dist/src/security/scanner/SecurityScanner.d.ts.map +1 -1
  103. package/dist/src/security/scanner/SecurityScanner.exec.d.ts +56 -0
  104. package/dist/src/security/scanner/SecurityScanner.exec.d.ts.map +1 -0
  105. package/dist/src/security/scanner/SecurityScanner.exec.js +255 -0
  106. package/dist/src/security/scanner/SecurityScanner.exec.js.map +1 -0
  107. package/dist/src/security/scanner/SecurityScanner.helpers.d.ts.map +1 -1
  108. package/dist/src/security/scanner/SecurityScanner.helpers.js +17 -1
  109. package/dist/src/security/scanner/SecurityScanner.helpers.js.map +1 -1
  110. package/dist/src/security/scanner/SecurityScanner.js +34 -199
  111. package/dist/src/security/scanner/SecurityScanner.js.map +1 -1
  112. package/dist/src/security/scanner/SecurityScanner.scanners.d.ts +22 -0
  113. package/dist/src/security/scanner/SecurityScanner.scanners.d.ts.map +1 -0
  114. package/dist/src/security/scanner/SecurityScanner.scanners.js +213 -0
  115. package/dist/src/security/scanner/SecurityScanner.scanners.js.map +1 -0
  116. package/dist/src/security/scanner/index.d.ts +1 -1
  117. package/dist/src/security/scanner/index.d.ts.map +1 -1
  118. package/dist/src/security/scanner/index.js +1 -1
  119. package/dist/src/security/scanner/index.js.map +1 -1
  120. package/dist/src/security/scanner/patterns.d.ts +21 -0
  121. package/dist/src/security/scanner/patterns.d.ts.map +1 -1
  122. package/dist/src/security/scanner/patterns.js +34 -0
  123. package/dist/src/security/scanner/patterns.js.map +1 -1
  124. package/dist/src/security/scanner/types.d.ts +3 -1
  125. package/dist/src/security/scanner/types.d.ts.map +1 -1
  126. package/dist/src/security/scanner/weights.d.ts.map +1 -1
  127. package/dist/src/security/scanner/weights.js +6 -0
  128. package/dist/src/security/scanner/weights.js.map +1 -1
  129. package/dist/src/services/SearchService.helpers.d.ts.map +1 -1
  130. package/dist/src/services/SearchService.helpers.js +2 -0
  131. package/dist/src/services/SearchService.helpers.js.map +1 -1
  132. package/dist/src/services/SearchService.types.d.ts +1 -0
  133. package/dist/src/services/SearchService.types.d.ts.map +1 -1
  134. package/dist/src/services/skill-installation.helpers.d.ts +2 -26
  135. package/dist/src/services/skill-installation.helpers.d.ts.map +1 -1
  136. package/dist/src/services/skill-installation.helpers.js +2 -120
  137. package/dist/src/services/skill-installation.helpers.js.map +1 -1
  138. package/dist/src/services/skill-installation.io.d.ts +43 -0
  139. package/dist/src/services/skill-installation.io.d.ts.map +1 -0
  140. package/dist/src/services/skill-installation.io.js +176 -0
  141. package/dist/src/services/skill-installation.io.js.map +1 -0
  142. package/dist/src/services/skill-installation.service.d.ts.map +1 -1
  143. package/dist/src/services/skill-installation.service.js +51 -113
  144. package/dist/src/services/skill-installation.service.js.map +1 -1
  145. package/dist/src/services/skill-installation.types.d.ts.map +1 -1
  146. package/dist/src/services/skill-installation.types.js +9 -0
  147. package/dist/src/services/skill-installation.types.js.map +1 -1
  148. package/dist/src/services/skill-installation.validate.d.ts +44 -0
  149. package/dist/src/services/skill-installation.validate.d.ts.map +1 -0
  150. package/dist/src/services/skill-installation.validate.js +134 -0
  151. package/dist/src/services/skill-installation.validate.js.map +1 -0
  152. package/dist/src/telemetry/index.d.ts +2 -1
  153. package/dist/src/telemetry/index.d.ts.map +1 -1
  154. package/dist/src/telemetry/index.js +4 -1
  155. package/dist/src/telemetry/index.js.map +1 -1
  156. package/dist/src/telemetry/posthog.d.ts +19 -1
  157. package/dist/src/telemetry/posthog.d.ts.map +1 -1
  158. package/dist/src/telemetry/posthog.js +14 -0
  159. package/dist/src/telemetry/posthog.js.map +1 -1
  160. package/dist/src/telemetry/wrap.bench.d.ts +13 -0
  161. package/dist/src/telemetry/wrap.bench.d.ts.map +1 -0
  162. package/dist/src/telemetry/wrap.bench.js +41 -0
  163. package/dist/src/telemetry/wrap.bench.js.map +1 -0
  164. package/dist/src/telemetry/wrap.d.ts +75 -0
  165. package/dist/src/telemetry/wrap.d.ts.map +1 -0
  166. package/dist/src/telemetry/wrap.js +124 -0
  167. package/dist/src/telemetry/wrap.js.map +1 -0
  168. package/dist/src/telemetry/wrap.test.d.ts +14 -0
  169. package/dist/src/telemetry/wrap.test.d.ts.map +1 -0
  170. package/dist/src/telemetry/wrap.test.js +283 -0
  171. package/dist/src/telemetry/wrap.test.js.map +1 -0
  172. package/dist/src/types/skill.d.ts +6 -1
  173. package/dist/src/types/skill.d.ts.map +1 -1
  174. package/dist/src/types/skill.js.map +1 -1
  175. package/dist/src/types.d.ts +25 -1
  176. package/dist/src/types.d.ts.map +1 -1
  177. package/dist/src/types.js +3 -1
  178. package/dist/src/types.js.map +1 -1
  179. package/dist/tests/GitHubIndexer.edge-cases.test.js +2 -2
  180. package/dist/tests/GitHubIndexer.repository.test.d.ts +10 -0
  181. package/dist/tests/GitHubIndexer.repository.test.d.ts.map +1 -0
  182. package/dist/tests/GitHubIndexer.repository.test.js +190 -0
  183. package/dist/tests/GitHubIndexer.repository.test.js.map +1 -0
  184. package/dist/tests/GitHubIndexer.test.d.ts +2 -1
  185. package/dist/tests/GitHubIndexer.test.d.ts.map +1 -1
  186. package/dist/tests/GitHubIndexer.test.js +5 -183
  187. package/dist/tests/GitHubIndexer.test.js.map +1 -1
  188. package/dist/tests/QuarantineRepository.review-state-machine.test.d.ts +14 -0
  189. package/dist/tests/QuarantineRepository.review-state-machine.test.d.ts.map +1 -0
  190. package/dist/tests/QuarantineRepository.review-state-machine.test.js +296 -0
  191. package/dist/tests/QuarantineRepository.review-state-machine.test.js.map +1 -0
  192. package/dist/tests/RawUrlSourceAdapter.security.test.js +3 -2
  193. package/dist/tests/RawUrlSourceAdapter.security.test.js.map +1 -1
  194. package/dist/tests/SecurityScanner.exec.test.d.ts +11 -0
  195. package/dist/tests/SecurityScanner.exec.test.d.ts.map +1 -0
  196. package/dist/tests/SecurityScanner.exec.test.js +190 -0
  197. package/dist/tests/SecurityScanner.exec.test.js.map +1 -0
  198. package/dist/tests/SwarmIndexer.test.js +2 -2
  199. package/dist/tests/api/client.validation.test.js +7 -4
  200. package/dist/tests/api/client.validation.test.js.map +1 -1
  201. package/dist/tests/embeddings/probe.test.d.ts +13 -0
  202. package/dist/tests/embeddings/probe.test.d.ts.map +1 -0
  203. package/dist/tests/embeddings/probe.test.js +154 -0
  204. package/dist/tests/embeddings/probe.test.js.map +1 -0
  205. package/dist/tests/fixtures/api-responses/index.js +1 -1
  206. package/dist/tests/fixtures/api-responses/index.js.map +1 -1
  207. package/dist/tests/integration/QuarantineService.concurrency.test.d.ts +34 -0
  208. package/dist/tests/integration/QuarantineService.concurrency.test.d.ts.map +1 -0
  209. package/dist/tests/integration/QuarantineService.concurrency.test.js +280 -0
  210. package/dist/tests/integration/QuarantineService.concurrency.test.js.map +1 -0
  211. package/dist/tests/integration/openapi-contract.test.d.ts +16 -0
  212. package/dist/tests/integration/openapi-contract.test.d.ts.map +1 -0
  213. package/dist/tests/integration/openapi-contract.test.js +231 -0
  214. package/dist/tests/integration/openapi-contract.test.js.map +1 -0
  215. package/dist/tests/provenance/SourceRecoveryService.test.d.ts +2 -0
  216. package/dist/tests/provenance/SourceRecoveryService.test.d.ts.map +1 -0
  217. package/dist/tests/provenance/SourceRecoveryService.test.js +132 -0
  218. package/dist/tests/provenance/SourceRecoveryService.test.js.map +1 -0
  219. package/dist/tests/provenance/backfill.test.d.ts +2 -0
  220. package/dist/tests/provenance/backfill.test.d.ts.map +1 -0
  221. package/dist/tests/provenance/backfill.test.js +278 -0
  222. package/dist/tests/provenance/backfill.test.js.map +1 -0
  223. package/dist/tests/provenance/git-config.test.d.ts +2 -0
  224. package/dist/tests/provenance/git-config.test.d.ts.map +1 -0
  225. package/dist/tests/provenance/git-config.test.js +73 -0
  226. package/dist/tests/provenance/git-config.test.js.map +1 -0
  227. package/dist/tests/provenance/local-skill-scan.test.d.ts +2 -0
  228. package/dist/tests/provenance/local-skill-scan.test.d.ts.map +1 -0
  229. package/dist/tests/provenance/local-skill-scan.test.js +51 -0
  230. package/dist/tests/provenance/local-skill-scan.test.js.map +1 -0
  231. package/dist/tests/provenance/plugin-manifest.test.d.ts +2 -0
  232. package/dist/tests/provenance/plugin-manifest.test.d.ts.map +1 -0
  233. package/dist/tests/provenance/plugin-manifest.test.js +49 -0
  234. package/dist/tests/provenance/plugin-manifest.test.js.map +1 -0
  235. package/dist/tests/scripts/import-to-database.test.js +7 -1
  236. package/dist/tests/scripts/import-to-database.test.js.map +1 -1
  237. package/dist/tests/security/scanner-regression-guard.test.js +5 -1
  238. package/dist/tests/security/scanner-regression-guard.test.js.map +1 -1
  239. package/dist/tests/security.test.js +45 -0
  240. package/dist/tests/security.test.js.map +1 -1
  241. package/dist/tests/services/aidefence-feedback.test.js +2 -0
  242. package/dist/tests/services/aidefence-feedback.test.js.map +1 -1
  243. package/dist/tests/services/dep-quarantine-check.test.js +1 -1
  244. package/dist/tests/services/dep-quarantine-check.test.js.map +1 -1
  245. package/dist/tests/skill-scanner/allowlist.test.js +8 -1
  246. package/dist/tests/skill-scanner/allowlist.test.js.map +1 -1
  247. package/dist/tests/unit/services/skill-installation.gap1.test.d.ts +12 -0
  248. package/dist/tests/unit/services/skill-installation.gap1.test.d.ts.map +1 -0
  249. package/dist/tests/unit/services/skill-installation.gap1.test.js +96 -0
  250. package/dist/tests/unit/services/skill-installation.gap1.test.js.map +1 -0
  251. package/dist/tests/unit/services/skill-installation.io.test.d.ts +11 -0
  252. package/dist/tests/unit/services/skill-installation.io.test.d.ts.map +1 -0
  253. package/dist/tests/unit/services/skill-installation.io.test.js +130 -0
  254. package/dist/tests/unit/services/skill-installation.io.test.js.map +1 -0
  255. package/dist/tests/validate-skills.dedup.test.d.ts +5 -0
  256. package/dist/tests/validate-skills.dedup.test.d.ts.map +1 -0
  257. package/dist/tests/validate-skills.dedup.test.js +241 -0
  258. package/dist/tests/validate-skills.dedup.test.js.map +1 -0
  259. package/dist/tests/validate-skills.normalizers.test.d.ts +5 -0
  260. package/dist/tests/validate-skills.normalizers.test.d.ts.map +1 -0
  261. package/dist/tests/validate-skills.normalizers.test.js +109 -0
  262. package/dist/tests/validate-skills.normalizers.test.js.map +1 -0
  263. package/dist/tests/validate-skills.test.d.ts +1 -1
  264. package/dist/tests/validate-skills.test.js +7 -345
  265. package/dist/tests/validate-skills.test.js.map +1 -1
  266. package/package.json +29 -8
@@ -1,5 +1,5 @@
1
1
  import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
2
- import { emitInstallEvent } from './remote-audit.js';
2
+ import { emitInstallEvent, emitSearchEvent } from './remote-audit.js';
3
3
  const fetchSpy = vi.fn();
4
4
  beforeEach(() => {
5
5
  vi.stubGlobal('fetch', fetchSpy);
@@ -78,4 +78,92 @@ describe('emitInstallEvent', () => {
78
78
  expect(fetchSpy).toHaveBeenCalledWith('https://staging.skillsmith.app/functions/v1/events', expect.any(Object));
79
79
  });
80
80
  });
81
+ /**
82
+ * SMI-5193: emitSearchEvent — fire-and-forget search-event emission to the
83
+ * Skillsmith events endpoint so MCP searches land in `search_metrics`.
84
+ *
85
+ * `emitSearchEvent` is synchronous (returns `void`, not Promise) — the tests
86
+ * assert the fetch *eventually* fires by awaiting a microtask flush after
87
+ * calling it, since `void postTelemetryEvent(...)` runs async internally.
88
+ */
89
+ describe('emitSearchEvent', () => {
90
+ // Allow the fire-and-forget fetch to be dispatched (one microtask flush is
91
+ // enough — the helper calls fetch synchronously inside its async body).
92
+ const flush = () => new Promise((resolve) => setImmediate(resolve));
93
+ it('returns void (not a Promise) — synchronous fire-and-forget', () => {
94
+ process.env.SKILLSMITH_API_KEY = 'sk_live_testtoken';
95
+ const result = emitSearchEvent({
96
+ query: 'commit',
97
+ results_count: 5,
98
+ duration_ms: 42,
99
+ has_query: true,
100
+ });
101
+ expect(result).toBeUndefined();
102
+ });
103
+ it('skips when no API key is available', async () => {
104
+ delete process.env.SKILLSMITH_API_KEY;
105
+ emitSearchEvent({ query: 'commit', results_count: 5, duration_ms: 42, has_query: true });
106
+ await flush();
107
+ expect(fetchSpy).not.toHaveBeenCalled();
108
+ });
109
+ it('skips when telemetry is disabled via env', async () => {
110
+ process.env.SKILLSMITH_API_KEY = 'sk_live_testtoken';
111
+ process.env.SKILLSMITH_TELEMETRY = '0';
112
+ emitSearchEvent({ query: 'commit', results_count: 5, duration_ms: 42, has_query: true });
113
+ await flush();
114
+ expect(fetchSpy).not.toHaveBeenCalled();
115
+ });
116
+ it('emits event=search with snake_case metadata + anonymous_id', async () => {
117
+ process.env.SKILLSMITH_API_KEY = 'sk_live_testtoken';
118
+ emitSearchEvent({
119
+ query: 'commit',
120
+ results_count: 7,
121
+ duration_ms: 123,
122
+ has_query: true,
123
+ trust_tier: 'verified',
124
+ category: 'testing',
125
+ });
126
+ await flush();
127
+ expect(fetchSpy).toHaveBeenCalledTimes(1);
128
+ const body = readBody();
129
+ // Event name MUST be 'search' — 'skill_search' would 400 server-side.
130
+ expect(body.event).toBe('search');
131
+ // anonymous_id MUST be present and a 64-hex sha256 digest.
132
+ expect(body.anonymous_id).toMatch(/^[0-9a-f]{64}$/);
133
+ expect(String(body.anonymous_id)).not.toContain('sk_live');
134
+ // Metadata keys MUST be snake_case — `sanitizeMetadata` allowlists these.
135
+ expect(body.metadata).toEqual({
136
+ query: 'commit',
137
+ results_count: 7,
138
+ duration_ms: 123,
139
+ has_query: true,
140
+ trust_tier: 'verified',
141
+ category: 'testing',
142
+ });
143
+ });
144
+ it('omits optional trust_tier and category when undefined', async () => {
145
+ process.env.SKILLSMITH_API_KEY = 'sk_live_testtoken';
146
+ emitSearchEvent({
147
+ query: '',
148
+ results_count: 0,
149
+ duration_ms: 9,
150
+ has_query: false,
151
+ });
152
+ await flush();
153
+ const body = readBody();
154
+ expect(body.metadata).toEqual({
155
+ query: '',
156
+ results_count: 0,
157
+ duration_ms: 9,
158
+ has_query: false,
159
+ });
160
+ });
161
+ it('swallows fetch errors without throwing', async () => {
162
+ process.env.SKILLSMITH_API_KEY = 'sk_live_testtoken';
163
+ fetchSpy.mockRejectedValueOnce(new Error('network down'));
164
+ // Synchronous call — must not throw.
165
+ expect(() => emitSearchEvent({ query: 'commit', results_count: 0, duration_ms: 1, has_query: true })).not.toThrow();
166
+ await flush();
167
+ });
168
+ });
81
169
  //# sourceMappingURL=remote-audit.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"remote-audit.test.js","sourceRoot":"","sources":["../../../src/audit/remote-audit.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"remote-audit.test.js","sourceRoot":"","sources":["../../../src/audit/remote-audit.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * @fileoverview Canonical cross-ecosystem compatibility slug vocabulary (SMI-5178).
3
+ *
4
+ * Single source of truth for the compatibility slugs the indexer derives from
5
+ * `skill_path` (see `scripts/indexer/compatibility-map.ts` `COMPATIBILITY_MATRIX`,
6
+ * SMI-5177). Consumed by the MCP search restrictive default and (mirrored, with a
7
+ * parity test) by the website badge renderer. Pure module — no runtime deps — so
8
+ * it is safe to import anywhere without pulling the heavy `@skillsmith/core` graph.
9
+ *
10
+ * `[]` / absent compatibility = unknown / unscoped, NOT incompatible.
11
+ */
12
+ /** Canonical filterable compatibility slugs (the union of `COMPATIBILITY_MATRIX` values). */
13
+ export declare const COMPATIBILITY_SLUGS: readonly ["claude-code", "cursor", "copilot", "windsurf", "antigravity", "codex", "gemini"];
14
+ export type CompatibilitySlug = (typeof COMPATIBILITY_SLUGS)[number];
15
+ /** Human-readable display labels for each slug (badge UI). */
16
+ export declare const COMPATIBILITY_LABELS: Record<CompatibilitySlug, string>;
17
+ /**
18
+ * Slugs that are filterable/browsable but have NO install target yet — the
19
+ * install-client enum (`install/paths.ts` `ClientId`) lacks them. Adding
20
+ * `antigravity`/`gemini` ClientIds + auto-detect is Phase 2c (SMI-5179). Until
21
+ * then the UI labels these "browse-only" rather than implying installability.
22
+ */
23
+ export declare const BROWSE_ONLY_SLUGS: readonly CompatibilitySlug[];
24
+ /**
25
+ * Map an install `ClientId` to the compatibility slug to restrict by when that
26
+ * client is the user's explicit tool (MCP restrictive default, SMI-5178).
27
+ * `agents` is the Codex / cross-tool `.agents/skills` client (`install/paths.ts`),
28
+ * so it restricts by `codex` — rows at `.agents/skills` are tagged for codex
29
+ * (and windsurf/antigravity) by the matrix, so they still surface.
30
+ */
31
+ export declare const CLIENT_TO_COMPATIBILITY_SLUG: Record<string, CompatibilitySlug>;
32
+ /** Display label for a slug; falls back to the raw slug for unknown values. */
33
+ export declare function compatibilityLabel(slug: string): string;
34
+ //# sourceMappingURL=slugs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slugs.d.ts","sourceRoot":"","sources":["../../../src/compatibility/slugs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,6FAA6F;AAC7F,eAAO,MAAM,mBAAmB,6FAQtB,CAAA;AAEV,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAA;AAEpE,8DAA8D;AAC9D,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAQlE,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,EAAE,SAAS,iBAAiB,EAA8B,CAAA;AAExF;;;;;;GAMG;AACH,eAAO,MAAM,4BAA4B,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAM1E,CAAA;AAED,+EAA+E;AAC/E,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEvD"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * @fileoverview Canonical cross-ecosystem compatibility slug vocabulary (SMI-5178).
3
+ *
4
+ * Single source of truth for the compatibility slugs the indexer derives from
5
+ * `skill_path` (see `scripts/indexer/compatibility-map.ts` `COMPATIBILITY_MATRIX`,
6
+ * SMI-5177). Consumed by the MCP search restrictive default and (mirrored, with a
7
+ * parity test) by the website badge renderer. Pure module — no runtime deps — so
8
+ * it is safe to import anywhere without pulling the heavy `@skillsmith/core` graph.
9
+ *
10
+ * `[]` / absent compatibility = unknown / unscoped, NOT incompatible.
11
+ */
12
+ /** Canonical filterable compatibility slugs (the union of `COMPATIBILITY_MATRIX` values). */
13
+ export const COMPATIBILITY_SLUGS = [
14
+ 'claude-code',
15
+ 'cursor',
16
+ 'copilot',
17
+ 'windsurf',
18
+ 'antigravity',
19
+ 'codex',
20
+ 'gemini',
21
+ ];
22
+ /** Human-readable display labels for each slug (badge UI). */
23
+ export const COMPATIBILITY_LABELS = {
24
+ 'claude-code': 'Claude Code',
25
+ cursor: 'Cursor',
26
+ copilot: 'GitHub Copilot',
27
+ windsurf: 'Windsurf',
28
+ antigravity: 'Antigravity',
29
+ codex: 'Codex',
30
+ gemini: 'Gemini',
31
+ };
32
+ /**
33
+ * Slugs that are filterable/browsable but have NO install target yet — the
34
+ * install-client enum (`install/paths.ts` `ClientId`) lacks them. Adding
35
+ * `antigravity`/`gemini` ClientIds + auto-detect is Phase 2c (SMI-5179). Until
36
+ * then the UI labels these "browse-only" rather than implying installability.
37
+ */
38
+ export const BROWSE_ONLY_SLUGS = ['antigravity', 'gemini'];
39
+ /**
40
+ * Map an install `ClientId` to the compatibility slug to restrict by when that
41
+ * client is the user's explicit tool (MCP restrictive default, SMI-5178).
42
+ * `agents` is the Codex / cross-tool `.agents/skills` client (`install/paths.ts`),
43
+ * so it restricts by `codex` — rows at `.agents/skills` are tagged for codex
44
+ * (and windsurf/antigravity) by the matrix, so they still surface.
45
+ */
46
+ export const CLIENT_TO_COMPATIBILITY_SLUG = {
47
+ 'claude-code': 'claude-code',
48
+ cursor: 'cursor',
49
+ copilot: 'copilot',
50
+ windsurf: 'windsurf',
51
+ agents: 'codex',
52
+ };
53
+ /** Display label for a slug; falls back to the raw slug for unknown values. */
54
+ export function compatibilityLabel(slug) {
55
+ return COMPATIBILITY_LABELS[slug] ?? slug;
56
+ }
57
+ //# sourceMappingURL=slugs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slugs.js","sourceRoot":"","sources":["../../../src/compatibility/slugs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,6FAA6F;AAC7F,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,aAAa;IACb,QAAQ;IACR,SAAS;IACT,UAAU;IACV,aAAa;IACb,OAAO;IACP,QAAQ;CACA,CAAA;AAIV,8DAA8D;AAC9D,MAAM,CAAC,MAAM,oBAAoB,GAAsC;IACrE,aAAa,EAAE,aAAa;IAC5B,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,gBAAgB;IACzB,QAAQ,EAAE,UAAU;IACpB,WAAW,EAAE,aAAa;IAC1B,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;CACjB,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAiC,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAA;AAExF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAsC;IAC7E,aAAa,EAAE,aAAa;IAC5B,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,OAAO;CAChB,CAAA;AAED,+EAA+E;AAC/E,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,OAAQ,oBAA+C,CAAC,IAAI,CAAC,IAAI,IAAI,CAAA;AACvE,CAAC"}
@@ -7,7 +7,7 @@
7
7
  /**
8
8
  * SQL statements for creating the database schema
9
9
  */
10
- export declare const SCHEMA_SQL = "\n-- Enable WAL mode for better concurrent performance\nPRAGMA journal_mode = WAL;\nPRAGMA synchronous = NORMAL;\nPRAGMA cache_size = -64000; -- 64MB cache\nPRAGMA temp_store = MEMORY;\n\n-- Schema version tracking\nCREATE TABLE IF NOT EXISTS schema_version (\n version INTEGER PRIMARY KEY,\n applied_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\n-- Skills table - main storage for discovered skills\nCREATE TABLE IF NOT EXISTS skills (\n id TEXT PRIMARY KEY,\n name TEXT NOT NULL,\n description TEXT,\n author TEXT,\n repo_url TEXT UNIQUE,\n quality_score REAL CHECK(quality_score IS NULL OR (quality_score >= 0 AND quality_score <= 1)),\n trust_tier TEXT CHECK(trust_tier IN ('verified', 'curated', 'community', 'experimental', 'unknown', 'local')) DEFAULT 'unknown', -- SMI-4665: added 'local'; SMI-4917: added 'curated'\n tags TEXT DEFAULT '[]', -- JSON array of tags\n risk_score INTEGER CHECK(risk_score IS NULL OR (risk_score >= 0 AND risk_score <= 100)), -- SMI-825\n security_findings_count INTEGER DEFAULT 0,\n security_scanned_at TEXT,\n security_passed INTEGER, -- boolean: 1 = passed, 0 = failed, NULL = not scanned\n compatibility TEXT DEFAULT '[]', -- SMI-2760: JSON array of IDE/LLM/platform slugs\n content_hash TEXT, -- SMI-3510: SHA-256 hash of SKILL.md for tamper detection\n source TEXT NOT NULL DEFAULT 'registry' CHECK (source IN ('registry', 'local')), -- SMI-4665: filesystem-imported rows opt out of sync overwrites\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n updated_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\n-- FTS5 virtual table for full-text search with BM25 ranking\nCREATE VIRTUAL TABLE IF NOT EXISTS skills_fts USING fts5(\n name,\n description,\n tags,\n author,\n content='skills',\n content_rowid='rowid',\n tokenize='porter unicode61'\n);\n\n-- Triggers to keep FTS index in sync with skills table\nCREATE TRIGGER IF NOT EXISTS skills_ai AFTER INSERT ON skills BEGIN\n INSERT INTO skills_fts(rowid, name, description, tags, author)\n VALUES (NEW.rowid, NEW.name, NEW.description, NEW.tags, NEW.author);\nEND;\n\nCREATE TRIGGER IF NOT EXISTS skills_ad AFTER DELETE ON skills BEGIN\n INSERT INTO skills_fts(skills_fts, rowid, name, description, tags, author)\n VALUES ('delete', OLD.rowid, OLD.name, OLD.description, OLD.tags, OLD.author);\nEND;\n\nCREATE TRIGGER IF NOT EXISTS skills_au AFTER UPDATE ON skills BEGIN\n INSERT INTO skills_fts(skills_fts, rowid, name, description, tags, author)\n VALUES ('delete', OLD.rowid, OLD.name, OLD.description, OLD.tags, OLD.author);\n INSERT INTO skills_fts(rowid, name, description, tags, author)\n VALUES (NEW.rowid, NEW.name, NEW.description, NEW.tags, NEW.author);\nEND;\n\n-- Sources table - tracks where skills are discovered from\nCREATE TABLE IF NOT EXISTS sources (\n id TEXT PRIMARY KEY,\n name TEXT NOT NULL,\n type TEXT NOT NULL CHECK(type IN ('github', 'gitlab', 'local', 'registry')),\n url TEXT NOT NULL UNIQUE,\n last_sync_at TEXT,\n is_active INTEGER NOT NULL DEFAULT 1,\n created_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\n-- Categories table - hierarchical organization of skills\nCREATE TABLE IF NOT EXISTS categories (\n id TEXT PRIMARY KEY,\n name TEXT NOT NULL UNIQUE,\n description TEXT,\n parent_id TEXT REFERENCES categories(id) ON DELETE SET NULL,\n skill_count INTEGER NOT NULL DEFAULT 0,\n created_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\n-- Skill-Category junction table\nCREATE TABLE IF NOT EXISTS skill_categories (\n skill_id TEXT NOT NULL REFERENCES skills(id) ON DELETE CASCADE,\n category_id TEXT NOT NULL REFERENCES categories(id) ON DELETE CASCADE,\n PRIMARY KEY (skill_id, category_id)\n);\n\n-- Cache table for search results and API responses\nCREATE TABLE IF NOT EXISTS cache (\n key TEXT PRIMARY KEY,\n value TEXT NOT NULL,\n expires_at INTEGER, -- Unix timestamp, NULL for no expiry\n created_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\n-- Indexes for common query patterns\nCREATE INDEX IF NOT EXISTS idx_skills_author ON skills(author);\nCREATE INDEX IF NOT EXISTS idx_skills_trust_tier ON skills(trust_tier);\nCREATE INDEX IF NOT EXISTS idx_skills_quality_score ON skills(quality_score);\nCREATE INDEX IF NOT EXISTS idx_skills_updated_at ON skills(updated_at);\nCREATE INDEX IF NOT EXISTS idx_skills_created_at ON skills(created_at);\nCREATE INDEX IF NOT EXISTS idx_skills_risk_score ON skills(risk_score);\nCREATE INDEX IF NOT EXISTS idx_skills_security_passed ON skills(security_passed);\nCREATE INDEX IF NOT EXISTS idx_sources_type ON sources(type);\nCREATE INDEX IF NOT EXISTS idx_sources_is_active ON sources(is_active);\nCREATE INDEX IF NOT EXISTS idx_categories_parent ON categories(parent_id);\nCREATE INDEX IF NOT EXISTS idx_cache_expires ON cache(expires_at);\n\n-- SMI-733: Audit logs table for security monitoring\n-- See: docs/security/index.md \u00A73 Audit Logging\nCREATE TABLE IF NOT EXISTS audit_logs (\n id TEXT PRIMARY KEY,\n event_type TEXT NOT NULL,\n timestamp TEXT NOT NULL DEFAULT (datetime('now')),\n actor TEXT,\n resource TEXT,\n action TEXT,\n result TEXT,\n metadata TEXT,\n created_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\nCREATE INDEX IF NOT EXISTS idx_audit_event_type ON audit_logs(event_type);\nCREATE INDEX IF NOT EXISTS idx_audit_timestamp ON audit_logs(timestamp);\nCREATE INDEX IF NOT EXISTS idx_audit_resource ON audit_logs(resource);\nCREATE INDEX IF NOT EXISTS idx_audit_result ON audit_logs(result);\nCREATE INDEX IF NOT EXISTS idx_audit_actor ON audit_logs(actor);\n";
10
+ export declare const SCHEMA_SQL = "\n-- Enable WAL mode for better concurrent performance\nPRAGMA journal_mode = WAL;\nPRAGMA synchronous = NORMAL;\nPRAGMA cache_size = -64000; -- 64MB cache\nPRAGMA temp_store = MEMORY;\n\n-- Schema version tracking\nCREATE TABLE IF NOT EXISTS schema_version (\n version INTEGER PRIMARY KEY,\n applied_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\n-- Skills table - main storage for discovered skills\nCREATE TABLE IF NOT EXISTS skills (\n id TEXT PRIMARY KEY,\n name TEXT NOT NULL,\n description TEXT,\n author TEXT,\n repo_url TEXT UNIQUE,\n quality_score REAL CHECK(quality_score IS NULL OR (quality_score >= 0 AND quality_score <= 1)),\n trust_tier TEXT CHECK(trust_tier IN ('official', 'verified', 'curated', 'community', 'experimental', 'unknown', 'unverified', 'local')) DEFAULT 'unknown', -- SMI-4665: added 'local'; SMI-4917: added 'curated'; SMI-5205: added 'official', 'unverified'\n tags TEXT DEFAULT '[]', -- JSON array of tags\n risk_score INTEGER CHECK(risk_score IS NULL OR (risk_score >= 0 AND risk_score <= 100)), -- SMI-825\n security_findings_count INTEGER DEFAULT 0,\n security_scanned_at TEXT,\n security_passed INTEGER, -- boolean: 1 = passed, 0 = failed, NULL = not scanned\n compatibility TEXT DEFAULT '[]', -- SMI-2760: JSON array of IDE/LLM/platform slugs\n content_hash TEXT, -- SMI-3510: SHA-256 hash of SKILL.md for tamper detection\n source TEXT NOT NULL DEFAULT 'registry' CHECK (source IN ('registry', 'local')), -- SMI-4665: filesystem-imported rows opt out of sync overwrites\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n updated_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\n-- FTS5 virtual table for full-text search with BM25 ranking\nCREATE VIRTUAL TABLE IF NOT EXISTS skills_fts USING fts5(\n name,\n description,\n tags,\n author,\n content='skills',\n content_rowid='rowid',\n tokenize='porter unicode61'\n);\n\n-- Triggers to keep FTS index in sync with skills table\nCREATE TRIGGER IF NOT EXISTS skills_ai AFTER INSERT ON skills BEGIN\n INSERT INTO skills_fts(rowid, name, description, tags, author)\n VALUES (NEW.rowid, NEW.name, NEW.description, NEW.tags, NEW.author);\nEND;\n\nCREATE TRIGGER IF NOT EXISTS skills_ad AFTER DELETE ON skills BEGIN\n INSERT INTO skills_fts(skills_fts, rowid, name, description, tags, author)\n VALUES ('delete', OLD.rowid, OLD.name, OLD.description, OLD.tags, OLD.author);\nEND;\n\nCREATE TRIGGER IF NOT EXISTS skills_au AFTER UPDATE ON skills BEGIN\n INSERT INTO skills_fts(skills_fts, rowid, name, description, tags, author)\n VALUES ('delete', OLD.rowid, OLD.name, OLD.description, OLD.tags, OLD.author);\n INSERT INTO skills_fts(rowid, name, description, tags, author)\n VALUES (NEW.rowid, NEW.name, NEW.description, NEW.tags, NEW.author);\nEND;\n\n-- Sources table - tracks where skills are discovered from\nCREATE TABLE IF NOT EXISTS sources (\n id TEXT PRIMARY KEY,\n name TEXT NOT NULL,\n type TEXT NOT NULL CHECK(type IN ('github', 'gitlab', 'local', 'registry')),\n url TEXT NOT NULL UNIQUE,\n last_sync_at TEXT,\n is_active INTEGER NOT NULL DEFAULT 1,\n created_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\n-- Categories table - hierarchical organization of skills\nCREATE TABLE IF NOT EXISTS categories (\n id TEXT PRIMARY KEY,\n name TEXT NOT NULL UNIQUE,\n description TEXT,\n parent_id TEXT REFERENCES categories(id) ON DELETE SET NULL,\n skill_count INTEGER NOT NULL DEFAULT 0,\n created_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\n-- Skill-Category junction table\nCREATE TABLE IF NOT EXISTS skill_categories (\n skill_id TEXT NOT NULL REFERENCES skills(id) ON DELETE CASCADE,\n category_id TEXT NOT NULL REFERENCES categories(id) ON DELETE CASCADE,\n PRIMARY KEY (skill_id, category_id)\n);\n\n-- Cache table for search results and API responses\nCREATE TABLE IF NOT EXISTS cache (\n key TEXT PRIMARY KEY,\n value TEXT NOT NULL,\n expires_at INTEGER, -- Unix timestamp, NULL for no expiry\n created_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\n-- Indexes for common query patterns\nCREATE INDEX IF NOT EXISTS idx_skills_author ON skills(author);\nCREATE INDEX IF NOT EXISTS idx_skills_trust_tier ON skills(trust_tier);\nCREATE INDEX IF NOT EXISTS idx_skills_quality_score ON skills(quality_score);\nCREATE INDEX IF NOT EXISTS idx_skills_updated_at ON skills(updated_at);\nCREATE INDEX IF NOT EXISTS idx_skills_created_at ON skills(created_at);\nCREATE INDEX IF NOT EXISTS idx_skills_risk_score ON skills(risk_score);\nCREATE INDEX IF NOT EXISTS idx_skills_security_passed ON skills(security_passed);\nCREATE INDEX IF NOT EXISTS idx_sources_type ON sources(type);\nCREATE INDEX IF NOT EXISTS idx_sources_is_active ON sources(is_active);\nCREATE INDEX IF NOT EXISTS idx_categories_parent ON categories(parent_id);\nCREATE INDEX IF NOT EXISTS idx_cache_expires ON cache(expires_at);\n\n-- SMI-733: Audit logs table for security monitoring\n-- See: docs/security/index.md \u00A73 Audit Logging\nCREATE TABLE IF NOT EXISTS audit_logs (\n id TEXT PRIMARY KEY,\n event_type TEXT NOT NULL,\n timestamp TEXT NOT NULL DEFAULT (datetime('now')),\n actor TEXT,\n resource TEXT,\n action TEXT,\n result TEXT,\n metadata TEXT,\n created_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\nCREATE INDEX IF NOT EXISTS idx_audit_event_type ON audit_logs(event_type);\nCREATE INDEX IF NOT EXISTS idx_audit_timestamp ON audit_logs(timestamp);\nCREATE INDEX IF NOT EXISTS idx_audit_resource ON audit_logs(resource);\nCREATE INDEX IF NOT EXISTS idx_audit_result ON audit_logs(result);\nCREATE INDEX IF NOT EXISTS idx_audit_actor ON audit_logs(actor);\n";
11
11
  /**
12
12
  * SMI-974: Migration SQL for adding FTS5 to existing database
13
13
  * Run separately as FTS5 creation can fail if table exists
@@ -1 +1 @@
1
- {"version":3,"file":"schema-sql.d.ts","sourceRoot":"","sources":["../../../src/db/schema-sql.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,eAAO,MAAM,UAAU,q7KAmItB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,wbAe9B,CAAA"}
1
+ {"version":3,"file":"schema-sql.d.ts","sourceRoot":"","sources":["../../../src/db/schema-sql.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,eAAO,MAAM,UAAU,y/KAmItB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,wbAe9B,CAAA"}
@@ -28,7 +28,7 @@ CREATE TABLE IF NOT EXISTS skills (
28
28
  author TEXT,
29
29
  repo_url TEXT UNIQUE,
30
30
  quality_score REAL CHECK(quality_score IS NULL OR (quality_score >= 0 AND quality_score <= 1)),
31
- trust_tier TEXT CHECK(trust_tier IN ('verified', 'curated', 'community', 'experimental', 'unknown', 'local')) DEFAULT 'unknown', -- SMI-4665: added 'local'; SMI-4917: added 'curated'
31
+ trust_tier TEXT CHECK(trust_tier IN ('official', 'verified', 'curated', 'community', 'experimental', 'unknown', 'unverified', 'local')) DEFAULT 'unknown', -- SMI-4665: added 'local'; SMI-4917: added 'curated'; SMI-5205: added 'official', 'unverified'
32
32
  tags TEXT DEFAULT '[]', -- JSON array of tags
33
33
  risk_score INTEGER CHECK(risk_score IS NULL OR (risk_score >= 0 AND risk_score <= 100)), -- SMI-825
34
34
  security_findings_count INTEGER DEFAULT 0,
@@ -0,0 +1,62 @@
1
+ /**
2
+ * SMI-5039: Canonical embedding-capability probe.
3
+ *
4
+ * Extracted from `packages/mcp-server/src/index.ts` (originally landed in
5
+ * SMI-5009) to give all consumers — MCP servers, CLIs, future tooling — a
6
+ * single source of truth for the "is the @huggingface/transformers stack
7
+ * available at boot?" question.
8
+ *
9
+ * Design contract (preserved verbatim from the mcp-server origin so behavior
10
+ * is bit-for-bit identical for that consumer; new options are additive):
11
+ *
12
+ * - Hard 2 s default timeout via `Promise.race` against a `Symbol` sentinel.
13
+ * Bound applies even if `EmbeddingService.checkAvailability()` hangs.
14
+ * - try/catch wraps the probe; a throw is logged and never propagates.
15
+ * - Logs to **stderr only** via the supplied `logger` (default
16
+ * `console.error`). MCP servers communicate over stdio — polluting stdout
17
+ * would corrupt protocol framing. This invariant is asserted by spawn-
18
+ * based "stdout pollution" tests in each consumer package.
19
+ * - Silent on success (real embeddings active); only emits a line when
20
+ * mock fallback is engaged, the probe times out, or the probe throws.
21
+ * - Honors `SKILLSMITH_QUIET=true` env var (case-insensitive) AND the
22
+ * explicit `quiet` option — when set, the log line is suppressed even on
23
+ * mock fallback. The probe still **runs** (it warms the module-load
24
+ * cache); only the operator-visible warning is silenced.
25
+ * - Never throws. Probe failure must never block server / CLI boot.
26
+ *
27
+ * @see SMI-5009 — original probe in mcp-server.
28
+ * @see SMI-5039 — extraction to core.
29
+ * @see ADR-009 — embedding service fallback policy.
30
+ */
31
+ export interface ProbeEmbeddingCapabilityOptions {
32
+ /**
33
+ * Override the hard probe timeout (milliseconds). Defaults to 2 000 ms.
34
+ * The bound applies even if `EmbeddingService.checkAvailability()` never
35
+ * resolves — that is the entire point of the probe.
36
+ */
37
+ timeoutMs?: number;
38
+ /**
39
+ * Custom log sink. Defaults to `console.error`. MUST write to stderr (or a
40
+ * stderr-equivalent sink) — see the "stdio invariant" note in this file's
41
+ * docstring. Provided primarily for unit tests + future structured-logging
42
+ * consumers.
43
+ */
44
+ logger?: (msg: string) => void;
45
+ /**
46
+ * When `true`, suppress the warning log line even on mock fallback.
47
+ * The probe still runs and warms the module-load cache; only the
48
+ * operator-visible warning is silenced. Equivalent to setting
49
+ * `SKILLSMITH_QUIET=true` in the environment.
50
+ */
51
+ quiet?: boolean;
52
+ }
53
+ /**
54
+ * Probe `@huggingface/transformers` availability with a hard timeout +
55
+ * structured stderr warning when the mock fallback engages.
56
+ *
57
+ * NEVER throws. Returns within `timeoutMs` even if the underlying capability
58
+ * check hangs. Safe to `await` directly before connecting an MCP transport or
59
+ * dispatching a CLI command that depends on embeddings.
60
+ */
61
+ export declare function probeEmbeddingCapability(opts?: ProbeEmbeddingCapabilityOptions): Promise<void>;
62
+ //# sourceMappingURL=probe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"probe.d.ts","sourceRoot":"","sources":["../../../src/embeddings/probe.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAOH,MAAM,WAAW,+BAA+B;IAC9C;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IAE9B;;;;;OAKG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AASD;;;;;;;GAOG;AACH,wBAAsB,wBAAwB,CAC5C,IAAI,GAAE,+BAAoC,GACzC,OAAO,CAAC,IAAI,CAAC,CA8Cf"}
@@ -0,0 +1,89 @@
1
+ /**
2
+ * SMI-5039: Canonical embedding-capability probe.
3
+ *
4
+ * Extracted from `packages/mcp-server/src/index.ts` (originally landed in
5
+ * SMI-5009) to give all consumers — MCP servers, CLIs, future tooling — a
6
+ * single source of truth for the "is the @huggingface/transformers stack
7
+ * available at boot?" question.
8
+ *
9
+ * Design contract (preserved verbatim from the mcp-server origin so behavior
10
+ * is bit-for-bit identical for that consumer; new options are additive):
11
+ *
12
+ * - Hard 2 s default timeout via `Promise.race` against a `Symbol` sentinel.
13
+ * Bound applies even if `EmbeddingService.checkAvailability()` hangs.
14
+ * - try/catch wraps the probe; a throw is logged and never propagates.
15
+ * - Logs to **stderr only** via the supplied `logger` (default
16
+ * `console.error`). MCP servers communicate over stdio — polluting stdout
17
+ * would corrupt protocol framing. This invariant is asserted by spawn-
18
+ * based "stdout pollution" tests in each consumer package.
19
+ * - Silent on success (real embeddings active); only emits a line when
20
+ * mock fallback is engaged, the probe times out, or the probe throws.
21
+ * - Honors `SKILLSMITH_QUIET=true` env var (case-insensitive) AND the
22
+ * explicit `quiet` option — when set, the log line is suppressed even on
23
+ * mock fallback. The probe still **runs** (it warms the module-load
24
+ * cache); only the operator-visible warning is silenced.
25
+ * - Never throws. Probe failure must never block server / CLI boot.
26
+ *
27
+ * @see SMI-5009 — original probe in mcp-server.
28
+ * @see SMI-5039 — extraction to core.
29
+ * @see ADR-009 — embedding service fallback policy.
30
+ */
31
+ import { EmbeddingService } from './index.js';
32
+ /** Hard upper bound on probe execution (preserved from SMI-5009). */
33
+ const DEFAULT_TIMEOUT_MS = 2000;
34
+ /** Detect SKILLSMITH_QUIET env var (case-insensitive truthy match). */
35
+ function envQuiet() {
36
+ const v = process.env.SKILLSMITH_QUIET;
37
+ if (v == null)
38
+ return false;
39
+ return v.toLowerCase() === 'true' || v === '1';
40
+ }
41
+ /**
42
+ * Probe `@huggingface/transformers` availability with a hard timeout +
43
+ * structured stderr warning when the mock fallback engages.
44
+ *
45
+ * NEVER throws. Returns within `timeoutMs` even if the underlying capability
46
+ * check hangs. Safe to `await` directly before connecting an MCP transport or
47
+ * dispatching a CLI command that depends on embeddings.
48
+ */
49
+ export async function probeEmbeddingCapability(opts = {}) {
50
+ const timeoutMs = opts.timeoutMs ?? DEFAULT_TIMEOUT_MS;
51
+ const log = opts.logger ?? ((msg) => console.error(msg));
52
+ const quiet = opts.quiet === true || envQuiet();
53
+ const emit = (msg) => {
54
+ if (!quiet)
55
+ log(msg);
56
+ };
57
+ const TIMEOUT_SENTINEL = Symbol('probe-timeout');
58
+ let timeoutHandle;
59
+ try {
60
+ const result = await Promise.race([
61
+ EmbeddingService.checkAvailability(),
62
+ new Promise((resolve) => {
63
+ timeoutHandle = setTimeout(() => resolve(TIMEOUT_SENTINEL), timeoutMs);
64
+ }),
65
+ ]);
66
+ if (result === TIMEOUT_SENTINEL) {
67
+ emit('[skillsmith] embeddings: mock (transformers unavailable: probe-timeout after 2s; install @huggingface/transformers or set SKILLSMITH_USE_MOCK_EMBEDDINGS=true to silence)');
68
+ return;
69
+ }
70
+ if (result === true) {
71
+ // Silent on success — avoid noise on healthy boots.
72
+ return;
73
+ }
74
+ // checkAvailability returned false → derive reason from cached load error.
75
+ const loadErr = EmbeddingService.getTransformersLoadError();
76
+ const reason = loadErr?.message ?? 'module-load-failed';
77
+ emit(`[skillsmith] embeddings: mock (transformers unavailable: ${reason}; install @huggingface/transformers or set SKILLSMITH_USE_MOCK_EMBEDDINGS=true to silence)`);
78
+ }
79
+ catch (err) {
80
+ const msg = err instanceof Error ? err.message : String(err);
81
+ emit(`[skillsmith] embeddings: probe-failed (${msg}; install @huggingface/transformers or set SKILLSMITH_USE_MOCK_EMBEDDINGS=true to silence)`);
82
+ // Continue boot — probe failure must NEVER block server start.
83
+ }
84
+ finally {
85
+ if (timeoutHandle !== undefined)
86
+ clearTimeout(timeoutHandle);
87
+ }
88
+ }
89
+ //# sourceMappingURL=probe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"probe.js","sourceRoot":"","sources":["../../../src/embeddings/probe.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAE7C,qEAAqE;AACrE,MAAM,kBAAkB,GAAG,IAAI,CAAA;AA2B/B,uEAAuE;AACvE,SAAS,QAAQ;IACf,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAA;IACtC,IAAI,CAAC,IAAI,IAAI;QAAE,OAAO,KAAK,CAAA;IAC3B,OAAO,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,IAAI,CAAC,KAAK,GAAG,CAAA;AAChD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,OAAwC,EAAE;IAE1C,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,kBAAkB,CAAA;IACtD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;IAChE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,QAAQ,EAAE,CAAA;IAC/C,MAAM,IAAI,GAAG,CAAC,GAAW,EAAQ,EAAE;QACjC,IAAI,CAAC,KAAK;YAAE,GAAG,CAAC,GAAG,CAAC,CAAA;IACtB,CAAC,CAAA;IAED,MAAM,gBAAgB,GAAkB,MAAM,CAAC,eAAe,CAAC,CAAA;IAC/D,IAAI,aAAyC,CAAA;IAE7C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAoC;YACnE,gBAAgB,CAAC,iBAAiB,EAAE;YACpC,IAAI,OAAO,CAA0B,CAAC,OAAO,EAAE,EAAE;gBAC/C,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,SAAS,CAAC,CAAA;YACxE,CAAC,CAAC;SACH,CAAC,CAAA;QAEF,IAAI,MAAM,KAAK,gBAAgB,EAAE,CAAC;YAChC,IAAI,CACF,2KAA2K,CAC5K,CAAA;YACD,OAAM;QACR,CAAC;QAED,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,oDAAoD;YACpD,OAAM;QACR,CAAC;QAED,2EAA2E;QAC3E,MAAM,OAAO,GAAG,gBAAgB,CAAC,wBAAwB,EAAE,CAAA;QAC3D,MAAM,MAAM,GAAG,OAAO,EAAE,OAAO,IAAI,oBAAoB,CAAA;QACvD,IAAI,CACF,4DAA4D,MAAM,4FAA4F,CAC/J,CAAA;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAC5D,IAAI,CACF,0CAA0C,GAAG,4FAA4F,CAC1I,CAAA;QACD,+DAA+D;IACjE,CAAC;YAAS,CAAC;QACT,IAAI,aAAa,KAAK,SAAS;YAAE,YAAY,CAAC,aAAa,CAAC,CAAA;IAC9D,CAAC;AACH,CAAC"}
@@ -13,6 +13,7 @@ export type { SearchCacheEntry, SearchResult as CachedSearchResult, CacheStats,
13
13
  export type { SecurityFinding, ScanReport, ScannerOptions, PathValidationOptions, PathValidationResult, } from '../security/index.js';
14
14
  export { TrustTierDescriptions, type TrustTier as MCPTrustTier, type SkillCategory, type ScoreBreakdown, type Skill as MCPSkill, type SkillSearchResult, type SearchFilters, type CompatibilityFilter, type SearchResponse as MCPSearchResponse, type GetSkillResponse, type AlsoInstalledSkill, type SecuritySummary, } from '../types.js';
15
15
  export type { ErrorCategory, ErrorCode, ErrorResponse } from '../errors.js';
16
+ export { API_TRUST_TIERS, API_CATEGORIES } from '../api/index.js';
16
17
  export type { ApiClientConfig, ApiResponse, ApiErrorResponse, ApiSearchResult, RecommendationRequest, TelemetryEvent, CacheConfig, CacheStats as ApiCacheStats, ApiTrustTier, ApiCategory, ApiProjectType, ApiSkill, SearchParams, SearchResponse as ApiSearchResponse, RecommendParams, RecommendResponse, SkillResponse, HealthStatus, TelemetryEventType, TelemetryEventPayload, RateLimitInfo, ApiClientOptions, } from '../api/index.js';
17
18
  export type { RateLimitConfig, RateLimitResult, RateLimitStorage, RateLimitMetrics, } from '../security/index.js';
18
19
  export type { TracerConfig, SpanAttributes, SpanWrapper, MetricsConfig, MetricLabels, Counter, Histogram, Gauge, MetricsSnapshot, PrometheusExportOptions, PostHogConfig, SkillsmithEventType, SkillEventProperties, AllowedUserTraits, } from '../telemetry/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/exports/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/exports/types.ts"],"names":[],"mappings":"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"}
@@ -9,4 +9,8 @@ export { SKILL_ROLES } from '../types/skill.js';
9
9
  // MCP Types (SMI-581, SMI-582)
10
10
  // ============================================================================
11
11
  export { TrustTierDescriptions, } from '../types.js';
12
+ // ============================================================================
13
+ // API Types (SMI-1244, SMI-1245, SMI-1300)
14
+ // ============================================================================
15
+ export { API_TRUST_TIERS, API_CATEGORIES } from '../api/index.js';
12
16
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/exports/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAmBH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AA2D/C,+EAA+E;AAC/E,+BAA+B;AAC/B,+EAA+E;AAE/E,OAAO,EACL,qBAAqB,GAYtB,MAAM,aAAa,CAAA"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/exports/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAmBH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AA2D/C,+EAA+E;AAC/E,+BAA+B;AAC/B,+EAA+E;AAE/E,OAAO,EACL,qBAAqB,GAYtB,MAAM,aAAa,CAAA;AAQpB,+EAA+E;AAC/E,2CAA2C;AAC3C,+EAA+E;AAE/E,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @skillsmith/core - Core functionality for skill discovery
3
3
  */
4
- export declare const VERSION = "0.7.2";
4
+ export declare const VERSION = "0.8.1";
5
5
  export * from './exports/services.js';
6
6
  export * from './exports/repositories.js';
7
7
  export { createDatabaseSync, createDatabaseAsync } from './db/createDatabase.js';
@@ -22,8 +22,10 @@ export { SkillsmithTracer, getTracer, initializeTracing, shutdownTracing, traced
22
22
  export { UsageAnalyticsService, ExperimentService, ROIDashboardService, anonymizeUserId, hashProjectContext, AnalyticsStorage, UsageTracker, } from './analytics/index.js';
23
23
  export { RateLimiter, InMemoryRateLimitStorage, createRateLimiterFromPreset, RATE_LIMIT_PRESETS, RateLimitQueueTimeoutError, RateLimitQueueFullError, } from './security/index.js';
24
24
  export { AuditLogger, MIN_RETENTION_DAYS, MAX_RETENTION_DAYS } from './security/AuditLogger.js';
25
- export { emitInstallEvent } from './audit/remote-audit.js';
26
- export type { InstallEventPayload } from './audit/remote-audit.js';
25
+ export { emitInstallEvent, emitSearchEvent } from './audit/remote-audit.js';
26
+ export type { InstallEventPayload, SearchEventPayload } from './audit/remote-audit.js';
27
+ export { COMPATIBILITY_SLUGS, COMPATIBILITY_LABELS, BROWSE_ONLY_SLUGS, CLIENT_TO_COMPATIBILITY_SLUG, compatibilityLabel, } from './compatibility/slugs.js';
28
+ export type { CompatibilitySlug } from './compatibility/slugs.js';
27
29
  export { indexLocalSkill } from './skills/index-local.js';
28
30
  export type { IndexLocalSkillFrontmatter, IndexLocalSkillOptions, IndexLocalSkillResult, } from './skills/index-local.js';
29
31
  export { BaseSourceAdapter, SourceAdapterRegistry, SourceIndexer, defaultRegistry, isSourceAdapter, LocalFilesystemAdapter, createLocalFilesystemAdapter, } from './sources/index.js';
@@ -35,6 +37,7 @@ export { tryRefreshToken, loadStoredAccessToken } from './api/client.token-refre
35
37
  export { checkForUpdates, formatUpdateNotification, type VersionCheckResult, } from './utils/version-check.js';
36
38
  export { parseRepoUrl, isGitHubUrl, type ParsedRepoUrl } from './utils/github-url.js';
37
39
  export { safeWriteFile, SymlinkError, HardlinkError } from './utils/safe-fs.js';
40
+ export * from './provenance/index.js';
38
41
  export { GENERIC_TRIGGERS } from './data/generic-triggers.js';
39
42
  export type { GenericTriggersStoplist } from './data/generic-triggers.js';
40
43
  export { resolveAuditMode, tierDefault, isAuditMode, type AuditMode, type Tier as AuditModeTier, type ResolveAuditModeOptions, } from './config/audit-mode.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/dist/src/index.js CHANGED
@@ -2,7 +2,7 @@
2
2
  * @skillsmith/core - Core functionality for skill discovery
3
3
  */
4
4
  // Version
5
- export const VERSION = '0.7.2';
5
+ export const VERSION = '0.8.1';
6
6
  // ============================================================================
7
7
  // Grouped Exports from Barrel Files
8
8
  // ============================================================================
@@ -59,8 +59,10 @@ anonymizeUserId, hashProjectContext, AnalyticsStorage, UsageTracker, } from './a
59
59
  export { RateLimiter, InMemoryRateLimitStorage, createRateLimiterFromPreset, RATE_LIMIT_PRESETS, RateLimitQueueTimeoutError, RateLimitQueueFullError, } from './security/index.js';
60
60
  // Audit Logging (SMI-733)
61
61
  export { AuditLogger, MIN_RETENTION_DAYS, MAX_RETENTION_DAYS } from './security/AuditLogger.js';
62
- // Remote telemetry for install events (SMI-4182)
63
- export { emitInstallEvent } from './audit/remote-audit.js';
62
+ // Remote telemetry for install events (SMI-4182) + search events (SMI-5193)
63
+ export { emitInstallEvent, emitSearchEvent } from './audit/remote-audit.js';
64
+ // Cross-ecosystem compatibility slug vocabulary (SMI-5178)
65
+ export { COMPATIBILITY_SLUGS, COMPATIBILITY_LABELS, BROWSE_ONLY_SLUGS, CLIENT_TO_COMPATIBILITY_SLUG, compatibilityLabel, } from './compatibility/slugs.js';
64
66
  // Local skill indexing helper (SMI-4587 Wave 1 PR #4 / NEW-E-2)
65
67
  export { indexLocalSkill } from './skills/index-local.js';
66
68
  // Source Adapters (SMI-589)
@@ -76,6 +78,8 @@ export { checkForUpdates, formatUpdateNotification, } from './utils/version-chec
76
78
  export { parseRepoUrl, isGitHubUrl } from './utils/github-url.js';
77
79
  // SMI-2274: Safe filesystem operations
78
80
  export { safeWriteFile, SymlinkError, HardlinkError } from './utils/safe-fs.js';
81
+ // SMI-5407: Skill source provenance recovery
82
+ export * from './provenance/index.js';
79
83
  // SMI-4124: Curated stoplists for skill_pack_audit trigger-quality checks
80
84
  export { GENERIC_TRIGGERS } from './data/generic-triggers.js';
81
85
  // SMI-4587: Audit-mode resolver (consumer namespace audit)
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"GitHubIndexer.d.ts","sourceRoot":"","sources":["../../../src/indexer/GitHubIndexer.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACzD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAErE;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,sEAAsE;IACtE,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,yEAAyE;IACzE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,mDAAmD;IACnD,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,2BAA2B;IAC3B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAA;IACb,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAA;IACf,yBAAyB;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,kCAAkC;IAClC,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,2BAA2B;IAC3B,YAAY,EAAE,gBAAgB,EAAE,CAAA;CACjC;AAgCD;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,KAAK,CAAC,CAAQ;IACtB,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,YAAY,CAAQ;IAC5B,OAAO,CAAC,MAAM,CAAU;gBAEZ,OAAO,GAAE,oBAAyB;IAO9C;;OAEG;YACW,KAAK;IAInB;;OAEG;IACH,OAAO,CAAC,YAAY;IAWpB;;OAEG;IACG,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,MAAU,GAAG,OAAO,CAAC,WAAW,CAAC;IAiE/E;;OAEG;IACG,cAAc,CAAC,gBAAgB,GAAE,MAAU,GAAG,OAAO,CAAC,WAAW,CAAC;IAuCxE;;OAEG;IACG,kBAAkB,CACtB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,QAAQ,GAAE,MAAU,GACnB,OAAO,CAAC,WAAW,CAAC;IAyCvB;;OAEG;IACH,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,GAAG,gBAAgB;CAwC5D"}
1
+ {"version":3,"file":"GitHubIndexer.d.ts","sourceRoot":"","sources":["../../../src/indexer/GitHubIndexer.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACzD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAErE;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,sEAAsE;IACtE,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,yEAAyE;IACzE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,mDAAmD;IACnD,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,2BAA2B;IAC3B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAA;IACb,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAA;IACf,yBAAyB;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,kCAAkC;IAClC,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,2BAA2B;IAC3B,YAAY,EAAE,gBAAgB,EAAE,CAAA;CACjC;AAgCD;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,KAAK,CAAC,CAAQ;IACtB,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,YAAY,CAAQ;IAC5B,OAAO,CAAC,MAAM,CAAU;gBAEZ,OAAO,GAAE,oBAAyB;IAO9C;;OAEG;YACW,KAAK;IAInB;;OAEG;IACH,OAAO,CAAC,YAAY;IAWpB;;OAEG;IACG,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,MAAU,GAAG,OAAO,CAAC,WAAW,CAAC;IAiE/E;;OAEG;IACG,cAAc,CAAC,gBAAgB,GAAE,MAAU,GAAG,OAAO,CAAC,WAAW,CAAC;IAuCxE;;OAEG;IACG,kBAAkB,CACtB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,QAAQ,GAAE,MAAU,GACnB,OAAO,CAAC,WAAW,CAAC;IAyCvB;;OAEG;IACH,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,GAAG,gBAAgB;CAwC5D"}
@@ -193,7 +193,7 @@ export class GitHubIndexer {
193
193
  // Determine trust tier based on indicators
194
194
  let trustTier = 'unknown';
195
195
  if (repo.topics.includes('claude-code-official')) {
196
- trustTier = 'verified';
196
+ trustTier = 'official'; // SMI-5205: platform/partner skills get official tier
197
197
  }
198
198
  else if (repo.stars >= 50) {
199
199
  trustTier = 'community';