@skillsmith/mcp-server 0.2.0 → 0.2.1

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 (89) hide show
  1. package/README.md +30 -1
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/src/__tests__/test-utils.d.ts +1 -0
  4. package/dist/src/__tests__/test-utils.d.ts.map +1 -1
  5. package/dist/src/__tests__/test-utils.js +5 -1
  6. package/dist/src/__tests__/test-utils.js.map +1 -1
  7. package/dist/src/context.d.ts +40 -5
  8. package/dist/src/context.d.ts.map +1 -1
  9. package/dist/src/context.js +38 -4
  10. package/dist/src/context.js.map +1 -1
  11. package/dist/src/index.js +1 -1
  12. package/dist/src/middleware/degradation.d.ts +7 -1
  13. package/dist/src/middleware/degradation.d.ts.map +1 -1
  14. package/dist/src/middleware/degradation.js +4 -0
  15. package/dist/src/middleware/degradation.js.map +1 -1
  16. package/dist/src/middleware/index.d.ts +2 -1
  17. package/dist/src/middleware/index.d.ts.map +1 -1
  18. package/dist/src/middleware/index.js +2 -0
  19. package/dist/src/middleware/index.js.map +1 -1
  20. package/dist/src/middleware/license.d.ts +10 -2
  21. package/dist/src/middleware/license.d.ts.map +1 -1
  22. package/dist/src/middleware/license.js +13 -2
  23. package/dist/src/middleware/license.js.map +1 -1
  24. package/dist/src/middleware/quota.d.ts +182 -0
  25. package/dist/src/middleware/quota.d.ts.map +1 -0
  26. package/dist/src/middleware/quota.js +309 -0
  27. package/dist/src/middleware/quota.js.map +1 -0
  28. package/dist/src/middleware/toolFeatureMapping.d.ts +2 -2
  29. package/dist/src/middleware/toolFeatureMapping.d.ts.map +1 -1
  30. package/dist/src/middleware/toolFeatureMapping.js +6 -0
  31. package/dist/src/middleware/toolFeatureMapping.js.map +1 -1
  32. package/dist/src/tools/compare.js +2 -2
  33. package/dist/src/tools/compare.js.map +1 -1
  34. package/dist/src/tools/get-skill.d.ts +4 -13
  35. package/dist/src/tools/get-skill.d.ts.map +1 -1
  36. package/dist/src/tools/get-skill.js +55 -19
  37. package/dist/src/tools/get-skill.js.map +1 -1
  38. package/dist/src/tools/install.d.ts.map +1 -1
  39. package/dist/src/tools/install.js +13 -1
  40. package/dist/src/tools/install.js.map +1 -1
  41. package/dist/src/tools/recommend.d.ts +4 -6
  42. package/dist/src/tools/recommend.d.ts.map +1 -1
  43. package/dist/src/tools/recommend.js +73 -41
  44. package/dist/src/tools/recommend.js.map +1 -1
  45. package/dist/src/tools/search.d.ts +5 -12
  46. package/dist/src/tools/search.d.ts.map +1 -1
  47. package/dist/src/tools/search.js +65 -67
  48. package/dist/src/tools/search.js.map +1 -1
  49. package/dist/src/tools/suggest.d.ts +4 -4
  50. package/dist/src/tools/suggest.d.ts.map +1 -1
  51. package/dist/src/tools/suggest.js +1 -33
  52. package/dist/src/tools/suggest.js.map +1 -1
  53. package/dist/src/utils/validation.d.ts +29 -10
  54. package/dist/src/utils/validation.d.ts.map +1 -1
  55. package/dist/src/utils/validation.js +52 -19
  56. package/dist/src/utils/validation.js.map +1 -1
  57. package/dist/tests/e2e/compare.e2e.test.js +11 -1
  58. package/dist/tests/e2e/compare.e2e.test.js.map +1 -1
  59. package/dist/tests/e2e/install-flow.e2e.test.js +22 -2
  60. package/dist/tests/e2e/install-flow.e2e.test.js.map +1 -1
  61. package/dist/tests/e2e/recommend.e2e.test.js +12 -2
  62. package/dist/tests/e2e/recommend.e2e.test.js.map +1 -1
  63. package/dist/tests/e2e/skill-flow.e2e.test.js +35 -4
  64. package/dist/tests/e2e/skill-flow.e2e.test.js.map +1 -1
  65. package/dist/tests/e2e/suggest.e2e.test.js +22 -2
  66. package/dist/tests/e2e/suggest.e2e.test.js.map +1 -1
  67. package/dist/tests/integration/recommend.integration.test.js +2 -0
  68. package/dist/tests/integration/recommend.integration.test.js.map +1 -1
  69. package/dist/tests/integration/setup.d.ts +4 -1
  70. package/dist/tests/integration/setup.d.ts.map +1 -1
  71. package/dist/tests/integration/setup.js +8 -1
  72. package/dist/tests/integration/setup.js.map +1 -1
  73. package/dist/tests/performance/search-performance.test.js +6 -2
  74. package/dist/tests/performance/search-performance.test.js.map +1 -1
  75. package/dist/tests/recommend.test.js +2 -0
  76. package/dist/tests/recommend.test.js.map +1 -1
  77. package/package.json +8 -8
  78. package/dist/src/__tests__/compare.test.d.ts +0 -5
  79. package/dist/src/__tests__/compare.test.d.ts.map +0 -1
  80. package/dist/src/__tests__/compare.test.js +0 -254
  81. package/dist/src/__tests__/compare.test.js.map +0 -1
  82. package/dist/src/__tests__/recommend.test.d.ts +0 -5
  83. package/dist/src/__tests__/recommend.test.d.ts.map +0 -1
  84. package/dist/src/__tests__/recommend.test.js +0 -181
  85. package/dist/src/__tests__/recommend.test.js.map +0 -1
  86. package/dist/src/__tests__/validate.test.d.ts +0 -5
  87. package/dist/src/__tests__/validate.test.d.ts.map +0 -1
  88. package/dist/src/__tests__/validate.test.js +0 -303
  89. package/dist/src/__tests__/validate.test.js.map +0 -1
