@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
|
@@ -9,11 +9,11 @@ import { z } from 'zod';
|
|
|
9
9
|
* Trust tier enum values
|
|
10
10
|
*/
|
|
11
11
|
export declare const TrustTierSchema: z.ZodEnum<{
|
|
12
|
+
unknown: "unknown";
|
|
12
13
|
verified: "verified";
|
|
13
14
|
curated: "curated";
|
|
14
15
|
community: "community";
|
|
15
16
|
experimental: "experimental";
|
|
16
|
-
unknown: "unknown";
|
|
17
17
|
}>;
|
|
18
18
|
/**
|
|
19
19
|
* Schema for individual search result from API
|
|
@@ -28,11 +28,11 @@ export declare const ApiSearchResultSchema: z.ZodObject<{
|
|
|
28
28
|
repo_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
29
29
|
quality_score: z.ZodNullable<z.ZodNumber>;
|
|
30
30
|
trust_tier: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
|
|
31
|
+
unknown: "unknown";
|
|
31
32
|
verified: "verified";
|
|
32
33
|
curated: "curated";
|
|
33
34
|
community: "community";
|
|
34
35
|
experimental: "experimental";
|
|
35
|
-
unknown: "unknown";
|
|
36
36
|
}>>>;
|
|
37
37
|
tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
38
38
|
stars: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
@@ -69,11 +69,11 @@ export declare const SearchResponseSchema: z.ZodObject<{
|
|
|
69
69
|
repo_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
70
70
|
quality_score: z.ZodNullable<z.ZodNumber>;
|
|
71
71
|
trust_tier: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
|
|
72
|
+
unknown: "unknown";
|
|
72
73
|
verified: "verified";
|
|
73
74
|
curated: "curated";
|
|
74
75
|
community: "community";
|
|
75
76
|
experimental: "experimental";
|
|
76
|
-
unknown: "unknown";
|
|
77
77
|
}>>>;
|
|
78
78
|
tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
79
79
|
stars: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
@@ -96,11 +96,11 @@ export declare const SingleSkillResponseSchema: z.ZodObject<{
|
|
|
96
96
|
repo_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
97
97
|
quality_score: z.ZodNullable<z.ZodNumber>;
|
|
98
98
|
trust_tier: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
|
|
99
|
+
unknown: "unknown";
|
|
99
100
|
verified: "verified";
|
|
100
101
|
curated: "curated";
|
|
101
102
|
community: "community";
|
|
102
103
|
experimental: "experimental";
|
|
103
|
-
unknown: "unknown";
|
|
104
104
|
}>>>;
|
|
105
105
|
tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
106
106
|
stars: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
@@ -61,8 +61,16 @@ export declare function createDatabaseSync(path?: string, options?: DatabaseOpti
|
|
|
61
61
|
*
|
|
62
62
|
* @param path - Path to database file, or ':memory:' for in-memory
|
|
63
63
|
* @param options - Database connection options
|
|
64
|
-
* @returns Promise resolving to Database instance
|
|
64
|
+
* @returns Promise resolving to Database instance (bare connection — caller must call initializeSchema)
|
|
65
65
|
* @throws Error if no database driver is available
|
|
66
|
+
*
|
|
67
|
+
* @important This factory returns a **bare connection with no schema tables**. Unlike the
|
|
68
|
+
* sync path, no schema initialization happens automatically. Always call `initializeSchema(db)`
|
|
69
|
+
* immediately after for new/application databases:
|
|
70
|
+
* ```typescript
|
|
71
|
+
* const db = await createDatabaseAsync(path)
|
|
72
|
+
* initializeSchema(db) // required — creates tables if they don't exist
|
|
73
|
+
* ```
|
|
66
74
|
*/
|
|
67
75
|
export declare function createDatabaseAsync(path?: string, options?: DatabaseOptions): Promise<Database>;
|
|
68
76
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createDatabase.d.ts","sourceRoot":"","sources":["../../../src/db/createDatabase.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAOxE;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,gBAAgB,GAAG,QAAQ,CAAA;AAEpD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,UAAU,EAAE,CA0BrD;AAED;;;GAGG;AACH,wBAAgB,aAAa,IAAI,UAAU,GAAG,IAAI,CAiBjD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,GAAE,MAAmB,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,QAAQ,CAgBjG;AAED
|
|
1
|
+
{"version":3,"file":"createDatabase.d.ts","sourceRoot":"","sources":["../../../src/db/createDatabase.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAOxE;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,gBAAgB,GAAG,QAAQ,CAAA;AAEpD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,UAAU,EAAE,CA0BrD;AAED;;;GAGG;AACH,wBAAgB,aAAa,IAAI,UAAU,GAAG,IAAI,CAiBjD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,GAAE,MAAmB,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,QAAQ,CAgBjG;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,GAAE,MAAmB,EACzB,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,QAAQ,CAAC,CA+BnB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,cAAc,2BAAqB,CAAA"}
|
|
@@ -102,8 +102,16 @@ export function createDatabaseSync(path = ':memory:', options) {
|
|
|
102
102
|
*
|
|
103
103
|
* @param path - Path to database file, or ':memory:' for in-memory
|
|
104
104
|
* @param options - Database connection options
|
|
105
|
-
* @returns Promise resolving to Database instance
|
|
105
|
+
* @returns Promise resolving to Database instance (bare connection — caller must call initializeSchema)
|
|
106
106
|
* @throws Error if no database driver is available
|
|
107
|
+
*
|
|
108
|
+
* @important This factory returns a **bare connection with no schema tables**. Unlike the
|
|
109
|
+
* sync path, no schema initialization happens automatically. Always call `initializeSchema(db)`
|
|
110
|
+
* immediately after for new/application databases:
|
|
111
|
+
* ```typescript
|
|
112
|
+
* const db = await createDatabaseAsync(path)
|
|
113
|
+
* initializeSchema(db) // required — creates tables if they don't exist
|
|
114
|
+
* ```
|
|
107
115
|
*/
|
|
108
116
|
export async function createDatabaseAsync(path = ':memory:', options) {
|
|
109
117
|
// Allow env var override for testing WASM path in Docker
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createDatabase.js","sourceRoot":"","sources":["../../../src/db/createDatabase.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EACL,2BAA2B,EAC3B,wBAAwB,GACzB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAgBhF;;;GAGG;AACH,MAAM,UAAU,sBAAsB;IACpC,MAAM,OAAO,GAAiB,EAAE,CAAA;IAEhC,uBAAuB;IACvB,IAAI,wBAAwB,EAAE,EAAE,CAAC;QAC/B,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAC3D,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,gBAAgB;YACtB,SAAS,EAAE,KAAK;YAChB,MAAM,EAAE,uEAAuE;SAChF,CAAC,CAAA;IACJ,CAAC;IAED,oDAAoD;IACpD,IAAI,gBAAgB,EAAE,EAAE,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACnD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,KAAK;YAChB,MAAM,EAAE,8BAA8B;SACvC,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa;IAC3B,yDAAyD;IACzD,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,KAAK,MAAM,EAAE,CAAC;QACjD,OAAO,gBAAgB,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAA;IAC7C,CAAC;IAED,gCAAgC;IAChC,IAAI,wBAAwB,EAAE,EAAE,CAAC;QAC/B,OAAO,gBAAgB,CAAA;IACzB,CAAC;IAED,2BAA2B;IAC3B,IAAI,gBAAgB,EAAE,EAAE,CAAC;QACvB,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAe,UAAU,EAAE,OAAyB;IACrF,IAAI,CAAC,wBAAwB,EAAE,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CACb,uEAAuE;YACrE,uBAAuB;YACvB,iEAAiE;YACjE,gCAAgC;YAChC,oCAAoC;YACpC,cAAc;YACd,yDAAyD;YACzD,yDAAyD;YACzD,2DAA2D,CAC9D,CAAA;IACH,CAAC;IAED,OAAO,2BAA2B,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;AACnD,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"createDatabase.js","sourceRoot":"","sources":["../../../src/db/createDatabase.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqljsDriver.d.ts","sourceRoot":"","sources":["../../../../src/db/drivers/sqljsDriver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAa,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAY/F,UAAU,aAAa;IACrB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAA;IACpC,MAAM,IAAI,UAAU,CAAA;IACpB,KAAK,IAAI,IAAI,CAAA;CACd;AAED,UAAU,cAAc;IACtB,IAAI,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,OAAO,CAAA;IACvC,IAAI,IAAI,OAAO,CAAA;IACf,GAAG,IAAI,UAAU,EAAE,CAAA;IACnB,cAAc,IAAI,MAAM,EAAE,CAAA;IAC1B,KAAK,IAAI,IAAI,CAAA;IACb,IAAI,IAAI,IAAI,CAAA;CACb;AAGD,KAAK,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,UAAU,CAAA;AACrD,KAAK,eAAe,GAAG,UAAU,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"sqljsDriver.d.ts","sourceRoot":"","sources":["../../../../src/db/drivers/sqljsDriver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAa,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAY/F,UAAU,aAAa;IACrB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAA;IACpC,MAAM,IAAI,UAAU,CAAA;IACpB,KAAK,IAAI,IAAI,CAAA;CACd;AAED,UAAU,cAAc;IACtB,IAAI,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,OAAO,CAAA;IACvC,IAAI,IAAI,OAAO,CAAA;IACf,GAAG,IAAI,UAAU,EAAE,CAAA;IACnB,cAAc,IAAI,MAAM,EAAE,CAAA;IAC1B,KAAK,IAAI,IAAI,CAAA;IACb,IAAI,IAAI,IAAI,CAAA;CACb;AAGD,KAAK,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,UAAU,CAAA;AACrD,KAAK,eAAe,GAAG,UAAU,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;AA2KhE;;GAEG;AACH,qBAAa,oBAAqB,YAAW,QAAQ;IAQjD,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAR3B,OAAO,CAAC,KAAK,CAAO;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IAEnC,OAAO,CAAC,iBAAiB,CAAI;gBAGV,EAAE,EAAE,aAAa,EACjB,QAAQ,EAAE,MAAM,EACjC,OAAO,CAAC,EAAE,eAAe;IAM3B,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIvB,OAAO,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;IAI/C,WAAW,CAAC,CAAC,EAAE,IAAI,SAAS,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,CAAC;IAuC3F,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAsB/B,KAAK,IAAI,IAAI;IAYb;;OAEG;IACH,OAAO,IAAI,IAAI;IAOf;;;OAGG;IACH,MAAM,IAAI,UAAU;IAIpB,IAAI,IAAI,IAAI,OAAO,CAElB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;;;OAGG;IACH,IAAI,MAAM,IAAI,aAAa,CAE1B;CACF;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,GAAE,MAAmB,EACzB,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,oBAAoB,CAAC,CAqB/B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAO1C"}
|
|
@@ -31,14 +31,13 @@ async function loadSqlJs() {
|
|
|
31
31
|
try {
|
|
32
32
|
// Dynamic import to avoid loading at module evaluation time
|
|
33
33
|
// Using fts5-sql-bundle for FTS5 full-text search support
|
|
34
|
-
//
|
|
35
|
-
|
|
36
|
-
const
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
const initSqlJs = module.initSqlJs || module.default?.initSqlJs || module.default?.default || module.default;
|
|
34
|
+
// Typed via ambient declaration in fts5-sql-bundle.d.ts (SMI-2742)
|
|
35
|
+
const module = await import('fts5-sql-bundle');
|
|
36
|
+
const fallback = module.default;
|
|
37
|
+
const initSqlJs = module.initSqlJs || fallback?.initSqlJs || fallback?.default || fallback;
|
|
38
|
+
if (!initSqlJs) {
|
|
39
|
+
throw new Error('[Skillsmith] fts5-sql-bundle: could not locate initSqlJs export');
|
|
40
|
+
}
|
|
42
41
|
// Initialize with bundled WASM - fts5-sql-bundle has a built-in locateFile
|
|
43
42
|
// that correctly resolves the WASM file in its dist/ directory
|
|
44
43
|
sqlJsModule = (await initSqlJs());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqljsDriver.js","sourceRoot":"","sources":["../../../../src/db/drivers/sqljsDriver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAE3C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAEjE,oDAAoD;AACpD,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AA4B9C,+CAA+C;AAC/C,IAAI,WAAW,GAAuB,IAAI,CAAA;AAE1C;;;GAGG;AACH,KAAK,UAAU,SAAS;IACtB,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,WAAW,CAAA;IACpB,CAAC;IAED,IAAI,CAAC;QACH,4DAA4D;QAC5D,0DAA0D;QAC1D,
|
|
1
|
+
{"version":3,"file":"sqljsDriver.js","sourceRoot":"","sources":["../../../../src/db/drivers/sqljsDriver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Migration v10 — skill_dependencies table
|
|
3
|
+
* @module @skillsmith/core/db/migrations/v10-dependencies
|
|
4
|
+
* @see Architecture: ../research/skill-dependency-intelligence-architecture.md §4
|
|
5
|
+
*
|
|
6
|
+
* Stores declared and inferred dependency records for skills.
|
|
7
|
+
* Three signal sources: author declaration, static mcp__* analysis,
|
|
8
|
+
* and co-install behavioral inference.
|
|
9
|
+
*
|
|
10
|
+
* Design notes:
|
|
11
|
+
* - No FK on skill_id — soft reference, dep records survive skill removal
|
|
12
|
+
* (matches SkillVersionRepository pattern)
|
|
13
|
+
* - dep_source distinguishes declared vs inferred for confidence filtering
|
|
14
|
+
* - Unique index on (skill_id, dep_type, dep_target, dep_source) prevents
|
|
15
|
+
* duplicate rows from repeated inference runs
|
|
16
|
+
*/
|
|
17
|
+
export declare const MIGRATION_V10_SQL = "\nCREATE TABLE IF NOT EXISTS skill_dependencies (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n skill_id TEXT NOT NULL,\n dep_type TEXT NOT NULL CHECK (dep_type IN (\n 'skill_hard', 'skill_soft', 'skill_peer',\n 'mcp_server',\n 'model_minimum', 'model_capability',\n 'env_tool', 'env_os', 'env_node',\n 'cli_version',\n 'conflict'\n )),\n dep_target TEXT NOT NULL,\n dep_version TEXT,\n dep_source TEXT NOT NULL CHECK (dep_source IN (\n 'declared',\n 'inferred_static',\n 'inferred_coinstall'\n )),\n confidence REAL CHECK (confidence IS NULL OR (confidence >= 0.0 AND confidence <= 1.0)),\n metadata TEXT,\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n updated_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\nCREATE INDEX IF NOT EXISTS idx_skill_deps_skill ON skill_dependencies(skill_id);\nCREATE INDEX IF NOT EXISTS idx_skill_deps_target ON skill_dependencies(dep_target);\nCREATE INDEX IF NOT EXISTS idx_skill_deps_type ON skill_dependencies(dep_type);\nCREATE INDEX IF NOT EXISTS idx_skill_deps_source ON skill_dependencies(dep_source);\n\nCREATE UNIQUE INDEX IF NOT EXISTS idx_skill_deps_unique\n ON skill_dependencies(skill_id, dep_type, dep_target, dep_source);\n";
|
|
18
|
+
//# sourceMappingURL=v10-dependencies.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v10-dependencies.d.ts","sourceRoot":"","sources":["../../../../src/db/migrations/v10-dependencies.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,iBAAiB,usCAgC7B,CAAA"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Migration v10 — skill_dependencies table
|
|
3
|
+
* @module @skillsmith/core/db/migrations/v10-dependencies
|
|
4
|
+
* @see Architecture: ../research/skill-dependency-intelligence-architecture.md §4
|
|
5
|
+
*
|
|
6
|
+
* Stores declared and inferred dependency records for skills.
|
|
7
|
+
* Three signal sources: author declaration, static mcp__* analysis,
|
|
8
|
+
* and co-install behavioral inference.
|
|
9
|
+
*
|
|
10
|
+
* Design notes:
|
|
11
|
+
* - No FK on skill_id — soft reference, dep records survive skill removal
|
|
12
|
+
* (matches SkillVersionRepository pattern)
|
|
13
|
+
* - dep_source distinguishes declared vs inferred for confidence filtering
|
|
14
|
+
* - Unique index on (skill_id, dep_type, dep_target, dep_source) prevents
|
|
15
|
+
* duplicate rows from repeated inference runs
|
|
16
|
+
*/
|
|
17
|
+
export const MIGRATION_V10_SQL = `
|
|
18
|
+
CREATE TABLE IF NOT EXISTS skill_dependencies (
|
|
19
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
20
|
+
skill_id TEXT NOT NULL,
|
|
21
|
+
dep_type TEXT NOT NULL CHECK (dep_type IN (
|
|
22
|
+
'skill_hard', 'skill_soft', 'skill_peer',
|
|
23
|
+
'mcp_server',
|
|
24
|
+
'model_minimum', 'model_capability',
|
|
25
|
+
'env_tool', 'env_os', 'env_node',
|
|
26
|
+
'cli_version',
|
|
27
|
+
'conflict'
|
|
28
|
+
)),
|
|
29
|
+
dep_target TEXT NOT NULL,
|
|
30
|
+
dep_version TEXT,
|
|
31
|
+
dep_source TEXT NOT NULL CHECK (dep_source IN (
|
|
32
|
+
'declared',
|
|
33
|
+
'inferred_static',
|
|
34
|
+
'inferred_coinstall'
|
|
35
|
+
)),
|
|
36
|
+
confidence REAL CHECK (confidence IS NULL OR (confidence >= 0.0 AND confidence <= 1.0)),
|
|
37
|
+
metadata TEXT,
|
|
38
|
+
created_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
39
|
+
updated_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
40
|
+
);
|
|
41
|
+
|
|
42
|
+
CREATE INDEX IF NOT EXISTS idx_skill_deps_skill ON skill_dependencies(skill_id);
|
|
43
|
+
CREATE INDEX IF NOT EXISTS idx_skill_deps_target ON skill_dependencies(dep_target);
|
|
44
|
+
CREATE INDEX IF NOT EXISTS idx_skill_deps_type ON skill_dependencies(dep_type);
|
|
45
|
+
CREATE INDEX IF NOT EXISTS idx_skill_deps_source ON skill_dependencies(dep_source);
|
|
46
|
+
|
|
47
|
+
CREATE UNIQUE INDEX IF NOT EXISTS idx_skill_deps_unique
|
|
48
|
+
ON skill_dependencies(skill_id, dep_type, dep_target, dep_source);
|
|
49
|
+
`;
|
|
50
|
+
//# sourceMappingURL=v10-dependencies.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v10-dependencies.js","sourceRoot":"","sources":["../../../../src/db/migrations/v10-dependencies.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgChC,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Migration v2 — Add missing columns for Phase 5 imported databases
|
|
3
|
+
* @module @skillsmith/core/db/migrations/v2-phase5-columns
|
|
4
|
+
* @see SMI-974
|
|
5
|
+
*/
|
|
6
|
+
export declare const MIGRATION_V2_SQL = "\n-- Add updated_at column if missing (for Phase 5 imported databases)\nALTER TABLE skills ADD COLUMN updated_at TEXT NOT NULL DEFAULT (datetime('now'));\n\n-- Add source column if missing (from import scripts)\nALTER TABLE skills ADD COLUMN source TEXT;\n\n-- Add stars column if missing (from import scripts)\nALTER TABLE skills ADD COLUMN stars INTEGER;\n";
|
|
7
|
+
//# sourceMappingURL=v2-phase5-columns.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v2-phase5-columns.d.ts","sourceRoot":"","sources":["../../../../src/db/migrations/v2-phase5-columns.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,2WAS5B,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Migration v2 — Add missing columns for Phase 5 imported databases
|
|
3
|
+
* @module @skillsmith/core/db/migrations/v2-phase5-columns
|
|
4
|
+
* @see SMI-974
|
|
5
|
+
*/
|
|
6
|
+
export const MIGRATION_V2_SQL = `
|
|
7
|
+
-- Add updated_at column if missing (for Phase 5 imported databases)
|
|
8
|
+
ALTER TABLE skills ADD COLUMN updated_at TEXT NOT NULL DEFAULT (datetime('now'));
|
|
9
|
+
|
|
10
|
+
-- Add source column if missing (from import scripts)
|
|
11
|
+
ALTER TABLE skills ADD COLUMN source TEXT;
|
|
12
|
+
|
|
13
|
+
-- Add stars column if missing (from import scripts)
|
|
14
|
+
ALTER TABLE skills ADD COLUMN stars INTEGER;
|
|
15
|
+
`;
|
|
16
|
+
//# sourceMappingURL=v2-phase5-columns.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v2-phase5-columns.js","sourceRoot":"","sources":["../../../../src/db/migrations/v2-phase5-columns.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;;;;CAS/B,CAAA"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Migration v3 — Registry sync tables for local-to-live synchronization
|
|
3
|
+
* @module @skillsmith/core/db/migrations/v3-sync-tables
|
|
4
|
+
*/
|
|
5
|
+
export declare const MIGRATION_V3_SQL = "\n-- Sync configuration table (singleton pattern)\nCREATE TABLE IF NOT EXISTS sync_config (\n id TEXT PRIMARY KEY DEFAULT 'default',\n enabled INTEGER NOT NULL DEFAULT 1,\n frequency TEXT NOT NULL DEFAULT 'daily' CHECK(frequency IN ('daily', 'weekly')),\n interval_ms INTEGER NOT NULL DEFAULT 86400000,\n last_sync_at TEXT,\n next_sync_at TEXT,\n last_sync_count INTEGER DEFAULT 0,\n last_sync_error TEXT,\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n updated_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\n-- Initialize default config if empty\nINSERT OR IGNORE INTO sync_config (id) VALUES ('default');\n\n-- Sync history table for tracking sync runs\nCREATE TABLE IF NOT EXISTS sync_history (\n id TEXT PRIMARY KEY,\n started_at TEXT NOT NULL,\n completed_at TEXT,\n status TEXT NOT NULL DEFAULT 'running' CHECK(status IN ('running', 'success', 'failed', 'partial')),\n skills_added INTEGER DEFAULT 0,\n skills_updated INTEGER DEFAULT 0,\n skills_unchanged INTEGER DEFAULT 0,\n error_message TEXT,\n duration_ms INTEGER,\n created_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\n-- Index for efficient history queries\nCREATE INDEX IF NOT EXISTS idx_sync_history_started ON sync_history(started_at DESC);\nCREATE INDEX IF NOT EXISTS idx_sync_history_status ON sync_history(status);\n";
|
|
6
|
+
//# sourceMappingURL=v3-sync-tables.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v3-sync-tables.d.ts","sourceRoot":"","sources":["../../../../src/db/migrations/v3-sync-tables.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,gBAAgB,8yCAmC5B,CAAA"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Migration v3 — Registry sync tables for local-to-live synchronization
|
|
3
|
+
* @module @skillsmith/core/db/migrations/v3-sync-tables
|
|
4
|
+
*/
|
|
5
|
+
export const MIGRATION_V3_SQL = `
|
|
6
|
+
-- Sync configuration table (singleton pattern)
|
|
7
|
+
CREATE TABLE IF NOT EXISTS sync_config (
|
|
8
|
+
id TEXT PRIMARY KEY DEFAULT 'default',
|
|
9
|
+
enabled INTEGER NOT NULL DEFAULT 1,
|
|
10
|
+
frequency TEXT NOT NULL DEFAULT 'daily' CHECK(frequency IN ('daily', 'weekly')),
|
|
11
|
+
interval_ms INTEGER NOT NULL DEFAULT 86400000,
|
|
12
|
+
last_sync_at TEXT,
|
|
13
|
+
next_sync_at TEXT,
|
|
14
|
+
last_sync_count INTEGER DEFAULT 0,
|
|
15
|
+
last_sync_error TEXT,
|
|
16
|
+
created_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
17
|
+
updated_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
18
|
+
);
|
|
19
|
+
|
|
20
|
+
-- Initialize default config if empty
|
|
21
|
+
INSERT OR IGNORE INTO sync_config (id) VALUES ('default');
|
|
22
|
+
|
|
23
|
+
-- Sync history table for tracking sync runs
|
|
24
|
+
CREATE TABLE IF NOT EXISTS sync_history (
|
|
25
|
+
id TEXT PRIMARY KEY,
|
|
26
|
+
started_at TEXT NOT NULL,
|
|
27
|
+
completed_at TEXT,
|
|
28
|
+
status TEXT NOT NULL DEFAULT 'running' CHECK(status IN ('running', 'success', 'failed', 'partial')),
|
|
29
|
+
skills_added INTEGER DEFAULT 0,
|
|
30
|
+
skills_updated INTEGER DEFAULT 0,
|
|
31
|
+
skills_unchanged INTEGER DEFAULT 0,
|
|
32
|
+
error_message TEXT,
|
|
33
|
+
duration_ms INTEGER,
|
|
34
|
+
created_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
35
|
+
);
|
|
36
|
+
|
|
37
|
+
-- Index for efficient history queries
|
|
38
|
+
CREATE INDEX IF NOT EXISTS idx_sync_history_started ON sync_history(started_at DESC);
|
|
39
|
+
CREATE INDEX IF NOT EXISTS idx_sync_history_status ON sync_history(status);
|
|
40
|
+
`;
|
|
41
|
+
//# sourceMappingURL=v3-sync-tables.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v3-sync-tables.js","sourceRoot":"","sources":["../../../../src/db/migrations/v3-sync-tables.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmC/B,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Migration v4 — Add security scan columns to skills table
|
|
3
|
+
* @module @skillsmith/core/db/migrations/v4-security-columns
|
|
4
|
+
* @see SMI-825
|
|
5
|
+
*/
|
|
6
|
+
export declare const MIGRATION_V4_SQL = "\n-- Add security columns to skills table\nALTER TABLE skills ADD COLUMN risk_score INTEGER CHECK(risk_score IS NULL OR (risk_score >= 0 AND risk_score <= 100));\nALTER TABLE skills ADD COLUMN security_findings_count INTEGER DEFAULT 0;\nALTER TABLE skills ADD COLUMN security_scanned_at TEXT;\nALTER TABLE skills ADD COLUMN security_passed INTEGER;\n\n-- Index for efficient security queries\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);\n";
|
|
7
|
+
//# sourceMappingURL=v4-security-columns.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v4-security-columns.d.ts","sourceRoot":"","sources":["../../../../src/db/migrations/v4-security-columns.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,0iBAU5B,CAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Migration v4 — Add security scan columns to skills table
|
|
3
|
+
* @module @skillsmith/core/db/migrations/v4-security-columns
|
|
4
|
+
* @see SMI-825
|
|
5
|
+
*/
|
|
6
|
+
export const MIGRATION_V4_SQL = `
|
|
7
|
+
-- Add security columns to skills table
|
|
8
|
+
ALTER TABLE skills ADD COLUMN risk_score INTEGER CHECK(risk_score IS NULL OR (risk_score >= 0 AND risk_score <= 100));
|
|
9
|
+
ALTER TABLE skills ADD COLUMN security_findings_count INTEGER DEFAULT 0;
|
|
10
|
+
ALTER TABLE skills ADD COLUMN security_scanned_at TEXT;
|
|
11
|
+
ALTER TABLE skills ADD COLUMN security_passed INTEGER;
|
|
12
|
+
|
|
13
|
+
-- Index for efficient security queries
|
|
14
|
+
CREATE INDEX IF NOT EXISTS idx_skills_risk_score ON skills(risk_score);
|
|
15
|
+
CREATE INDEX IF NOT EXISTS idx_skills_security_passed ON skills(security_passed);
|
|
16
|
+
`;
|
|
17
|
+
//# sourceMappingURL=v4-security-columns.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v4-security-columns.js","sourceRoot":"","sources":["../../../../src/db/migrations/v4-security-columns.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;;;;;CAU/B,CAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Migration v5b — add change_type column to skill_versions
|
|
3
|
+
* @module @skillsmith/core/db/migrations/v5b-change-type
|
|
4
|
+
* @see SMI-skill-version-tracking Wave 2
|
|
5
|
+
*
|
|
6
|
+
* Additive ALTER TABLE on skill_versions; does not increment SCHEMA_VERSION
|
|
7
|
+
* (stays at 5) because the migration system handles duplicate-column errors
|
|
8
|
+
* gracefully and the new column is nullable with no FK implications.
|
|
9
|
+
*
|
|
10
|
+
* Valid change_type values: 'major' | 'minor' | 'patch' | 'unknown'
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* SQL for the skill_versions change_type migration (v5b).
|
|
14
|
+
*
|
|
15
|
+
* Adds a TEXT column constrained to the four valid change-classification
|
|
16
|
+
* values. NULL is allowed so that existing rows are unaffected.
|
|
17
|
+
*/
|
|
18
|
+
export declare const MIGRATION_V5B_SQL = "\nALTER TABLE skill_versions ADD COLUMN change_type TEXT\n CHECK(change_type IN ('major', 'minor', 'patch', 'unknown'));\n";
|
|
19
|
+
//# sourceMappingURL=v5b-change-type.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v5b-change-type.d.ts","sourceRoot":"","sources":["../../../../src/db/migrations/v5b-change-type.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,gIAG7B,CAAA"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Migration v5b — add change_type column to skill_versions
|
|
3
|
+
* @module @skillsmith/core/db/migrations/v5b-change-type
|
|
4
|
+
* @see SMI-skill-version-tracking Wave 2
|
|
5
|
+
*
|
|
6
|
+
* Additive ALTER TABLE on skill_versions; does not increment SCHEMA_VERSION
|
|
7
|
+
* (stays at 5) because the migration system handles duplicate-column errors
|
|
8
|
+
* gracefully and the new column is nullable with no FK implications.
|
|
9
|
+
*
|
|
10
|
+
* Valid change_type values: 'major' | 'minor' | 'patch' | 'unknown'
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* SQL for the skill_versions change_type migration (v5b).
|
|
14
|
+
*
|
|
15
|
+
* Adds a TEXT column constrained to the four valid change-classification
|
|
16
|
+
* values. NULL is allowed so that existing rows are unaffected.
|
|
17
|
+
*/
|
|
18
|
+
export const MIGRATION_V5B_SQL = `
|
|
19
|
+
ALTER TABLE skill_versions ADD COLUMN change_type TEXT
|
|
20
|
+
CHECK(change_type IN ('major', 'minor', 'patch', 'unknown'));
|
|
21
|
+
`;
|
|
22
|
+
//# sourceMappingURL=v5b-change-type.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v5b-change-type.js","sourceRoot":"","sources":["../../../../src/db/migrations/v5b-change-type.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;CAGhC,CAAA"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Migration v6 — skill_advisories table
|
|
3
|
+
* @module @skillsmith/core/db/migrations/v6-advisories
|
|
4
|
+
* @see SMI-skill-version-tracking Wave 3
|
|
5
|
+
*
|
|
6
|
+
* Creates the skill_advisories table for vulnerability advisory infrastructure.
|
|
7
|
+
* skill_id is a soft reference — no FK to skills(id), same pattern as skill_versions,
|
|
8
|
+
* so advisory history survives skill removal from the registry.
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* SQL for the skill_advisories migration (v6).
|
|
12
|
+
*
|
|
13
|
+
* Table columns:
|
|
14
|
+
* - id SSA-YYYY-NNN format advisory identifier (TEXT PK)
|
|
15
|
+
* - skill_id Registry skill identifier (TEXT, not FK — soft reference)
|
|
16
|
+
* - severity Advisory severity level (low|medium|high|critical)
|
|
17
|
+
* - title Short advisory title
|
|
18
|
+
* - description Full advisory description
|
|
19
|
+
* - affected_versions JSON array of affected version ranges
|
|
20
|
+
* - patched_versions JSON array of patched version ranges
|
|
21
|
+
* - cwe_ids JSON array of CWE identifiers
|
|
22
|
+
* - references JSON array of reference URLs
|
|
23
|
+
* - published_at ISO datetime when advisory was published
|
|
24
|
+
* - withdrawn_at ISO datetime if advisory was retracted (NULL = still active)
|
|
25
|
+
* - created_at Row creation timestamp
|
|
26
|
+
*
|
|
27
|
+
* Indexes:
|
|
28
|
+
* - (skill_id) — efficient per-skill advisory queries
|
|
29
|
+
* - (severity) — efficient severity-filtered queries
|
|
30
|
+
*/
|
|
31
|
+
export declare const MIGRATION_V6_SQL = "\nCREATE TABLE IF NOT EXISTS skill_advisories (\n id TEXT PRIMARY KEY,\n skill_id TEXT NOT NULL,\n severity TEXT NOT NULL CHECK(severity IN ('low', 'medium', 'high', 'critical')),\n title TEXT NOT NULL,\n description TEXT NOT NULL,\n affected_versions TEXT,\n patched_versions TEXT,\n cwe_ids TEXT,\n advisory_refs TEXT,\n published_at TEXT NOT NULL,\n withdrawn_at TEXT,\n created_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\nCREATE INDEX IF NOT EXISTS idx_skill_advisories_skill_id\n ON skill_advisories(skill_id);\n\nCREATE INDEX IF NOT EXISTS idx_skill_advisories_severity\n ON skill_advisories(severity);\n";
|
|
32
|
+
//# sourceMappingURL=v6-advisories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v6-advisories.d.ts","sourceRoot":"","sources":["../../../../src/db/migrations/v6-advisories.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,gBAAgB,muBAqB5B,CAAA"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Migration v6 — skill_advisories table
|
|
3
|
+
* @module @skillsmith/core/db/migrations/v6-advisories
|
|
4
|
+
* @see SMI-skill-version-tracking Wave 3
|
|
5
|
+
*
|
|
6
|
+
* Creates the skill_advisories table for vulnerability advisory infrastructure.
|
|
7
|
+
* skill_id is a soft reference — no FK to skills(id), same pattern as skill_versions,
|
|
8
|
+
* so advisory history survives skill removal from the registry.
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* SQL for the skill_advisories migration (v6).
|
|
12
|
+
*
|
|
13
|
+
* Table columns:
|
|
14
|
+
* - id SSA-YYYY-NNN format advisory identifier (TEXT PK)
|
|
15
|
+
* - skill_id Registry skill identifier (TEXT, not FK — soft reference)
|
|
16
|
+
* - severity Advisory severity level (low|medium|high|critical)
|
|
17
|
+
* - title Short advisory title
|
|
18
|
+
* - description Full advisory description
|
|
19
|
+
* - affected_versions JSON array of affected version ranges
|
|
20
|
+
* - patched_versions JSON array of patched version ranges
|
|
21
|
+
* - cwe_ids JSON array of CWE identifiers
|
|
22
|
+
* - references JSON array of reference URLs
|
|
23
|
+
* - published_at ISO datetime when advisory was published
|
|
24
|
+
* - withdrawn_at ISO datetime if advisory was retracted (NULL = still active)
|
|
25
|
+
* - created_at Row creation timestamp
|
|
26
|
+
*
|
|
27
|
+
* Indexes:
|
|
28
|
+
* - (skill_id) — efficient per-skill advisory queries
|
|
29
|
+
* - (severity) — efficient severity-filtered queries
|
|
30
|
+
*/
|
|
31
|
+
export const MIGRATION_V6_SQL = `
|
|
32
|
+
CREATE TABLE IF NOT EXISTS skill_advisories (
|
|
33
|
+
id TEXT PRIMARY KEY,
|
|
34
|
+
skill_id TEXT NOT NULL,
|
|
35
|
+
severity TEXT NOT NULL CHECK(severity IN ('low', 'medium', 'high', 'critical')),
|
|
36
|
+
title TEXT NOT NULL,
|
|
37
|
+
description TEXT NOT NULL,
|
|
38
|
+
affected_versions TEXT,
|
|
39
|
+
patched_versions TEXT,
|
|
40
|
+
cwe_ids TEXT,
|
|
41
|
+
advisory_refs TEXT,
|
|
42
|
+
published_at TEXT NOT NULL,
|
|
43
|
+
withdrawn_at TEXT,
|
|
44
|
+
created_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
45
|
+
);
|
|
46
|
+
|
|
47
|
+
CREATE INDEX IF NOT EXISTS idx_skill_advisories_skill_id
|
|
48
|
+
ON skill_advisories(skill_id);
|
|
49
|
+
|
|
50
|
+
CREATE INDEX IF NOT EXISTS idx_skill_advisories_severity
|
|
51
|
+
ON skill_advisories(severity);
|
|
52
|
+
`;
|
|
53
|
+
//# sourceMappingURL=v6-advisories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v6-advisories.js","sourceRoot":"","sources":["../../../../src/db/migrations/v6-advisories.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;CAqB/B,CAAA"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Migration v7 — compatibility column on skills table
|
|
3
|
+
* @module @skillsmith/core/db/migrations/v7-compatibility
|
|
4
|
+
* @see SMI-2760: Compatibility tags
|
|
5
|
+
*
|
|
6
|
+
* Adds the compatibility column to the skills table for IDE, LLM, and
|
|
7
|
+
* platform compatibility tags. Stored as a JSON array in SQLite TEXT;
|
|
8
|
+
* the companion Supabase migration uses JSONB with a GIN index.
|
|
9
|
+
*
|
|
10
|
+
* JSON shape: ["claude-code", "cursor", "claude", "gpt-4o"]
|
|
11
|
+
* A flat array is used for simpler SQLite json_each queries vs a nested
|
|
12
|
+
* { ides: [...], llms: [...] } object. The MCP search filter accepts
|
|
13
|
+
* the structured form and flattens it for DB comparison.
|
|
14
|
+
*
|
|
15
|
+
* Index:
|
|
16
|
+
* - None added here (SQLite does not support GIN). The Supabase Postgres
|
|
17
|
+
* migration adds: CREATE INDEX idx_skills_compatibility_gin ON skills
|
|
18
|
+
* USING gin(compatibility);
|
|
19
|
+
*/
|
|
20
|
+
export declare const MIGRATION_V7_SQL = "\nALTER TABLE skills ADD COLUMN compatibility TEXT DEFAULT '[]';\n";
|
|
21
|
+
//# sourceMappingURL=v7-compatibility.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v7-compatibility.d.ts","sourceRoot":"","sources":["../../../../src/db/migrations/v7-compatibility.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,gBAAgB,uEAE5B,CAAA"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Migration v7 — compatibility column on skills table
|
|
3
|
+
* @module @skillsmith/core/db/migrations/v7-compatibility
|
|
4
|
+
* @see SMI-2760: Compatibility tags
|
|
5
|
+
*
|
|
6
|
+
* Adds the compatibility column to the skills table for IDE, LLM, and
|
|
7
|
+
* platform compatibility tags. Stored as a JSON array in SQLite TEXT;
|
|
8
|
+
* the companion Supabase migration uses JSONB with a GIN index.
|
|
9
|
+
*
|
|
10
|
+
* JSON shape: ["claude-code", "cursor", "claude", "gpt-4o"]
|
|
11
|
+
* A flat array is used for simpler SQLite json_each queries vs a nested
|
|
12
|
+
* { ides: [...], llms: [...] } object. The MCP search filter accepts
|
|
13
|
+
* the structured form and flattens it for DB comparison.
|
|
14
|
+
*
|
|
15
|
+
* Index:
|
|
16
|
+
* - None added here (SQLite does not support GIN). The Supabase Postgres
|
|
17
|
+
* migration adds: CREATE INDEX idx_skills_compatibility_gin ON skills
|
|
18
|
+
* USING gin(compatibility);
|
|
19
|
+
*/
|
|
20
|
+
export const MIGRATION_V7_SQL = `
|
|
21
|
+
ALTER TABLE skills ADD COLUMN compatibility TEXT DEFAULT '[]';
|
|
22
|
+
`;
|
|
23
|
+
//# sourceMappingURL=v7-compatibility.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v7-compatibility.js","sourceRoot":"","sources":["../../../../src/db/migrations/v7-compatibility.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;;CAE/B,CAAA"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Migration v8 — skill_co_installs table
|
|
3
|
+
* @module @skillsmith/core/db/migrations/v8-co-installs
|
|
4
|
+
* @see SMI-2761: Co-install recommendations
|
|
5
|
+
*
|
|
6
|
+
* Session-scoped co-install tracking: when a user installs multiple skills
|
|
7
|
+
* in the same MCP session, all installed-together pairs are recorded.
|
|
8
|
+
*
|
|
9
|
+
* Design notes:
|
|
10
|
+
* - (skill_id_a, skill_id_b) is always stored in both orderings for
|
|
11
|
+
* symmetric queries — INSERT (A,B) and INSERT (B,A) together.
|
|
12
|
+
* - install_count is incremented on conflict (upsert pattern).
|
|
13
|
+
* - no_self_install constraint prevents (X, X) rows.
|
|
14
|
+
* - Surfacing threshold: install_count >= 5 before including in response.
|
|
15
|
+
*
|
|
16
|
+
* Indexes:
|
|
17
|
+
* - idx_co_installs_a: efficient "what did users also install?" queries
|
|
18
|
+
* sorted by frequency descending.
|
|
19
|
+
*/
|
|
20
|
+
export declare const MIGRATION_V8_SQL = "\nCREATE TABLE IF NOT EXISTS skill_co_installs (\n skill_id_a TEXT NOT NULL,\n skill_id_b TEXT NOT NULL,\n install_count INTEGER NOT NULL DEFAULT 1 CHECK (install_count >= 1),\n last_updated_at TEXT NOT NULL DEFAULT (datetime('now')),\n PRIMARY KEY (skill_id_a, skill_id_b),\n CONSTRAINT no_self_install CHECK (skill_id_a != skill_id_b)\n);\n\nCREATE INDEX IF NOT EXISTS idx_co_installs_a\n ON skill_co_installs(skill_id_a, install_count DESC);\n";
|
|
21
|
+
//# sourceMappingURL=v8-co-installs.d.ts.map
|