@skillsmith/mcp-server 0.4.2 → 0.4.3
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 +11 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/src/__tests__/LocalIndexer.test.js +158 -0
- package/dist/src/__tests__/LocalIndexer.test.js.map +1 -1
- package/dist/src/__tests__/compare.test.d.ts +8 -0
- package/dist/src/__tests__/compare.test.d.ts.map +1 -0
- package/dist/src/__tests__/compare.test.js +162 -0
- package/dist/src/__tests__/compare.test.js.map +1 -0
- package/dist/src/__tests__/context.async.test.d.ts +8 -0
- package/dist/src/__tests__/context.async.test.d.ts.map +1 -0
- package/dist/src/__tests__/context.async.test.js +223 -0
- package/dist/src/__tests__/context.async.test.js.map +1 -0
- package/dist/src/__tests__/middleware/errorFormatter.builders.test.d.ts +10 -0
- package/dist/src/__tests__/middleware/errorFormatter.builders.test.d.ts.map +1 -0
- package/dist/src/__tests__/middleware/errorFormatter.builders.test.js +93 -0
- package/dist/src/__tests__/middleware/errorFormatter.builders.test.js.map +1 -0
- package/dist/src/__tests__/middleware/license-renewal.test.d.ts +10 -0
- package/dist/src/__tests__/middleware/license-renewal.test.d.ts.map +1 -0
- package/dist/src/__tests__/middleware/license-renewal.test.js +152 -0
- package/dist/src/__tests__/middleware/license-renewal.test.js.map +1 -0
- package/dist/src/__tests__/middleware/quota-helpers.test.d.ts +9 -0
- package/dist/src/__tests__/middleware/quota-helpers.test.d.ts.map +1 -0
- package/dist/src/__tests__/middleware/quota-helpers.test.js +105 -0
- package/dist/src/__tests__/middleware/quota-helpers.test.js.map +1 -0
- package/dist/src/__tests__/middleware/quota.test.d.ts +12 -0
- package/dist/src/__tests__/middleware/quota.test.d.ts.map +1 -0
- package/dist/src/__tests__/middleware/quota.test.js +189 -0
- package/dist/src/__tests__/middleware/quota.test.js.map +1 -0
- package/dist/src/__tests__/recommend-online-path.test.d.ts +10 -0
- package/dist/src/__tests__/recommend-online-path.test.d.ts.map +1 -0
- package/dist/src/__tests__/recommend-online-path.test.js +225 -0
- package/dist/src/__tests__/recommend-online-path.test.js.map +1 -0
- package/dist/src/__tests__/recommend.test.d.ts +2 -0
- package/dist/src/__tests__/recommend.test.d.ts.map +1 -1
- package/dist/src/__tests__/recommend.test.js +14 -2
- package/dist/src/__tests__/recommend.test.js.map +1 -1
- package/dist/src/__tests__/search-online-path.test.d.ts +10 -0
- package/dist/src/__tests__/search-online-path.test.d.ts.map +1 -0
- package/dist/src/__tests__/search-online-path.test.js +140 -0
- package/dist/src/__tests__/search-online-path.test.js.map +1 -0
- package/dist/src/__tests__/search.test.js +153 -5
- package/dist/src/__tests__/search.test.js.map +1 -1
- package/dist/src/context/project-detector.d.ts.map +1 -1
- package/dist/src/context/project-detector.js +1 -0
- package/dist/src/context/project-detector.js.map +1 -1
- package/dist/src/context.async.d.ts +48 -0
- package/dist/src/context.async.d.ts.map +1 -0
- package/dist/src/context.async.js +215 -0
- package/dist/src/context.async.js.map +1 -0
- package/dist/src/context.d.ts +5 -145
- package/dist/src/context.d.ts.map +1 -1
- package/dist/src/context.helpers.d.ts +25 -0
- package/dist/src/context.helpers.d.ts.map +1 -0
- package/dist/src/context.helpers.js +49 -0
- package/dist/src/context.helpers.js.map +1 -0
- package/dist/src/context.js +11 -228
- package/dist/src/context.js.map +1 -1
- package/dist/src/context.types.d.ts +110 -0
- package/dist/src/context.types.d.ts.map +1 -0
- package/dist/src/context.types.js +10 -0
- package/dist/src/context.types.js.map +1 -0
- package/dist/src/health/readinessCheck.d.ts +1 -1
- package/dist/src/health/readinessCheck.d.ts.map +1 -1
- package/dist/src/index.js +21 -152
- package/dist/src/index.js.map +1 -1
- package/dist/src/indexer/FrontmatterParser.d.ts +6 -0
- package/dist/src/indexer/FrontmatterParser.d.ts.map +1 -1
- package/dist/src/indexer/FrontmatterParser.js +15 -0
- package/dist/src/indexer/FrontmatterParser.js.map +1 -1
- package/dist/src/indexer/LocalIndexer.d.ts +4 -0
- package/dist/src/indexer/LocalIndexer.d.ts.map +1 -1
- package/dist/src/indexer/LocalIndexer.js +3 -0
- package/dist/src/indexer/LocalIndexer.js.map +1 -1
- package/dist/src/middleware/degradation.d.ts.map +1 -1
- package/dist/src/middleware/degradation.js +8 -0
- package/dist/src/middleware/degradation.js.map +1 -1
- package/dist/src/middleware/errorFormatter.builders.d.ts +49 -0
- package/dist/src/middleware/errorFormatter.builders.d.ts.map +1 -0
- package/dist/src/middleware/errorFormatter.builders.js +237 -0
- package/dist/src/middleware/errorFormatter.builders.js.map +1 -0
- package/dist/src/middleware/errorFormatter.d.ts +5 -100
- package/dist/src/middleware/errorFormatter.d.ts.map +1 -1
- package/dist/src/middleware/errorFormatter.js +16 -238
- package/dist/src/middleware/errorFormatter.js.map +1 -1
- package/dist/src/middleware/errorFormatter.types.d.ts +81 -0
- package/dist/src/middleware/errorFormatter.types.d.ts.map +1 -0
- package/dist/src/middleware/errorFormatter.types.js +34 -0
- package/dist/src/middleware/errorFormatter.types.js.map +1 -0
- package/dist/src/middleware/toolFeatureMapping.d.ts +1 -1
- package/dist/src/middleware/toolFeatureMapping.d.ts.map +1 -1
- package/dist/src/middleware/toolFeatureMapping.js +8 -0
- package/dist/src/middleware/toolFeatureMapping.js.map +1 -1
- package/dist/src/tool-dispatch.d.ts +27 -0
- package/dist/src/tool-dispatch.d.ts.map +1 -0
- package/dist/src/tool-dispatch.js +127 -0
- package/dist/src/tool-dispatch.js.map +1 -0
- package/dist/src/tools/LocalSkillSearch.d.ts.map +1 -1
- package/dist/src/tools/LocalSkillSearch.js +4 -0
- package/dist/src/tools/LocalSkillSearch.js.map +1 -1
- package/dist/src/tools/get-skill.d.ts.map +1 -1
- package/dist/src/tools/get-skill.js +14 -0
- package/dist/src/tools/get-skill.js.map +1 -1
- package/dist/src/tools/index.d.ts +6 -0
- package/dist/src/tools/index.d.ts.map +1 -1
- package/dist/src/tools/index.js +6 -0
- package/dist/src/tools/index.js.map +1 -1
- package/dist/src/tools/install.d.ts +3 -35
- package/dist/src/tools/install.d.ts.map +1 -1
- package/dist/src/tools/install.js +22 -74
- package/dist/src/tools/install.js.map +1 -1
- package/dist/src/tools/install.optimize.d.ts +46 -0
- package/dist/src/tools/install.optimize.d.ts.map +1 -0
- package/dist/src/tools/install.optimize.js +67 -0
- package/dist/src/tools/install.optimize.js.map +1 -0
- package/dist/src/tools/install.tool.d.ts +44 -0
- package/dist/src/tools/install.tool.d.ts.map +1 -0
- package/dist/src/tools/install.tool.js +44 -0
- package/dist/src/tools/install.tool.js.map +1 -0
- package/dist/src/tools/install.types.d.ts +7 -1
- package/dist/src/tools/install.types.d.ts.map +1 -1
- package/dist/src/tools/recommend.d.ts +2 -4
- package/dist/src/tools/recommend.d.ts.map +1 -1
- package/dist/src/tools/recommend.format.d.ts +28 -0
- package/dist/src/tools/recommend.format.d.ts.map +1 -0
- package/dist/src/tools/recommend.format.js +111 -0
- package/dist/src/tools/recommend.format.js.map +1 -0
- package/dist/src/tools/recommend.js +6 -97
- package/dist/src/tools/recommend.js.map +1 -1
- package/dist/src/tools/recommend.types.d.ts +1 -1
- package/dist/src/tools/search.d.ts +24 -21
- package/dist/src/tools/search.d.ts.map +1 -1
- package/dist/src/tools/search.formatter.d.ts +30 -0
- package/dist/src/tools/search.formatter.d.ts.map +1 -0
- package/dist/src/tools/search.formatter.js +64 -0
- package/dist/src/tools/search.formatter.js.map +1 -0
- package/dist/src/tools/search.js +55 -54
- package/dist/src/tools/search.js.map +1 -1
- package/dist/src/tools/skill-audit.d.ts +98 -0
- package/dist/src/tools/skill-audit.d.ts.map +1 -0
- package/dist/src/tools/skill-audit.js +105 -0
- package/dist/src/tools/skill-audit.js.map +1 -0
- package/dist/src/tools/skill-audit.test.d.ts +6 -0
- package/dist/src/tools/skill-audit.test.d.ts.map +1 -0
- package/dist/src/tools/skill-audit.test.js +121 -0
- package/dist/src/tools/skill-audit.test.js.map +1 -0
- package/dist/src/tools/skill-diff.d.ts +107 -0
- package/dist/src/tools/skill-diff.d.ts.map +1 -0
- package/dist/src/tools/skill-diff.js +268 -0
- package/dist/src/tools/skill-diff.js.map +1 -0
- package/dist/src/tools/skill-diff.test.d.ts +6 -0
- package/dist/src/tools/skill-diff.test.d.ts.map +1 -0
- package/dist/src/tools/skill-diff.test.js +260 -0
- package/dist/src/tools/skill-diff.test.js.map +1 -0
- package/dist/src/tools/skill-updates.d.ts +1 -1
- package/dist/src/tools/skill-updates.d.ts.map +1 -1
- package/dist/src/tools/suggest.d.ts +4 -4
- package/dist/src/tools/uninstall.d.ts +1 -1
- package/dist/src/tools/validate.helpers.d.ts.map +1 -1
- package/dist/src/tools/validate.helpers.js +31 -0
- package/dist/src/tools/validate.helpers.js.map +1 -1
- package/dist/src/utils/validation.d.ts +13 -0
- package/dist/src/utils/validation.d.ts.map +1 -1
- package/dist/src/utils/validation.js +27 -0
- package/dist/src/utils/validation.js.map +1 -1
- package/dist/tests/health.test.js +4 -4
- package/dist/tests/health.test.js.map +1 -1
- package/dist/tests/integration/recommend.integration.test.js +2 -0
- package/dist/tests/integration/recommend.integration.test.js.map +1 -1
- package/dist/tests/integration/setup.d.ts +3 -1
- package/dist/tests/integration/setup.d.ts.map +1 -1
- package/dist/tests/integration/setup.js +4 -1
- package/dist/tests/integration/setup.js.map +1 -1
- package/dist/tests/recommend.test.js +2 -0
- package/dist/tests/recommend.test.js.map +1 -1
- package/dist/tests/unit/validate-helpers.test.js +54 -0
- package/dist/tests/unit/validate-helpers.test.js.map +1 -1
- package/package.json +2 -2
- package/server.json +2 -2
package/dist/src/context.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* @module @skillsmith/mcp-server/context
|
|
4
4
|
* @see SMI-792: Add database initialization to MCP server
|
|
5
5
|
* @see SMI-898: Path traversal protection for DB_PATH
|
|
6
|
+
* @see SMI-2741: Async context split into context.async.ts to meet 500-line standard
|
|
6
7
|
*
|
|
7
8
|
* Provides shared context for MCP tool handlers including:
|
|
8
9
|
* - SQLite database connection with FTS5 search
|
|
@@ -17,51 +18,12 @@
|
|
|
17
18
|
* // Pass to tool handlers
|
|
18
19
|
* const result = await executeSearch(input, context);
|
|
19
20
|
*/
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
22
|
-
import { mkdirSync, existsSync } from 'fs';
|
|
23
|
-
import { createDatabase, openDatabase,
|
|
24
|
-
// SMI-2207: Async database functions with WASM fallback
|
|
25
|
-
createDatabaseAsync, openDatabaseAsync, initializeSchema, SearchService, SkillRepository, validateDbPath, SkillsmithApiClient, initializePostHog, shutdownPostHog, generateAnonymousId, SyncConfigRepository, SyncHistoryRepository, SyncEngine, BackgroundSyncService, getApiKey, } from '@skillsmith/core';
|
|
21
|
+
import { existsSync } from 'fs';
|
|
22
|
+
import { createDatabase, openDatabase, SearchService, SkillRepository, validateDbPath, SkillsmithApiClient, initializePostHog, shutdownPostHog, generateAnonymousId, SyncConfigRepository, SyncHistoryRepository, SyncEngine, SkillVersionRepository, CoInstallRepository, BackgroundSyncService, getApiKey, } from '@skillsmith/core';
|
|
26
23
|
import { LLMFailoverChain } from './llm/failover.js';
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
*
|
|
31
|
-
* @see SMI-898: Path traversal protection
|
|
32
|
-
* - Validates SKILLSMITH_DB_PATH against path traversal attacks
|
|
33
|
-
* - Rejects paths with ".." traversal sequences
|
|
34
|
-
* - Ensures path is within allowed directories
|
|
35
|
-
*
|
|
36
|
-
* @throws Error if SKILLSMITH_DB_PATH contains path traversal attempt
|
|
37
|
-
*/
|
|
38
|
-
export function getDefaultDbPath() {
|
|
39
|
-
const envPath = process.env.SKILLSMITH_DB_PATH;
|
|
40
|
-
if (envPath) {
|
|
41
|
-
// SMI-898: Validate environment variable path for path traversal
|
|
42
|
-
const validation = validateDbPath(envPath, {
|
|
43
|
-
allowInMemory: true,
|
|
44
|
-
allowTempDir: true,
|
|
45
|
-
});
|
|
46
|
-
if (!validation.valid) {
|
|
47
|
-
throw new Error(`Invalid SKILLSMITH_DB_PATH: ${validation.error}. ` +
|
|
48
|
-
'Path must be within ~/.skillsmith, ~/.claude, or temp directories.');
|
|
49
|
-
}
|
|
50
|
-
return validation.resolvedPath;
|
|
51
|
-
}
|
|
52
|
-
return join(homedir(), '.skillsmith', 'skills.db');
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Ensure the database directory exists
|
|
56
|
-
*/
|
|
57
|
-
function ensureDbDirectory(dbPath) {
|
|
58
|
-
const dir = dirname(dbPath);
|
|
59
|
-
if (!existsSync(dir)) {
|
|
60
|
-
mkdirSync(dir, { recursive: true });
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
// SMI-1851: API key loading moved to @skillsmith/core/config
|
|
64
|
-
// Use getApiKey() which handles env var > config file precedence
|
|
24
|
+
import { getDefaultDbPath, ensureDbDirectory } from './context.helpers.js';
|
|
25
|
+
export { getDefaultDbPath, ensureDbDirectory } from './context.helpers.js';
|
|
26
|
+
export { createToolContextAsync, getToolContextAsync, resetAsyncToolContext, } from './context.async.js';
|
|
65
27
|
/**
|
|
66
28
|
* Create the shared tool context with database and services
|
|
67
29
|
*
|
|
@@ -121,6 +83,7 @@ export function createToolContext(options = {}) {
|
|
|
121
83
|
cacheTtl: options.searchCacheTtl ?? 300,
|
|
122
84
|
});
|
|
123
85
|
const skillRepository = new SkillRepository(db);
|
|
86
|
+
const coInstallRepository = new CoInstallRepository(db);
|
|
124
87
|
// SMI-XXXX: Get API key from options, env, or config file
|
|
125
88
|
// SMI-1851: Use shared config module (handles env var > config file precedence)
|
|
126
89
|
const apiKey = options.apiKey || getApiKey();
|
|
@@ -158,10 +121,11 @@ export function createToolContext(options = {}) {
|
|
|
158
121
|
if (backgroundSyncEnabled) {
|
|
159
122
|
const syncConfigRepo = new SyncConfigRepository(db);
|
|
160
123
|
const syncHistoryRepo = new SyncHistoryRepository(db);
|
|
124
|
+
const skillVersionRepo = new SkillVersionRepository(db);
|
|
161
125
|
// Only start if user has auto-sync enabled in their config
|
|
162
126
|
const syncConfig = syncConfigRepo.getConfig();
|
|
163
127
|
if (syncConfig.enabled) {
|
|
164
|
-
const syncEngine = new SyncEngine(apiClient, skillRepository, syncConfigRepo, syncHistoryRepo);
|
|
128
|
+
const syncEngine = new SyncEngine(apiClient, skillRepository, syncConfigRepo, syncHistoryRepo, skillVersionRepo);
|
|
165
129
|
backgroundSync = new BackgroundSyncService(syncEngine, syncConfigRepo, {
|
|
166
130
|
syncOnStart: true,
|
|
167
131
|
debug: options.backgroundSyncConfig?.debug ?? false,
|
|
@@ -216,6 +180,8 @@ export function createToolContext(options = {}) {
|
|
|
216
180
|
db,
|
|
217
181
|
searchService,
|
|
218
182
|
skillRepository,
|
|
183
|
+
coInstallRepository,
|
|
184
|
+
sessionInstalledSkillIds: [],
|
|
219
185
|
apiClient,
|
|
220
186
|
distinctId,
|
|
221
187
|
backgroundSync,
|
|
@@ -284,187 +250,4 @@ export async function resetToolContext() {
|
|
|
284
250
|
globalContext = null;
|
|
285
251
|
}
|
|
286
252
|
}
|
|
287
|
-
// ============================================================================
|
|
288
|
-
// SMI-2207: Async Context Creation with WASM Fallback
|
|
289
|
-
// ============================================================================
|
|
290
|
-
// Separate singleton for async context (prevents caching conflict with sync)
|
|
291
|
-
let asyncGlobalContext = null;
|
|
292
|
-
/**
|
|
293
|
-
* Create the shared tool context asynchronously with WASM fallback
|
|
294
|
-
*
|
|
295
|
-
* This is the recommended way to initialize context for cross-platform
|
|
296
|
-
* compatibility. It will:
|
|
297
|
-
* 1. Try better-sqlite3 native module first (fastest)
|
|
298
|
-
* 2. Fall back to sql.js WASM if native is unavailable
|
|
299
|
-
*
|
|
300
|
-
* @param options - Configuration options
|
|
301
|
-
* @returns Promise resolving to initialized tool context
|
|
302
|
-
*
|
|
303
|
-
* @see SMI-898: Path traversal protection
|
|
304
|
-
* @see SMI-2207: Async initialization for WASM fallback
|
|
305
|
-
*
|
|
306
|
-
* @example
|
|
307
|
-
* // Initialize with WASM fallback support
|
|
308
|
-
* const context = await createToolContextAsync();
|
|
309
|
-
*
|
|
310
|
-
* @throws Error if dbPath contains path traversal attempt
|
|
311
|
-
* @throws Error if no database driver is available
|
|
312
|
-
*/
|
|
313
|
-
export async function createToolContextAsync(options = {}) {
|
|
314
|
-
let dbPath;
|
|
315
|
-
if (options.dbPath) {
|
|
316
|
-
// SMI-898: Validate custom path for path traversal
|
|
317
|
-
const validation = validateDbPath(options.dbPath, {
|
|
318
|
-
allowInMemory: true,
|
|
319
|
-
allowTempDir: true,
|
|
320
|
-
});
|
|
321
|
-
if (!validation.valid) {
|
|
322
|
-
throw new Error(`Invalid database path: ${validation.error}. ` +
|
|
323
|
-
'Path must be within ~/.skillsmith, ~/.claude, or temp directories.');
|
|
324
|
-
}
|
|
325
|
-
dbPath = validation.resolvedPath;
|
|
326
|
-
}
|
|
327
|
-
else {
|
|
328
|
-
dbPath = getDefaultDbPath();
|
|
329
|
-
}
|
|
330
|
-
// Ensure directory exists (skip for in-memory)
|
|
331
|
-
if (dbPath !== ':memory:') {
|
|
332
|
-
ensureDbDirectory(dbPath);
|
|
333
|
-
}
|
|
334
|
-
// SMI-2207: Use async database creation with WASM fallback
|
|
335
|
-
let db;
|
|
336
|
-
if (dbPath !== ':memory:' && existsSync(dbPath)) {
|
|
337
|
-
db = await openDatabaseAsync(dbPath);
|
|
338
|
-
}
|
|
339
|
-
else {
|
|
340
|
-
db = await createDatabaseAsync(dbPath);
|
|
341
|
-
// SMI-2207: createDatabaseAsync returns a bare connection (no schema).
|
|
342
|
-
// openDatabaseAsync runs runMigrationsSafe internally; for new/in-memory
|
|
343
|
-
// databases we must call initializeSchema explicitly to match the sync path.
|
|
344
|
-
initializeSchema(db);
|
|
345
|
-
}
|
|
346
|
-
// Initialize services
|
|
347
|
-
const searchService = new SearchService(db, {
|
|
348
|
-
cacheTtl: options.searchCacheTtl ?? 300,
|
|
349
|
-
});
|
|
350
|
-
const skillRepository = new SkillRepository(db);
|
|
351
|
-
// SMI-1851: Use shared config module (handles env var > config file precedence)
|
|
352
|
-
const apiKey = options.apiKey || getApiKey();
|
|
353
|
-
// SMI-1183: Initialize API client with configuration
|
|
354
|
-
const apiClient = new SkillsmithApiClient({
|
|
355
|
-
baseUrl: options.apiClientConfig?.baseUrl,
|
|
356
|
-
anonKey: options.apiClientConfig?.anonKey,
|
|
357
|
-
apiKey,
|
|
358
|
-
timeout: options.apiClientConfig?.timeout ?? 10000,
|
|
359
|
-
maxRetries: options.apiClientConfig?.maxRetries ?? 3,
|
|
360
|
-
debug: options.apiClientConfig?.debug,
|
|
361
|
-
offlineMode: options.apiClientConfig?.offlineMode,
|
|
362
|
-
});
|
|
363
|
-
// SMI-1184: Initialize PostHog telemetry (opt-in, privacy first)
|
|
364
|
-
let distinctId;
|
|
365
|
-
const telemetryEnabled = process.env.SKILLSMITH_TELEMETRY_ENABLED === 'true' || options.telemetryConfig?.enabled === true;
|
|
366
|
-
const postHogApiKey = process.env.POSTHOG_API_KEY || options.telemetryConfig?.postHogApiKey;
|
|
367
|
-
if (telemetryEnabled && postHogApiKey) {
|
|
368
|
-
distinctId = generateAnonymousId();
|
|
369
|
-
initializePostHog({
|
|
370
|
-
apiKey: postHogApiKey,
|
|
371
|
-
host: options.telemetryConfig?.postHogHost,
|
|
372
|
-
disabled: false,
|
|
373
|
-
});
|
|
374
|
-
}
|
|
375
|
-
// Initialize background sync service if enabled
|
|
376
|
-
let backgroundSync;
|
|
377
|
-
const backgroundSyncEnabled = process.env.SKILLSMITH_BACKGROUND_SYNC !== 'false' &&
|
|
378
|
-
options.backgroundSyncConfig?.enabled !== false;
|
|
379
|
-
if (backgroundSyncEnabled) {
|
|
380
|
-
const syncConfigRepo = new SyncConfigRepository(db);
|
|
381
|
-
const syncHistoryRepo = new SyncHistoryRepository(db);
|
|
382
|
-
const syncConfig = syncConfigRepo.getConfig();
|
|
383
|
-
if (syncConfig.enabled) {
|
|
384
|
-
const syncEngine = new SyncEngine(apiClient, skillRepository, syncConfigRepo, syncHistoryRepo);
|
|
385
|
-
backgroundSync = new BackgroundSyncService(syncEngine, syncConfigRepo, {
|
|
386
|
-
syncOnStart: true,
|
|
387
|
-
debug: options.backgroundSyncConfig?.debug ?? false,
|
|
388
|
-
onSyncComplete: (result) => {
|
|
389
|
-
if (options.backgroundSyncConfig?.debug) {
|
|
390
|
-
console.log(`[skillsmith] Background sync complete: ${result.skillsAdded} added, ${result.skillsUpdated} updated`);
|
|
391
|
-
}
|
|
392
|
-
},
|
|
393
|
-
onSyncError: (error) => {
|
|
394
|
-
if (options.backgroundSyncConfig?.debug) {
|
|
395
|
-
console.error(`[skillsmith] Background sync error: ${error.message}`);
|
|
396
|
-
}
|
|
397
|
-
},
|
|
398
|
-
});
|
|
399
|
-
backgroundSync.start();
|
|
400
|
-
}
|
|
401
|
-
}
|
|
402
|
-
// SMI-1524: Initialize LLM failover chain if enabled
|
|
403
|
-
let llmFailover;
|
|
404
|
-
const llmFailoverEnabled = process.env.SKILLSMITH_LLM_FAILOVER_ENABLED === 'true' ||
|
|
405
|
-
options.llmFailoverConfig?.enabled === true;
|
|
406
|
-
if (llmFailoverEnabled) {
|
|
407
|
-
llmFailover = new LLMFailoverChain({
|
|
408
|
-
...options.llmFailoverConfig,
|
|
409
|
-
enabled: true,
|
|
410
|
-
debug: options.llmFailoverConfig?.debug ?? false,
|
|
411
|
-
});
|
|
412
|
-
llmFailover.initialize().catch((error) => {
|
|
413
|
-
console.error(`[skillsmith] LLM failover initialization error: ${error.message}`);
|
|
414
|
-
});
|
|
415
|
-
if (options.llmFailoverConfig?.debug) {
|
|
416
|
-
console.log('[skillsmith] LLM failover chain initialized');
|
|
417
|
-
}
|
|
418
|
-
}
|
|
419
|
-
// Create signal handlers for cleanup
|
|
420
|
-
const signalHandlers = [];
|
|
421
|
-
if (backgroundSync || llmFailover) {
|
|
422
|
-
const cleanup = () => {
|
|
423
|
-
backgroundSync?.stop();
|
|
424
|
-
llmFailover?.close();
|
|
425
|
-
};
|
|
426
|
-
const sigTermHandler = () => cleanup();
|
|
427
|
-
const sigIntHandler = () => cleanup();
|
|
428
|
-
process.on('SIGTERM', sigTermHandler);
|
|
429
|
-
process.on('SIGINT', sigIntHandler);
|
|
430
|
-
signalHandlers.push({ signal: 'SIGTERM', handler: sigTermHandler }, { signal: 'SIGINT', handler: sigIntHandler });
|
|
431
|
-
}
|
|
432
|
-
return {
|
|
433
|
-
db,
|
|
434
|
-
searchService,
|
|
435
|
-
skillRepository,
|
|
436
|
-
apiClient,
|
|
437
|
-
distinctId,
|
|
438
|
-
backgroundSync,
|
|
439
|
-
llmFailover,
|
|
440
|
-
_signalHandlers: signalHandlers.length > 0 ? signalHandlers : undefined,
|
|
441
|
-
};
|
|
442
|
-
}
|
|
443
|
-
/**
|
|
444
|
-
* Get or create the global async tool context
|
|
445
|
-
*
|
|
446
|
-
* Uses a separate singleton from the sync version to prevent caching issues
|
|
447
|
-
* where the sync path might be triggered first and cached.
|
|
448
|
-
*
|
|
449
|
-
* @param options - Configuration options (only used on first call)
|
|
450
|
-
* @returns Promise resolving to the global tool context
|
|
451
|
-
*/
|
|
452
|
-
export async function getToolContextAsync(options) {
|
|
453
|
-
if (!asyncGlobalContext) {
|
|
454
|
-
asyncGlobalContext = await createToolContextAsync(options);
|
|
455
|
-
}
|
|
456
|
-
else if (options) {
|
|
457
|
-
console.warn('[skillsmith] getToolContextAsync called with options after context was already initialized. Options ignored.');
|
|
458
|
-
}
|
|
459
|
-
return asyncGlobalContext;
|
|
460
|
-
}
|
|
461
|
-
/**
|
|
462
|
-
* Reset the async global context (for testing)
|
|
463
|
-
*/
|
|
464
|
-
export async function resetAsyncToolContext() {
|
|
465
|
-
if (asyncGlobalContext) {
|
|
466
|
-
await closeToolContext(asyncGlobalContext);
|
|
467
|
-
asyncGlobalContext = null;
|
|
468
|
-
}
|
|
469
|
-
}
|
|
470
253
|
//# sourceMappingURL=context.js.map
|
package/dist/src/context.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/context.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/context.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Tool Context Type Definitions
|
|
3
|
+
* @module @skillsmith/mcp-server/context.types
|
|
4
|
+
* @see SMI-2741: Split from context.ts to meet 500-line standard
|
|
5
|
+
*
|
|
6
|
+
* Shared type definitions used by both sync (context.ts) and
|
|
7
|
+
* async (context.async.ts) context creation modules.
|
|
8
|
+
*/
|
|
9
|
+
import type { SearchService, SkillRepository, CoInstallRepository, SkillsmithApiClient, BackgroundSyncService, DatabaseType, ApiClientConfig } from '@skillsmith/core';
|
|
10
|
+
import type { LLMFailoverChain, LLMFailoverConfig } from './llm/failover.js';
|
|
11
|
+
/**
|
|
12
|
+
* Shared context for MCP tool handlers
|
|
13
|
+
* SMI-1183: Added apiClient for live API access with local fallback
|
|
14
|
+
* SMI-1184: Added distinctId for telemetry tracking
|
|
15
|
+
* SMI-1524: Added llmFailover for multi-LLM support with circuit breaker
|
|
16
|
+
*/
|
|
17
|
+
export interface ToolContext {
|
|
18
|
+
/** SQLite database connection */
|
|
19
|
+
db: DatabaseType;
|
|
20
|
+
/** Search service with FTS5/BM25 (fallback) */
|
|
21
|
+
searchService: SearchService;
|
|
22
|
+
/** Skill repository for CRUD operations (fallback) */
|
|
23
|
+
skillRepository: SkillRepository;
|
|
24
|
+
/** Co-install repository for also-installed recommendations (SMI-2761) */
|
|
25
|
+
coInstallRepository: CoInstallRepository;
|
|
26
|
+
/** SMI-2761: Skill IDs installed in the current session (session-scoped co-install) */
|
|
27
|
+
sessionInstalledSkillIds: string[];
|
|
28
|
+
/** API client for live Supabase API (primary) */
|
|
29
|
+
apiClient: SkillsmithApiClient;
|
|
30
|
+
/** Anonymous user ID for telemetry (undefined if telemetry disabled) */
|
|
31
|
+
distinctId?: string;
|
|
32
|
+
/** Background sync service (if enabled) */
|
|
33
|
+
backgroundSync?: BackgroundSyncService;
|
|
34
|
+
/** LLM failover chain for multi-provider support (SMI-1524) */
|
|
35
|
+
llmFailover?: LLMFailoverChain;
|
|
36
|
+
/** Internal: Signal handlers for cleanup (prevents memory leaks) */
|
|
37
|
+
_signalHandlers?: Array<{
|
|
38
|
+
signal: NodeJS.Signals;
|
|
39
|
+
handler: () => void;
|
|
40
|
+
}>;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Telemetry configuration for PostHog (SMI-1184)
|
|
44
|
+
* Privacy-first: disabled by default (opt-in)
|
|
45
|
+
*/
|
|
46
|
+
export interface TelemetryConfig {
|
|
47
|
+
/**
|
|
48
|
+
* Enable telemetry collection (default: false for privacy)
|
|
49
|
+
* Can also be set via SKILLSMITH_TELEMETRY_ENABLED env var
|
|
50
|
+
*/
|
|
51
|
+
enabled?: boolean;
|
|
52
|
+
/**
|
|
53
|
+
* PostHog API key (starts with phc_)
|
|
54
|
+
* Can also be set via POSTHOG_API_KEY env var
|
|
55
|
+
*/
|
|
56
|
+
postHogApiKey?: string;
|
|
57
|
+
/**
|
|
58
|
+
* PostHog host URL (default: https://app.posthog.com)
|
|
59
|
+
*/
|
|
60
|
+
postHogHost?: string;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Background sync configuration
|
|
64
|
+
*/
|
|
65
|
+
export interface BackgroundSyncConfig {
|
|
66
|
+
/**
|
|
67
|
+
* Enable background sync during MCP server sessions
|
|
68
|
+
* Can also be set via SKILLSMITH_BACKGROUND_SYNC env var
|
|
69
|
+
* Default: true (syncs if config.enabled is true)
|
|
70
|
+
*/
|
|
71
|
+
enabled?: boolean;
|
|
72
|
+
/**
|
|
73
|
+
* Enable debug logging for sync operations
|
|
74
|
+
*/
|
|
75
|
+
debug?: boolean;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Options for creating tool context
|
|
79
|
+
*/
|
|
80
|
+
export interface ToolContextOptions {
|
|
81
|
+
/** Custom database path (defaults to ~/.skillsmith/skills.db) */
|
|
82
|
+
dbPath?: string;
|
|
83
|
+
/** Search cache TTL in seconds (default: 300) */
|
|
84
|
+
searchCacheTtl?: number;
|
|
85
|
+
/** API client configuration (SMI-1183) */
|
|
86
|
+
apiClientConfig?: ApiClientConfig;
|
|
87
|
+
/**
|
|
88
|
+
* API key for authenticated requests
|
|
89
|
+
* Can also be set via SKILLSMITH_API_KEY env var
|
|
90
|
+
* SMI-XXXX: API Key Authentication
|
|
91
|
+
*/
|
|
92
|
+
apiKey?: string;
|
|
93
|
+
/**
|
|
94
|
+
* Telemetry configuration (SMI-1184)
|
|
95
|
+
* Privacy-first: telemetry is OPT-IN and disabled by default
|
|
96
|
+
*/
|
|
97
|
+
telemetryConfig?: TelemetryConfig;
|
|
98
|
+
/**
|
|
99
|
+
* Background sync configuration
|
|
100
|
+
* Enables automatic registry sync during MCP server sessions
|
|
101
|
+
*/
|
|
102
|
+
backgroundSyncConfig?: BackgroundSyncConfig;
|
|
103
|
+
/**
|
|
104
|
+
* LLM failover chain configuration (SMI-1524)
|
|
105
|
+
* Enables multi-provider LLM support with automatic failover
|
|
106
|
+
* Disabled by default - set enabled: true to activate
|
|
107
|
+
*/
|
|
108
|
+
llmFailoverConfig?: LLMFailoverConfig;
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=context.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.types.d.ts","sourceRoot":"","sources":["../../src/context.types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,YAAY,EACZ,eAAe,EAChB,MAAM,kBAAkB,CAAA;AACzB,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAE5E;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,iCAAiC;IACjC,EAAE,EAAE,YAAY,CAAA;IAChB,+CAA+C;IAC/C,aAAa,EAAE,aAAa,CAAA;IAC5B,sDAAsD;IACtD,eAAe,EAAE,eAAe,CAAA;IAChC,0EAA0E;IAC1E,mBAAmB,EAAE,mBAAmB,CAAA;IACxC,uFAAuF;IACvF,wBAAwB,EAAE,MAAM,EAAE,CAAA;IAClC,iDAAiD;IACjD,SAAS,EAAE,mBAAmB,CAAA;IAC9B,wEAAwE;IACxE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,2CAA2C;IAC3C,cAAc,CAAC,EAAE,qBAAqB,CAAA;IACtC,+DAA+D;IAC/D,WAAW,CAAC,EAAE,gBAAgB,CAAA;IAC9B,oEAAoE;IACpE,eAAe,CAAC,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC,CAAA;CACzE;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,iEAAiE;IACjE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,iDAAiD;IACjD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,0CAA0C;IAC1C,eAAe,CAAC,EAAE,eAAe,CAAA;IACjC;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;OAGG;IACH,eAAe,CAAC,EAAE,eAAe,CAAA;IACjC;;;OAGG;IACH,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;IAC3C;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;CACtC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Tool Context Type Definitions
|
|
3
|
+
* @module @skillsmith/mcp-server/context.types
|
|
4
|
+
* @see SMI-2741: Split from context.ts to meet 500-line standard
|
|
5
|
+
*
|
|
6
|
+
* Shared type definitions used by both sync (context.ts) and
|
|
7
|
+
* async (context.async.ts) context creation modules.
|
|
8
|
+
*/
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=context.types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.types.js","sourceRoot":"","sources":["../../src/context.types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readinessCheck.d.ts","sourceRoot":"","sources":["../../../src/health/readinessCheck.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"readinessCheck.d.ts","sourceRoot":"","sources":["../../../src/health/readinessCheck.ts"],"names":[],"mappings":"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"}
|