@@ -6,6 +6,7 @@ import { type ToolContext } from '../context.js';
6
6
  export type { ToolContext };
7
7
  /**
8
8
  * Create a test context with in-memory database
9
+ * SMI-1183: Uses offline mode to avoid API calls during tests
9
10
  */
10
11
  export declare function createTestContext(): ToolContext;
11
12
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"test-utils.d.ts","sourceRoot":"","sources":["../../../src/__tests__/test-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,eAAe,CAAA;AAEnE,YAAY,EAAE,WAAW,EAAE,CAAA;AAE3B;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,WAAW,CAE/C;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAqEvD;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,WAAW,CAIrD"}
1
+ {"version":3,"file":"test-utils.d.ts","sourceRoot":"","sources":["../../../src/__tests__/test-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,eAAe,CAAA;AAEnE,YAAY,EAAE,WAAW,EAAE,CAAA;AAE3B;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,WAAW,CAK/C;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAqEvD;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,WAAW,CAIrD"}
@@ -5,9 +5,13 @@
5
5
  import { createToolContext } from '../context.js';
6
6
  /**
7
7
  * Create a test context with in-memory database
8
+ * SMI-1183: Uses offline mode to avoid API calls during tests
8
9
  */
9
10
  export function createTestContext() {
10
- return createToolContext({ dbPath: ':memory:' });
11
+ return createToolContext({
12
+ dbPath: ':memory:',
13
+ apiClientConfig: { offlineMode: true },
14
+ });
11
15
  }
12
16
  /**
13
17
  * Seed test data into the context
@@ -1 +1 @@
1
- {"version":3,"file":"test-utils.js","sourceRoot":"","sources":["../../../src/__tests__/test-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,iBAAiB,EAAoB,MAAM,eAAe,CAAA;AAInE;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO,iBAAiB,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAA;AAClD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,OAAoB;IAC/C,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAA;IAEnC,kBAAkB;IAClB,eAAe,CAAC,MAAM,CAAC;QACrB,EAAE,EAAE,kBAAkB;QACtB,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,kEAAkE;QAC/E,MAAM,EAAE,WAAW;QACnB,OAAO,EAAE,kDAAkD;QAC3D,YAAY,EAAE,IAAI;QAClB,SAAS,EAAE,UAAU;QACrB,IAAI,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,sBAAsB,EAAE,YAAY,CAAC;KAC9D,CAAC,CAAA;IAEF,eAAe,CAAC,MAAM,CAAC;QACrB,EAAE,EAAE,qBAAqB;QACzB,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,kDAAkD;QAC/D,MAAM,EAAE,WAAW;QACnB,OAAO,EAAE,qDAAqD;QAC9D,YAAY,EAAE,IAAI;QAClB,SAAS,EAAE,UAAU;QACrB,IAAI,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,SAAS,CAAC;KACxD,CAAC,CAAA;IAEF,eAAe,CAAC,MAAM,CAAC;QACrB,EAAE,EAAE,uBAAuB;QAC3B,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,+CAA+C;QAC5D,MAAM,EAAE,WAAW;QACnB,OAAO,EAAE,qDAAqD;QAC9D,YAAY,EAAE,IAAI;QAClB,SAAS,EAAE,WAAW;QACtB,IAAI,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,CAAC;KACjD,CAAC,CAAA;IAEF,eAAe,CAAC,MAAM,CAAC;QACrB,EAAE,EAAE,yBAAyB;QAC7B,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,yDAAyD;QACtE,MAAM,EAAE,WAAW;QACnB,OAAO,EAAE,uDAAuD;QAChE,YAAY,EAAE,IAAI;QAClB,SAAS,EAAE,WAAW;QACtB,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,CAAC;KACxD,CAAC,CAAA;IAEF,eAAe,CAAC,MAAM,CAAC;QACrB,EAAE,EAAE,0BAA0B;QAC9B,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,mDAAmD;QAChE,MAAM,EAAE,WAAW;QACnB,OAAO,EAAE,wDAAwD;QACjE,YAAY,EAAE,IAAI;QAClB,SAAS,EAAE,WAAW;QACtB,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,gBAAgB,CAAC;KAC3D,CAAC,CAAA;IAEF,eAAe,CAAC,MAAM,CAAC;QACrB,EAAE,EAAE,oBAAoB;QACxB,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,0CAA0C;QACvD,MAAM,EAAE,WAAW;QACnB,OAAO,EAAE,kDAAkD;QAC3D,YAAY,EAAE,IAAI;QAClB,SAAS,EAAE,cAAc;QACzB,IAAI,EAAE,CAAC,eAAe,EAAE,SAAS,EAAE,KAAK,CAAC;KAC1C,CAAC,CAAA;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB;IACrC,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAA;IACnC,YAAY,CAAC,OAAO,CAAC,CAAA;IACrB,OAAO,OAAO,CAAA;AAChB,CAAC"}
1
+ {"version":3,"file":"test-utils.js","sourceRoot":"","sources":["../../../src/__tests__/test-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,iBAAiB,EAAoB,MAAM,eAAe,CAAA;AAInE;;;GAGG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO,iBAAiB,CAAC;QACvB,MAAM,EAAE,UAAU;QAClB,eAAe,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;KACvC,CAAC,CAAA;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,OAAoB;IAC/C,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAA;IAEnC,kBAAkB;IAClB,eAAe,CAAC,MAAM,CAAC;QACrB,EAAE,EAAE,kBAAkB;QACtB,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,kEAAkE;QAC/E,MAAM,EAAE,WAAW;QACnB,OAAO,EAAE,kDAAkD;QAC3D,YAAY,EAAE,IAAI;QAClB,SAAS,EAAE,UAAU;QACrB,IAAI,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,sBAAsB,EAAE,YAAY,CAAC;KAC9D,CAAC,CAAA;IAEF,eAAe,CAAC,MAAM,CAAC;QACrB,EAAE,EAAE,qBAAqB;QACzB,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,kDAAkD;QAC/D,MAAM,EAAE,WAAW;QACnB,OAAO,EAAE,qDAAqD;QAC9D,YAAY,EAAE,IAAI;QAClB,SAAS,EAAE,UAAU;QACrB,IAAI,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,SAAS,CAAC;KACxD,CAAC,CAAA;IAEF,eAAe,CAAC,MAAM,CAAC;QACrB,EAAE,EAAE,uBAAuB;QAC3B,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,+CAA+C;QAC5D,MAAM,EAAE,WAAW;QACnB,OAAO,EAAE,qDAAqD;QAC9D,YAAY,EAAE,IAAI;QAClB,SAAS,EAAE,WAAW;QACtB,IAAI,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,CAAC;KACjD,CAAC,CAAA;IAEF,eAAe,CAAC,MAAM,CAAC;QACrB,EAAE,EAAE,yBAAyB;QAC7B,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,yDAAyD;QACtE,MAAM,EAAE,WAAW;QACnB,OAAO,EAAE,uDAAuD;QAChE,YAAY,EAAE,IAAI;QAClB,SAAS,EAAE,WAAW;QACtB,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,CAAC;KACxD,CAAC,CAAA;IAEF,eAAe,CAAC,MAAM,CAAC;QACrB,EAAE,EAAE,0BAA0B;QAC9B,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,mDAAmD;QAChE,MAAM,EAAE,WAAW;QACnB,OAAO,EAAE,wDAAwD;QACjE,YAAY,EAAE,IAAI;QAClB,SAAS,EAAE,WAAW;QACtB,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,gBAAgB,CAAC;KAC3D,CAAC,CAAA;IAEF,eAAe,CAAC,MAAM,CAAC;QACrB,EAAE,EAAE,oBAAoB;QACxB,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,0CAA0C;QACvD,MAAM,EAAE,WAAW;QACnB,OAAO,EAAE,kDAAkD;QAC3D,YAAY,EAAE,IAAI;QAClB,SAAS,EAAE,cAAc;QACzB,IAAI,EAAE,CAAC,eAAe,EAAE,SAAS,EAAE,KAAK,CAAC;KAC1C,CAAC,CAAA;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB;IACrC,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAA;IACnC,YAAY,CAAC,OAAO,CAAC,CAAA;IACrB,OAAO,OAAO,CAAA;AAChB,CAAC"}
@@ -18,17 +18,43 @@
18
18
  * const result = await executeSearch(input, context);
19
19
  */
20
20
  import type { Database as DatabaseType } from 'better-sqlite3';
21
- import { SearchService, SkillRepository } from '@skillsmith/core';
21
+ import { SearchService, SkillRepository, SkillsmithApiClient, type ApiClientConfig } from '@skillsmith/core';
22
22
  /**
23
23
  * Shared context for MCP tool handlers
24
+ * SMI-1183: Added apiClient for live API access with local fallback
25
+ * SMI-1184: Added distinctId for telemetry tracking
24
26
  */
25
27
  export interface ToolContext {
26
28
  /** SQLite database connection */
27
29
  db: DatabaseType;
28
- /** Search service with FTS5/BM25 */
30
+ /** Search service with FTS5/BM25 (fallback) */
29
31
  searchService: SearchService;
30
- /** Skill repository for CRUD operations */
32
+ /** Skill repository for CRUD operations (fallback) */
31
33
  skillRepository: SkillRepository;
34
+ /** API client for live Supabase API (primary) */
35
+ apiClient: SkillsmithApiClient;
36
+ /** Anonymous user ID for telemetry (undefined if telemetry disabled) */
37
+ distinctId?: string;
38
+ }
39
+ /**
40
+ * Telemetry configuration for PostHog (SMI-1184)
41
+ * Privacy-first: disabled by default (opt-in)
42
+ */
43
+ export interface TelemetryConfig {
44
+ /**
45
+ * Enable telemetry collection (default: false for privacy)
46
+ * Can also be set via SKILLSMITH_TELEMETRY_ENABLED env var
47
+ */
48
+ enabled?: boolean;
49
+ /**
50
+ * PostHog API key (starts with phc_)
51
+ * Can also be set via POSTHOG_API_KEY env var
52
+ */
53
+ postHogApiKey?: string;
54
+ /**
55
+ * PostHog host URL (default: https://app.posthog.com)
56
+ */
57
+ postHogHost?: string;
32
58
  }
33
59
  /**
34
60
  * Options for creating tool context
@@ -38,6 +64,13 @@ export interface ToolContextOptions {
38
64
  dbPath?: string;
39
65
  /** Search cache TTL in seconds (default: 300) */
40
66
  searchCacheTtl?: number;
67
+ /** API client configuration (SMI-1183) */
68
+ apiClientConfig?: ApiClientConfig;
69
+ /**
70
+ * Telemetry configuration (SMI-1184)
71
+ * Privacy-first: telemetry is OPT-IN and disabled by default
72
+ */
73
+ telemetryConfig?: TelemetryConfig;
41
74
  }
