@skillsmith/core 0.4.14 → 0.4.16

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 (287) hide show
  1. package/README.md +2 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/src/analysis/DependencyMerger.d.ts +39 -0
  4. package/dist/src/analysis/DependencyMerger.d.ts.map +1 -0
  5. package/dist/src/analysis/DependencyMerger.js +191 -0
  6. package/dist/src/analysis/DependencyMerger.js.map +1 -0
  7. package/dist/src/analysis/DependencyMerger.test.d.ts +2 -0
  8. package/dist/src/analysis/DependencyMerger.test.d.ts.map +1 -0
  9. package/dist/src/analysis/DependencyMerger.test.js +258 -0
  10. package/dist/src/analysis/DependencyMerger.test.js.map +1 -0
  11. package/dist/src/analysis/McpReferenceExtractor.d.ts +42 -0
  12. package/dist/src/analysis/McpReferenceExtractor.d.ts.map +1 -0
  13. package/dist/src/analysis/McpReferenceExtractor.js +92 -0
  14. package/dist/src/analysis/McpReferenceExtractor.js.map +1 -0
  15. package/dist/src/analysis/McpReferenceExtractor.test.d.ts +2 -0
  16. package/dist/src/analysis/McpReferenceExtractor.test.d.ts.map +1 -0
  17. package/dist/src/analysis/McpReferenceExtractor.test.js +262 -0
  18. package/dist/src/analysis/McpReferenceExtractor.test.js.map +1 -0
  19. package/dist/src/api/client.d.ts +1 -0
  20. package/dist/src/api/client.d.ts.map +1 -1
  21. package/dist/src/api/client.health.d.ts +26 -0
  22. package/dist/src/api/client.health.d.ts.map +1 -0
  23. package/dist/src/api/client.health.js +74 -0
  24. package/dist/src/api/client.health.js.map +1 -0
  25. package/dist/src/api/client.js +3 -51
  26. package/dist/src/api/client.js.map +1 -1
  27. package/dist/src/api/schemas.d.ts +4 -4
  28. package/dist/src/db/createDatabase.d.ts +9 -1
  29. package/dist/src/db/createDatabase.d.ts.map +1 -1
  30. package/dist/src/db/createDatabase.js +9 -1
  31. package/dist/src/db/createDatabase.js.map +1 -1
  32. package/dist/src/db/drivers/sqljsDriver.d.ts.map +1 -1
  33. package/dist/src/db/drivers/sqljsDriver.js +7 -8
  34. package/dist/src/db/drivers/sqljsDriver.js.map +1 -1
  35. package/dist/src/db/migrations/v10-dependencies.d.ts +18 -0
  36. package/dist/src/db/migrations/v10-dependencies.d.ts.map +1 -0
  37. package/dist/src/db/migrations/v10-dependencies.js +50 -0
  38. package/dist/src/db/migrations/v10-dependencies.js.map +1 -0
  39. package/dist/src/db/migrations/v2-phase5-columns.d.ts +7 -0
  40. package/dist/src/db/migrations/v2-phase5-columns.d.ts.map +1 -0
  41. package/dist/src/db/migrations/v2-phase5-columns.js +16 -0
  42. package/dist/src/db/migrations/v2-phase5-columns.js.map +1 -0
  43. package/dist/src/db/migrations/v3-sync-tables.d.ts +6 -0
  44. package/dist/src/db/migrations/v3-sync-tables.d.ts.map +1 -0
  45. package/dist/src/db/migrations/v3-sync-tables.js +41 -0
  46. package/dist/src/db/migrations/v3-sync-tables.js.map +1 -0
  47. package/dist/src/db/migrations/v4-security-columns.d.ts +7 -0
  48. package/dist/src/db/migrations/v4-security-columns.d.ts.map +1 -0
  49. package/dist/src/db/migrations/v4-security-columns.js +17 -0
  50. package/dist/src/db/migrations/v4-security-columns.js.map +1 -0
  51. package/dist/src/db/migrations/v5b-change-type.d.ts +19 -0
  52. package/dist/src/db/migrations/v5b-change-type.d.ts.map +1 -0
  53. package/dist/src/db/migrations/v5b-change-type.js +22 -0
  54. package/dist/src/db/migrations/v5b-change-type.js.map +1 -0
  55. package/dist/src/db/migrations/v6-advisories.d.ts +32 -0
  56. package/dist/src/db/migrations/v6-advisories.d.ts.map +1 -0
  57. package/dist/src/db/migrations/v6-advisories.js +53 -0
  58. package/dist/src/db/migrations/v6-advisories.js.map +1 -0
  59. package/dist/src/db/migrations/v7-compatibility.d.ts +21 -0
  60. package/dist/src/db/migrations/v7-compatibility.d.ts.map +1 -0
  61. package/dist/src/db/migrations/v7-compatibility.js +23 -0
  62. package/dist/src/db/migrations/v7-compatibility.js.map +1 -0
  63. package/dist/src/db/migrations/v8-co-installs.d.ts +21 -0
  64. package/dist/src/db/migrations/v8-co-installs.d.ts.map +1 -0
  65. package/dist/src/db/migrations/v8-co-installs.js +33 -0
  66. package/dist/src/db/migrations/v8-co-installs.js.map +1 -0
  67. package/dist/src/db/schema.d.ts +5 -16
  68. package/dist/src/db/schema.d.ts.map +1 -1
  69. package/dist/src/db/schema.js +50 -79
  70. package/dist/src/db/schema.js.map +1 -1
  71. package/dist/src/exports/repositories.d.ts +6 -0
  72. package/dist/src/exports/repositories.d.ts.map +1 -1
  73. package/dist/src/exports/repositories.js +21 -0
  74. package/dist/src/exports/repositories.js.map +1 -1
  75. package/dist/src/exports/services.d.ts +2 -0
  76. package/dist/src/exports/services.d.ts.map +1 -1
  77. package/dist/src/exports/services.js +5 -0
  78. package/dist/src/exports/services.js.map +1 -1
  79. package/dist/src/exports/types.d.ts +2 -1
  80. package/dist/src/exports/types.d.ts.map +1 -1
  81. package/dist/src/exports/types.js.map +1 -1
  82. package/dist/src/indexer/GitHubIndexer.d.ts +3 -1
  83. package/dist/src/indexer/GitHubIndexer.d.ts.map +1 -1
  84. package/dist/src/indexer/GitHubIndexer.js.map +1 -1
  85. package/dist/src/indexer/SkillParser.d.ts +22 -9
  86. package/dist/src/indexer/SkillParser.d.ts.map +1 -1
  87. package/dist/src/indexer/SkillParser.js +17 -10
  88. package/dist/src/indexer/SkillParser.js.map +1 -1
  89. package/dist/src/learning/PatternStore.d.ts +0 -2
  90. package/dist/src/learning/PatternStore.d.ts.map +1 -1
  91. package/dist/src/learning/PatternStore.helpers.d.ts +19 -1
  92. package/dist/src/learning/PatternStore.helpers.d.ts.map +1 -1
  93. package/dist/src/learning/PatternStore.helpers.js +51 -0
  94. package/dist/src/learning/PatternStore.helpers.js.map +1 -1
  95. package/dist/src/learning/PatternStore.js +5 -37
  96. package/dist/src/learning/PatternStore.js.map +1 -1
  97. package/dist/src/repositories/AdvisoryRepository.d.ts +80 -0
  98. package/dist/src/repositories/AdvisoryRepository.d.ts.map +1 -0
  99. package/dist/src/repositories/AdvisoryRepository.js +128 -0
  100. package/dist/src/repositories/AdvisoryRepository.js.map +1 -0
  101. package/dist/src/repositories/AdvisoryRepository.test.d.ts +6 -0
  102. package/dist/src/repositories/AdvisoryRepository.test.d.ts.map +1 -0
  103. package/dist/src/repositories/AdvisoryRepository.test.js +149 -0
  104. package/dist/src/repositories/AdvisoryRepository.test.js.map +1 -0
  105. package/dist/src/repositories/CoInstallRepository.d.ts +68 -0
  106. package/dist/src/repositories/CoInstallRepository.d.ts.map +1 -0
  107. package/dist/src/repositories/CoInstallRepository.js +122 -0
  108. package/dist/src/repositories/CoInstallRepository.js.map +1 -0
  109. package/dist/src/repositories/IndexerRepository.d.ts.map +1 -1
  110. package/dist/src/repositories/IndexerRepository.js +5 -1
  111. package/dist/src/repositories/IndexerRepository.js.map +1 -1
  112. package/dist/src/repositories/SkillDependencyRepository.d.ts +73 -0
  113. package/dist/src/repositories/SkillDependencyRepository.d.ts.map +1 -0
  114. package/dist/src/repositories/SkillDependencyRepository.js +199 -0
  115. package/dist/src/repositories/SkillDependencyRepository.js.map +1 -0
  116. package/dist/src/repositories/SkillRepository.d.ts.map +1 -1
  117. package/dist/src/repositories/SkillRepository.js +16 -5
  118. package/dist/src/repositories/SkillRepository.js.map +1 -1
  119. package/dist/src/scripts/validation/types.d.ts +2 -2
  120. package/dist/src/services/SearchService.helpers.d.ts.map +1 -1
  121. package/dist/src/services/SearchService.helpers.js +4 -0
  122. package/dist/src/services/SearchService.helpers.js.map +1 -1
  123. package/dist/src/services/SearchService.types.d.ts +1 -0
  124. package/dist/src/services/SearchService.types.d.ts.map +1 -1
  125. package/dist/src/services/TaskRunner.d.ts +5 -81
  126. package/dist/src/services/TaskRunner.d.ts.map +1 -1
  127. package/dist/src/services/TaskRunner.js +7 -68
  128. package/dist/src/services/TaskRunner.js.map +1 -1
  129. package/dist/src/services/TaskRunner.process.d.ts +33 -0
  130. package/dist/src/services/TaskRunner.process.d.ts.map +1 -0
  131. package/dist/src/services/TaskRunner.process.js +70 -0
  132. package/dist/src/services/TaskRunner.process.js.map +1 -0
  133. package/dist/src/services/TaskRunner.types.d.ts +76 -0
  134. package/dist/src/services/TaskRunner.types.d.ts.map +1 -0
  135. package/dist/src/services/TaskRunner.types.js +22 -0
  136. package/dist/src/services/TaskRunner.types.js.map +1 -0
  137. package/dist/src/services/__tests__/TaskRunner.process.test.d.ts +13 -0
  138. package/dist/src/services/__tests__/TaskRunner.process.test.d.ts.map +1 -0
  139. package/dist/src/services/__tests__/TaskRunner.process.test.js +91 -0
  140. package/dist/src/services/__tests__/TaskRunner.process.test.js.map +1 -0
  141. package/dist/src/services/quarantine/QuarantineService.d.ts +3 -24
  142. package/dist/src/services/quarantine/QuarantineService.d.ts.map +1 -1
  143. package/dist/src/services/quarantine/QuarantineService.js +8 -205
  144. package/dist/src/services/quarantine/QuarantineService.js.map +1 -1
  145. package/dist/src/services/quarantine/QuarantineService.multiapproval.d.ts +57 -0
  146. package/dist/src/services/quarantine/QuarantineService.multiapproval.d.ts.map +1 -0
  147. package/dist/src/services/quarantine/QuarantineService.multiapproval.js +211 -0
  148. package/dist/src/services/quarantine/QuarantineService.multiapproval.js.map +1 -0
  149. package/dist/src/session/SessionManager.d.ts +2 -33
  150. package/dist/src/session/SessionManager.d.ts.map +1 -1
  151. package/dist/src/session/SessionManager.js +14 -238
  152. package/dist/src/session/SessionManager.js.map +1 -1
  153. package/dist/src/session/SessionManager.memory.d.ts +67 -0
  154. package/dist/src/session/SessionManager.memory.d.ts.map +1 -0
  155. package/dist/src/session/SessionManager.memory.js +262 -0
  156. package/dist/src/session/SessionManager.memory.js.map +1 -0
  157. package/dist/src/sources/SourceIndexer.d.ts +3 -1
  158. package/dist/src/sources/SourceIndexer.d.ts.map +1 -1
  159. package/dist/src/sources/SourceIndexer.js.map +1 -1
  160. package/dist/src/sync/SyncEngine.d.ts +13 -1
  161. package/dist/src/sync/SyncEngine.d.ts.map +1 -1
  162. package/dist/src/sync/SyncEngine.js +50 -1
  163. package/dist/src/sync/SyncEngine.js.map +1 -1
  164. package/dist/src/testing/MultiLLMProvider.d.ts +5 -6
  165. package/dist/src/testing/MultiLLMProvider.d.ts.map +1 -1
  166. package/dist/src/testing/MultiLLMProvider.js +18 -130
  167. package/dist/src/testing/MultiLLMProvider.js.map +1 -1
  168. package/dist/src/testing/MultiLLMProvider.metrics.d.ts +33 -0
  169. package/dist/src/testing/MultiLLMProvider.metrics.d.ts.map +1 -0
  170. package/dist/src/testing/MultiLLMProvider.metrics.js +87 -0
  171. package/dist/src/testing/MultiLLMProvider.metrics.js.map +1 -0
  172. package/dist/src/testing/MultiLLMProvider.selection.d.ts +77 -0
  173. package/dist/src/testing/MultiLLMProvider.selection.d.ts.map +1 -0
  174. package/dist/src/testing/MultiLLMProvider.selection.js +151 -0
  175. package/dist/src/testing/MultiLLMProvider.selection.js.map +1 -0
  176. package/dist/src/types/dependencies.d.ts +85 -0
  177. package/dist/src/types/dependencies.d.ts.map +1 -0
  178. package/dist/src/types/dependencies.js +11 -0
  179. package/dist/src/types/dependencies.js.map +1 -0
  180. package/dist/src/types/skill.d.ts +13 -0
  181. package/dist/src/types/skill.d.ts.map +1 -1
  182. package/dist/src/types/skill.js.map +1 -1
  183. package/dist/src/types.d.ts +32 -0
  184. package/dist/src/types.d.ts.map +1 -1
  185. package/dist/src/versioning/change-classifier.d.ts +38 -0
  186. package/dist/src/versioning/change-classifier.d.ts.map +1 -0
  187. package/dist/src/versioning/change-classifier.js +187 -0
  188. package/dist/src/versioning/change-classifier.js.map +1 -0
  189. package/dist/src/versioning/change-classifier.test.d.ts +6 -0
  190. package/dist/src/versioning/change-classifier.test.d.ts.map +1 -0
  191. package/dist/src/versioning/change-classifier.test.js +275 -0
  192. package/dist/src/versioning/change-classifier.test.js.map +1 -0
  193. package/dist/src/versioning/update-risk.d.ts +50 -0
  194. package/dist/src/versioning/update-risk.d.ts.map +1 -0
  195. package/dist/src/versioning/update-risk.js +80 -0
  196. package/dist/src/versioning/update-risk.js.map +1 -0
  197. package/dist/src/versioning/update-risk.test.d.ts +6 -0
  198. package/dist/src/versioning/update-risk.test.d.ts.map +1 -0
  199. package/dist/src/versioning/update-risk.test.js +200 -0
  200. package/dist/src/versioning/update-risk.test.js.map +1 -0
  201. package/dist/tests/AuditLogger.edge-cases.test.d.ts +10 -0
  202. package/dist/tests/AuditLogger.edge-cases.test.d.ts.map +1 -0
  203. package/dist/tests/AuditLogger.edge-cases.test.js +183 -0
  204. package/dist/tests/AuditLogger.edge-cases.test.js.map +1 -0
  205. package/dist/tests/CacheManager.test.d.ts +9 -0
  206. package/dist/tests/CacheManager.test.d.ts.map +1 -0
  207. package/dist/tests/CacheManager.test.js +163 -0
  208. package/dist/tests/CacheManager.test.js.map +1 -0
  209. package/dist/tests/DailyIndexPipeline.test.js +3 -3
  210. package/dist/tests/DailyIndexPipeline.test.js.map +1 -1
  211. package/dist/tests/GitHubIndexer.edge-cases.test.d.ts +10 -0
  212. package/dist/tests/GitHubIndexer.edge-cases.test.d.ts.map +1 -0
  213. package/dist/tests/GitHubIndexer.edge-cases.test.js +255 -0
  214. package/dist/tests/GitHubIndexer.edge-cases.test.js.map +1 -0
  215. package/dist/tests/GitHubIndexer.test.js +4 -2
  216. package/dist/tests/GitHubIndexer.test.js.map +1 -1
  217. package/dist/tests/SearchService.test.js +71 -0
  218. package/dist/tests/SearchService.test.js.map +1 -1
  219. package/dist/tests/SkillVersionRepository.test.d.ts +0 -11
  220. package/dist/tests/SkillVersionRepository.test.d.ts.map +1 -1
  221. package/dist/tests/SkillVersionRepository.test.js +131 -194
  222. package/dist/tests/SkillVersionRepository.test.js.map +1 -1
  223. package/dist/tests/api/client.health.test.d.ts +15 -0
  224. package/dist/tests/api/client.health.test.d.ts.map +1 -0
  225. package/dist/tests/api/client.health.test.js +111 -0
  226. package/dist/tests/api/client.health.test.js.map +1 -0
  227. package/dist/tests/db/betterSqlite3Driver.test.d.ts +8 -0
  228. package/dist/tests/db/betterSqlite3Driver.test.d.ts.map +1 -0
  229. package/dist/tests/db/betterSqlite3Driver.test.js +88 -0
  230. package/dist/tests/db/betterSqlite3Driver.test.js.map +1 -0
  231. package/dist/tests/db/database-abstraction.test.js +12 -0
  232. package/dist/tests/db/database-abstraction.test.js.map +1 -1
  233. package/dist/tests/db/schema-migrations.test.d.ts +10 -0
  234. package/dist/tests/db/schema-migrations.test.d.ts.map +1 -0
  235. package/dist/tests/db/schema-migrations.test.js +134 -0
  236. package/dist/tests/db/schema-migrations.test.js.map +1 -0
  237. package/dist/tests/db/sqljsDriver.test.d.ts +9 -0
  238. package/dist/tests/db/sqljsDriver.test.d.ts.map +1 -0
  239. package/dist/tests/db/sqljsDriver.test.js +75 -0
  240. package/dist/tests/db/sqljsDriver.test.js.map +1 -0
  241. package/dist/tests/edge-cases/EdgeCases.test.js +4 -1
  242. package/dist/tests/edge-cases/EdgeCases.test.js.map +1 -1
  243. package/dist/tests/helpers/database.d.ts +32 -0
  244. package/dist/tests/helpers/database.d.ts.map +1 -0
  245. package/dist/tests/helpers/database.js +54 -0
  246. package/dist/tests/helpers/database.js.map +1 -0
  247. package/dist/tests/learning/PatternStore.helpers.test.d.ts +17 -0
  248. package/dist/tests/learning/PatternStore.helpers.test.d.ts.map +1 -0
  249. package/dist/tests/learning/PatternStore.helpers.test.js +301 -0
  250. package/dist/tests/learning/PatternStore.helpers.test.js.map +1 -0
  251. package/dist/tests/repositories/CoInstallRepository.test.d.ts +9 -0
  252. package/dist/tests/repositories/CoInstallRepository.test.d.ts.map +1 -0
  253. package/dist/tests/repositories/CoInstallRepository.test.js +126 -0
  254. package/dist/tests/repositories/CoInstallRepository.test.js.map +1 -0
  255. package/dist/tests/repositories/SkillDependencyRepository.test.d.ts +10 -0
  256. package/dist/tests/repositories/SkillDependencyRepository.test.d.ts.map +1 -0
  257. package/dist/tests/repositories/SkillDependencyRepository.test.js +336 -0
  258. package/dist/tests/repositories/SkillDependencyRepository.test.js.map +1 -0
  259. package/dist/tests/routing/LanguageRouter.test.d.ts +9 -0
  260. package/dist/tests/routing/LanguageRouter.test.d.ts.map +1 -0
  261. package/dist/tests/routing/LanguageRouter.test.js +150 -0
  262. package/dist/tests/routing/LanguageRouter.test.js.map +1 -0
  263. package/dist/tests/session/SessionManager.memory.test.d.ts +11 -0
  264. package/dist/tests/session/SessionManager.memory.test.d.ts.map +1 -0
  265. package/dist/tests/session/SessionManager.memory.test.js +219 -0
  266. package/dist/tests/session/SessionManager.memory.test.js.map +1 -0
  267. package/dist/tests/sources.test.js +1 -1
  268. package/dist/tests/sources.test.js.map +1 -1
  269. package/dist/tests/sync/SyncEngine.test.js +32 -18
  270. package/dist/tests/sync/SyncEngine.test.js.map +1 -1
  271. package/dist/tests/testing/MultiLLMProvider.metrics.test.d.ts +13 -0
  272. package/dist/tests/testing/MultiLLMProvider.metrics.test.d.ts.map +1 -0
  273. package/dist/tests/testing/MultiLLMProvider.metrics.test.js +149 -0
  274. package/dist/tests/testing/MultiLLMProvider.metrics.test.js.map +1 -0
  275. package/dist/tests/testing/MultiLLMProvider.selection.test.d.ts +15 -0
  276. package/dist/tests/testing/MultiLLMProvider.selection.test.d.ts.map +1 -0
  277. package/dist/tests/testing/MultiLLMProvider.selection.test.js +249 -0
  278. package/dist/tests/testing/MultiLLMProvider.selection.test.js.map +1 -0
  279. package/dist/tests/unit/migrations/v10-dependencies.test.d.ts +6 -0
  280. package/dist/tests/unit/migrations/v10-dependencies.test.d.ts.map +1 -0
  281. package/dist/tests/unit/migrations/v10-dependencies.test.js +166 -0
  282. package/dist/tests/unit/migrations/v10-dependencies.test.js.map +1 -0
  283. package/dist/tests/unit/quarantine-query-builder.test.d.ts +10 -0
  284. package/dist/tests/unit/quarantine-query-builder.test.d.ts.map +1 -0
  285. package/dist/tests/unit/quarantine-query-builder.test.js +157 -0
  286. package/dist/tests/unit/quarantine-query-builder.test.js.map +1 -0
  287. package/package.json +1 -1
