@skillsmith/core 0.4.13 → 0.4.15
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/analytics/storage.d.ts +8 -2
- package/dist/src/analytics/storage.d.ts.map +1 -1
- package/dist/src/analytics/storage.js +16 -5
- package/dist/src/analytics/storage.js.map +1 -1
- package/dist/src/analytics/usage-tracker.d.ts +8 -2
- package/dist/src/analytics/usage-tracker.d.ts.map +1 -1
- package/dist/src/analytics/usage-tracker.js +24 -11
- package/dist/src/analytics/usage-tracker.js.map +1 -1
- 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/benchmarks/IndexBenchmark.js +2 -2
- package/dist/src/benchmarks/IndexBenchmark.js.map +1 -1
- package/dist/src/benchmarks/SearchBenchmark.js +2 -2
- package/dist/src/benchmarks/SearchBenchmark.js.map +1 -1
- package/dist/src/benchmarks/cacheBenchmark.js +2 -2
- package/dist/src/benchmarks/cacheBenchmark.js.map +1 -1
- package/dist/src/benchmarks/embeddingBenchmark.js +1 -1
- package/dist/src/benchmarks/embeddingBenchmark.js.map +1 -1
- package/dist/src/cache/CacheManager.d.ts +13 -2
- package/dist/src/cache/CacheManager.d.ts.map +1 -1
- package/dist/src/cache/CacheManager.js +27 -6
- package/dist/src/cache/CacheManager.js.map +1 -1
- package/dist/src/cache/TieredCache.d.ts +15 -2
- package/dist/src/cache/TieredCache.d.ts.map +1 -1
- package/dist/src/cache/TieredCache.js +52 -70
- package/dist/src/cache/TieredCache.js.map +1 -1
- package/dist/src/cache/index.d.ts +12 -0
- package/dist/src/cache/index.d.ts.map +1 -1
- package/dist/src/cache/index.js +20 -1
- package/dist/src/cache/index.js.map +1 -1
- package/dist/src/cache/sqlite.d.ts +15 -1
- package/dist/src/cache/sqlite.d.ts.map +1 -1
- package/dist/src/cache/sqlite.js +22 -4
- package/dist/src/cache/sqlite.js.map +1 -1
- 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 +21 -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 +5 -2
- package/dist/src/db/drivers/sqljsDriver.js.map +1 -1
- package/dist/src/db/migrations/v5-skill-versions.d.ts +30 -0
- package/dist/src/db/migrations/v5-skill-versions.d.ts.map +1 -0
- package/dist/src/db/migrations/v5-skill-versions.js +45 -0
- package/dist/src/db/migrations/v5-skill-versions.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 +6 -11
- package/dist/src/db/schema.d.ts.map +1 -1
- package/dist/src/db/schema.js +38 -17
- package/dist/src/db/schema.js.map +1 -1
- package/dist/src/embeddings/hnsw-store.d.ts +14 -0
- package/dist/src/embeddings/hnsw-store.d.ts.map +1 -1
- package/dist/src/embeddings/hnsw-store.helpers.d.ts +4 -4
- package/dist/src/embeddings/hnsw-store.helpers.d.ts.map +1 -1
- package/dist/src/embeddings/hnsw-store.helpers.js +5 -5
- package/dist/src/embeddings/hnsw-store.helpers.js.map +1 -1
- package/dist/src/embeddings/hnsw-store.js +32 -4
- package/dist/src/embeddings/hnsw-store.js.map +1 -1
- package/dist/src/embeddings/index.d.ts +15 -1
- package/dist/src/embeddings/index.d.ts.map +1 -1
- package/dist/src/embeddings/index.js +24 -4
- package/dist/src/embeddings/index.js.map +1 -1
- package/dist/src/exports/repositories.d.ts +5 -0
- package/dist/src/exports/repositories.d.ts.map +1 -1
- package/dist/src/exports/repositories.js +17 -0
- package/dist/src/exports/repositories.js.map +1 -1
- package/dist/src/exports/types.d.ts +1 -1
- package/dist/src/exports/types.d.ts.map +1 -1
- package/dist/src/exports/types.js.map +1 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/indexer/SkillParser.d.ts +2 -0
- package/dist/src/indexer/SkillParser.d.ts.map +1 -1
- package/dist/src/indexer/SkillParser.js.map +1 -1
- package/dist/src/learning/PatternStore.d.ts +8 -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 +19 -39
- 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/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/repositories/SkillVersionRepository.d.ts +82 -0
- package/dist/src/repositories/SkillVersionRepository.d.ts.map +1 -0
- package/dist/src/repositories/SkillVersionRepository.js +118 -0
- package/dist/src/repositories/SkillVersionRepository.js.map +1 -0
- package/dist/src/search/hybrid.d.ts +15 -4
- package/dist/src/search/hybrid.d.ts.map +1 -1
- package/dist/src/search/hybrid.js +25 -9
- package/dist/src/search/hybrid.js.map +1 -1
- 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/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/skill.d.ts +10 -0
- package/dist/src/types/skill.d.ts.map +1 -1
- package/dist/src/types.d.ts +34 -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/AnalyticsStorage.test.js +2 -2
- package/dist/tests/AnalyticsStorage.test.js.map +1 -1
- 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/CacheSecurity.test.js +4 -4
- package/dist/tests/CacheSecurity.test.js.map +1 -1
- package/dist/tests/EmbeddingService.test.js +11 -12
- package/dist/tests/EmbeddingService.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/HybridSearch.test.d.ts +8 -0
- package/dist/tests/HybridSearch.test.d.ts.map +1 -0
- package/dist/tests/HybridSearch.test.js +48 -0
- package/dist/tests/HybridSearch.test.js.map +1 -0
- package/dist/tests/SearchService.test.js +71 -0
- package/dist/tests/SearchService.test.js.map +1 -1
- package/dist/tests/SkillVersionRepository.test.d.ts +2 -0
- package/dist/tests/SkillVersionRepository.test.d.ts.map +1 -0
- package/dist/tests/SkillVersionRepository.test.js +168 -0
- package/dist/tests/SkillVersionRepository.test.js.map +1 -0
- package/dist/tests/TieredCache.test.js +10 -10
- package/dist/tests/TieredCache.test.js.map +1 -1
- package/dist/tests/UsageTracker.test.js +6 -6
- package/dist/tests/UsageTracker.test.js.map +1 -1
- package/dist/tests/analytics/usage-tracker.test.js +8 -8
- package/dist/tests/analytics/usage-tracker.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/cache.test.js +7 -9
- package/dist/tests/cache.test.js.map +1 -1
- 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 +48 -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/embeddings/hnsw-store.test.js +27 -24
- package/dist/tests/embeddings/hnsw-store.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/learning/PatternStore.test.js +9 -0
- package/dist/tests/learning/PatternStore.test.js.map +1 -1
- 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/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/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/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 -3
|
@@ -15,16 +15,22 @@ import type { SkillUsageEvent, SkillMetrics } from './types.js';
|
|
|
15
15
|
export declare class AnalyticsStorage {
|
|
16
16
|
private db;
|
|
17
17
|
/**
|
|
18
|
-
*
|
|
18
|
+
* @deprecated Use AnalyticsStorage.create(dbPath) — async factory with WASM fallback.
|
|
19
|
+
* This constructor always throws to prevent silent data loss.
|
|
20
|
+
*/
|
|
21
|
+
constructor(_dbPath?: string);
|
|
22
|
+
/**
|
|
23
|
+
* Async factory — supports both native and WASM SQLite.
|
|
19
24
|
*
|
|
20
25
|
* @param dbPath - Optional custom database path (defaults to ~/.skillsmith/analytics.db)
|
|
26
|
+
* @returns Fully initialised AnalyticsStorage instance
|
|
21
27
|
* @throws Error if dbPath contains path traversal attempt
|
|
22
28
|
*
|
|
23
29
|
* @see SMI-898: Path traversal protection
|
|
24
30
|
* - Validates custom dbPath against path traversal attacks
|
|
25
31
|
* - Rejects paths with ".." or outside allowed directories
|
|
26
32
|
*/
|
|
27
|
-
|
|
33
|
+
static create(dbPath?: string): Promise<AnalyticsStorage>;
|
|
28
34
|
/**
|
|
29
35
|
* Initialize database schema
|
|
30
36
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/analytics/storage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAOH,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAc/D;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/analytics/storage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAOH,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAc/D;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,EAAE,CAAW;IAErB;;;OAGG;gBACS,OAAO,CAAC,EAAE,MAAM;IAO5B;;;;;;;;;;OAUG;WACU,MAAM,CAAC,MAAM,GAAE,MAAqB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAkC7E;;OAEG;IACH,OAAO,CAAC,UAAU;IAmBlB;;;;OAIG;IACH,WAAW,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI;IAezC;;;;;;OAMG;IACH,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,GAAE,MAAY,GAAG,eAAe,EAAE;IAY1E;;;;;OAKG;IACH,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;IAiBxD;;;;OAIG;IACH,OAAO,IAAI,MAAM;IAMjB;;;;OAIG;IACH,aAAa,IAAI,MAAM;IAOvB;;;;OAIG;IACH,gBAAgB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAgB1C;;OAEG;IACH,KAAK,IAAI,IAAI;CAGd"}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* - Efficient indexes for querying by skill and timestamp
|
|
9
9
|
* - Secure path validation to prevent path traversal attacks
|
|
10
10
|
*/
|
|
11
|
-
import {
|
|
11
|
+
import { createDatabaseAsync } from '../db/createDatabase.js';
|
|
12
12
|
import { join, dirname } from 'path';
|
|
13
13
|
import { homedir } from 'os';
|
|
14
14
|
import { existsSync, mkdirSync } from 'fs';
|
|
@@ -28,16 +28,25 @@ const ANALYTICS_DB = join(ANALYTICS_DIR, 'analytics.db');
|
|
|
28
28
|
export class AnalyticsStorage {
|
|
29
29
|
db;
|
|
30
30
|
/**
|
|
31
|
-
*
|
|
31
|
+
* @deprecated Use AnalyticsStorage.create(dbPath) — async factory with WASM fallback.
|
|
32
|
+
* This constructor always throws to prevent silent data loss.
|
|
33
|
+
*/
|
|
34
|
+
constructor(_dbPath) {
|
|
35
|
+
throw new Error('[AnalyticsStorage] Cannot construct synchronously. ' +
|
|
36
|
+
'Use await AnalyticsStorage.create(dbPath) instead.');
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Async factory — supports both native and WASM SQLite.
|
|
32
40
|
*
|
|
33
41
|
* @param dbPath - Optional custom database path (defaults to ~/.skillsmith/analytics.db)
|
|
42
|
+
* @returns Fully initialised AnalyticsStorage instance
|
|
34
43
|
* @throws Error if dbPath contains path traversal attempt
|
|
35
44
|
*
|
|
36
45
|
* @see SMI-898: Path traversal protection
|
|
37
46
|
* - Validates custom dbPath against path traversal attacks
|
|
38
47
|
* - Rejects paths with ".." or outside allowed directories
|
|
39
48
|
*/
|
|
40
|
-
|
|
49
|
+
static async create(dbPath = ANALYTICS_DB) {
|
|
41
50
|
let resolvedPath = dbPath;
|
|
42
51
|
// SMI-898: Validate custom paths for path traversal
|
|
43
52
|
if (dbPath !== ANALYTICS_DB) {
|
|
@@ -58,8 +67,10 @@ export class AnalyticsStorage {
|
|
|
58
67
|
mkdirSync(dir, { recursive: true });
|
|
59
68
|
}
|
|
60
69
|
}
|
|
61
|
-
|
|
62
|
-
|
|
70
|
+
const instance = Object.create(AnalyticsStorage.prototype);
|
|
71
|
+
instance.db = await createDatabaseAsync(resolvedPath);
|
|
72
|
+
instance.initSchema();
|
|
73
|
+
return instance;
|
|
63
74
|
}
|
|
64
75
|
/**
|
|
65
76
|
* Initialize database schema
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/analytics/storage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/analytics/storage.ts"],"names":[],"mappings":"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"}
|
|
@@ -50,11 +50,17 @@ export declare class UsageTracker {
|
|
|
50
50
|
private cleanupTimer;
|
|
51
51
|
private sessionCleanupTimer;
|
|
52
52
|
/**
|
|
53
|
-
*
|
|
53
|
+
* @deprecated Use UsageTracker.create(options) — async factory with WASM fallback.
|
|
54
|
+
* This constructor always throws to prevent silent data loss.
|
|
55
|
+
*/
|
|
56
|
+
constructor(_options?: UsageTrackerOptions);
|
|
57
|
+
/**
|
|
58
|
+
* Async factory — supports both native and WASM SQLite.
|
|
54
59
|
*
|
|
55
60
|
* @param options - Configuration options
|
|
61
|
+
* @returns Fully initialised UsageTracker instance
|
|
56
62
|
*/
|
|
57
|
-
|
|
63
|
+
static create(options?: UsageTrackerOptions): Promise<UsageTracker>;
|
|
58
64
|
/**
|
|
59
65
|
* Start tracking a skill invocation
|
|
60
66
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usage-tracker.d.ts","sourceRoot":"","sources":["../../../src/analytics/usage-tracker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAiBlF;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"usage-tracker.d.ts","sourceRoot":"","sources":["../../../src/analytics/usage-tracker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAiBlF;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,aAAa,CAA0C;IAC/D,OAAO,CAAC,YAAY,CAA8C;IAClE,OAAO,CAAC,mBAAmB,CAA8C;IAEzE;;;OAGG;gBACS,QAAQ,CAAC,EAAE,mBAAmB;IAO1C;;;;;OAKG;WACU,MAAM,CAAC,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,YAAY,CAAC;IA8B7E;;;;;;OAMG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IAetD;;;;;;OAMG;IACH,WAAW,CACT,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,iBAAiB,EAC1B,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACpC,IAAI;IAoBP;;;;;;;;OAQG;IACH,WAAW,CACT,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,iBAAiB,EAC1B,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACpC,IAAI;IAaP;;;;;OAKG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;IAIhD;;;;;;OAMG;IACH,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,GAAE,MAAY,GAAG,eAAe,EAAE;IAIlE;;;;OAIG;IACH,aAAa,IAAI,MAAM;IAIvB;;;;OAIG;IACH,eAAe,IAAI,MAAM;IAIzB;;;;OAIG;IACH,OAAO,IAAI,MAAM;IAIjB;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAgB5B;;OAEG;IACH,KAAK,IAAI,IAAI;IAYb;;;OAGG;IACH,OAAO,IAAI,IAAI;CAGhB"}
|
|
@@ -39,32 +39,45 @@ const SESSION_TIMEOUT_MS = 60 * 60 * 1000;
|
|
|
39
39
|
*/
|
|
40
40
|
export class UsageTracker {
|
|
41
41
|
storage;
|
|
42
|
-
pendingEvents;
|
|
42
|
+
pendingEvents = new Map();
|
|
43
43
|
cleanupTimer = null;
|
|
44
44
|
sessionCleanupTimer = null;
|
|
45
45
|
/**
|
|
46
|
-
*
|
|
46
|
+
* @deprecated Use UsageTracker.create(options) — async factory with WASM fallback.
|
|
47
|
+
* This constructor always throws to prevent silent data loss.
|
|
48
|
+
*/
|
|
49
|
+
constructor(_options) {
|
|
50
|
+
throw new Error('[UsageTracker] Cannot construct synchronously. ' +
|
|
51
|
+
'Use await UsageTracker.create(options) instead.');
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Async factory — supports both native and WASM SQLite.
|
|
47
55
|
*
|
|
48
56
|
* @param options - Configuration options
|
|
57
|
+
* @returns Fully initialised UsageTracker instance
|
|
49
58
|
*/
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
59
|
+
static async create(options = {}) {
|
|
60
|
+
const instance = Object.create(UsageTracker.prototype);
|
|
61
|
+
instance.storage = await AnalyticsStorage.create(options.dbPath);
|
|
62
|
+
instance.pendingEvents = new Map();
|
|
63
|
+
instance.cleanupTimer = null;
|
|
64
|
+
instance.sessionCleanupTimer = null;
|
|
53
65
|
// Setup auto-cleanup (default: every hour)
|
|
54
66
|
const cleanupInterval = options.cleanupInterval ?? 60 * 60 * 1000;
|
|
55
67
|
if (cleanupInterval > 0) {
|
|
56
|
-
|
|
68
|
+
instance.cleanupTimer = setInterval(() => instance.cleanup(), cleanupInterval);
|
|
57
69
|
// Don't block Node.js from exiting
|
|
58
|
-
if (
|
|
59
|
-
|
|
70
|
+
if (instance.cleanupTimer.unref) {
|
|
71
|
+
instance.cleanupTimer.unref();
|
|
60
72
|
}
|
|
61
73
|
}
|
|
62
74
|
// Setup session cleanup at half the timeout interval to prevent unbounded growth
|
|
63
|
-
|
|
75
|
+
instance.sessionCleanupTimer = setInterval(() => instance.cleanupStaleSessions(), SESSION_TIMEOUT_MS / 2);
|
|
64
76
|
// Don't block Node.js from exiting
|
|
65
|
-
if (
|
|
66
|
-
|
|
77
|
+
if (instance.sessionCleanupTimer.unref) {
|
|
78
|
+
instance.sessionCleanupTimer.unref();
|
|
67
79
|
}
|
|
80
|
+
return instance;
|
|
68
81
|
}
|
|
69
82
|
/**
|
|
70
83
|
* Start tracking a skill invocation
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usage-tracker.js","sourceRoot":"","sources":["../../../src/analytics/usage-tracker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAGrE;;;GAGG;AACH,MAAM,kBAAkB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;AA0BzC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,OAAO,YAAY;IACf,OAAO,
|
|
1
|
+
{"version":3,"file":"usage-tracker.js","sourceRoot":"","sources":["../../../src/analytics/usage-tracker.ts"],"names":[],"mappings":"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"}
|
package/dist/src/api/client.d.ts
CHANGED
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
*/
|
|
14
14
|
import type { Skill, TrustTier, SearchOptions } from '../types/skill.js';
|
|
15
15
|
export { generateAnonymousId } from './utils.js';
|
|
16
|
+
export { checkApiHealth } from './client.health.js';
|
|
16
17
|
export { ApiSearchResultSchema, SearchResponseSchema, SingleSkillResponseSchema, TelemetryResponseSchema, TrustTierSchema, } from './schemas.js';
|
|
17
18
|
/**
|
|
18
19
|
* API response wrapper
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/api/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/api/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview API Client Health Check Implementation
|
|
3
|
+
* @module @skillsmith/core/api/client.health
|
|
4
|
+
* @see SMI-1244: API client for fetching skills from live Supabase endpoints
|
|
5
|
+
* @see SMI-2741: Split from client.ts to meet 500-line standard
|
|
6
|
+
*
|
|
7
|
+
* Health check utility extracted from SkillsmithApiClient to keep
|
|
8
|
+
* client.ts under the 500-line standard.
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Check API health status
|
|
12
|
+
*
|
|
13
|
+
* Standalone implementation used by SkillsmithApiClient.checkHealth().
|
|
14
|
+
* Returns a synthetic healthy response in offline mode.
|
|
15
|
+
*
|
|
16
|
+
* @param baseUrl - API base URL
|
|
17
|
+
* @param anonKey - Supabase anon key
|
|
18
|
+
* @param offlineMode - Whether client is in offline mode
|
|
19
|
+
* @returns Health status object
|
|
20
|
+
*/
|
|
21
|
+
export declare function checkApiHealth(baseUrl: string, anonKey: string | undefined, offlineMode: boolean): Promise<{
|
|
22
|
+
status: 'healthy' | 'degraded' | 'unhealthy';
|
|
23
|
+
timestamp: string;
|
|
24
|
+
version: string;
|
|
25
|
+
}>;
|
|
26
|
+
//# sourceMappingURL=client.health.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.health.d.ts","sourceRoot":"","sources":["../../../src/api/client.health.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH;;;;;;;;;;GAUG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC;IACT,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,WAAW,CAAA;IAC5C,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;CAChB,CAAC,CAsDD"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview API Client Health Check Implementation
|
|
3
|
+
* @module @skillsmith/core/api/client.health
|
|
4
|
+
* @see SMI-1244: API client for fetching skills from live Supabase endpoints
|
|
5
|
+
* @see SMI-2741: Split from client.ts to meet 500-line standard
|
|
6
|
+
*
|
|
7
|
+
* Health check utility extracted from SkillsmithApiClient to keep
|
|
8
|
+
* client.ts under the 500-line standard.
|
|
9
|
+
*/
|
|
10
|
+
import { buildRequestHeaders } from './utils.js';
|
|
11
|
+
/**
|
|
12
|
+
* Check API health status
|
|
13
|
+
*
|
|
14
|
+
* Standalone implementation used by SkillsmithApiClient.checkHealth().
|
|
15
|
+
* Returns a synthetic healthy response in offline mode.
|
|
16
|
+
*
|
|
17
|
+
* @param baseUrl - API base URL
|
|
18
|
+
* @param anonKey - Supabase anon key
|
|
19
|
+
* @param offlineMode - Whether client is in offline mode
|
|
20
|
+
* @returns Health status object
|
|
21
|
+
*/
|
|
22
|
+
export async function checkApiHealth(baseUrl, anonKey, offlineMode) {
|
|
23
|
+
// In offline mode, return synthetic healthy status
|
|
24
|
+
if (offlineMode) {
|
|
25
|
+
return {
|
|
26
|
+
status: 'healthy',
|
|
27
|
+
timestamp: new Date().toISOString(),
|
|
28
|
+
version: 'offline',
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
try {
|
|
32
|
+
// Simple health check - try to reach the API
|
|
33
|
+
const controller = new AbortController();
|
|
34
|
+
const timeoutId = setTimeout(() => controller.abort(), 5000); // 5s timeout for health
|
|
35
|
+
const response = await fetch(`${baseUrl}/health`, {
|
|
36
|
+
headers: buildRequestHeaders(anonKey),
|
|
37
|
+
signal: controller.signal,
|
|
38
|
+
});
|
|
39
|
+
clearTimeout(timeoutId);
|
|
40
|
+
if (response.ok) {
|
|
41
|
+
// Try to parse JSON response, fall back to basic healthy status
|
|
42
|
+
try {
|
|
43
|
+
const data = (await response.json());
|
|
44
|
+
return {
|
|
45
|
+
status: 'healthy',
|
|
46
|
+
timestamp: new Date().toISOString(),
|
|
47
|
+
version: data.version || '1.0.0',
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
catch {
|
|
51
|
+
return {
|
|
52
|
+
status: 'healthy',
|
|
53
|
+
timestamp: new Date().toISOString(),
|
|
54
|
+
version: '1.0.0',
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
// Non-OK response indicates degraded service
|
|
59
|
+
return {
|
|
60
|
+
status: response.status >= 500 ? 'unhealthy' : 'degraded',
|
|
61
|
+
timestamp: new Date().toISOString(),
|
|
62
|
+
version: 'unknown',
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
catch {
|
|
66
|
+
// Network errors indicate unhealthy service
|
|
67
|
+
return {
|
|
68
|
+
status: 'unhealthy',
|
|
69
|
+
timestamp: new Date().toISOString(),
|
|
70
|
+
version: 'unknown',
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=client.health.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.health.js","sourceRoot":"","sources":["../../../src/api/client.health.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAEhD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAe,EACf,OAA2B,EAC3B,WAAoB;IAMpB,mDAAmD;IACnD,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,OAAO,EAAE,SAAS;SACnB,CAAA;IACH,CAAC;IAED,IAAI,CAAC;QACH,6CAA6C;QAC7C,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;QACxC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,CAAA,CAAC,wBAAwB;QAErF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,SAAS,EAAE;YAChD,OAAO,EAAE,mBAAmB,CAAC,OAAO,CAAC;YACrC,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,CAAC,CAAA;QAEF,YAAY,CAAC,SAAS,CAAC,CAAA;QAEvB,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;YAChB,gEAAgE;YAChE,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAA0C,CAAA;gBAC7E,OAAO;oBACL,MAAM,EAAE,SAAS;oBACjB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,OAAO;iBACjC,CAAA;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO;oBACL,MAAM,EAAE,SAAS;oBACjB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,OAAO,EAAE,OAAO;iBACjB,CAAA;YACH,CAAC;QACH,CAAC;QAED,6CAA6C;QAC7C,OAAO;YACL,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU;YACzD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,OAAO,EAAE,SAAS;SACnB,CAAA;IACH,CAAC;IAAC,MAAM,CAAC;QACP,4CAA4C;QAC5C,OAAO;YACL,MAAM,EAAE,WAAW;YACnB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,OAAO,EAAE,SAAS;SACnB,CAAA;IACH,CAAC;AACH,CAAC"}
|
package/dist/src/api/client.js
CHANGED
|
@@ -15,8 +15,10 @@ import { SkillsmithError, ErrorCodes } from '../errors.js';
|
|
|
15
15
|
// Import from extracted modules
|
|
16
16
|
import { SearchResponseSchema, SingleSkillResponseSchema, TelemetryResponseSchema, } from './schemas.js';
|
|
17
17
|
import { calculateBackoff, buildRequestHeaders, DEFAULT_BASE_URL, PRODUCTION_ANON_KEY, } from './utils.js';
|
|
18
|
+
import { checkApiHealth } from './client.health.js';
|
|
18
19
|
// Re-export for backwards compatibility
|
|
19
20
|
export { generateAnonymousId } from './utils.js';
|
|
21
|
+
export { checkApiHealth } from './client.health.js';
|
|
20
22
|
export { ApiSearchResultSchema, SearchResponseSchema, SingleSkillResponseSchema, TelemetryResponseSchema, TrustTierSchema, } from './schemas.js';
|
|
21
23
|
/**
|
|
22
24
|
* Custom error class for API client errors with retry control
|
|
@@ -265,57 +267,7 @@ export class SkillsmithApiClient {
|
|
|
265
267
|
* Check API health status
|
|
266
268
|
*/
|
|
267
269
|
async checkHealth() {
|
|
268
|
-
|
|
269
|
-
if (this.offlineMode) {
|
|
270
|
-
return {
|
|
271
|
-
status: 'healthy',
|
|
272
|
-
timestamp: new Date().toISOString(),
|
|
273
|
-
version: 'offline',
|
|
274
|
-
};
|
|
275
|
-
}
|
|
276
|
-
try {
|
|
277
|
-
// Simple health check - try to reach the API
|
|
278
|
-
const controller = new AbortController();
|
|
279
|
-
const timeoutId = setTimeout(() => controller.abort(), 5000); // 5s timeout for health
|
|
280
|
-
const response = await fetch(`${this.baseUrl}/health`, {
|
|
281
|
-
headers: buildRequestHeaders(this.anonKey),
|
|
282
|
-
signal: controller.signal,
|
|
283
|
-
});
|
|
284
|
-
clearTimeout(timeoutId);
|
|
285
|
-
if (response.ok) {
|
|
286
|
-
// Try to parse JSON response, fall back to basic healthy status
|
|
287
|
-
try {
|
|
288
|
-
const data = (await response.json());
|
|
289
|
-
return {
|
|
290
|
-
status: 'healthy',
|
|
291
|
-
timestamp: new Date().toISOString(),
|
|
292
|
-
version: data.version || '1.0.0',
|
|
293
|
-
};
|
|
294
|
-
}
|
|
295
|
-
catch {
|
|
296
|
-
return {
|
|
297
|
-
status: 'healthy',
|
|
298
|
-
timestamp: new Date().toISOString(),
|
|
299
|
-
version: '1.0.0',
|
|
300
|
-
};
|
|
301
|
-
}
|
|
302
|
-
}
|
|
303
|
-
// Non-OK response indicates degraded service
|
|
304
|
-
return {
|
|
305
|
-
status: response.status >= 500 ? 'unhealthy' : 'degraded',
|
|
306
|
-
timestamp: new Date().toISOString(),
|
|
307
|
-
version: 'unknown',
|
|
308
|
-
};
|
|
309
|
-
}
|
|
310
|
-
catch (error) {
|
|
311
|
-
this.log('Health check failed:', error);
|
|
312
|
-
// Network errors indicate unhealthy service
|
|
313
|
-
return {
|
|
314
|
-
status: 'unhealthy',
|
|
315
|
-
timestamp: new Date().toISOString(),
|
|
316
|
-
version: 'unknown',
|
|
317
|
-
};
|
|
318
|
-
}
|
|
270
|
+
return checkApiHealth(this.baseUrl, this.anonKey, this.offlineMode);
|
|
319
271
|
}
|
|
320
272
|
/**
|
|
321
273
|
* Convert API result to Skill type
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/api/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAE1D,gCAAgC;AAChC,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,cAAc,CAAA;AACrB,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/api/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* - Database size impact
|
|
8
8
|
* - FTS5 index maintenance
|
|
9
9
|
*/
|
|
10
|
-
import {
|
|
10
|
+
import { createDatabaseAsync, closeDatabase } from '../db/schema.js';
|
|
11
11
|
import { SkillRepository } from '../repositories/SkillRepository.js';
|
|
12
12
|
import { BenchmarkRunner } from './BenchmarkRunner.js';
|
|
13
13
|
import { percentile, mean } from './stats.js';
|
|
@@ -250,7 +250,7 @@ export class IndexBenchmark {
|
|
|
250
250
|
* Setup database
|
|
251
251
|
*/
|
|
252
252
|
async setup() {
|
|
253
|
-
this.db =
|
|
253
|
+
this.db = await createDatabaseAsync(':memory:');
|
|
254
254
|
this.repo = new SkillRepository(this.db);
|
|
255
255
|
this.skillCounter = 0;
|
|
256
256
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IndexBenchmark.js","sourceRoot":"","sources":["../../../src/benchmarks/IndexBenchmark.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"IndexBenchmark.js","sourceRoot":"","sources":["../../../src/benchmarks/IndexBenchmark.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* - Cold vs warm cache comparison
|
|
8
8
|
* - BM25 ranking performance
|
|
9
9
|
*/
|
|
10
|
-
import {
|
|
10
|
+
import { createDatabaseAsync, closeDatabase } from '../db/schema.js';
|
|
11
11
|
import { SkillRepository } from '../repositories/SkillRepository.js';
|
|
12
12
|
import { SearchService } from '../services/SearchService.js';
|
|
13
13
|
import { BenchmarkRunner } from './BenchmarkRunner.js';
|
|
@@ -233,7 +233,7 @@ export class SearchBenchmark {
|
|
|
233
233
|
* Setup database and seed test data
|
|
234
234
|
*/
|
|
235
235
|
async setup() {
|
|
236
|
-
this.db =
|
|
236
|
+
this.db = await createDatabaseAsync(':memory:');
|
|
237
237
|
this.repo = new SkillRepository(this.db);
|
|
238
238
|
this.search = new SearchService(this.db, { cacheTtl: 60 });
|
|
239
239
|
// Seed test data
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchBenchmark.js","sourceRoot":"","sources":["../../../src/benchmarks/SearchBenchmark.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"SearchBenchmark.js","sourceRoot":"","sources":["../../../src/benchmarks/SearchBenchmark.ts"],"names":[],"mappings":"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"}
|
|
@@ -229,8 +229,8 @@ export class CacheBenchmark {
|
|
|
229
229
|
dbPath: ':memory:',
|
|
230
230
|
},
|
|
231
231
|
};
|
|
232
|
-
this.tieredCache =
|
|
233
|
-
this.cacheManager =
|
|
232
|
+
this.tieredCache = await EnhancedTieredCache.create(cacheConfig);
|
|
233
|
+
this.cacheManager = await CacheManager.create({
|
|
234
234
|
...cacheConfig,
|
|
235
235
|
enableBackgroundRefresh: false, // Disable for benchmarking
|
|
236
236
|
});
|