42
75
  /**
43
76
  * Get the default database path
@@ -78,10 +111,11 @@ export declare function getDefaultDbPath(): string;
78
111
  export declare function createToolContext(options?: ToolContextOptions): ToolContext;
79
112
  /**
80
113
  * Close the tool context and release resources
114
+ * SMI-1184: Also shuts down PostHog telemetry if initialized
81
115
  *
82
116
  * @param context - Tool context to close
83
117
  */
84
- export declare function closeToolContext(context: ToolContext): void;
118
+ export declare function closeToolContext(context: ToolContext): Promise<void>;
85
119
  /**
86
120
  * Get or create the global tool context
87
121
  * Uses singleton pattern for MCP server lifecycle
@@ -95,6 +129,7 @@ export declare function closeToolContext(context: ToolContext): void;
95
129
  export declare function getToolContext(options?: ToolContextOptions): ToolContext;
96
130
  /**
97
131
  * Reset the global context (for testing)
132
+ * SMI-1184: Made async to properly shutdown PostHog
98
133
  */
99
- export declare function resetToolContext(): void;
134
+ export declare function resetToolContext(): Promise<void>;
100
135
  //# sourceMappingURL=context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAKH,OAAO,KAAK,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC9D,OAAO,EAAkB,aAAa,EAAE,eAAe,EAAkB,MAAM,kBAAkB,CAAA;AAEjG;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,iCAAiC;IACjC,EAAE,EAAE,YAAY,CAAA;IAChB,oCAAoC;IACpC,aAAa,EAAE,aAAa,CAAA;IAC5B,2CAA2C;IAC3C,eAAe,EAAE,eAAe,CAAA;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,iEAAiE;IACjE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,iDAAiD;IACjD,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAqBzC;AAYD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,kBAAuB,GAAG,WAAW,CA0C/E;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAE3D;AAKD;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,WAAW,CAUxE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAKvC"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAKH,OAAO,KAAK,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC9D,OAAO,EAEL,aAAa,EACb,eAAe,EAEf,mBAAmB,EAInB,KAAK,eAAe,EACrB,MAAM,kBAAkB,CAAA;AAEzB;;;;GAIG;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,iDAAiD;IACjD,SAAS,EAAE,mBAAmB,CAAA;IAC9B,wEAAwE;IACxE,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;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,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;;;OAGG;IACH,eAAe,CAAC,EAAE,eAAe,CAAA;CAClC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAqBzC;AAYD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,kBAAuB,GAAG,WAAW,CA4E/E;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ1E;AAKD;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,WAAW,CAUxE;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAKtD"}