@@ -0,0 +1,88 @@
1
+ /**
2
+ * SMI-2756: Wave 3 — BetterSqlite3Driver tests
3
+ *
4
+ * Tests constructor paths, WAL-mode pragma handling, execute with/without rows,
5
+ * and close paths.
6
+ */
7
+ import { describe, it, expect, afterEach } from 'vitest';
8
+ import { createBetterSqlite3Database, BetterSqlite3Database, isBetterSqlite3Available, } from '../../src/db/drivers/betterSqlite3Driver.js';
9
+ describe('BetterSqlite3Driver', () => {
10
+ describe('isBetterSqlite3Available', () => {
11
+ it('returns true when native module is loadable', () => {
12
+ // Running in Docker with native modules available
13
+ const available = isBetterSqlite3Available();
14
+ expect(typeof available).toBe('boolean');
15
+ // In CI/Docker this is always true; accept either to handle all envs
16
+ });
17
+ });
18
+ describe('createBetterSqlite3Database', () => {
19
+ it('creates an in-memory database by default', () => {
20
+ const db = createBetterSqlite3Database(':memory:');
21
+ expect(db).toBeInstanceOf(BetterSqlite3Database);
22
+ expect(db.memory).toBe(true);
23
+ expect(db.open).toBe(true);
24
+ db.close();
25
+ });
26
+ it('creates a database at a valid explicit path (in-memory)', () => {
27
+ const db = createBetterSqlite3Database(':memory:');
28
+ expect(db.name).toBe(':memory:');
29
+ db.close();
30
+ });
31
+ it('WAL mode pragma executes without error', () => {
32
+ const db = createBetterSqlite3Database(':memory:');
33
+ // WAL mode via pragma — should not throw
34
+ expect(() => db.pragma('journal_mode = WAL')).not.toThrow();
35
+ db.close();
36
+ });
37
+ it('WAL mode failure is swallowed gracefully when driver is constructed', () => {
38
+ // Even if a pragma fails during higher-level init it should not propagate
39
+ // In this unit test we just verify the driver wraps pragma correctly
40
+ const db = createBetterSqlite3Database(':memory:');
41
+ // Unknown pragma value — better-sqlite3 ignores unknown values
42
+ expect(() => db.pragma('journal_mode = INVALIDMODE')).not.toThrow();
43
+ db.close();
44
+ });
45
+ });
46
+ describe('BetterSqlite3Database operations', () => {
47
+ let db;
48
+ afterEach(() => {
49
+ if (db?.open)
50
+ db.close();
51
+ });
52
+ it('execute returns rows when rows exist', () => {
53
+ db = createBetterSqlite3Database(':memory:');
54
+ db.exec('CREATE TABLE t (id INTEGER PRIMARY KEY, val TEXT)');
55
+ db.exec("INSERT INTO t (val) VALUES ('hello')");
56
+ const stmt = db.prepare('SELECT * FROM t');
57
+ const rows = stmt.all();
58
+ expect(rows).toHaveLength(1);
59
+ expect(rows[0].val).toBe('hello');
60
+ });
61
+ it('execute returns empty array when no rows', () => {
62
+ db = createBetterSqlite3Database(':memory:');
63
+ db.exec('CREATE TABLE empty (id INTEGER PRIMARY KEY)');
64
+ const stmt = db.prepare('SELECT * FROM empty');
65
+ const rows = stmt.all();
66
+ expect(rows).toHaveLength(0);
67
+ });
68
+ it('close sets open to false', () => {
69
+ db = createBetterSqlite3Database(':memory:');
70
+ expect(db.open).toBe(true);
71
+ db.close();
72
+ expect(db.open).toBe(false);
73
+ });
74
+ it('native getter returns underlying better-sqlite3 instance', () => {
75
+ db = createBetterSqlite3Database(':memory:');
76
+ const native = db.native;
77
+ expect(native).toBeDefined();
78
+ // The native instance should have better-sqlite3's own exec method
79
+ expect(typeof native.exec).toBe('function');
80
+ });
81
+ it('readonly getter reflects actual readonly state', () => {
82
+ db = createBetterSqlite3Database(':memory:');
83
+ // Default: not readonly
84
+ expect(db.readonly).toBe(false);
85
+ });
86
+ });
87
+ });
88
+ //# sourceMappingURL=betterSqlite3Driver.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"betterSqlite3Driver.test.js","sourceRoot":"","sources":["../../../tests/db/betterSqlite3Driver.test.ts"],"names":[],"mappings":"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"}
@@ -205,6 +205,18 @@ describe('Database Abstraction Layer', () => {
205
205
  expect(db.open).toBe(true);
206
206
  db.close();
207
207
  });
