@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.
Files changed (178) hide show
  1. package/README.md +11 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/src/__tests__/LocalIndexer.test.js +158 -0
  4. package/dist/src/__tests__/LocalIndexer.test.js.map +1 -1
  5. package/dist/src/__tests__/compare.test.d.ts +8 -0
  6. package/dist/src/__tests__/compare.test.d.ts.map +1 -0
  7. package/dist/src/__tests__/compare.test.js +162 -0
  8. package/dist/src/__tests__/compare.test.js.map +1 -0
  9. package/dist/src/__tests__/context.async.test.d.ts +8 -0
  10. package/dist/src/__tests__/context.async.test.d.ts.map +1 -0
  11. package/dist/src/__tests__/context.async.test.js +223 -0
  12. package/dist/src/__tests__/context.async.test.js.map +1 -0
  13. package/dist/src/__tests__/middleware/errorFormatter.builders.test.d.ts +10 -0
  14. package/dist/src/__tests__/middleware/errorFormatter.builders.test.d.ts.map +1 -0
  15. package/dist/src/__tests__/middleware/errorFormatter.builders.test.js +93 -0
  16. package/dist/src/__tests__/middleware/errorFormatter.builders.test.js.map +1 -0
  17. package/dist/src/__tests__/middleware/license-renewal.test.d.ts +10 -0
  18. package/dist/src/__tests__/middleware/license-renewal.test.d.ts.map +1 -0
  19. package/dist/src/__tests__/middleware/license-renewal.test.js +152 -0
  20. package/dist/src/__tests__/middleware/license-renewal.test.js.map +1 -0
  21. package/dist/src/__tests__/middleware/quota-helpers.test.d.ts +9 -0
  22. package/dist/src/__tests__/middleware/quota-helpers.test.d.ts.map +1 -0
  23. package/dist/src/__tests__/middleware/quota-helpers.test.js +105 -0
  24. package/dist/src/__tests__/middleware/quota-helpers.test.js.map +1 -0
  25. package/dist/src/__tests__/middleware/quota.test.d.ts +12 -0
  26. package/dist/src/__tests__/middleware/quota.test.d.ts.map +1 -0
  27. package/dist/src/__tests__/middleware/quota.test.js +189 -0
  28. package/dist/src/__tests__/middleware/quota.test.js.map +1 -0
  29. package/dist/src/__tests__/recommend-online-path.test.d.ts +10 -0
  30. package/dist/src/__tests__/recommend-online-path.test.d.ts.map +1 -0
  31. package/dist/src/__tests__/recommend-online-path.test.js +225 -0
  32. package/dist/src/__tests__/recommend-online-path.test.js.map +1 -0
  33. package/dist/src/__tests__/recommend.test.d.ts +2 -0
  34. package/dist/src/__tests__/recommend.test.d.ts.map +1 -1
  35. package/dist/src/__tests__/recommend.test.js +14 -2
  36. package/dist/src/__tests__/recommend.test.js.map +1 -1
  37. package/dist/src/__tests__/search-online-path.test.d.ts +10 -0
  38. package/dist/src/__tests__/search-online-path.test.d.ts.map +1 -0
  39. package/dist/src/__tests__/search-online-path.test.js +140 -0
  40. package/dist/src/__tests__/search-online-path.test.js.map +1 -0
  41. package/dist/src/__tests__/search.test.js +153 -5
  42. package/dist/src/__tests__/search.test.js.map +1 -1
  43. package/dist/src/context/project-detector.d.ts.map +1 -1
  44. package/dist/src/context/project-detector.js +1 -0
  45. package/dist/src/context/project-detector.js.map +1 -1
  46. package/dist/src/context.async.d.ts +48 -0
  47. package/dist/src/context.async.d.ts.map +1 -0
  48. package/dist/src/context.async.js +215 -0
  49. package/dist/src/context.async.js.map +1 -0
  50. package/dist/src/context.d.ts +5 -145
  51. package/dist/src/context.d.ts.map +1 -1
  52. package/dist/src/context.helpers.d.ts +25 -0
  53. package/dist/src/context.helpers.d.ts.map +1 -0
  54. package/dist/src/context.helpers.js +49 -0
  55. package/dist/src/context.helpers.js.map +1 -0
  56. package/dist/src/context.js +11 -228
  57. package/dist/src/context.js.map +1 -1
  58. package/dist/src/context.types.d.ts +110 -0
  59. package/dist/src/context.types.d.ts.map +1 -0
  60. package/dist/src/context.types.js +10 -0
  61. package/dist/src/context.types.js.map +1 -0
  62. package/dist/src/health/readinessCheck.d.ts +1 -1
  63. package/dist/src/health/readinessCheck.d.ts.map +1 -1
  64. package/dist/src/index.js +21 -152
  65. package/dist/src/index.js.map +1 -1
  66. package/dist/src/indexer/FrontmatterParser.d.ts +6 -0
  67. package/dist/src/indexer/FrontmatterParser.d.ts.map +1 -1
  68. package/dist/src/indexer/FrontmatterParser.js +15 -0
  69. package/dist/src/indexer/FrontmatterParser.js.map +1 -1
  70. package/dist/src/indexer/LocalIndexer.d.ts +4 -0
  71. package/dist/src/indexer/LocalIndexer.d.ts.map +1 -1
  72. package/dist/src/indexer/LocalIndexer.js +3 -0
  73. package/dist/src/indexer/LocalIndexer.js.map +1 -1
  74. package/dist/src/middleware/degradation.d.ts.map +1 -1
  75. package/dist/src/middleware/degradation.js +8 -0
  76. package/dist/src/middleware/degradation.js.map +1 -1
  77. package/dist/src/middleware/errorFormatter.builders.d.ts +49 -0
  78. package/dist/src/middleware/errorFormatter.builders.d.ts.map +1 -0
  79. package/dist/src/middleware/errorFormatter.builders.js +237 -0
  80. package/dist/src/middleware/errorFormatter.builders.js.map +1 -0
  81. package/dist/src/middleware/errorFormatter.d.ts +5 -100
  82. package/dist/src/middleware/errorFormatter.d.ts.map +1 -1
  83. package/dist/src/middleware/errorFormatter.js +16 -238
  84. package/dist/src/middleware/errorFormatter.js.map +1 -1
  85. package/dist/src/middleware/errorFormatter.types.d.ts +81 -0
  86. package/dist/src/middleware/errorFormatter.types.d.ts.map +1 -0
  87. package/dist/src/middleware/errorFormatter.types.js +34 -0
  88. package/dist/src/middleware/errorFormatter.types.js.map +1 -0
  89. package/dist/src/middleware/toolFeatureMapping.d.ts +1 -1
  90. package/dist/src/middleware/toolFeatureMapping.d.ts.map +1 -1
  91. package/dist/src/middleware/toolFeatureMapping.js +8 -0
  92. package/dist/src/middleware/toolFeatureMapping.js.map +1 -1
  93. package/dist/src/tool-dispatch.d.ts +27 -0
  94. package/dist/src/tool-dispatch.d.ts.map +1 -0
  95. package/dist/src/tool-dispatch.js +127 -0
  96. package/dist/src/tool-dispatch.js.map +1 -0
  97. package/dist/src/tools/LocalSkillSearch.d.ts.map +1 -1
  98. package/dist/src/tools/LocalSkillSearch.js +4 -0
  99. package/dist/src/tools/LocalSkillSearch.js.map +1 -1
  100. package/dist/src/tools/get-skill.d.ts.map +1 -1
  101. package/dist/src/tools/get-skill.js +14 -0
  102. package/dist/src/tools/get-skill.js.map +1 -1
  103. package/dist/src/tools/index.d.ts +6 -0
  104. package/dist/src/tools/index.d.ts.map +1 -1
  105. package/dist/src/tools/index.js +6 -0
  106. package/dist/src/tools/index.js.map +1 -1
  107. package/dist/src/tools/install.d.ts +3 -35
  108. package/dist/src/tools/install.d.ts.map +1 -1
  109. package/dist/src/tools/install.js +22 -74
  110. package/dist/src/tools/install.js.map +1 -1
  111. package/dist/src/tools/install.optimize.d.ts +46 -0
  112. package/dist/src/tools/install.optimize.d.ts.map +1 -0
  113. package/dist/src/tools/install.optimize.js +67 -0
  114. package/dist/src/tools/install.optimize.js.map +1 -0
  115. package/dist/src/tools/install.tool.d.ts +44 -0
  116. package/dist/src/tools/install.tool.d.ts.map +1 -0
  117. package/dist/src/tools/install.tool.js +44 -0
  118. package/dist/src/tools/install.tool.js.map +1 -0
  119. package/dist/src/tools/install.types.d.ts +7 -1
  120. package/dist/src/tools/install.types.d.ts.map +1 -1
  121. package/dist/src/tools/recommend.d.ts +2 -4
  122. package/dist/src/tools/recommend.d.ts.map +1 -1
  123. package/dist/src/tools/recommend.format.d.ts +28 -0
  124. package/dist/src/tools/recommend.format.d.ts.map +1 -0
  125. package/dist/src/tools/recommend.format.js +111 -0
  126. package/dist/src/tools/recommend.format.js.map +1 -0
  127. package/dist/src/tools/recommend.js +6 -97
  128. package/dist/src/tools/recommend.js.map +1 -1
  129. package/dist/src/tools/recommend.types.d.ts +1 -1
  130. package/dist/src/tools/search.d.ts +24 -21
  131. package/dist/src/tools/search.d.ts.map +1 -1
  132. package/dist/src/tools/search.formatter.d.ts +30 -0
  133. package/dist/src/tools/search.formatter.d.ts.map +1 -0
  134. package/dist/src/tools/search.formatter.js +64 -0
  135. package/dist/src/tools/search.formatter.js.map +1 -0
  136. package/dist/src/tools/search.js +55 -54
  137. package/dist/src/tools/search.js.map +1 -1
  138. package/dist/src/tools/skill-audit.d.ts +98 -0
  139. package/dist/src/tools/skill-audit.d.ts.map +1 -0
  140. package/dist/src/tools/skill-audit.js +105 -0
  141. package/dist/src/tools/skill-audit.js.map +1 -0
  142. package/dist/src/tools/skill-audit.test.d.ts +6 -0
  143. package/dist/src/tools/skill-audit.test.d.ts.map +1 -0
  144. package/dist/src/tools/skill-audit.test.js +121 -0
  145. package/dist/src/tools/skill-audit.test.js.map +1 -0
  146. package/dist/src/tools/skill-diff.d.ts +107 -0
  147. package/dist/src/tools/skill-diff.d.ts.map +1 -0
  148. package/dist/src/tools/skill-diff.js +268 -0
  149. package/dist/src/tools/skill-diff.js.map +1 -0
  150. package/dist/src/tools/skill-diff.test.d.ts +6 -0
  151. package/dist/src/tools/skill-diff.test.d.ts.map +1 -0
  152. package/dist/src/tools/skill-diff.test.js +260 -0
  153. package/dist/src/tools/skill-diff.test.js.map +1 -0
  154. package/dist/src/tools/skill-updates.d.ts +1 -1
  155. package/dist/src/tools/skill-updates.d.ts.map +1 -1
  156. package/dist/src/tools/suggest.d.ts +4 -4
  157. package/dist/src/tools/uninstall.d.ts +1 -1
  158. package/dist/src/tools/validate.helpers.d.ts.map +1 -1
  159. package/dist/src/tools/validate.helpers.js +31 -0
  160. package/dist/src/tools/validate.helpers.js.map +1 -1
  161. package/dist/src/utils/validation.d.ts +13 -0
  162. package/dist/src/utils/validation.d.ts.map +1 -1
  163. package/dist/src/utils/validation.js +27 -0
  164. package/dist/src/utils/validation.js.map +1 -1
  165. package/dist/tests/health.test.js +4 -4
  166. package/dist/tests/health.test.js.map +1 -1
  167. package/dist/tests/integration/recommend.integration.test.js +2 -0
  168. package/dist/tests/integration/recommend.integration.test.js.map +1 -1
  169. package/dist/tests/integration/setup.d.ts +3 -1
  170. package/dist/tests/integration/setup.d.ts.map +1 -1
  171. package/dist/tests/integration/setup.js +4 -1
  172. package/dist/tests/integration/setup.js.map +1 -1
  173. package/dist/tests/recommend.test.js +2 -0
  174. package/dist/tests/recommend.test.js.map +1 -1
  175. package/dist/tests/unit/validate-helpers.test.js +54 -0
  176. package/dist/tests/unit/validate-helpers.test.js.map +1 -1
  177. package/package.json +2 -2
  178. package/server.json +2 -2
@@ -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 { homedir } from 'os';
21
- import { join, dirname } from 'path';
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
- * Get the default database path
29
- * Respects SKILLSMITH_DB_PATH environment variable
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
@@ -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"}
@@ -8,7 +8,7 @@
8
8
  *
9
9
  * Returns 503 if any critical dependency fails.
10
10
  */
11
- import type { Database as DatabaseType } from 'better-sqlite3';
11
+ import type { Database as DatabaseType } from '@skillsmith/core';
12
12
  /**
13
13
  * Dependency check result
14
14
  */
@@ -1 +1 @@
1
- {"version":3,"file":"readinessCheck.d.ts","sourceRoot":"","sources":["../../../src/health/readinessCheck.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"readinessCheck.d.ts","sourceRoot":"","sources":["../../../src/health/readinessCheck.ts"],"names":[],"mappings":"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"}