@@ -20,7 +20,7 @@
20
20
  import { homedir } from 'os';
21
21
  import { join, dirname } from 'path';
22
22
  import { mkdirSync, existsSync } from 'fs';
23
- import { createDatabase, SearchService, SkillRepository, validateDbPath } from '@skillsmith/core';
23
+ import { createDatabase, SearchService, SkillRepository, validateDbPath, SkillsmithApiClient, initializePostHog, shutdownPostHog, generateAnonymousId, } from '@skillsmith/core';
24
24
  /**
25
25
  * Get the default database path
26
26
  * Respects SKILLSMITH_DB_PATH environment variable
@@ -109,19 +109,52 @@ export function createToolContext(options = {}) {
109
109
  cacheTtl: options.searchCacheTtl ?? 300,
110
110
  });
111
111
  const skillRepository = new SkillRepository(db);
112
+ // SMI-1183: Initialize API client with configuration
113
+ // API is primary data source; local DB is fallback
114
+ const apiClient = new SkillsmithApiClient({
115
+ baseUrl: options.apiClientConfig?.baseUrl,
116
+ anonKey: options.apiClientConfig?.anonKey,
117
+ timeout: options.apiClientConfig?.timeout ?? 10000, // 10s default
118
+ maxRetries: options.apiClientConfig?.maxRetries ?? 3,
119
+ debug: options.apiClientConfig?.debug,
120
+ offlineMode: options.apiClientConfig?.offlineMode,
121
+ });
122
+ // SMI-1184: Initialize PostHog telemetry (opt-in, privacy first)
123
+ let distinctId;
124
+ // Check env vars first, then fall back to config
125
+ const telemetryEnabled = process.env.SKILLSMITH_TELEMETRY_ENABLED === 'true' || options.telemetryConfig?.enabled === true;
126
+ const postHogApiKey = process.env.POSTHOG_API_KEY || options.telemetryConfig?.postHogApiKey;
127
+ if (telemetryEnabled && postHogApiKey) {
128
+ // Generate anonymous user ID for telemetry
129
+ distinctId = generateAnonymousId();
130
+ // Initialize PostHog client
131
+ initializePostHog({
132
+ apiKey: postHogApiKey,
133
+ host: options.telemetryConfig?.postHogHost,
134
+ disabled: false,
135
+ });
136
+ }
112
137
  return {
113
138
  db,
114
139
  searchService,
115
140
  skillRepository,
141
+ apiClient,
142
+ distinctId,
116
143
  };
117
144
  }
118
145
  /**
119
146
  * Close the tool context and release resources
147
+ * SMI-1184: Also shuts down PostHog telemetry if initialized
120
148
  *
121
149
  * @param context - Tool context to close
122
150
  */