208
+ it('createDatabaseAsync (factory) returns bare connection with no schema tables', async () => {
209
+ // Regression guard for SMI-2207: createDatabaseAsync is a pure driver factory.
210
+ // It does NOT call initializeSchema. Callers must do so explicitly.
211
+ // If this test fails, someone added schema init to the factory — that breaks
212
+ // L2Cache, EmbeddingService, and HybridSearch which manage their own schemas.
213
+ if (!isBetterSqlite3Available())
214
+ return;
215
+ const db = await createDatabaseAsync(':memory:');
216
+ const tables = db.prepare("SELECT name FROM sqlite_master WHERE type='table'").all();
217
+ expect(tables).toHaveLength(0);
218
+ db.close();
219
+ });
208
220
  });
209
221
  describe('BetterSqlite3Database Wrapper', () => {
210
222
  it('should provide access to native instance', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"database-abstraction.test.js","sourceRoot":"","sources":["../../../tests/db/database-abstraction.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"database-abstraction.test.js","sourceRoot":"","sources":["../../../tests/db/database-abstraction.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * SMI-2755 Wave 2: Schema migration edge case tests
3
+ *
4
+ * Tests for runMigrationsSafe, closeDatabase, and related schema
5
+ * functions from packages/core/src/db/schema.ts.
6
+ *
7
+ * Follows the import pattern from schema-async.test.ts.
8
+ */
9
+ export {};
10
+ //# sourceMappingURL=schema-migrations.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-migrations.test.d.ts","sourceRoot":"","sources":["../../../tests/db/schema-migrations.test.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
@@ -0,0 +1,134 @@
1
+ /**
2
+ * SMI-2755 Wave 2: Schema migration edge case tests
3
+ *
4
+ * Tests for runMigrationsSafe, closeDatabase, and related schema
5
+ * functions from packages/core/src/db/schema.ts.
6
+ *
7
+ * Follows the import pattern from schema-async.test.ts.
8
+ */
9
+ import { describe, it, expect, afterEach } from 'vitest';
10
+ import { createDatabaseAsync, runMigrationsSafe, closeDatabase, getSchemaVersion, SCHEMA_VERSION, MIGRATIONS, } from '../../src/db/schema.js';
11
+ import { isBetterSqlite3Available } from '../../src/db/drivers/betterSqlite3Driver.js';
12
+ // Evaluated once at module load — used by it.skipIf() to skip tests
13
+ // when the SQLite driver is unavailable (e.g. WASM fallback mode).
14
+ const skipIfNoSqlite = !isBetterSqlite3Available();
15
+ const testDatabases = [];
16
+ afterEach(() => {
17
+ for (const db of testDatabases) {
18
+ if (db.open) {
19
+ closeDatabase(db);
20
+ }
21
+ }
22
+ testDatabases.length = 0;
23
+ });
24
+ // Helper to get fresh in-memory db
25
+ async function freshDb() {
26
+ const db = await createDatabaseAsync(':memory:');
27
+ testDatabases.push(db);
28
+ return db;
29
+ }
30
+ // ============================================================================
31
+ // runMigrationsSafe
32
+ // ============================================================================
33
+ describe('runMigrationsSafe', () => {
34
+ it.skipIf(skipIfNoSqlite)('handles "duplicate column" SQLite error gracefully — does not throw', async () => {
35
+ const db = await freshDb();
36
+ // createDatabaseAsync already ran initializeSchema which includes all columns.
37
+ // Running migrations again should encounter "duplicate column" on version 2/4
38
+ // and handle it silently — no throw expected.
39
+ expect(() => runMigrationsSafe(db)).not.toThrow();
40
+ });
41
+ it.skipIf(skipIfNoSqlite)('does not throw when migrations are re-applied (idempotent)', async () => {
42
+ const db = await freshDb();
43
+ // Manually set schema_version to 0 so migration 1 runs again
44
+ db.exec('DELETE FROM schema_version');
45
+ db.prepare('INSERT INTO schema_version (version) VALUES (?)').run(0);
46
+ // Running migration 1 again will try to CREATE TABLE skills which already exists.
47
+ // Migration 1 uses CREATE TABLE IF NOT EXISTS so it's idempotent — this is fine.
48
+ // What we want to test is that genuine errors DO propagate.
49
+ // We patch: inject a failing migration by checking internal migration behavior.
50
+ // Since we cannot inject a broken SQL path easily without monkey-patching MIGRATIONS,
51
+ // we verify the inverse: migrations succeed gracefully for the known schema.
52
+ expect(() => runMigrationsSafe(db)).not.toThrow();
53
+ });
54
+ it.skipIf(skipIfNoSqlite)('handles FTS5 migration failure gracefully — does not throw', async () => {
55
+ const db = await freshDb();
56
+ // FTS5 table already exists from schema init. Running runMigrationsSafe
57
+ // calls db.exec(FTS5_MIGRATION_SQL) which attempts INSERT OR IGNORE — safe.
58
+ expect(() => runMigrationsSafe(db)).not.toThrow();
59
+ });
60
+ it.skipIf(skipIfNoSqlite)('returns migration count run (0 when already up-to-date)', async () => {
61
+ const db = await freshDb();
62
+ // Already at current schema version after createDatabaseAsync
63
+ const count = runMigrationsSafe(db);
64
+ expect(count).toBe(0); // All migrations already applied
65
+ });
66
+ it.skipIf(skipIfNoSqlite)('runs pending migrations and records version increments', async () => {
67
+ const db = await freshDb();
68
+ // Pin version to 1 (initial migration) to force re-running pending ones
69
+ // We need to delete all recorded versions above 1 to simulate pending state.
70
+ // Since the schema already has all columns, duplicate column errors are swallowed.
71
+ db.exec('DELETE FROM schema_version WHERE version > 1');
72
+ const migrationsRun = runMigrationsSafe(db);
73
+ // Should have run migrations 2 through SCHEMA_VERSION
74
+ const expectedRun = SCHEMA_VERSION - 1;
75
+ expect(migrationsRun).toBe(expectedRun);
76
+ // Version should now be up to date
77
+ const finalVersion = getSchemaVersion(db);
78
+ expect(finalVersion).toBe(SCHEMA_VERSION);
79
+ });
80
+ });
81
+ // ============================================================================
82
+ // closeDatabase
83
+ // ============================================================================
84
+ describe('closeDatabase', () => {
85
+ it.skipIf(skipIfNoSqlite)('closes an open database without error', async () => {
86
+ const db = await createDatabaseAsync(':memory:');
87
+ // Do NOT push to testDatabases — we close it manually
88
+ expect(db.open).toBe(true);
89
+ expect(() => closeDatabase(db)).not.toThrow();
90
+ expect(db.open).toBe(false);
91
+ });
92
+ });
93
+ // ============================================================================
94
+ // createDatabaseAsync — schema initialization
95
+ // ============================================================================
96
+ describe('createDatabaseAsync - schema initialization', () => {
97
+ it.skipIf(skipIfNoSqlite)('creates schema_version table and sets to current version', async () => {
98
+ const db = await freshDb();
99
+ const version = getSchemaVersion(db);
100
+ expect(version).toBe(SCHEMA_VERSION);
101
+ });
102
+ it.skipIf(skipIfNoSqlite)('initializes all required tables including schema_version', async () => {
103
+ const db = await freshDb();
104
+ const tables = db
105
+ .prepare(`SELECT name FROM sqlite_master
106
+ WHERE type='table' AND name NOT LIKE 'sqlite_%'
107
+ ORDER BY name`)
108
+ .all();
109
+ const tableNames = tables.map((t) => t.name);
110
+ expect(tableNames).toContain('schema_version');
111
+ expect(tableNames).toContain('skills');
112
+ expect(tableNames).toContain('sources');
113
+ expect(tableNames).toContain('categories');
114
+ expect(tableNames).toContain('cache');
115
+ expect(tableNames).toContain('audit_logs');
116
+ });
117
+ });
118
+ // ============================================================================
119
+ // MIGRATIONS array — version tracking
120
+ // ============================================================================
121
+ describe('MIGRATIONS array', () => {
122
+ it('has version numbers that strictly increment from 1', () => {
123
+ let prev = 0;
124
+ for (const m of MIGRATIONS) {
125
+ expect(m.version).toBeGreaterThan(prev);
126
+ prev = m.version;
127
+ }
128
+ });
129
+ it('last migration version equals SCHEMA_VERSION', () => {
130
+ const lastMigration = MIGRATIONS[MIGRATIONS.length - 1];
131
+ expect(lastMigration.version).toBe(SCHEMA_VERSION);
132
+ });
133
+ });
134
+ //# sourceMappingURL=schema-migrations.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-migrations.test.js","sourceRoot":"","sources":["../../../tests/db/schema-migrations.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * SMI-2756: Wave 3 — sqljsDriver edge-case tests
3
+ *
4
+ * Tests WASM driver edge cases including large result sets, idempotent close,
5
+ * and isSqlJsAvailable. The better-sqlite3 mock is scoped with vi.isolateModules()
6
+ * to prevent contaminating betterSqlite3Driver.test.ts.
7
+ */
8
+ export {};
9
+ //# sourceMappingURL=sqljsDriver.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqljsDriver.test.d.ts","sourceRoot":"","sources":["../../../tests/db/sqljsDriver.test.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * SMI-2756: Wave 3 — sqljsDriver edge-case tests
3
+ *
4
+ * Tests WASM driver edge cases including large result sets, idempotent close,
5
+ * and isSqlJsAvailable. The better-sqlite3 mock is scoped with vi.isolateModules()
6
+ * to prevent contaminating betterSqlite3Driver.test.ts.
7
+ */
8
+ import { describe, it, expect, afterEach } from 'vitest';
9
+ import { createSqlJsDatabase, SqlJsDatabaseAdapter, isSqlJsAvailable, } from '../../src/db/drivers/sqljsDriver.js';
10
+ describe('sqljsDriver — edge cases', () => {
11
+ describe('isSqlJsAvailable', () => {
12
+ it('returns true when fts5-sql-bundle is resolvable', () => {
13
+ // In a Docker/Node environment with the package installed this is always true
14
+ expect(isSqlJsAvailable()).toBe(true);
15
+ });
16
+ });
17
+ describe('createSqlJsDatabase', () => {
18
+ let db;
19
+ afterEach(() => {
20
+ if (db?.open)
21
+ db.close();
22
+ });
23
+ it('initialises successfully with in-memory path', async () => {
24
+ db = await createSqlJsDatabase(':memory:');
25
+ expect(db).toBeInstanceOf(SqlJsDatabaseAdapter);
26
+ expect(db.open).toBe(true);
27
+ expect(db.memory).toBe(true);
28
+ });
29
+ it('execute returns rows correctly', async () => {
30
+ db = await createSqlJsDatabase(':memory:');
31
+ db.exec('CREATE TABLE t (id INTEGER PRIMARY KEY, name TEXT)');
32
+ db.exec("INSERT INTO t (name) VALUES ('alpha'), ('beta')");
33
+ const stmt = db.prepare('SELECT * FROM t ORDER BY id');
34
+ const rows = stmt.all();
35
+ stmt.finalize();
36
+ expect(rows).toHaveLength(2);
37
+ expect(rows[0].name).toBe('alpha');
38
+ expect(rows[1].name).toBe('beta');
39
+ });
40
+ it('execute returns empty array when no rows match', async () => {
41
+ db = await createSqlJsDatabase(':memory:');
42
+ db.exec('CREATE TABLE empty (id INTEGER PRIMARY KEY)');
43
+ const stmt = db.prepare('SELECT * FROM empty');
44
+ const rows = stmt.all();
45
+ stmt.finalize();
46
+ expect(rows).toHaveLength(0);
47
+ });
48
+ it('close sets open to false without error', async () => {
49
+ db = await createSqlJsDatabase(':memory:');
50
+ expect(db.open).toBe(true);
51
+ db.close();
52
+ expect(db.open).toBe(false);
53
+ });
54
+ it('handles large result sets correctly (100 rows)', async () => {
55
+ db = await createSqlJsDatabase(':memory:');
56
+ db.exec('CREATE TABLE big (id INTEGER PRIMARY KEY, value TEXT)');
57
+ const insertStmt = db.prepare('INSERT INTO big (value) VALUES (?)');
58
+ for (let i = 0; i < 100; i++) {
59
+ insertStmt.run(`value_${i}`);
60
+ }
61
+ insertStmt.finalize();
62
+ const selectStmt = db.prepare('SELECT * FROM big');
63
+ const rows = selectStmt.all();
64
+ selectStmt.finalize();
65
+ expect(rows).toHaveLength(100);
66
+ expect(rows[0].value).toBe('value_0');
67
+ expect(rows[99].value).toBe('value_99');
68
+ });
69
+ it('fileMustExist throws when file does not exist', async () => {
70
+ const nonExistentPath = `/tmp/sqljs-nonexistent-${Date.now()}.db`;
71
+ await expect(createSqlJsDatabase(nonExistentPath, { fileMustExist: true })).rejects.toThrow(/SQLITE_CANTOPEN/);
72
+ });
73
+ });
74
+ });
75
+ //# sourceMappingURL=sqljsDriver.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqljsDriver.test.js","sourceRoot":"","sources":["../../../tests/db/sqljsDriver.test.ts"],"names":[],"mappings":"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"}
@@ -273,7 +273,10 @@ ${manyDependencies.map((d) => ` - ${d}`).join('\n')}
273
273
  const result = parser.parse(content);
274
274
  expect(result).not.toBeNull();
275
275
  if (result) {
276
- expect(result.dependencies.length).toBe(150);
276
+ // SMI-3135: old string[] format is passed through from frontmatter
277
+ const rawDeps = result.frontmatter.dependencies;
278
+ expect(Array.isArray(rawDeps)).toBe(true);
279
+ expect(rawDeps.length).toBe(150);
277
280
  }
278
281
  });
279
282
  it('should handle nested dependency structures', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"EdgeCases.test.js","sourceRoot":"","sources":["../../../tests/edge-cases/EdgeCases.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EdgeCases.test.js","sourceRoot":"","sources":["../../../tests/edge-cases/EdgeCases.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * @fileoverview Test database helpers — prevents "no such table" for migrated tables
3
+ * @see SMI-2749
4
+ *
5
+ * Use createTestDatabase() instead of createDatabase(':memory:') whenever tests
6
+ * need tables that only exist in migration files (e.g. skill_versions).
7
+ *
8
+ * WHY THIS EXISTS:
9
+ * createDatabase(':memory:') calls initializeSchema(), which records SCHEMA_VERSION=5
10
+ * directly in schema_version WITHOUT running the intermediate migration SQLs.
11
+ * runMigrations() then sees version=5 and skips all migrations — a no-op.
12
+ * Tables defined only in migration SQL (not in SCHEMA_SQL) are never created.
13
+ * Example: skill_versions is in MIGRATION_V5_SQL, not SCHEMA_SQL.
14
+ *
15
+ * createTestDatabase() iterates MIGRATIONS directly (no version gate) so every
16
+ * migration's SQL runs unconditionally. New migrations added to MIGRATIONS are
17
+ * automatically included — no change required here.
18
+ */
19
+ import type { Database } from '../../src/db/database-interface.js';
20
+ export { closeDatabase } from '../../src/db/schema.js';
21
+ export type { Database } from '../../src/db/database-interface.js';
22
+ /**
23
+ * Create an in-memory SQLite database with ALL schema + migrations applied.
24
+ *
25
+ * Safe to use for any test that needs migrated tables (e.g. skill_versions,
26
+ * sync_config, sync_history). Forward-compatible: new migrations added to
27
+ * MIGRATIONS are included automatically.
28
+ *
29
+ * @returns Database with full schema + all migrations applied
30
+ */
31
+ export declare function createTestDatabase(): Database;
32
+ //# sourceMappingURL=database.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../../tests/helpers/database.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AAGlE,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AACtD,YAAY,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AAElE;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,IAAI,QAAQ,CAsB7C"}