@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.
- package/README.md +2 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/src/analysis/DependencyMerger.d.ts +39 -0
- package/dist/src/analysis/DependencyMerger.d.ts.map +1 -0
- package/dist/src/analysis/DependencyMerger.js +191 -0
- package/dist/src/analysis/DependencyMerger.js.map +1 -0
- package/dist/src/analysis/DependencyMerger.test.d.ts +2 -0
- package/dist/src/analysis/DependencyMerger.test.d.ts.map +1 -0
- package/dist/src/analysis/DependencyMerger.test.js +258 -0
- package/dist/src/analysis/DependencyMerger.test.js.map +1 -0
- package/dist/src/analysis/McpReferenceExtractor.d.ts +42 -0
- package/dist/src/analysis/McpReferenceExtractor.d.ts.map +1 -0
- package/dist/src/analysis/McpReferenceExtractor.js +92 -0
- package/dist/src/analysis/McpReferenceExtractor.js.map +1 -0
- package/dist/src/analysis/McpReferenceExtractor.test.d.ts +2 -0
- package/dist/src/analysis/McpReferenceExtractor.test.d.ts.map +1 -0
- package/dist/src/analysis/McpReferenceExtractor.test.js +262 -0
- package/dist/src/analysis/McpReferenceExtractor.test.js.map +1 -0
- package/dist/src/api/client.d.ts +1 -0
- package/dist/src/api/client.d.ts.map +1 -1
- package/dist/src/api/client.health.d.ts +26 -0
- package/dist/src/api/client.health.d.ts.map +1 -0
- package/dist/src/api/client.health.js +74 -0
- package/dist/src/api/client.health.js.map +1 -0
- package/dist/src/api/client.js +3 -51
- package/dist/src/api/client.js.map +1 -1
- package/dist/src/api/schemas.d.ts +4 -4
- package/dist/src/db/createDatabase.d.ts +9 -1
- package/dist/src/db/createDatabase.d.ts.map +1 -1
- package/dist/src/db/createDatabase.js +9 -1
- package/dist/src/db/createDatabase.js.map +1 -1
- package/dist/src/db/drivers/sqljsDriver.d.ts.map +1 -1
- package/dist/src/db/drivers/sqljsDriver.js +7 -8
- package/dist/src/db/drivers/sqljsDriver.js.map +1 -1
- package/dist/src/db/migrations/v10-dependencies.d.ts +18 -0
- package/dist/src/db/migrations/v10-dependencies.d.ts.map +1 -0
- package/dist/src/db/migrations/v10-dependencies.js +50 -0
- package/dist/src/db/migrations/v10-dependencies.js.map +1 -0
- package/dist/src/db/migrations/v2-phase5-columns.d.ts +7 -0
- package/dist/src/db/migrations/v2-phase5-columns.d.ts.map +1 -0
- package/dist/src/db/migrations/v2-phase5-columns.js +16 -0
- package/dist/src/db/migrations/v2-phase5-columns.js.map +1 -0
- package/dist/src/db/migrations/v3-sync-tables.d.ts +6 -0
- package/dist/src/db/migrations/v3-sync-tables.d.ts.map +1 -0
- package/dist/src/db/migrations/v3-sync-tables.js +41 -0
- package/dist/src/db/migrations/v3-sync-tables.js.map +1 -0
- package/dist/src/db/migrations/v4-security-columns.d.ts +7 -0
- package/dist/src/db/migrations/v4-security-columns.d.ts.map +1 -0
- package/dist/src/db/migrations/v4-security-columns.js +17 -0
- package/dist/src/db/migrations/v4-security-columns.js.map +1 -0
- package/dist/src/db/migrations/v5b-change-type.d.ts +19 -0
- package/dist/src/db/migrations/v5b-change-type.d.ts.map +1 -0
- package/dist/src/db/migrations/v5b-change-type.js +22 -0
- package/dist/src/db/migrations/v5b-change-type.js.map +1 -0
- package/dist/src/db/migrations/v6-advisories.d.ts +32 -0
- package/dist/src/db/migrations/v6-advisories.d.ts.map +1 -0
- package/dist/src/db/migrations/v6-advisories.js +53 -0
- package/dist/src/db/migrations/v6-advisories.js.map +1 -0
- package/dist/src/db/migrations/v7-compatibility.d.ts +21 -0
- package/dist/src/db/migrations/v7-compatibility.d.ts.map +1 -0
- package/dist/src/db/migrations/v7-compatibility.js +23 -0
- package/dist/src/db/migrations/v7-compatibility.js.map +1 -0
- package/dist/src/db/migrations/v8-co-installs.d.ts +21 -0
- package/dist/src/db/migrations/v8-co-installs.d.ts.map +1 -0
- package/dist/src/db/migrations/v8-co-installs.js +33 -0
- package/dist/src/db/migrations/v8-co-installs.js.map +1 -0
- package/dist/src/db/schema.d.ts +5 -16
- package/dist/src/db/schema.d.ts.map +1 -1
- package/dist/src/db/schema.js +50 -79
- package/dist/src/db/schema.js.map +1 -1
- package/dist/src/exports/repositories.d.ts +6 -0
- package/dist/src/exports/repositories.d.ts.map +1 -1
- package/dist/src/exports/repositories.js +21 -0
- package/dist/src/exports/repositories.js.map +1 -1
- package/dist/src/exports/services.d.ts +2 -0
- package/dist/src/exports/services.d.ts.map +1 -1
- package/dist/src/exports/services.js +5 -0
- package/dist/src/exports/services.js.map +1 -1
- package/dist/src/exports/types.d.ts +2 -1
- package/dist/src/exports/types.d.ts.map +1 -1
- package/dist/src/exports/types.js.map +1 -1
- package/dist/src/indexer/GitHubIndexer.d.ts +3 -1
- package/dist/src/indexer/GitHubIndexer.d.ts.map +1 -1
- package/dist/src/indexer/GitHubIndexer.js.map +1 -1
- package/dist/src/indexer/SkillParser.d.ts +22 -9
- package/dist/src/indexer/SkillParser.d.ts.map +1 -1
- package/dist/src/indexer/SkillParser.js +17 -10
- package/dist/src/indexer/SkillParser.js.map +1 -1
- package/dist/src/learning/PatternStore.d.ts +0 -2
- package/dist/src/learning/PatternStore.d.ts.map +1 -1
- package/dist/src/learning/PatternStore.helpers.d.ts +19 -1
- package/dist/src/learning/PatternStore.helpers.d.ts.map +1 -1
- package/dist/src/learning/PatternStore.helpers.js +51 -0
- package/dist/src/learning/PatternStore.helpers.js.map +1 -1
- package/dist/src/learning/PatternStore.js +5 -37
- package/dist/src/learning/PatternStore.js.map +1 -1
- package/dist/src/repositories/AdvisoryRepository.d.ts +80 -0
- package/dist/src/repositories/AdvisoryRepository.d.ts.map +1 -0
- package/dist/src/repositories/AdvisoryRepository.js +128 -0
- package/dist/src/repositories/AdvisoryRepository.js.map +1 -0
- package/dist/src/repositories/AdvisoryRepository.test.d.ts +6 -0
- package/dist/src/repositories/AdvisoryRepository.test.d.ts.map +1 -0
- package/dist/src/repositories/AdvisoryRepository.test.js +149 -0
- package/dist/src/repositories/AdvisoryRepository.test.js.map +1 -0
- package/dist/src/repositories/CoInstallRepository.d.ts +68 -0
- package/dist/src/repositories/CoInstallRepository.d.ts.map +1 -0
- package/dist/src/repositories/CoInstallRepository.js +122 -0
- package/dist/src/repositories/CoInstallRepository.js.map +1 -0
- package/dist/src/repositories/IndexerRepository.d.ts.map +1 -1
- package/dist/src/repositories/IndexerRepository.js +5 -1
- package/dist/src/repositories/IndexerRepository.js.map +1 -1
- package/dist/src/repositories/SkillDependencyRepository.d.ts +73 -0
- package/dist/src/repositories/SkillDependencyRepository.d.ts.map +1 -0
- package/dist/src/repositories/SkillDependencyRepository.js +199 -0
- package/dist/src/repositories/SkillDependencyRepository.js.map +1 -0
- package/dist/src/repositories/SkillRepository.d.ts.map +1 -1
- package/dist/src/repositories/SkillRepository.js +16 -5
- package/dist/src/repositories/SkillRepository.js.map +1 -1
- package/dist/src/scripts/validation/types.d.ts +2 -2
- package/dist/src/services/SearchService.helpers.d.ts.map +1 -1
- package/dist/src/services/SearchService.helpers.js +4 -0
- package/dist/src/services/SearchService.helpers.js.map +1 -1
- package/dist/src/services/SearchService.types.d.ts +1 -0
- package/dist/src/services/SearchService.types.d.ts.map +1 -1
- package/dist/src/services/TaskRunner.d.ts +5 -81
- package/dist/src/services/TaskRunner.d.ts.map +1 -1
- package/dist/src/services/TaskRunner.js +7 -68
- package/dist/src/services/TaskRunner.js.map +1 -1
- package/dist/src/services/TaskRunner.process.d.ts +33 -0
- package/dist/src/services/TaskRunner.process.d.ts.map +1 -0
- package/dist/src/services/TaskRunner.process.js +70 -0
- package/dist/src/services/TaskRunner.process.js.map +1 -0
- package/dist/src/services/TaskRunner.types.d.ts +76 -0
- package/dist/src/services/TaskRunner.types.d.ts.map +1 -0
- package/dist/src/services/TaskRunner.types.js +22 -0
- package/dist/src/services/TaskRunner.types.js.map +1 -0
- package/dist/src/services/__tests__/TaskRunner.process.test.d.ts +13 -0
- package/dist/src/services/__tests__/TaskRunner.process.test.d.ts.map +1 -0
- package/dist/src/services/__tests__/TaskRunner.process.test.js +91 -0
- package/dist/src/services/__tests__/TaskRunner.process.test.js.map +1 -0
- package/dist/src/services/quarantine/QuarantineService.d.ts +3 -24
- package/dist/src/services/quarantine/QuarantineService.d.ts.map +1 -1
- package/dist/src/services/quarantine/QuarantineService.js +8 -205
- package/dist/src/services/quarantine/QuarantineService.js.map +1 -1
- package/dist/src/services/quarantine/QuarantineService.multiapproval.d.ts +57 -0
- package/dist/src/services/quarantine/QuarantineService.multiapproval.d.ts.map +1 -0
- package/dist/src/services/quarantine/QuarantineService.multiapproval.js +211 -0
- package/dist/src/services/quarantine/QuarantineService.multiapproval.js.map +1 -0
- package/dist/src/session/SessionManager.d.ts +2 -33
- package/dist/src/session/SessionManager.d.ts.map +1 -1
- package/dist/src/session/SessionManager.js +14 -238
- package/dist/src/session/SessionManager.js.map +1 -1
- package/dist/src/session/SessionManager.memory.d.ts +67 -0
- package/dist/src/session/SessionManager.memory.d.ts.map +1 -0
- package/dist/src/session/SessionManager.memory.js +262 -0
- package/dist/src/session/SessionManager.memory.js.map +1 -0
- package/dist/src/sources/SourceIndexer.d.ts +3 -1
- package/dist/src/sources/SourceIndexer.d.ts.map +1 -1
- package/dist/src/sources/SourceIndexer.js.map +1 -1
- package/dist/src/sync/SyncEngine.d.ts +13 -1
- package/dist/src/sync/SyncEngine.d.ts.map +1 -1
- package/dist/src/sync/SyncEngine.js +50 -1
- package/dist/src/sync/SyncEngine.js.map +1 -1
- package/dist/src/testing/MultiLLMProvider.d.ts +5 -6
- package/dist/src/testing/MultiLLMProvider.d.ts.map +1 -1
- package/dist/src/testing/MultiLLMProvider.js +18 -130
- package/dist/src/testing/MultiLLMProvider.js.map +1 -1
- package/dist/src/testing/MultiLLMProvider.metrics.d.ts +33 -0
- package/dist/src/testing/MultiLLMProvider.metrics.d.ts.map +1 -0
- package/dist/src/testing/MultiLLMProvider.metrics.js +87 -0
- package/dist/src/testing/MultiLLMProvider.metrics.js.map +1 -0
- package/dist/src/testing/MultiLLMProvider.selection.d.ts +77 -0
- package/dist/src/testing/MultiLLMProvider.selection.d.ts.map +1 -0
- package/dist/src/testing/MultiLLMProvider.selection.js +151 -0
- package/dist/src/testing/MultiLLMProvider.selection.js.map +1 -0
- package/dist/src/types/dependencies.d.ts +85 -0
- package/dist/src/types/dependencies.d.ts.map +1 -0
- package/dist/src/types/dependencies.js +11 -0
- package/dist/src/types/dependencies.js.map +1 -0
- package/dist/src/types/skill.d.ts +13 -0
- package/dist/src/types/skill.d.ts.map +1 -1
- package/dist/src/types/skill.js.map +1 -1
- package/dist/src/types.d.ts +32 -0
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/versioning/change-classifier.d.ts +38 -0
- package/dist/src/versioning/change-classifier.d.ts.map +1 -0
- package/dist/src/versioning/change-classifier.js +187 -0
- package/dist/src/versioning/change-classifier.js.map +1 -0
- package/dist/src/versioning/change-classifier.test.d.ts +6 -0
- package/dist/src/versioning/change-classifier.test.d.ts.map +1 -0
- package/dist/src/versioning/change-classifier.test.js +275 -0
- package/dist/src/versioning/change-classifier.test.js.map +1 -0
- package/dist/src/versioning/update-risk.d.ts +50 -0
- package/dist/src/versioning/update-risk.d.ts.map +1 -0
- package/dist/src/versioning/update-risk.js +80 -0
- package/dist/src/versioning/update-risk.js.map +1 -0
- package/dist/src/versioning/update-risk.test.d.ts +6 -0
- package/dist/src/versioning/update-risk.test.d.ts.map +1 -0
- package/dist/src/versioning/update-risk.test.js +200 -0
- package/dist/src/versioning/update-risk.test.js.map +1 -0
- package/dist/tests/AuditLogger.edge-cases.test.d.ts +10 -0
- package/dist/tests/AuditLogger.edge-cases.test.d.ts.map +1 -0
- package/dist/tests/AuditLogger.edge-cases.test.js +183 -0
- package/dist/tests/AuditLogger.edge-cases.test.js.map +1 -0
- package/dist/tests/CacheManager.test.d.ts +9 -0
- package/dist/tests/CacheManager.test.d.ts.map +1 -0
- package/dist/tests/CacheManager.test.js +163 -0
- package/dist/tests/CacheManager.test.js.map +1 -0
- package/dist/tests/DailyIndexPipeline.test.js +3 -3
- package/dist/tests/DailyIndexPipeline.test.js.map +1 -1
- package/dist/tests/GitHubIndexer.edge-cases.test.d.ts +10 -0
- package/dist/tests/GitHubIndexer.edge-cases.test.d.ts.map +1 -0
- package/dist/tests/GitHubIndexer.edge-cases.test.js +255 -0
- package/dist/tests/GitHubIndexer.edge-cases.test.js.map +1 -0
- package/dist/tests/GitHubIndexer.test.js +4 -2
- package/dist/tests/GitHubIndexer.test.js.map +1 -1
- package/dist/tests/SearchService.test.js +71 -0
- package/dist/tests/SearchService.test.js.map +1 -1
- package/dist/tests/SkillVersionRepository.test.d.ts +0 -11
- package/dist/tests/SkillVersionRepository.test.d.ts.map +1 -1
- package/dist/tests/SkillVersionRepository.test.js +131 -194
- package/dist/tests/SkillVersionRepository.test.js.map +1 -1
- package/dist/tests/api/client.health.test.d.ts +15 -0
- package/dist/tests/api/client.health.test.d.ts.map +1 -0
- package/dist/tests/api/client.health.test.js +111 -0
- package/dist/tests/api/client.health.test.js.map +1 -0
- package/dist/tests/db/betterSqlite3Driver.test.d.ts +8 -0
- package/dist/tests/db/betterSqlite3Driver.test.d.ts.map +1 -0
- package/dist/tests/db/betterSqlite3Driver.test.js +88 -0
- package/dist/tests/db/betterSqlite3Driver.test.js.map +1 -0
- package/dist/tests/db/database-abstraction.test.js +12 -0
- package/dist/tests/db/database-abstraction.test.js.map +1 -1
- package/dist/tests/db/schema-migrations.test.d.ts +10 -0
- package/dist/tests/db/schema-migrations.test.d.ts.map +1 -0
- package/dist/tests/db/schema-migrations.test.js +134 -0
- package/dist/tests/db/schema-migrations.test.js.map +1 -0
- package/dist/tests/db/sqljsDriver.test.d.ts +9 -0
- package/dist/tests/db/sqljsDriver.test.d.ts.map +1 -0
- package/dist/tests/db/sqljsDriver.test.js +75 -0
- package/dist/tests/db/sqljsDriver.test.js.map +1 -0
- package/dist/tests/edge-cases/EdgeCases.test.js +4 -1
- package/dist/tests/edge-cases/EdgeCases.test.js.map +1 -1
- package/dist/tests/helpers/database.d.ts +32 -0
- package/dist/tests/helpers/database.d.ts.map +1 -0
- package/dist/tests/helpers/database.js +54 -0
- package/dist/tests/helpers/database.js.map +1 -0
- package/dist/tests/learning/PatternStore.helpers.test.d.ts +17 -0
- package/dist/tests/learning/PatternStore.helpers.test.d.ts.map +1 -0
- package/dist/tests/learning/PatternStore.helpers.test.js +301 -0
- package/dist/tests/learning/PatternStore.helpers.test.js.map +1 -0
- package/dist/tests/repositories/CoInstallRepository.test.d.ts +9 -0
- package/dist/tests/repositories/CoInstallRepository.test.d.ts.map +1 -0
- package/dist/tests/repositories/CoInstallRepository.test.js +126 -0
- package/dist/tests/repositories/CoInstallRepository.test.js.map +1 -0
- package/dist/tests/repositories/SkillDependencyRepository.test.d.ts +10 -0
- package/dist/tests/repositories/SkillDependencyRepository.test.d.ts.map +1 -0
- package/dist/tests/repositories/SkillDependencyRepository.test.js +336 -0
- package/dist/tests/repositories/SkillDependencyRepository.test.js.map +1 -0
- package/dist/tests/routing/LanguageRouter.test.d.ts +9 -0
- package/dist/tests/routing/LanguageRouter.test.d.ts.map +1 -0
- package/dist/tests/routing/LanguageRouter.test.js +150 -0
- package/dist/tests/routing/LanguageRouter.test.js.map +1 -0
- package/dist/tests/session/SessionManager.memory.test.d.ts +11 -0
- package/dist/tests/session/SessionManager.memory.test.d.ts.map +1 -0
- package/dist/tests/session/SessionManager.memory.test.js +219 -0
- package/dist/tests/session/SessionManager.memory.test.js.map +1 -0
- package/dist/tests/sources.test.js +1 -1
- package/dist/tests/sources.test.js.map +1 -1
- package/dist/tests/sync/SyncEngine.test.js +32 -18
- package/dist/tests/sync/SyncEngine.test.js.map +1 -1
- package/dist/tests/testing/MultiLLMProvider.metrics.test.d.ts +13 -0
- package/dist/tests/testing/MultiLLMProvider.metrics.test.d.ts.map +1 -0
- package/dist/tests/testing/MultiLLMProvider.metrics.test.js +149 -0
- package/dist/tests/testing/MultiLLMProvider.metrics.test.js.map +1 -0
- package/dist/tests/testing/MultiLLMProvider.selection.test.d.ts +15 -0
- package/dist/tests/testing/MultiLLMProvider.selection.test.d.ts.map +1 -0
- package/dist/tests/testing/MultiLLMProvider.selection.test.js +249 -0
- package/dist/tests/testing/MultiLLMProvider.selection.test.js.map +1 -0
- package/dist/tests/unit/migrations/v10-dependencies.test.d.ts +6 -0
- package/dist/tests/unit/migrations/v10-dependencies.test.d.ts.map +1 -0
- package/dist/tests/unit/migrations/v10-dependencies.test.js +166 -0
- package/dist/tests/unit/migrations/v10-dependencies.test.js.map +1 -0
- package/dist/tests/unit/quarantine-query-builder.test.d.ts +10 -0
- package/dist/tests/unit/quarantine-query-builder.test.d.ts.map +1 -0
- package/dist/tests/unit/quarantine-query-builder.test.js +157 -0
- package/dist/tests/unit/quarantine-query-builder.test.js.map +1 -0
- 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":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AACxD,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,qCAAqC,CAAA;AAE5C,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAChC,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;YACzD,8EAA8E;YAC9E,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACvC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACnC,IAAI,EAAwB,CAAA;QAE5B,SAAS,CAAC,GAAG,EAAE;YACb,IAAI,EAAE,EAAE,IAAI;gBAAE,EAAE,CAAC,KAAK,EAAE,CAAA;QAC1B,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;YAC5D,EAAE,GAAG,MAAM,mBAAmB,CAAC,UAAU,CAAC,CAAA;YAE1C,MAAM,CAAC,EAAE,CAAC,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAA;YAC/C,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAC1B,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC9B,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;YAC9C,EAAE,GAAG,MAAM,mBAAmB,CAAC,UAAU,CAAC,CAAA;YAC1C,EAAE,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAA;YAC7D,EAAE,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAA;YAE1D,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAA+B,6BAA6B,CAAC,CAAA;YACpF,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;YACvB,IAAI,CAAC,QAAQ,EAAE,CAAA;YAEf,MAAM,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;YAC5B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAClC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACnC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;YAC9D,EAAE,GAAG,MAAM,mBAAmB,CAAC,UAAU,CAAC,CAAA;YAC1C,EAAE,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAA;YAEtD,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAiB,qBAAqB,CAAC,CAAA;YAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;YACvB,IAAI,CAAC,QAAQ,EAAE,CAAA;YAEf,MAAM,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QAC9B,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;YACtD,EAAE,GAAG,MAAM,mBAAmB,CAAC,UAAU,CAAC,CAAA;YAC1C,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAC1B,EAAE,CAAC,KAAK,EAAE,CAAA;YACV,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC7B,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;YAC9D,EAAE,GAAG,MAAM,mBAAmB,CAAC,UAAU,CAAC,CAAA;YAC1C,EAAE,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAA;YAEhE,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAA;YACnE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC7B,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;YAC9B,CAAC;YACD,UAAU,CAAC,QAAQ,EAAE,CAAA;YAErB,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,CAAgC,mBAAmB,CAAC,CAAA;YACjF,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,EAAE,CAAA;YAC7B,UAAU,CAAC,QAAQ,EAAE,CAAA;YAErB,MAAM,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;YAC9B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YACrC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACzC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;YAC7D,MAAM,eAAe,GAAG,0BAA0B,IAAI,CAAC,GAAG,EAAE,KAAK,CAAA;YAEjE,MAAM,MAAM,CAAC,mBAAmB,CAAC,eAAe,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CACzF,iBAAiB,CAClB,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -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
|
-
|
|
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"}
|