123
- export function closeToolContext(context) {
151
+ export async function closeToolContext(context) {
152
+ // Close database connection
124
153
  context.db.close();
154
+ // SMI-1184: Shutdown PostHog if telemetry was enabled
155
+ if (context.distinctId) {
156
+ await shutdownPostHog();
157
+ }
125
158
  }
126
159
  // Singleton context for the MCP server
127
160
  let globalContext = null;
@@ -147,10 +180,11 @@ export function getToolContext(options) {
147
180
  }
148
181
  /**
149
182
  * Reset the global context (for testing)
183
+ * SMI-1184: Made async to properly shutdown PostHog
150
184
  */
151
- export function resetToolContext() {
185
+ export async function resetToolContext() {
152
186
  if (globalContext) {
153
- closeToolContext(globalContext);
187
+ await closeToolContext(globalContext);
154
188
  globalContext = null;
155
189
  }
156
190
  }
@@ -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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"}
package/dist/src/index.js CHANGED
@@ -32,7 +32,7 @@ const toolDefinitions = [
32
32
  // Create server
33
33
  const server = new Server({
34
34
  name: 'skillsmith',
35
- version: '0.1.2',
35
+ version: '0.2.0',
36
36
  }, {
37
37
  capabilities: {
38
38
  tools: {},
@@ -7,6 +7,11 @@
7
7
  */
8
8
  import { type LicenseMiddleware } from './license.js';
9
9
  import { type FeatureFlag } from './toolFeatureMapping.js';
10
+ /**
11
+ * License tiers for degradation middleware
12
+ * Matches the LicenseTier type from license.ts
13
+ */
14
+ type DegradationLicenseTier = 'community' | 'individual' | 'team' | 'enterprise';
10
15
  /**
11
16
  * MCP tool request structure
12
17
  */
@@ -36,7 +41,7 @@ export interface DegradationLogEvent {
36
41
  timestamp: string;
37
42
  toolName: string;
38
43
  feature: FeatureFlag | null;
39
- tier: 'community' | 'team' | 'enterprise';
44
+ tier: DegradationLicenseTier;
40
45
  action: 'allowed' | 'degraded' | 'error';
41
46
  message?: string;
42
47
  }
@@ -96,4 +101,5 @@ export declare function createDegradationMiddleware(options?: DegradationMiddlew
96
101
  licenseMiddleware: LicenseMiddleware;
97
102
  };
98
103
  export type DegradationMiddleware = ReturnType<typeof createDegradationMiddleware>;
104
+ export {};
99
105
  //# sourceMappingURL=degradation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"degradation.d.ts","sourceRoot":"","sources":["../../../src/middleware/degradation.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,KAAK,iBAAiB,EAIvB,MAAM,cAAc,CAAA;AACrB,OAAO,EAIL,KAAK,WAAW,EACjB,MAAM,yBAAyB,CAAA;AA0ChC;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAChC;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,OAAO,IAAI,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,CAAC,CAAC,CAAA;AAE9E;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,WAAW,GAAG,IAAI,CAAA;IAC3B,IAAI,EAAE,WAAW,GAAG,MAAM,GAAG,YAAY,CAAA;IACzC,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,OAAO,CAAA;IACxC,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,GAAG,CAAC,KAAK,EAAE,mBAAmB,GAAG,IAAI,CAAA;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,kCAAkC;IAClC,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;IACrC,oCAAoC;IACpC,MAAM,CAAC,EAAE,iBAAiB,CAAA;IAC1B,6BAA6B;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,8BAA8B;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAaD;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,iBAMtC,CAAA;AA8CD;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,CAyBjD;AAyFD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,GAAE,4BAAiC;kBAOzD,CAAC,YAChB,MAAM,WACP,WAAW,CAAC,CAAC,CAAC,WACd,cAAc,KACtB,OAAO,CAAC,CAAC,GAAG,eAAe,CAAC;2BAyDD,CAAC,YACnB,MAAM,WACP,WAAW,CAAC,CAAC,CAAC,KACtB,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,CAAC,GAAG,eAAe,CAAC;6BAStB,MAAM,KAAG,OAAO,CAAC,OAAO,CAAC;gCAYxB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;iCAa1B,MAAM,KAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;;;EAqB1E;AAMD,MAAM,MAAM,qBAAqB,GAAG,UAAU,CAAC,OAAO,2BAA2B,CAAC,CAAA"}
1
+ {"version":3,"file":"degradation.d.ts","sourceRoot":"","sources":["../../../src/middleware/degradation.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,KAAK,iBAAiB,EAIvB,MAAM,cAAc,CAAA;AACrB,OAAO,EAIL,KAAK,WAAW,EACjB,MAAM,yBAAyB,CAAA;AAQhC;;;GAGG;AACH,KAAK,sBAAsB,GAAG,WAAW,GAAG,YAAY,GAAG,MAAM,GAAG,YAAY,CAAA;AAwChF;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAChC;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,OAAO,IAAI,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,CAAC,CAAC,CAAA;AAE9E;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,WAAW,GAAG,IAAI,CAAA;IAC3B,IAAI,EAAE,sBAAsB,CAAA;IAC5B,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,OAAO,CAAA;IACxC,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,GAAG,CAAC,KAAK,EAAE,mBAAmB,GAAG,IAAI,CAAA;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,kCAAkC;IAClC,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;IACrC,oCAAoC;IACpC,MAAM,CAAC,EAAE,iBAAiB,CAAA;IAC1B,6BAA6B;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,8BAA8B;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAaD;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,iBAMtC,CAAA;AA2CD;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,CAyBjD;AAyFD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,GAAE,4BAAiC;kBAOzD,CAAC,YAChB,MAAM,WACP,WAAW,CAAC,CAAC,CAAC,WACd,cAAc,KACtB,OAAO,CAAC,CAAC,GAAG,eAAe,CAAC;2BAyDD,CAAC,YACnB,MAAM,WACP,WAAW,CAAC,CAAC,CAAC,KACtB,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,CAAC,GAAG,eAAe,CAAC;6BAStB,MAAM,KAAG,OAAO,CAAC,OAAO,CAAC;gCAYxB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;iCAa1B,MAAM,KAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;;;EAqB1E;AAMD,MAAM,MAAM,qBAAqB,GAAG,UAAU,CAAC,OAAO,2BAA2B,CAAC,CAAA"}
@@ -16,6 +16,7 @@ const BASE_URL = 'https://skillsmith.app';
16
16
  */
17
17
  const TIER_PRICING = {
18
18
  community: '$0/month',
19
+ individual: '$9.99/month',
19
20
  team: '$25/user/month',
20
21
  enterprise: '$55/user/month',
21
22
  };
@@ -23,6 +24,9 @@ const TIER_PRICING = {
23
24
  * Feature descriptions for upgrade prompts
24
25
  */
25
26
  const FEATURE_DESCRIPTIONS = {
27
+ // Individual tier features
28
+ basic_analytics: 'Track your personal skill usage and activity',
29
+ email_support: 'Get help from our support team via email',
26
30
  // Team tier features
27
31
  private_skills: 'Create and manage private skills for your organization',
28
32
  team_workspaces: 'Collaborate with your team on shared skill collections',
@@ -1 +1 @@
1
- {"version":3,"file":"degradation.js","sourceRoot":"","sources":["../../../src/middleware/degradation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"degradation.js","sourceRoot":"","sources":["../../../src/middleware/degradation.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,8 @@
4
4
  * Exports all middleware for the Skillsmith MCP server.
5
5
  */
6
6
  export { cspMiddleware, buildCspHeader, generateNonce, validateCspHeader, validateCspHeaderDetailed, getCspForEnvironment, DEFAULT_CSP_DIRECTIVES, STRICT_CSP_DIRECTIVES, type CspDirectives, type CspValidationResult, } from './csp.js';
7
- export { createLicenseMiddleware, requireFeature, isEnterpriseFeature, requiresLicense, getRequiredFeature, createLicenseErrorResponse, type LicenseMiddleware, type LicenseMiddlewareContext, type LicenseValidationResult, type LicenseInfo, type FeatureFlag, TOOL_FEATURES, FEATURE_DISPLAY_NAMES, FEATURE_TIERS, } from './license.js';
7
+ export { createLicenseMiddleware, requireFeature, isEnterpriseFeature, requiresLicense, getRequiredFeature, createLicenseErrorResponse, type LicenseMiddleware, type LicenseMiddlewareContext, type LicenseValidationResult, type LicenseInfo, type LicenseTier, type FeatureFlag, TOOL_FEATURES, FEATURE_DISPLAY_NAMES, FEATURE_TIERS, } from './license.js';
8
+ export { createQuotaMiddleware, withQuotaEnforcement, isUnlimitedTier, getQuotaLimit, formatQuotaRemaining, type QuotaMiddleware, type QuotaMiddlewareOptions, type QuotaCheckResult, type QuotaMetadata, type QuotaStorage, } from './quota.js';
8
9
  export { createDegradationMiddleware, getTierComparisonMessage, consoleDegradationLogger, type DegradationMiddleware, type DegradationMiddlewareOptions, type DegradationLogger, type DegradationLogEvent, type McpToolRequest, type McpToolResponse, type ToolHandler, } from './degradation.js';
9
10
  export { formatLicenseError, formatGenericError, getUserFriendlyMessage, generateUpgradeUrl, buildUpgradeRequiredResponse, buildLicenseExpiredResponse, buildQuotaExceededResponse, isLicenseErrorLike, safeFormatError, type MCPErrorContent, type MCPErrorResponse, type LicenseErrorDetails as MCPLicenseErrorDetails, type LicenseErrorLike, type UpgradeUrlConfig, } from './errorFormatter.js';
10
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/middleware/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,aAAa,EACb,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,yBAAyB,EACzB,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,KAAK,aAAa,EAClB,KAAK,mBAAmB,GACzB,MAAM,UAAU,CAAA;AAGjB,OAAO,EACL,uBAAuB,EACvB,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,0BAA0B,EAC1B,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,aAAa,EACb,qBAAqB,EACrB,aAAa,GACd,MAAM,cAAc,CAAA;AAGrB,OAAO,EACL,2BAA2B,EAC3B,wBAAwB,EACxB,wBAAwB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,4BAA4B,EACjC,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,WAAW,GACjB,MAAM,kBAAkB,CAAA;AAGzB,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,EAClB,4BAA4B,EAC5B,2BAA2B,EAC3B,0BAA0B,EAC1B,kBAAkB,EAClB,eAAe,EACf,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,IAAI,sBAAsB,EAClD,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,GACtB,MAAM,qBAAqB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/middleware/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,aAAa,EACb,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,yBAAyB,EACzB,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,KAAK,aAAa,EAClB,KAAK,mBAAmB,GACzB,MAAM,UAAU,CAAA;AAGjB,OAAO,EACL,uBAAuB,EACvB,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,0BAA0B,EAC1B,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,aAAa,EACb,qBAAqB,EACrB,aAAa,GACd,MAAM,cAAc,CAAA;AAGrB,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,YAAY,GAClB,MAAM,YAAY,CAAA;AAGnB,OAAO,EACL,2BAA2B,EAC3B,wBAAwB,EACxB,wBAAwB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,4BAA4B,EACjC,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,WAAW,GACjB,MAAM,kBAAkB,CAAA;AAGzB,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,EAClB,4BAA4B,EAC5B,2BAA2B,EAC3B,0BAA0B,EAC1B,kBAAkB,EAClB,eAAe,EACf,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,IAAI,sBAAsB,EAClD,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,GACtB,MAAM,qBAAqB,CAAA"}
@@ -7,6 +7,8 @@
7
7
  export { cspMiddleware, buildCspHeader, generateNonce, validateCspHeader, validateCspHeaderDetailed, getCspForEnvironment, DEFAULT_CSP_DIRECTIVES, STRICT_CSP_DIRECTIVES, } from './csp.js';
8
8
  // License middleware
9
9
  export { createLicenseMiddleware, requireFeature, isEnterpriseFeature, requiresLicense, getRequiredFeature, createLicenseErrorResponse, TOOL_FEATURES, FEATURE_DISPLAY_NAMES, FEATURE_TIERS, } from './license.js';
10
+ // Quota enforcement middleware (SMI-1091)
11
+ export { createQuotaMiddleware, withQuotaEnforcement, isUnlimitedTier, getQuotaLimit, formatQuotaRemaining, } from './quota.js';
10
12
  // Degradation middleware (SMI-1060)
11
13
  export { createDegradationMiddleware, getTierComparisonMessage, consoleDegradationLogger, } from './degradation.js';
12
14
  // MCP Error Formatter (SMI-1061)
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/middleware/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,iBAAiB;AACjB,OAAO,EACL,aAAa,EACb,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,yBAAyB,EACzB,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,GAGtB,MAAM,UAAU,CAAA;AAEjB,qBAAqB;AACrB,OAAO,EACL,uBAAuB,EACvB,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,0BAA0B,EAM1B,aAAa,EACb,qBAAqB,EACrB,aAAa,GACd,MAAM,cAAc,CAAA;AAErB,oCAAoC;AACpC,OAAO,EACL,2BAA2B,EAC3B,wBAAwB,EACxB,wBAAwB,GAQzB,MAAM,kBAAkB,CAAA;AAEzB,iCAAiC;AACjC,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,EAClB,4BAA4B,EAC5B,2BAA2B,EAC3B,0BAA0B,EAC1B,kBAAkB,EAClB,eAAe,GAMhB,MAAM,qBAAqB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/middleware/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,iBAAiB;AACjB,OAAO,EACL,aAAa,EACb,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,yBAAyB,EACzB,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,GAGtB,MAAM,UAAU,CAAA;AAEjB,qBAAqB;AACrB,OAAO,EACL,uBAAuB,EACvB,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,0BAA0B,EAO1B,aAAa,EACb,qBAAqB,EACrB,aAAa,GACd,MAAM,cAAc,CAAA;AAErB,0CAA0C;AAC1C,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,oBAAoB,GAMrB,MAAM,YAAY,CAAA;AAEnB,oCAAoC;AACpC,OAAO,EACL,2BAA2B,EAC3B,wBAAwB,EACxB,wBAAwB,GAQzB,MAAM,kBAAkB,CAAA;AAEzB,iCAAiC;AACjC,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,EAClB,4BAA4B,EAC5B,2BAA2B,EAC3B,0BAA0B,EAC1B,kBAAkB,EAClB,eAAe,GAMhB,MAAM,qBAAqB,CAAA"}
@@ -17,12 +17,20 @@ export interface LicenseValidationResult {
17
17
  upgradeUrl?: string;
18
18
  warning?: string;
19
19
  }
20
+ /**
21
+ * License tiers available in Skillsmith
22
+ * - community: Free tier (1,000 API calls/month)
23
+ * - individual: Solo developers ($9.99/mo, 10,000 API calls/month)
24
+ * - team: Development teams ($25/user/mo, 100,000 API calls/month)
25
+ * - enterprise: Full enterprise ($55/user/mo, unlimited)
26
+ */
27
+ export type LicenseTier = 'community' | 'individual' | 'team' | 'enterprise';
20
28
  /**
21
29
  * License information interface (mirrors @skillsmith/enterprise LicenseInfo)
22
30
  */
23
31
  export interface LicenseInfo {
24
32
  valid: boolean;
25
- tier: 'community' | 'team' | 'enterprise';
33
+ tier: LicenseTier;
26
34
  features: FeatureFlag[];
27
35
  expiresAt?: Date;
28
36
  organizationId?: string;
@@ -31,7 +39,7 @@ export interface LicenseInfo {
31
39
  * License from enterprise package validation
32
40
  */
33
41
  interface EnterpriseLicense {
34
- tier: 'community' | 'team' | 'enterprise';
42
+ tier: LicenseTier;
35
43
  features: FeatureFlag[];
36
44
  customerId: string;
37
45
  issuedAt: Date;
@@ -1 +1 @@
1
- {"version":3,"file":"license.d.ts","sourceRoot":"","sources":["../../../src/middleware/license.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"license.d.ts","sourceRoot":"","sources":["../../../src/middleware/license.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAIL,KAAK,WAAW,EACjB,MAAM,yBAAyB,CAAA;AAOhC;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,OAAO,CAAA;IACd,OAAO,CAAC,EAAE,WAAW,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,YAAY,GAAG,MAAM,GAAG,YAAY,CAAA;AAE5E;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,OAAO,CAAA;IACd,IAAI,EAAE,WAAW,CAAA;IACjB,QAAQ,EAAE,WAAW,EAAE,CAAA;IACvB,SAAS,CAAC,EAAE,IAAI,CAAA;IAChB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED;;GAEG;AACH,UAAU,iBAAiB;IACzB,IAAI,EAAE,WAAW,CAAA;IACjB,QAAQ,EAAE,WAAW,EAAE,CAAA;IACvB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,IAAI,CAAA;IACd,SAAS,EAAE,IAAI,CAAA;CAChB;AAED;;GAEG;AACH,UAAU,0BAA0B;IAClC,KAAK,EAAE,OAAO,CAAA;IACd,OAAO,CAAC,EAAE,iBAAiB,CAAA;IAC3B,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAA;QACZ,OAAO,EAAE,MAAM,CAAA;KAChB,CAAA;CACF;AAED;;;GAGG;AACH,KAAK,mBAAmB,GAAG;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAA;CAClE,CAAA;AAoCD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAM7D;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAEvE;AAcD;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,mBAAmB,GAAG,IAAI,CAAA;IACrC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;IAC9B,aAAa,EAAE,WAAW,GAAG,IAAI,CAAA;IACjC,WAAW,EAAE,MAAM,CAAA;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAA;IAEpE;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAA;IAE7D;;OAEG;IACH,cAAc,IAAI,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;IAE7C;;OAEG;IACH,eAAe,IAAI,IAAI,CAAA;CACxB;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,CAAC,EAAE;IAChD,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,GAAG,iBAAiB,CAwKpB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,WAAW,GACnB,CAAC,UAAU,EAAE,iBAAiB,KAAK,OAAO,CAAC,uBAAuB,CAAC,CAIrE;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,uBAAuB,GAAG;IAC3E,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC9C,OAAO,EAAE,IAAI,CAAA;IACb,KAAK,CAAC,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAA;CAC/B,CAoBA;AAGD,YAAY,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA"}
@@ -186,8 +186,19 @@ export function createLicenseMiddleware(options) {
186
186
  upgradeUrl: `${UPGRADE_URL}?feature=${feature}&current=community`,
187
187
  };
188
188
  }
189
- // Team tier - only team features
190
- if (license.tier === 'team' && FEATURE_TIERS[feature] === 'enterprise') {
189
+ // Individual tier - only individual features (basic_analytics, email_support)
190
+ const featureTier = FEATURE_TIERS[feature];
191
+ if (license.tier === 'individual' && (featureTier === 'team' || featureTier === 'enterprise')) {
192
+ const displayName = FEATURE_DISPLAY_NAMES[feature];
193
+ return {
194
+ valid: false,
195
+ feature,
196
+ message: `The "${displayName}" feature requires a ${featureTier} license. You are currently on the individual tier.`,
197
+ upgradeUrl: `${UPGRADE_URL}?feature=${feature}&current=individual`,
198
+ };
199
+ }
200
+ // Team tier - only team features (not enterprise)
201
+ if (license.tier === 'team' && featureTier === 'enterprise') {
191
202
  const displayName = FEATURE_DISPLAY_NAMES[feature];
192
203
  return {
193
204
  valid: false,
@@ -1 +1 @@
1
- {"version":3,"file":"license.js","sourceRoot":"","sources":["../../../src/middleware/license.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"license.js","sourceRoot":"","sources":["../../../src/middleware/license.ts"],"names":[],"mappings":"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"}