@skillsmith/mcp-server 0.3.17 → 0.3.18
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/dist/.tsbuildinfo +1 -1
- package/dist/src/context.d.ts +37 -2
- package/dist/src/context.d.ts.map +1 -1
- package/dist/src/context.js +182 -1
- package/dist/src/context.js.map +1 -1
- package/dist/src/index.js +24 -6
- package/dist/src/index.js.map +1 -1
- package/dist/src/tools/install.helpers.d.ts +3 -6
- package/dist/src/tools/install.helpers.d.ts.map +1 -1
- package/dist/src/tools/install.helpers.js +6 -35
- package/dist/src/tools/install.helpers.js.map +1 -1
- package/dist/src/tools/install.types.d.ts +2 -8
- package/dist/src/tools/install.types.d.ts.map +1 -1
- package/dist/src/tools/recommend.types.d.ts +3 -3
- package/dist/src/tools/suggest.d.ts +4 -4
- package/dist/tests/context-async.test.d.ts +9 -0
- package/dist/tests/context-async.test.d.ts.map +1 -0
- package/dist/tests/context-async.test.js +265 -0
- package/dist/tests/context-async.test.js.map +1 -0
- package/dist/tests/integration/setup.d.ts +1 -2
- package/dist/tests/integration/setup.d.ts.map +1 -1
- package/dist/tests/integration/setup.js.map +1 -1
- package/package.json +1 -1
- package/server.json +2 -2
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SMI-2207: Async Context Functions Tests
|
|
3
|
+
*
|
|
4
|
+
* Tests for async tool context creation with WASM fallback support.
|
|
5
|
+
* These tests verify that createToolContextAsync, getToolContextAsync,
|
|
6
|
+
* and resetAsyncToolContext work correctly with automatic driver selection.
|
|
7
|
+
*/
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=context-async.test.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context-async.test.d.ts","sourceRoot":"","sources":["../../tests/context-async.test.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
|
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SMI-2207: Async Context Functions Tests
|
|
3
|
+
*
|
|
4
|
+
* Tests for async tool context creation with WASM fallback support.
|
|
5
|
+
* These tests verify that createToolContextAsync, getToolContextAsync,
|
|
6
|
+
* and resetAsyncToolContext work correctly with automatic driver selection.
|
|
7
|
+
*/
|
|
8
|
+
import { describe, it, expect, afterEach } from 'vitest';
|
|
9
|
+
import { createToolContextAsync, getToolContextAsync, resetAsyncToolContext, closeToolContext, } from '../src/context.js';
|
|
10
|
+
import { isBetterSqlite3Available } from '@skillsmith/core';
|
|
11
|
+
// Track contexts to clean up
|
|
12
|
+
const testContexts = [];
|
|
13
|
+
describe('Async Context Functions (SMI-2207)', () => {
|
|
14
|
+
afterEach(async () => {
|
|
15
|
+
// Close all test contexts
|
|
16
|
+
for (const ctx of testContexts) {
|
|
17
|
+
if (ctx.db?.open) {
|
|
18
|
+
await closeToolContext(ctx);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
testContexts.length = 0;
|
|
22
|
+
// Reset global async context
|
|
23
|
+
await resetAsyncToolContext();
|
|
24
|
+
});
|
|
25
|
+
describe('createToolContextAsync', () => {
|
|
26
|
+
it('creates valid tool context', async () => {
|
|
27
|
+
if (!isBetterSqlite3Available()) {
|
|
28
|
+
console.log('Skipping test: no SQLite driver available');
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
const ctx = await createToolContextAsync({
|
|
32
|
+
dbPath: ':memory:',
|
|
33
|
+
backgroundSyncConfig: { enabled: false },
|
|
34
|
+
});
|
|
35
|
+
testContexts.push(ctx);
|
|
36
|
+
expect(ctx.db).toBeDefined();
|
|
37
|
+
expect(ctx.db.open).toBe(true);
|
|
38
|
+
expect(ctx.searchService).toBeDefined();
|
|
39
|
+
expect(ctx.skillRepository).toBeDefined();
|
|
40
|
+
expect(ctx.apiClient).toBeDefined();
|
|
41
|
+
});
|
|
42
|
+
it('creates in-memory database when specified', async () => {
|
|
43
|
+
if (!isBetterSqlite3Available()) {
|
|
44
|
+
console.log('Skipping test: no SQLite driver available');
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
const ctx = await createToolContextAsync({
|
|
48
|
+
dbPath: ':memory:',
|
|
49
|
+
backgroundSyncConfig: { enabled: false },
|
|
50
|
+
});
|
|
51
|
+
testContexts.push(ctx);
|
|
52
|
+
expect(ctx.db.memory).toBe(true);
|
|
53
|
+
});
|
|
54
|
+
it('initializes search service with custom cache TTL', async () => {
|
|
55
|
+
if (!isBetterSqlite3Available()) {
|
|
56
|
+
console.log('Skipping test: no SQLite driver available');
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
const ctx = await createToolContextAsync({
|
|
60
|
+
dbPath: ':memory:',
|
|
61
|
+
searchCacheTtl: 600,
|
|
62
|
+
backgroundSyncConfig: { enabled: false },
|
|
63
|
+
});
|
|
64
|
+
testContexts.push(ctx);
|
|
65
|
+
expect(ctx.searchService).toBeDefined();
|
|
66
|
+
// SearchService should be initialized with the cache TTL
|
|
67
|
+
// The actual TTL is internal, but we can verify the service exists
|
|
68
|
+
});
|
|
69
|
+
it('initializes API client with configuration', async () => {
|
|
70
|
+
if (!isBetterSqlite3Available()) {
|
|
71
|
+
console.log('Skipping test: no SQLite driver available');
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
const ctx = await createToolContextAsync({
|
|
75
|
+
dbPath: ':memory:',
|
|
76
|
+
apiClientConfig: {
|
|
77
|
+
timeout: 5000,
|
|
78
|
+
maxRetries: 2,
|
|
79
|
+
offlineMode: true,
|
|
80
|
+
},
|
|
81
|
+
backgroundSyncConfig: { enabled: false },
|
|
82
|
+
});
|
|
83
|
+
testContexts.push(ctx);
|
|
84
|
+
expect(ctx.apiClient).toBeDefined();
|
|
85
|
+
});
|
|
86
|
+
it('rejects path traversal attempts', async () => {
|
|
87
|
+
if (!isBetterSqlite3Available()) {
|
|
88
|
+
console.log('Skipping test: no SQLite driver available');
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
await expect(createToolContextAsync({
|
|
92
|
+
dbPath: '../../../etc/passwd',
|
|
93
|
+
backgroundSyncConfig: { enabled: false },
|
|
94
|
+
})).rejects.toThrow(/Invalid database path/);
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
describe('getToolContextAsync', () => {
|
|
98
|
+
it('creates context on first call', async () => {
|
|
99
|
+
if (!isBetterSqlite3Available()) {
|
|
100
|
+
console.log('Skipping test: no SQLite driver available');
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
const ctx = await getToolContextAsync({
|
|
104
|
+
dbPath: ':memory:',
|
|
105
|
+
backgroundSyncConfig: { enabled: false },
|
|
106
|
+
});
|
|
107
|
+
expect(ctx.db).toBeDefined();
|
|
108
|
+
expect(ctx.db.open).toBe(true);
|
|
109
|
+
});
|
|
110
|
+
it('returns cached context on subsequent calls', async () => {
|
|
111
|
+
if (!isBetterSqlite3Available()) {
|
|
112
|
+
console.log('Skipping test: no SQLite driver available');
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
const ctx1 = await getToolContextAsync({
|
|
116
|
+
dbPath: ':memory:',
|
|
117
|
+
backgroundSyncConfig: { enabled: false },
|
|
118
|
+
});
|
|
119
|
+
const ctx2 = await getToolContextAsync({
|
|
120
|
+
dbPath: ':memory:',
|
|
121
|
+
backgroundSyncConfig: { enabled: false },
|
|
122
|
+
});
|
|
123
|
+
// Same reference indicates caching
|
|
124
|
+
expect(ctx1).toBe(ctx2);
|
|
125
|
+
});
|
|
126
|
+
it('creates new context after reset', async () => {
|
|
127
|
+
if (!isBetterSqlite3Available()) {
|
|
128
|
+
console.log('Skipping test: no SQLite driver available');
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
const ctx1 = await getToolContextAsync({
|
|
132
|
+
dbPath: ':memory:',
|
|
133
|
+
backgroundSyncConfig: { enabled: false },
|
|
134
|
+
});
|
|
135
|
+
const dbRef1 = ctx1.db;
|
|
136
|
+
await resetAsyncToolContext();
|
|
137
|
+
const ctx2 = await getToolContextAsync({
|
|
138
|
+
dbPath: ':memory:',
|
|
139
|
+
backgroundSyncConfig: { enabled: false },
|
|
140
|
+
});
|
|
141
|
+
// New context should have a different database reference
|
|
142
|
+
expect(ctx2.db).not.toBe(dbRef1);
|
|
143
|
+
});
|
|
144
|
+
it('ignores options after initial creation', async () => {
|
|
145
|
+
if (!isBetterSqlite3Available()) {
|
|
146
|
+
console.log('Skipping test: no SQLite driver available');
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
// Create with specific options
|
|
150
|
+
const ctx1 = await getToolContextAsync({
|
|
151
|
+
dbPath: ':memory:',
|
|
152
|
+
searchCacheTtl: 100,
|
|
153
|
+
backgroundSyncConfig: { enabled: false },
|
|
154
|
+
});
|
|
155
|
+
// Second call with different options should return same context
|
|
156
|
+
const ctx2 = await getToolContextAsync({
|
|
157
|
+
dbPath: ':memory:',
|
|
158
|
+
searchCacheTtl: 999,
|
|
159
|
+
backgroundSyncConfig: { enabled: false },
|
|
160
|
+
});
|
|
161
|
+
expect(ctx1).toBe(ctx2);
|
|
162
|
+
});
|
|
163
|
+
});
|
|
164
|
+
describe('resetAsyncToolContext', () => {
|
|
165
|
+
it('closes database on reset', async () => {
|
|
166
|
+
if (!isBetterSqlite3Available()) {
|
|
167
|
+
console.log('Skipping test: no SQLite driver available');
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
170
|
+
const ctx = await getToolContextAsync({
|
|
171
|
+
dbPath: ':memory:',
|
|
172
|
+
backgroundSyncConfig: { enabled: false },
|
|
173
|
+
});
|
|
174
|
+
expect(ctx.db.open).toBe(true);
|
|
175
|
+
await resetAsyncToolContext();
|
|
176
|
+
// After reset, the old database should be closed
|
|
177
|
+
expect(ctx.db.open).toBe(false);
|
|
178
|
+
});
|
|
179
|
+
it('allows new context creation after reset', async () => {
|
|
180
|
+
if (!isBetterSqlite3Available()) {
|
|
181
|
+
console.log('Skipping test: no SQLite driver available');
|
|
182
|
+
return;
|
|
183
|
+
}
|
|
184
|
+
await getToolContextAsync({
|
|
185
|
+
dbPath: ':memory:',
|
|
186
|
+
backgroundSyncConfig: { enabled: false },
|
|
187
|
+
});
|
|
188
|
+
await resetAsyncToolContext();
|
|
189
|
+
// Should be able to create new context
|
|
190
|
+
const newCtx = await getToolContextAsync({
|
|
191
|
+
dbPath: ':memory:',
|
|
192
|
+
backgroundSyncConfig: { enabled: false },
|
|
193
|
+
});
|
|
194
|
+
expect(newCtx.db.open).toBe(true);
|
|
195
|
+
});
|
|
196
|
+
it('is idempotent when called multiple times', async () => {
|
|
197
|
+
if (!isBetterSqlite3Available()) {
|
|
198
|
+
console.log('Skipping test: no SQLite driver available');
|
|
199
|
+
return;
|
|
200
|
+
}
|
|
201
|
+
// Reset without creating context first
|
|
202
|
+
await expect(resetAsyncToolContext()).resolves.toBeUndefined();
|
|
203
|
+
// Create context
|
|
204
|
+
await getToolContextAsync({
|
|
205
|
+
dbPath: ':memory:',
|
|
206
|
+
backgroundSyncConfig: { enabled: false },
|
|
207
|
+
});
|
|
208
|
+
// Multiple resets should not throw
|
|
209
|
+
await expect(resetAsyncToolContext()).resolves.toBeUndefined();
|
|
210
|
+
await expect(resetAsyncToolContext()).resolves.toBeUndefined();
|
|
211
|
+
});
|
|
212
|
+
});
|
|
213
|
+
describe('closeToolContext', () => {
|
|
214
|
+
it('closes database connection', async () => {
|
|
215
|
+
if (!isBetterSqlite3Available()) {
|
|
216
|
+
console.log('Skipping test: no SQLite driver available');
|
|
217
|
+
return;
|
|
218
|
+
}
|
|
219
|
+
const ctx = await createToolContextAsync({
|
|
220
|
+
dbPath: ':memory:',
|
|
221
|
+
backgroundSyncConfig: { enabled: false },
|
|
222
|
+
});
|
|
223
|
+
expect(ctx.db.open).toBe(true);
|
|
224
|
+
await closeToolContext(ctx);
|
|
225
|
+
expect(ctx.db.open).toBe(false);
|
|
226
|
+
});
|
|
227
|
+
it('removes signal handlers on close', async () => {
|
|
228
|
+
if (!isBetterSqlite3Available()) {
|
|
229
|
+
console.log('Skipping test: no SQLite driver available');
|
|
230
|
+
return;
|
|
231
|
+
}
|
|
232
|
+
const ctx = await createToolContextAsync({
|
|
233
|
+
dbPath: ':memory:',
|
|
234
|
+
backgroundSyncConfig: { enabled: false },
|
|
235
|
+
});
|
|
236
|
+
await closeToolContext(ctx);
|
|
237
|
+
// Signal handlers should be removed (internal implementation)
|
|
238
|
+
// This is verified by checking the context can be closed without errors
|
|
239
|
+
expect(ctx.db.open).toBe(false);
|
|
240
|
+
});
|
|
241
|
+
});
|
|
242
|
+
describe('isolation between sync and async contexts', () => {
|
|
243
|
+
it('async context is separate from sync singleton', async () => {
|
|
244
|
+
if (!isBetterSqlite3Available()) {
|
|
245
|
+
console.log('Skipping test: no SQLite driver available');
|
|
246
|
+
return;
|
|
247
|
+
}
|
|
248
|
+
// Get async context
|
|
249
|
+
const asyncCtx = await getToolContextAsync({
|
|
250
|
+
dbPath: ':memory:',
|
|
251
|
+
backgroundSyncConfig: { enabled: false },
|
|
252
|
+
});
|
|
253
|
+
// Reset only affects async context
|
|
254
|
+
await resetAsyncToolContext();
|
|
255
|
+
// Can create new async context
|
|
256
|
+
const newAsyncCtx = await getToolContextAsync({
|
|
257
|
+
dbPath: ':memory:',
|
|
258
|
+
backgroundSyncConfig: { enabled: false },
|
|
259
|
+
});
|
|
260
|
+
expect(newAsyncCtx).not.toBe(asyncCtx);
|
|
261
|
+
expect(newAsyncCtx.db.open).toBe(true);
|
|
262
|
+
});
|
|
263
|
+
});
|
|
264
|
+
});
|
|
265
|
+
//# sourceMappingURL=context-async.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context-async.test.js","sourceRoot":"","sources":["../../tests/context-async.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,8 +3,7 @@
|
|
|
3
3
|
* SMI-903: Expanded to 56 test skills across all categories and trust tiers
|
|
4
4
|
* Provides test utilities for integration testing with real database and filesystem
|
|
5
5
|
*/
|
|
6
|
-
import
|
|
7
|
-
import { SkillRepository, SearchService, SkillsmithApiClient } from '@skillsmith/core';
|
|
6
|
+
import { SkillRepository, SearchService, SkillsmithApiClient, type DatabaseType } from '@skillsmith/core';
|
|
8
7
|
export { TEST_SKILLS, TEST_SKILLS_STATS } from './fixtures/test-skills.js';
|
|
9
8
|
/**
|
|
10
9
|
* Test database context
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../tests/integration/setup.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../tests/integration/setup.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAGL,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,KAAK,YAAY,EAClB,MAAM,kBAAkB,CAAA;AAIzB,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAE1E;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,YAAY,CAAA;IAChB,eAAe,EAAE,eAAe,CAAA;IAChC,aAAa,EAAE,aAAa,CAAA;IAC5B,SAAS,EAAE,mBAAmB,CAAA;IAC9B,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC7B;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAuBvE;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC7B;AAED;;GAEG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,qBAAqB,CAAC,CAuB3E;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,MAAM,EACnB,MAAM,GAAE,MAAM,CACZ,MAAM,EACN;IACE,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;CACpB,CACG,GACL,OAAO,CAAC,IAAI,CAAC,CAMf;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,MAA4G,GACpH,OAAO,CAAC,MAAM,CAAC,CAKjB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GAC/D,OAAO,UAAU,CAAC,KAAK,CAgBzB;AAED;;GAEG;AACH,wBAAsB,OAAO,CAC3B,SAAS,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,EAC3C,OAAO,GAAE,MAAa,EACtB,QAAQ,GAAE,MAAY,GACrB,OAAO,CAAC,IAAI,CAAC,CASf;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOnE;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAGlE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../tests/integration/setup.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../tests/integration/setup.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/server.json
CHANGED
|
@@ -8,12 +8,12 @@
|
|
|
8
8
|
"url": "https://github.com/smith-horn/skillsmith",
|
|
9
9
|
"source": "github"
|
|
10
10
|
},
|
|
11
|
-
"version": "0.3.
|
|
11
|
+
"version": "0.3.18",
|
|
12
12
|
"packages": [
|
|
13
13
|
{
|
|
14
14
|
"registryType": "npm",
|
|
15
15
|
"identifier": "@skillsmith/mcp-server",
|
|
16
|
-
"version": "0.3.
|
|
16
|
+
"version": "0.3.18",
|
|
17
17
|
"transport": {
|
|
18
18
|
"type": "stdio"
|
|
19
19
|
},
|